dashboard - first draft of complete redesign
This commit is contained in:
@@ -1,340 +1,106 @@
|
||||
/* Gesamtes Seiten-Layout */
|
||||
body {
|
||||
margin: 0;
|
||||
height: 100vh;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-family: 'SUSE', sans-serif;
|
||||
font-size: 20px;
|
||||
background-image: url('cloudy.jpg');
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Content Board Layout */
|
||||
.content-board {
|
||||
background-color: #a8a6a7a7;
|
||||
width: 99%;
|
||||
height: 97%;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
border-radius: 0;
|
||||
padding: 0 6px 7px 3px;
|
||||
}
|
||||
|
||||
.content-column-left {
|
||||
width: 40%;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.content-column-right {
|
||||
width: 58%;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.temperature {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
padding: 5px 0 0 0;
|
||||
height: 70%;
|
||||
}
|
||||
|
||||
.verse {
|
||||
text-align: justify;
|
||||
color: rgb(67, 67, 67);
|
||||
padding: 5px 15px 5px 15px;
|
||||
}
|
||||
|
||||
.date {
|
||||
color: rgb(67, 67, 67);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.content-column-right-upper-box-left {
|
||||
width: 60%;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.content-column-right-upper-box-right {
|
||||
width: 39%;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.content-column-right-upper-box {
|
||||
width: 100%;
|
||||
height: 51%;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.content-item-time {
|
||||
border-radius: 0;
|
||||
box-shadow: 5px 5px 2px rgba(0, 0, 0, 0.16);
|
||||
background-color: #ffffffab;
|
||||
width: 100%;
|
||||
height: 30%;
|
||||
margin: 15px 0 15px 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.content-item-news {
|
||||
border-radius: 0;
|
||||
box-shadow: 5px 5px 2px rgba(0, 0, 0, 0.16);
|
||||
background-color: #ffffffab;
|
||||
width: 100%;
|
||||
height: 63%;
|
||||
margin: 15px 0 15px 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.content-item-video {
|
||||
border-radius: 0;
|
||||
box-shadow: 5px 5px 2px rgba(0, 0, 0, 0.16);
|
||||
background-color: #cbc5bc;
|
||||
width: 100%;
|
||||
height: 40%;
|
||||
margin: 15px 0 15px 0;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.content-item-middle-top {
|
||||
position: relative;
|
||||
border-radius: 0;
|
||||
box-shadow: 5px 5px 2px rgba(0, 0, 0, 0.16);
|
||||
background-color: #cbc5bc;
|
||||
width: 100%;
|
||||
height: 60%;
|
||||
margin: 15px 0 15px 0;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Pseudoelement für den animierten border-bottom Effekt */
|
||||
.content-item-middle-top::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 15px;
|
||||
background: linear-gradient(to bottom, transparent, #cbc5bc);
|
||||
}
|
||||
|
||||
/* Monatsplan: jetzt mit weißem Hintergrund */
|
||||
.content-item-month {
|
||||
border-radius: 0;
|
||||
box-shadow: 5px 5px 2px rgba(0, 0, 0, 0.16);
|
||||
background-color: #cbc5bc7d;
|
||||
width: 100%;
|
||||
height: 56%;
|
||||
margin: 15px 0 15px 0;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
}
|
||||
.content-item-month-cell {
|
||||
display: flex;
|
||||
background-color: #ffffffe5;
|
||||
justify-content: center; /* Zentriere die Bilder horizontal */
|
||||
height: 94%;
|
||||
align-items: center; /* Zentriere die Bilder vertikal */
|
||||
}
|
||||
|
||||
.content-item-month-cell img {
|
||||
max-width: 100%; /* Verhindert, dass das Bild größer als der Container wird */
|
||||
max-height: 100%; /* Verhindert Verzerrungen, indem es die maximale Höhe auf die Containerhöhe beschränkt */
|
||||
object-fit: contain; /* Stellt sicher, dass das Bild im Container bleibt, ohne gestreckt zu werden */
|
||||
}
|
||||
|
||||
.content-item-daily {
|
||||
border-radius: 0;
|
||||
box-shadow: 5px 5px 2px rgba(0, 0, 0, 0.16);
|
||||
background-color: #edebe8;
|
||||
width: 100%;
|
||||
height: 63%;
|
||||
margin: 15px 0 15px 0;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.header-sticky-note {
|
||||
font-size: 25px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
height: 20px;
|
||||
width: 100%;
|
||||
padding: 5px 0 15px 0;
|
||||
border-bottom: 2px solid #38312430;
|
||||
background-color: #cbc5bc;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 80px;
|
||||
text-align: center;
|
||||
padding: 8px 0 0 0;
|
||||
}
|
||||
|
||||
.bible {
|
||||
text-align: center;
|
||||
font-size: 60px;
|
||||
padding: 10px 0 10px 0;
|
||||
border-bottom: 2px solid #38312456;
|
||||
background-color: #edebe8;
|
||||
}
|
||||
|
||||
.GB {
|
||||
text-align: center;
|
||||
font-size: 60px;
|
||||
padding: 5px 0 0 0;
|
||||
}
|
||||
|
||||
.GB-title {
|
||||
text-align: center;
|
||||
color: rgb(67, 67, 67);
|
||||
}
|
||||
|
||||
.content-column-double-item {
|
||||
width: 100%;
|
||||
height: 33%;
|
||||
margin: 15px 0 15px 0;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* Elemente innerhalb des Content Boards */
|
||||
.content-item {
|
||||
border-radius: 0;
|
||||
box-shadow: 5px 5px 2px rgba(0, 0, 0, 0.16);
|
||||
background-color: #edebe8;
|
||||
height: 100%;
|
||||
width: 49%;
|
||||
}
|
||||
|
||||
.content-item-bottom-box {
|
||||
border-radius: 0;
|
||||
box-shadow: 5px 5px 2px rgba(0, 0, 0, 0.16);
|
||||
background-color: #edebe8;
|
||||
margin: 6px 0 0 0;
|
||||
height: 47.5%;
|
||||
width: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.video-container {
|
||||
border-radius: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
border: 5px solid #cbc5bc;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.video-container video {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
transform: scale(1.2);
|
||||
object-fit: cover;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 40%;
|
||||
background-color: #38312431;
|
||||
border-radius: 0;
|
||||
border: 2px solid #38312440;
|
||||
}
|
||||
|
||||
.text-outdoor {
|
||||
font-weight: bold;
|
||||
padding: 9px 0 0 0;
|
||||
margin: 0 0 15px 0;
|
||||
}
|
||||
|
||||
.text-indoor {
|
||||
font-weight: bold;
|
||||
margin: 0 0 15px 0;
|
||||
}
|
||||
|
||||
.news-box {
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
padding: 5px 15px 5px 15px;
|
||||
border-bottom: 2px solid #38312456;
|
||||
background-color: #edebe8;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.news-date {
|
||||
font-weight: bold;
|
||||
margin: 0 10px 0 0;
|
||||
}
|
||||
|
||||
.news-subtitle {
|
||||
color: rgba(67, 67, 67, 0.657);
|
||||
}
|
||||
|
||||
.news-container {
|
||||
height: 290px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
.news-scroll {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
animation-name: scroll-v;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
--scroll-distance-v: 0px;
|
||||
}
|
||||
@keyframes scroll-v {
|
||||
0% { transform: translateY(0); }
|
||||
100% { transform: translateY(var(--scroll-distance-v)); }
|
||||
}
|
||||
|
||||
.aushang-flex img {
|
||||
border-radius: 0;
|
||||
margin: 0 10px 0 0;
|
||||
border: 2px solid #38312440;
|
||||
box-shadow: 4px 4px 2px rgba(0, 0, 0, 0.08);
|
||||
}
|
||||
|
||||
.aushang-flex {
|
||||
padding: 0 5px 0 5px;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
height: 90.5%;
|
||||
border-radius: 0;
|
||||
|
||||
animation-name: scroll-h;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
--scroll-distance-h: 0px;
|
||||
}
|
||||
@keyframes scroll-h {
|
||||
0% { transform: translateX(0); }
|
||||
100% { transform: translateX(var(--scroll-distance-h)); }
|
||||
}
|
||||
/* Bildgrößen aus dem Original; Schrift und Farben aus den zentralen CD-Tokens. */
|
||||
body.dashboard {
|
||||
--dashboard-text: var(--nak-black);
|
||||
--dashboard-meta: var(--gray-700);
|
||||
--panel-surface: #fff;
|
||||
--dashboard-unit: clamp(1px, 0.052083333vw, 2px);
|
||||
--panel-heading-height: calc(31 * var(--dashboard-unit));
|
||||
/* Original: Board 97vh minus 7px Innenabstand, Monatsfeld 56%, Bildbereich 94%. */
|
||||
--original-board-height: calc(97vh - 7px);
|
||||
--month-image-height: calc(var(--original-board-height) * 0.56 * 0.94);
|
||||
--month-aspect: 1.414;
|
||||
--announcement-font: var(--bible-font);
|
||||
--announcement-detail-font: calc(20 * var(--dashboard-unit));
|
||||
--announcement-meta-font: calc(15 * var(--dashboard-unit));
|
||||
--announcement-leading: 1.35;
|
||||
--announcement-measure: 85ch;
|
||||
--bible-font: calc(23 * var(--dashboard-unit));
|
||||
display: block;
|
||||
height: 100vh;
|
||||
height: 100dvh;
|
||||
min-height: 0;
|
||||
padding: 0;
|
||||
color: var(--dashboard-text);
|
||||
background: var(--nak-blue-light) url('cloudy.jpg') center / cover no-repeat;
|
||||
overflow: hidden;
|
||||
}
|
||||
.dashboard [hidden] { display: none !important; }
|
||||
.dashboard-main {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.85fr) calc(var(--month-image-height) * var(--month-aspect) + 2px);
|
||||
grid-template-rows: calc(var(--month-image-height) + var(--panel-heading-height) + 2px) minmax(0, 1fr);
|
||||
grid-template-areas: "community announcements month" "posters posters posters";
|
||||
gap: var(--space-sm);
|
||||
height: 100%;
|
||||
min-height: 0;
|
||||
padding: var(--space-sm);
|
||||
}
|
||||
#month-panel { grid-area: month; --panel-accent: var(--nak-darkblue); }
|
||||
#poster-panel { grid-area: posters; --panel-accent: var(--nak-orange); --poster-frame-width: 2px; }
|
||||
#announcements-panel { grid-area: announcements; --panel-accent: var(--nak-teal); }
|
||||
.community-column { grid-area: community; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: var(--space-sm); min-height: 0; min-width: 0; }
|
||||
.dashboard-overview { background: var(--panel-surface); box-shadow: inset 0 calc(3 * var(--dashboard-unit)) var(--nak-blue); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: calc(12 * var(--dashboard-unit)); padding: calc(8 * var(--dashboard-unit)) calc(12 * var(--dashboard-unit)); }
|
||||
.dashboard-brand { display: flex; align-items: flex-end; gap: calc(10 * var(--dashboard-unit)); }
|
||||
.dashboard-brand img { display: block; flex: 0 0 auto; width: calc(64 * var(--dashboard-unit)); height: calc(64 * var(--dashboard-unit)); }
|
||||
.dashboard-wordmark { font-size: var(--announcement-meta-font); line-height: 1.2; transform: translateY(calc(4 * var(--dashboard-unit))); }
|
||||
.dashboard-wordmark span, .dashboard-wordmark strong { display: block; white-space: nowrap; }
|
||||
.dashboard-wordmark strong { font-weight: 500; }
|
||||
.dashboard-clock { margin-left: auto; transform: translateY(calc(3 * var(--dashboard-unit))); }
|
||||
.dashboard-clock time { display: block; }
|
||||
#clock { font-size: calc(48 * var(--dashboard-unit)); line-height: 1; font-weight: 500; font-variant-numeric: tabular-nums; }
|
||||
#date { font-size: var(--announcement-meta-font); white-space: nowrap; }
|
||||
.dashboard-panel { min-width: 0; min-height: 0; background: var(--panel-surface); border: 1px solid var(--gray-300); border-radius: 0; }
|
||||
.image-panel, .text-panel { display: grid; grid-template-rows: var(--panel-heading-height) minmax(0, 1fr); }
|
||||
.panel-heading { display: flex; align-items: center; padding: calc(3 * var(--dashboard-unit)) calc(8 * var(--dashboard-unit)) 0; border-bottom: 1px solid var(--gray-300); background: var(--panel-surface); box-shadow: inset 0 calc(3 * var(--dashboard-unit)) var(--panel-accent); }
|
||||
.panel-heading h1, .panel-heading h2 { margin: 0; color: var(--dashboard-text); font-size: calc(20 * var(--dashboard-unit)); line-height: 1.1; font-weight: 500; }
|
||||
.poster-progress { width: calc(18 * var(--dashboard-unit)); height: calc(18 * var(--dashboard-unit)); margin-left: auto; flex: 0 0 auto; fill: none; stroke-width: 2; }
|
||||
.poster-progress-track { stroke: var(--gray-300); }
|
||||
.poster-progress-value { stroke: var(--panel-accent); stroke-dasharray: 100; stroke-dashoffset: 100; transform: rotate(-90deg); transform-origin: center; }
|
||||
.image-stage { min-height: 0; min-width: 0; padding: 0; column-gap: var(--space-sm); }
|
||||
#poster-panel .image-stage { padding: calc(4 * var(--dashboard-unit)); }
|
||||
.image-sheet { display: flex; justify-content: center; align-items: center; gap: var(--space-sm); width: 100%; height: 100%; min-height: 0; }
|
||||
#month-panel .image-sheet { gap: 0; }
|
||||
.image-cell { margin: 0; min-height: 0; min-width: 0; flex: 0 0 auto; }
|
||||
.poster-document { display: flex; flex: 0 0 auto; gap: 0; background: #fff; border: var(--poster-frame-width) solid var(--gray-500); }
|
||||
.image-cell img { display: block; width: 100%; height: 100%; object-fit: contain; }
|
||||
.image-cell .empty-state { padding: var(--space-sm); font-size: var(--announcement-font); }
|
||||
.text-stage { min-height: 0; margin: calc(6 * var(--dashboard-unit)) calc(8 * var(--dashboard-unit)); overflow: hidden; position: relative; }
|
||||
#announcements-panel .text-stage { margin: 0; }
|
||||
#announcements-panel .text-stage > .empty-state { padding: 0 calc(10 * var(--dashboard-unit)); }
|
||||
.text-page { max-width: var(--announcement-measure); color: var(--dashboard-text); }
|
||||
.text-page p { margin: 0 0 var(--space-xs); white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--announcement-font); line-height: var(--announcement-leading); }
|
||||
.text-page p:last-child { margin-bottom: 0; }
|
||||
.text-page .announcement-title, .text-page .bible-reference { font-weight: 500; }
|
||||
.text-page .announcement-subtitle { font-size: var(--announcement-detail-font); color: var(--dashboard-meta); }
|
||||
.text-page .announcement-meta { font-size: var(--announcement-meta-font); color: var(--dashboard-meta); }
|
||||
.announcement-list { max-width: none; margin: 0; padding: 0; list-style: none; }
|
||||
/* Originale Zeilenaufteilung: Datum links, Inhalt mit Zeit/Ort rechts. */
|
||||
.announcement-entry { display: grid; grid-template-columns: calc(100 * var(--dashboard-unit)) minmax(0, 1fr); gap: calc(12 * var(--dashboard-unit)); padding: calc(6 * var(--dashboard-unit)) calc(10 * var(--dashboard-unit)); border-bottom: 1px solid var(--gray-300); background: var(--panel-surface); }
|
||||
.announcement-entry:nth-child(even) { background: var(--gray-50); }
|
||||
.announcement-content { min-width: 0; }
|
||||
.announcement-entry p { margin: 0; }
|
||||
.announcement-content .announcement-meta { font-style: italic; }
|
||||
.announcement-when { min-width: 0; font-weight: 300; color: var(--dashboard-meta); font-variant-numeric: tabular-nums; }
|
||||
.announcement-when p { margin-bottom: 0; font-size: var(--announcement-detail-font); }
|
||||
.bible-panel { --panel-accent: var(--nak-yellow); }
|
||||
.bible-panel .text-page { max-width: none; }
|
||||
.text-stage.is-overflowing::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: auto 0 0;
|
||||
height: calc(24 * var(--dashboard-unit));
|
||||
background: linear-gradient(to bottom, transparent, var(--panel-surface));
|
||||
pointer-events: none;
|
||||
}
|
||||
.empty-state { margin: 0; font-size: var(--announcement-font); line-height: var(--announcement-leading); color: var(--dashboard-meta); }
|
||||
.image-stage > .empty-state { padding: var(--space-md); }
|
||||
.dashboard noscript { position: fixed; bottom: 0; padding: var(--space-lg); background: #fff; color: var(--nak-red); }
|
||||
@media (max-width: 999px), (max-height: 599px) {
|
||||
body.dashboard { height: auto; min-height: 100vh; overflow: visible; }
|
||||
.dashboard-main {
|
||||
height: auto;
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
grid-template-areas: "community" "announcements" "month" "posters";
|
||||
grid-template-rows: 520px 320px 65vh 55vh;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user