From 12f2cfecc9d91c39046c802a6fae1c007e94dd9f Mon Sep 17 00:00:00 2001 From: 9qeklajc Date: Sun, 8 Mar 2026 22:15:54 +0100 Subject: [PATCH] update ui --- routstr/upstream/routstr.py | 3 +- ui/app/providers/page.tsx | 154 ++------- .../providers/RoutstrCreateKeySection.tsx | 295 ++++++++++++++++++ .../providers/RoutstrProviderCard.tsx | 254 ++++++++++----- 4 files changed, 496 insertions(+), 210 deletions(-) create mode 100644 ui/components/providers/RoutstrCreateKeySection.tsx diff --git a/routstr/upstream/routstr.py b/routstr/upstream/routstr.py index 9cf38db8..abf82a33 100644 --- a/routstr/upstream/routstr.py +++ b/routstr/upstream/routstr.py @@ -132,11 +132,10 @@ class RoutstrUpstreamProvider(BaseUpstreamProvider): async def fetch_models(self) -> list[Model]: """Fetch models from the upstream Routstr node.""" url = f"{self.base_url}/v1/models" - headers = {"Authorization": f"Bearer {self.api_key}"} async with httpx.AsyncClient() as client: try: - response = await client.get(url, headers=headers, timeout=15.0) + response = await client.get(url, headers={}, timeout=15.0) response.raise_for_status() data = response.json() models = data.get("data", []) diff --git a/ui/app/providers/page.tsx b/ui/app/providers/page.tsx index e78ef1e1..89fc534b 100644 --- a/ui/app/providers/page.tsx +++ b/ui/app/providers/page.tsx @@ -32,8 +32,6 @@ import { Database, ChevronDown, ChevronUp, - Copy, - AlertTriangle, } from 'lucide-react'; import { Alert, AlertDescription } from '@/components/ui/alert'; import { @@ -58,10 +56,9 @@ import { Switch } from '@/components/ui/switch'; import { Separator } from '@/components/ui/separator'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { RoutstrProviderCard } from '@/components/providers/RoutstrProviderCard'; +import { RoutstrCreateKeySection } from '@/components/providers/RoutstrCreateKeySection'; import { SimpleLightningTopup } from '@/components/providers/SimpleLightningTopup'; import { SimpleCashuTopup } from '@/components/providers/SimpleCashuTopup'; -import { CashuPaymentWorkflow } from '@/components/landing/cashu-payment-workflow'; -import { LightningPaymentWorkflow } from '@/components/landing/lightning-payment-workflow'; import { useState } from 'react'; import { toast } from 'sonner'; @@ -740,29 +737,6 @@ export default function ProvidersPage() { } /> - -
- - - setFormData({ - ...formData, - provider_settings: { - ...formData.provider_settings, - refund_address: e.target.value, - }, - }) - } - /> -
)} @@ -874,88 +848,17 @@ export default function ProvidersPage() { 1.01 means +1% e.g. currency exchange, card fees, etc.

- {formData.provider_type === 'routstr' && - editingProvider && ( -
-
- - - External Node - -
- -
-
- - - External Node - -
- -
- - { - setFormData((prev) => ({ - ...prev, - api_key: newApiKey, - })); - toast.success( - 'New API key created and saved' - ); - }} - /> -
- - - -
- - { - setFormData((prev) => ({ - ...prev, - api_key: newApiKey, - })); - toast.success( - 'New API key created and saved' - ); - }} - /> -
-
- - - -
- - { - setFormData({ - ...formData, - api_key: newApiKey, - }); - toast.success('New API key created and saved'); - }} - /> -
-
- )} + {formData.provider_type === 'routstr' && ( + { + setFormData((prev) => ({ + ...prev, + api_key: newApiKey, + })); + }} + /> + )} + + + {lnInvoice && ( +
+
+ Pay this invoice to create your key + +
+ {lnQrCode && ( +
+ Lightning Invoice QR Code +
+ )} +
+ {lnInvoice.bolt11} +
+ {isWaitingLn && ( +
+ + Waiting for payment... +
+ )} +
+ )} + + + +