prime8dev

prime8dev
git clone https://git.prime8.dev/prime8dev.git
Log | Files | Refs | README | LICENSE

commit 9a7942a0a7f133d3b3cad0560c7775a5d4820603
parent b14b9493141ef6b9a7fbf7ecde9e94357415c917
Author: Damian Myrda <damian@prime8.dev>
Date:   Wed, 21 Jan 2026 15:59:37 -0600

fix: move blog share button next to date on mobile

Diffstat:
Mweb/src/components/Article.astro | 36+++++++++++++++++++++++++++---------
Mweb/src/pages/sitemap.xml.ts | 14++++++++++++--
2 files changed, 39 insertions(+), 11 deletions(-)

diff --git a/web/src/components/Article.astro b/web/src/components/Article.astro @@ -25,14 +25,23 @@ const { blog, isStandalone = true } = Astro.props; <div class="blog-article-header-top"> <h1 class="blog-article-title">{blog.title}</h1> <button - class="blog-share-btn" + class="blog-share-btn blog-share-btn-desktop" + data-blog-id={blog.id} + data-blog-title={blog.title} + > + [Share] + </button> + </div> + <div class="blog-article-meta"> + <time class="blog-article-date" datetime={blog.date}>{blog.date}</time> + <button + class="blog-share-btn blog-share-btn-mobile" data-blog-id={blog.id} data-blog-title={blog.title} > [Share] </button> </div> - <time class="blog-article-date" datetime={blog.date}>{blog.date}</time> </header> <div class="blog-article-content" data-blog-id={blog.id}> { @@ -132,11 +141,21 @@ const { blog, isStandalone = true } = Astro.props; border-color: var(--green); } + .blog-article-meta { + display: flex; + align-items: center; + justify-content: space-between; + } + .blog-article-date { color: var(--fg-dim); font-size: 13px; } + .blog-share-btn-mobile { + display: none; + } + .blog-article-content { font-size: 14px; line-height: 1.7; @@ -318,17 +337,16 @@ const { blog, isStandalone = true } = Astro.props; padding-bottom: 12px; } - .blog-article-header-top { - flex-direction: column; - gap: 12px; - } - .blog-article-title { font-size: 22px; } - .blog-share-btn { - align-self: flex-start; + .blog-share-btn-desktop { + display: none; + } + + .blog-share-btn-mobile { + display: block; } .blog-article-content { diff --git a/web/src/pages/sitemap.xml.ts b/web/src/pages/sitemap.xml.ts @@ -4,7 +4,7 @@ import rawProjects from "../../config/projects.json"; import rawExperience from "../../config/experience.json"; import type Project from "../lib/types/project"; import type Experience from "../lib/types/experience"; -import { fetchAllGitMetadata } from "../lib/git"; +import { fetchGitMetadataForProject } from "../lib/git"; const projects = rawProjects as Project[]; const experiences = rawExperience as Experience[]; @@ -12,7 +12,17 @@ const siteUrl = "https://prime8.dev"; export const GET: APIRoute = async () => { const now = new Date().toISOString().split("T")[0]; - const metadata = await fetchAllGitMetadata(); + + const metadata = Object.fromEntries( + ( + await Promise.all( + projects.map(async (project) => [ + project.id, + await fetchGitMetadataForProject(project), + ]), + ) + ).filter(([, meta]) => meta !== null), + ); // Static pages const staticPages = [