recipe-manager/frontend
Paul Huliganga 67a9a8ce16 feat(frontend): implement recipe detail/edit page with full CRUD functionality
- Created useRecipe hook for fetching single recipe with loading/error states
- Created RecipeForm component with comprehensive validation
  - Title, ingredients, and instructions marked as required fields
  - One ingredient/instruction per line with textarea inputs
  - Optional metadata: servings, prep time, cook time, source URL, notes
  - Real-time form validation with error messaging
- Implemented RecipeDetailPage with three modes:
  - Create mode: /recipe/new route for adding new recipes
  - View mode: Display recipe with formatted ingredients and instructions
  - Edit mode: Toggle to edit existing recipe with pre-populated form
- Added delete functionality with two-step confirmation
- Included metadata cards for servings, prep time, and cook time
- Added navigation: Cook Mode button, back to list link
- Styled with Tailwind CSS for consistent UI/UX
- Verified TypeScript compilation and Vite build succeed
- Updated TODO.md to mark task complete
2026-03-24 03:27:51 -04:00
..
public feat(frontend): initialize React + Vite project with TypeScript 2026-03-24 00:27:17 -04:00
src feat(frontend): implement recipe detail/edit page with full CRUD functionality 2026-03-24 03:27:51 -04:00
.gitignore feat(frontend): initialize React + Vite project with TypeScript 2026-03-24 00:27:17 -04:00
README.md feat(frontend): initialize React + Vite project with TypeScript 2026-03-24 00:27:17 -04:00
eslint.config.js feat(frontend): initialize React + Vite project with TypeScript 2026-03-24 00:27:17 -04:00
index.html feat(frontend): initialize React + Vite project with TypeScript 2026-03-24 00:27:17 -04:00
package-lock.json feat(frontend): configure Tailwind CSS v4 with PostCSS 2026-03-24 00:42:34 -04:00
package.json feat(frontend): configure Tailwind CSS v4 with PostCSS 2026-03-24 00:42:34 -04:00
postcss.config.js feat(frontend): configure Tailwind CSS v4 with PostCSS 2026-03-24 00:42:34 -04:00
tailwind.config.js feat(frontend): configure Tailwind CSS v4 with PostCSS 2026-03-24 00:42:34 -04:00
tsconfig.app.json feat(frontend): initialize React + Vite project with TypeScript 2026-03-24 00:27:17 -04:00
tsconfig.json feat(frontend): initialize React + Vite project with TypeScript 2026-03-24 00:27:17 -04:00
tsconfig.node.json feat(frontend): initialize React + Vite project with TypeScript 2026-03-24 00:27:17 -04:00
vite.config.ts feat(frontend): initialize React + Vite project with TypeScript 2026-03-24 00:27:17 -04:00

README.md

Recipe Manager - Frontend

React + TypeScript frontend for the Recipe Manager application.

Tech Stack

  • React 19 - UI framework
  • TypeScript - Type safety
  • Vite - Build tool and dev server
  • React Router 7 - Client-side routing

Development

# Install dependencies
npm install

# Start dev server (http://localhost:5173)
npm run dev

# Build for production
npm run build

# Preview production build
npm run preview

# Lint code
npm run lint

Project Structure

src/
├── components/     # Reusable UI components
├── hooks/          # Custom React hooks
├── pages/          # Route pages
├── services/       # API client and business logic
├── types/          # TypeScript interfaces
├── App.tsx         # Root component
└── main.tsx        # Application entry point

Next Steps

  • Configure Tailwind CSS
  • Set up React Router
  • Create recipe list page
  • Create recipe detail/edit page
  • Implement cook mode UI

Architecture

See /ARCHITECTURE.md for full system architecture and patterns.