mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-27 09:45:13 +00:00
feat: handling subscription tier button link parameter (#7553)
## Summary Discussion here: https://comfy-organization.slack.com/archives/C0A0XANFJRE/p1764899027465379 Implement: Subscription tier query parameter for direct checkout flow Example button link: `/cloud/subscribe?tier=standard` `tier` could be `standard`, `creator` or `pro` `cycle` could be `monthly` or `yearly`. it is optional, and `monthly` by default. <!-- One sentence describing what changed and why. --> ## Changes - **What**: <!-- Core functionality added/modified --> - Add a landing page called `CloudSubscriptionRedirectView.vue` to handling the subscription tier button link parameter - Extract subscription handling logic from `PriceTable.vue` - **Breaking**: <!-- Any breaking changes (if none, remove this line) --> - Code change touched `PriceTable.vue` - **Dependencies**: <!-- New dependencies (if none, remove this line) --> ## Review Focus - link will redirect to login url, when cloud app not login - after login, the cloud app will redirect to CloudSubscriptionRedirect page - wait for several seconds, the cloud app will be redirected to checkout page <!-- Critical design decisions or edge cases that need attention --> <!-- If this PR fixes an issue, uncomment and update the line below --> <!-- Fixes #ISSUE_NUMBER --> ## Screenshots (if applicable)  <!-- Add screenshots or video recording to help explain your changes --> ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-7553-feat-handling-subscription-tier-button-link-parameter-2cb6d73d365081ee9580e89090248300) by [Unito](https://www.unito.io) --------- Co-authored-by: GitHub Action <action@github.com>
This commit is contained in:
@@ -149,9 +149,17 @@ if (isCloud) {
|
||||
return next()
|
||||
}
|
||||
|
||||
const query =
|
||||
to.fullPath === '/'
|
||||
? undefined
|
||||
: { previousFullPath: encodeURIComponent(to.fullPath) }
|
||||
|
||||
// Check if route requires authentication
|
||||
if (to.meta.requiresAuth && !isLoggedIn) {
|
||||
return next({ name: 'cloud-login' })
|
||||
return next({
|
||||
name: 'cloud-login',
|
||||
query
|
||||
})
|
||||
}
|
||||
|
||||
// Handle other protected routes
|
||||
@@ -164,7 +172,10 @@ if (isCloud) {
|
||||
}
|
||||
|
||||
// For web, redirect to login
|
||||
return next({ name: 'cloud-login' })
|
||||
return next({
|
||||
name: 'cloud-login',
|
||||
query
|
||||
})
|
||||
}
|
||||
|
||||
// User is logged in - check if they need onboarding (when enabled)
|
||||
|
||||
Reference in New Issue
Block a user