Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
123 commits
Select commit Hold shift + click to select a range
499f192
Merge pull request #1 from uncleeai/claude/claude-md-docs-66ys0z
uncleeai Jun 21, 2026
1917bf8
Use native share sheet on iOS for event link
claude Jun 21, 2026
0ca3f2a
Add quick time-slot presets
claude Jun 21, 2026
e886c0d
Merge pull request #3 from uncleeai/claude/supabase-mcp-setup-f4tinw
uncleeai Jun 21, 2026
b4cdea4
Fix vote flicker on rapid clicks
claude Jun 21, 2026
cb119aa
Polish iOS: PNG icons, dark controls, status bar, touch targets
claude Jun 21, 2026
0880d48
Redesign: clean minimal dark theme
claude Jun 21, 2026
a984442
Merge pull request #4 from uncleeai/claude/supabase-mcp-setup-f4tinw
uncleeai Jun 21, 2026
ee6db72
Redesign layout: iOS-style grouped lists and hierarchy
claude Jun 22, 2026
2c535f7
Hybrid redesign: iOS base with rich accents + avatar picker
claude Jun 22, 2026
31e5bd2
Profile photo upload + cleaner dashboard top
claude Jun 22, 2026
bcb4571
Profile modal with nick editing
claude Jun 22, 2026
942b482
Liquid Glass styling on dashboard
claude Jun 22, 2026
7e1a730
Add glossy top-edge shimmer and stronger float shadow to glass cards
claude Jun 22, 2026
f72431f
Docs: require code in Confirm signup email template too
claude Jun 22, 2026
c249b8f
Replace blob background with soft aurora mesh + grain
claude Jun 22, 2026
827a903
Fix aurora: off-screen color washes instead of corner orbs
claude Jun 22, 2026
2c22641
Background: real northern-lights aurora curtains
claude Jun 22, 2026
f6143e0
Tune aurora: visible motion, dimmer, centered placement
claude Jun 22, 2026
ab54ee1
Add preview-only dev quick login (bypass email OTP)
claude Jun 22, 2026
5c28861
Replace dev login with one-click guest (anonymous) login
claude Jun 22, 2026
9157ca7
Show guest login on all *.vercel.app hosts
claude Jun 22, 2026
0aa7a11
Perf: drop per-frame blur on scrolling cards (smoother scroll)
claude Jun 22, 2026
68d2967
Add beveled edges + corner glints to glass (less flat)
claude Jun 22, 2026
799e6aa
Restore card blur; calmer, side-weighted aurora
claude Jun 22, 2026
7cb1a0a
Add edge refraction to glass cards; nudge aurora up
claude Jun 22, 2026
f0e7e07
Refine aurora palette; let cards pick up aurora color
claude Jun 22, 2026
b908b6f
Merge pull request #6 from uncleeai/claude/supabase-mcp-setup-f4tinw
uncleeai Jun 23, 2026
871a37b
style: premium glassmorphic design, morphing card, animations and fixes
uncleeai Jun 24, 2026
fe4e08c
Wyłącz zaznaczanie tekstu i callout przy long-press na karcie wypadu
claude Jun 24, 2026
afb1152
Nie podkreślaj tekstu karty wypadu na hover
claude Jun 24, 2026
2ea8f53
Napraw zakrywanie nagłówka wypadu przez tło (z-index)
claude Jun 24, 2026
5fb33a5
Skróć listę niegłosujących w pill 'Czekamy na' (pokaż 5 + resztę zbio…
claude Jun 24, 2026
92829e9
Przeprojektuj nagłówek wypadu: spójny blok statusu, data w nagłówku, …
claude Jun 24, 2026
e30efc1
Usuń zbędny opis pod 'Proponowane terminy'
claude Jun 24, 2026
8f3e888
Usuń 'Głosujesz jako' i dodaj placeholder do pól daty (pusty box na iOS)
claude Jun 24, 2026
524a316
Napraw layout pola daty i pozwól usuwać ustalony termin
claude Jun 24, 2026
dbb2f81
Wyśrodkuj tekst pola daty i ukryj natywną ikonę kalendarza
claude Jun 24, 2026
1bc8cb4
Zmień terminologię na styl 'kto wchodzi' (kierunek A)
claude Jun 24, 2026
9e1db4f
Losuj docinek przy każdym wejściu + kaskadowa animacja formularza now…
claude Jun 24, 2026
e419563
Napraw crash strony wypadu: hook useMemo wołany warunkowo po wczesnym…
claude Jun 24, 2026
dce93f0
Napraw kwadratowy róg karty formularza nowego wypadu
claude Jun 24, 2026
61a7aac
Dodaj kierunkowe przejścia między stronami (iOS slide)
claude Jun 24, 2026
048cb3e
Przejścia stron: ręczne startViewTransition zamiast eksperymentalnej …
claude Jun 24, 2026
84612a5
Optymalizacja wydajności tła i animacji (głównie iOS)
claude Jun 24, 2026
b2bd94b
Napraw tło po hoistcie: aurora znów za całą treścią, nie tylko pod pa…
claude Jun 24, 2026
83616a3
Perf: zdejmij backdrop-filter z powtarzanych kart listy wypadów
claude Jun 24, 2026
cd90cb4
Dodaj przełącznik animowanego tła w menu profilu
claude Jun 24, 2026
cb2df27
Płynniejsze rozwijanie formularza: karta bez backdrop-filter
claude Jun 24, 2026
591d61f
Przywróć szklany wygląd karty formularza nowego wypadu
claude Jun 24, 2026
9ce501e
Cache danych: natychmiastowe otwieranie wypadów (dane z dashboardu)
claude Jun 24, 2026
58f2f4b
Pełna szerokość przycisku 'Utwórz wypad' (był sizowany do treści)
claude Jun 25, 2026
08d3a67
Zamień wideo tła na animowany gradient aurora (CSS)
claude Jun 25, 2026
50dcc33
Tło: wielowarstwowy gradient z blend-mode, animowany samoistnie
claude Jun 25, 2026
f6e2d48
Tło: mocniejszy blur, przyciemnienie, ruch przez translate/scale
claude Jun 25, 2026
fc8cec6
Dopasuj ekran logowania do designu + tło wideo tylko tam
claude Jun 25, 2026
3b5f434
Zmień przejście stron na crossfade
claude Jun 25, 2026
03c3dbf
Zamień przejście stron na animację wejścia CSS (bez snapshotów)
claude Jun 25, 2026
13ce019
Reset scrolla przed nawigacją — usuwa przeskok/mignięcie czerni
claude Jun 25, 2026
f85d58a
Przywróć tło wideo i slide między stronami (stan z 9ce501e)
claude Jun 25, 2026
f816c1c
Powiadomienia o nowym wypadzie: Web Push + toast na żywo
claude Jun 25, 2026
a5828a3
Napraw toast „nowy wypad" (jedna subskrypcja events) + porządki
claude Jun 25, 2026
4baedb6
Opis wyjazdu + osobne menu ustawień obok avatara
claude Jun 26, 2026
4f8d814
Przypomnienia „nie dałeś znać" (cykliczny push, prosta wersja)
claude Jun 26, 2026
5d55295
Self-heal subskrypcji push przy logowaniu
claude Jun 26, 2026
a30292e
feat: block past dates for events and slots
uncleeai Jun 26, 2026
416b7bb
Update layout.tsx
uncleeai Jun 26, 2026
b759ef4
Przejście stron: animacja wejścia CSS zamiast View Transitions
claude Jun 26, 2026
d1d14fd
Wyrazistsze wejście strony: wjazd z prawej zamiast subtelnego unosu
claude Jun 26, 2026
7d9fbb3
Użyj overflow-x: clip zamiast hidden na .container
claude Jun 26, 2026
b1593c4
Ustalanie terminu: organizator ręcznie + automat „wszyscy dali znać" …
claude Jun 27, 2026
e15aa98
Sekcje: Odbyte + „Nie ustalono" z archiwizacją po 24h
claude Jun 27, 2026
c4b16e8
Merge: ustalanie terminu (A+B) + sekcje Odbyte/Nie ustalono
claude Jun 27, 2026
2aca4a1
Napraw centrowanie modali (profil/ustawienia) — portal do body
claude Jun 27, 2026
75fd0d4
chore: wymuś produkcyjny build z main HEAD
claude Jun 27, 2026
ad5b3ba
Napraw drżenie UI przy rozwijaniu formularza — animacja wejścia bez t…
claude Jun 27, 2026
9da5635
Dodaj eksport ustalonego terminu do kalendarza (.ics)
claude Jun 27, 2026
25b2d36
Ujednolić nazwę w PRODID pliku .ics na Wypad.exe
claude Jun 27, 2026
167b31d
Pokaż guzik kalendarza też przy nieustalonym terminie (do testów)
claude Jun 27, 2026
0b6a2c9
Eksport do kalendarza przez tapnięcie daty w nagłówku
claude Jun 27, 2026
2e74362
Zamień napis „+kalendarz" na ikonę kalendarza z plusem
claude Jun 27, 2026
cdd7d83
Edycja wypadu + uprawnienia admina (właściciela)
claude Jun 27, 2026
6eb6f7f
Ustaw właściwy e-mail admina (konto logowania do apki)
claude Jun 27, 2026
1349215
Edycja wypadu spod ikony ołówka przy nazwie
claude Jun 27, 2026
7daeaf2
Terminy całodniowe i zakresy dni (Od / Do / Godzina)
claude Jun 27, 2026
32cd9cf
Ubierz natywne pola daty/godziny w spójny styl inputów
claude Jun 27, 2026
58f2904
Zakres dni za checkboxem „Dłuższy wypad"; usuń label „Termin"
claude Jun 27, 2026
508120f
Toggle w stylu iOS dla „Dłuższy wypad"; mniej tekstu w polach
claude Jun 27, 2026
d4e0004
Dopracuj input terminu: toggle u góry, wyśrodkowane pola, jaśniejszy …
claude Jun 27, 2026
0369223
Ujednolić ekran „Twój profil" z logowaniem + README o środowiskach
claude Jun 28, 2026
2d269ad
Dashboard: „Jest termin" → „Ustalone"; usuń podpowiedź prowadzącego t…
claude Jun 28, 2026
401cb0e
Minione wypady: „Odbyte" → „Bylim już" + tryb podglądu (read-only)
claude Jun 28, 2026
0ccd381
Archiwizuj „Bylim już" tydzień po wypadzie
claude Jun 28, 2026
842ed5c
Komentarze pod wypadem (realtime)
claude Jun 28, 2026
2ed6247
Feed „Ostatnia aktywność" na dashboardzie (3 ostatnie komentarze)
claude Jun 28, 2026
e33ebe1
Feed jako pastylka liquid glass (przewijana + auto-rotacja)
claude Jun 28, 2026
dbbfc97
Płynniejsza pastylka aktywności (tor + transform) i kropki na środku
claude Jun 28, 2026
3597b5d
Napraw „teleport" pastylki przy szybkim swipie
claude Jun 28, 2026
639d405
Auto-rotacja pastylki nie koliduje z gestem
claude Jun 28, 2026
a1203b1
Ogranicz swipe pastylki do jednego slajdu na gest
claude Jun 28, 2026
2d2b500
Opór i cap na swipie pastylki — stała prędkość przejścia
claude Jun 28, 2026
070b452
Rubber-band na swipie pastylki zamiast twardego capa
claude Jun 28, 2026
eb96ff4
Kropki pozycji na prawej krawędzi pastylki (pionowo)
claude Jun 28, 2026
1ec67ea
Usuń kropki pozycji z pastylki aktywności
claude Jun 28, 2026
e3cc229
Pastylka: seed z cache (bez wyskakiwania) + naprawa podwójnego klika
claude Jun 28, 2026
9e89de3
Formatowanie opisu wypadu (markdown + pasek narzędzi)
claude Jun 28, 2026
a6e71e8
Merge pull request #8 from uncleeai/claude/app-core-functionality-1t8pge
uncleeai Jun 28, 2026
c43dc7e
Hero redesign: weather + location, premium glass UI, animated backgro…
uncleeai Jun 30, 2026
06a9999
Pause aurora background animation when tab is hidden
claude Jul 1, 2026
ba9cf83
Make aurora background fully static instead of pausing on hidden
claude Jul 1, 2026
2e562fe
Fix glass-bg not reaching bottom edge on iOS Safari
claude Jul 1, 2026
02f6ab3
Stop animating grid-template-rows on form-collapse close
claude Jul 1, 2026
1e23c79
Add visual weight to primary actions and voter avatars
claude Jul 1, 2026
cea0146
Tone down the blue CTA — tint instead of solid fill
claude Jul 1, 2026
10c499a
Tone down "Ustal ten termin" to match the tinted CTA style
claude Jul 1, 2026
330e868
Force body to fill the viewport to stop iOS's bottom safe-area strip
claude Jul 1, 2026
8fd80f1
Add touch-action: manipulation to fix missed/delayed taps
claude Jul 1, 2026
048ec42
Disable pinch/double-tap zoom — fixed app UI, not zoomable content
claude Jul 1, 2026
be2775f
Disable pull-to-refresh — realtime already keeps data fresh
claude Jul 1, 2026
c72a91b
Hide the scrollbar
claude Jul 1, 2026
577c7ed
Measure real viewport height in JS instead of relying on dvh alone
claude Jul 1, 2026
47aeca2
Fix aurora not reaching the bottom edge — real cause, not viewport si…
claude Jul 1, 2026
4852b54
Re-measure --app-vh a few times after mount, not just once
claude Jul 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
798 changes: 798 additions & 0 deletions .claude/skills/brandkit/SKILL.md

Large diffs are not rendered by default.

226 changes: 226 additions & 0 deletions .claude/skills/design-taste-frontend-v1/SKILL.md

Large diffs are not rendered by default.

1,206 changes: 1,206 additions & 0 deletions .claude/skills/design-taste-frontend/SKILL.md

Large diffs are not rendered by default.

49 changes: 49 additions & 0 deletions .claude/skills/full-output-enforcement/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
name: full-output-enforcement
description: Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.
---

# Full-Output Enforcement

## Baseline

Treat every task as production-critical. A partial output is a broken output. Do not optimize for brevity — optimize for completeness. If the user asks for a full file, deliver the full file. If the user asks for 5 components, deliver 5 components. No exceptions.

## Banned Output Patterns

The following patterns are hard failures. Never produce them:

**In code blocks:** `// ...`, `// rest of code`, `// implement here`, `// TODO`, `/* ... */`, `// similar to above`, `// continue pattern`, `// add more as needed`, bare `...` standing in for omitted code

**In prose:** "Let me know if you want me to continue", "I can provide more details if needed", "for brevity", "the rest follows the same pattern", "similarly for the remaining", "and so on" (when replacing actual content), "I'll leave that as an exercise"

**Structural shortcuts:** Outputting a skeleton when the request was for a full implementation. Showing the first and last section while skipping the middle. Replacing repeated logic with one example and a description. Describing what code should do instead of writing it.

## Execution Process

1. **Scope** — Read the full request. Count how many distinct deliverables are expected (files, functions, sections, answers). Lock that number.
2. **Build** — Generate every deliverable completely. No partial drafts, no "you can extend this later."
3. **Cross-check** — Before output, re-read the original request. Compare your deliverable count against the scope count. If anything is missing, add it before responding.

## Handling Long Outputs

When a response approaches the token limit:

- Do not compress remaining sections to squeeze them in.
- Do not skip ahead to a conclusion.
- Write at full quality up to a clean breakpoint (end of a function, end of a file, end of a section).
- End with:

```
[PAUSED — X of Y complete. Send "continue" to resume from: next section name]
```

On "continue", pick up exactly where you stopped. No recap, no repetition.

## Quick Check

Before finalizing any response, verify:
- No banned patterns from the list above appear anywhere in the output
- Every item the user requested is present and finished
- Code blocks contain actual runnable code, not descriptions of what code would do
- Nothing was shortened to save space
74 changes: 74 additions & 0 deletions .claude/skills/gpt-taste/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
name: gpt-taste
description: Elite UX/UI & Advanced GSAP Motion Engineer. Enforces Python-driven true randomization for layout variance, strict AIDA page structure, wide editorial typography (bans 6-line wraps), gapless bento grids, strict GSAP ScrollTriggers (pinning, stacking, scrubbing), inline micro-images, and massive section spacing.
---

# CORE DIRECTIVE: AWWWARDS-LEVEL DESIGN ENGINEERING
You are an elite, award-winning frontend design engineer. Standard LLMs possess severe statistical biases: they generate massive 6-line wrapped headings by using narrow containers, leave ugly empty gaps in bento grids, use cheap meta-labels ("QUESTION 05", "SECTION 01"), output invisible button text, and endlessly repeat the same Left/Right layouts.

Your goal is to aggressively break these defaults. Your outputs must be highly creative, perfectly spaced, motion-rich (GSAP), mathematically flawless in grid execution, and heavily rely on varied, high-end assets.

DO NOT USE EMOJIS IN YOUR CODE, COMMENTS, OR OUTPUT. Maintain strictly professional formatting.

## 1. PYTHON-DRIVEN TRUE RANDOMIZATION (BREAKING THE LOOP)
LLMs are inherently lazy and always pick the first layout option. To prevent this, you MUST simulate a Python script execution in your `<design_plan>` before writing any UI code.
Use a deterministic seed (e.g., character count of the user prompt modulo math) to simulate `random.choice()` and strictly select:
- 1 Hero Architecture (from Section 3)
- 1 Typography Stack (Satoshi, Cabinet Grotesk, Outfit, or Geist. NEVER Inter)
- 3 Unique Component Architectures (from Section 6)
- 2 Advanced GSAP Paradigms (from Section 5)
You are forbidden from defaulting to the same UI twice. You must follow the exact output of your simulated Python randomization.

## 2. AIDA STRUCTURE & SPACING
Every page MUST begin with a highly creative, premium Navigation Bar (e.g., floating glass pill, or minimal split nav).
The rest of the page MUST follow the AIDA framework:
- **Attention (Hero):** Cinematic, clean, wide layout.
- **Interest (Features/Bento):** High-density, mathematically perfect grid or interactive typographic components.
- **Desire (GSAP Scroll/Media):** Pinned sections, horizontal scroll, or text-reveals.
- **Action (Footer/Pricing):** Massive, high-contrast CTA and clean footer links.
**SPACING RULE:** Add huge vertical padding between all major sections (e.g., `py-32 md:py-48`). Sections must feel like distinct, cinematic chapters. Do not cramp elements together.

## 3. HERO ARCHITECTURE & THE 2-LINE IRON RULE
The Hero must breathe. It must NOT be a narrow, 6-line text wall.
- **The Container Width Fix:** You MUST use ultra-wide containers for the H1 (e.g., `max-w-5xl`, `max-w-6xl`, `w-full`). Allow the words to flow horizontally.
- **The Line Limit:** The H1 MUST NEVER exceed 2 to 3 lines. 4, 5, or 6 lines is a catastrophic failure. Make the font size smaller (`clamp(3rem, 5vw, 5.5rem)`) and the container wider to ensure this.
- **Hero Layout Options (Randomly Assigned via Python):**
1. *Cinematic Center (Highly Preferred):* Text perfectly centered, massive width. Below the text, exactly two high-contrast CTAs. Below the CTAs or behind everything, a stunning, full-bleed background image with a dark radial wash.
2. *Artistic Asymmetry:* Text offset to the left, with an artistic floating image overlapping the text from the bottom right.
3. *Editorial Split:* Text left, image right, but with massive negative space.
- **Button Contrast:** Buttons must be perfectly legible. Dark background = white text. Light background = dark text. Invisible text is a failure.
- **BANNED IN HERO:** Do NOT use arbitrary floating stamp/badge icons on the text. Do NOT use pill-tags under the hero. Do NOT place raw data/stats in the hero.

## 4. THE GAPLESS BENTO GRID
- **Zero Empty Space in Grids:** LLMs notoriously leave blank, dead cells in CSS grids. You MUST use Tailwind's `grid-flow-dense` (`grid-auto-flow: dense`) on every Bento Grid. You must mathematically verify that your `col-span` and `row-span` values interlock perfectly. No grid shall have a missing corner or empty void.
- **Card Restraint:** Do not use too many cards. 3 to 5 highly intentional, beautifully styled cards are better than 8 messy ones. Fill them with a mix of large imagery, dense typography, or CSS effects.

## 5. ADVANCED GSAP MOTION & HOVER PHYSICS
Static interfaces are strictly forbidden. You must write real GSAP (`@gsap/react`, `ScrollTrigger`).
- **Hover Physics:** Every clickable card and image must react. Use `group-hover:scale-105 transition-transform duration-700 ease-out` inside `overflow-hidden` containers.
- **Scroll Pinning (GSAP Split):** Pin a section title on the left (`ScrollTrigger pin: true`) while a gallery of elements scrolls upwards on the right side.
- **Image Scale & Fade Scroll:** Images must start small (`scale: 0.8`). As they scroll into view, they grow to `scale: 1.0`. As they scroll out of view, they smoothly darken and fade out (`opacity: 0.2`).
- **Scrubbing Text Reveals:** Opacity of central paragraph words starts at 0.1 and scrubs to 1.0 sequentially as the user scrolls.
- **Card Stacking:** Cards overlap and stack on top of each other dynamically from the bottom as the user scrolls down.

## 6. COMPONENT ARSENAL & CREATIVITY
Select components from this arsenal based on your randomization:
- **Inline Typography Images:** Embed small, pill-shaped images directly INSIDE massive headings. Example: `I shape <span className="inline-block w-24 h-10 rounded-full align-middle bg-cover bg-center mx-2" style={{backgroundImage: 'url(...)'}}></span> digital spaces.`
- **Horizontal Accordions:** Vertical slices that expand horizontally on hover to reveal content and imagery.
- **Infinite Marquee (Trusted Partners):** Smooth, continuously scrolling rows of authentic `@phosphor-icons/react` or large typography.
- **Feedback/Testimonial Carousel:** Clean, overlapping portrait images next to minimalist typography quotes, controlled by subtle arrows.

## 7. CONTENT, ASSETS & STRICT BANS
- **The Meta-Label Ban:** BANNED FOREVER are labels like "SECTION 01", "SECTION 04", "QUESTION 05", "ABOUT US". Remove them entirely. They look cheap and unprofessional.
- **Image Context & Style:** Use `https://picsum.photos/seed/{keyword}/1920/1080` and match the keyword to the vibe. Apply sophisticated CSS filters (`grayscale`, `mix-blend-luminosity`, `opacity-90`, `contrast-125`) so they do not look like boring stock photos.
- **Creative Backgrounds:** Inject subtle, professional ambient design. Use deep radial blurs, grainy mesh gradients, or shifting dark overlays. Avoid flat, boring colors.
- **Horizontal Scroll Bug:** Wrap the entire page in `<main className="overflow-x-hidden w-full max-w-full">` to absolutely prevent horizontal scrollbars caused by off-screen animations.

## 8. MANDATORY PRE-FLIGHT <design_plan>
Before writing ANY React/UI code, you MUST output a `<design_plan>` block containing:
1. **Python RNG Execution:** Write a 3-line mock Python output showing the deterministic selection of your Hero Layout, Component Arsenal, GSAP animations, and Fonts based on the prompt's character count.
2. **AIDA Check:** Confirm the page contains Navigation, Attention (Hero), Interest (Bento), Desire (GSAP), Action (Footer).
3. **Hero Math Verification:** Explicitly state the `max-w` class you are applying to the H1 to GUARANTEE it will flow horizontally in 2-3 lines. Confirm NO stamp icons or spam tags exist.
4. **Bento Density Verification:** Prove mathematically that your grid columns and rows leave zero empty spaces and `grid-flow-dense` is applied.
5. **Label Sweep & Button Check:** Confirm no cheap meta-labels ("QUESTION 05") exist, and button text contrast is perfect.
Only output the UI code after this rigorous verification is complete.
Loading