Files
NomadArch/tasks/done/046-prompt-input-refactor.md
Gemini AI 157449a9ad restore: recover deleted documentation, CI/CD, and infrastructure files
Restored from origin/main (b4663fb):
- .github/ workflows and issue templates
- .gitignore (proper exclusions)
- .opencode/agent/web_developer.md
- AGENTS.md, BUILD.md, PROGRESS.md
- dev-docs/ (9 architecture/implementation docs)
- docs/screenshots/ (4 UI screenshots)
- images/ (CodeNomad icons)
- package-lock.json (dependency lockfile)
- tasks/ (25+ project task files)

Also restored original source files that were modified:
- packages/ui/src/App.tsx
- packages/ui/src/lib/logger.ts
- packages/ui/src/stores/instances.ts
- packages/server/src/server/routes/workspaces.ts
- packages/server/src/workspaces/manager.ts
- packages/server/src/workspaces/runtime.ts
- packages/server/package.json

Kept new additions:
- Install-*.bat/.sh (enhanced installers)
- Launch-*.bat/.sh (new launchers)
- README.md (SEO optimized with GLM 4.7)
2025-12-23 13:03:48 +04:00

1.8 KiB

Task 046 - Prompt Input Tailwind Refactor

Goal

Port the prompt input stack to Tailwind utilities and shared tokens so it no longer depends on custom selectors in src/index.css.

Prerequisites

  • Tasks 043-045 complete (color and typography tokens available, message item refactored).

Acceptance Criteria

  • src/components/prompt-input.tsx and nested elements use Tailwind + token classes for layout, borders, and typography.
  • Legacy selectors in src/index.css matching .prompt-input-container, .prompt-input-wrapper, .prompt-input, .send-button, .prompt-input-hints, .hint, .hint kbd, and related variants are removed or replaced with token-based utilities.
  • Input states (focus, disabled, multi-line expansion) and keyboard hint row look identical in light/dark modes.
  • Esc debounce handling and attachment hooks remain functional.

Steps

  1. Audit existing markup in prompt-input.tsx and note the current class usage.
  2. Replace className strings with Tailwind utility stacks that reference CSS variables (e.g., bg-[var(--surface-base)], text-[var(--text-muted)]).
  3. Introduce small reusable helpers (e.g., .kbd token utility) in src/styles/components.css if patterns recur elsewhere.
  4. Delete superseded CSS blocks from src/index.css once equivalents exist.
  5. Verify light/dark theme parity and interaction states manually.

Testing Checklist

  • Run npm run build.
  • In dev mode, send a message with/without attachments, toggle disabled state, and confirm keyboard hints render correctly.

Dependencies

  • Blocks future component refactors for the input stack.

Estimated Time

0.75 hours

Notes

  • Branch suggestion: feature/task-046-prompt-input-refactor.
  • Capture light/dark screenshots for review if any subtle spacing changes occur.