From 36d3926c85940b2893bb84ac5ac0c753326a8597 Mon Sep 17 00:00:00 2001 From: isUnknown Date: Tue, 23 Jun 2026 15:25:19 +0200 Subject: [PATCH] resolve conflicts --- assets/css/src/_header.scss | 18 +-- assets/css/src/_slideshow.scss | 64 +++-------- assets/css/src/_variables.scss | 2 +- assets/css/src/pages/_agenda.scss | 1 - assets/css/src/pages/_event.scss | 21 +++- assets/css/src/pages/_events.scss | 24 ++-- assets/css/src/pages/_home.scss | 5 +- assets/css/style.css | 89 ++++++--------- assets/css/style.css.map | 2 +- assets/js/characters/roll.js | 12 +- assets/js/script.js | 4 +- assets/js/slideshow.js | 175 ++++++++++-------------------- site/snippets/header.php | 1 - site/templates/event.php | 33 ++---- site/templates/events.php | 7 -- site/templates/home.php | 2 +- 16 files changed, 172 insertions(+), 288 deletions(-) diff --git a/assets/css/src/_header.scss b/assets/css/src/_header.scss index 3bf1f13..c0fef5a 100644 --- a/assets/css/src/_header.scss +++ b/assets/css/src/_header.scss @@ -11,12 +11,12 @@ font-size: var(--font-size-L); font-family: var(--font-serif); - .logo-menu{ -font-family: var(--font-sans-serif); -font-weight: 700; -line-height: 0.8em; -text-transform: uppercase; -display: none; + .logo-menu { + font-family: var(--font-sans-serif); + font-weight: 700; + line-height: 0.8em; + text-transform: uppercase; + display: none; } &.small { @@ -30,6 +30,10 @@ display: none; nav ul { display: flex; justify-content: space-between; + li { + display: flex; + align-items: center; + } } .top { display: flex; @@ -82,7 +86,7 @@ display: none; inset: 0; z-index: 1; - padding: 2rem; + padding: 1rem 2rem; border-right: var(--border); border-left: var(--border); diff --git a/assets/css/src/_slideshow.scss b/assets/css/src/_slideshow.scss index 200035a..04823b8 100644 --- a/assets/css/src/_slideshow.scss +++ b/assets/css/src/_slideshow.scss @@ -10,9 +10,6 @@ height: 100%; position: absolute; - text-align: center; - color: #fff; - transition: all 1s cubic-bezier(0.22, 1.15, 0.36, 1); &.active, @@ -22,9 +19,6 @@ } &.next { - &[data-type="insert"] { - left: 100vw; - } &.right { left: 100vw; } @@ -45,40 +39,8 @@ } } - &[data-type="title"] { - display: flex; - justify-content: center; - align-items: center; - &:not(.active) { - left: 100vw; - } - h1 { - font-size: 7vw; - } - } - - &[data-type="image"] { - &[data-orientation="portrait"] { - width: 50%; - } - } - - &[data-type="insert"] { - width: 100vw; - height: 100%; - display: flex; - align-items: center; - margin-left: 10vw; - - dl { - color: #fff; - dt { - font-size: 2vw; - } - dd { - font-size: 5vw; - } - } + &[data-orientation="portrait"] { + width: 50%; } } @@ -89,18 +51,18 @@ } } - .slide[data-type="insert"] + .slide[data-type="insert"] { - justify-content: flex-end; - transform: translateY(0); - margin-left: -10vw; - } + @media (max-width: 799px) { + .slide[data-orientation="landscape"] { + width: 50%; + } - .slide[data-type="insert"] - + .slide[data-type="insert"] - + .slide[data-type="insert"] { - justify-content: center; - transform: translateY(-10rem); - margin-left: 0; + .slide[data-orientation="landscape"] + + .slide[data-orientation="landscape"] { + &.active, + &.previous { + left: 50%; + } + } } } } diff --git a/assets/css/src/_variables.scss b/assets/css/src/_variables.scss index 56da8fd..de03f05 100644 --- a/assets/css/src/_variables.scss +++ b/assets/css/src/_variables.scss @@ -14,7 +14,7 @@ --font-sans-serif: "Bartok", sans-serif; --font-serif: "SancySlab", serif; - --font-size-S: 0.8rem; + --font-size-S: 1rem; --font-size-M: 1.6rem; --font-size-L: 3rem; --font-size-XL: 8rem; diff --git a/assets/css/src/pages/_agenda.scss b/assets/css/src/pages/_agenda.scss index 607ca49..29a7136 100644 --- a/assets/css/src/pages/_agenda.scss +++ b/assets/css/src/pages/_agenda.scss @@ -51,7 +51,6 @@ width: 50vw; font-size: 4rem; - font-weight: 500; button { font-size: inherit; diff --git a/assets/css/src/pages/_event.scss b/assets/css/src/pages/_event.scss index 83655ad..9b76ddd 100644 --- a/assets/css/src/pages/_event.scss +++ b/assets/css/src/pages/_event.scss @@ -1,15 +1,24 @@ [data-template="event"] { main { + .gallery { + margin-bottom: 4rem; + } + article { box-sizing: border-box; width: 100%; - padding: 2rem; + width: 60rem; + margin: 4rem auto; + p { + font-size: 1.8rem; + line-height: 1.2; + } } .main-credits { text-align: center; - padding-top: var(--space-body); + margin: 2rem 0; dl { padding-bottom: 0.5em; } @@ -33,7 +42,7 @@ font-size: var(--font-size-M); border: var(--border); border-radius: var(--border-radius); - padding: 2rem; + padding: 1.5rem 2rem; margin-bottom: calc(-1 * var(--border-radius) * 2); summary { list-style: none; @@ -68,9 +77,13 @@ } } &.secondary-credits { - background-color: var(--color-grey); + background-color: var(--color-green); .wrapper { text-align: center; + + p:not(:last-child) { + margin-bottom: 2rem; + } } } &.dates { diff --git a/assets/css/src/pages/_events.scss b/assets/css/src/pages/_events.scss index cf60bd9..7782c77 100644 --- a/assets/css/src/pages/_events.scss +++ b/assets/css/src/pages/_events.scss @@ -11,8 +11,8 @@ transform: translateY(0rem); transition: background-color 0.2s var(--curve), transform 0.3s var(--curve); - padding: 0.5rem 0.9rem; - border-radius: var(--border-radius); + padding: 0.5rem 0.9rem; + border-radius: var(--border-radius); &.active { transform: translateY(0rem); @@ -25,16 +25,15 @@ main { .events-grid { - box-sizing: border-box; - padding: 2rem; - padding-top: 9rem; - width: 100%; - display: grid; - grid-template-columns: repeat(3, 1fr); - align-items: flex-end; - gap: 2rem; - - + box-sizing: border-box; + padding: 0 2rem; + padding-top: 9rem; + width: 100%; + display: grid; + grid-template-columns: repeat(3, 1fr); + align-items: flex-end; + column-gap: 2rem; + row-gap: 4rem; .event-card { h2 { @@ -45,6 +44,7 @@ font-family: "SancySlab", serif; font-size: 3rem; font-weight: 400; + line-height: 1; display: flex; justify-content: center; align-items: flex-end; diff --git a/assets/css/src/pages/_home.scss b/assets/css/src/pages/_home.scss index 22e38dc..e7fe635 100644 --- a/assets/css/src/pages/_home.scss +++ b/assets/css/src/pages/_home.scss @@ -37,7 +37,7 @@ } a { - font-size: 4rem; + font-size: 3rem; } } } @@ -82,8 +82,7 @@ } &[data-mode="fade"] .outfit { - transition: opacity 0.08s ease-in-out, width 0.7s var(--curve), - transform 0.7s var(--curve) 0.2s; + transition: width 0.7s var(--curve), transform 0.7s var(--curve) 0.2s; } } diff --git a/assets/css/style.css b/assets/css/style.css index 9fa653b..d4bf887 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -100,7 +100,7 @@ a { --curve: cubic-bezier(0.65, 0, 0.35, 1); --font-sans-serif: "Bartok", sans-serif; --font-serif: "SancySlab", serif; - --font-size-S: 0.8rem; + --font-size-S: 1rem; --font-size-M: 1.6rem; --font-size-L: 3rem; --font-size-XL: 8rem; @@ -200,6 +200,10 @@ summary { display: flex; justify-content: space-between; } +.main-header nav ul li { + display: flex; + align-items: center; +} .main-header .top { display: flex; justify-content: flex-end; @@ -245,7 +249,7 @@ summary { position: relative; inset: 0; z-index: 1; - padding: 2rem; + padding: 1rem 2rem; border-right: var(--border); border-left: var(--border); border-bottom: var(--border); @@ -372,7 +376,7 @@ summary { align-self: flex-end; } [data-template=home] nav ul li a { - font-size: 4rem; + font-size: 3rem; } [data-template=home] .mention { position: absolute; @@ -409,7 +413,7 @@ summary { animation: flip 3s var(--curve); } [data-template=home] .identity[data-mode=fade] .outfit { - transition: opacity 0.08s ease-in-out, width 0.7s var(--curve), transform 0.7s var(--curve) 0.2s; + transition: width 0.7s var(--curve), transform 0.7s var(--curve) 0.2s; } [data-template=home] #log-angle { position: fixed; @@ -460,13 +464,15 @@ summary { } [data-template=events] main .events-grid { box-sizing: border-box; - padding: 2rem; + padding: 0 2rem; padding-top: 9rem; width: 100%; display: grid; grid-template-columns: repeat(3, 1fr); align-items: flex-end; - gap: 2rem; + -moz-column-gap: 2rem; + column-gap: 2rem; + row-gap: 4rem; } [data-template=events] main .events-grid .event-card h2 { box-sizing: border-box; @@ -476,6 +482,7 @@ summary { font-family: "SancySlab", serif; font-size: 3rem; font-weight: 400; + line-height: 1; display: flex; justify-content: center; align-items: flex-end; @@ -507,14 +514,22 @@ summary { font-family: var(--font-serif); } +[data-template=event] main .gallery { + margin-bottom: 4rem; +} [data-template=event] main article { box-sizing: border-box; width: 100%; - padding: 2rem; + width: 60rem; + margin: 4rem auto; +} +[data-template=event] main article p { + font-size: 1.8rem; + line-height: 1.2; } [data-template=event] main .main-credits { text-align: center; - padding-top: var(--space-body); + margin: 2rem 0; } [data-template=event] main .main-credits dl { padding-bottom: 0.5em; @@ -536,7 +551,7 @@ summary { font-size: var(--font-size-M); border: var(--border); border-radius: var(--border-radius); - padding: 2rem; + padding: 1.5rem 2rem; margin-bottom: calc(-1 * var(--border-radius) * 2); } [data-template=event] main details summary { @@ -570,11 +585,14 @@ summary { padding-bottom: 2.5rem; } [data-template=event] main details.secondary-credits { - background-color: var(--color-grey); + background-color: var(--color-green); } [data-template=event] main details.secondary-credits .wrapper { text-align: center; } +[data-template=event] main details.secondary-credits .wrapper p:not(:last-child) { + margin-bottom: 2rem; +} [data-template=event] main details.dates { background-color: var(--color-beige); } @@ -636,7 +654,6 @@ summary { justify-content: space-between; width: 50vw; font-size: 4rem; - font-weight: 500; } [data-template=agenda] main .dates-container .month-switcher button { font-size: inherit; @@ -676,17 +693,12 @@ summary { width: 100vw; height: 100%; position: absolute; - text-align: center; - color: #fff; transition: all 1s cubic-bezier(0.22, 1.15, 0.36, 1); } .gallery .slides .slide.active, .gallery .slides .slide.previous { left: 0vw; top: 0vw; } -.gallery .slides .slide.next[data-type=insert] { - left: 100vw; -} .gallery .slides .slide.next.right { left: 100vw; } @@ -705,46 +717,17 @@ summary { -o-object-fit: cover; object-fit: cover; } -.gallery .slides .slide[data-type=title] { - display: flex; - justify-content: center; - align-items: center; -} -.gallery .slides .slide[data-type=title]:not(.active) { - left: 100vw; -} -.gallery .slides .slide[data-type=title] h1 { - font-size: 7vw; -} -.gallery .slides .slide[data-type=image][data-orientation=portrait] { +.gallery .slides .slide[data-orientation=portrait] { width: 50%; } -.gallery .slides .slide[data-type=insert] { - width: 100vw; - height: 100%; - display: flex; - align-items: center; - margin-left: 10vw; -} -.gallery .slides .slide[data-type=insert] dl { - color: #fff; -} -.gallery .slides .slide[data-type=insert] dl dt { - font-size: 2vw; -} -.gallery .slides .slide[data-type=insert] dl dd { - font-size: 5vw; -} .gallery .slides .slide[data-orientation=portrait] + .slide[data-orientation=portrait].active, .gallery .slides .slide[data-orientation=portrait] + .slide[data-orientation=portrait].previous { left: 50%; } -.gallery .slides .slide[data-type=insert] + .slide[data-type=insert] { - justify-content: flex-end; - transform: translateY(0); - margin-left: -10vw; -} -.gallery .slides .slide[data-type=insert] + .slide[data-type=insert] + .slide[data-type=insert] { - justify-content: center; - transform: translateY(-10rem); - margin-left: 0; +@media (max-width: 799px) { + .gallery .slides .slide[data-orientation=landscape] { + width: 50%; + } + .gallery .slides .slide[data-orientation=landscape] + .slide[data-orientation=landscape].active, .gallery .slides .slide[data-orientation=landscape] + .slide[data-orientation=landscape].previous { + left: 50%; + } }/*# sourceMappingURL=style.css.map */ \ No newline at end of file diff --git a/assets/css/style.css.map b/assets/css/style.css.map index 90ab414..d3b6dba 100644 --- a/assets/css/style.css.map +++ b/assets/css/style.css.map @@ -1 +1 @@ -{"version":3,"sources":["style.css","src/_reset.scss","src/_fonts.scss","src/_variables.scss","src/_texts.scss","src/_global.scss","src/_generic.scss","src/_header.scss","src/pages/_home.scss","src/pages/_events.scss","src/pages/_event.scss","src/pages/_agenda.scss","src/_slideshow.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file +{"version":3,"sources":["style.css","src/_reset.scss","src/_fonts.scss","src/_variables.scss","src/_texts.scss","src/_global.scss","src/_generic.scss","src/_header.scss","src/pages/_home.scss","src/pages/_events.scss","src/pages/_event.scss","src/pages/_agenda.scss","src/_slideshow.scss"],"names":[],"mappings":"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","file":"style.css"} \ No newline at end of file diff --git a/assets/js/characters/roll.js b/assets/js/characters/roll.js index 3ed11c0..f9a11dd 100644 --- a/assets/js/characters/roll.js +++ b/assets/js/characters/roll.js @@ -1,5 +1,5 @@ -const ANIMATION_MODE = 'fade'; // 'flip' | 'fade' -const ANIM_DURATION_MS = 3000; +const ANIMATION_MODE = "fade"; // 'flip' | 'fade' +const ANIM_DURATION_MS = 5000; export function initRollOutfit() { const container = document.querySelector(".identity"); @@ -8,13 +8,17 @@ export function initRollOutfit() { let currentIndex = 0; // cubic-bezier(0.65, 0, 0.35, 1) — matches var(--curve) - const CX1 = 0.65, CY1 = 0, CX2 = 0.35, CY2 = 1; + const CX1 = 0.65, + CY1 = 0, + CX2 = 0.35, + CY2 = 1; const bezier = (t, p1, p2) => 3 * (1 - t) * (1 - t) * t * p1 + 3 * (1 - t) * t * t * p2 + t * t * t; const solveBezierT = (targetY) => { - let lo = 0, hi = 1; + let lo = 0, + hi = 1; for (let i = 0; i < 50; i++) { const mid = (lo + hi) / 2; bezier(mid, CY1, CY2) < targetY ? (lo = mid) : (hi = mid); diff --git a/assets/js/script.js b/assets/js/script.js index b38c052..bbf5db4 100644 --- a/assets/js/script.js +++ b/assets/js/script.js @@ -1,7 +1,7 @@ import { initCharacterJump } from "./characters/jump.js"; import { initPupilTracking } from "./characters/pupilTracking.js"; import { initEventFilters } from "./filters.js"; -import { CreditsSlideshow } from "./slideshow.js"; +import { Slideshow } from "./slideshow.js"; import { initRollOutfit } from "./characters/roll.js"; document.addEventListener("DOMContentLoaded", () => { @@ -55,7 +55,7 @@ document.addEventListener("DOMContentLoaded", () => { if (svg) initPupilTracking(svg); initEventFilters(); initRollOutfit(); - const gallery = new CreditsSlideshow(".gallery"); + const gallery = new Slideshow(".gallery"); }); window.addEventListener("scroll", (event) => { diff --git a/assets/js/slideshow.js b/assets/js/slideshow.js index 04f217e..2b12081 100644 --- a/assets/js/slideshow.js +++ b/assets/js/slideshow.js @@ -1,92 +1,56 @@ function prepareSlides(nodes) { - const slides = [...nodes].map((node) => { - const slide = { type: node.dataset.type, node: node }; - if (node.dataset.type === "image") { - slide.orientation = node.dataset.orientation; - } - return slide; - }); - - return { - all: slides, - title: slides.find((slide) => slide.type === "title"), - images: slides.filter((slide) => slide.type === "image"), - inserts: slides.filter((slide) => slide.type === "insert"), - }; + return [...nodes].map((node) => ({ + orientation: node.dataset.orientation, + node, + })); } -export class CreditsSlideshow { +export class Slideshow { constructor(slideshowSelector) { this.node = document.querySelector(slideshowSelector); if (!this.node) return; this.slides = prepareSlides(this.node.querySelectorAll(".slide")); - this.init(this.slides); - this.next(); + if (!this.slides.length) return; + this.init(); document.addEventListener("keydown", (e) => { if (e.key === "ArrowRight") this.next(); if (e.key === "ArrowLeft") this.prev(); }); } - init(slides) { - slides.all.forEach((slide) => { - if (slide === slides.images[0]) { - slide.node.classList.add("active"); - } else { - slide.node.classList.add("next"); - this.assignDirection(slide); - } + init() { + this.slides.forEach((slide, i) => { + slide.node.classList.add(i === 0 ? "active" : "next"); + if (i !== 0) this.assignDirection(slide); }); - this.currentSlide = slides.images[0]; - this.nextImageIndex = 1; - this.insertsShownInGroup = 0; - this.portraitPairDone = false; - this.currentGroup = [{ slide: slides.images[0], auto: false }]; + this.currentIndex = 0; + this.pairDone = false; + this.currentGroup = [{ index: 0, auto: false }]; this.groupHistory = []; this.zIndex = 0; - slides.images[0].node.style.zIndex = 0; + this.slides[0].node.style.zIndex = 0; } - resolveNextSlide() { - const current = this.currentSlide; + isPair(current, next) { const isMobile = window.innerWidth < 800; - const nextImage = this.slides.images[this.nextImageIndex] ?? null; - const nextInsert = - this.slides.inserts.find((s) => !s.node.classList.contains("active")) ?? - null; - const canAddInsert = - !isMobile && nextInsert && this.insertsShownInGroup < 3; + return ( + (!isMobile && current.orientation === "portrait" && next.orientation === "portrait") || + (isMobile && current.orientation === "landscape" && next.orientation === "landscape") + ); + } - if (current === this.slides.images[0]) { - return { slide: this.slides.title, auto: true }; + resolveNext() { + const nextIndex = this.currentIndex + 1; + if (nextIndex >= this.slides.length) return { index: null, auto: false }; + + if (!this.pairDone && this.isPair(this.slides[this.currentIndex], this.slides[nextIndex])) { + return { index: nextIndex, auto: true }; } - if (current === this.slides.title) { - return { slide: nextImage, auto: false }; - } - - if (current.type === "image") { - if ( - !isMobile && - !this.portraitPairDone && - current.orientation === "portrait" && - nextImage?.orientation === "portrait" - ) { - return { slide: nextImage, auto: true }; - } - - if (canAddInsert) return { slide: nextInsert, auto: true }; - } - - if (current.type === "insert" && canAddInsert) { - return { slide: nextInsert, auto: true }; - } - - return { slide: nextImage, auto: false }; + return { index: nextIndex, auto: false }; } assignDirection(slide) { - if (slide.type !== "image") return; const dirs = ["top", "right", "bottom"]; slide.node.classList.add(dirs[Math.floor(Math.random() * 3)]); } @@ -103,46 +67,32 @@ export class CreditsSlideshow { to.node.classList.replace("next", "active"); } - updateState(slide, auto) { - this.currentSlide = slide; - if (slide.type === "image") { - if (auto) { - this.currentGroup.push({ slide, auto }); - } else { - this.groupHistory.push(this.currentGroup); - this.currentGroup = [{ slide, auto }]; - } - this.nextImageIndex = this.slides.images.indexOf(slide) + 1; - this.insertsShownInGroup = 0; - this.portraitPairDone = auto; - } else { - this.currentGroup.push({ slide, auto }); - if (slide.type === "insert") this.insertsShownInGroup++; - } - } - - prepareLoop() { - this.groupHistory = []; - this.currentGroup = []; - this.insertsShownInGroup = 0; - this.portraitPairDone = false; - } - next() { - let { slide: nextSlide, auto } = this.resolveNextSlide(); + let { index: nextIndex, auto } = this.resolveNext(); - if (!nextSlide) { - this.prepareLoop(); - nextSlide = this.slides.images[0]; + if (nextIndex === null) { + this.groupHistory = []; + this.currentGroup = []; + this.pairDone = false; + nextIndex = 0; auto = false; } + const nextSlide = this.slides[nextIndex]; if (nextSlide.node.classList.contains("previous")) this.sendToNext(nextSlide); - this.transition(this.currentSlide, nextSlide); - this.updateState(nextSlide, auto); + this.transition(this.slides[this.currentIndex], nextSlide); + this.currentIndex = nextIndex; + this.pairDone = auto; - if (this.resolveNextSlide().auto) { + if (auto) { + this.currentGroup.push({ index: nextIndex, auto }); + } else { + this.groupHistory.push(this.currentGroup); + this.currentGroup = [{ index: nextIndex, auto }]; + } + + if (this.resolveNext().auto) { setTimeout(() => this.next(), 200 + Math.random() * 300); } } @@ -150,19 +100,13 @@ export class CreditsSlideshow { prev() { if (this.currentGroup.length > 1) { const leaving = this.currentGroup.pop(); - this.sendToNext(leaving.slide); + this.sendToNext(this.slides[leaving.index]); const arriving = this.currentGroup[this.currentGroup.length - 1]; - arriving.slide.node.style.zIndex = ++this.zIndex; - arriving.slide.node.classList.replace("previous", "active"); - this.currentSlide = arriving.slide; - - if (leaving.slide.type === "insert") { - this.insertsShownInGroup--; - } else if (leaving.slide.type === "image") { - this.nextImageIndex = this.slides.images.indexOf(arriving.slide) + 1; - this.portraitPairDone = false; - } + this.slides[arriving.index].node.style.zIndex = ++this.zIndex; + this.slides[arriving.index].node.classList.replace("previous", "active"); + this.currentIndex = arriving.index; + this.pairDone = false; if (arriving.auto) { setTimeout(() => this.prev(), 250 + Math.random() * 250); @@ -173,23 +117,16 @@ export class CreditsSlideshow { if (!this.groupHistory.length) return; const leaving = this.currentGroup[0]; - this.sendToNext(leaving.slide); + this.sendToNext(this.slides[leaving.index]); const prevGroup = this.groupHistory.pop(); if (!prevGroup.length) return; this.currentGroup = prevGroup; const arriving = prevGroup[prevGroup.length - 1]; - arriving.slide.node.style.zIndex = ++this.zIndex; - arriving.slide.node.classList.replace("previous", "active"); - this.currentSlide = arriving.slide; - - const prevImages = prevGroup.filter((s) => s.slide.type === "image"); - this.nextImageIndex = - this.slides.images.indexOf(prevImages[prevImages.length - 1].slide) + 1; - this.insertsShownInGroup = prevGroup.filter( - (s) => s.slide.type === "insert" - ).length; - this.portraitPairDone = prevImages.length > 1; + this.slides[arriving.index].node.style.zIndex = ++this.zIndex; + this.slides[arriving.index].node.classList.replace("previous", "active"); + this.currentIndex = arriving.index; + this.pairDone = prevGroup.length > 1; } } diff --git a/site/snippets/header.php b/site/snippets/header.php index a6a34c8..687ea34 100644 --- a/site/snippets/header.php +++ b/site/snippets/header.php @@ -27,6 +27,5 @@ -
diff --git a/site/templates/event.php b/site/templates/event.php index 346bfb6..b6af92d 100644 --- a/site/templates/event.php +++ b/site/templates/event.php @@ -6,19 +6,11 @@ count()): ?>