Club System

This commit is contained in:
2026-06-02 20:54:09 +02:00
parent 1affe88683
commit e8158dde8d
47 changed files with 319 additions and 131 deletions

View File

@@ -10,7 +10,7 @@
data-logged-in="{{ $xf.visitor.user_id ? 'true' : 'false' }}"
data-cookie-prefix="{$xf.cookie.prefix}"
data-csrf="{{ csrf_token()|escape('js') }}"
class="has-no-js {{ $template ? 'template-' . $template : '' }}"
class="has-no-js {{ $template ? 'template-' . $template : '' }} {{ $xf.visitor.style_variation === 'alternate' ? '$light-mode' : '' }}"
{{ $xf.runJobs ? ' data-run-jobs=""' : '' }}>
<head>
<xf:set var="$siteName" value="{$xf.options.boardTitle}" />
@@ -82,7 +82,7 @@
</head>
<body data-template="{$template}">
<div id="app">
<main id="app">
<nav id="menu">
<div class="$menu-header">
<div class="$menu-logo">
@@ -310,7 +310,15 @@
arg-variant="bottom" />
<xf:ad position="container_breadcrumb_bottom_below" />
</div>
</div>
<div class="u-bottomFixer js-bottomFixTarget">
<xf:if is="$notices.floating">
<xf:macro id="notice_macros::notice_list" arg-type="floating" arg-notices="{$notices.floating}" />
</xf:if>
<xf:if is="$notices.bottom_fixer">
<xf:macro id="notice_macros::notice_list" arg-type="bottom_fixer" arg-notices="{$notices.bottom_fixer}" />
</xf:if>
</div>
</main>
<xf:comment>
<footer class="p-footer" id="footer">
@@ -417,16 +425,7 @@
</div>
</footer>
</xf:comment>
</div> <!-- closing p-pageWrapper -->
<div class="u-bottomFixer js-bottomFixTarget">
<xf:if is="$notices.floating">
<xf:macro id="notice_macros::notice_list" arg-type="floating" arg-notices="{$notices.floating}" />
</xf:if>
<xf:if is="$notices.bottom_fixer">
<xf:macro id="notice_macros::notice_list" arg-type="bottom_fixer" arg-notices="{$notices.bottom_fixer}" />
</xf:if>
</div>
</main> <!-- closing p-pageWrapper -->
<div class="u-navButtons js-navButtons">
<xf:button href="javascript:" class="button--scroll"><xf:fa icon="{{ $xf.isRtl ? 'fa-arrow-right' : 'fa-arrow-left' }}" /><span class="u-srOnly">{{ phrase('back') }}</span></xf:button>

View File

@@ -71,6 +71,32 @@ ul {
--menu-user-avatar-bg: #555;
}
.\$light-mode {
/* RHPZ color */
--rhpz-orange: #ff7300;
--rhpz-orange-hover: #e56700;
/* Background colors */
--bg: #f0f0f0;
--bg2: #ffffff;
--bg3: #e8e8e8;
--bg4: #dcdcdc;
/* Text */
--text: #454545;
--text2: #737373;
--text3: #111111;
/* Elements */
--border: #d0d0d0;
--error: #e57373;
--info: #1976d2;
--success: #81c784;
--success2: #388e3c;
}
/* File: resources/css/components/cards.css */
/* STAT CARDS */
@@ -1695,6 +1721,165 @@ ul {
}
/* File: resources/css/components/settings.css */
.\$settings-dropdown {
position: absolute;
top: calc(100% + 8px);
right: 0;
width: 240px;
background-color: var(--bg2);
border: 1px solid var(--border);
box-shadow: 0 8px 24px rgba(0,0,0,0.5);
z-index: 2000;
}
.\$settings-header {
padding: 12px 16px;
border-bottom: 1px solid var(--border);
background-color: var(--bg3);
font-weight: 600;
font-size: 0.9rem;
color: var(--text);
}
.\$settings-section {
padding: 12px 16px;
}
.\$settings-section-title {
display: flex;
align-items: center;
gap: 7px;
font-size: 0.78rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.7px;
color: var(--text2);
margin-bottom: 10px;
}
.\$settings-separator {
border-top: 1px solid var(--border);
}
.\$settings-themes {
display: flex;
gap: 8px;
flex-wrap: wrap;
}
.\$settings-theme-btn {
width: 28px;
height: 28px;
border-radius: 50%;
border: 2px solid transparent;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: var(--text);
transition: transform 0.15s, border-color 0.15s;
padding: 0;
&:hover {
transform: scale(1.15);
}
.\$active {
border-color: var(--text);
transform: scale(1.1);
}
}
.\$settings-theme-toggle {
width: 100%;
background-color: var(--bg3);
border: 1px solid var(--border);
color: var(--text);
padding: 8px 12px;
cursor: pointer;
font-family: var(--typography);
font-size: 0.88rem;
transition: background-color 0.1s;
text-align: left;
&:hover {
background-color: var(--bg4);
}
}
.\$settings-theme-toggle-inner {
display: flex;
align-items: center;
gap: 8px;
}
.\$settings-theme-toggle-badge {
margin-left: auto;
background-color: var(--rhpz-orange);
color: #111;
font-size: 0.65rem;
font-weight: 700;
padding: 2px 6px;
}
.\$settings-perpage {
display: flex;
gap: 6px;
}
.\$settings-perpage-btn {
flex: 1;
padding: 6px 4px;
background-color: var(--bg3);
border: 1px solid var(--border);
color: var(--text2);
font-size: 0.85rem;
cursor: pointer;
font-family: var(--typography);
transition: all 0.1s;
&:hover {
background-color: var(--bg4);
color: var(--text);
}
.\$active {
background-color: var(--rhpz-orange);
border-color: var(--rhpz-orange);
color: var(--text3);
font-weight: 600;
}
}
.\$settings-link {
display: flex;
align-items: center;
gap: 9px;
padding: 8px 10px;
color: var(--text);
text-decoration: none;
font-size: 0.88rem;
transition: background-color 0.1s;
border: 1px solid transparent;
&:hover {
background-color: var(--bg3);
border-color: var(--border);
text-decoration: none;
}
}
.\$settings-link--danger {
color: var(--error);
&:hover {
background-color: rgba(229, 115, 115, 0.08);
border-color: rgba(229, 115, 115, 0.3);
}
}
/* File: resources/css/layout/content.css */
#main-wrapper {
flex-grow: 1;

View File

@@ -1,3 +1,3 @@
<style>
svg { fill: none !important; }
.lucide { fill: none !important; }
</style>

View File

@@ -22,7 +22,7 @@
<a href="{{ link('approval-queue') }}" class="$btn">
<i data-lucide="message-circle-check" size="18"></i>
</a>
<a href="{{ link('reports') }}" class="$btn">
<a href="{{ link('reports') }}" class="$btn badgeContainer badgeContainer--visible {{ ($xf.session.reportCounts.total && ($xf.session.reportCounts.lastBuilt > $xf.session.reportLastRead) OR $xf.session.reportCounts.assigned) ? ' badgeContainer--highlighted' : '' }}" data-badge="{{ $xf.session.reportCounts.assigned ? $xf.session.reportCounts.assigned|number . ' / ' . $xf.session.reportCounts.total|number : $xf.session.reportCounts.total|number }}">
<i data-lucide="triangle-alert" size="18"></i>
</a>
</xf:if>