Fix calendar management modal color picker issues

- Fix z-index issue by creating separate CSS classes for inline vs dropdown color pickers
- Unify CalDAV and external calendar color pickers to use same grid interface
- Improve color picker styling with 4x4 grid layout for 16 colors
- Enhance color option appearance with proper border centering and sizing
- Replace native HTML color input with consistent predefined color grid
- Add visual improvements: larger swatches, better hover effects, checkmark selection

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Connor Johnstone
2025-09-05 11:58:35 -04:00
parent aa7a15e6fa
commit 0de2eee626
3 changed files with 75 additions and 24 deletions

View File

@@ -260,7 +260,20 @@ body {
transform: scale(1.1);
}
/* Inline color picker for forms */
.color-picker {
background: white;
border-radius: 4px;
padding: 1rem;
border: 1px solid #e5e7eb;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0.75rem;
max-width: 220px;
}
/* Dropdown color picker for sidebar calendars */
.color-picker-dropdown {
position: absolute;
top: 100%;
left: 0;
@@ -277,23 +290,42 @@ body {
}
.color-option {
width: 20px;
height: 20px;
border-radius: 50%;
border: 2px solid rgba(0,0,0,0.1);
width: 38px;
height: 38px;
border-radius: 6px;
border: 3px solid rgba(0,0,0,0.15);
cursor: pointer;
transition: all 0.2s;
transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
box-shadow: 0 1px 2px rgba(0,0,0,0.08);
box-sizing: border-box;
}
.color-option:hover {
transform: scale(1.2);
border-color: rgba(0,0,0,0.3);
transform: translateY(-2px);
border-color: rgba(0,0,0,0.2);
box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
.color-option.selected {
border-color: #333;
border-color: #2563eb;
border-width: 3px;
transform: scale(1.1);
transform: translateY(-2px) scale(1.05);
box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.3),
0 4px 8px rgba(0,0,0,0.15);
}
.color-option.selected::after {
content: '✓';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
font-size: 16px;
font-weight: bold;
text-shadow: 0 1px 3px rgba(0,0,0,0.7);
z-index: 1;
}
.color-picker-overlay {