FilesOverlay.svelte 1006 B

1234567891011121314151617181920212223242526272829303132333435
  1. <script lang="ts">
  2. import { showSidebar } from '$lib/stores';
  3. import AddFilesPlaceholder from '$lib/components/AddFilesPlaceholder.svelte';
  4. export let show = false;
  5. let overlayElement = null;
  6. $: if (show && overlayElement) {
  7. document.body.appendChild(overlayElement);
  8. document.body.style.overflow = 'hidden';
  9. } else if (overlayElement) {
  10. document.body.removeChild(overlayElement);
  11. document.body.style.overflow = 'unset';
  12. }
  13. </script>
  14. {#if show}
  15. <div
  16. bind:this={overlayElement}
  17. class="fixed {$showSidebar
  18. ? 'left-0 md:left-[260px] md:w-[calc(100%-260px)]'
  19. : 'left-0'} fixed top-0 right-0 bottom-0 w-full h-full flex z-[9999] touch-none pointer-events-none"
  20. id="dropzone"
  21. role="region"
  22. aria-label="Drag and Drop Container"
  23. >
  24. <div class="absolute w-full h-full backdrop-blur bg-gray-800/40 flex justify-center">
  25. <div class="m-auto pt-64 flex flex-col justify-center">
  26. <div class="max-w-md">
  27. <AddFilesPlaceholder />
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32. {/if}