Commit Graph

44 Commits

Author SHA1 Message Date
null a8765990ef mobile ui fixes 2026-05-18 13:45:39 -05:00
null de61d5e625 fix(ui): UI fixes across header, contact, home, about, support, services, industries (#132 #133 #134 #154 #165 #172 #173) 2026-05-18 13:12:18 -05:00
null 928527b908 fix: remove all email addresses from site, redesign contact page, update footer, about, header, support (#165 #172 #134 #173) 2026-05-18 12:11:56 -05:00
null 990139b77f fix(ui): remove duplicate trust section (#173), enlarge logo and add home link (#154) 2026-05-18 09:44:44 -05:00
null d8a975431f fix(ui): dropdown hover gap fix (#132) and remove contact form button (#133) 2026-05-18 09:35:29 -05:00
null aec33165b9 chore: bump version to 0.7.1, fix Home.jsx aria-label text fragment (batch 10.3) 2026-05-17 22:48:57 -05:00
null e1604ee28f fix: add aria-labels for accessibility, fix JSX template literal syntax (#101) (batch 10.2) 2026-05-17 22:47:03 -05:00
null 9c1b6e4753 fix: optimize images to WebP (95% reduction), add form loading spinners (#97 #130) (batch 10.1) 2026-05-17 22:35:55 -05:00
null 2c002c2f82 fix: remove React Query, add HTTPS redirect, document CSP Zoho note (#128 #127 #129) (batch 10.0) 2026-05-17 22:33:11 -05:00
null 829362fb79 fix: Cisco/Veteran icons, sidebar slug, JointLogo placeholder, Footer copy (#98 #100 #103 #107) (batch 9.8) 2026-05-17 22:05:08 -05:00
null 6e975b869b fix: favicon/manifest, og:image PNG, logo optimized to 44KB PNG (#99 #117 #118) (batch 9.7) 2026-05-17 22:01:27 -05:00
null 53e2873fd4 fix: honeypot spam protection, 409 conflict handling (#119 #126) (batch 9.5) 2026-05-17 21:51:53 -05:00
null 00f5356db4 fix: Support CTA bg color, clickable phone/email, Footer tel: +1 (#112 #106 #90) (batch 9.4) 2026-05-17 21:48:27 -05:00
null 8adb9cdb76 fix: desktop dropdown nav, Button→Link, Contact scroll-to-form (#109 #102 #105) (batch 9.3) 2026-05-17 21:44:48 -05:00
null a5d9d142d5 fix: 8x8 logo visibility, industry icons, service cards, icon fallback (#91 #94 #125 #92 #93) (batch 9.2) 2026-05-17 21:41:01 -05:00
null bdef2684bb fix: header CTA visibility, scroll-to-top, 404 page (#104 #89 #88) (batch 9.1) 2026-05-17 21:37:42 -05:00
null 770941752f feat: add ZohoDesk signup/signin CTA to Support page (batch 8.7, issue #84) 2026-05-17 20:55:03 -05:00
null 2f58e93c43 feat: add 8x8 certification details to homepage trust card (batch 8.6, issue #83) 2026-05-17 20:54:16 -05:00
null 123329b03e feat: add free migration offer CTA section to homepage (batch 8.5, issue #82) 2026-05-17 20:51:16 -05:00
null 4fe31ed9b6 fix: correct contact info and remove unverified location claims (batch 8.9)
- Phone: (906) 482-6616 → (321) 730-8020 direct, (888) 656-2850 toll-free
- Add toll-free number to Footer and Contact page
- Add LinkedIn link to footer
- Add 8x8 trademark disclaimer to footer legal section
- Fix JSON-LD phone numbers in Home.jsx
- Add support phone to Support page
- Strip all Houghton, MI and Upper Peninsula location references
  from meta tags, JSON-LD, and fallback descriptions
  (not present on original site, unverified)
- Change JSON-LD areaServed from Houghton/UP to United States
- Update Support.jsx Zoho Desk link placeholder
2026-05-17 20:44:18 -05:00
null 1b0d5adc36 feat(seo): add react-helmet-async, per-page meta/OG tags, JSON-LD, sitemap, robots.txt, heading fixes (#71)
- Added react-helmet-async + HelmetProvider to main.jsx
- Per-page Helmet components on all 8 pages (title, description, OG tags)
- JSON-LD structured data (Organization, LocalBusiness, Service)
- Created public/sitemap.xml with all 17 routes
- Created public/robots.txt
- Fixed heading hierarchy (no h1->h3 skips)
- Improved image alt text throughout
- Fixed docs/zoho-setup.md env defaults clarification
2026-05-17 20:03:42 -05:00
null 1437b2af07 fix: 10 bug fixes from code review (batch 0.6.5)
- #63: Fix industry.href undefined → use industry.id for navigation
- #50: Fix sanitized scope error in catch block (let before try)
- #58: Footer.jsx: convert all internal <a href> to <Link to>
- #61: Textarea.jsx: fix className interpolation (quotes → backticks)
- #59: About.jsx: convert CTA <a href> to <Link to>
- #60: Support.jsx: convert Contact button <a href> to <Link to>
- #62: Badge.jsx: text-foreground → text-text
- #64: Support.jsx: hover:bg-navy-darker → hover:bg-primary-navy-dark
- #65: Server: move timeoutMiddleware before catch-all routes
- #66: Contact.jsx: convert self-referencing <a href> to <Link to>
2026-05-17 18:03:55 -05:00
null 9cdc299ade fix: undefined Tailwind classes, SPA navigation, phone/email links (closes #51, #52)
- Replace all undefined shadcn/ui Tailwind classes with correct config values
  (text-muted-foreground→text-muted, text-card-foreground→text-text,
   bg-secondary→bg-section-alt, ring-ring→ring-primary-navy, etc.)
- Replace text-cyan/bg-cyan with text-primary-cyan/bg-primary-cyan
- Convert all internal <a href> to React Router <Link to> for SPA navigation
- Remove self-referencing /contact button on Contact page
- Add tel: links for phone numbers, mailto: links for emails in
  Contact.jsx and Support.jsx hero badges and info sections
- Fix Header.jsx mobile menu button hover:text-cyan→hover:text-primary-cyan (batch 0.6.3)
2026-05-17 17:42:03 -05:00
null b5170caf9d refactor: full-bleed section backgrounds with centered content (closes #48) 2026-05-17 17:11:29 -05:00
null 5d67149a51 feat: add JointLogoWhite trust bar + selective service detail images (closes #48) 2026-05-17 17:01:08 -05:00
null 32a2b905a1 fix: add missing CardDescription component and import (batch 0.6.2) 2026-05-17 16:39:54 -05:00
null 56bdf07216 fix: close issues #12 #15 #17 #18 — CSP nonce, API retry, input debounce, caching verified (batch 0.6.1) 2026-05-17 16:10:10 -05:00
null e11aefd184 fix: audit issues #10 #14 #16 #19 — CORS errors, JSON middleware, Zoho fields, noValidate (batch 0.6.8) 2026-05-17 15:46:59 -05:00
null 80969e5aee feat: merge 8x8 page into UCaaS/CCaaS service pages, remove standalone route (batch 0.6.6) 2026-05-17 15:44:27 -05:00
null 4845c7ab5f feat(ui): industry icons bigger with color and contrast (batch 0.6.5) 2026-05-17 15:41:22 -05:00
null 5807582df1 feat: hero left-alignment + about section content fixes (batches 0.6.3, 0.6.4)
- Hero text left-aligned on all screen sizes (Issue #33)
- Hero image always visible, grid breakpoint md instead of lg
- Spacing refactored from margin to gap utils
- About: veteran-founded framing, mission paragraph (Issue #34)
- About: vendor-neutral consulting in expertise (Issue #36)
- About: image sizing max-h-96 object-cover (Issue #37)
- Version bump 0.5.6 → 0.5.7
2026-05-17 15:33:30 -05:00
null eb76e1fadc feat(cisco): add Cisco partnership signals across site (batch 0.6.2) 2026-05-17 15:28:12 -05:00
null 71c8129046 feat(ui): footer + contact improvements, CTAs everywhere, gitignore update (batch 0.5.6)
- Footer: email, phone, Request Consultation CTA
- Home: CTA links added to Trust Signals, Services, Why Queue North
- Contact: hero CTA, prominent phone/email
- Support page updates
- Version bumped to 0.5.3
- FUTURE.md and HISTORY.md now tracked in git
- .gitignore updated to allow FUTURE.md and HISTORY.md
2026-05-17 15:07:28 -05:00
null a963dc4dcc feat(ui): why queue north section refinement (batch 0.5.5) 2026-05-17 14:56:10 -05:00
null 940cd94ba3 feat(services): business outcomes rewrite (batch 0.5.4)
- Section title: Our Services → What We Handle
- Subtitle: outcome-focused language
- Added homeDesc field to all 7 services in data/services.js
- Service cards now show icon + homeDesc + shortDesc
- lucide-react icons per service (MessageCircle, Users, etc)
- B2B professional card layout with icon containers
- Service detail pages unchanged
2026-05-17 14:49:01 -05:00
null 7c145bc8ca fix(security): Hudson remediation + batch 0.5.3 trust signals
- Clean up docker-entrypoint per Hudson review (issue #4):
  - Remove chmod 777 → chown nodejs:nodejs
  - Remove hardcoded su-exec, add root-detection logic
  - Entry point unused but now safe if re-enabled
- Batch 0.5.3: Trust signals section (Scarlett)
  - 8x8 Certified Partner card (cert #25432)
  - Veteran Owned card (VCERT #12847)
  - 25+ Years Experience metric
  - 99.99% uptime, <15m response, 24/7 support, 100% satisfaction
  - Mobile-first, B2B professional tone
2026-05-17 14:45:55 -05:00
null 7d476f36e8 fix(security): audit fixes #4 #6 #10 + hero rewrite (batch 0.5.2)
- #4: Replace su-exec with USER nodejs in Dockerfile (P0)
- #6: Add UNIQUE constraint on leads.email with migration (P1)
- #10: Consistent NULL handling for optional fields (P1)
- Hero section rewrite: B2B value proposition, prominent 8x8 badge
- Clean up .bak file left by agent
2026-05-17 14:44:34 -05:00
null 851759ae5e fix: P0 owner feedback — contact info, phone, support redirect (#25, #26, #27)
- Remove fake info@queuenorth.com, replace with contact form callout (fixes #25)
- Add phone (906) 482-6616 to Contact, Support, and Footer (fixes #26)
- Add Zoho support center link to Support page (fixes #27)
2026-05-17 14:35:29 -05:00
null c4985e37bc feat: Phase 5 SPA fixes, mobile menu, assets, and redesign planning
- Fix BrowserRouter → RouterProvider (routes were disconnected)
- Strip TS generics from .jsx files (Card, Badge, Dialog, Input, Textarea)
- Fix useToast import from sonner (Contact, Support)
- Merge mobile Sheet into Header (DialogTrigger outside Dialog)
- Add SPA catch-all route for client-side navigation
- Add CSP style-src for Google Fonts
- Copy all image assets to public/ (were 404)
- Replace placeholder logo with real Queue North logo
- Fix SheetContent positional CSS + install tailwindcss-animate
- Add visually hidden SheetTitle for accessibility
- Update README and FUTURE.md with Phase 5 redesign batches
- Add review.md (redesign assessment, exempt from git)
2026-05-13 22:07:35 -05:00
null 931c9a9095 feat: client-side form validation + Sonner feedback (v0.4.4) 2026-05-13 18:10:04 -05:00
null 87203bcded fix: consolidate legacy CSS, fix dynamic routes, convert anchors to Link components
- Remove duplicate App.css, consolidate into index.css as single Tailwind entry point
- Move maxWidth.container to tailwind.config.js theme extension
- Update App.jsx import from ./App.css to ./index.css
- Fix router.jsx to use dynamic :slug routes for services and industries
- Fix ServiceDetail.jsx and IndustryDetail.jsx to use useParams()
- Convert Header.jsx and MobileNav.jsx <a> tags to React Router <Link> components
- Add scripts/docker-test.sh for persistence verification
- Add project-requirements.md
2026-05-13 00:29:45 -05:00
null f03229dd50 feat: Phase 3 Batch 4 — inner pages layout system with consistent hero/card/CTA pattern (v0.3.4) 2026-05-12 02:45:25 -05:00
null 76aa71691f feat: Phase 3 Batch 2 — home page redesign with hero, trust bar, services, CTA (v0.3.2) 2026-05-12 02:31:23 -05:00
null b7f7765a72 feat: complete phase 1 foundation 2026-05-12 01:04:17 -05:00