Implement SocialCal v0 design system with purple theme and bottom nav - #37
Open
kmondlane wants to merge 11 commits into
Open
Implement SocialCal v0 design system with purple theme and bottom nav#37kmondlane wants to merge 11 commits into
kmondlane wants to merge 11 commits into
Conversation
added 11 commits
May 30, 2026 09:19
…th restyle - static/css/style.css: purple design system (tokens, cards, buttons, bottom nav, calendar strip, onboarding/auth/discover components) layered on Bootstrap 5.3 - base.html: link design system, purple navbar, persistent bottom nav (Calendar/Discover/Profile) for authenticated users - onboarding/welcome.html & calendar_app/month.html: adopt design-system classes - tests/usability: Selenium StaticLiveServerTestCase suite (skips without a browser) - core/tests/__init__.py: make core.tests a proper package
- events/views.py: import crawl4ai/ical scrapers lazily at call sites so the app boots without the heavy optional scraper deps (CI behavior unchanged) - onboarding event_types/complete/calendar_sync/social_connect: adopt the shared design-system card layout, drop per-template inline <style> blocks
Apply the v0 'Discover' surface: page title, card-based event grid, and purple action buttons. Preserves the webcal subscribe link and all event content/search assertions covered by tests.
Replace bare element reads with WebDriverWait conditions and wait for URL changes after navigation, eliminating render/navigation races. All five e2e flows (bottom nav, calendar strip, event detail, onboarding, profile) pass.
Pin TIME_ZONE='UTC' via override_settings so the date the view extracts from start_time matches the UTC date the test derives, and assert the event that actually falls on that day. Previously failed depending on the wall-clock date (pre-existing failure, reproducible on the base commit).
- events (form/import/delete) and profiles (list/edit/calendar) and core (privacy/terms): consistent sc-page-title headers + container/card wrappers so every page matches the v0 purple design (they already inherit the theme via style.css token overrides) - CI: expose Playwright's Chromium to Selenium via CHROME_BIN so the tests/usability/ e2e suite runs for real (still skips cleanly if absent)
…flakes - page_load_strategy='eager' so driver.get() returns on DOMContentLoaded instead of blocking on the external Spotify SDK script in <head> - WebDriverWait 15s->30s for slow CI runners - @pytest.mark.flaky(reruns=2) so a transient slow load is retried, not failed Verified: 5 passed (exit 0) against real Chromium.
The filesystem (DIRS) template loader runs before APP_DIRS, so these app-level
copies were never rendered and had drifted to stale, unstyled markup. Delete
the 6 true duplicates (events/{event_detail,form}, onboarding/{welcome,
event_types,social_connect,calendar_sync}); keep google_calendar_permissions
which only exists at the app level. Suite remains 406 passed, 13 skipped.
…bug tests - Add calendar_app/__init__.py + api/__init__.py so their test modules import under proper package names; this frees the bare 'tests' top-level name and fixes the pytest collection collision with tests/usability/ - events/views.py: replace the (unpatchable) inline lazy import with a module-level async scrape_crawl4ai_events() wrapper that imports crawl4ai lazily — keeps the app bootable without the heavy dep AND restores the patch target the import tests rely on - core/urls.py: always register the self-guarding debug_error route so it is reversible regardless of DEBUG (view still only raises in DEBUG) - core/tests/test_error_handling.py: fix never-running test (missing override_settings import + client fixture); now exercises both modes - pytest.ini: register the 'flaky' marker (pytest-rerunfailures) to silence the unknown-mark warning Suite: 135 passed, 5 skipped (usability suite skips w/o a browser), 0 failures.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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
This PR implements the complete SocialCal v0 design system, introducing a cohesive purple-themed mobile-app style interface with a persistent bottom navigation bar, redesigned onboarding flow, and updated authentication pages. The design is layered on Bootstrap 5.3 + Bootstrap Icons with white rounded cards, soft shadows, and a lavender onboarding backdrop.
Key Changes
Design System & Styling
static/css/style.css: Comprehensive 400+ line design system implementing:#6c2bd9, dark#5a23b6, soft variants)Navigation & Layout
has-bottom-navclass adds 84px bottom padding to prevent content overlapbase.html: Integrated new stylesheet, added bottom nav component, conditional body classesOnboarding Flow Redesign
sc-onboardingbody class applies gradient background (#f3e8ffto#faf5ff)welcome.html,event_types.html,calendar_sync.html,social_connect.html,complete.htmlbi-starsfor event types,bi-peoplefor social)Authentication Pages
.sc-auth-wrapperand.sc-auth-cardclasses: Consistent 460px centered card layout for login/signup/logoutlogin.html,signup.html,logout.html: Refactored from Bootstrap grid to new auth card patternCalendar & Event Views
calendar-monthclass for event pills.sc-page-titleclass to major headings across templatesTesting & Quality
tests/usability/test_design_flows.py: Selenium-based end-to-end usability testsrun_checks.sh: Consolidated gate script mirroring CI checks (flake8, Django checks, pytest)pytest.ini: Added flaky marker definitionCode Cleanup
crawl4aiscraper reference inevents/views.py)onboarding/templates/(consolidated totemplates/onboarding/)events/templates/events/event_detail.htmlandevents/templates/events/form.htmlcore/tests/test_error_handling.pyCI/CD Updates
CHROME_BINenvironment variableNotable Implementation Details
--sc-*custom properties for maintainability and theminghttps://claude.ai/code/session_01KaMJLiLS6mBhM7DVC5AsXd