mirror of
https://github.com/Dvorinka/MyClubServer.git
synced 2026-06-04 18:52:56 +00:00
de day #74
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
* Club Style Pack
|
||||
* Generic CSS utilities and components leveraging ClubThemeContext CSS variables
|
||||
* - Full-bleed utility
|
||||
* - Hero Topbar (above hero) with variants
|
||||
*/
|
||||
|
||||
/* Utility: full-bleed edge-to-edge content */
|
||||
.full-bleed {
|
||||
margin-left: calc(50% - 50vw);
|
||||
margin-right: calc(50% - 50vw);
|
||||
width: auto;
|
||||
}
|
||||
|
||||
/* Hero Topbar (above hero) */
|
||||
.club-hero-topbar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
padding: 10px 12px;
|
||||
border-bottom: 1px solid rgba(0,0,0,0.06);
|
||||
}
|
||||
|
||||
/* Brand variant: uses club colors and a subtle gradient */
|
||||
.club-hero-topbar--brand {
|
||||
color: var(--club-text-on-primary, #fff);
|
||||
background: linear-gradient(90deg, var(--club-primary, #0b5cff), var(--club-accent, #141414));
|
||||
border-bottom-color: rgba(255,255,255,0.12);
|
||||
}
|
||||
|
||||
/* Minimal variant: transparent with subtle text */
|
||||
.club-hero-topbar--minimal {
|
||||
color: inherit;
|
||||
background: transparent;
|
||||
border-bottom-color: rgba(0,0,0,0.06);
|
||||
}
|
||||
|
||||
/* Badge variant: pill-like container around the content */
|
||||
.club-hero-topbar--badge {
|
||||
color: var(--club-text-on-primary, #fff);
|
||||
background: var(--club-primary, #0b5cff);
|
||||
border-bottom-color: transparent;
|
||||
}
|
||||
|
||||
.club-hero-topbar__logo {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
border-radius: 9999px;
|
||||
background: rgba(255,255,255,0.08);
|
||||
overflow: hidden;
|
||||
}
|
||||
.club-hero-topbar--minimal .club-hero-topbar__logo {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.club-hero-topbar__title {
|
||||
font-weight: 700;
|
||||
line-height: 1.2;
|
||||
}
|
||||
.club-hero-topbar--brand .club-hero-topbar__title {
|
||||
text-shadow: 0 1px 10px rgba(0,0,0,0.25);
|
||||
}
|
||||
|
||||
.club-hero-topbar__tagline {
|
||||
opacity: 0.8;
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
|
||||
.club-hero-topbar__spacer {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.club-hero-topbar__actions {
|
||||
display: inline-flex;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
/* Responsive tweaks */
|
||||
@media (min-width: 768px) {
|
||||
.club-hero-topbar { padding: 12px 16px; }
|
||||
.club-hero-topbar__title { font-size: 1.125rem; }
|
||||
}
|
||||
@@ -20,6 +20,9 @@
|
||||
.ql-toolbar.ql-snow {
|
||||
min-height: 42px !important;
|
||||
height: auto !important;
|
||||
position: relative !important;
|
||||
z-index: 5000 !important;
|
||||
overflow: visible !important;
|
||||
}
|
||||
|
||||
.ql-container.ql-snow {
|
||||
@@ -148,6 +151,8 @@
|
||||
background: white;
|
||||
max-height: 300px;
|
||||
overflow-y: auto;
|
||||
position: absolute !important;
|
||||
z-index: 6000 !important;
|
||||
}
|
||||
|
||||
.ql-toolbar.ql-snow .ql-picker-options .ql-picker-item {
|
||||
@@ -452,10 +457,21 @@
|
||||
border-radius: 4px;
|
||||
white-space: nowrap;
|
||||
margin-bottom: 4px;
|
||||
z-index: 1000;
|
||||
z-index: 6000;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
/* Ensure Quill built-in tooltip (e.g., link editor) is above modals and containers */
|
||||
.ql-tooltip,
|
||||
.ql-snow .ql-tooltip {
|
||||
z-index: 6000 !important;
|
||||
}
|
||||
|
||||
/* Ensure custom image resize overlay sits above content */
|
||||
.custom-image-resize-container {
|
||||
z-index: 6000 !important;
|
||||
}
|
||||
|
||||
/* Loading State for Images */
|
||||
.ql-editor img[src=""] {
|
||||
opacity: 0.3;
|
||||
|
||||
@@ -0,0 +1,261 @@
|
||||
/* base vars and helpers */
|
||||
:root {
|
||||
--pack-gap-sm: 12px;
|
||||
--pack-gap-md: 16px;
|
||||
--pack-gap-lg: 24px;
|
||||
}
|
||||
|
||||
/* Global style-pack modifiers (toggle via body.class) */
|
||||
body.style-pack-default {
|
||||
--pack-radius: 12px;
|
||||
--pack-shadow: 0 8px 20px rgba(0,0,0,0.06), 0 2px 6px rgba(0,0,0,0.04);
|
||||
}
|
||||
body.style-pack-modern {
|
||||
--pack-radius: 16px;
|
||||
--pack-shadow: 0 14px 32px rgba(0,0,0,0.10), 0 4px 12px rgba(0,0,0,0.06);
|
||||
}
|
||||
body.style-pack-minimal {
|
||||
--pack-radius: 8px;
|
||||
--pack-shadow: none;
|
||||
}
|
||||
body.style-pack-sparta {
|
||||
--pack-radius: 12px;
|
||||
--pack-shadow: 0 10px 28px rgba(0,0,0,0.12), 0 4px 10px rgba(0,0,0,0.08);
|
||||
}
|
||||
body.style-pack-sparta .section-head h3 { text-transform: uppercase; font-weight: 700; letter-spacing: 0.5px; }
|
||||
body.style-pack-sparta .see-all { color: var(--club-primary, #0b5cff); font-weight: 700; }
|
||||
body.style-pack-sparta .btn { border-radius: 10px; letter-spacing: 0.3px; }
|
||||
body.style-pack-sparta .sponsor-tile:hover { transform: translateY(-8px) scale(1.1); }
|
||||
|
||||
/* Apply pack variables to common cards */
|
||||
.card,
|
||||
[data-element="news"] .blog-list .card,
|
||||
[data-element="table"] .table-card,
|
||||
.player-card,
|
||||
.match-card,
|
||||
.sponsor-tile,
|
||||
.newsletter-cta .card {
|
||||
border-radius: var(--pack-radius, 12px);
|
||||
box-shadow: var(--pack-shadow, none);
|
||||
}
|
||||
|
||||
/* Header & Footer tweaks */
|
||||
[data-element="header"][data-variant="fullwidth"] { box-shadow: none; }
|
||||
[data-element="footer"] { border-top: 1px solid var(--card-border, rgba(0,0,0,0.08)); }
|
||||
|
||||
/* Header variants */
|
||||
[data-element="header"][data-variant="transparent"] {
|
||||
background: transparent !important;
|
||||
}
|
||||
[data-element="header"][data-variant="minimal"] {
|
||||
box-shadow: none !important;
|
||||
border-bottom: 1px solid var(--card-border, rgba(0,0,0,0.08));
|
||||
}
|
||||
[data-element="header"][data-variant="modern"] {
|
||||
box-shadow: 0 10px 24px rgba(0,0,0,0.08);
|
||||
}
|
||||
[data-element="header"][data-variant="sparta_navbar"] {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* Section heads under style packs */
|
||||
body.style-pack-minimal .section-head h3::after { display: none; }
|
||||
body.style-pack-minimal .section-head { margin-top: 16px; }
|
||||
body.style-pack-modern .section-head h3::after { width: 64px; }
|
||||
|
||||
/* Banner placements */
|
||||
[data-element="banner"][data-variant="top"],
|
||||
[data-element="banner"][data-variant="bottom"] { text-align: center; }
|
||||
[data-element="sidebar"] img { border-radius: 8px; }
|
||||
|
||||
/* two-column news + table layout */
|
||||
.standings {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--pack-gap-lg);
|
||||
}
|
||||
@media (min-width: 992px) {
|
||||
.standings:not([data-variant="standard"]) {
|
||||
grid-template-columns: 2fr 1fr;
|
||||
}
|
||||
}
|
||||
|
||||
/* News list */
|
||||
[data-element="news"] .blog-list {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--pack-gap-md);
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
[data-element="news"] .blog-list {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
}
|
||||
[data-element="news"] .blog-list .card {
|
||||
display: grid;
|
||||
grid-template-columns: 140px 1fr;
|
||||
gap: var(--pack-gap-md);
|
||||
align-items: center;
|
||||
border: 1px solid var(--card-border, rgba(0,0,0,0.08));
|
||||
border-radius: 12px;
|
||||
background: var(--card-bg, #fff);
|
||||
transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
|
||||
}
|
||||
[data-element="news"] .blog-list .card:hover {
|
||||
transform: translateY(-2px);
|
||||
border-color: var(--club-primary, #0b5cff);
|
||||
box-shadow: 0 6px 20px rgba(0,0,0,.08);
|
||||
}
|
||||
[data-element="news"] .blog-list .card .thumb {
|
||||
width: 100%;
|
||||
aspect-ratio: 16 / 9;
|
||||
border-top-left-radius: 12px;
|
||||
border-bottom-left-radius: 12px;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
/* Table card */
|
||||
[data-element="table"] .table-card {
|
||||
border: 1px solid var(--card-border, rgba(0,0,0,0.08));
|
||||
border-radius: 12px;
|
||||
background: var(--card-bg, #fff);
|
||||
padding: var(--pack-gap-md);
|
||||
}
|
||||
[data-element="table"] .standings-table-compact tbody tr:hover {
|
||||
background: color-mix(in oklab, var(--club-primary, #0b5cff) 10%, transparent);
|
||||
}
|
||||
|
||||
/* Next match */
|
||||
[data-element="matches"] .next-match .team {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
[data-element="matches"] .next-match .logo {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
/* Matches slider */
|
||||
[data-element="matches-slider"] .section-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
[data-element="matches-slider"] .see-all {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
font-weight: 600;
|
||||
color: var(--club-primary, #0b5cff);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Activities */
|
||||
[data-element="activities"] .events-grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--pack-gap-md);
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
[data-element="activities"] .events-grid {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
}
|
||||
[data-element="activities"] .blog-list .card { border-radius: var(--pack-radius, 12px); box-shadow: var(--pack-shadow, none); }
|
||||
[data-element="activities"] .blog-list .card .thumb { border-radius: 10px; }
|
||||
|
||||
/* Team */
|
||||
[data-element="team"] .player-card { border-radius: var(--pack-radius, 12px); box-shadow: var(--pack-shadow, none); }
|
||||
[data-element="team"] .player-card .photo { border-radius: 10px; }
|
||||
|
||||
/* Gallery */
|
||||
[data-element="gallery"] .section-head h3 { letter-spacing: 0.2px; }
|
||||
|
||||
/* Videos */
|
||||
[data-element="videos"] .video-card { border-radius: var(--pack-radius, 12px); box-shadow: var(--pack-shadow, none); }
|
||||
[data-element="videos"] iframe { border-radius: var(--pack-radius, 12px); }
|
||||
|
||||
/* Merch */
|
||||
[data-element="merch"] .card, [data-element="merch"] .grid .item { border-radius: var(--pack-radius, 12px); box-shadow: var(--pack-shadow, none); }
|
||||
|
||||
/* Poll */
|
||||
[data-element="poll"] .card { border-radius: var(--pack-radius, 12px); box-shadow: var(--pack-shadow, none); }
|
||||
|
||||
/* Minimal pack adjustments */
|
||||
body.style-pack-minimal [data-element="news"] .blog-list .card,
|
||||
body.style-pack-minimal [data-element="activities"] .blog-list .card,
|
||||
body.style-pack-minimal [data-element="table"] .table-card,
|
||||
body.style-pack-minimal [data-element="team"] .player-card,
|
||||
body.style-pack-minimal [data-element="videos"] .video-card,
|
||||
body.style-pack-minimal [data-element="merch"] .card,
|
||||
body.style-pack-minimal [data-element="poll"] .card {
|
||||
box-shadow: none; border: 1px solid var(--card-border, rgba(0,0,0,0.08));
|
||||
}
|
||||
|
||||
/* Modern pack adjustments */
|
||||
body.style-pack-modern [data-element="news"] .blog-list .card,
|
||||
body.style-pack-modern [data-element="activities"] .blog-list .card,
|
||||
body.style-pack-modern [data-element="team"] .player-card {
|
||||
transform: translateZ(0);
|
||||
}
|
||||
|
||||
/* Players scroller */
|
||||
[data-element="team"].players-scroller .section-head {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
/* General sections */
|
||||
.section-head h3 { margin: 0; }
|
||||
[data-element="gallery"],
|
||||
[data-element="videos"],
|
||||
[data-element="merch"],
|
||||
[data-element="poll"],
|
||||
[data-element="newsletter"] {
|
||||
scroll-margin-top: 72px;
|
||||
}
|
||||
|
||||
/* Banners */
|
||||
[data-element="banner"] { text-align: center; }
|
||||
|
||||
/* Sponsors */
|
||||
[data-element="sponsors"] .section-head { margin-top: 0; }
|
||||
|
||||
/* Hero variants */
|
||||
[data-element="hero"][data-variant="grid"] .hero-card {
|
||||
border-radius: 16px;
|
||||
overflow: hidden;
|
||||
}
|
||||
[data-element="hero"][data-variant="grid"] .hero-card .overlay {
|
||||
background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.65) 100%);
|
||||
padding: 16px;
|
||||
}
|
||||
[data-element="hero"][data-variant="scroller"] { scroll-margin-top: 72px; }
|
||||
[data-element="hero"][data-variant="swiper"] { scroll-margin-top: 72px; }
|
||||
[data-element="hero"][data-variant="swiper_full"] {
|
||||
margin-left: calc(50% - 50vw);
|
||||
margin-right: calc(50% - 50vw);
|
||||
}
|
||||
|
||||
/* Gallery */
|
||||
[data-element="gallery"] .section-head { display: flex; justify-content: space-between; align-items: center; }
|
||||
[data-element="gallery"] .see-all { color: var(--club-primary, #0b5cff); text-decoration: none; font-weight: 600; }
|
||||
|
||||
/* Videos */
|
||||
[data-element="videos"] .section-head { display: flex; justify-content: space-between; align-items: center; }
|
||||
[data-element="videos"] iframe { width: 100%; border-radius: 12px; border: 1px solid var(--card-border, rgba(0,0,0,0.08)); }
|
||||
|
||||
/* Merch */
|
||||
[data-element="merch"] .section-head { display: flex; justify-content: space-between; align-items: center; }
|
||||
[data-element="merch"] .grid { gap: var(--pack-gap-md); }
|
||||
|
||||
/* Poll */
|
||||
[data-element="poll"] .section-head { display: flex; justify-content: space-between; align-items: center; }
|
||||
[data-element="poll"] .card { border-radius: 12px; border: 1px solid var(--card-border, rgba(0,0,0,0.08)); }
|
||||
|
||||
/* Newsletter */
|
||||
[data-element="newsletter"] .card { border-radius: 12px; border: 1px solid var(--card-border, rgba(0,0,0,0.08)); background: var(--card-bg, #fff); }
|
||||
Reference in New Issue
Block a user