Frontend assets for Phoenix web interface
- js/app.js: LiveView setup, WebSocket connection, GrovePrefill hook
- css/app.css: Tailwind imports, custom styles
- vendor/topbar.js: Progress bar for page loads
- tailwind.config.js: Tailwind configuration
- node_modules/: npm packages (gitignored)
- esbuild: ES2017 target, bundles JS to priv/static/assets/app.js (gitignored)
- Tailwind: Scans .ex/.heex, compiles CSS to priv/static/assets/app.css (gitignored)
- Heroicons: Embedded via Tailwind plugin
- Phoenix watchers: Auto-rebuild in dev
- GrovePrefill: Handles
grove_prefillpush_event from server. Populates or clears 13 form fields in NewTaskModal. On{clear: true}, clears all fields. Otherwise writes all payload values including empty strings (prevents stale carryover on grove A→B switching).