From 3b380f17fdf31a78478af765c40b64bebc6c7d72 Mon Sep 17 00:00:00 2001 From: ABevier Date: Wed, 12 Apr 2023 19:40:42 -0400 Subject: [PATCH] Active Styles + small bug fixes (#447) --- .../install-button/install-button.svelte | 7 +-- .../package-state-button.svelte | 5 ++ .../package-banner/package-banner.svelte | 34 ++++++------ .../package-card/package-card.svelte | 54 ++++++++++++------- modules/ui/src/button/button.svelte | 39 ++++++++++++-- 5 files changed, 96 insertions(+), 43 deletions(-) diff --git a/modules/desktop/src/components/install-button/install-button.svelte b/modules/desktop/src/components/install-button/install-button.svelte index 05fd0ac..66baf74 100644 --- a/modules/desktop/src/components/install-button/install-button.svelte +++ b/modules/desktop/src/components/install-button/install-button.svelte @@ -52,7 +52,8 @@
{#if (pkg?.installed_versions || []).length > 0} -
handleClick(evt, "")} >
uninstall
@@ -139,8 +140,8 @@ display: block; } - /* width */ - ::-webkit-scrollbar { + /* width */ + ::-webkit-scrollbar { width: 6px; } diff --git a/modules/desktop/src/components/install-button/package-state-button.svelte b/modules/desktop/src/components/install-button/package-state-button.svelte index ae19533..7477f36 100644 --- a/modules/desktop/src/components/install-button/package-state-button.svelte +++ b/modules/desktop/src/components/install-button/package-state-button.svelte @@ -20,6 +20,10 @@ return "primary"; }; + const isActive = (state: PackageStates): boolean => { + return state === PackageStates.INSTALLING || state === PackageStates.UPDATING; + }; + const badgeClass: Record = { [PackageStates.AVAILABLE]: "install-badge", [PackageStates.INSTALLING]: "install-badge", @@ -36,6 +40,7 @@ class="w-full border p-0 text-xs text-white {buttonSize === 'small' ? 'h-8' : 'h-10'}" type="plain" color={getColor(pkg.state)} + active={isActive(pkg.state)} {onClick} >
diff --git a/modules/desktop/src/components/package-banner/package-banner.svelte b/modules/desktop/src/components/package-banner/package-banner.svelte index be0d770..8064cfb 100644 --- a/modules/desktop/src/components/package-banner/package-banner.svelte +++ b/modules/desktop/src/components/package-banner/package-banner.svelte @@ -1,26 +1,24 @@
@@ -48,7 +47,10 @@

{pkg.full_name}

{#if pkg.homepage} - shellOpenExternal(pkg.homepage)} >{pkg.homepage} + shellOpenExternal(pkg.homepage)}>{pkg.homepage} {/if}

{pkg.desc}

@@ -62,15 +64,9 @@ }} /> {#if (pkg?.installed_versions?.length || 0) > 1} - diff --git a/modules/desktop/src/components/package-card/package-card.svelte b/modules/desktop/src/components/package-card/package-card.svelte index f98c060..8a39353 100644 --- a/modules/desktop/src/components/package-card/package-card.svelte +++ b/modules/desktop/src/components/package-card/package-card.svelte @@ -10,7 +10,7 @@ export let link: string; export let progessLoading = 0; - const imgUrl = !pkg.thumb_image_url.includes("https://tea.xyz") + $: imgUrl = !pkg.thumb_image_url.includes("https://tea.xyz") ? "https://tea.xyz/Images/package-thumb-nolabel4.jpg" : pkg.thumb_image_url; @@ -20,17 +20,25 @@ export let onUninstall = async () => { console.log("do nothing"); - } + }; + + // Using this instead of css :active because there is a button inside of a button + let isActive = false; + const activate = () => (isActive = true); + const deactivate = () => (isActive = false); + + const preventPropagation = (evt: MouseEvent) => evt.stopPropagation();
- +
@@ -43,14 +51,12 @@

{pkg.name}

{pkg.desc ?? ""}

-
-
- +
+
+
-
+
{#if pkg.state === "NEEDS_UPDATE"} Updating from v{findRecentInstalledVersion(pkg)} {/if} @@ -60,7 +66,7 @@ {#if progessLoading > 0 && progessLoading < 100} -
+
@@ -77,6 +83,23 @@ box-sizing: border-box; } + section.active::before { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(26, 26, 26, 0.7); + z-index: 2; + content: ""; + pointer-events: none; + } + + section.package-card:active { + border-color: #8000ff; + box-shadow: 0px 0px 0px 2px rgba(128, 0, 255, 0.5); + } + aside { position: absolute; bottom: 0px; @@ -85,6 +108,7 @@ height: 50%; overflow: hidden; } + figure { position: absolute; bottom: 0px; @@ -135,12 +159,6 @@ background-size: cover; } - .package-card:active { - border-color: #8000ff; - box-shadow: 0px 0px 0px 2px rgba(128, 0, 255, 0.5); - mix-blend-mode: overlay; - } - .package-card:hover .hint { visibility: visible; } diff --git a/modules/ui/src/button/button.svelte b/modules/ui/src/button/button.svelte index 8f72be1..e6f5787 100644 --- a/modules/ui/src/button/button.svelte +++ b/modules/ui/src/button/button.svelte @@ -71,6 +71,14 @@ background: #01997d; } + button.plain.primary:active { + background: #01997d; + } + + button.plain.primary:active::before { + background: #01997d; + } + button.primary::before { background: #0ecaa7; } @@ -86,6 +94,14 @@ background: #410182; } + button.plain.secondary:active { + background: #410182; + } + + button.plain.secondary:active::before { + background: #410182; + } + button.secondary::before { background: #6000bf; } @@ -111,19 +127,36 @@ background: white; } + button.plain.black:active { + background: #e1e1e1; + } + + button.plain.black:active::before { + background: #e1e1e1; + } + /* black button inverts colors on hover */ button.black:hover { color: #1a1a1a; background: white; } - /* green */ + /* blue */ button.plain.blue { - background: #013b99; + background: #2675f5; + border: 1px solid #2675f5; color: white; } button.blue::before { - background: #2675f5; + background: #013b99; + } + + button.plain.blue:active { + background: #012765; + } + + button.plain.blue:active::before { + background: #012765; }