fix: 1:1 prototype port – exact hms-* CSS, real logo, all components from app.js

This commit is contained in:
Implementation Engineer
2026-07-10 22:28:26 +02:00
parent 786cb0c040
commit 90a7d7f2e0
38 changed files with 2733 additions and 3250 deletions
+26 -19
View File
@@ -2,7 +2,7 @@ import { describe, it, expect } from "vitest";
import { readFileSync } from "node:fs";
import { resolve } from "node:path";
describe("Design Tokens", () => {
describe("Design Tokens (prototype-style.css)", () => {
const cssPath = resolve(__dirname, "../../assets/css/main.css");
const cssContent = readFileSync(cssPath, "utf-8");
@@ -22,14 +22,6 @@ describe("Design Tokens", () => {
expect(cssContent).toContain("--surface: #212121");
});
it("should define --card variable in :root", () => {
expect(cssContent).toContain("--card: #2d2d2d");
});
it("should define --border variable in :root", () => {
expect(cssContent).toContain("--border: #444444a8");
});
it("should define --text variable in :root", () => {
expect(cssContent).toContain("--text: #ffffff");
});
@@ -47,6 +39,31 @@ describe("Design Tokens", () => {
it("should define transition tokens", () => {
expect(cssContent).toContain("--transition-fast: 150ms ease");
});
it("should define hms-* CSS classes", () => {
expect(cssContent).toContain(".hms-header");
expect(cssContent).toContain(".hms-hero");
expect(cssContent).toContain(".hms-card");
expect(cssContent).toContain(".hms-btn");
expect(cssContent).toContain(".hms-btn-primary");
expect(cssContent).toContain(".hms-btn-secondary");
expect(cssContent).toContain(".hms-nav-btn");
expect(cssContent).toContain(".hms-badge");
expect(cssContent).toContain(".hms-input");
expect(cssContent).toContain(".hms-skeleton");
expect(cssContent).toContain(".hms-spinner");
expect(cssContent).toContain(".hms-speaker-grid");
expect(cssContent).toContain(".hms-footer");
expect(cssContent).toContain(".hms-gallery");
expect(cssContent).toContain(".hms-eq-card");
expect(cssContent).toContain(".hms-chip");
});
it("should include Tailwind directives", () => {
expect(cssContent).toContain("@tailwind base");
expect(cssContent).toContain("@tailwind components");
expect(cssContent).toContain("@tailwind utilities");
});
});
describe("Tailwind Config", () => {
@@ -58,14 +75,6 @@ describe("Tailwind Config", () => {
expect(configContent).toContain("#EC6925");
});
it("should extend colors with bg", () => {
expect(configContent).toContain('bg: "#131313"');
});
it("should extend colors with panel", () => {
expect(configContent).toContain('panel: "#1a1a1a"');
});
it("should configure Inter font family", () => {
expect(configContent).toContain("Inter");
});
@@ -78,8 +87,6 @@ describe("Nuxt Config", () => {
it("should include noindex robots meta tag", () => {
expect(configContent).toContain("noindex");
expect(configContent).toContain("nofollow");
expect(configContent).toContain("noarchive");
expect(configContent).toContain("nosnippet");
});
it("should include JSON-LD LocalBusiness script", () => {