Anpassungen Event Uebersicht II
This commit is contained in:
parent
23f3e85543
commit
433743069c
@ -215,7 +215,7 @@ textarea:focus {
|
|||||||
.option-card {
|
.option-card {
|
||||||
position: relative;
|
position: relative;
|
||||||
display: grid;
|
display: grid;
|
||||||
padding: 1.25rem;
|
padding: var(--space-31);
|
||||||
border: 1.5px solid var(--olive-light);
|
border: 1.5px solid var(--olive-light);
|
||||||
border-radius: var(--radius-md);
|
border-radius: var(--radius-md);
|
||||||
background: var(--butter-light);
|
background: var(--butter-light);
|
||||||
@ -241,11 +241,6 @@ textarea:focus {
|
|||||||
background: var(--olive-light);
|
background: var(--olive-light);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
.option-card:has(input:checked) small {
|
|
||||||
color: rgba(247, 246, 230, 0.88);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
.option-card--invalid {
|
.option-card--invalid {
|
||||||
border-color: var(--tomato) !important;
|
border-color: var(--tomato) !important;
|
||||||
box-shadow: 0 0 0 2px rgba(212, 75, 36, 0.14);
|
box-shadow: 0 0 0 2px rgba(212, 75, 36, 0.14);
|
||||||
@ -344,7 +339,7 @@ textarea:focus {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.error-message {
|
.error-message {
|
||||||
order: -1; /* nach oben verschieben */
|
order: -1; /* nach oben verschieben */
|
||||||
text-align: center;
|
text-align: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
@ -368,7 +363,7 @@ textarea:focus {
|
|||||||
.progress {
|
.progress {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
height: 0.3rem;
|
height: 0.3rem;
|
||||||
background: var(--olive-lightg);
|
background: var(--olive-light);
|
||||||
border-radius: var(--radius-sm);
|
border-radius: var(--radius-sm);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
@ -523,15 +518,6 @@ textarea:focus-visible {
|
|||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button--text {
|
|
||||||
justify-content: flex-start;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
.button--primary {
|
|
||||||
width: 100%;
|
|
||||||
*/
|
|
||||||
|
|
||||||
.event-flow-header {
|
.event-flow-header {
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -71,7 +71,6 @@
|
|||||||
color: var(--olive);
|
color: var(--olive);
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
letter-spacing: var(--ls-la);
|
letter-spacing: var(--ls-la);
|
||||||
font-weight: 500;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.filter-row {
|
.filter-row {
|
||||||
@ -84,32 +83,32 @@
|
|||||||
|
|
||||||
.category-group {
|
.category-group {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: var(--space-2);
|
gap: var(--space-1);
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.category-item {
|
.category-item {
|
||||||
border: 2px solid var(--olive);
|
border: 1.5px solid var(--tomato);
|
||||||
border-radius: var(--radius-md);
|
border-radius: var(--radius-pill);
|
||||||
background: var(--butter);
|
background: var(--butter-light);
|
||||||
color: var(--black);
|
color: var(--tomato);
|
||||||
line-height: 1.3;
|
line-height: 1.3;
|
||||||
padding: var(--space-1) var(--space-4);
|
padding: var(--space-1) var(--space-31);
|
||||||
min-height: 40px;
|
min-height: 40px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: background-color 0.2s ease, border-color 0.2s ease;
|
transition: background-color 0.2s ease, color 0.2s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.category-item:hover {
|
.category-item:hover {
|
||||||
background: #faf8e8;
|
background: var(--tomato);
|
||||||
|
color: var(--butter-light);
|
||||||
}
|
}
|
||||||
|
|
||||||
.category-item.active {
|
.category-item.active {
|
||||||
border-color: transparent;
|
background: var(--tomato);
|
||||||
background: var(--olive);
|
color: var(--butter-light);
|
||||||
color: var(--white);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.meta-filter-group {
|
.meta-filter-group {
|
||||||
@ -130,26 +129,26 @@
|
|||||||
|
|
||||||
.meta-filter select,
|
.meta-filter select,
|
||||||
.meta-filter input[type="date"] {
|
.meta-filter input[type="date"] {
|
||||||
border: 2px solid var(--olive);
|
border: 1.5px solid var(--tomato);
|
||||||
border-radius: var(--radius-md);
|
border-radius: var(--radius-sm);
|
||||||
background: var(--butter);
|
background: var(--butter-light);
|
||||||
color: var(--black);
|
color: var(--black);
|
||||||
line-height: 1.3;
|
|
||||||
padding: var(--space-1) var(--space-4);
|
padding: var(--space-1) var(--space-4);
|
||||||
min-height: 40px;
|
min-height: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
.meta-filter select:focus,
|
.meta-filter select:focus,
|
||||||
.meta-filter input[type="date"]:focus {
|
.meta-filter input[type="date"]:focus {
|
||||||
outline: 2px solid rgba(107, 107, 5, 0.35);
|
outline: 2px solid rgba(107, 107, 5, 0.35);
|
||||||
outline-offset: 1px;
|
outline-offset: 1px;
|
||||||
}
|
}*/
|
||||||
|
|
||||||
.meta-filter input[type="date"] {
|
.meta-filter input[type="date"] {
|
||||||
color-scheme: light;
|
color-scheme: light;
|
||||||
accent-color: var(--olive);
|
accent-color: var(--tomato);
|
||||||
}
|
}
|
||||||
|
|
||||||
.meta-filter input[type="date"]::-webkit-calendar-picker-indicator {
|
.meta-filter input[type="date"]::-webkit-calendar-picker-indicator {
|
||||||
@ -185,7 +184,7 @@
|
|||||||
|
|
||||||
.event-card {
|
.event-card {
|
||||||
/* Core card container for every overview event entry. */
|
/* Core card container for every overview event entry. */
|
||||||
background: rgba(255, 255, 255, 0.9);
|
background: var(--butter-light);
|
||||||
border-radius: var(--radius-lg);
|
border-radius: var(--radius-lg);
|
||||||
padding: var(--space-5) 40px var(--space-4);
|
padding: var(--space-5) 40px var(--space-4);
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -193,7 +192,12 @@
|
|||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
gap: var(--space-6);
|
gap: var(--space-6);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
box-shadow: 0 3px 12px rgba(102, 52, 13, 0.1);
|
transition: box-shadow 0.2s ease, transform 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.event-card:hover {
|
||||||
|
box-shadow: var(--shadow-interaction);
|
||||||
|
transform: translateY(-3px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.event-main {
|
.event-main {
|
||||||
@ -202,29 +206,29 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.event-date-time {
|
.event-date-time {
|
||||||
margin: 0;
|
display: inline-flex;
|
||||||
|
gap: var(--space-0);
|
||||||
}
|
}
|
||||||
|
|
||||||
.event-top-row {
|
.event-top-row {
|
||||||
/* Primary metadata line: location + date/time/guest counters. */
|
/* Primary metadata line: location + date/time/guest counters. */
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: var(--space-5);
|
gap: var(--space-4);
|
||||||
margin-bottom: var(--space-1);
|
margin-bottom: var(--space-4);
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
.event-location {
|
.event-location {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
gap: var(--space-0);
|
||||||
gap: 6px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.event-location img {
|
.event-location .icon path{
|
||||||
width: 18px;
|
width: 20px;
|
||||||
height: 18px;
|
height: 20px;
|
||||||
|
flex: 0 0 20px;
|
||||||
display: block;
|
display: block;
|
||||||
filter: brightness(0) saturate(100%) invert(35%) sepia(95%) saturate(501%) hue-rotate(22deg) brightness(96%) contrast(96%);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.event-meta-row {
|
.event-meta-row {
|
||||||
@ -283,7 +287,7 @@
|
|||||||
/* Sold-out visual state, intentionally high-contrast and always filled. */
|
/* Sold-out visual state, intentionally high-contrast and always filled. */
|
||||||
border: 2px solid var(--tomato);
|
border: 2px solid var(--tomato);
|
||||||
border-radius: var(--radius-pill);
|
border-radius: var(--radius-pill);
|
||||||
color: var(--white);
|
color: var(--butter-light);
|
||||||
background: var(--tomato);
|
background: var(--tomato);
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
@ -308,39 +312,6 @@
|
|||||||
background: var(--olive);
|
background: var(--olive);
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-primary-register:hover,
|
|
||||||
.btn-primary-register:focus-visible {
|
|
||||||
background: #575704;
|
|
||||||
transform: translateY(-1px);
|
|
||||||
box-shadow: 0 4px 10px rgba(107, 107, 5, 0.28);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-primary-register:active {
|
|
||||||
transform: translateY(0);
|
|
||||||
box-shadow: 0 2px 6px rgba(107, 107, 5, 0.25);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-primary-danger {
|
|
||||||
background: var(--tomato);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-primary-danger:hover,
|
|
||||||
.btn-primary-danger:focus-visible {
|
|
||||||
background: var(--tomato-dark);
|
|
||||||
transform: translateY(-1px);
|
|
||||||
box-shadow: 0 4px 10px rgba(188, 74, 52, 0.28);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-primary-danger:active {
|
|
||||||
transform: translateY(0);
|
|
||||||
box-shadow: 0 2px 6px rgba(188, 74, 52, 0.25);
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-primary:disabled {
|
|
||||||
opacity: 0.6;
|
|
||||||
cursor: not-allowed;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-primary-own,
|
.btn-primary-own,
|
||||||
.btn-primary-own:disabled {
|
.btn-primary-own:disabled {
|
||||||
background: var(--olive-light);
|
background: var(--olive-light);
|
||||||
@ -396,7 +367,7 @@
|
|||||||
border: 0;
|
border: 0;
|
||||||
border-radius: var(--radius-pill);
|
border-radius: var(--radius-pill);
|
||||||
background: var(--olive);
|
background: var(--olive);
|
||||||
color: var(--white);
|
color: var(--butter-light);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
padding: 10px 22px;
|
padding: 10px 22px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@ -440,7 +411,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.detail-top-row {
|
.detail-top-row {
|
||||||
display: flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: var(--space-5);
|
gap: var(--space-5);
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
@ -489,7 +460,7 @@
|
|||||||
height: 32px;
|
height: 32px;
|
||||||
border-radius: 999px;
|
border-radius: 999px;
|
||||||
background: var(--olive);
|
background: var(--olive);
|
||||||
color: var(--white);
|
color: var(--butter-light);
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@ -607,7 +578,7 @@
|
|||||||
right: 0;
|
right: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: var(--white);
|
color: var(--butter-light);
|
||||||
font-size: 40px;
|
font-size: 40px;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@ -656,7 +627,7 @@
|
|||||||
height: 34px;
|
height: 34px;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background: var(--tomato);
|
background: var(--tomato);
|
||||||
color: var(--white);
|
color: var(--butter-light);
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@ -705,18 +676,21 @@
|
|||||||
|
|
||||||
.detail-action-bar {
|
.detail-action-bar {
|
||||||
/* Sticky bottom CTA bar with summary and booking controls. */
|
/* Sticky bottom CTA bar with summary and booking controls. */
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: var(--space-2);
|
gap: var(--space-2);
|
||||||
background: rgba(255, 255, 255, 0.95);
|
background: var(--white);
|
||||||
border: 1px solid var(--olive-light);
|
backdrop-filter: blur(3px) saturate(140%);
|
||||||
|
-webkit-backdrop-filter: blur(3px) saturate(140%);
|
||||||
border-radius: var(--radius-md);
|
border-radius: var(--radius-md);
|
||||||
|
box-shadow: var(--shadow-interaction);
|
||||||
|
|
||||||
padding: 10px 14px;
|
padding: 10px 14px;
|
||||||
position: sticky;
|
position: sticky;
|
||||||
bottom: 18px;
|
bottom: 18px;
|
||||||
z-index: 12;
|
z-index: 1001;
|
||||||
box-shadow: 0 3px 12px rgba(102, 52, 13, 0.1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.detail-action-summary {
|
.detail-action-summary {
|
||||||
@ -897,10 +871,6 @@
|
|||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.category-group {
|
|
||||||
gap: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.category-item {
|
.category-item {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
padding: 8px 14px;
|
padding: 8px 14px;
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
--olive-dark: #545404;
|
--olive-dark: #545404;
|
||||||
--olive-light: #C8CC7A;
|
--olive-light: #C8CC7A;
|
||||||
--butter: #F5F1BC;
|
--butter: #F5F1BC;
|
||||||
--butter-light: #F7F6E6;
|
--butter-light: #FAF9F0;
|
||||||
--white: #ffffff;
|
--white: #ffffff;
|
||||||
--black: #141411;
|
--black: #141411;
|
||||||
--brown: #66340d;
|
--brown: #66340d;
|
||||||
@ -39,9 +39,11 @@
|
|||||||
--shadow-error: 0 0 0 2px rgba(255, 59, 48, 0.1);
|
--shadow-error: 0 0 0 2px rgba(255, 59, 48, 0.1);
|
||||||
|
|
||||||
/* Spacing Scale > 1rem = 16px*/
|
/* Spacing Scale > 1rem = 16px*/
|
||||||
|
--space-0: 0.25rem; /* 4px */
|
||||||
--space-1: 0.5rem; /* 8px */
|
--space-1: 0.5rem; /* 8px */
|
||||||
--space-2: 0.75rem; /* 12px */
|
--space-2: 0.75rem; /* 12px */
|
||||||
--space-3: 1rem; /* 16px */
|
--space-3: 1rem; /* 16px */
|
||||||
|
--space-31: 1.25rem; /* 20px */
|
||||||
--space-4: 1.5rem; /* 24px */
|
--space-4: 1.5rem; /* 24px */
|
||||||
--space-5: 2rem; /* 32px */
|
--space-5: 2rem; /* 32px */
|
||||||
--space-6: 2.5rem; /* 40px */
|
--space-6: 2.5rem; /* 40px */
|
||||||
@ -79,7 +81,7 @@ h1, h2, h3, h4, h5, h6 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 2.5rem;
|
font-size: clamp(2.25rem, 5vw, 3rem);
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
line-height: 120%;
|
line-height: 120%;
|
||||||
letter-spacing: var(--ls-sm);
|
letter-spacing: var(--ls-sm);
|
||||||
@ -88,6 +90,15 @@ h1 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
|
font-size: 2.5rem;
|
||||||
|
font-weight: 600;
|
||||||
|
line-height: 120%;
|
||||||
|
letter-spacing: var(--ls-sm);
|
||||||
|
color: var(--brown);
|
||||||
|
margin-bottom: 1.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
font-size: 2rem;
|
font-size: 2rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
line-height: 120%;
|
line-height: 120%;
|
||||||
@ -122,6 +133,13 @@ p {
|
|||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
flex: 0 0 20px;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
/* Top Navigation */
|
/* Top Navigation */
|
||||||
.top-nav-wrap {
|
.top-nav-wrap {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
@ -234,7 +252,7 @@ p {
|
|||||||
font-family: var(--font-main);
|
font-family: var(--font-main);
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
font-size: 1.25rem;
|
font-size: 1.25rem;
|
||||||
color: var(--butter);
|
color: var(--butter-light);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
transition: background-color 0.2s ease, border-color 0.2s ease;
|
transition: background-color 0.2s ease, border-color 0.2s ease;
|
||||||
@ -245,6 +263,36 @@ p {
|
|||||||
border-color: var(--olive-dark);
|
border-color: var(--olive-dark);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.button-primary:disabled {
|
||||||
|
border-color: transparent;
|
||||||
|
background: transparent;
|
||||||
|
color: var(--olive-dark);
|
||||||
|
opacity: 0.6;
|
||||||
|
padding: 0.375rem 0 0.375rem 1.5rem;
|
||||||
|
cursor: not-allowed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-primary-abmelden {
|
||||||
|
display: inline-block;
|
||||||
|
padding: 0.375rem 1.5rem;
|
||||||
|
background-color: var(--blue);
|
||||||
|
border: 1.5px solid var(--blue);
|
||||||
|
border-radius: var(--radius-lg);
|
||||||
|
font-family: var(--font-main);
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
color: var(--butter-light);
|
||||||
|
cursor: pointer;
|
||||||
|
text-decoration: none;
|
||||||
|
transition: background-color 0.2s ease, border-color 0.2s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-primary-abmelden:hover,
|
||||||
|
.button-primary-abmelden:focus-visible {
|
||||||
|
background: var(--blue-dark);
|
||||||
|
border-color: var(--blue-dark);
|
||||||
|
}
|
||||||
|
|
||||||
.button-secondary {
|
.button-secondary {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: 0.375rem 1.5rem;
|
padding: 0.375rem 1.5rem;
|
||||||
|
|||||||
@ -85,7 +85,7 @@
|
|||||||
{
|
{
|
||||||
"id": 3,
|
"id": 3,
|
||||||
"title": "Japanese Delight",
|
"title": "Japanese Delight",
|
||||||
"location": "ZÜRICH",
|
"location": "Zürich",
|
||||||
"address": "Limmatquai 92, 8001 Zürich",
|
"address": "Limmatquai 92, 8001 Zürich",
|
||||||
"date": "02. MAI. 2026",
|
"date": "02. MAI. 2026",
|
||||||
"time": "12:30 UHR",
|
"time": "12:30 UHR",
|
||||||
|
|||||||
@ -5,11 +5,13 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Event-Overview</title>
|
<title>Event-Overview</title>
|
||||||
|
|
||||||
<!-- Globales Stylesheet -->
|
|
||||||
<link rel="stylesheet" href="css/stylesheet_global.css">
|
|
||||||
<!-- Stylesheet für diese Seite-->
|
<!-- Stylesheet für diese Seite-->
|
||||||
<link rel="stylesheet" href="css/event_overview.css">
|
<link rel="stylesheet" href="css/event_overview.css">
|
||||||
<script src="js/navigation.js" defer></script>
|
<script src="js/navigation.js" defer></script>
|
||||||
|
|
||||||
|
<!-- Globales Stylesheet -->
|
||||||
|
<link rel="stylesheet" href="css/stylesheet_global.css">
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -28,7 +30,7 @@
|
|||||||
<!-- Main content: page headline, filter controls and dynamic event list -->
|
<!-- Main content: page headline, filter controls and dynamic event list -->
|
||||||
<main class="container">
|
<main class="container">
|
||||||
<!-- Page headline -->
|
<!-- Page headline -->
|
||||||
<h1 class="overview-title">Events</h1>
|
<h1>Events</h1>
|
||||||
|
|
||||||
<!-- Filter section: category chips + location/date filters -->
|
<!-- Filter section: category chips + location/date filters -->
|
||||||
<section class="filter-section">
|
<section class="filter-section">
|
||||||
@ -36,11 +38,11 @@
|
|||||||
<div class="filter-row">
|
<div class="filter-row">
|
||||||
<!-- Primary category filter buttons -->
|
<!-- Primary category filter buttons -->
|
||||||
<div class="category-group">
|
<div class="category-group">
|
||||||
<button class="category-item" type="button" data-cat="BRUNCH">BRUNCH</button>
|
<button class="category-item active" type="button" data-cat="ALLE">Alle</button>
|
||||||
<button class="category-item" type="button" data-cat="LUNCH">LUNCH</button>
|
<button class="category-item" type="button" data-cat="BRUNCH">Brunch</button>
|
||||||
<button class="category-item" type="button" data-cat="DINNER">DINNER</button>
|
<button class="category-item" type="button" data-cat="LUNCH">Lunch</button>
|
||||||
<button class="category-item" type="button" data-cat="COFFEE">COFFEE</button>
|
<button class="category-item" type="button" data-cat="COFFEE">Kaffee + Kuchen</button>
|
||||||
<button class="category-item active" type="button" data-cat="ALLE">ALLE</button>
|
<button class="category-item" type="button" data-cat="DINNER">Dinner</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Secondary filters populated/handled by JavaScript -->
|
<!-- Secondary filters populated/handled by JavaScript -->
|
||||||
|
|||||||
@ -6,7 +6,8 @@
|
|||||||
// DOM entry point and shared asset path.
|
// DOM entry point and shared asset path.
|
||||||
// -------------------------------------------------------------
|
// -------------------------------------------------------------
|
||||||
const detailContainer = document.getElementById('detail-view');
|
const detailContainer = document.getElementById('detail-view');
|
||||||
const locationIconPath = 'assets/icon_location-pin.svg';
|
const locationIconPath = 'assets/icon_location.svg';
|
||||||
|
const calendarIconPath = 'assets/icon_calendar.svg';
|
||||||
const currentUser = getCurrentUser();
|
const currentUser = getCurrentUser();
|
||||||
|
|
||||||
// Read event id from query string (detail page deep-link support).
|
// Read event id from query string (detail page deep-link support).
|
||||||
@ -347,11 +348,12 @@
|
|||||||
|
|
||||||
<section class="detail-hero">
|
<section class="detail-hero">
|
||||||
<div class="detail-top-row">
|
<div class="detail-top-row">
|
||||||
<span class="event-location">
|
<span class="event-location">
|
||||||
<img src="${locationIconPath}" alt="">
|
<img src="${locationIconPath}" class="icon" alt="">
|
||||||
${event.location}
|
${event.location}
|
||||||
</span>
|
</span>
|
||||||
<p class="event-date-time">${displayDate} | ${displayTime} | ${confirmedGuests}/${totalGuests} Gäste</p>
|
<span class="event-date-time"> <img src="${calendarIconPath}" class="icon" alt=""> ${displayDate} | ${displayTime} |
|
||||||
|
${confirmedGuests}/${totalGuests} Gäste <span class="event-location">
|
||||||
</div>
|
</div>
|
||||||
<h1 class="detail-title">${event.title}</h1>
|
<h1 class="detail-title">${event.title}</h1>
|
||||||
<div class="event-meta-row detail-chip-row">
|
<div class="event-meta-row detail-chip-row">
|
||||||
|
|||||||
@ -9,7 +9,8 @@
|
|||||||
const filterButtons = document.querySelectorAll('.category-item');
|
const filterButtons = document.querySelectorAll('.category-item');
|
||||||
const locationFilter = document.getElementById('location-filter');
|
const locationFilter = document.getElementById('location-filter');
|
||||||
const dateFilter = document.getElementById('date-filter');
|
const dateFilter = document.getElementById('date-filter');
|
||||||
const locationIconPath = 'assets/icon_location-pin.svg';
|
const locationIconPath = 'assets/icon_location.svg';
|
||||||
|
const calendarIconPath = 'assets/icon_calendar.svg';
|
||||||
|
|
||||||
// -------------------------------------------------------------
|
// -------------------------------------------------------------
|
||||||
// In-memory state for fetched events and currently active category.
|
// In-memory state for fetched events and currently active category.
|
||||||
@ -367,27 +368,29 @@
|
|||||||
: '';
|
: '';
|
||||||
|
|
||||||
const actionMarkup = isOwnEvent
|
const actionMarkup = isOwnEvent
|
||||||
? '<button class="btn-primary btn-primary-own" type="button" data-registration-action="own" disabled>Dein Event!</button>'
|
? '<button class="button-primary" type="button" data-registration-action="own" disabled>Dein Event!</button>'
|
||||||
: isRegistered
|
: isRegistered
|
||||||
? '<button class="btn-primary btn-primary-danger" type="button" data-registration-action="unregister">Abmelden</button>'
|
? '<button class="button-primary button-primary-abmelden" type="button" data-registration-action="unregister">Abmelden</button>'
|
||||||
: isRegistrationClosed
|
: isRegistrationClosed
|
||||||
? '<button class="btn-primary btn-primary-danger" type="button" data-registration-action="closed" disabled>Anmeldung geschlossen</button>'
|
? '<button class="button-primary" button-primary-abmelden" type="button" data-registration-action="closed" disabled>Anmeldung geschlossen</button>'
|
||||||
: isFull
|
: isFull
|
||||||
? ''
|
? ''
|
||||||
: !currentUser
|
: !currentUser
|
||||||
? '<button class="btn-primary btn-primary-register" type="button" data-registration-action="login">Anmelden</button>'
|
? '<button class="button-primary btn-primary-register" type="button" data-registration-action="login">Anmelden</button>'
|
||||||
: '<button class="btn-primary btn-primary-register" type="button" data-registration-action="register">Anmelden</button>';
|
: '<button class="button-primary btn-primary-register" type="button" data-registration-action="register">Anmelden</button>';
|
||||||
|
|
||||||
card.innerHTML = `
|
card.innerHTML = `
|
||||||
<div class="event-main">
|
<div class="event-main">
|
||||||
<div class="event-top-row">
|
<div class="event-top-row">
|
||||||
<span class="event-location">
|
<span class="event-location">
|
||||||
<img src="${locationIconPath}" alt="">
|
<img src="${locationIconPath}" class="icon" alt="">
|
||||||
${event.location}
|
${event.location}
|
||||||
</span>
|
</span>
|
||||||
<p class="event-date-time">${displayDate} | ${displayTime} | ${bookedSeats}/${totalCapacity} Gäste</p>
|
<span class="event-date-time"> <img src="${calendarIconPath}" class="icon" alt=""> ${displayDate} | ${displayTime}
|
||||||
|
</span>
|
||||||
|
<span class="event-date-time"> ${bookedSeats}/${totalCapacity} Gäste</span>
|
||||||
</div>
|
</div>
|
||||||
<h2 class="event-title">${event.title}</h2>
|
<h3 class="event-title">${event.title}</h3>
|
||||||
<div class="event-meta-row">
|
<div class="event-meta-row">
|
||||||
<span class="event-tag">${event.category}</span>
|
<span class="event-tag">${event.category}</span>
|
||||||
<span class="event-tag">${event.diet}</span>
|
<span class="event-tag">${event.diet}</span>
|
||||||
@ -395,7 +398,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="event-side${isFull ? ' event-side-full' : ''}">
|
<div class="event-side${isFull ? ' event-side-full' : ''}">
|
||||||
<span class="event-spots${isFull ? ' event-spots-full' : ''}">${isFull ? 'AUSGEBUCHT' : `${freePlaces} Plätze FREI`}</span>
|
<span class="event-spots${isFull ? ' event-spots-full' : ''}">${isFull ? 'AUSGEBUCHT' : `${freePlaces} Plätze frei`}</span>
|
||||||
${actionMarkup}
|
${actionMarkup}
|
||||||
</div>
|
</div>
|
||||||
`;
|
`;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user