5 Commits

Author SHA1 Message Date
Connor Johnstone
5ac945ef23 Fix day number color inheritance for today and selected in print
Some checks failed
Build and Push Docker Image / docker (push) Has been cancelled
The day numbers for today and selected dates were not matching the
appearance of normal day numbers in print preview due to color
inheritance issues.

Changes:
- Remove color override from .calendar-day.today parent element
- Use color: inherit on day numbers to get default text color
- Use font-weight: 600 to match standard day number styling

Now all day numbers appear uniform in print preview regardless of
today/selected state.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 16:41:25 -05:00
Connor Johnstone
419ac0e80d Fix day number styling for today in print preview
The day number text for today's date was still showing the special
blue color styling in print preview. This adds a specific rule to
reset the .day-number color and font-weight for today's date.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 16:37:03 -05:00
Connor Johnstone
2b1d0f38f5 Remove today and selected day highlighting in print preview
Print output should have clean, uniform styling without interactive
visual indicators. This change removes the special highlighting for:

- Today's date (blue background and border)
- Selected date (green background, border, and box-shadow)

Both dates now appear with standard calendar day styling in print,
maintaining a professional printed appearance.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 16:35:16 -05:00
Connor Johnstone
1701a95183 Fix print preview to display all 6 rows for 6-week months
The print preview was only showing 5 rows for months requiring 6 rows
(like November 2025). The issue was that the .calendar container uses
flexbox layout, but the grid wasn't properly constrained to fit within
the fixed paper height.

Changes:
- Set explicit height: 100% on .print-preview-paper .calendar
- Use flex: 1 on calendar-grid to fill remaining space after header
- Add min-height: 0 to both calendar-grid and calendar-day to allow
  flexbox items to shrink below their content size

This allows the CSS Grid's repeat(6, 1fr) to properly distribute all
6 rows evenly within the available space while maintaining the fixed
paper dimensions for consistent printing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 16:30:26 -05:00
Connor Johnstone
13702d8c30 Add theme-aware styling for date and time picker icons
The calendar and clock icons in date/time input fields were showing as black regardless of theme, making them hard to see on dark themes.

Changes:
- Add --calendar-picker-filter CSS variable to control icon appearance
- Set filter to none for light themes (keep default black icons)
- Set filter to invert(1) brightness(0.9) for all dark themes
- Apply styling to ::-webkit-calendar-picker-indicator and ::-moz-calendar-picker-indicator
- Cover all dark themes: dark, midnight, charcoal, nord, dracula

The date/time picker icons now properly invert to white/light colors on dark themes while remaining black on light themes.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-26 10:40:49 -04:00
2 changed files with 57 additions and 3 deletions

View File

@@ -201,6 +201,21 @@
overflow: hidden;
}
/* Ensure calendar and grid have proper height constraints for row distribution */
.print-preview-paper .calendar {
height: 100%;
}
.print-preview-paper .calendar-grid {
flex: 1 !important; /* Fill remaining space after header in flex container */
min-height: 0 !important; /* Allow grid to shrink below content size in flexbox */
height: auto !important; /* Override the calc() from base styles */
}
.print-preview-paper .calendar-day {
min-height: 0 !important; /* Allow day cells to shrink to fit in grid rows */
}
/* Hide UI elements in preview */
.print-preview-paper .app-sidebar,
.print-preview-paper .print-button,
@@ -218,9 +233,26 @@
.print-preview-paper .week-day-header.today,
.print-preview-paper .week-day-column.today {
background-color: transparent !important;
border-color: var(--border-color, #ddd) !important;
color: var(--text-color, #333) !important;
border: 1px solid var(--calendar-border, #f0f0f0) !important;
font-weight: normal !important;
box-shadow: none !important;
}
.print-preview-paper .calendar-day.today .day-number {
color: inherit !important;
font-weight: 600 !important;
}
/* Remove selected day highlighting in preview */
.print-preview-paper .calendar-day.selected {
background-color: transparent !important;
border: 1px solid var(--calendar-border, #f0f0f0) !important;
box-shadow: none !important;
}
.print-preview-paper .calendar-day.selected .day-number {
color: inherit !important;
font-weight: 600 !important;
}
/* Week view hour range filtering in preview - target all possible selector paths */

View File

@@ -40,6 +40,7 @@
--text-inverse: #ffffff;
--border-primary: #e9ecef;
--border-secondary: #dee2e6;
--calendar-picker-filter: none; /* Date/time picker icons stay default (black) for light theme */
--border-light: #f8f9fa;
--error-color: #dc3545;
--success-color: #28a745;
@@ -148,7 +149,7 @@ input, select, textarea, button {
[data-theme="dark"] {
--primary-color: #374151;
--primary-gradient: linear-gradient(135deg, #374151 0%, #1f2937 100%);
/* Dark Theme Overrides */
--background-primary: #111827;
--background-secondary: #1f2937;
@@ -159,6 +160,7 @@ input, select, textarea, button {
--border-primary: #374151;
--border-secondary: #4b5563;
--border-light: #6b7280;
--calendar-picker-filter: invert(1) brightness(0.9); /* Invert calendar/clock icons for dark theme */
/* Modal Colors - Dark */
--modal-background: #1f2937;
@@ -201,21 +203,25 @@ input, select, textarea, button {
[data-theme="midnight"] {
--primary-color: #4c9aff;
--primary-gradient: linear-gradient(135deg, #0f1419 0%, #151b26 100%);
--calendar-picker-filter: invert(1) brightness(0.9);
}
[data-theme="charcoal"] {
--primary-color: #4ade80;
--primary-gradient: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
--calendar-picker-filter: invert(1) brightness(0.9);
}
[data-theme="nord"] {
--primary-color: #88c0d0;
--primary-gradient: linear-gradient(135deg, #2e3440 0%, #3b4252 100%);
--calendar-picker-filter: invert(1) brightness(0.9);
}
[data-theme="dracula"] {
--primary-color: #bd93f9;
--primary-gradient: linear-gradient(135deg, #282a36 0%, #44475a 100%);
--calendar-picker-filter: invert(1) brightness(0.9);
}* {
margin: 0;
padding: 0;
@@ -947,6 +953,22 @@ body {
cursor: not-allowed;
}
/* Style date and time picker icons to be theme-aware */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
filter: var(--calendar-picker-filter, none);
cursor: pointer;
}
/* Firefox date/time picker icon styling */
input[type="date"]::-moz-calendar-picker-indicator,
input[type="time"]::-moz-calendar-picker-indicator,
input[type="datetime-local"]::-moz-calendar-picker-indicator {
filter: var(--calendar-picker-filter, none);
cursor: pointer;
}
.input-with-checkbox {
display: flex;
align-items: center;