Skip to content

Migrate site to Next.js#1

Open
diantekyrie wants to merge 18 commits into
mainfrom
feat/typescript-migration
Open

Migrate site to Next.js#1
diantekyrie wants to merge 18 commits into
mainfrom
feat/typescript-migration

Conversation

@diantekyrie

Copy link
Copy Markdown
Owner

Replaces Vite build with Next.js 14 App Router static export for GitHub Pages.

diantekyrie and others added 2 commits July 21, 2026 00:51
Refactor inline CSS/JS into src/styles and src/scripts TypeScript modules, add Vite multi-page build config, update GitHub Pages workflow to build and deploy from dist/, sync front-end to preview.html and contact.html source files.

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- Replace Vite/TypeScript setup with Next.js 14 App Router
- Convert index.html + contact.html to React/TSX components
- Add globals.css preserving all original design tokens and styles
- Add Nav client component with mobile menu and scroll highlighting
- Configure next.config.js for static export (output: 'export')
- Move images to public/ for Next.js asset serving
- Update GitHub Actions workflow artifact path from dist to out
- Set metadataBase to testopseng.com for OG/Twitter image resolution

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@vercel

vercel Bot commented Jul 21, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
test-ops-engineering Ready Ready Preview, Comment Jul 23, 2026 6:42am

- Add vercel.json with explicit outputDirectory pointing to out/
- Remove trailingSlash: true so contact page exports as out/contact.html
  instead of out/contact/index.html, enabling clean /contact routing
  on both Vercel and GitHub Pages

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- Replace contact page custom header with shared Nav component
  so logo, size, and navigation are identical on all pages
- Add TrustCarousel component: infinite CSS marquee with Clearbit
  logos for Google Pixel, Meta, Apple, Samsung, Hulu, Bank of America,
  Gap, and Avid Technology
- Logos rendered white/dim on dark background with hover brightening
- Fade mask on carousel edges for clean entry/exit

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
diantekyrie and others added 3 commits July 21, 2026 01:29
- Store all 8 company logos locally in public/logos/ as SVGs
  (Google, Meta, Apple, Samsung, Bank of America from simple-icons;
  Hulu, Gap, Avid as hand-crafted SVG wordmarks)
- Carousel cards: logo centered above, company name below
- CSS brightness/invert filter renders logos as white on dark bg
- Logo+name brighten on card hover; animation pauses on hover
- Edge fade mask via CSS mask-image for clean entry/exit
- Each card uniform width with border-right dividers

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- Move next/font classNames to <html> so CSS vars resolve in :root
- Download real SVGs: Google (Wikimedia multicolor), Meta, Apple, Samsung,
  Hulu, Bank of America (worldvectorlogo), Avid (worldvectorlogo)
- Craft accurate Gap SVG (white GAP on navy #002868 — matches brand)
- Hover: filter transitions from grayscale+brightness to full color (0.35s)
- Rename 'Google · Pixel' to 'Google' in carousel

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- Download correct Gap logo from Wikimedia (commons/6/69/Gap_logo.svg)
- Replace Avid worldvectorlogo gray (#7a7d82) with brand purple (#7B2FBE)
- Increase logo height 36px -> 44px, max-width 90px -> 110px (helps Samsung)
- Remove company name labels from carousel cards (logo-only layout)
- Tighten card padding now that names are gone

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
diantekyrie and others added 2 commits July 21, 2026 01:58
- Download actual Avid logo image matching current purple brand identity
- Switch carousel from avid.svg to avid.png
- Remove outdated avid.svg and test file

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- Add Viewport export (device-width, initialScale 1, maximumScale 5)
- Fix nav-inner padding not reducing on small screens (was stuck at 2.5rem)
- Fix mobile-menu padding to scale down on small screens
- Add overflow-x: auto to .t-body so terminal scrolls on narrow screens
- Fix case-stats: row at 900px, column at 560px (was never returning to col)
- Stack footer links vertically on mobile
- iOS Safari zoom fix: form inputs/selects/textarea set to font-size 16px
- Full-width hero + CTA buttons on mobile for easier tap targets
- Reduce card padding (for-card, svc, plan, ai-banner, case) at 560px
- Scale carousel cards down at 560px and 400px
- Add 400px breakpoint for iPhone SE / Galaxy S series:
  h1 28px, tighter carousel, smaller terminal font, smaller section titles
- Reduce all intra-section padding progressively across breakpoints

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- overflow-x: hidden on body is a known iOS Safari bug that creates gaps
- Replaced with overflow-x: clip on html (no scroll container side-effects)
- Added background: var(--bg) to html so overscroll area matches page color

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- Use usePathname() to detect current page
- On non-home pages, prefix #section hrefs with '/' (e.g. /#for)
  so clicking them navigates home and scrolls to the right section
- On contact page, swap 'Contact' CTA to 'Home' so users can always escape
- Scroll highlight and scroll listener only run on home page

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
- sitemap.ts generates /sitemap.xml with canonical URLs for / and /contact
- robots.ts generates /robots.txt pointing crawlers to the sitemap
- Both reference testopseng.com as the authoritative domain
- Helps Google resolve 'Alternate page with proper canonical tag' by
  clearly declaring which URLs should be indexed

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant