Add timeline view, right-click context menu, and fix Express trust proxy

- backend/server.js: Add app.set('trust proxy', 1) to fix express-rate-limit
  ValidationError when app runs behind nginx reverse proxy
- ScheduleView.jsx: Add right-click context menu on reservation blocks with
  Edit and Delete options; closes on click-outside or Escape
- ScheduleView.module.css: Add context menu styles
- TimelineView.jsx: New Gantt-style monthly timeline view showing all
  reservations sorted by date, with month navigation and right-click menu
- TimelineView.module.css: Styles for the timeline view
- App.jsx: Add 'タイムライン' tab to navigation

Co-authored-by: pdf114514 <57948770+pdf114514@users.noreply.github.com>
Agent-Logs-Url: https://github.com/pdf114514/CarReservation/sessions/d03ca12c-21ce-45a0-881f-919d6635e7fb
This commit is contained in:
copilot-swe-agent[bot]
2026-03-20 18:50:51 +00:00
parent 1eb96877ff
commit cc3ad148fc
6 changed files with 773 additions and 1 deletions

View File

@@ -268,3 +268,41 @@
color: #6b7280;
font-size: 14px;
}
/* Right-click context menu */
.contextMenu {
position: fixed;
background: white;
border: 1px solid #d1d5db;
border-radius: 8px;
box-shadow: 0 4px 16px rgba(0,0,0,0.15);
z-index: 1000;
min-width: 140px;
overflow: hidden;
padding: 4px 0;
}
.contextMenuItem {
display: block;
width: 100%;
text-align: left;
background: none;
border: none;
padding: 9px 16px;
font-size: 13px;
color: #374151;
cursor: pointer;
transition: background 0.1s;
}
.contextMenuItem:hover {
background: #f3f4f6;
}
.contextMenuItemDelete {
color: #dc2626;
}
.contextMenuItemDelete:hover {
background: #fee2e2;
}