diff --git a/apps/web/public/favicon.ico b/apps/web/public/favicon.ico new file mode 100644 index 0000000..29a7839 Binary files /dev/null and b/apps/web/public/favicon.ico differ diff --git a/apps/web/public/images/animations/ambient_atom.svg b/apps/web/public/images/animations/ambient_atom.svg new file mode 100644 index 0000000..c5d0173 --- /dev/null +++ b/apps/web/public/images/animations/ambient_atom.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/apps/web/public/images/animations/ambient_atom_light.svg b/apps/web/public/images/animations/ambient_atom_light.svg new file mode 100644 index 0000000..6b8023a --- /dev/null +++ b/apps/web/public/images/animations/ambient_atom_light.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/apps/web/public/images/animations/ambient_leaf.svg b/apps/web/public/images/animations/ambient_leaf.svg new file mode 100644 index 0000000..e07db7d --- /dev/null +++ b/apps/web/public/images/animations/ambient_leaf.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + diff --git a/apps/web/public/images/animations/ambient_leaf_light.svg b/apps/web/public/images/animations/ambient_leaf_light.svg new file mode 100644 index 0000000..e9466fa --- /dev/null +++ b/apps/web/public/images/animations/ambient_leaf_light.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + diff --git a/apps/web/public/images/animations/ambient_mesh.svg b/apps/web/public/images/animations/ambient_mesh.svg new file mode 100644 index 0000000..db4ed44 --- /dev/null +++ b/apps/web/public/images/animations/ambient_mesh.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/web/public/images/animations/ambient_mesh_light.svg b/apps/web/public/images/animations/ambient_mesh_light.svg new file mode 100644 index 0000000..c165b36 --- /dev/null +++ b/apps/web/public/images/animations/ambient_mesh_light.svg @@ -0,0 +1,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/web/public/images/animations/anim1_pulse.svg b/apps/web/public/images/animations/anim1_pulse.svg index 9e07648..f5d747d 100644 --- a/apps/web/public/images/animations/anim1_pulse.svg +++ b/apps/web/public/images/animations/anim1_pulse.svg @@ -1,127 +1,48 @@ - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + diff --git a/apps/web/public/images/animations/anim1_pulse_light.svg b/apps/web/public/images/animations/anim1_pulse_light.svg index cfc4c87..ce760cc 100644 --- a/apps/web/public/images/animations/anim1_pulse_light.svg +++ b/apps/web/public/images/animations/anim1_pulse_light.svg @@ -1,127 +1,48 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + diff --git a/apps/web/public/images/animations/anim3_matrix.svg b/apps/web/public/images/animations/anim3_matrix.svg index 48aff06..52e6723 100644 --- a/apps/web/public/images/animations/anim3_matrix.svg +++ b/apps/web/public/images/animations/anim3_matrix.svg @@ -1,205 +1,80 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - 01 - { } - S - 10 - U - 0x - C - fn - H - ; - => - [] + + 01 + { } + S + 10 + U + 0x + C + fn + H + ; + => + [] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + diff --git a/apps/web/public/images/animations/anim3_matrix_light.svg b/apps/web/public/images/animations/anim3_matrix_light.svg index 8a3215f..0fe54e0 100644 --- a/apps/web/public/images/animations/anim3_matrix_light.svg +++ b/apps/web/public/images/animations/anim3_matrix_light.svg @@ -1,205 +1,80 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 01 - { } - S - 10 - U - 0x - C - fn - H - ; - => - [] + + + + + 01 + { } + S + 10 + U + 0x + C + fn + H + ; + => + [] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + diff --git a/apps/web/public/images/animations/anim_type_v4.svg b/apps/web/public/images/animations/anim_type_v4.svg index c17ad50..438a0fe 100644 --- a/apps/web/public/images/animations/anim_type_v4.svg +++ b/apps/web/public/images/animations/anim_type_v4.svg @@ -1,125 +1,44 @@ - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - > - - - - - s - - - - - u - - - - - c - - - - - h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + > + s + u + c + h + + + + + + diff --git a/apps/web/public/images/animations/anim_type_v4_light.svg b/apps/web/public/images/animations/anim_type_v4_light.svg index ce381e6..0b01881 100644 --- a/apps/web/public/images/animations/anim_type_v4_light.svg +++ b/apps/web/public/images/animations/anim_type_v4_light.svg @@ -1,125 +1,44 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - > - - - - - s - - - - - u - - - - - c - - - - - h - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + > + s + u + c + h + + + + + + diff --git a/apps/web/public/images/animations/games_pulse.svg b/apps/web/public/images/animations/games_pulse.svg new file mode 100644 index 0000000..4b1ee0a --- /dev/null +++ b/apps/web/public/images/animations/games_pulse.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/web/public/images/animations/games_pulse_light.svg b/apps/web/public/images/animations/games_pulse_light.svg new file mode 100644 index 0000000..97a9390 --- /dev/null +++ b/apps/web/public/images/animations/games_pulse_light.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/web/public/images/animations/morph.svg b/apps/web/public/images/animations/morph.svg new file mode 100644 index 0000000..bce8068 --- /dev/null +++ b/apps/web/public/images/animations/morph.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + diff --git a/apps/web/public/images/animations/morph_light.svg b/apps/web/public/images/animations/morph_light.svg new file mode 100644 index 0000000..d77c536 --- /dev/null +++ b/apps/web/public/images/animations/morph_light.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + diff --git a/apps/web/public/images/branding/OG_banner_v2_light.png b/apps/web/public/images/branding/OG_banner_v2_light.png index 2632ead..69f3e78 100644 Binary files a/apps/web/public/images/branding/OG_banner_v2_light.png and b/apps/web/public/images/branding/OG_banner_v2_light.png differ diff --git a/apps/web/public/images/branding/clean_dark.svg b/apps/web/public/images/branding/clean_dark.svg index 08e567d..5af4dd8 100644 --- a/apps/web/public/images/branding/clean_dark.svg +++ b/apps/web/public/images/branding/clean_dark.svg @@ -1,38 +1,8 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + diff --git a/apps/web/public/images/branding/clean_dark_w_text.svg b/apps/web/public/images/branding/clean_dark_w_text.svg index 893bff0..95aa79d 100644 --- a/apps/web/public/images/branding/clean_dark_w_text.svg +++ b/apps/web/public/images/branding/clean_dark_w_text.svg @@ -1,131 +1,10 @@ - - - - - - - - - - - - - - - - SuchSoftware - - - - - - - - - + + + + + + + + Such + Software diff --git a/apps/web/public/images/branding/clean_light.svg b/apps/web/public/images/branding/clean_light.svg index 2f490bc..bc8d912 100644 --- a/apps/web/public/images/branding/clean_light.svg +++ b/apps/web/public/images/branding/clean_light.svg @@ -1,28 +1,8 @@ - - - - - - - - - - - - - - - - + + + + + diff --git a/apps/web/public/images/branding/clean_light_w_text.svg b/apps/web/public/images/branding/clean_light_w_text.svg index 68e12ae..607cf9f 100644 --- a/apps/web/public/images/branding/clean_light_w_text.svg +++ b/apps/web/public/images/branding/clean_light_w_text.svg @@ -1,117 +1,10 @@ - - - - - - - SuchSoftware - - - - - - - - - - - + + + + + + + + Such + Software diff --git a/apps/web/public/images/branding/favicon_dark.png b/apps/web/public/images/branding/favicon_dark.png index f20f2d2..6eccfcb 100644 Binary files a/apps/web/public/images/branding/favicon_dark.png and b/apps/web/public/images/branding/favicon_dark.png differ diff --git a/apps/web/public/images/branding/favicon_dark.svg b/apps/web/public/images/branding/favicon_dark.svg index 9b23a18..bcf2803 100644 --- a/apps/web/public/images/branding/favicon_dark.svg +++ b/apps/web/public/images/branding/favicon_dark.svg @@ -1,106 +1,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + diff --git a/apps/web/public/images/branding/favicon_dots_dark.svg b/apps/web/public/images/branding/favicon_dots_dark.svg new file mode 100644 index 0000000..346b077 --- /dev/null +++ b/apps/web/public/images/branding/favicon_dots_dark.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/web/public/images/branding/favicon_dots_light.svg b/apps/web/public/images/branding/favicon_dots_light.svg new file mode 100644 index 0000000..99dfdd4 --- /dev/null +++ b/apps/web/public/images/branding/favicon_dots_light.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/apps/web/public/images/branding/favicon_light.png b/apps/web/public/images/branding/favicon_light.png index 01586e5..8ee6f89 100644 Binary files a/apps/web/public/images/branding/favicon_light.png and b/apps/web/public/images/branding/favicon_light.png differ diff --git a/apps/web/public/images/branding/favicon_light.svg b/apps/web/public/images/branding/favicon_light.svg index a5fe241..d6e62f7 100644 --- a/apps/web/public/images/branding/favicon_light.svg +++ b/apps/web/public/images/branding/favicon_light.svg @@ -1,80 +1,9 @@ - - - - - - - - - - - - - - - - + + + + + + + + diff --git a/apps/web/public/images/branding/favicon_live_dark.svg b/apps/web/public/images/branding/favicon_live_dark.svg new file mode 100644 index 0000000..7a89cd3 --- /dev/null +++ b/apps/web/public/images/branding/favicon_live_dark.svg @@ -0,0 +1,19 @@ + + + + + + + + + + diff --git a/apps/web/public/images/branding/favicon_live_light.svg b/apps/web/public/images/branding/favicon_live_light.svg new file mode 100644 index 0000000..b135463 --- /dev/null +++ b/apps/web/public/images/branding/favicon_live_light.svg @@ -0,0 +1,19 @@ + + + + + + + + + + diff --git a/apps/web/public/images/branding/icon-192.png b/apps/web/public/images/branding/icon-192.png new file mode 100644 index 0000000..8ee6f89 Binary files /dev/null and b/apps/web/public/images/branding/icon-192.png differ diff --git a/apps/web/public/images/branding/icon-512.png b/apps/web/public/images/branding/icon-512.png new file mode 100644 index 0000000..4fc03b4 Binary files /dev/null and b/apps/web/public/images/branding/icon-512.png differ diff --git a/apps/web/public/images/branding/maskable-512.png b/apps/web/public/images/branding/maskable-512.png new file mode 100644 index 0000000..f85a8bd Binary files /dev/null and b/apps/web/public/images/branding/maskable-512.png differ diff --git a/apps/web/public/images/branding/splash-such.svg b/apps/web/public/images/branding/splash-such.svg index 23e2126..b66c0c0 100644 --- a/apps/web/public/images/branding/splash-such.svg +++ b/apps/web/public/images/branding/splash-such.svg @@ -1,18 +1 @@ - - - - - - - - - - - - - - - - - - + diff --git a/apps/web/public/manifest.json b/apps/web/public/manifest.json index 420903d..bcb4c5f 100644 --- a/apps/web/public/manifest.json +++ b/apps/web/public/manifest.json @@ -4,8 +4,8 @@ "description": "Next-generation web applications engineered for scale, compliance, and performance.", "start_url": "/", "display": "standalone", - "background_color": "#000000", - "theme_color": "#000000", + "background_color": "#0a0a0a", + "theme_color": "#0a0a0a", "icons": [ { "src": "/images/branding/favicon_light.svg", @@ -13,9 +13,20 @@ "purpose": "any" }, { - "src": "/images/branding/favicon_light.png", + "src": "/images/branding/icon-192.png", "sizes": "192x192", "type": "image/png" + }, + { + "src": "/images/branding/icon-512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "/images/branding/maskable-512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" } ] } diff --git a/apps/web/src/app/apps/page.tsx b/apps/web/src/app/apps/page.tsx index d4ff8b1..9bc2848 100644 --- a/apps/web/src/app/apps/page.tsx +++ b/apps/web/src/app/apps/page.tsx @@ -115,18 +115,8 @@ export default function LinksPage() {
- - + +
diff --git a/apps/web/src/app/blog/page.tsx b/apps/web/src/app/blog/page.tsx index c2114e4..30dbfb8 100644 --- a/apps/web/src/app/blog/page.tsx +++ b/apps/web/src/app/blog/page.tsx @@ -30,18 +30,8 @@ export default function BlogPage() { {/* Animated accent */}
- - + +
{posts.length === 0 ? ( diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index 2645aca..8864565 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -58,7 +58,7 @@ const structuredData = { "@type": "Organization", name: "Such Software LLC", url: "https://such.software", - logo: "https://such.software/images/branding/clean_dark_w_text.svg", + logo: "https://such.software/images/branding/icon-512.png", description: "E-commerce infrastructure, custom app development, and accessible web applications. Engineered for scale, compliance, and performance.", address: { "@type": "PostalAddress", diff --git a/apps/web/src/app/products/page.tsx b/apps/web/src/app/products/page.tsx index 07e2eda..3b26d1a 100644 --- a/apps/web/src/app/products/page.tsx +++ b/apps/web/src/app/products/page.tsx @@ -159,18 +159,8 @@ export default function ProductsPage() {
- - + +
diff --git a/apps/web/src/components/landing/hero-splash.tsx b/apps/web/src/components/landing/hero-splash.tsx index 160150e..80b4c06 100644 --- a/apps/web/src/components/landing/hero-splash.tsx +++ b/apps/web/src/components/landing/hero-splash.tsx @@ -3,7 +3,7 @@ import Link from "next/link"; import { ChevronDown, LayoutGrid, Smartphone, Wrench, Info } from "lucide-react"; import { useEffect, useRef, useState } from "react"; -import { SPLASH_LOGO_SRC } from "./splash-logo-data"; +import { SPLASH_LOGO_SRC_DARK, SPLASH_LOGO_SRC_LIGHT } from "./splash-logo-data"; const navButtons = [ { label: "Portfolio", href: "/products", Icon: LayoutGrid, corner: "left-4 top-6 sm:left-6 sm:top-24 lg:left-8 lg:top-32" }, @@ -179,10 +179,17 @@ export function HeroSplash({ onEnter, sectionRef, leaving }: { onEnter: () => vo {/* Data URI (no network request) so the logo paints with FCP; it is the mobile LCP element. */} Such Software + diff --git a/apps/web/src/components/landing/splash-logo-data.ts b/apps/web/src/components/landing/splash-logo-data.ts index 68626e0..3a6f733 100644 --- a/apps/web/src/components/landing/splash-logo-data.ts +++ b/apps/web/src/components/landing/splash-logo-data.ts @@ -1,6 +1,11 @@ -// AUTO-GENERATED from public/images/branding/splash-such.svg. -// Inlined as a data URI so the splash logo (the homepage LCP element) needs no -// network request and paints with first contentful paint. Regenerate if the -// mark changes. -export const SPLASH_LOGO_SRC = - "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20200%20200%22%20role%3D%22img%22%20aria-label%3D%22Such%20Software%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22splash-glow%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22160%25%22%20height%3D%22160%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%221.6%22%20result%3D%22b%22%2F%3E%3CfeMerge%3E%3CfeMergeNode%20in%3D%22b%22%2F%3E%3CfeMergeNode%20in%3D%22SourceGraphic%22%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Crect%20x%3D%2214%22%20y%3D%2214%22%20width%3D%22172%22%20height%3D%22172%22%20rx%3D%2216%22%20fill%3D%22none%22%20stroke%3D%22%2322d3ee%22%20stroke-width%3D%223.5%22%20filter%3D%22url%28%23splash-glow%29%22%20opacity%3D%220.45%22%2F%3E%3Cg%20fill%3D%22none%22%20stroke-width%3D%2214%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M%2078%2C36%20H%2036%20V%2058%20H%2078%20V%2082%20H%2036%22%20stroke%3D%22%2335c98e%22%2F%3E%3Cpath%20d%3D%22m%20118%2C36%20v%2034%20c%200%2C12.15%209.85%2C14%2022%2C14%2012.15%2C0%2022%2C-1.85%2022%2C-14%20V%2036%22%20stroke%3D%22%23e8689e%22%2F%3E%3Cpath%20d%3D%22M%2078%2C118%20H%2036%20V%20164%20H%2078%22%20stroke%3D%22%234aade0%22%2F%3E%3Cpath%20d%3D%22M%20118%2C118%20V%20164%20M%20162%2C118%20V%20164%20M%20118%2C141%20H%20162%22%20stroke%3D%22%2345c99e%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"; +// AUTO-GENERATED from packs/such-software/pack.json (such-graphics). +// Inlined as data URIs so the splash logo (the homepage LCP element) needs no +// network request and paints with first contentful paint. Two theme variants: +// the pack's dark hues are the light hues lifted for contrast on near-black, +// so each ground gets the palette that was tuned for it. Regenerate from the +// pack if the mark changes; public/images/branding/splash-such.svg mirrors +// the dark variant for anything that hotlinks it. +export const SPLASH_LOGO_SRC_DARK = + "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20200%20200%22%20role%3D%22img%22%20aria-label%3D%22Such%20Software%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22splash-glow%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22160%25%22%20height%3D%22160%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%221.6%22%20result%3D%22b%22%2F%3E%3CfeMerge%3E%3CfeMergeNode%20in%3D%22b%22%2F%3E%3CfeMergeNode%20in%3D%22SourceGraphic%22%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Crect%20x%3D%2214%22%20y%3D%2214%22%20width%3D%22172%22%20height%3D%22172%22%20rx%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%2345c99e%22%20stroke-width%3D%223.5%22%20filter%3D%22url%28%23splash-glow%29%22%20opacity%3D%220.45%22%2F%3E%3Cg%20fill%3D%22none%22%20stroke-width%3D%2214%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M%2078%2C36%20H%2036%20V%2058%20H%2078%20V%2082%20H%2036%22%20stroke%3D%22%2335925c%22%20transform%3D%22translate%283%2C0%29%22%2F%3E%3Cpath%20d%3D%22m%20118%2C36%20v%2034%20c%200%2C12.15%209.85%2C13%2022%2C13%2012.15%2C0%2022%2C-3.1%2022%2C-13%20V%2036%22%20stroke%3D%22%23e8689e%22%20transform%3D%22translate%28-3%2C0%29%22%2F%3E%3Cpath%20d%3D%22M%2078%2C118%20H%2036%20V%20164%20H%2078%22%20stroke%3D%22%234aade0%22%20transform%3D%22translate%283%2C0%29%22%2F%3E%3Cpath%20d%3D%22M%20118%2C118%20V%20164%20M%20162%2C118%20V%20164%20M%20118%2C141%20H%20162%22%20stroke%3D%22%233ad4c6%22%20transform%3D%22translate%28-3%2C0%29%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"; +export const SPLASH_LOGO_SRC_LIGHT = + "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20200%20200%22%20role%3D%22img%22%20aria-label%3D%22Such%20Software%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22splash-glow%22%20x%3D%22-30%25%22%20y%3D%22-30%25%22%20width%3D%22160%25%22%20height%3D%22160%25%22%3E%3CfeGaussianBlur%20stdDeviation%3D%221.6%22%20result%3D%22b%22%2F%3E%3CfeMerge%3E%3CfeMergeNode%20in%3D%22b%22%2F%3E%3CfeMergeNode%20in%3D%22SourceGraphic%22%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Crect%20x%3D%2214%22%20y%3D%2214%22%20width%3D%22172%22%20height%3D%22172%22%20rx%3D%2212%22%20fill%3D%22none%22%20stroke%3D%22%231a5c38%22%20stroke-width%3D%223.5%22%20filter%3D%22url%28%23splash-glow%29%22%20opacity%3D%220.45%22%2F%3E%3Cg%20fill%3D%22none%22%20stroke-width%3D%2214%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M%2078%2C36%20H%2036%20V%2058%20H%2078%20V%2082%20H%2036%22%20stroke%3D%22%231a5c38%22%20transform%3D%22translate%283%2C0%29%22%2F%3E%3Cpath%20d%3D%22m%20118%2C36%20v%2034%20c%200%2C12.15%209.85%2C13%2022%2C13%2012.15%2C0%2022%2C-3.1%2022%2C-13%20V%2036%22%20stroke%3D%22%23b83670%22%20transform%3D%22translate%28-3%2C0%29%22%2F%3E%3Cpath%20d%3D%22M%2078%2C118%20H%2036%20V%20164%20H%2078%22%20stroke%3D%22%23176a92%22%20transform%3D%22translate%283%2C0%29%22%2F%3E%3Cpath%20d%3D%22M%20118%2C118%20V%20164%20M%20162%2C118%20V%20164%20M%20118%2C141%20H%20162%22%20stroke%3D%22%2312857e%22%20transform%3D%22translate%28-3%2C0%29%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E"; diff --git a/apps/web/src/components/seo/json-ld.tsx b/apps/web/src/components/seo/json-ld.tsx index 42c43cc..59ae0ef 100644 --- a/apps/web/src/components/seo/json-ld.tsx +++ b/apps/web/src/components/seo/json-ld.tsx @@ -99,7 +99,7 @@ export function articleLd(opts: { title: string; description: string; slug: stri publisher: { "@type": "Organization", name: "Such Software", - logo: { "@type": "ImageObject", url: `${SITE}/images/branding/clean_dark_w_text.svg` }, + logo: { "@type": "ImageObject", url: `${SITE}/images/branding/icon-512.png` }, }, }; }