Skip to content

fix: dashboard & inner app pages UI cleanup (closes #118)#155

Closed
prasanna-0806 wants to merge 34 commits into
patchid:fix/ui-tweaksfrom
prasanna-0806:fix/issue-118-dashboard-ui-cleanup
Closed

fix: dashboard & inner app pages UI cleanup (closes #118)#155
prasanna-0806 wants to merge 34 commits into
patchid:fix/ui-tweaksfrom
prasanna-0806:fix/issue-118-dashboard-ui-cleanup

Conversation

@prasanna-0806

Copy link
Copy Markdown
Collaborator

Part of #116

🎯 Summary

Focused UI cleanup pass across all inner app pages — spacing, typography, dark mode, and mobile layout. No redesigns, no data fetching changes.


✅ Spacing

  • Section padding consistent — all pages now use py-8py-12 for section padding. Removed arbitrary mt-5, px-3 usages across /events/[id], /submit-project, /blog
  • Card padding consistent — all cards use p-6. Fixed /blog cards which were using p-5
  • Form fields consistent gap — label → input → helper text uses gap-4 / space-y-2 consistently across /onboard, /profile, /submit-project

✅ Typography

  • <h1> consistent — all inner app pages use text-3xl font-bold for page headings (/dashboard, /profile, /onboard, /blog/[slug])
  • Body text 16px minimum — removed sub-16px body copy. text-xs / text-sm now only used on labels, helper text, and metadata (author, date)
  • Muted text consistent — replaced arbitrary text-gray-400, text-gray-500, opacity classes with text-muted-foreground token across all pages

✅ Mobile layout (375px)

  • /dashboard KPI cardsgrid md:grid-cols-2 lg:grid-cols-3 collapses to single column cleanly at 375px
image image
  • /submit-project form — submit button changed to w-full md:w-auto, form inputs full-width, no clipping at 375px
image image image
  • /events/[id] detail card — date and location changed from single rigid flex row to flex-wrap with separate <span> elements. CTAs full-width at mobile
image image image image image image
  • /blog/[slug] articlemax-w-2xl px-4 container readable at 375px. Like button and comment form accessible on narrow screens
image image

✅ Dark mode

  • No white-on-white or black-on-black — fixed:
    • /onboard form card was solid white in dark mode → dark:bg-zinc-900 with dark text throughout
    • /dashboard, /events, /blog/[slug] headings using text-brand-blue (hardcoded navy) now have dark:text-white
    • /events "Upcoming Events" count was navy-on-dark (invisible) → added dark:text-white
image image image image
  • Card borders visible in dark mode — replaced border-0 with border border-border on:
    • /events — stat cards, upcoming event cards, past event cards, empty state card, CTA card
    • /dashboard — action cards, GitHub integration card, getting started section
    • /blog — blog list cards
    • Screenshots from above

Other changes

  • Replaced all /raccoon.png references with /landing/logo.png site-wide: /blog, /blog/[slug], /dashboard, /onboard, /footer, /auth/login, /auth/sign-up, /docs, /learn, /not-found

📝 Notes for reviewers

Blog image migration — any existing Supabase blogs records with the old raccoon image should be updated:

UPDATE blogs SET image = '/landing/logo.png' WHERE image = '/raccoon.png';

public.profiles table — the dashboard layout guard introduced in #145 queries public.profiles (with id and is_onboarded columns). This table must exist in Supabase for /dashboard to load correctly.


✅ Acceptance criteria

  • All in-scope pages visually consistent at desktop (1280px) and mobile (375px)
  • Dark mode verified on all pages — screenshots attached
  • No body text below 16px
  • npm run build passes with no type errors
  • Screenshots attached

Closes #118

basanth-p and others added 30 commits May 27, 2026 16:43
- Updated package name from "func-kode" to "site" in package.json and package-lock.json.
- Added "posthog-js" dependency to package.json and package-lock.json.
- Modified .gitignore to include .env.example.
- Updated TypeScript configuration for JSX and added new paths.
- Integrated PostHogProvider in Providers component and added tracking for GitHub login attempts in LoginForm component.
… client

- Updated `createClient` to `createClientComponentClient` in various components for better integration with Supabase.
- Simplified the `OnboardButton` and `OnboardProfileForm` components to enhance user experience during onboarding.
- Removed deprecated environment variable references and improved error handling in the onboarding process.
- Cleaned up the `CONTRIBUTING.md` file by removing outdated links and instructions.
- Adjusted TypeScript configuration to align with Next.js standards.
- Replaced direct PostHog calls with a new analytics tracking system in `SignUpForm` for `SIGNUP_ATTEMPTED` and `SIGNUP_FAILED`.
- Updated `PostHogProvider` to remove unnecessary environment checks for analytics.
- Added new analytics event constants for sign-up actions in `events.ts`.
- Documented new events in the analytics documentation.
- Replaced `createClientComponentClient` with `createClient` across various components for improved Supabase integration.
- Added new analytics events for dashboard interactions, including `DASHBOARD_VIEWED` and `DASHBOARD_ACTION_CLICKED`.
- Updated `.env.example` to clarify PostHog host options for EU and US regions.
- Improved error handling and path sanitization in the authentication callback logic.
Resolve conflicts in dashboard layout (profiles admin check from dev)
and .env.example (combine local Supabase vars with PostHog docs).
- Replaced `createMiddlewareClient` with `createServerClient` for improved session handling.
- Enhanced cookie management by implementing custom `getAll` and `setAll` methods.
- Updated session retrieval to use `getUser` instead of `getSession` for better user context.
- Moved the `getAuthorName` function to a dedicated location for better readability and maintainability.
- Updated `OnboardButton` to use a ref for the Supabase client, improving performance.
- Enhanced `OnboardProfileForm` with analytics tracking for onboarding events.
- Improved PostHog initialization logic in `PostHogProvider` to prevent redundant initializations.
- Added cookie management functions in middleware to handle Supabase auth cookies more effectively.
Resolve conflicts in auth callback route and package-lock.json.
…ice role key; refactor DashboardLayout to use server Supabase client directly.
- Added error tracking for onboarding failures in OnboardProfileForm.
- Updated PostHogProvider to ensure proper user identity synchronization and initialization.
- Improved session validation in submit-project page to redirect unauthenticated users.
- Documented new analytics events for onboarding failures and errors in analytics.md.
- Enhanced middleware to handle Supabase user retrieval errors more effectively.
…e client usage in profile API; enhance error handling in DashboardLayout for profile fetching; add profiles table with RLS policies in schema.sql.
…g-109-110

Update project configuration and dependencies
…e-service-role

Fix/supabase service role
fix: sync package-lock.json with package.json (add yaml@2.9.0)
prasanna-0806 and others added 4 commits June 11, 2026 20:51
Untrack backup.sql, db_cluster backup, components.zip, scratch scripts,
and unused logo variants accidentally included in previous commit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.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.

3 participants