root.svelte 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <!-- This file is generated by @sveltejs/kit — do not edit it! -->
  2. <svelte:options runes={true} />
  3. <script>
  4. import { setContext, onMount, tick } from 'svelte';
  5. import { browser } from '$app/environment';
  6. // stores
  7. let { stores, page, constructors, components = [], form, data_0 = null, data_1 = null } = $props();
  8. if (!browser) {
  9. // svelte-ignore state_referenced_locally
  10. setContext('__svelte__', stores);
  11. }
  12. if (browser) {
  13. $effect.pre(() => stores.page.set(page));
  14. } else {
  15. // svelte-ignore state_referenced_locally
  16. stores.page.set(page);
  17. }
  18. $effect(() => {
  19. stores;page;constructors;components;form;data_0;data_1;
  20. stores.page.notify();
  21. });
  22. let mounted = $state(false);
  23. let navigated = $state(false);
  24. let title = $state(null);
  25. onMount(() => {
  26. const unsubscribe = stores.page.subscribe(() => {
  27. if (mounted) {
  28. navigated = true;
  29. tick().then(() => {
  30. title = document.title || 'untitled page';
  31. });
  32. }
  33. });
  34. mounted = true;
  35. return unsubscribe;
  36. });
  37. const Pyramid_1=$derived(constructors[1])
  38. </script>
  39. {#if constructors[1]}
  40. {@const Pyramid_0 = constructors[0]}
  41. <!-- svelte-ignore binding_property_non_reactive -->
  42. <Pyramid_0 bind:this={components[0]} data={data_0} {form} params={page.params}>
  43. <!-- svelte-ignore binding_property_non_reactive -->
  44. <Pyramid_1 bind:this={components[1]} data={data_1} {form} params={page.params} />
  45. </Pyramid_0>
  46. {:else}
  47. {@const Pyramid_0 = constructors[0]}
  48. <!-- svelte-ignore binding_property_non_reactive -->
  49. <Pyramid_0 bind:this={components[0]} data={data_0} {form} params={page.params} />
  50. {/if}
  51. {#if mounted}
  52. <div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px">
  53. {#if navigated}
  54. {title}
  55. {/if}
  56. </div>
  57. {/if}