Skip to content

Phone app: crisper buttons and one switch everywhere - #10

Draft
EmotiveImpact wants to merge 11 commits into
mainfrom
claude/mobile-app-build-nhob8r
Draft

EmotiveImpact wants to merge 11 commits into
mainfrom
claude/mobile-app-build-nhob8r

Conversation

@EmotiveImpact

Copy link
Copy Markdown
Owner

Before: the buttons matched the prototype but read a little flat, with a muddy dark ring round the coloured ones and a wide blue haze underneath. A disabled or loading button was a faded, translucent blue. The app had three different switches, two of them the platform default.

After: every button has a crisp lit edge, a soft gloss, a fine white glint along the top where the light catches it, and a tight glow. A disabled primary goes grey and flat; a loading one keeps its colour. One shared switch is used across the app, and the tabs, icon buttons and pills share the same finish.

Only shared pieces in apps/mobile/src/components/ui change, so every screen picks the look up without screen edits. The battle screens are untouched.

How

  • GlowButton.jsx: each variant gets a gradient edge, gloss, glint and a tighter glow; a grey disabled look; ActFill exports the primary's lit blue as a fill.
  • Toggle.jsx (new): recessed track, act-blue fill with a glow, a white thumb that springs across and stretches while held. The account, Outside and Move toggles now use it.
  • index.jsx: the Segment track is recessed with an ActFill thumb; IconButton and Pill get the edge treatment. The account MiniSegment uses ActFill too.
  • components/lush/ControlsDemo.jsx: every control on a new Buttons tab of /lush and at the top of /kit.
  • FINISH.md updated.

Checks: tsc --noEmit clean, jest --ci 133 passing.


Generated by Claude Code

Every GlowButton variant now has a gradient edge bright along the top, a soft
gloss, a crisp white glint where the light catches the top edge, and a tight
coloured glow in place of the wide blue haze. A disabled primary or stop goes
grey and flat; a loading one keeps its colour.

A new shared Toggle replaces the three different switches (account, Outside
and Move). The Segment track is recessed and its thumb uses ActFill, the same
lit blue as the buttons, as does the account MiniSegment. IconButton and Pill
get the same edge treatment.

Every control is on a new Buttons tab of /lush and at the top of /kit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GuNoar5FSdqFXBKo7d7CmV
@vercel

vercel Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
outhere-site Ignored Ignored Preview Oct 17, 2026 5:41am UTC

…or the Expo upgrade

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GuNoar5FSdqFXBKo7d7CmV
People in the seeded world get the prototype's photos, and a member with
no photo shows their runner silhouette instead of initials. Preview and
debug builds can open on Alex's lived-in day (8,412 steps, two weeks of
history, runs, Pro). Home's carousel now opens on Today's challenge with
the flame.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GuNoar5FSdqFXBKo7d7CmV
The Move map zooms out and simulated people and dots sit within about a
kilometre, so faces and dots share one screen. The preview's lived-in day
joins Southbank Runners, so your club shows as faces. Run history shows
5.0 km rather than 5.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GuNoar5FSdqFXBKo7d7CmV
…ld-nhob8r

# Conflicts:
#	apps/mobile/src/components/home/OutsideCarousel.jsx
#	apps/mobile/src/components/ui/index.jsx
The 40 hand-drawn icons from the signed-off prototype (24 grid, 1.8
stroke, round ends) now replace their stock equivalents everywhere; all
icon imports go through components/ui/icons, which falls back to lucide
for names the prototype has no drawing for. See week moves out of the
ring card to sit next to AND COUNTING.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GuNoar5FSdqFXBKo7d7CmV
Edem picked the in-between buttons (soft gradient, a faint top light, no
bevel edge) and asked for the photo slabs at the top of screens to lose
their border and melt into the background. Slabs drop the lit lower edge
and shadow for a fade to the page colour, the versus split fades the same
way, and the Home carousel card loses its edge line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GuNoar5FSdqFXBKo7d7CmV
The battle result slab and club challenge hero fade into the page like
the other screen tops. Today's challenge drops its card so the flame
melts into the page on every side, and the Move, 1v1 and Drops buttons
show their icons without a tile, as Edem asked.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GuNoar5FSdqFXBKo7d7CmV
Today's challenge keeps its card again and the flame's black drops out
with soft edges so it melts into the card. The tab bar bloom no longer
slides between tabs: it glows in on the chosen tab and fades out on the
one left behind, as Edem asked.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GuNoar5FSdqFXBKo7d7CmV
The prototype's single slanted sword didn't read as a battle. Swords now
draws two crossed swords with hilts, used on every 1v1 button.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GuNoar5FSdqFXBKo7d7CmV

This branch was successfully deployed

1 active (outdated) deployment
Preview — 5507fec5 Deployed Oct 17, 2026 by vercel[bot]
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.

2 participants