Commit graph

9 commits

Author SHA1 Message Date
29ee714df7 Add responsive mobile navigation with hamburger menu
All checks were successful
CI - Test, Build, and Push / test (push) Successful in 2m45s
CI - Test, Build, and Push / build-and-push (push) Successful in 52s
- Desktop: horizontal navigation menu as before
- Mobile: hamburger dropdown menu with theme toggle visible
- Breakpoint at md (768px)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 17:18:36 -05:00
b99838d214 Fix map disappearing when selecting a business
All checks were successful
CI - Test, Build, and Push / test (push) Successful in 2m46s
CI - Test, Build, and Push / build-and-push (push) Successful in 48s
Add phx-update="ignore" to prevent LiveView from overwriting the
Leaflet map container when re-rendering after business selection.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 15:17:27 -05:00
2cf13e2cbb Add preview step to import with missing category detection
All checks were successful
CI - Test, Build, and Push / test (push) Successful in 2m46s
CI - Test, Build, and Push / build-and-push (push) Successful in 46s
The import process now shows a preview before importing, listing any
missing categories. Users can create missing categories with one click
before proceeding with the import.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 14:46:16 -05:00
94cb0870ff Add duplicate detection to business import
- Skip businesses that already exist (by slug)
- Track skipped count in import results
- Display skipped count in admin import UI

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 08:14:42 -05:00
f62ddffb80 Add admin screen for managing businesses
- Add AdminLive.Businesses at /admin/businesses for business management
- Support deactivate/reactivate (soft delete) and permanent deletion
- Filter tabs for All, Active, and Inactive businesses
- Delete confirmation modal to prevent accidental deletion
- Add admin functions to Businesses context (list_all, get_any, deactivate, activate, delete)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 00:58:58 -05:00
70bca86c23 Add business import feature with Mix task and admin UI
- Add Import module for parsing JSON and creating businesses with associations
- Add `mix localspot.import` task for CLI-based imports
- Add admin import page with drag-and-drop file upload at /admin/import
- Include sample import JSON and Buffalo NY business data (40 businesses)
- Support for importing hours and photos with each business

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 00:57:46 -05:00
821af5b24f Update site branding and navigation for LocalSpot
- Replace Phoenix default navigation with LocalSpot nav
- Add links to Businesses, Categories, Map, and Add Business
- Update home page with hero, feature cards, and CTA
- Update page title suffix to LocalSpot
- Change pre-commit hook to auto-format instead of check

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 00:15:09 -05:00
9ed897a60e Add LiveView pages for business directory
- CategoryLive.Index: browse categories with business counts
- CategoryLive.Show: view businesses filtered by category
- BusinessLive.Index: search/filter businesses with geolocation
- BusinessLive.Show: detailed business profile with hours
- BusinessLive.New: submission form for new businesses
- BusinessLive.Map: interactive Leaflet.js map view
- Seed data with sample Columbus, OH businesses

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 00:11:36 -05:00
1e61383eb6 Initialize Phoenix LiveView project
Set up localspot as a Phoenix 1.8 LiveView application with:
- Erlang/Elixir via asdf
- PostgreSQL database (local user config)
- Tailwind CSS v4 with daisyUI
- Updated AGENTS.md with project setup and guidelines

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 21:45:50 -05:00