diff --git a/TODO.md b/TODO.md index dcfcfea..1c4cebf 100644 --- a/TODO.md +++ b/TODO.md @@ -3,9 +3,9 @@ - [ ] License ## Code -- [ ] day.js for dates - [ ] Nix Shell - [ ] Analytics +- [ ] Organize code better ## SEO - [ ] Meta tags on each page @@ -34,6 +34,7 @@ - [ ] Bachelor project - [ ] Sparebank1 ActualBudget service - [ ] More about this website +- [ ] RSS Feed ## ~/slashes - [ ] List of all slashes diff --git a/package.json b/package.json index e10a291..74477b2 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "@tailwindcss/vite": "^4.0.9", "astro": "^5.3.1", "astro-icon": "^1.1.5", + "dayjs": "^1.11.13", "sharp": "^0.33.5", "svelte": "^5.20.4", "tailwindcss": "^4.0.9", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2b33e5f..25de402 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,6 +44,9 @@ importers: astro-icon: specifier: ^1.1.5 version: 1.1.5 + dayjs: + specifier: ^1.11.13 + version: 1.11.13 sharp: specifier: ^0.33.5 version: 0.33.5 @@ -1444,6 +1447,9 @@ packages: daisyui@5.0.0-beta.8: resolution: {integrity: sha512-jSokqm5i+Pv1jG80wliNzMHjmcF+iMx5xRUpk0/QExVoVNyQNWeCsaWJQubPvUq7bt9nzSsQTR2uIZBoyIIoaA==} + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + debug@4.3.7: resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} @@ -4782,6 +4788,8 @@ snapshots: daisyui@5.0.0-beta.8: {} + dayjs@1.11.13: {} + debug@4.3.7: dependencies: ms: 2.1.3 diff --git a/src/components/projects/ProjectPage.astro b/src/components/projects/ProjectPage.astro index 2e07feb..f54a0c4 100644 --- a/src/components/projects/ProjectPage.astro +++ b/src/components/projects/ProjectPage.astro @@ -1,11 +1,12 @@ --- +import * as m from "@/paraglide/messages" import Layout from "@/layouts/Layout.astro" import BadgeList from "@/components/badge/BadgeList.astro" import GiteaLink from "@/components/links/GiteaLink.astro" import { languageTag } from "@/paraglide/runtime" import { getEntry, render } from "astro:content" import { Image } from "astro:assets" -import * as m from "@/paraglide/messages" +import dayjs from "dayjs" import "@/styles/global.css" interface Props { @@ -26,9 +27,12 @@ const { createdAt, updatedAt, } = entry!.data + +function localeDateString(isoString: string): string { + return dayjs(isoString).locale(languageTag()).format("YYYY-MM-DD") +} --- -
@@ -37,10 +41,10 @@ const {

- {m.createdAt()}: {new Date(createdAt).toLocaleDateString(languageTag())} + {m.createdAt()}: {localeDateString(createdAt)}

- {m.updatedAt()}: {new Date(updatedAt).toLocaleDateString(languageTag())} + {m.updatedAt()}: {localeDateString(updatedAt)}