From 624a595710a4f862e543c5132e76cb803ef9dae7 Mon Sep 17 00:00:00 2001 From: Alicia Sykes Date: Sat, 10 Feb 2024 20:26:49 +0000 Subject: [PATCH] Updates progress view, favicon, router head and more --- web/public/favicon.png | Bin 0 -> 52443 bytes web/public/favicon.svg | 1 - web/src/components/psc/progress.tsx | 35 +++++++++++++++++- .../components/router-head/router-head.tsx | 3 +- web/src/routes/article/[slug]/index.tsx | 2 +- web/src/routes/index.tsx | 4 +- web/src/store/theme-store.ts | 1 - 7 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 web/public/favicon.png delete mode 100644 web/public/favicon.svg diff --git a/web/public/favicon.png b/web/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..5b06469ffb8133339ebaa7eea6280f475ff9af11 GIT binary patch literal 52443 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 \ No newline at end of file diff --git a/web/src/components/psc/progress.tsx b/web/src/components/psc/progress.tsx index 5b94404..3ed701a 100644 --- a/web/src/components/psc/progress.tsx +++ b/web/src/components/psc/progress.tsx @@ -4,6 +4,7 @@ import { Chart, registerables } from 'chart.js'; import { useLocalStorage } from "~/hooks/useLocalStorage"; import { ChecklistContext } from "~/store/checklist-context"; import type { Priority, Sections, Section } from '~/types/PSC'; +import Icon from '~/components/core/icon'; /** * Component for client-side user progress metrics. @@ -23,6 +24,8 @@ export default component$(() => { const totalProgress = useSignal({ completed: 0, outOf: 0 }); // Ref to the radar chart canvas const radarChart = useSignal(); + // Completion data for each section + const sectionCompletion = useSignal([]); /** * Calculates the users progress over specified sections. @@ -152,6 +155,18 @@ export default component$(() => { })); + /** + * Calculates the percentage of completion for each section + */ + useOnWindow('load', $(async () => { + sectionCompletion.value = await Promise.all(checklists.value.map(section => { + return calculateProgress([section]).then( + (progress) => Math.round(progress.completed / progress.outOf * 100) + ); + })); + })); + + interface RadarChartData { labels: string[]; datasets: { @@ -306,7 +321,25 @@ export default component$(() => { diff --git a/web/src/components/router-head/router-head.tsx b/web/src/components/router-head/router-head.tsx index 8d6134a..aa1b9c2 100644 --- a/web/src/components/router-head/router-head.tsx +++ b/web/src/components/router-head/router-head.tsx @@ -15,7 +15,7 @@ export const RouterHead = component$(() => { - + {head.meta.map((m) => ( @@ -32,6 +32,7 @@ export const RouterHead = component$(() => { {head.scripts.map((s) => ( ); }); diff --git a/web/src/routes/article/[slug]/index.tsx b/web/src/routes/article/[slug]/index.tsx index 1336b46..9254152 100644 --- a/web/src/routes/article/[slug]/index.tsx +++ b/web/src/routes/article/[slug]/index.tsx @@ -1,6 +1,6 @@ // src/routes/articles/[slug].tsx import { component$, Resource, useResource$, useStore } from '@builder.io/qwik'; -import { type DocumentHead, useLocation, useDocumentHead } from '@builder.io/qwik-city'; +import { type DocumentHead, useLocation } from '@builder.io/qwik-city'; import { marked } from "marked"; import articles from '~/data/articles'; diff --git a/web/src/routes/index.tsx b/web/src/routes/index.tsx index bf02565..01e8066 100644 --- a/web/src/routes/index.tsx +++ b/web/src/routes/index.tsx @@ -24,11 +24,11 @@ export default component$(() => { }); export const head: DocumentHead = { - title: "Welcome to Qwik", + title: "Digital Defense", meta: [ { name: "description", - content: "Qwik site description", + content: "The ultimate personal security checklist, for securing your digital life.", }, ], }; diff --git a/web/src/store/theme-store.ts b/web/src/store/theme-store.ts index a92c622..26b70d0 100644 --- a/web/src/store/theme-store.ts +++ b/web/src/store/theme-store.ts @@ -16,7 +16,6 @@ export const useTheme = () => { })); const setTheme = $((newTheme: string) => { - console.log('Updating Theme', newTheme); saveTheme(newTheme); state.theme = newTheme; document.getElementsByTagName('body')[0].setAttribute('data-theme', newTheme);