From 1f796305ee851d5b525203d4ac1fd3e986b07e62 Mon Sep 17 00:00:00 2001 From: Roman Mazuryk Date: Mon, 3 Aug 2026 19:14:55 +0200 Subject: [PATCH] fix: refine medtech proof navigation and CTAs --- public/sitemap.xml | 6 --- src/App.jsx | 5 --- src/assets/css/market-pages.css | 58 +++++++++++++++++++++++++++- src/components/AIWorkflowLibrary.jsx | 2 +- src/components/About.jsx | 4 +- src/components/AboutPage.jsx | 2 +- src/components/HiringTeams.jsx | 2 +- src/components/MarketPages.jsx | 11 +++--- src/components/Navbar.jsx | 12 +++--- src/components/OperatorAdvantage.jsx | 2 +- src/components/Projects.jsx | 2 +- src/components/ServicesPage.jsx | 2 +- src/hooks/useOgMeta.js | 20 ---------- src/locales/de.js | 2 +- src/locales/en.js | 2 +- vercel.json | 1 - 16 files changed, 78 insertions(+), 55 deletions(-) diff --git a/public/sitemap.xml b/public/sitemap.xml index 360ff3c..94c4d08 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -6,12 +6,6 @@ monthly 1.0 - - https://www.mazuryk.dev/proof-of-work - 2026-05-24 - monthly - 0.9 - https://www.mazuryk.dev/proof-of-work/or-integration 2026-05-25 diff --git a/src/App.jsx b/src/App.jsx index 3113464..4f3b449 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -13,12 +13,10 @@ import { AIPage, FullStackPage, HomePage, MedTechPage } from "./components/Marke import ClinicalEvidenceWorkflowPage from "./components/ClinicalEvidenceWorkflowPage.jsx"; import AIWorkflowLibrary from "./components/AIWorkflowLibrary.jsx"; import AIWorkflowDetailPage from "./components/AIWorkflowDetailPage.jsx"; -import ProofOfWorkPage from "./components/ProofOfWorkPage.jsx"; import ORIntegrationProofPage from "./components/ORIntegrationProofPage.jsx"; const CLINICAL_EVIDENCE_PATH = "/medtech-ai-systems/clinical-evidence-workflow"; const AI_WORKFLOW_PATH = "/ai-workflow"; -const PROOF_OF_WORK_PATH = "/proof-of-work"; const OR_INTEGRATION_PROOF_PATH = "/proof-of-work/or-integration"; const ROUTE_SECTION_MAP = { "/about": "about", @@ -34,7 +32,6 @@ function getPage() { if (path === "/about") return "about"; if (path === "/contact") return "contact"; if (path === OR_INTEGRATION_PROOF_PATH) return "or-integration-proof"; - if (path === PROOF_OF_WORK_PATH) return "proof-of-work"; if (path === AI_WORKFLOW_PATH) return "ai-workflow"; if (path.startsWith(`${AI_WORKFLOW_PATH}/`)) return "ai-workflow-detail"; if (path === CLINICAL_EVIDENCE_PATH) return "clinical-evidence-workflow"; @@ -89,8 +86,6 @@ function AppInner() { ) : page === "contact" ? ( - ) : page === "proof-of-work" ? ( - ) : page === "or-integration-proof" ? ( ) : page === "ai-workflow" ? ( diff --git a/src/assets/css/market-pages.css b/src/assets/css/market-pages.css index 5d47365..857c2d2 100644 --- a/src/assets/css/market-pages.css +++ b/src/assets/css/market-pages.css @@ -1377,11 +1377,33 @@ } .medtech-proof-card { + --proof-link-accent: var(--accent-medtech); + --proof-link-soft: var(--accent-medtech-soft); display: flex; flex-direction: column; padding: 20px; } +.medtech-proof-card--surgical { + --proof-link-accent: var(--accent-medtech); + --proof-link-soft: var(--accent-medtech-soft); +} + +.medtech-proof-card--demo { + --proof-link-accent: var(--accent-medtech-2); + --proof-link-soft: var(--surface-cool); +} + +.medtech-proof-card--workflow { + --proof-link-accent: var(--accent-ai); + --proof-link-soft: var(--accent-ai-soft); +} + +.medtech-proof-card--systems { + --proof-link-accent: var(--accent-fullstack); + --proof-link-soft: var(--accent-fullstack-soft); +} + .medtech-proof-card:nth-child(1) { background: linear-gradient(var(--grid-line) 1px, transparent 1px), @@ -1457,10 +1479,42 @@ .medtech-proof-card__links a { display: inline-flex; align-items: center; + justify-content: center; gap: 6px; - color: var(--accent-medtech); - font-weight: 800; + min-height: 34px; + padding: 7px 10px; + border: 1px solid color-mix(in srgb, var(--proof-link-accent) 38%, var(--border)); + border-radius: 999px; + background: color-mix(in srgb, var(--proof-link-soft) 72%, transparent); + color: color-mix(in srgb, var(--proof-link-accent) 88%, var(--text)); + font-size: 13px; + font-weight: 850; text-decoration: none; + box-shadow: 0 0 0 1px color-mix(in srgb, var(--proof-link-accent) 8%, transparent); + transition: transform 0.16s ease, background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease; +} + +.medtech-proof-card__links a:hover { + border-color: color-mix(in srgb, var(--proof-link-accent) 68%, var(--border)); + background: color-mix(in srgb, var(--proof-link-accent) 18%, var(--panel)); + color: var(--text); + box-shadow: + 0 10px 24px color-mix(in srgb, var(--proof-link-accent) 18%, transparent), + 0 0 0 1px color-mix(in srgb, var(--proof-link-accent) 22%, transparent); + transform: translateY(-1px); +} + +.medtech-proof-card__links a:focus-visible { + outline: 2px solid var(--proof-link-accent); + outline-offset: 3px; +} + +.medtech-proof-card__links a svg { + transition: transform 0.2s ease; +} + +.medtech-proof-card__links a:hover svg { + transform: translateX(2px); } .medtech-capability-card { diff --git a/src/components/AIWorkflowLibrary.jsx b/src/components/AIWorkflowLibrary.jsx index 823e4c6..32c998a 100644 --- a/src/components/AIWorkflowLibrary.jsx +++ b/src/components/AIWorkflowLibrary.jsx @@ -264,7 +264,7 @@ export default function AIWorkflowLibrary() { diff --git a/src/components/About.jsx b/src/components/About.jsx index c985548..89b57b2 100644 --- a/src/components/About.jsx +++ b/src/components/About.jsx @@ -234,7 +234,7 @@ export default function About() { @@ -271,7 +271,7 @@ export default function About() { {deText("Discuss a Workflow", lang)} - + {deText("View Proof of Work", lang)} diff --git a/src/components/AboutPage.jsx b/src/components/AboutPage.jsx index 6e43ab3..cdbb1bb 100644 --- a/src/components/AboutPage.jsx +++ b/src/components/AboutPage.jsx @@ -40,7 +40,7 @@ export default function AboutPage() { title={} subtitle={deText("I help operations-heavy teams turn fragmented processes into practical AI-assisted systems, combining product strategy, workflow analysis, AI automation, and full-stack delivery. My MedTech background adds real-world judgment from regulated, high-friction environments.", lang)} primaryCta={{ label: deText("Explore AI Workflows", lang), href: "/ai-workflow", icon: