Marketplace scoop-ui-refactor
Project-specific UI refactor workflow for the Scoop news platform in /home/bender/classwork/Thesis. Use when updating Scoop frontend layouts, globe UX, research workspace, and brand docs while preserving all features and enforcing a no-emoji policy across UI, logs, and docs.
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/benderfendor/scoop-ui-refactor" ~/.claude/skills/aiskillstore-marketplace-scoop-ui-refactor && rm -rf "$T"
manifest:
skills/benderfendor/scoop-ui-refactor/SKILL.mdsource content
Scoop UI Refactor
Scope
- Project root:
/home/bender/classwork/Thesis - Frontend:
andfrontend/appfrontend/components
Required outcomes
- Preserve all existing features (view modes, filters, research, modals).
- Increase density and reduce empty vertical space.
- Make globe selection flow clear and usable.
- Have grid view have snap scroll.
- Keep feed snap-scroll while preserving global header visibility.
- Remove emojis from UI, logs, and docs.
Workflow
- Review primary surfaces
(home layout)frontend/app/page.tsx
andfrontend/components/globe-view.tsxfrontend/components/interactive-globe.tsx
(research UI)frontend/app/search/page.tsx
(theme tokens)frontend/app/globals.css
- Home layout refactor
- Compress the lead story into title + summary + action row.
- Move big narrative blocks into a compact summary card.
- Convert long "Contact" sections into short action rows.
- Keep view mode controls and filters visible and separated.
- Globe view UX
- Add a clear country focus header.
- Show source count and top sources for the selected country.
- Keep a clear "reset" action visible.
- Remove all country flag emojis and any emoji usage.
- Research workspace
- Use a top query bar.
- Add Brief and Flow modes (Flow shows reasoning steps in sequence).
- Move history or chat list into a sidebar.
- Ensure research visuals are distinct from the main feed styling.
- No-emoji enforcement
- Use ripgrep to find emoji usage and remove it.
- Replace emoji with icons or labels.
- Apply to UI strings, logs, and docs.
- Feed view snap-scroll (TikTok style)
- Use full-viewport sections (
,h-screen
) within a scroll container that hassnap-start
.snap-y snap-mandatory scroll-smooth - Keep the global header visible by only calling
on wheel/touch when a snap transition actually occurs; allow default scrolling when at the first/last item.event.preventDefault() - Track
and anactiveIndex
guard; callisAnimating
for the next/previous section and clear the guard after a short timeout.scrollIntoView - Support wheel, touch (deltaY threshold), and arrow keys; debounce small deltas to avoid accidental snaps.
- Retain modals, bookmarks, likes, and favorites behavior; do not regress existing feed actions.
Checks
- Confirm view modes still switch correctly.
- Confirm modals and source filters still work.
- Confirm research results still render with embedded sources.
- Confirm feed snap-scroll still works on wheel, touch, and arrow keys, and that the header remains accessible at top-level scroll.
Recent context
- Snap-scroll feed clips lower content if sections are fixed to
without accounting for surrounding layout; prefer a flex parent (h-screen
) and per-sectionflex-1 h-full min-h-0
inside the scroll container so each article uses the available viewport height without hiding titles.h-full min-h-full snap-start - Lint currently fails with pre-existing warnings/errors across the frontend (unused vars, hook ordering, explicit
); fixes are pending and not related to snap-scroll layout.any