My Weekly ToDo List - A web-based weekly task management app
Go to file
mARTin aef7c291b4 fix: iOS scroll + sticky day headers — remove React onTouchStart from slots
Root cause: React registers onTouchStart props as non-passive listeners at the
app root. iOS Safari sees any non-passive touchstart on an ancestor and blocks
the scroll gesture on those elements, waiting for JS to finish. This is why
the time column (no handlers) scrolled freely but day columns (slots had
onTouchStart) were frozen.

Changes:
- Removed onTouchStart prop from all time-slot divs — no more React touch
  handlers in the time grid, so iOS never blocks scroll
- Added data-slot-blocked attribute to occupied/protected slots
- Moved slot long-press logic into the permanent native touchstart listener
  on document (passive: true), reading slot/date from data attributes
- Added touch-action: pan-y on .time-grid-wrapper — explicitly tells iOS
  that vertical pan = scroll even if child content has touch handlers
- CSS: align-items: start on .weekly-days-grid so sticky headers in each
  day column have a proper scroll context
- Reinforced position:sticky on .time-grid-wrapper .weekly-day-header

v1.77.3
2026-03-29 15:58:18 +02:00
.claude Refactor Apple Calendar integration and sync logic 2026-02-17 15:30:42 +01:00
.github/workflows feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
.opencode feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
.planning feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
prisma feat: add cross-provider calendar sync tool 2026-03-29 10:58:07 +02:00
public feat: optional provider icon on calendar event blocks 2026-03-24 10:56:49 +01:00
scripts feat: drag-to-provider sync, recurring task editing, resizable areas, search improvements 2026-03-17 00:50:42 +01:00
spec feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
specs feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
src fix: iOS scroll + sticky day headers — remove React onTouchStart from slots 2026-03-29 15:58:18 +02:00
tests feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
Version 01 feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
.dockerignore fix: time grid layout alignment and task drag/drop collision detection 2026-02-23 21:29:56 +01:00
.env.example fix: time grid layout alignment and task drag/drop collision detection 2026-02-23 21:29:56 +01:00
.env.production.save chore: Supabase migration - update env configs and dependencies 2026-02-26 13:36:07 +00:00
.eslintrc.json feat: Add Google Tasks, Apple Reminders, task import/sync, holidays, and UI enhancements 2026-02-20 16:56:14 +01:00
.gitignore fix: time grid layout alignment and task drag/drop collision detection 2026-02-23 21:29:56 +01:00
CLAUDE.md feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
COMMIT_SUMMARY.md feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
comprehensive-debug.js feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
debug-login-page.js feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
debug-signup.js feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
deploy.sh chore: Portainer-compatible docker-compose, improved .dockerignore 2026-02-22 23:52:49 +01:00
deployment-notes.md chore: change development port to 3000 2026-03-07 17:39:26 +01:00
docker-compose.dev.yml fix: time grid layout alignment and task drag/drop collision detection 2026-02-23 21:29:56 +01:00
docker-compose.local.yml fix: time grid layout alignment and task drag/drop collision detection 2026-02-23 21:29:56 +01:00
docker-compose.yml feat: fix Docker deployment, OAuth redirects, event editing, and UI improvements 2026-02-24 23:18:13 +01:00
Dockerfile feat: fix Docker deployment, OAuth redirects, event editing, and UI improvements 2026-02-24 23:18:13 +01:00
final_phase3_analysis.md feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
INFRASTRUCTURE_REQUIREMENTS.md feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
mock-prisma.ts feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
next-env.d.ts feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
next.config.js Optimize build process and fix dynamic route collection errors 2026-03-13 14:33:14 +01:00
opencode.json feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
package-lock.json feat: improved icon picker with search, FontAwesome and MDI icons 2026-03-23 11:13:21 +01:00
package.json fix: iOS scroll + sticky day headers — remove React onTouchStart from slots 2026-03-29 15:58:18 +02:00
phase3_analysis.md feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
playwright.config.ts feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
postcss.config.js feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
query.js fix: CSS class slide animation, mobile dot, flex task indicators 2026-03-06 12:09:13 +01:00
README.md chore: change development port to 3000 2026-03-07 17:39:26 +01:00
SETUP.md chore: change development port to 3000 2026-03-07 17:39:26 +01:00
tailwind.config.js Fix header layout, add day/night switch, refine night mode styling 2026-02-12 20:14:12 +01:00
TEST_PLAN_SUMMARY.md feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
TEST_PLAN.md feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
test-account-setup.js feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
test-api.js feat: dark mode color adjustment, multi-source quotes, UI text wrapping, and versioning rules 2026-02-23 23:33:25 +01:00
test-email.js Refactor Someday area to grid layout with dynamic slots, fixed scrolling, and border refinements 2026-03-01 11:58:48 +01:00
test-route.js feat: add task actions (notes/delete) and refine animation logic 2026-02-01 12:25:53 +01:00
test-syno.js fix: CSS class slide animation, mobile dot, flex task indicators 2026-03-06 12:09:13 +01:00
tsconfig.json feat: Add Google Tasks, Apple Reminders, task import/sync, holidays, and UI enhancements 2026-02-20 16:56:14 +01:00
tsconfig.tsbuildinfo feat: add Notion provider integration + Apple Reminders deprecation note 2026-03-22 21:02:25 +01:00

My Weekly To Do List

A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view.

Features

  • Weekly view of tasks and calendar events
  • Drag and drop functionality between days
  • Calendar integration with Google and Apple Calendar
  • Responsive design for all devices
  • Accessible user interface (WCAG 2.1 AA compliant)

Deployment with Docker

This application can be deployed using Docker and Docker Compose.

Prerequisites

  • Docker Engine
  • Docker Compose

Quick Start

  1. Clone the repository and navigate to the project directory
  2. Build and start the containers:
    docker-compose up --build
    
  3. Access the application at http://localhost:3000

Environment Variables

The application requires the following environment variables:

  • DATABASE_URL: PostgreSQL connection string
  • NEXTAUTH_SECRET: Secret for NextAuth.js
  • NEXT_PUBLIC_BASE_URL: Public URL of the application
  • MICROSOFT_CLIENT_ID: Azure AD Application (client) ID for Microsoft Login
  • MICROSOFT_CLIENT_SECRET: Azure AD Application secret for Microsoft Login

Database Configuration

The application uses PostgreSQL for data storage. The Docker Compose setup includes a PostgreSQL service, but you can also connect to an external database by setting the DATABASE_URL accordingly.

Building for Production

To build the production version:

docker build -t my-weekly-todo-list .

Development

For development, you can run:

npm run dev

License

This project is licensed under the MIT License.