Budget setting and all dollar to chf
This commit is contained in:
@@ -43,19 +43,6 @@ export default async function TenantDetailPage({
|
||||
// the same page but with edit controls hidden / fields read-only.
|
||||
const canEdit = canMutate(user);
|
||||
|
||||
// TEMP DIAGNOSTIC for budget-card non-rendering. Logs the prop
|
||||
// values that flow into UsageDisplay so we can see which one is
|
||||
// turning the editable variant off. Remove once cause is found.
|
||||
console.log(
|
||||
"[tenant page] budget edit props",
|
||||
JSON.stringify({
|
||||
tenantName: name,
|
||||
canEdit,
|
||||
isPlatform: user.isPlatform,
|
||||
roles: user.roles,
|
||||
})
|
||||
);
|
||||
|
||||
// Bug 31: customer-side cancel/resume control. Same gate as canEdit
|
||||
// — only owners (or platform staff) may toggle the subscription.
|
||||
// The current state comes from spec.suspend on the CR.
|
||||
|
||||
@@ -126,12 +126,7 @@ export function BudgetEditableCard({
|
||||
<>
|
||||
<button
|
||||
type="button"
|
||||
onClick={() => {
|
||||
// Temporary debug aid — if clicks reach the handler we'll
|
||||
// see this in the browser console. Remove once confirmed.
|
||||
console.log("[BudgetEditableCard] open clicked");
|
||||
setOpen(true);
|
||||
}}
|
||||
onClick={() => setOpen(true)}
|
||||
className="bg-surface-1 border border-accent/40 rounded-xl p-4 text-left hover:border-accent transition-colors cursor-pointer focus:outline-none focus:ring-2 focus:ring-accent/40 group block w-full"
|
||||
>
|
||||
<div className="text-xs text-text-muted mb-1 flex items-center justify-between">
|
||||
|
||||
@@ -189,7 +189,22 @@
|
||||
"last30Days": "Letzte 30 Tage",
|
||||
"noData": "Keine Nutzungsdaten verfügbar.",
|
||||
"dailyBreakdown": "Tagesübersicht",
|
||||
"requests": "Anfragen"
|
||||
"requests": "Anfragen",
|
||||
"budgetEdit": "Bearbeiten",
|
||||
"budgetEditTitle": "Budget festlegen",
|
||||
"budgetEditDescription": "Begrenzen Sie, wie viel Ihre Assistenten ausgeben können, bevor Anfragen abgelehnt werden.",
|
||||
"budgetOrgScopeWarning": "Dieses Budget gilt für alle Tenants Ihrer Organisation, nicht nur für diesen. Bei mehreren Tenants teilen sich diese das Limit.",
|
||||
"budgetModeUnlimited": "Kein Limit",
|
||||
"budgetModeUnlimitedDescription": "Beliebige Ausgaben, kein Limit.",
|
||||
"budgetModeCapped": "Limit festlegen",
|
||||
"budgetModeCappedDescription": "Anfragen ablehnen, sobald die Ausgaben diesen Betrag erreichen.",
|
||||
"budgetAmount": "Betrag",
|
||||
"budgetResetCadence": "Zurücksetzen",
|
||||
"budgetCadence_30d": "Alle 30 Tage",
|
||||
"budgetCadence_1mo": "Monatlich",
|
||||
"budgetCadence_1y": "Jährlich",
|
||||
"budgetInvalid": "Bitte einen positiven Betrag eingeben.",
|
||||
"budgetSaveFailed": "Budget konnte nicht gespeichert werden. Bitte erneut versuchen."
|
||||
},
|
||||
"workspace": {
|
||||
"save": "Speichern",
|
||||
|
||||
@@ -189,7 +189,22 @@
|
||||
"last30Days": "Last 30 Days",
|
||||
"noData": "No usage data available.",
|
||||
"dailyBreakdown": "Daily Breakdown",
|
||||
"requests": "requests"
|
||||
"requests": "requests",
|
||||
"budgetEdit": "Edit",
|
||||
"budgetEditTitle": "Set spending budget",
|
||||
"budgetEditDescription": "Cap how much your assistants can spend before requests start being declined.",
|
||||
"budgetOrgScopeWarning": "This budget applies to all tenants in your organization, not just this one. If you have multiple tenants, they share the same cap.",
|
||||
"budgetModeUnlimited": "No limit",
|
||||
"budgetModeUnlimitedDescription": "Spend as much as needed; no cap.",
|
||||
"budgetModeCapped": "Set a cap",
|
||||
"budgetModeCappedDescription": "Stop accepting requests once spend reaches this amount.",
|
||||
"budgetAmount": "Amount",
|
||||
"budgetResetCadence": "Reset",
|
||||
"budgetCadence_30d": "Every 30 days",
|
||||
"budgetCadence_1mo": "Monthly",
|
||||
"budgetCadence_1y": "Yearly",
|
||||
"budgetInvalid": "Please enter a positive amount.",
|
||||
"budgetSaveFailed": "Could not save budget. Please try again."
|
||||
},
|
||||
"workspace": {
|
||||
"save": "Save",
|
||||
|
||||
@@ -189,7 +189,22 @@
|
||||
"last30Days": "30 derniers jours",
|
||||
"noData": "Aucune donnée d'utilisation disponible.",
|
||||
"dailyBreakdown": "Détail journalier",
|
||||
"requests": "requêtes"
|
||||
"requests": "requêtes",
|
||||
"budgetEdit": "Modifier",
|
||||
"budgetEditTitle": "Définir un budget",
|
||||
"budgetEditDescription": "Limitez la dépense de vos assistants avant que les requêtes ne soient refusées.",
|
||||
"budgetOrgScopeWarning": "Ce budget s'applique à tous les locataires de votre organisation, pas seulement à celui-ci. Si vous avez plusieurs locataires, ils partagent le même plafond.",
|
||||
"budgetModeUnlimited": "Aucune limite",
|
||||
"budgetModeUnlimitedDescription": "Dépense libre, sans plafond.",
|
||||
"budgetModeCapped": "Définir un plafond",
|
||||
"budgetModeCappedDescription": "Refuser les requêtes une fois ce montant atteint.",
|
||||
"budgetAmount": "Montant",
|
||||
"budgetResetCadence": "Réinitialisation",
|
||||
"budgetCadence_30d": "Tous les 30 jours",
|
||||
"budgetCadence_1mo": "Mensuelle",
|
||||
"budgetCadence_1y": "Annuelle",
|
||||
"budgetInvalid": "Veuillez saisir un montant positif.",
|
||||
"budgetSaveFailed": "Impossible d'enregistrer le budget. Veuillez réessayer."
|
||||
},
|
||||
"workspace": {
|
||||
"save": "Enregistrer",
|
||||
|
||||
@@ -189,7 +189,22 @@
|
||||
"last30Days": "Ultimi 30 giorni",
|
||||
"noData": "Nessun dato di utilizzo disponibile.",
|
||||
"dailyBreakdown": "Dettaglio giornaliero",
|
||||
"requests": "richieste"
|
||||
"requests": "richieste",
|
||||
"budgetEdit": "Modifica",
|
||||
"budgetEditTitle": "Imposta budget",
|
||||
"budgetEditDescription": "Limita quanto i tuoi assistenti possono spendere prima che le richieste vengano rifiutate.",
|
||||
"budgetOrgScopeWarning": "Questo budget si applica a tutti i tenant della tua organizzazione, non solo a questo. Se hai più tenant, condividono lo stesso limite.",
|
||||
"budgetModeUnlimited": "Nessun limite",
|
||||
"budgetModeUnlimitedDescription": "Spesa libera, nessun tetto.",
|
||||
"budgetModeCapped": "Imposta un tetto",
|
||||
"budgetModeCappedDescription": "Rifiuta le richieste una volta raggiunto questo importo.",
|
||||
"budgetAmount": "Importo",
|
||||
"budgetResetCadence": "Ripristino",
|
||||
"budgetCadence_30d": "Ogni 30 giorni",
|
||||
"budgetCadence_1mo": "Mensile",
|
||||
"budgetCadence_1y": "Annuale",
|
||||
"budgetInvalid": "Inserisci un importo positivo.",
|
||||
"budgetSaveFailed": "Impossibile salvare il budget. Riprova."
|
||||
},
|
||||
"workspace": {
|
||||
"save": "Salva",
|
||||
|
||||
Reference in New Issue
Block a user