tangle_indexer


git clone https://radroots.dev/git/tangle_indexer.git
Log | Files | Refs | Submodules | LICENSE

+layout.svelte (1372B)


      1 <script lang="ts">
      2     import { idb, init_theme } from "@radroots/apps-lib-market";
      3     import { nostr_login_nip01 } from "@radroots/apps-nostr";
      4     import { nostr_context_create, nostr_context_default, nostr_key_generate, nostr_relays_clear, nostr_relays_open } from "@radroots/nostr";
      5     import { _env } from "$lib/utils/_env";
      6     import { onMount, type Snippet } from "svelte";
      7     import "../app.css";
      8 
      9     let { children }: { children: Snippet } = $props();
     10 
     11     let loaded = $state(false);
     12     const nostr_context = nostr_context_default();
     13     const nostr_context_global = nostr_context_create();
     14 
     15     onMount(async () => {
     16         await init_theme();
     17 
     18         loaded = true;
     19 
     20         const relay_urls = _env.RADROOTS_MARKET_RELAY_URL
     21             ? [_env.RADROOTS_MARKET_RELAY_URL]
     22             : [];
     23         nostr_relays_clear(nostr_context);
     24         if (relay_urls.length) nostr_relays_open(nostr_context, relay_urls);
     25 
     26         const global_relays = await idb.read_global("global_relays");
     27         nostr_relays_clear(nostr_context_global);
     28         if (!global_relays || !global_relays.length) {
     29             console.log(`[nostr] no global relays added`);
     30         } else {
     31             nostr_relays_open(nostr_context_global, global_relays);
     32         }
     33         nostr_login_nip01(nostr_key_generate());
     34     });
     35 </script>
     36 
     37 {#if loaded}
     38     {@render children()}
     39 {/if}