7 Commits

Author SHA1 Message Date
bf8110af6c Refactor event mounts and update script management.
All checks were successful
SteamWarCI Build successful
2025-02-23 12:18:58 +01:00
349f71af1c Add event listener for "astro:before-swap" in slug page
All checks were successful
SteamWarCI Build successful
2025-02-23 12:14:11 +01:00
dda37127ca Use type import and update page load event handling.
All checks were successful
SteamWarCI Build successful
2025-02-23 09:59:37 +01:00
6d210eb0ff Merge pull request 'Merge branch missilewars-iii-eventplan' (#4) from missilewars-iii-eventplan into master
All checks were successful
SteamWarCI Build successful
Reviewed-on: #4
2025-02-23 09:49:04 +01:00
Chaoscaot
cfede8f299 Update missilewars-iii-eventplan.md
All checks were successful
SteamWarCI Build successful
2025-02-23 09:47:30 +01:00
TheBreadBeard
597153ed39 Update missilewars-iii-eventplan.md
All checks were successful
SteamWarCI Build successful
2025-02-23 07:43:22 +01:00
TheBreadBeard
697e903a26 Create page announcements/de/missilewars-iii-eventplan.md
Some checks failed
SteamWarCI Build failed
2025-02-23 07:21:02 +01:00
3 changed files with 59 additions and 15 deletions

View File

@@ -1,5 +1,5 @@
--- ---
import {CollectionEntry} from "astro:content"; import type {CollectionEntry} from "astro:content";
import {l} from "../util/util"; import {l} from "../util/util";
import {astroI18n} from "astro-i18n"; import {astroI18n} from "astro-i18n";
import {Image} from "astro:assets"; import {Image} from "astro:assets";

View File

@@ -0,0 +1,45 @@
---
title: MissileWars III Eventplan
key: missilewars3-eventplan
description: Der Eventplan für MissileWars 3
created: 2025-03-23
tags:
- event
- missilewars
---
### Infos:
Eventleitung: TheBreadBears
Fights werden nach Möglichkeit mit einer Pause von 10 Minuten vorverschoben
# Gruppenphase
## Punkte aus der Gruppenphase
<group-table data-event="67"> </group-table>
### Fights
| Start | Teams |
|-------|------------|
| 16:00:00 | KT vs Borg |
| 16:00:30 | VI vs FK |
| 16:30:00 | FK vs KT |
| 16:30:30 | Hlcy vs VI |
| 17:00:00 | VI vs KT |
| 17:00:30 | Borg vs Hlcy |
| 17:30:00 | KT vs Hlcy|
| 17:30:30 | FK vs Borg |
| 18:00:00 | VI vs Borg |
| 18:00:30 | FK vs Hlcy |
## KO-Phase
| Start | Teams |
|-------|------------|
| 18:30:00 | Platz 2 vs Platz 3 |
| 19:00:00 | Platz 1 vs Platz 4 |
| 19:30:00 | Verlierer vs Verlierer |
| 20:00:00 | Sieger vs Sieger |
## Ergebnisse
<fight-table data-event="67" data-group="Gruppe 1"> </fight-table>

View File

@@ -103,23 +103,22 @@ const ogImage = await getImage({
<LanguageWarning/> <LanguageWarning/>
)} )}
<Content/> <Content/>
<script> <script is:inline data-astro-rerun>
import FightTable from "@components/FightTable.svelte"; import FightTable from "@components/FightTable.svelte";
import {get} from "svelte/store"; import {get} from "svelte/store";
import GroupTable from "@components/GroupTable.svelte"; import GroupTable from "@components/GroupTable.svelte";
import {eventRepo} from "../../components/repo/event"; import {eventRepo} from "../../components/repo/event";
import type {ExtendedEvent} from "@type/event";
import {mount} from "svelte"; import {mount} from "svelte";
const eventMounts: Map<string, ((ev: ExtendedEvent) => void)[]> = new Map(); const eventMounts = new Map();
class FightTableElement extends HTMLElement { class FightTableElement extends HTMLElement {
connectedCallback(): void { connectedCallback() {
if (!eventMounts.has(this.dataset["event"]!)) { if (!eventMounts.has(this.dataset["event"])) {
eventMounts.set(this.dataset["event"]!, []); eventMounts.set(this.dataset["event"], []);
} }
const rows = Number.parseInt(this.dataset["rows"]!); const rows = Number.parseInt(this.dataset["rows"]);
eventMounts.get(this.dataset["event"]!)!.push(ev => { eventMounts.get(this.dataset["event"]).push(ev => {
mount(FightTable, { mount(FightTable, {
target: this, target: this,
props: { props: {
@@ -133,12 +132,12 @@ const ogImage = await getImage({
} }
class GroupTableElement extends HTMLElement { class GroupTableElement extends HTMLElement {
connectedCallback(): void { connectedCallback() {
if (!eventMounts.has(this.dataset["event"]!)) { if (!eventMounts.has(this.dataset["event"])) {
eventMounts.set(this.dataset["event"]!, []); eventMounts.set(this.dataset["event"], []);
} }
const rows = Number.parseInt(this.dataset["rows"]!); const rows = Number.parseInt(this.dataset["rows"]);
eventMounts.get(this.dataset["event"]!)!.push(ev => { eventMounts.get(this.dataset["event"]).push(ev => {
mount(GroupTable, { mount(GroupTable, {
target: this, target: this,
props: { props: {
@@ -157,7 +156,7 @@ const ogImage = await getImage({
function mountEvent() { function mountEvent() {
for (const key of eventMounts.keys()) { for (const key of eventMounts.keys()) {
get(eventRepo).getEvent(key).then(ev => { get(eventRepo).getEvent(key).then(ev => {
for (const mount of eventMounts.get(key)!) { for (const mount of eventMounts.get(key)) {
mount(ev); mount(ev);
} }
}); });