Revert "Refactor event mounts and update script management."

This reverts commit bf8110af6c.
This commit is contained in:
2025-02-23 12:20:34 +01:00
parent bf8110af6c
commit a23c514102

View File

@@ -103,22 +103,23 @@ const ogImage = await getImage({
<LanguageWarning/> <LanguageWarning/>
)} )}
<Content/> <Content/>
<script is:inline data-astro-rerun> <script>
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 = new Map(); const eventMounts: Map<string, ((ev: ExtendedEvent) => void)[]> = new Map();
class FightTableElement extends HTMLElement { class FightTableElement extends HTMLElement {
connectedCallback() { connectedCallback(): void {
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: {
@@ -132,12 +133,12 @@ const ogImage = await getImage({
} }
class GroupTableElement extends HTMLElement { class GroupTableElement extends HTMLElement {
connectedCallback() { connectedCallback(): void {
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: {
@@ -156,14 +157,15 @@ 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);
} }
}); });
} }
} }
mountEvent(); document.addEventListener("astro:page-load", mountEvent);
document.addEventListener("astro:before-swap", eventMounts.clear);
</script> </script>
</article> </article>
</PageLayout> </PageLayout>