feat(dashboard): inline Quick log form on the dashboard hero#217
Merged
Conversation
Replaces the placeholder Quick log card (which only linked to /new-contact) with a real inline form: callsign with debounced QRZ lookup, frequency with auto-band derivation, mode-aware RST defaults, station picker when multiple are configured, and a Save button that posts to /api/contacts. Matches the new-design/dashboard.html mockup. Saving refreshes the contacts table and stat cards on the parent page, then refocuses the callsign input for rapid sequential logging. Also bumps the README stack blurb to Next.js 16 / React 19 / TS 5.8 and notes the Drizzle Kit + raw-pg runtime split. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/dashboard(which just linked to/new-contact) with a real inline form: callsign + debounced QRZ lookup, frequency with auto-band derivation, mode-aware RST defaults, station picker (when multiple configured), and a Save button that posts to/api/contacts.new-design/dashboard.html. After a save the parent dashboard refetches contacts + stats, the saved callsign clears, and the input refocuses for rapid sequential logging.pgruntime split.Implementation notes
src/components/QuickLogCard.tsx. Self-contained: owns its own stations fetch, lookup debounce (~350 ms), UTC clock tick, form state, and submit. Accepts anonSavedcallback.grid_locator,rst_sent,rst_received,station_id) per CLAUDE.md.freqToBand+ mode→RST defaults are inlined for now (duplicated from/new-contact). Tiny, can DRY later if a third caller appears.Test plan
/dashboard— Quick log card on the right of the hero shows live UTC clock in the chip header.14.205in Freq — Band auto-snaps to20m. Try7.020→40m,28.500→10m.npm run lint,npm run typecheck,npm run buildclean (verified locally).🤖 Generated with Claude Code