lfglabs-dev / lfglabs-dev/TrustlessInference
Clean up frontend: compact model select + polished UI
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Why
The current model selector uses two large side-by-side cards that take up too much vertical space and don't feel polished enough for the hackathon demo. We want to impress judges with a minimal, clean interface.
What
- Replace card-based model selector with a compact Select dropdown in the nav bar
- Add proper Claude and Gemini icon marks (SVG, icon-only — no text logos)
- Remove the bordered header section from the chat panel — the selector moves into the nav
- Create a shared model context so nav and chat panel can share model state cleanly
Files to touch
| File | Action |
|---|---|
src/components/icons/model-icons.tsx |
New — Claude & Gemini SVG icons |
src/components/chat/model-context.tsx |
New — shared model state context |
src/components/chat/model-selector.tsx |
Rewrite — cards → Select dropdown |
src/components/nav.tsx |
Add ModelSelector to right-side controls |
src/components/chat/chat-panel.tsx |
Remove selector header, use context |
src/components/providers.tsx |
Add ModelProvider |
Reference
Style/font inspiration: https://github.com/lfglabs-dev/private-ethereum-assistant
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading src/components/chat/model-selector.tsx and the current model state flow, then inspect src/components/providers.tsx and src/components/chat/chat-panel.tsx. Add the shared ModelProvider, move the selector into src/components/nav.tsx, and create the Claude and Gemini SVG icons in src/components/icons/model-icons.tsx. Done means the compact nav selector controls the chat model and the bordered selector header is removed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- design, frontend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 72/100