mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-19 06:20:10 +00:00
## Summary Implements billing infrastructure for team workspaces, separate from legacy personal billing. ## Changes - **Billing abstraction**: New `useBillingContext` composable that switches between legacy (personal) and workspace billing based on context - **Workspace subscription flows**: Pricing tables, plan transitions, cancellation dialogs, and payment preview components for workspace billing - **Top-up credits**: Workspace-specific top-up dialog with polling for payment confirmation - **Workspace API**: Extended with billing endpoints (subscriptions, invoices, payment methods, credits top-up) - **Workspace switcher**: Now displays tier badges for each workspace - **Subscribe polling**: Added polling mechanisms (`useSubscribePolling`, `useTopupPolling`) for async payment flows ## Review Focus - Billing flow correctness for workspace vs legacy contexts - Polling timeout and error handling in payment flows ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-8508-Feat-workspaces-6-billing-2f96d73d365081f69f65c1ddf369010d) by [Unito](https://www.unito.io) --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
33 lines
693 B
Vue
33 lines
693 B
Vue
<template>
|
|
<div>
|
|
<h2 :class="cn(flags.teamWorkspacesEnabled ? 'px-6' : 'px-4')">
|
|
<i class="pi pi-cog" />
|
|
<span>{{ $t('g.settings') }}</span>
|
|
<Tag
|
|
v-if="isStaging"
|
|
value="staging"
|
|
severity="warn"
|
|
class="ml-2 text-xs"
|
|
/>
|
|
</h2>
|
|
</div>
|
|
</template>
|
|
<script setup lang="ts">
|
|
import Tag from 'primevue/tag'
|
|
|
|
import { isStaging } from '@/config/staging'
|
|
import { useFeatureFlags } from '@/composables/useFeatureFlags'
|
|
import { cn } from '@comfyorg/tailwind-utils'
|
|
const { flags } = useFeatureFlags()
|
|
</script>
|
|
|
|
<style scoped>
|
|
.pi-cog {
|
|
font-size: 1.25rem;
|
|
margin-right: 0.5rem;
|
|
}
|
|
.version-tag {
|
|
margin-left: 0.5rem;
|
|
}
|
|
</style>
|