Fix: Audit on the website (Bugs, Performance, Quality, etc...) - #8
Merged
Conversation
Adds a fixed banner above the navbar that counts down to the September 17 event and links to cm.pycon.org. It disappears once the countdown reaches zero and the page layout shifts to avoid any overlap. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
--primary, --secondary, --muted, and --accent used comma-separated HSL values (e.g. 166, 95%, 29%) instead of the space-separated shadcn convention. Tailwind's hsl(var(--x) / <alpha>) syntax requires the space form, so with commas the resulting hsl(166, 95%, 29% / .1) was invalid CSS and silently dropped — breaking every bg-primary/xx, border-primary/xx, and gradient utility across the site.
The CSS variables held HSL triples (166, 95%, 29% / 50, 96%, 59%), which is invalid inside rgba(...), silently killing every inline glow/box-shadow/gradient built from them (Hero, Team, FAQ, Sponsors, Newsletter, About, Applications, Statistics, HowItWorks, Services). Recomputed the precise RGB equivalents and fixed Statistics.tsx's stray hsl(var(--primary-rgb)) usage to match the rgba(...) pattern used everywhere else. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Newsletter form promised subscriptions that never actually sent anywhere (setTimeout + console.log). Hide the section until a real backend is decided, and remove its now-dead nav link. Hero CTAs also pointed at broken/removed anchors: - "Explore Python" (#About) now links to python.org - Secondary CTA (#newsletter) is now a "Contact Us" mailto link to organizers@pythoncameroon.org
Add AUDIT.md documenting the frontend audit findings. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The switcher toggled state and localStorage but never changed any visible text, misleading users in a French-speaking country. i18n provider/setup left in place for the future full i18n implementation. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…Menu onClick Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- P1: framer-motion en LazyMotion strict (composants m.*), manualChunks react/motion/i18n -> JS 590,9 -> 533,6 kB min (189,2 -> 174,0 kB gzip) - P2: suppression des ~93 animations repeat: Infinity (particules retirees, blobs/gradients statiques), useInView once: true partout ; HeroNetwork pause hors ecran/onglet cache, 28 noeuds sur mobile - P3: 6 images Applications en WebP 800px locales + loading lazy, favicon.svg 428 kB supprime, flag-cameroon.webp 264 -> 117 kB - P4: MotionConfig reducedMotion=user + media query prefers-reduced-motion (CSS et canvas) - P5: activeSection navbar via IntersectionObserver, listeners scroll passifs (Navbar, ScrollToTop) - P6: fonts auto-hebergees @fontsource (sous-ensembles latins uniquement), liens Google Fonts retires Corrige au passage 3 warnings React preexistants (div dans p, AnimatePresence sans cles dans Hero). package-lock inclut un refresh de versions issu d'un npm install anterieur. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ontrastes) - A1: Applications - description + tech stack visibles par defaut (plus d'overlay hover-only); Sponsors - "Visit" declenche aussi au focus clavier - A2: FAQ - accordion Radix (ui/accordion) a la place du bouton fait main, aria-expanded/aria-controls et clavier fournis, style conserve - A3: sr-only "Open menu" enfant direct du SheetTrigger, icone aria-hidden - A4: deja traite avec P2 (flou anime des titres supprime) - A5: un seul h1 (hero fusionne), Newsletter h3->h2, compteurs Statistics h2->div; --secondary clair 59%->32% et hero to-[#B8860B] en clair (AA texte large); --muted clair remis en gris neutre; PyConBanner 9px->11px Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ges par overflow-hidden et le contexte d'empilement, ils inondaient l'interieur au survol et rendaient le titre illisible (visible en dark); rotation 360 remplacee par un fondu/scale maintenant qu'ils sont derriere la carte Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…es, robots.txt, sitemap, JSON-LD Organization, favicons/manifest/og-image dans public/ Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Q1: composants de section partages (GlowBackground, SectionHeader, TitleGradient) dans src/components/section/, appliques a toutes les sections (About, Sponsors, HowItWorks, Services, Applications, Team, Newsletter, FAQ, Footer, Navbar, Statistics) - Q2: code mort supprime (Features, HeroCards, ui/avatar, ui/badge, ~9,5 Mo de PNG inutilises, theme commente d'App.css, .shadow) - Q3: plugin-react-swc en devDeps, doublon plugin-react supprime, i18next-browser-languagedetector et radix react-avatar retires - Q4: index.css = Tailwind + theme / App.css = utilitaires (convention), components.json corrige, donnees Sponsors/FAQ/Applications/Footer centralisees dans src/data/ + types, Team ajoute au routeList - Q5: setActiveCard jamais lu supprime, m.section imbrique du Hero en m.div; bonus: lint a 0 warning (useCallback language.tsx + override react-refresh pour shadcn/providers) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…e par lettre L'animation caractere par caractere (AnimatedCharacter/SplitTextAnimation + stagger par mot) est supprimee. Chaque ligne du titre glisse desormais depuis le bas derriere un masque overflow-hidden (0,5 s, decalees de 0,25 s), le reste du bloc entre en simple fondu. Variante choisie parmi 4 prototypees (fondu simple, fondu + glissement, revelation par ligne, fondu + zoom). Degrades de couleur conserves. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…e GitHub, "Join Python Cameroon" redirige vers le groupe WhatsApp Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… regeneres - Remplace les wordmarks light/dark.svg par logo.png (source) + logo-nav.webp (80px, ~4kB, charge par la navbar) - LogoIcon: une seule variante, le texte "Python Cameroon" herite de la couleur du theme - Favicons regeneres depuis la nouvelle source: favicon.ico (16/32/48), favicon-96x96, apple-touch-icon (fond blanc), manifest 192/512 (fond blanc + marge, purpose maskable) - og-image.png non touche (contient encore l'ancien logo) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Visit the preview URL for this PR (updated for commit 476b415): https://python-cameroon--pr8-fix-audit-frontend-7nk8vsld.web.app (expires Sat, 22 Aug 2026 00:59:33 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 Sign: 6e7a4246deab054fa48a836ee820b158eab2848b |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.