diff --git a/frontend/src/components/Permissions.tsx b/frontend/src/components/Permissions.tsx index ef3d9446..d061ed62 100644 --- a/frontend/src/components/Permissions.tsx +++ b/frontend/src/components/Permissions.tsx @@ -60,15 +60,21 @@ const Permissions: React.FC = ({ return; } + let budgetRenewal = permissions.budgetRenewal; + const newScopes = new Set(permissions.scopes); if (newScopes.has(scope)) { newScopes.delete(scope); } else { newScopes.add(scope); + if (scope === "pay_invoice") { + budgetRenewal = "monthly"; + } } handlePermissionsChange({ scopes: newScopes, + budgetRenewal, }); }; @@ -171,13 +177,11 @@ const Permissions: React.FC = ({ {validBudgetRenewals.map((renewalOption) => ( - {renewalOption - ? renewalOption.charAt(0).toUpperCase() + - renewalOption.slice(1) - : "Never"} + {renewalOption.charAt(0).toUpperCase() + + renewalOption.slice(1)} ))} diff --git a/frontend/src/types.ts b/frontend/src/types.ts index 83186870..db6a5b80 100644 --- a/frontend/src/types.ts +++ b/frontend/src/types.ts @@ -187,7 +187,7 @@ export type UpdateAppRequest = { maxAmount: number; budgetRenewal: string; expiresAt: string | undefined; - scopes: string[]; + scopes: Scope[]; }; export type Channel = { diff --git a/nip47/permissions/permissions.go b/nip47/permissions/permissions.go index 8f55ab7a..8c74bdc7 100644 --- a/nip47/permissions/permissions.go +++ b/nip47/permissions/permissions.go @@ -180,7 +180,7 @@ func scopeToRequestMethods(scope string) []string { func RequestMethodsToScopes(requestMethods []string) ([]string, error) { scopes := []string{} - for _, requestMethod := range scopes { + for _, requestMethod := range requestMethods { scope, err := RequestMethodToScope(requestMethod) if err != nil { return nil, err