feat: refine portfolio content, contact, and supporting media

This commit is contained in:
2026-09-05 20:08:57 +03:00
parent 15bcdf7cec
commit 103427f95b
53 changed files with 824 additions and 204 deletions

View File

@@ -18,11 +18,13 @@ const contentTypes: Readonly<Record<string, string>> = {
".json": "application/json; charset=utf-8",
".map": "application/json; charset=utf-8",
".mp3": "audio/mpeg",
".mp4": "video/mp4",
".opus": "audio/ogg",
".png": "image/png",
".svg": "image/svg+xml; charset=utf-8",
".txt": "text/plain; charset=utf-8",
".webp": "image/webp",
".webm": "video/webm",
".woff": "font/woff",
".woff2": "font/woff2",
".xml": "application/xml; charset=utf-8",

View File

@@ -133,7 +133,7 @@ export const assertSemanticFaultOracle = async (page: Page): Promise<void> => {
await expect(page.locator('main > section')).toHaveCount(8);
await expect(page.locator('nav[aria-label="Portfolio sections"] a')).toHaveCount(8);
await expect(page.locator('nav a[href="#contact"]')).toBeVisible();
const email = page.locator('#contact a[href^="mailto:"]');
const email = page.locator('#contact :is(a, summary):text-is("Email Me")');
await expect(email).toBeVisible();
for (const title of [
'Private self-hosted medication tracker',