mirror of
https://github.com/DRYTRIX/TimeTracker.git
synced 2026-05-20 21:30:12 -05:00
77aec94b86
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)
176 lines
5.3 KiB
Markdown
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!
|
|
|