Home redesign / rebrand — plan + design assets (mirrors droidconKE) - #24
Draft
manuelgeek wants to merge 54 commits into
Draft
Home redesign / rebrand — plan + design assets (mirrors droidconKE)#24manuelgeek wants to merge 54 commits into
manuelgeek wants to merge 54 commits into
Conversation
Mirrors the droidconKE rebrand: adds the landing-page redesign plan (docs/design/REDESIGN-PLAN.md), the new-design image assets, and layout-reference mockups. Same design/layout/font (Rauschen B) as droidconKE — only the color palette differs (pending fluttercon Figma export). Licensed font files kept out of the public repo via .gitignore. Refs #23 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4 tasks
Font self-hosting (Rauschen B woff2 via @font-face) is tracked separately so this PR stays docs/assets-only. Refs #25 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The licensed font now lives in droidconKE/private-fonts and is injected at build time; removed the reference to the local zip archive. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Mirrors droidconKE. The brand display font is licensed and must not live in this public repo. A prebuild step (scripts/fetch-font.sh) fetches the woff2 from the private droidconKE/private-fonts repo into gitignored public/fonts/, then it's loaded via @font-face and exposed as --font-display / .font-display. Auth resolves FONT_REPO_TOKEN (env or .env) -> `gh auth token`, and falls back to the CSS font stack so builds without access still succeed. Refs #25 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Point --font-family and --font-slab at Rauschen B so the whole site adopts the brand font; Montserrat remains the fallback when the licensed file isn't present (no font access at build). Note: only the Book weight is available, so bold headings are faux-bolded until the Bold/Black cut is sourced from the brand kit. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
All redesign sub-PRs target feat/home-redesign-plan (not dev); that branch merges to dev once the full redesign is approved. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts: # .gitignore
Give devs who don't know the private repo exists the context: it's optional (falls back to Montserrat), and the PAT only needs Contents: Read-only on droidconKE/private-fonts. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Inject licensed Rauschen B brand font at build time
… #F73EDE) Add the Flutter Figma variable exports (moved from droidcon repo) and document the full blue/magenta ramps in the redesign plan. Distinct from droidcon's green; neutrals/dark-mode inferred from the mockups. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Remap the Tailwind palette to the fluttercon 2026 brand colors from the Figma export (primary #008BFF, accent #F73EDE), retiring amber. Existing token names are kept (remapped) so nothing breaks; per-component cleanup follows in later phases. Adds full blue/magenta ramps and rounded-card radii. Refs #23 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rebrand color tokens — flutter-blue primary + magenta accent
Copy the redesigned home/layout components, pages, globals and SVG icons from droidcon's phase-2. Colors auto-translate via the shared token system (primary=blue, secondary/accent=magenta) — flutter's tailwind tokens are untouched. Builds clean. Brand assets + content adaptation follows. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Banner/About/Organizers/Marquee/Footer: flutter content (3rd edition, Flutter Kenya partner, FlutterconKE copy), Mobile not Android, flutter socials + View Map location, flutter logo svg + flutter_icon mascot - NotificationsPrompt: distinct CTAs (Allow=primary, Block=outline) since secondary/accent are the same brand colour - Organizers: single partner, flutter-blue dot pattern, capitalized name, flutter gallery image - default.tsx: pt offset so the marquee clears the fixed navbar Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Was pinned to the top (absolute top-0 mt-3); now centered with top-1/2 -translate-y-1/2. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Wire the fetched organizers prop into Organizers (home + about) and render their logos in a bordered rounded-card grid (mirrors the sponsors design) below the Flutter Kenya partner card. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- SponsorsList: restore the "sponsor flutterconke" button; fcke not dcke - Ticket buttons (nav + banner): whitespace-nowrap so they stay one line - Past Events dropdown: w-max + whitespace-nowrap (was wrapping) - Organizer logo cards: square (aspect-square), sponsor-card style Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Match the sponsor card exactly — gradient border + white card with the clip-path notched corners — just smaller. Reverts the square version. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
p-5 -> p-3, logo max-h 10/14 -> 16/20. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Reduce padding/min-height on regular sponsor cards (p-6 -> p-4, min-h 120/160 -> 100/130); platinum (large) stays big. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Nav: consistent gap between Past Events and Get Ticket - SponsorsList: #flutterconke2026 eyebrow, plain flutterconke2026 headline - about: community partners are company-only (no individuals mixed in) - Footer: underline the "Code of Conduct" and "View Map location" links
Feat/phase 2 — homepage redesign (flutter)
Closes #28 - Drop Google OAuth + AuthContext providers and the axios Bearer interceptor - Delete Login, AuthContext, useStarSession and the API-backed StarIcon logic - Strip the token injection from every getServerSideProps - Remove @react-oauth/google and cookies-next deps - Reimplement session bookmarks + the My Sessions filter fully client-side via localStorage (no backend), scoped to the live sessions page
Remove login/auth; keep session bookmarks in localStorage
…background color in about page
…condary to primary
Feat/polish and propagate
…language Port the 2026 rebrand from the droidcon web app to the inner Fluttercon pages (magenta accent, blue primary), keeping all Fluttercon wording and data: - Sessions: header card, day-tab pills, rounded cards with pills + halftone dots, blue border / magenta hover, star bookmarks + My Sessions, filter drawer with click-outside + Escape - Session detail: gradient speaker block (duotone photo) + magenta session block; kept the og-image getServerSideProps - Speakers: header card + duotone speaker cards - Feedback: self-contained on-brand modal, route-aware - 404/error pages reworked - About: intro + magenta story card, organizing-team duotone cards (dropped the fluttercon-about-bg.svg — it baked a white background that broke dark theme) - Sponsors: hero + gradient stats card (baked stats image replaced with editable stat cards), magenta CTA card - Past-events moved onto the shared sessions shell
Redesign sessions, speakers, session detail, about & sponsors
- Rename the toggle dot/line classes per component (theme-toggle, ms-toggle, save-toggle) so the nav ThemeToggle no longer inherits the SessionToggles / SaveSession styles on sessions/detail pages (fixes the misaligned toggle) - Wrap the whole session card (grid + list) in the session link; star stops propagation so bookmarking doesn't navigate; service sessions stay inert - Add a real hover lift (-translate-y) that reads in dark mode too
Add `isolation: isolate` to the accent cards that layer content with z-10 over an absolute background (SessionDetails, about story card, sponsors CTA, home EventTypes). Without it their inner z-10 tied with the nav's z-10 and painted over it on scroll.
…g stack The site prompted every first-time visitor for notification permission, but no push notifications are ever sent. Remove the modal along with the rest of the dead stack: the FCM topic-subscription API route, the Firebase app init, the background-message service worker, the NOTIFICATIONS constant and its now-empty module, the modal artwork, the firebase dependency, and the unused NEXT_PUBLIC_FIREBASE_* and NEXT_PUBLIC_MESSAGING_TOPIC entries in .env.example. react-toastify stays; SessionFeedback still uses it. Closes #33
Remove the unused push notification prompt and Firebase messaging stack
Feat/fix navbar issue
Port the revised landing page from droidconKE, with flutter branding and copy: - Hero: "Beyond Stacks" as live gradient text on the flutter ramp over the Spline cube, shortened subtitle - Event Types becomes "2026 Conf. Essentials" with the "More Stacks. All Mobile." strip - New "Conf. Highlights" section (Beyond the Sessions, Developer Days) - Sponsors: platinum, gold, then the rest ordered silver/bronze/snack, centre-biased when few - Community Partners reduced to the accent card; footer rebuilt on the KICC halftone and the fluttercon wordmark Comment out the CFP entry points rather than deleting them — both return next year. Regenerate every app icon and favicon from fcke-square, point og:image and twitter:image at fcke-cover, and move the PWA chrome off the pre-rebrand palette to #008BFF. Drop 3.6 MB of assets the redesign no longer references.
Revised landing page, brand icons and social preview
…irst Fluttercon' FlutterconKE is no longer the first Fluttercon in Africa, so the claim is stale. Match droidconKE's positioning instead. Both title strings were also out of step with each other — 'FlutterconKe - The First Fluttercon' in the layout versus 'FlutterconKE - First Fluttercon' in the document head — so this aligns the wording and the brand casing. The document-head string also feeds og:title and twitter:title, so social cards pick it up. Keeps the FlutterconKE prefix rather than copying droidconKE's title verbatim: identical titles on two domains compete in search.
Site title reads 'Largest Mobile Developers' Conference', not 'First Fluttercon'
The port inherited droidcon's palette in several places. Against the flutter frames: - Dark backgrounds were inconsistent: the `dark` token was still the pre-rebrand #20201E, so sections using dark:bg-dark rendered charcoal next to the pure-black ones. Now #000000, matching droidconKE. - About stats panel and the Developer Days card invert between themes — black with magenta figures in light, magenta with black/white in dark. - Beyond the Sessions heading is white, not the accent colour. - Past events header is a magenta card with a white heading, not blue with an accent heading. - Community Partners heading is black, not blue. - Conf. Essentials icons recoloured from droidcon green to #F73EDE. - Sponsor tier dividers used border-green-500, but this repo has no green ramp, so it silently fell back to Tailwind's default green. Now border-accent. The green in the frames is a design glitch. - Stat cards had a vertical divider that the design does not have. Adds magenta halftones for the robots and astronauts, and a pink KICC for the dark-mode footer. Those three files now differ from droidconKE and must not be copied between repos.
Flutter landing page colours to match the revised design
feat: update wording for Fluttercon Kenya details and enhance clarity
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.
Summary
Adds the planning docs and design assets for the home redesign / rebrand, mirroring the droidconKE work. Same design, layout, and Rauschen B display font — only the color palette differs (fluttercon gets its own Figma variables export). No app code changes yet.
What's included
docs/design/REDESIGN-PLAN.md— design-language changes, gap analysis, phased build order, decisions, blockerspublic/images/new-design/— Flutter-blue logo SVGs + mascot, headline, halftone, icon, and skyline assetsdocs/design/{light,dark,combined-half}.png— layout-reference mockups (shared droidcon renders)Not included (intentionally)
docs/design/*.zip). Fonts self-hosted during Phase 0.Status
Draft — pending the fluttercon Figma variables export (color tokens) before Phase 0.
Refs #23 · Parent: droidconKE/droidconKE2022Web#123
🤖 Generated with Claude Code