@pawklubs.live
Champion parade warm-up
A scroll-snapped hero clip for event recaps, finalist spotlights, or creator-led story feeds.
A reusable visual foundation for `pawklubs.com`, built with Tailwind tokens and shared React primitives so marketing, contests, and account flows all speak the same language.
Core intent
Friendly enough for proud pet parents, polished enough to feel like a club, and structured enough that new features can ship without inventing visual rules each time.
Creamy neutrals, teal leadership, and apricot highlights make the brand feel alive without drifting into generic startup blues.
Fraunces carries display moments while Plus Jakarta Sans handles interface density, giving pages more personality with good readability.
Rounded surfaces, subtle lift shadows, and short hover travel keep the interface friendly while still feeling polished and intentional.
Tokens
Primary
oklch(0.58 0.13 188)
Primary actions, navigation accents, and active states.
Accent
oklch(0.77 0.13 50)
Moments of celebration, highlights, and premium CTA contrast.
Surface
oklch(0.967 0.016 90)
Raised panels, informational strips, and softer neutral sections.
Foreground
oklch(0.255 0.034 250)
Primary copy, icons, and anchors for layout hierarchy.
Display
Celebrate every champion
Body
Interface copy stays legible and airy, with enough warmth in the typography to feel branded even inside dense product surfaces like forms, lists, and metadata blocks.
Components
Buttons carry the main hierarchy, while badges label status in a consistent uppercase treatment.
Rounded inputs sit on quiet surfaces and use a narrow uppercase label style for a cleaner form rhythm.
Stored as a local `datetime-local` field and displayed in `dd/mm/yyyy HH:mm`.
Formatted: 16/04/2026 14:35
Filter chips and segmented controls help contest, directory, and profile views stay interactive without falling back to custom one-off button groups.
Filter chips
Segmented control
Breadcrumb
Use this when a plain textarea needs a little more structure around actions and helper copy.
Support both lightweight discussion threads and moderation notes.
Ayla Moreno
@aylapaws
Curator pick2m ago
Metric cards and empty states round out the interface pieces used by richer product surfaces like contests and account dashboards.
Entries
Approved gallery submissions.
Voting window
Closes on Sunday at midnight.
Contest state
Use this state for galleries, leaderboards, or any surface that needs a welcoming empty moment before real content arrives.
Submission
Submission flow
A reusable scaffold for creator, moderator, or editorial submission flows. Pair it with the existing media picker, date input, and rich field set to build full submission experiences.
Details
Use this section for title, summary, scheduled publish timing, and any high-signal metadata that should be completed first.
Use this for moderation queues or scheduled publishing.
Formatted: 16/04/2026 14:35
Media
Swap in the mobile-first picker for phone flows or keep the desktop upload box for heavier editorial workflows.
This example supports attaching multiple images and videos together for a single submission.
Preview
Checklist
Title and summary added
Give reviewers enough context to approve quickly.
At least one image or video attached
Mixed image and video attachments are supported in the same submission.
Publish time selected
Useful for scheduling or staged releases.
Review
Publish date
Media attached
This summary card is useful in sticky sidebars, approval drawers, or final review steps before a submission is published.
Media
Use this for contest highlights, featured member clips, or editorial media where a plain browser video element feels too raw against the rest of the interface.
Weekend winners recap
Rounded corners, soft framing, and a subtle media badge help embedded video feel native to the rest of the club interface.
A classic 9:16 portrait player for featured clips, creator reels, or contest shorts.
Reel standard
A classic 9:16 portrait player for featured clips, creator reels, or contest shorts.
A slightly tighter portrait crop that feels at home in story trays or profile highlights.
Story card
A slightly tighter portrait crop that feels at home in story trays or profile highlights.
A taller card variation for spotlighted interviews, narrated updates, or premium member stories.
Editorial portrait
A taller card variation for spotlighted interviews, narrated updates, or premium member stories.
Feed media
Use this when a page needs immersive, one-clip-at-a-time browsing instead of a grid or carousel. The dominant in-view item auto-plays while the rest pause.
Scroll autoplay feed
The feed advances clip-by-clip instead of relying on default continuous scrolling. Use swipe, wheel, or arrow keys while the feed is focused.
A narrower portrait feed works well for featured reels, member spotlights, or sidecar media columns where the browsing pattern should stay immersive but take up less width.
Scroll autoplay feed
The feed advances clip-by-clip instead of relying on default continuous scrolling. Use swipe, wheel, or arrow keys while the feed is focused.
Carousel
Each card supports optional imagery, an optional action button, and a four-line description clamp to keep the row tidy as content lengths vary.
The same primitive also works without media, which makes it useful for editorial lists, membership perks, and short updates.
Uploads
The upload box is designed as a reusable form field for contests, profile setup, or content submission flows. It handles local file selection, drag state, and selected file previews without assuming a specific upload backend.
Invite users to drag in a hero photo, video clip, or supporting document.
This demo stores selected files in local component state only.
Built for
Contest submission forms, pet gallery editors, document uploads, and any flow where the site needs a styled drop area before wiring in real storage.
Behavior
Click to browse, drag files over the surface, preview selected files, and clear or remove them individually while keeping native form compatibility.
Current demo
No files staged yet.
Mobile media
This component is tuned for phones: it opens a media action sheet, separates photo and video choices, and still shows selected previews back in the form.
Use this for mobile-first onboarding, entry submission, or chat attachment flows.
Photo and video actions open as explicit sheet options so users are not dropped into a generic file browser first.
Usage notes
Reach for semantic tokens first
Prefer `bg-primary`, `bg-surface`, and `text-muted-foreground` over one-off Tailwind color scales inside product UI.
Reuse primitives for flow screens
Buttons, badges, cards, inputs, and dialogs are already wired to the tokens, so new pages inherit the system by default.
Keep the visual rhythm soft
Rounded corners, restrained shadows, and short hover motion are part of the brand language and should stay consistent.