feat: refactorer l'interface Daily/Weekly/Monthly avec design moderne masonry layout, topbar avec onglets pills interactifs (daily/weekly/monthly), toolbar de navigation avec boutons prev/next et date courante, grille responsive 4 colonnes avec cartes hover animées, variables CSS personnalisables, support complet thème clair/sombre, et amélioration responsive avec breakpoints optimisés pour mobile/tablette

This commit is contained in:
2026-02-19 09:14:53 -05:00
parent ec8f08e003
commit 46ecb16241
2 changed files with 308 additions and 30 deletions
+279
View File
@@ -2571,6 +2571,285 @@ select:focus {
}
}
/* ===== Daily / Weekly / Monthly ===== */
.daily {
padding: 1.5rem 0 2.5rem;
}
.daily-topbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
margin-bottom: 1.5rem;
padding: 0.75rem 1rem;
border-radius: 16px;
background: var(--bg-card);
border: 1px solid var(--border);
box-shadow: var(--shadow-sm);
}
.daily-topbar-left {
display: inline-flex;
align-items: center;
gap: 0.6rem;
font-weight: 600;
color: var(--text-main);
}
.daily-topbar-tabs {
display: inline-flex;
gap: 0.5rem;
background: var(--bg-body);
padding: 0.35rem;
border-radius: 999px;
border: 1px solid var(--border-light);
}
.daily-tab {
padding: 0.45rem 0.95rem;
border-radius: 999px;
font-weight: 600;
font-size: 0.85rem;
color: var(--text-secondary);
transition: all 0.2s ease;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.daily-tab.is-active {
background: var(--primary);
color: #ffffff;
box-shadow: 0 8px 18px rgba(59, 130, 246, 0.35);
}
.daily-tab.is-inactive:hover {
color: var(--text-main);
background: var(--bg-card-hover);
}
.daily-toolbar {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
margin-bottom: 1.75rem;
padding: 0.9rem 1.1rem;
border-radius: 16px;
background: linear-gradient(135deg, rgba(15, 23, 42, 0.05), rgba(15, 23, 42, 0.02));
border: 1px solid var(--border);
}
.daily-toolbar-label {
display: inline-flex;
align-items: center;
gap: 0.6rem;
font-weight: 600;
color: var(--text-main);
}
.daily-toolbar-nav {
display: flex;
align-items: center;
gap: 0.75rem;
flex: 1;
justify-content: center;
flex-wrap: wrap;
}
.daily-nav-btn {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 0.95rem;
border-radius: 10px;
border: 1px solid var(--border);
background: var(--bg-card);
color: var(--text-main);
font-weight: 600;
font-size: 0.85rem;
transition: all 0.2s ease;
}
.daily-nav-btn:hover {
background: var(--bg-card-hover);
transform: translateY(-1px);
}
.daily-nav-btn[disabled] {
opacity: 0.5;
cursor: not-allowed;
transform: none;
}
.daily-current-date {
font-weight: 700;
color: var(--text-main);
padding: 0.35rem 0.9rem;
border-radius: 999px;
background: var(--bg-card);
border: 1px dashed var(--border);
font-size: 0.9rem;
}
.daily-calendar-btn {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 0.95rem;
border-radius: 999px;
background: var(--primary-light);
color: var(--primary);
font-weight: 600;
font-size: 0.85rem;
}
.daily-calendar-btn:hover {
background: rgba(59, 130, 246, 0.2);
color: var(--primary-hover);
}
.daily-grid {
column-count: 4;
column-gap: 18px;
width: 100%;
}
.daily-item {
display: inline-block;
width: 100%;
margin-bottom: 18px;
break-inside: avoid;
}
.daily-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: 18px;
overflow: hidden;
box-shadow: var(--shadow-md);
transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.daily-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-lg);
}
.daily-item-header {
display: block;
padding: 1rem 1.1rem 0.75rem;
font-weight: 600;
color: var(--text-main);
font-size: 1rem;
line-height: 1.35;
}
.daily-item-image {
width: 100%;
height: 160px;
background-size: cover;
background-position: center;
}
.daily-item-body {
padding: 0.85rem 1.1rem 0.5rem;
color: var(--text-secondary);
font-size: 0.9rem;
line-height: 1.55;
}
.daily-item-footer {
padding: 0.75rem 1.1rem 1rem;
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.75rem;
flex-wrap: wrap;
border-top: 1px solid var(--border-light);
font-size: 0.8rem;
color: var(--text-muted);
}
.daily-item-footer-subtitle {
color: var(--text-secondary);
font-weight: 600;
}
.daily-item-tags {
color: var(--text-muted);
font-size: 0.78rem;
font-weight: 500;
}
[data-theme="dark"] .daily-topbar,
[data-theme="dark"] .daily-toolbar {
background: #111827;
border-color: #1f2937;
}
[data-theme="dark"] .daily-topbar-tabs {
background: #0f172a;
border-color: #1f2937;
}
[data-theme="dark"] .daily-tab.is-active {
box-shadow: 0 10px 20px rgba(96, 165, 250, 0.35);
}
[data-theme="dark"] .daily-calendar-btn {
background: rgba(96, 165, 250, 0.15);
color: #cfe1ff;
}
[data-theme="dark"] .daily-card {
background: #101a2c;
border-color: #1e2a44;
box-shadow: 0 18px 26px rgba(4, 12, 26, 0.45);
}
[data-theme="dark"] .daily-item-footer {
border-top-color: #1e2a44;
}
@media (max-width: 1200px) {
.daily-grid {
column-count: 3;
}
}
@media (max-width: 900px) {
.daily-grid {
column-count: 2;
}
.daily-toolbar {
flex-direction: column;
align-items: flex-start;
}
.daily-toolbar-nav {
width: 100%;
justify-content: flex-start;
}
}
@media (max-width: 600px) {
.daily-grid {
column-count: 1;
}
.daily-topbar {
flex-direction: column;
align-items: flex-start;
}
.daily-topbar-tabs {
width: 100%;
justify-content: space-between;
}
}
/* ===== Bulk Bookmark Creation ===== */
.page-add .col-md-6.col-md-offset-3 {
width: 100%;