796bde22e75ffd513543fe4f9353dfabf327ad40
- Created lib/validation.ts with validation utilities for all form inputs - Added validation for list titles, item titles, colors, dates, tags, descriptions, and notes - Implemented inline validation with real-time error feedback in ListForm - Enhanced ItemForm with comprehensive validation for all fields - Updated InlineItemCreate with validation - Added input sanitization to prevent XSS attacks - Updated server actions to use validation utilities - Added maxLength attributes to prevent excessive input - Improved accessibility with aria-invalid and aria-describedby attributes - Added visual feedback for validation errors with red borders - Validates Requirements 1.1 and 2.1
Ultimate Lists App
A powerful, self-hosted todo list application built with Next.js that works as a Progressive Web App (PWA).
Features
- 📱 Works as a Safari web app (no App Store needed)
- 🗄️ Self-hosted with SQLite database
- ✅ Multiple lists with custom colors
- 📋 Rich todo items with descriptions, priorities, and due dates
- 🎨 Clean, responsive design
- ⚡ Fast server-side rendering
Getting Started
- Install dependencies:
npm install
- Set up the database:
npm run db:push
- Run the development server:
npm run dev
- Open http://localhost:3000 in Safari
Adding to Home Screen (Safari)
- Open the app in Safari
- Tap the Share button
- Select "Add to Home Screen"
- The app will now work like a native app!
Deployment
Build for production:
npm run build
npm start
The app uses SQLite, so no external database setup is required.
Tech Stack
- Next.js 14 - React framework with App Router
- Prisma - Database ORM
- SQLite - File-based database
- Tailwind CSS - Styling
- TypeScript - Type safety
- Lucide React - Icons
Description
Languages
TypeScript
93.4%
JavaScript
4.4%
HTML
1.5%
CSS
0.6%