From 8d70d7ae4d680e095586a712f2e66ec0edf1306e Mon Sep 17 00:00:00 2001 From: Sergio <77530549+sergi0g@users.noreply.github.com> Date: Fri, 25 Oct 2024 17:09:54 +0300 Subject: [PATCH] Fixed CSS bugs, formatted code --- web/.prettierrc | 3 +++ web/bun.lockb | Bin 124073 -> 125443 bytes web/index.html | 28 ++++++++++++---------- web/package.json | 1 + web/src/App.tsx | 30 +++++++++++------------ web/src/components/Image.tsx | 40 +++++++++++++++---------------- web/src/components/Loading.tsx | 17 +++++++------ web/src/components/Search.tsx | 11 +++++---- web/src/components/Statistic.tsx | 16 ++++++------- web/src/index.css | 2 +- web/src/types.ts | 26 ++++++++++---------- web/tailwind.config.js | 6 ++--- 12 files changed, 96 insertions(+), 84 deletions(-) create mode 100644 web/.prettierrc diff --git a/web/.prettierrc b/web/.prettierrc new file mode 100644 index 0000000..b4bfed3 --- /dev/null +++ b/web/.prettierrc @@ -0,0 +1,3 @@ +{ + "plugins": ["prettier-plugin-tailwindcss"] +} diff --git a/web/bun.lockb b/web/bun.lockb index 7a21bbca22416aee43b1850290855e4ca271d872..f7224348e4dcb8fde6748c6dcf0b7877b54fada6 100755 GIT binary patch delta 19259 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 j{6V(B -
-
+
+
-

+

Cup

{% for metric in metrics %} -
+
{{ metric.name }}
-
+
{{ metric.value }}
@@ -111,7 +113,7 @@ height="24" viewBox="0 0 24 24" fill="currentColor" - class="size-6 text-black dark:text-white shrink-0" + class="size-6 shrink-0 text-black dark:text-white" > ; return (
-
-
+
+
-

+

Cup

-
+
{Object.entries(data.metrics).map(([name, value]) => ( ))}
- -
    - {data.images.filter((image) => image.reference.includes(searchQuery)).map((image) => ( - - ))} + +
      + {data.images + .filter((image) => image.reference.includes(searchQuery)) + .map((image) => ( + + ))}
diff --git a/web/src/components/Image.tsx b/web/src/components/Image.tsx index 09afe41..383c0a9 100644 --- a/web/src/components/Image.tsx +++ b/web/src/components/Image.tsx @@ -62,7 +62,7 @@ export default function Image({ data }: { data: Image }) { <> )}
diff --git a/web/src/components/Statistic.tsx b/web/src/components/Statistic.tsx index 88e96da..906bac9 100644 --- a/web/src/components/Statistic.tsx +++ b/web/src/components/Statistic.tsx @@ -19,27 +19,27 @@ export default function Statistic({
-
+
{name}
-
-
+
+
{value}
{name == "Monitored images" && ( - + )} {name == "Up to date" && ( - + )} {name == "Update available" && ( - + )} {name == "Unknown" && ( - + )}
diff --git a/web/src/index.css b/web/src/index.css index 06cc5f7..2ddb373 100644 --- a/web/src/index.css +++ b/web/src/index.css @@ -51,4 +51,4 @@ html::-webkit-scrollbar-thumb:hover { background: #b5b5b5; } -} \ No newline at end of file +} diff --git a/web/src/types.ts b/web/src/types.ts index 72e941a..7e65a1d 100644 --- a/web/src/types.ts +++ b/web/src/types.ts @@ -7,20 +7,20 @@ export interface Data { }; images: Image[]; last_updated: string; -}; +} export interface Image { - reference: string, + reference: string; parts: { - registry: string, - repository: string, - tag: string, - }, - local_digests: string[], - remote_digest: string, + registry: string; + repository: string; + tag: string; + }; + local_digests: string[]; + remote_digest: string; result: { - has_update: boolean | null, - error: string | null - }, - time: number -} \ No newline at end of file + has_update: boolean | null; + error: string | null; + }; + time: number; +} diff --git a/web/tailwind.config.js b/web/tailwind.config.js index a1c1e2a..fdd92a2 100644 --- a/web/tailwind.config.js +++ b/web/tailwind.config.js @@ -8,7 +8,7 @@ export default { safelist: [ // Generate minimum extra CSS { - pattern: /bg-(gray|neutral)-(50|500)/, + pattern: /bg-(gray|neutral)-(50|100|500)/, }, { pattern: /bg-(gray|neutral)-(900|950)/, @@ -24,11 +24,11 @@ export default { }, { pattern: /text-(gray|neutral)-600/, - variants: ["hover"] + variants: ["hover"], }, { pattern: /text-(gray|neutral)-400/, - variants: ["hover", "dark", "dark:hover"] + variants: ["hover", "dark", "dark:hover"], }, { pattern: /text-(gray|neutral)-500/,