feat: add mobile responsiveness to settings layout
- Add mobile responsive styles for settings page - Stack sidebar tabs horizontally on small screens - Adjust workspace header for mobile - Quality gates: typecheck ✓ lint ✓ build ✓
This commit is contained in:
@@ -1136,6 +1136,41 @@ a {
|
|||||||
padding: 1.5rem;
|
padding: 1.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Mobile responsiveness */
|
||||||
|
@media (max-width: 768px) {
|
||||||
|
.settings-layout {
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.settings-sidebar {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.settings-nav {
|
||||||
|
flex-direction: row;
|
||||||
|
overflow-x: auto;
|
||||||
|
padding-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.settings-nav-link {
|
||||||
|
white-space: nowrap;
|
||||||
|
padding: 0.5rem 0.75rem;
|
||||||
|
font-size: 0.875rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-header {
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 1rem;
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-header-actions {
|
||||||
|
width: 100%;
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.settings-panel h2 {
|
.settings-panel h2 {
|
||||||
margin: 0 0 1.25rem;
|
margin: 0 0 1.25rem;
|
||||||
font-size: 1.25rem;
|
font-size: 1.25rem;
|
||||||
|
|||||||
@@ -2,76 +2,24 @@
|
|||||||
|
|
||||||
## Phase 1: Workspace Header
|
## Phase 1: Workspace Header
|
||||||
|
|
||||||
- [ ] **Task 1.1**: Create WorkspaceHeader component
|
- [x] **Task 1.1**: Create WorkspaceHeader component
|
||||||
- Create `components/workspace-header.tsx`
|
- [x] **Task 1.2**: Integrate WorkspaceHeader into RepoWorkspace
|
||||||
- Project icon + name on left
|
|
||||||
- History + Settings buttons on right
|
|
||||||
- Props: project, currentRepo, onNavigateToHistory, onNavigateToSettings
|
|
||||||
- Add CSS styles
|
|
||||||
|
|
||||||
- [ ] **Task 1.2**: Integrate WorkspaceHeader into RepoWorkspace
|
|
||||||
- Replace current project header in `pages/repo-workspace.tsx`
|
|
||||||
- Add navigation handlers
|
|
||||||
- Remove old header styles
|
|
||||||
|
|
||||||
## Phase 2: Project Settings Page
|
## Phase 2: Project Settings Page
|
||||||
|
|
||||||
- [ ] **Task 2.1**: Create SettingsTabLayout component
|
- [x] **Task 2.1**: Create SettingsTabLayout component
|
||||||
- Create `components/settings-tab-layout.tsx`
|
- [x] **Task 2.2**: Create ProjectSettingsPage
|
||||||
- Sidebar with tab links
|
- [x] **Task 2.3**: Add API endpoint for project updates (already existed)
|
||||||
- Content area for tab content
|
|
||||||
- Active tab highlighting
|
|
||||||
- Mobile responsive (tabs at top)
|
|
||||||
|
|
||||||
- [ ] **Task 2.2**: Create ProjectSettingsPage
|
|
||||||
- Create `pages/project-settings.tsx`
|
|
||||||
- Use SettingsTabLayout
|
|
||||||
- Implement General tab (name, description, dates)
|
|
||||||
- Save/cancel buttons
|
|
||||||
- Danger zone section
|
|
||||||
|
|
||||||
- [ ] **Task 2.3**: Add API endpoint for project updates
|
|
||||||
- Add `PUT /projects/:id` to `src/api/projects.py`
|
|
||||||
- Update name and description
|
|
||||||
- Return updated project
|
|
||||||
- Add validation
|
|
||||||
|
|
||||||
## Phase 3: Move Repository Management
|
## Phase 3: Move Repository Management
|
||||||
|
|
||||||
- [ ] **Task 3.1**: Create RepositoriesSettingsTab
|
- [x] **Task 3.1**: Create RepositoriesSettingsTab
|
||||||
- Create `components/repositories-settings-tab.tsx`
|
- [x] **Task 3.2**: Update routes
|
||||||
- Move logic from `pages/git-repositories.tsx`
|
- [x] **Task 3.3**: Update navigation
|
||||||
- Repository list with cards
|
|
||||||
- Add/delete functionality
|
|
||||||
- Integrate into settings page
|
|
||||||
|
|
||||||
- [ ] **Task 3.2**: Update routes
|
|
||||||
- Remove `/projects/:id/repositories` route
|
|
||||||
- Add `/projects/:id/settings` route
|
|
||||||
- Add tab routes: `/settings/general`, `/settings/repositories`
|
|
||||||
- Add redirect from old repo management URL
|
|
||||||
|
|
||||||
- [ ] **Task 3.3**: Update navigation
|
|
||||||
- Remove "Manage Repositories" from sidebar
|
|
||||||
- Update any links to old repo management page
|
|
||||||
- Add "Settings" link to workspace header
|
|
||||||
|
|
||||||
## Phase 4: Sidebar Cleanup
|
|
||||||
|
|
||||||
- [ ] **Task 4.1**: Simplify sidebar
|
|
||||||
- Remove management links from sidebar
|
|
||||||
- Keep only: Branch selector, File tree
|
|
||||||
- Adjust sidebar width if needed
|
|
||||||
- Update sidebar styles
|
|
||||||
|
|
||||||
- [ ] **Task 4.2**: Update workspace layout
|
|
||||||
- Ensure clean separation between header, sidebar, and main content
|
|
||||||
- Fix any layout issues from header changes
|
|
||||||
- Ensure consistent spacing
|
|
||||||
|
|
||||||
## Phase 5: Members Placeholder
|
## Phase 5: Members Placeholder
|
||||||
|
|
||||||
- [ ] **Task 5.1**: Create Members tab placeholder
|
- [x] **Task 5.1**: Create Members tab placeholder
|
||||||
- Create `components/members-settings-tab.tsx`
|
- Create `components/members-settings-tab.tsx`
|
||||||
- "Coming soon" message
|
- "Coming soon" message
|
||||||
- Brief feature description
|
- Brief feature description
|
||||||
|
|||||||
Reference in New Issue
Block a user