Refine the default system settings structure and model pricing editor so pricing configuration is easier to scan and edit.
103 lines
2.7 KiB
TypeScript
Vendored
103 lines
2.7 KiB
TypeScript
Vendored
import { SettingsPage } from '../components/settings-page'
|
|
import type { BillingSettings } from '../types'
|
|
import {
|
|
BILLING_DEFAULT_SECTION,
|
|
getBillingSectionContent,
|
|
} from './section-registry.tsx'
|
|
|
|
const defaultBillingSettings: BillingSettings = {
|
|
QuotaForNewUser: 0,
|
|
PreConsumedQuota: 0,
|
|
QuotaForInviter: 0,
|
|
QuotaForInvitee: 0,
|
|
TopUpLink: '',
|
|
'general_setting.docs_link': '',
|
|
'quota_setting.enable_free_model_pre_consume': true,
|
|
QuotaPerUnit: 500000,
|
|
USDExchangeRate: 7,
|
|
'general_setting.quota_display_type': 'USD',
|
|
'general_setting.custom_currency_symbol': '¤',
|
|
'general_setting.custom_currency_exchange_rate': 1,
|
|
DisplayInCurrencyEnabled: true,
|
|
DisplayTokenStatEnabled: true,
|
|
ModelPrice: '',
|
|
ModelRatio: '',
|
|
CacheRatio: '',
|
|
CreateCacheRatio: '',
|
|
CompletionRatio: '',
|
|
ImageRatio: '',
|
|
AudioRatio: '',
|
|
AudioCompletionRatio: '',
|
|
ExposeRatioEnabled: false,
|
|
'billing_setting.billing_mode': '{}',
|
|
'billing_setting.billing_expr': '{}',
|
|
'tool_price_setting.prices': '{}',
|
|
TopupGroupRatio: '',
|
|
GroupRatio: '',
|
|
UserUsableGroups: '',
|
|
GroupGroupRatio: '',
|
|
AutoGroups: '',
|
|
DefaultUseAutoGroup: false,
|
|
'group_ratio_setting.group_special_usable_group': '{}',
|
|
PayAddress: '',
|
|
EpayId: '',
|
|
EpayKey: '',
|
|
Price: 7.3,
|
|
MinTopUp: 1,
|
|
CustomCallbackAddress: '',
|
|
PayMethods: '',
|
|
'payment_setting.amount_options': '',
|
|
'payment_setting.amount_discount': '',
|
|
StripeApiSecret: '',
|
|
StripeWebhookSecret: '',
|
|
StripePriceId: '',
|
|
StripeUnitPrice: 8.0,
|
|
StripeMinTopUp: 1,
|
|
StripePromotionCodesEnabled: false,
|
|
CreemApiKey: '',
|
|
CreemWebhookSecret: '',
|
|
CreemTestMode: false,
|
|
CreemProducts: '[]',
|
|
WaffoEnabled: false,
|
|
WaffoApiKey: '',
|
|
WaffoPrivateKey: '',
|
|
WaffoPublicCert: '',
|
|
WaffoSandboxPublicCert: '',
|
|
WaffoSandboxApiKey: '',
|
|
WaffoSandboxPrivateKey: '',
|
|
WaffoSandbox: false,
|
|
WaffoMerchantId: '',
|
|
WaffoCurrency: 'USD',
|
|
WaffoUnitPrice: 1,
|
|
WaffoMinTopUp: 1,
|
|
WaffoNotifyUrl: '',
|
|
WaffoReturnUrl: '',
|
|
WaffoPayMethods: '[]',
|
|
WaffoPancakeEnabled: false,
|
|
WaffoPancakeSandbox: false,
|
|
WaffoPancakeMerchantID: '',
|
|
WaffoPancakePrivateKey: '',
|
|
WaffoPancakeWebhookPublicKey: '',
|
|
WaffoPancakeWebhookTestKey: '',
|
|
WaffoPancakeStoreID: '',
|
|
WaffoPancakeProductID: '',
|
|
WaffoPancakeReturnURL: '',
|
|
WaffoPancakeCurrency: 'USD',
|
|
WaffoPancakeUnitPrice: 1,
|
|
WaffoPancakeMinTopUp: 1,
|
|
'checkin_setting.enabled': false,
|
|
'checkin_setting.min_quota': 1000,
|
|
'checkin_setting.max_quota': 10000,
|
|
}
|
|
|
|
export function BillingSettings() {
|
|
return (
|
|
<SettingsPage
|
|
routePath='/_authenticated/system-settings/billing/$section'
|
|
defaultSettings={defaultBillingSettings}
|
|
defaultSection={BILLING_DEFAULT_SECTION}
|
|
getSectionContent={getBillingSectionContent}
|
|
/>
|
|
)
|
|
}
|