From dbf4d810751701e53d70e55c5e176cdb6df2705d Mon Sep 17 00:00:00 2001 From: John Wesley Date: Tue, 16 Jul 2024 14:25:15 -0400 Subject: [PATCH] Add a new page that displays Mbin releases --- package.json | 1 + pnpm-lock.yaml | 10 +++++++ src/components/Chip.tsx | 12 ++++++--- src/components/Nav.tsx | 3 +++ src/initdata.js | 14 ---------- src/routes/releases.tsx | 60 +++++++++++++++++++++++++++++++++++++++++ src/routes/servers.tsx | 12 +++++++++ 7 files changed, 95 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 731b381..b6a7945 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ }, "dependencies": { "@iconify-json/material-symbols": "^1.1.82", + "@iconify-json/simple-icons": "^1.1.109", "@kobalte/core": "^0.13.3", "@solidjs/router": "^0.13.6", "@solidjs/start": "^1.0.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 17fcfb1..9bca235 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,6 +11,9 @@ importers: '@iconify-json/material-symbols': specifier: ^1.1.82 version: 1.1.82 + '@iconify-json/simple-icons': + specifier: ^1.1.109 + version: 1.1.109 '@kobalte/core': specifier: ^0.13.3 version: 0.13.3(solid-js@1.8.18) @@ -500,6 +503,9 @@ packages: '@iconify-json/material-symbols@1.1.82': resolution: {integrity: sha512-E67LgMFiAbEVF7rE38ulZU6NeXcPvayFF4hUUqt3g33tWrLsDNqEFTSsPt03l34rH5uGGtHIakTqtBlZ+/hRkw==} + '@iconify-json/simple-icons@1.1.109': + resolution: {integrity: sha512-vIhIJQDdbS5R6kSyIHVBRCaR2jiFjVlbVtB4PAoLjQL45vJRHMTwkrFa536XcX7yW69HbQkoanydcyDjknI6pw==} + '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -3634,6 +3640,10 @@ snapshots: dependencies: '@iconify/types': 2.0.0 + '@iconify-json/simple-icons@1.1.109': + dependencies: + '@iconify/types': 2.0.0 + '@iconify/types@2.0.0': {} '@iconify/utils@2.1.25': diff --git a/src/components/Chip.tsx b/src/components/Chip.tsx index f5dc333..c6dee38 100644 --- a/src/components/Chip.tsx +++ b/src/components/Chip.tsx @@ -8,20 +8,26 @@ const Chip: ParentComponent<{ classList?: { [k: string]: boolean | undefined; }; + href?: string; }> = (props) => { return ( - {props.children} - + ); }; diff --git a/src/components/Nav.tsx b/src/components/Nav.tsx index 6b1938c..d87c286 100644 --- a/src/components/Nav.tsx +++ b/src/components/Nav.tsx @@ -21,6 +21,9 @@ export default function Nav() {
  • Servers
  • +
  • + Releases +
  • diff --git a/src/initdata.js b/src/initdata.js index 4eaac72..6fad254 100644 --- a/src/initdata.js +++ b/src/initdata.js @@ -145,20 +145,6 @@ const fetchServerInfo = async (domain) => { // A server is considered outdated if a newer version has been available for more than 30 days. const releaseIndex = releases.findIndex((v) => v.version === version); - console.log( - releaseIndex, - version, - releases[releaseIndex].version, - releases[releaseIndex].publishedAt, - ); - if (releaseIndex > 0) { - console.log( - Date.now() - Date.parse(releases[releaseIndex - 1].publishedAt), - releases[releaseIndex - 1].publishedAt, - Date.now() - Date.parse(releases[releaseIndex - 1].publishedAt) > - 1000 * 60 * 60 * 24 * 30, - ); - } const versionOutdated = releaseIndex > 0 && Date.now() - Date.parse(releases[releaseIndex - 1].publishedAt) > diff --git a/src/routes/releases.tsx b/src/routes/releases.tsx index ee008be..e739d2a 100644 --- a/src/routes/releases.tsx +++ b/src/routes/releases.tsx @@ -1,6 +1,66 @@ +import { For } from 'solid-js'; +import releasesJson from '../../.output/data/releases.json'; +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from '~/components/ui/accordion'; +import Markdown from '~/components/Markdown'; +import SimpleIconsGithub from '~icons/simple-icons/github'; +import { useSearchParams } from '@solidjs/router'; + +const releases = releasesJson as Release[]; + export interface Release { version: string; publishedAt: string; githubUrl: string; body: string; } + +export default function ReleasesPage() { + const [searchParams] = useSearchParams(); + + return ( +
    +

    + Mbin Releases +

    + +
    + Also view releases on{' '} + + GitHub + + . +
    + + + + {(release) => ( + + + + {release.version} + + {new Date(release.publishedAt).toLocaleDateString()} + + + + + + + + {release.body} + + + )} + + +
    + ); +} diff --git a/src/routes/servers.tsx b/src/routes/servers.tsx index d383ac3..246b407 100644 --- a/src/routes/servers.tsx +++ b/src/routes/servers.tsx @@ -118,6 +118,17 @@ export default function ServersPage() {

    Mbin Servers

    +
    + Also view servers on{' '} + + FediDB + {' '} + and{' '} + + Fediverse Observer + + . +
    Mbin {server.version}