From b5025718c5bc0dd1fab9717b22d4da2ed8945f17 Mon Sep 17 00:00:00 2001 From: João Augusto Costa Branco Marado Torres Date: Tue, 5 Aug 2025 20:04:20 +0100 Subject: feat: allow a number alongside the keyword MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: João Augusto Costa Branco Marado Torres --- src/components/organisms/KeywordsList.astro | 51 +++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 14 deletions(-) (limited to 'src/components/organisms/KeywordsList.astro') diff --git a/src/components/organisms/KeywordsList.astro b/src/components/organisms/KeywordsList.astro index be9a38c..5519865 100644 --- a/src/components/organisms/KeywordsList.astro +++ b/src/components/organisms/KeywordsList.astro @@ -1,6 +1,6 @@ --- interface Props { - keywords: string[]; + keywords: (string | [string, number])[]; } const { keywords } = Astro.props; @@ -8,11 +8,17 @@ const { keywords } = Astro.props;

{ - keywords.map((x, i) => ( - <>{i > 0 && " "}#{x} - )) + keywords.map((x, i) => { + let keyword = typeof x === "string" ? x : x[0]; + let n = typeof x === "string" ? undefined : x[1]; + return ( + <>{i > 0 && " "}{ + n !== undefined && {n} + }{" "}#{ + keyword + } + ); + }) }

@@ -24,16 +30,33 @@ const { keywords } = Astro.props; gap: calc(var(--size-0) * 1em); margin-block: calc(var(--size-0) * 1em); margin-inline: auto; + } + + [role="listitem"] { + border-radius: calc(infinity * 1px); + background-color: color-mix( + in srgb, + var(--color-active) 10%, + transparent + ); + padding-inline: calc(var(--size-2) * 1em); + display: flex; + align-items: center; + gap: calc(var(--size-4) * 1ch); - & > * > * { - border-radius: calc(infinity * 1px); - background-color: color-mix( - in srgb, - var(--color-active) 10%, - transparent - ); + & * { color: var(--color-active); - padding-inline: calc(var(--size-2) * 1em); } } + + .number { + display: inline-block; + min-width: 1rem; + max-width: 1rem; + border-radius: calc(infinity * 1px); + background-color: var(--color-active); + color: var(--color-background) !important; + text-align: center; + margin-block: calc(var(--size-0) * 1em); + } -- cgit v1.2.3