Update auf Version 1.8.4
This commit is contained in:
1 parent
458f661c43
commit
ce9b7db8c5
7 files changed
+87
-18
No files matched your search
+3
-2
@@ -34,8 +34,9 @@ RUN rm -rf /pretix/src/pretix/static.dist/CACHE && \
|
|||||||
|
|
||||||
USER root
|
USER root
|
||||||
|
|
||||||
# 6. Vorkompilierte CSS-Dateien bereinigen & statische Theme-Assets bereitstellen
|
# 6. Vorkompilierte CSS-Dateien bereinigen, Widget-JS prüfen & statische Theme-Assets bereitstellen
|
||||||
RUN find /pretix/src/pretix/static.dist -type f -name "*.css" -exec sed -i \
|
RUN python3 /tmp/pretix-falkenthal-theme/patch_templates.py && \
|
||||||
|
find /pretix/src/pretix/static.dist -type f -name "*.css" -exec sed -i \
|
||||||
-e 's/#3b1c4a/#4f46e5/gI' \
|
-e 's/#3b1c4a/#4f46e5/gI' \
|
||||||
-e 's/#5f2977/#4f46e5/gI' \
|
-e 's/#5f2977/#4f46e5/gI' \
|
||||||
-e 's/#7f4a88/#475569/gI' \
|
-e 's/#7f4a88/#475569/gI' \
|
||||||
|
|||||||
+56
-2
@@ -1,3 +1,4 @@
|
|||||||
|
import glob
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
@@ -5,7 +6,7 @@ import sys
|
|||||||
THEME_REPO_URL = "https://git.falkenthal.me/falkenthal/pretix-falkenthal-theme"
|
THEME_REPO_URL = "https://git.falkenthal.me/falkenthal/pretix-falkenthal-theme"
|
||||||
PLATFORM_IMPRINT_URL = "https://tickets.falkenthal.me/impressum"
|
PLATFORM_IMPRINT_URL = "https://tickets.falkenthal.me/impressum"
|
||||||
PLATFORM_PRIVACY_URL = "https://tickets.falkenthal.me/datenschutz"
|
PLATFORM_PRIVACY_URL = "https://tickets.falkenthal.me/datenschutz"
|
||||||
ASSET_VERSION = "1.8.3"
|
ASSET_VERSION = "1.8.4"
|
||||||
|
|
||||||
control_files = [
|
control_files = [
|
||||||
'/pretix/src/pretix/control/templates/pretixcontrol/base.html',
|
'/pretix/src/pretix/control/templates/pretixcontrol/base.html',
|
||||||
@@ -137,5 +138,58 @@ for err_name in ['400.html', '403.html', '403_csrf.html', '404.html', '500.html'
|
|||||||
with open(err_path, 'w', encoding='utf-8') as f:
|
with open(err_path, 'w', encoding='utf-8') as f:
|
||||||
f.write(ec)
|
f.write(ec)
|
||||||
|
|
||||||
print(f"Pretix templates patched and verified successfully (v{ASSET_VERSION}).")
|
# 4. Eingebettetes Pretix-Widget (widget.js / v1.*.js):
|
||||||
|
# Einheitliche Plattform-Pflichtangaben auch direkt unter dem Inline-Widget auf externen Veranstalter-Websites!
|
||||||
|
widget_platform_bar_js = r"""
|
||||||
|
;(function(){
|
||||||
|
if (typeof document === 'undefined' || window.__falkenthalWidgetPatched) return;
|
||||||
|
window.__falkenthalWidgetPatched = true;
|
||||||
|
var BAR_HTML = '<span>Technischer Plattformbetrieb: <strong style="font-weight:600;">FALKENTHAL</strong></span>' +
|
||||||
|
' · <a href="https://tickets.falkenthal.me/impressum" target="_blank" rel="noopener" style="color:inherit;text-decoration:underline;">Plattform-Impressum</a>' +
|
||||||
|
' · <a href="https://tickets.falkenthal.me/datenschutz" target="_blank" rel="noopener" style="color:inherit;text-decoration:underline;">Plattform-Datenschutz</a>' +
|
||||||
|
' · <a href="https://git.falkenthal.me/falkenthal/pretix-falkenthal-theme" target="_blank" rel="noopener" style="color:inherit;text-decoration:underline;">Theme & Quellcode (AGPLv3)</a>';
|
||||||
|
function injectWidgetBar() {
|
||||||
|
var footers = document.querySelectorAll('.pretix-widget-attribution');
|
||||||
|
for (var i = 0; i < footers.length; i++) {
|
||||||
|
var el = footers[i];
|
||||||
|
if (!el.getAttribute('data-falkenthal-bar')) {
|
||||||
|
el.setAttribute('data-falkenthal-bar', '1');
|
||||||
|
var bar = document.createElement('div');
|
||||||
|
bar.className = 'pretix-widget-falkenthal-bar';
|
||||||
|
bar.style.cssText = 'margin-top:6px;padding-top:6px;border-top:1px solid rgba(128,128,128,0.2);font-size:11px;line-height:1.5;text-align:center;opacity:0.85;';
|
||||||
|
bar.innerHTML = BAR_HTML;
|
||||||
|
el.appendChild(bar);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (document.readyState === 'loading') {
|
||||||
|
document.addEventListener('DOMContentLoaded', injectWidgetBar);
|
||||||
|
} else {
|
||||||
|
injectWidgetBar();
|
||||||
|
}
|
||||||
|
if (typeof MutationObserver !== 'undefined') {
|
||||||
|
var obs = new MutationObserver(function() { injectWidgetBar(); });
|
||||||
|
var startObs = function() {
|
||||||
|
if (document.body) obs.observe(document.body, { childList: true, subtree: true });
|
||||||
|
};
|
||||||
|
if (document.body) startObs();
|
||||||
|
else document.addEventListener('DOMContentLoaded', startObs);
|
||||||
|
}
|
||||||
|
setInterval(injectWidgetBar, 1500);
|
||||||
|
})();
|
||||||
|
"""
|
||||||
|
|
||||||
|
widget_js_candidates = (
|
||||||
|
glob.glob('/pretix/src/pretix/presale/static/pretixpresale/js/widget/*.js')
|
||||||
|
+ glob.glob('/pretix/src/pretix/static.dist/**/widget/*.js', recursive=True)
|
||||||
|
)
|
||||||
|
for wjs in widget_js_candidates:
|
||||||
|
if os.path.isfile(wjs):
|
||||||
|
with open(wjs, 'r', encoding='utf-8') as f:
|
||||||
|
wc = f.read()
|
||||||
|
if '__falkenthalWidgetPatched' not in wc:
|
||||||
|
with open(wjs, 'a', encoding='utf-8') as f:
|
||||||
|
f.write('\n' + widget_platform_bar_js)
|
||||||
|
|
||||||
|
print(f"Pretix templates and widget assets patched and verified successfully (v{ASSET_VERSION}).")
|
||||||
|
|
||||||
@@ -13,7 +13,7 @@ class WhiteLabelApp(AppConfig):
|
|||||||
"Custom Slate & Blue-Violet theme plugin for pretix control and presale UI."
|
"Custom Slate & Blue-Violet theme plugin for pretix control and presale UI."
|
||||||
)
|
)
|
||||||
visible = False
|
visible = False
|
||||||
version = "1.8.3"
|
version = "1.8.4"
|
||||||
category = "CUSTOMIZATION"
|
category = "CUSTOMIZATION"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
"""
|
"""
|
||||||
Pretix signal receivers for pretix-falkenthal-theme (v1.8.3).
|
Pretix signal receivers for pretix-falkenthal-theme (v1.8.4).
|
||||||
|
|
||||||
Hinweis zur Architektur:
|
Hinweis zur Architektur:
|
||||||
Die Plattform-Pflichtangaben (Plattform-Impressum, Plattform-Datenschutz sowie
|
Die Plattform-Pflichtangaben (Plattform-Impressum, Plattform-Datenschutz sowie
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* ==========================================================================
|
/* ==========================================================================
|
||||||
FALKENTHAL ADMIN BACKEND & LOGIN THEME (control.css - v1.8.3)
|
FALKENTHAL ADMIN BACKEND & LOGIN THEME (control.css - v1.8.4)
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
@@ -63,7 +63,7 @@ nav.navbar-inverse {
|
|||||||
a.navbar-brand {
|
a.navbar-brand {
|
||||||
font-size: 0 !important;
|
font-size: 0 !important;
|
||||||
color: transparent !important;
|
color: transparent !important;
|
||||||
background-image: url('/static/whitelabel/logo.svg?v=1.8.3') !important;
|
background-image: url('/static/whitelabel/logo.svg?v=1.8.4') !important;
|
||||||
background-repeat: no-repeat !important;
|
background-repeat: no-repeat !important;
|
||||||
background-position: 14px center !important;
|
background-position: 14px center !important;
|
||||||
background-size: auto 34px !important;
|
background-size: auto 34px !important;
|
||||||
@@ -868,7 +868,7 @@ body:not(:has(#wrapper)):has(img.logo) > .container [class*="col-"] {
|
|||||||
body.falkenthal-auth-body .container img.logo,
|
body.falkenthal-auth-body .container img.logo,
|
||||||
body:not(:has(#wrapper)):has(img.logo) .container img.logo,
|
body:not(:has(#wrapper)):has(img.logo) .container img.logo,
|
||||||
.form-signin img.logo {
|
.form-signin img.logo {
|
||||||
content: url('/static/whitelabel/login-logo.svg?v=1.8.3') !important;
|
content: url('/static/whitelabel/login-logo.svg?v=1.8.4') !important;
|
||||||
height: 115px !important;
|
height: 115px !important;
|
||||||
max-height: 115px !important;
|
max-height: 115px !important;
|
||||||
width: auto !important;
|
width: auto !important;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* ==========================================================================
|
/* ==========================================================================
|
||||||
FALKENTHAL MODERN SHOP UI/UX UPGRADE (presale.css - v1.8.3)
|
FALKENTHAL MODERN SHOP UI/UX UPGRADE (presale.css - v1.8.4)
|
||||||
Farb-, Geometrie- & Kontrastneutral: Respektiert 100 % der Veranstalter-Farben,
|
Farb-, Geometrie- & Kontrastneutral: Respektiert 100 % der Veranstalter-Farben,
|
||||||
Logos, Bootstrap-Input-Groups sowie helle UND dunkle Veranstalter-Hintergründe!
|
Logos, Bootstrap-Input-Groups sowie helle UND dunkle Veranstalter-Hintergründe!
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
@@ -22,23 +22,27 @@ body {
|
|||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 2. BUTTONS, EINGABEFELDER & MENGENAUSWAHL (SICHERE RAHMEN & HOVER OHNE TRANSPARENZ) */
|
/* 2. BUTTONS, EINGABEFELDER & MENGENAUSWAHL (ADAPTIVE RAHMEN FÜR LIGHT & DARK THEMES) */
|
||||||
.btn {
|
.btn {
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
|
transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Sekundäre Buttons & Mengenauswahl-Buttons ([-][+]) behalten beim Hover IMMER einen klaren Rahmen! */
|
/* Sekundäre Buttons & Mengenauswahl-Buttons ([-][+]) behalten auf hellen UND dunklen
|
||||||
|
Veranstalter-Hintergründen beim Hover immer einen klaren, sichtbaren Rahmen! */
|
||||||
.btn-default {
|
.btn-default {
|
||||||
border: 1px solid #ccc;
|
border: 1px solid rgba(128, 128, 128, 0.35);
|
||||||
|
border-color: color-mix(in srgb, currentColor 25%, transparent);
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-default:hover,
|
.btn-default:hover,
|
||||||
.btn-default:focus,
|
.btn-default:focus,
|
||||||
.btn-default:active {
|
.btn-default:active {
|
||||||
border-color: #adadad !important;
|
border-color: rgba(128, 128, 128, 0.55) !important;
|
||||||
|
border-color: color-mix(in srgb, currentColor 42%, transparent) !important;
|
||||||
background-color: rgba(128, 128, 128, 0.08);
|
background-color: rgba(128, 128, 128, 0.08);
|
||||||
|
background-color: color-mix(in srgb, currentColor 6%, transparent);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Standalone-Eingabefelder (außerhalb von .input-group) dezent abrunden */
|
/* Standalone-Eingabefelder (außerhalb von .input-group) dezent abrunden */
|
||||||
@@ -96,7 +100,7 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* ==========================================================================
|
/* ==========================================================================
|
||||||
6. FOOTER & PLATTFORM-RECHTSTEXTE (ADAPTIV FÜR HELLE & DUNKLE VERANSTALTER-SHOPS)
|
6. FOOTER & PLATTFORM-RECHTSTEXTE (ADAPTIV IN SHOP & WIDGET-IFRAME)
|
||||||
========================================================================== */
|
========================================================================== */
|
||||||
footer {
|
footer {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -169,13 +173,23 @@ footer nav ul li a {
|
|||||||
opacity: 0.55;
|
opacity: 0.55;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Kompakter Modus für eingebettete Pretix-Widgets (iFrame) & Mobilgeräte */
|
/* Garantierte Sichtbarkeit der Plattform-Pflichtangaben im eingebetteten Pretix-Widget (Checkout-iFrame) */
|
||||||
.is-iframe footer,
|
.is-iframe footer,
|
||||||
body.iframe footer {
|
body.iframe footer,
|
||||||
|
body[data-iframe] footer {
|
||||||
|
display: flex !important;
|
||||||
|
visibility: visible !important;
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
padding-bottom: 14px;
|
padding-bottom: 14px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.is-iframe .falkenthal-platform-bar,
|
||||||
|
body.iframe .falkenthal-platform-bar,
|
||||||
|
body[data-iframe] .falkenthal-platform-bar {
|
||||||
|
display: block !important;
|
||||||
|
visibility: visible !important;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 767px) {
|
@media (max-width: 767px) {
|
||||||
.falkenthal-platform-bar {
|
.falkenthal-platform-bar {
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ with open("README.md", encoding="utf-8") as f:
|
|||||||
|
|
||||||
setup(
|
setup(
|
||||||
name="pretix-falkenthal-theme",
|
name="pretix-falkenthal-theme",
|
||||||
version="1.8.3",
|
version="1.8.4",
|
||||||
description="Modern Slate & Blue-Violet White-Label Theme Plugin for pretix",
|
description="Modern Slate & Blue-Violet White-Label Theme Plugin for pretix",
|
||||||
long_description=long_description,
|
long_description=long_description,
|
||||||
long_description_content_type="text/markdown",
|
long_description_content_type="text/markdown",
|
||||||
|
|||||||
Reference in new issue
Block a user