From fdd4f12f5c23d8a48a302e0438b10b013d2e3a29 Mon Sep 17 00:00:00 2001 From: 9qeklajc Date: Sat, 14 Feb 2026 01:17:34 +0100 Subject: [PATCH] add simple ui to routstr topup --- .../providers/RoutstrProviderCard.tsx | 28 +++- ui/components/providers/SimpleCashuTopup.tsx | 69 +++++++++ .../providers/SimpleLightningTopup.tsx | 136 ++++++++++++++++++ ui/lib/api/services/admin.ts | 14 +- ui/lib/api/services/routstr-provider.ts | 13 ++ 5 files changed, 256 insertions(+), 4 deletions(-) create mode 100644 ui/components/providers/SimpleCashuTopup.tsx create mode 100644 ui/components/providers/SimpleLightningTopup.tsx create mode 100644 ui/lib/api/services/routstr-provider.ts diff --git a/ui/components/providers/RoutstrProviderCard.tsx b/ui/components/providers/RoutstrProviderCard.tsx index fd32bb35..f07f72db 100644 --- a/ui/components/providers/RoutstrProviderCard.tsx +++ b/ui/components/providers/RoutstrProviderCard.tsx @@ -1,6 +1,5 @@ 'use client'; -import { useState } from 'react'; import { useMutation, useQueryClient } from '@tanstack/react-query'; import { Button } from '@/components/ui/button'; import { Badge } from '@/components/ui/badge'; @@ -17,6 +16,8 @@ import { ChevronDown, ChevronUp, RotateCcw, + AlertTriangle, + Key, } from 'lucide-react'; import { UpstreamProvider } from '@/lib/api/services/admin'; import { RoutstrProviderService } from '@/lib/api/services/routstr-provider'; @@ -28,6 +29,7 @@ interface RoutstrProviderCardProps { onToggleExpand: () => void; onEdit: () => void; onDelete: () => void; + onUpdateKey?: () => void; balanceComponent: React.ReactNode; children?: React.ReactNode; } @@ -38,11 +40,14 @@ export function RoutstrProviderCard({ onToggleExpand, onEdit, onDelete, + onUpdateKey, balanceComponent, children, }: RoutstrProviderCardProps) { const queryClient = useQueryClient(); + const hasMint = !!provider.provider_settings?.topup_mint_url; + const refundMutation = useMutation({ mutationFn: () => RoutstrProviderService.refundBalance(provider.id), onSuccess: (data) => { @@ -84,6 +89,16 @@ export function RoutstrProviderCard({ > NIP-91 + {!hasMint && ( + + + Top-up Disabled: No Mint Selected + + )} {provider.base_url} @@ -92,6 +107,17 @@ export function RoutstrProviderCard({
{balanceComponent}
+ +