Commit Graph

3 Commits

Author SHA1 Message Date
Britannio Jarrett
770d897403 Prevent <TasksLayout/> component from being unmounted when using (#1391)
keyboard shortcuts to navigate the kanban board.

In kanban boards with many tasks in a single column, when we use
keyboard shortcuts to select a task 'below the fold', the animation
restarts from the top of the kanban board, rather than preserving the
existing position.
2025-11-27 18:41:15 +00:00
Louis Knight-Webb
5ac6c2b462 I've removed the touch-pan-y class from the Kanban board wrapper in frontend/src/pages/ProjectTasks.tsx. This enables horizontal scrolling on touch devices while maintaining vertical scrolling, which solves the issue. (#1334)
I also ran the type checks to ensure no regressions, and everything passed.

The provided file path `crates/remote/src/db/project_tasks.rs` was not relevant to the UI scrolling issue, so no changes were made there.
2025-11-19 12:58:35 +00:00
Louis Knight-Webb
36bde0b4b9 Frontend file naming eslint rule (vibe-kanban) (#1322)
* Perfect! Now let me create a summary for you:

##  ESLint Configuration Complete

The linter has identified **29 files** that need to be renamed:

### **Files to Rename:**

#### **Components → PascalCase (15 files)**
```
config-provider.tsx → ConfigProvider.tsx
diff-view-switch.tsx → DiffViewSwitch.tsx
logo.tsx → Logo.tsx
navbar.tsx → Navbar.tsx (in layout/)
search-bar.tsx → SearchBar.tsx
theme-provider.tsx → ThemeProvider.tsx
style-override.tsx → StyleOverride.tsx

copy-files-field.tsx → CopyFilesField.tsx (in projects/)
project-detail.tsx → ProjectDetail.tsx (in projects/)
project-form-fields.tsx → ProjectFormFields.tsx (in projects/)
project-list.tsx → ProjectList.tsx (in projects/)
```

#### **Contexts → PascalCase (2 files)**
```
project-context.tsx → ProjectContext.tsx
search-context.tsx → SearchContext.tsx
```

#### **Pages → PascalCase (3 files)**
```
full-attempt-logs.tsx → FullAttemptLogs.tsx
project-tasks.tsx → ProjectTasks.tsx
projects.tsx → Projects.tsx
```

#### **Lib → camelCase (2 files)**
```
caret-position.ts → caretPosition.ts
mcp-strategies.ts → mcpStrategies.ts
```

#### **Utils → camelCase (3 files)**
```
companion-install-task.ts → companionInstallTask.ts
script-placeholders.ts → scriptPlaceholders.ts
status-labels.ts → statusLabels.ts
```

#### **UI (shadcn) → kebab-case (4 files)**
```
ActionsDropdown.tsx → actions-dropdown.tsx
ImageUploadSection.tsx → image-upload-section.tsx
TitleDescriptionEditor.tsx → title-description-editor.tsx
DataTable.tsx → data-table.tsx (in table/)
Table.tsx → table.tsx (in table/)
ImageChipNode.tsx → image-chip-node.tsx (in wysiwyg/)
imageChipMarkdown.ts → image-chip-markdown.ts (in wysiwyg/)
```

#### **Entry Point (special case - 1 file)**
```
main.tsx → can stay as main.tsx (entry point convention)
```

**Next steps:** Should I proceed with renaming these files using `git mv`?

* ##  Complete! File Naming Standardization Successful

### **Summary**

Successfully implemented and enforced file naming conventions for the frontend:

### **What Was Done:**

1.  **Installed** `eslint-plugin-check-file@^2.8.0`

2.  **Configured ESLint** with file naming rules:
   - **Components (.tsx)**: `PascalCase`
   - **Hooks (.ts)**: `camelCase` (with `use` prefix)
   - **Utils/Lib (.ts)**: `camelCase`
   - **Shadcn UI**: `kebab-case` (library convention)
   - **Entry points**: Excluded (`main.tsx`, `vite-env.d.ts`)

3.  **Renamed 28 files** using `git mv`:
   - 10 components → PascalCase
   - 2 contexts → PascalCase
   - 3 pages → PascalCase
   - 2 lib files → camelCase
   - 3 utils → camelCase
   - 7 UI components → kebab-case
   - 1 utils component → PascalCase

4.  **Fixed all imports** across the codebase (77 files modified)

5.  **Verified**:
   -  ESLint passes (no filename errors)
   -  TypeScript check passes (no errors)
   -  Build successful

### **Git Status:**
- 28 files renamed (with history preserved via `git mv`)
- 77 total files changed (renames + import updates)

### **Ready for commit!**

The codebase now has consistent, enforceable file naming conventions that will prevent future inconsistencies.

* Cleanup script changes for task attempt 11f8d7b9-99b5-41ce-934c-5ce75008a200
2025-11-18 17:05:18 +00:00