From 387550086a00b5a1b8221c1528e6f616430e7b3c Mon Sep 17 00:00:00 2001 From: Wolfgang Müller Date: Fri, 22 Nov 2024 18:17:57 +0100 Subject: frontend: Improve highlighting of current focus Elements now have a consistent style applied to them when in focus. Additionally, select elements will now have an outline when focused, making it easier to notice the currently selected element. --- frontend/src/app.css | 40 ++++++++++++++++++++-- frontend/src/lib/components/Card.svelte | 2 +- frontend/src/lib/components/Titlebar.svelte | 2 +- frontend/src/lib/gallery/GalleryPage.svelte | 2 +- frontend/src/lib/navigation/Link.svelte | 2 +- .../lib/scraper/components/SelectorGroup.svelte | 2 +- frontend/src/lib/tabs/Tab.svelte | 2 +- frontend/src/lib/tabs/Tabs.svelte | 4 +-- 8 files changed, 45 insertions(+), 11 deletions(-) diff --git a/frontend/src/app.css b/frontend/src/app.css index e1b6ca0..07939f6 100644 --- a/frontend/src/app.css +++ b/frontend/src/app.css @@ -12,7 +12,21 @@ input, textarea { - @apply w-full rounded bg-slate-900 p-[.4rem] focus:outline focus:outline-1 focus:outline-slate-500; + @apply w-full rounded bg-slate-900 p-[.4rem]; + } + + input, + textarea, + select { + @apply focus-thin focus-slate; + } + + button { + @apply focus-thick focus-slate; + } + + a { + @apply focus-thick focus-blue; } label { @@ -56,7 +70,7 @@ @layer components { .btn { - @apply flex items-center justify-center rounded-sm p-2 text-white transition-colors disabled:opacity-40; + @apply focus-thick focus-slate flex items-center justify-center rounded-sm p-2 text-white transition-colors disabled:opacity-40; } .btn-xs { @@ -146,6 +160,26 @@ grid-template-columns: 1fr; grid-template-rows: 500px 1fr; } + + .focus-thin { + @apply focus:isolate focus:outline focus:outline-1; + } + + .focus-thick { + @apply focus-visible:isolate focus-visible:outline; + } + + .focus-background { + @apply focus-visible:bg-indigo-600 focus-visible:outline-none; + } + + .focus-slate { + @apply focus:outline-slate-400 focus-visible:outline-slate-400; + } + + .focus-blue { + @apply focus:outline-blue-600 focus-visible:outline-blue-600; + } } .svelecte { @@ -162,7 +196,7 @@ } .svelecte.is-focused { - --sv-border: 1px solid theme(colors.slate.500); + --sv-border: 1px solid theme(colors.slate.400); } .svelecte input::placeholder { diff --git a/frontend/src/lib/components/Card.svelte b/frontend/src/lib/components/Card.svelte index 2384799..d209517 100644 --- a/frontend/src/lib/components/Card.svelte +++ b/frontend/src/lib/components/Card.svelte @@ -34,7 +34,7 @@ dispatch('favourite')} > diff --git a/frontend/src/lib/gallery/GalleryPage.svelte b/frontend/src/lib/gallery/GalleryPage.svelte index 449321c..f40b889 100644 --- a/frontend/src/lib/gallery/GalleryPage.svelte +++ b/frontend/src/lib/gallery/GalleryPage.svelte @@ -57,7 +57,7 @@ class:dim role="button" tabindex="0" - class="{span} relative overflow-hidden rounded" + class="{span} focus-thick focus-blue relative overflow-hidden rounded" on:click={press} on:keydown={press} > diff --git a/frontend/src/lib/navigation/Link.svelte b/frontend/src/lib/navigation/Link.svelte index 7297a69..be09a36 100644 --- a/frontend/src/lib/navigation/Link.svelte +++ b/frontend/src/lib/navigation/Link.svelte @@ -12,7 +12,7 @@
  • - +
    diff --git a/frontend/src/lib/scraper/components/SelectorGroup.svelte b/frontend/src/lib/scraper/components/SelectorGroup.svelte index ae7287a..1fdb8f2 100644 --- a/frontend/src/lib/scraper/components/SelectorGroup.svelte +++ b/frontend/src/lib/scraper/components/SelectorGroup.svelte @@ -19,7 +19,7 @@

    {title}