All checks were successful
Build and Release / Create Release (push) Successful in 0s
Build and Release / Unit Tests (push) Successful in 3m10s
Build and Release / Integration Tests (PostgreSQL) (push) Successful in 5m13s
Build and Release / Lint (push) Successful in 5m25s
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Successful in 3m13s
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Successful in 8h5m42s
Build and Release / Build Binaries (amd64, darwin, macos) (push) Successful in 7m30s
Build and Release / Build Binaries (arm64, darwin, macos) (push) Successful in 7m55s
Build and Release / Build Binary (linux/arm64) (push) Successful in 7m36s
Implement complete subscription monetization system for repositories with Stripe and PayPal integration. Includes: - Database models and migrations for monetization settings, subscription products, and user subscriptions - Payment provider abstraction layer with Stripe and PayPal implementations - Admin UI for configuring payment providers and viewing subscriptions - Repository settings UI for managing subscription products and tiers - Subscription checkout flow and webhook handlers for payment events - Access control to gate repository code behind active subscriptions
122 lines
6.2 KiB
Handlebars
122 lines
6.2 KiB
Handlebars
<div class="flex-container-nav">
|
|
<div class="ui fluid vertical menu">
|
|
<div class="header item">{{ctx.Locale.Tr "repo.settings"}}</div>
|
|
<a class="{{if .PageIsSettingsOptions}}active {{end}}item" href="{{.RepoLink}}/settings">
|
|
{{ctx.Locale.Tr "repo.settings.options"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsLicense}}active {{end}}item" href="{{.RepoLink}}/settings/license">
|
|
{{ctx.Locale.Tr "repo.settings.license"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsGallery}}active {{end}}item" href="{{.RepoLink}}/settings/gallery">
|
|
{{ctx.Locale.Tr "repo.settings.gallery"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsMediaKit}}active {{end}}item" href="{{.RepoLink}}/settings/media_kit">
|
|
{{ctx.Locale.Tr "repo.settings.media_kit"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsCrossPromote}}active {{end}}item" href="{{.RepoLink}}/settings/cross_promote">
|
|
{{ctx.Locale.Tr "repo.settings.cross_promote"}}
|
|
</a>
|
|
{{if or .Repository.IsPrivate .Permission.HasAnyUnitPublicAccess}}
|
|
<a class="{{if .PageIsSettingsPublicAccess}}active {{end}}item" href="{{.RepoLink}}/settings/public_access">
|
|
{{ctx.Locale.Tr "repo.settings.public_access"}}
|
|
</a>
|
|
{{end}}
|
|
<a class="{{if .PageIsSettingsCollaboration}}active {{end}}item" href="{{.RepoLink}}/settings/collaboration">
|
|
{{ctx.Locale.Tr "repo.settings.collaboration"}}
|
|
</a>
|
|
{{if not DisableWebhooks}}
|
|
<a class="{{if .PageIsSettingsHooks}}active {{end}}item" href="{{.RepoLink}}/settings/hooks">
|
|
{{ctx.Locale.Tr "repo.settings.hooks"}}
|
|
</a>
|
|
{{end}}
|
|
{{if .Repository.UnitEnabled ctx ctx.Consts.RepoUnitTypeCode}}
|
|
<a class="{{if .PageIsSettingsBranches}}active {{end}}item" href="{{.RepoLink}}/settings/branches">
|
|
{{ctx.Locale.Tr "repo.settings.branches"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsTags}}active {{end}}item" href="{{.RepoLink}}/settings/tags">
|
|
{{ctx.Locale.Tr "repo.settings.tags"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsHiddenFolders}}active {{end}}item" href="{{.RepoLink}}/settings/hidden_folders">
|
|
{{ctx.Locale.Tr "repo.settings.hidden_folders"}}
|
|
</a>
|
|
{{if .SignedUser.CanEditGitHook}}
|
|
<a class="{{if .PageIsSettingsGitHooks}}active {{end}}item" href="{{.RepoLink}}/settings/hooks/git">
|
|
{{ctx.Locale.Tr "repo.settings.githooks"}}
|
|
</a>
|
|
{{end}}
|
|
<a class="{{if .PageIsSettingsKeys}}active {{end}}item" href="{{.RepoLink}}/settings/keys">
|
|
{{ctx.Locale.Tr "repo.settings.deploy_keys"}}
|
|
</a>
|
|
{{if .LFSStartServer}}
|
|
<a class="{{if .PageIsSettingsLFS}}active {{end}}item" href="{{.RepoLink}}/settings/lfs">
|
|
{{ctx.Locale.Tr "repo.settings.lfs"}}
|
|
</a>
|
|
{{end}}
|
|
{{end}}
|
|
<details class="item toggleable-item" {{if or .PageIsSettingsPagesGeneral .PageIsSettingsPagesBrand .PageIsSettingsPagesHero .PageIsSettingsPagesContent .PageIsSettingsPagesSocial .PageIsSettingsPagesPricing .PageIsSettingsPagesFooter .PageIsSettingsPagesTheme}}open{{end}}>
|
|
<summary>{{ctx.Locale.Tr "repo.settings.pages"}}</summary>
|
|
<div class="menu">
|
|
<a class="{{if .PageIsSettingsPagesGeneral}}active {{end}}item" href="{{.RepoLink}}/settings/pages">
|
|
{{ctx.Locale.Tr "repo.settings.pages.general"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsPagesBrand}}active {{end}}item" href="{{.RepoLink}}/settings/pages/brand">
|
|
{{ctx.Locale.Tr "repo.settings.pages.brand"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsPagesHero}}active {{end}}item" href="{{.RepoLink}}/settings/pages/hero">
|
|
{{ctx.Locale.Tr "repo.settings.pages.hero"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsPagesContent}}active {{end}}item" href="{{.RepoLink}}/settings/pages/content">
|
|
{{ctx.Locale.Tr "repo.settings.pages.content"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsPagesSocial}}active {{end}}item" href="{{.RepoLink}}/settings/pages/social">
|
|
{{ctx.Locale.Tr "repo.settings.pages.social"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsPagesPricing}}active {{end}}item" href="{{.RepoLink}}/settings/pages/pricing">
|
|
{{ctx.Locale.Tr "repo.settings.pages.pricing"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsPagesFooter}}active {{end}}item" href="{{.RepoLink}}/settings/pages/footer">
|
|
{{ctx.Locale.Tr "repo.settings.pages.footer"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsPagesTheme}}active {{end}}item" href="{{.RepoLink}}/settings/pages/theme">
|
|
{{ctx.Locale.Tr "repo.settings.pages.theme"}}
|
|
</a>
|
|
</div>
|
|
</details>
|
|
<details class="item toggleable-item" {{if or .PageIsSharedSettingsRunners .PageIsSharedSettingsSecrets .PageIsSharedSettingsVariables .PageIsActionsSettingsGeneral}}open{{end}}>
|
|
<summary>{{ctx.Locale.Tr "actions.actions"}}</summary>
|
|
<div class="menu">
|
|
<a class="{{if .PageIsActionsSettingsGeneral}}active {{end}}item" href="{{.RepoLink}}/settings/actions/general">
|
|
{{ctx.Locale.Tr "actions.general"}}
|
|
</a>
|
|
{{if and .EnableActions (.Permission.CanRead ctx.Consts.RepoUnitTypeActions)}}
|
|
<a class="{{if .PageIsSharedSettingsRunners}}active {{end}}item" href="{{.RepoLink}}/settings/actions/runners">
|
|
{{ctx.Locale.Tr "actions.runners"}}
|
|
</a>
|
|
<a class="{{if .PageIsSharedSettingsSecrets}}active {{end}}item" href="{{.RepoLink}}/settings/actions/secrets">
|
|
{{ctx.Locale.Tr "secrets.secrets"}}
|
|
</a>
|
|
<a class="{{if .PageIsSharedSettingsVariables}}active {{end}}item" href="{{.RepoLink}}/settings/actions/variables">
|
|
{{ctx.Locale.Tr "actions.variables"}}
|
|
</a>
|
|
{{end}}
|
|
</div>
|
|
</details>
|
|
{{if .EnableMonetize}}
|
|
<details class="item toggleable-item" {{if or .PageIsSettingsSubscriptionsGeneral .PageIsSettingsSubscriptionsProducts .PageIsSettingsSubscriptionsClients}}open{{end}}>
|
|
<summary>{{ctx.Locale.Tr "repo.settings.subscriptions"}}</summary>
|
|
<div class="menu">
|
|
<a class="{{if .PageIsSettingsSubscriptionsGeneral}}active {{end}}item" href="{{.RepoLink}}/settings/subscriptions">
|
|
{{ctx.Locale.Tr "repo.settings.subscriptions.general"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsSubscriptionsProducts}}active {{end}}item" href="{{.RepoLink}}/settings/subscriptions/products">
|
|
{{ctx.Locale.Tr "repo.settings.subscriptions.products"}}
|
|
</a>
|
|
<a class="{{if .PageIsSettingsSubscriptionsClients}}active {{end}}item" href="{{.RepoLink}}/settings/subscriptions/clients">
|
|
{{ctx.Locale.Tr "repo.settings.subscriptions.clients"}}
|
|
</a>
|
|
</div>
|
|
</details>
|
|
{{end}}
|
|
</div>
|
|
</div>
|