Commit Graph

31 Commits

Author SHA1 Message Date
7d680e469f
switch printing to command pattern 2025-06-17 21:26:28 -05:00
8f3c8ba80e
Fix mobile layout: recent and frequent task groups now display correctly - Fixed isGroupWithTasks function to accept both string and number IDs - Virtual groups use negative number IDs (-1, -2) which were being rejected - Mobile layout now properly shows Recent Tasks and Frequent Tasks groups 2025-06-17 20:41:02 -05:00
85ebe7b8d5
Fix screensaver animation blinking issue - Remove frequent screen clearing that caused black frames every few seconds - Keep only the 3-minute clear cycle for burn-in protection - Ensure smooth animation loop by scheduling next frame before any clearing - Eliminate brief black flashes that occurred at animation cycle boundaries - Maintain continuous visual flow without interruption 2025-06-17 20:36:41 -05:00
2402070ef1
Improve night fade to completely turn off display - Change from gradual fade to complete blackout (0 brightness) during night hours - 15-minute fade out from midnight to 12:15am - Complete blackout from 12:15am to 5:45am (5.5 hours) - 15-minute fade in from 5:45am to 6:00am - Maximizes energy savings and minimizes light pollution for wall-mounted displays - Provides smooth transitions to avoid jarring on/off behavior 2025-06-17 20:34:20 -05:00
54ffdc37f7
Add night fade and 24-hour clock to screensaver - Implement fade to black feature for midnight to 6am hours - Gradual fade in from midnight to 3am, then fade out until 6am - Add 24-hour clock display in center of screen with current time and date - Clock shows HH:MM:SS format with full date below - Semi-transparent black background behind clock for readability - Clock updates in real-time during screensaver animation - Night fade applies overlay to reduce brightness during sleeping hours 2025-06-17 20:31:32 -05:00
91fb01bebf
Fix screensaver functionality and add auto-activation - Fix immediate closing issue by adding 1-second delay before enabling interaction detection - Remove duplicate ApolloProvider from App.tsx to fix component hierarchy - Add useAutoScreensaver hook that tracks user activity and activates after 5 minutes - Implement automatic screensaver activation with manual override capability - Screensaver now properly appears and stays visible until user interaction - Add comprehensive activity tracking (mouse, keyboard, touch, scroll) - Reset auto-screensaver timer when manually closing screensaver 2025-06-17 20:28:13 -05:00
55ba2e16e5
Add screensaver feature for wall-mounted displays - Create Screensaver component with HTML5 Canvas animation - Implement gradient patterns, animated shapes, and line art using primary color and complementary colors - Add automatic screen clearing every 3 minutes (Windows 98 style) and every few seconds for variety - Create ScreensaverButton component positioned next to ColorPickerButton - Integrate screensaver into both DesktopLayout and MobileLayout - Screensaver closes on any user interaction (key press, mouse movement, click, touch) - Uses color palette from ColorPicker to select complementary colors automatically 2025-06-17 20:23:29 -05:00
dbf19eeb60
add yaml import and export 2025-06-17 20:18:04 -05:00
3c37a94644
Add color picker functionality with MUI theme integration - Create themeStore with Zustand for managing primary color state - Add ThemeProvider component to wrap MUI theme with dynamic primary color - Implement ColorPicker dialog with predefined colors (including 3 purple shades) and custom color option - Add ColorPickerButton component with visual indicator of current color - Integrate color picker into both DesktopLayout and MobileLayout - Update main.tsx to include ThemeProvider wrapper - Persist theme color preference using Zustand persist middleware 2025-06-17 20:17:32 -05:00
546ef8216d
refactor: use Zustand for task state, optimize GraphQL requests, and fix recursive setState bug 2025-06-17 18:24:34 -05:00
b4d1c5db4e
fix serial printer closing 2025-06-17 18:14:26 -05:00
dec4b848b6
add print buttons to mobile 2025-06-14 23:09:12 -05:00
95a3a08492
clean up printer formatting 2025-06-14 21:02:57 -05:00
66d89adfd0
clean up formatting 2025-06-14 20:49:56 -05:00
b949d4a6c6
format utils for printing 2025-06-14 20:24:42 -05:00
5fde9f667b
pass user when printing, add checkboxes 2025-06-14 20:01:16 -05:00
ba2f7fb612
fix client user selection 2025-06-14 19:49:35 -05:00
d9180ffe0a
fix: restore mobile layout and step details view - Fix mobile layout CSS constraints - Add step details view to mobile layout - Add print and note functionality to mobile layout 2025-06-14 19:49:16 -05:00
cca6f4176f
fix tests 2025-06-14 19:22:52 -05:00
c6a647202b
add missing buttons 2025-06-14 19:00:59 -05:00
08c41fa0be
add virtual groups for recent and frequent 2025-06-14 18:45:30 -05:00
ab70385bb3
get the client mostly working 2025-06-14 18:42:04 -05:00
fd9f9e3d85
get the server working 2025-06-14 18:36:27 -05:00
3d02f532d9
fix lots of stuff 2025-06-14 18:04:05 -05:00
ca384f35bd
add serial printer 2025-06-14 17:27:33 -05:00
67de31276f
fix most graphql errors 2025-06-14 17:19:39 -05:00
d9e9a16f42
fix basic errors 2025-06-14 16:09:21 -05:00
23d1f60fc7
update everything 2025-06-14 15:57:24 -05:00
92cce945e9
fix: use 'name' for tasks/steps, fix resolver and test issues, ensure all server tests pass 2025-06-14 15:44:50 -05:00
7e3b2a020c
refactor: use dependency injection for printer in resolvers and tests 2025-06-14 14:31:24 -05:00
75f30b3a16
feat(server): initial implementation with injectable database and testable server - Set up project structure, database schema, and GraphQL API. Implement injectable Knex database for clean testability. Add test printer, migrations, and unit tests. All server and test code is clean, modular, and ready for further development. 2025-06-14 13:45:25 -05:00