diff --git a/src/components/KitchenSink.tsx b/src/components/KitchenSink.tsx index a1e115c..4a57116 100644 --- a/src/components/KitchenSink.tsx +++ b/src/components/KitchenSink.tsx @@ -1,6 +1,7 @@ import { useMegaStore } from "~/state/megaStore"; import { Card, Hr, SmallHeader, Button, InnerCard, VStack } from "~/components/layout"; import PeerConnectModal from "~/components/PeerConnectModal"; +import NostrWalletConnectModal from "~/components/NostrWalletConnectModal"; import { For, Show, Suspense, createEffect, createResource, createSignal, onCleanup } from "solid-js"; import { MutinyChannel, MutinyPeer } from "@mutinywallet/mutiny-wasm"; import { Collapsible, TextField } from "@kobalte/core"; @@ -363,6 +364,8 @@ export default function KitchenSink() {
+ +

diff --git a/src/components/NostrWalletConnectModal.tsx b/src/components/NostrWalletConnectModal.tsx new file mode 100644 index 0000000..17bf7a6 --- /dev/null +++ b/src/components/NostrWalletConnectModal.tsx @@ -0,0 +1,57 @@ +import {QRCodeSVG} from "solid-qr-code"; +import {As, Dialog} from "@kobalte/core"; +import {Button, Card} from "~/components/layout"; +import {useMegaStore} from "~/state/megaStore"; +import {createResource, Show} from "solid-js"; + +const OVERLAY = "fixed inset-0 z-50 bg-black/50 backdrop-blur-sm" +const DIALOG_POSITIONER = "fixed inset-0 z-50 flex items-center justify-center" +const DIALOG_CONTENT = "w-[80vw] max-w-[400px] p-4 bg-gray/50 backdrop-blur-md shadow-xl rounded-xl border border-white/10" +const SMALL_HEADER = "text-sm font-semibold uppercase" + +export default function NostrWalletConnectModal() { + const [state, _] = useMegaStore() + + const getConnectionURI = () => { + if (state.mutiny_wallet) { + return state.mutiny_wallet.get_nwc_uri() + } else { + return undefined + } + }; + + const [connectionURI] = createResource(getConnectionURI); + + + // TODO: a lot of this markup is probably reusable as a "Modal" component + return ( + + + Show Nostr Wallet Connect URI + + + +
+ +
+ Nostr Wallet Connect + + X + +
+ + +
+ +
+ + {connectionURI() || ""} + +
+
+
+
+
+
+ ) +} \ No newline at end of file