Files
TimeTracker/docs/COMMAND_PALETTE_USAGE.md
T
Dries Peeters 77aec94b86 feat: Add project costs tracking and remove license server integration
Major Features:
- Add project costs feature with full CRUD operations
- Implement toast notification system for better user feedback
- Enhance analytics dashboard with improved visualizations
- Add OIDC authentication improvements and debug tools

Improvements:
- Enhance reports with new filtering and export capabilities
- Update command palette with additional shortcuts
- Improve mobile responsiveness across all pages
- Refactor UI components for consistency

Removals:
- Remove license server integration and related dependencies
- Clean up unused license-related templates and utilities

Technical Changes:
- Add new migration 018 for project_costs table
- Update models: Project, Settings, User with new relationships
- Refactor routes: admin, analytics, auth, invoices, projects, reports
- Update static assets: CSS improvements, new JS modules
- Enhance templates: analytics, admin, projects, reports

Documentation:
- Add comprehensive documentation for project costs feature
- Document toast notification system with visual guides
- Update README with new feature descriptions
- Add migration instructions and quick start guides
- Document OIDC improvements and Kanban enhancements

Files Changed:
- Modified: 56 files (core app, models, routes, templates, static assets)
- Deleted: 6 files (license server integration)
- Added: 28 files (new features, documentation, migrations)
2025-10-09 11:50:26 +02:00

176 lines
5.3 KiB
Markdown

# Command Palette Usage Guide
## Overview
The TimeTracker command palette is a powerful keyboard-driven interface that allows you to quickly navigate and execute commands without using the mouse. It's inspired by similar features in modern applications like VS Code, Sublime Text, and GitHub.
## Opening the Command Palette
You can open the command palette in multiple ways:
### Primary Method
- **Press `?` (question mark key)** - Simply press the `?` key anywhere in the application
- Quick, easy to remember
- Doesn't require modifier keys
- Works on all keyboard layouts
### Alternative Methods
- **Click the command palette button** in the navigation bar (terminal icon)
- **Use the help menu** dropdown
## Quick Search
To quickly access the search functionality:
- **Press `Ctrl+K` (Windows/Linux)** or **`Cmd+K` (Mac)** - Focuses the search box
- Works from anywhere in the application
- Instantly ready to search projects, tasks, clients, and more
## Using the Command Palette
Once opened, you can:
1. **Type to search** - Start typing to filter available commands
2. **Navigate** - Use arrow keys (↑/↓) to move between commands
3. **Execute** - Press `Enter` to run the selected command or click on it
4. **Cancel** - Press `Esc` or click outside the palette to close
## Available Commands
### Navigation Commands
- **Go to Dashboard** (`g d`) - Navigate to the main dashboard
- **Go to Projects** (`g p`) - View all projects
- **Go to Tasks** (`g t`) - View all tasks
- **Go to Reports** (`g r`) - View reports and analytics
- **Go to Invoices** (`g i`) - View invoices
- **Go to Analytics** - View analytics dashboard
- **Open Calendar** - View the time tracking calendar
### Action Commands
- **New Time Entry** (`n e`) - Create a new manual time entry
- **New Project** (`n p`) - Create a new project
- **New Task** (`n t`) - Create a new task
- **New Client** (`n c`) - Create a new client
- **Start Timer** - Start a new timer
- **Stop Timer** - Stop the currently running timer
### General Commands
- **Toggle Theme** (`Ctrl+Shift+L`) - Switch between light and dark mode
- **Open Help** - View keyboard shortcuts help
## Keyboard Sequences
Some commands can be triggered directly without opening the palette using key sequences:
- **`g d`** - Go to Dashboard
- **`g p`** - Go to Projects
- **`g t`** - Go to Tasks
- **`g r`** - Go to Reports
Type the first letter, then the second letter in quick succession (within 1 second).
## Tips and Tricks
1. **Fuzzy Search** - You don't need to type the exact command name. Type keywords related to what you want to do.
2. **Category Filtering** - Commands are organized by category (Navigation, Actions, Timer, General)
3. **First-Time Hint** - A tooltip will appear on your first visit showing you how to use the command palette
4. **Accessibility** - Full keyboard navigation support with visual focus indicators
5. **Theme Support** - The command palette automatically adapts to light and dark themes
## Keyboard Shortcuts Reference
Press `Shift+?` to view the complete keyboard shortcuts help modal with all available commands.
## Mobile Support
On mobile devices:
- Command palette can be accessed via the help menu
- Touch-friendly interface for selecting commands
- Keyboard shortcuts are hidden to save space
## Implementation Details
The command palette features:
- Fast, responsive search
- Smooth animations and transitions
- Glass morphism effects
- Backdrop blur for better focus
- Color-coded command categories
- Visual keyboard shortcut hints
- Auto-completion and suggestions
## Examples
### Example 1: Quick Navigation
1. Press `?`
2. Type "proj"
3. See "Go to Projects" highlighted
4. Press `Enter`
### Example 2: Creating a New Task
1. Press `?`
2. Type "new task"
3. Select "New Task"
4. You're taken to the task creation page
### Example 3: Using Sequences
1. Press `g` (wait briefly)
2. Press `d`
3. Immediately navigate to Dashboard
## Customization
The command palette can be extended with custom commands programmatically:
```javascript
// Register a custom command
window.keyboardShortcuts.registerShortcut({
id: 'my-custom-command',
category: 'Custom',
title: 'My Custom Action',
description: 'Does something custom',
icon: 'fas fa-star',
keys: ['c', 'a'],
action: () => {
// Your custom action here
}
});
```
## Troubleshooting
### Command Palette Won't Open
- Make sure you're not typing in a text input field
- Check that JavaScript is enabled
- Try refreshing the page
### Shortcuts Not Working
- Some shortcuts may conflict with browser shortcuts
- Try using the alternative `?` key method
- Check your keyboard language settings
### Visual Issues
- Clear your browser cache
- Make sure you're using a modern browser (Chrome, Firefox, Safari, Edge)
- Check if dark/light theme is causing issues
## Browser Support
The command palette works best on:
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Opera (latest)
Requires:
- JavaScript enabled
- CSS backdrop-filter support (for blur effects)
## Feedback
If you have suggestions for new commands or improvements to the command palette, please open an issue on the GitHub repository or contact support.
---
**Pro Tip:** Use the command palette regularly to speed up your workflow. Most power users find they can navigate 2-3x faster using keyboard shortcuts compared to clicking through menus!