- Restructure Impressum to match Austrian legal standard
- Add Datenschutz Kurzfassung section (DSGVO, data collection, rights)
- Clean layout: company info → Datenschutz
- No EUID, no personal data (GDPR-safe)
- Merge separate 'Hauptfoto' and 'Weitere Fotos' uploads into single upload zone
- Add drag-and-drop support for photo reorder
- Add ← → arrow buttons for photo reorder
- Increase thumbnail size to 200px
- Show Hauptfoto badge, ★ set primary, × delete on each thumbnail
- Auto-promote next photo when primary is deleted
- Keep vehicle.photo_url synced with primary photo
style(admin): increase max-width of admin page and adjust table styles
fix(n8n): enhance workflow import and publishing process
fix(workflows): update SQL queries for fetching and updating sales orders
feat(migrations): normalize rental types and enhance email guard for individuell rentals
feat(migrations): add RPC for updating deposit in sales orders
fix(migrations): ensure individuell orders persist net/vat components and backfill existing records
test: update last run status to failed
- Implemented a new n8n workflow for manual email sending, including webhook trigger, order data fetching, email building, and sending.
- Added logic to format email content with customer and order details.
- Introduced new columns in the sales_orders table to track email sending status.
- Updated database functions to handle new rental types and email status.
- Created new RPCs for updating email status and retrieving email details for sales orders.
- Added meta tags for SEO optimization across multiple pages including descriptions, robots directives, and Open Graph tags.
- Implemented JSON-LD structured data for better search visibility and rich snippets.
- Configured nginx for improved performance with gzip compression, caching strategies, and security headers.
- Created robots.txt and sitemap.xml for better search engine indexing and crawl management.
- Developed comprehensive SEO documentation including a guide and quick reference for ongoing optimization efforts.
- Removed the `upsert` option from the file upload in `uploadDoc` function to prevent unintended overwrites.
- Enhanced German translations in `i18n.js` for better clarity and consistency in the admin interface.
- Added new CSS styles for link interactions to improve user experience in `styles.css`.
- Updated Supabase SQL migration to grant additional permissions for anonymous users to insert and update storage objects, ensuring proper functionality during the booking flow.
Co-authored-by: Copilot <copilot@github.com>
- Added pricing snapshot columns to the leads table: daily_subtotal, weekend_subtotal, subtotal_eur, vat_eur, total_eur, deposit_eur, total_days, weekday_count, weekend_day_count.
- Updated create_lead RPC to accept and store new pricing parameters.
- Enhanced frontend app.js to compute and send pricing details during lead creation.
- Introduced new UI elements in admin.html for displaying pricing and documents in a tabbed dialog.
- Updated i18n.js with new translation keys for pricing and document management.
- Improved styles in styles.css for new dialog components and pricing cards.
- Added migration script 06-admin-pricing-documents.sql for database schema changes.
- Updated translations for German and English to reflect changes in deposit terminology.
- Modified index.html to implement a new booking flow with a step-by-step wizard for vehicle selection, contact details, and ID verification.
- Added CSS styles for the new booking flow interface, including responsive design and improved input styles.
- Created new database policies and tables for handling customer and lead attachments during the booking process.
- Introduced weekend pricing and daily KM limits for vehicles in the database schema.
- Implemented email-based customer upsert functionality to streamline lead qualification and attachment transfer.
Co-authored-by: Copilot <copilot@github.com>
- Create Kong declarative configuration for routing and authentication.
- Implement initialization script to set up the database.
- Add SQL migration for initializing roles, schemas, and seeding vehicle data.
- Create leads and customers tables with appropriate policies and functions for CRM.
- Seed admin user and configure storage bucket with RLS policies.