From 5f7236fb088a8601a7af994fc13511ce9eb817b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nu=C5=A1a=20Puk=C5=A1i=C4=8D?= Date: Mon, 5 May 2025 14:44:14 +0200 Subject: [PATCH] Better interactivity --- src/app.css | 5 ++-- src/lib/components/Publication.svelte | 39 ++++++++++----------------- src/lib/stores.ts | 1 - src/styles/publications.css | 2 +- 4 files changed, 17 insertions(+), 30 deletions(-) diff --git a/src/app.css b/src/app.css index 05539ad..20e1021 100644 --- a/src/app.css +++ b/src/app.css @@ -60,9 +60,8 @@ /* To scroll columns independently */ main.publication.blog { - display: flex; - flex-direction: column; - max-height: calc(100vh - 76px); + @apply min-h-full; + max-height: calc(100vh - 146px); } main.main-leather, diff --git a/src/lib/components/Publication.svelte b/src/lib/components/Publication.svelte index e1555cd..f8c0360 100644 --- a/src/lib/components/Publication.svelte +++ b/src/lib/components/Publication.svelte @@ -9,7 +9,6 @@ TextPlaceholder, Tooltip, } from "flowbite-svelte"; - import { CaretLeftOutline } from 'flowbite-svelte-icons'; import { getContext, onMount } from "svelte"; import type { NDKEvent } from "@nostr-dev-kit/ndk"; import PublicationSection from "./PublicationSection.svelte"; @@ -78,6 +77,10 @@ } } + function isInnerActive() { + return currentBlog !== null && $publicationColumnVisibility.inner; + } + function loadBlog(rootId: string) { // depending on the size of the screen, also toggle blog list visibility if (window.innerWidth < 1024) { @@ -89,10 +92,7 @@ console.log(currentBlog); } - function backToMain() { - $publicationColumnVisibility.blog = true; - $publicationColumnVisibility.inner = false; - } + onMount(() => { // Set up the intersection observer. @@ -112,19 +112,11 @@ -{#if $publicationColumnVisibility.details} -
-
-
-
-
-{/if} - {#if isDefaultVisible()} -
+
@@ -136,7 +128,7 @@ rootId={leaf.tagAddress()} event={leaf} onBlogUpdate={loadBlog} - active={!(currentBlog !== null && $publicationColumnVisibility.inner)} + active={!(isInnerActive())} /> {/each} {:else} @@ -150,15 +142,12 @@ {/each} {/if} -
+
{/if} -{#if currentBlog !== null && $publicationColumnVisibility.inner } +{#if isInnerActive() } {#key currentBlog } -
-
- -
+
{#each leaves as leaf, i} {#if leaf.tagAddress() === currentBlog} +
{/if} diff --git a/src/lib/stores.ts b/src/lib/stores.ts index a78e275..f158e66 100644 --- a/src/lib/stores.ts +++ b/src/lib/stores.ts @@ -8,7 +8,6 @@ export let alexandriaKinds = readable([30040, 30041, 30818]); export let feedType = writable(FeedType.StandardRelays); export const publicationColumnVisibility = writable({ - details: false, toc: false, blog: true, main: true, diff --git a/src/styles/publications.css b/src/styles/publications.css index 5616bd0..d901db8 100644 --- a/src/styles/publications.css +++ b/src/styles/publications.css @@ -254,7 +254,7 @@ @screen lg { @media (hover: hover) { .blog .discreet .card-leather:not(:hover) { - @apply bg-primary-50 opacity-75 transition duration-500 ease-in-out ; + @apply bg-primary-50 dark:bg-primary-1000 opacity-75 transition duration-500 ease-in-out ; } } }