diff --git a/src/components/dashboard/UserInfo.svelte b/src/components/dashboard/UserInfo.svelte
index aeb8a20..024a585 100644
--- a/src/components/dashboard/UserInfo.svelte
+++ b/src/components/dashboard/UserInfo.svelte
@@ -18,19 +18,19 @@
-->
@@ -175,19 +166,34 @@
No team found.
- {
- fightBlueTeam = {
- id: -1,
- name: "?",
- color: "7",
- kuerzel: "?",
- };
- blueTeamSelectOpen = false;
- }}
- keywords={["?"]}>???
+
+ {
+ fightBlueTeam = {
+ id: -1,
+ name: "?",
+ color: "7",
+ kuerzel: "?",
+ };
+ blueTeamSelectOpen = false;
+ }}
+ keywords={["?"]}>???
+ {
+ fightBlueTeam = {
+ id: 0,
+ name: "Public",
+ color: "7",
+ kuerzel: "PUB",
+ };
+ blueTeamSelectOpen = false;
+ }}
+ keywords={["PUB", "Public"]}>PUB
+
{#each teams as team}
-
+
{team.name}
{/each}
@@ -221,19 +227,34 @@
No team found.
- {
- fightRedTeam = {
- id: -1,
- name: "?",
- color: "7",
- kuerzel: "?",
- };
- redTeamSelectOpen = false;
- }}
- keywords={["?"]}>???
+
+ {
+ fightRedTeam = {
+ id: -1,
+ name: "?",
+ color: "7",
+ kuerzel: "?",
+ };
+ redTeamSelectOpen = false;
+ }}
+ keywords={["?"]}>???
+ {
+ fightRedTeam = {
+ id: 0,
+ name: "Public",
+ color: "7",
+ kuerzel: "PUB",
+ };
+ redTeamSelectOpen = false;
+ }}
+ keywords={["PUB", "Public"]}>PUB
+
{#each teams as team}
-
+
{team.name}
{/each}
@@ -269,74 +290,7 @@
{/if}
Gruppe
-
-
-
- {#snippet child({ props })}
-
- {selectedGroup?.name || "Keine Gruppe"}
-
-
- {/snippet}
-
-
-
-
-
-
- (createOpen = true)}>
-
- Neue Gruppe
-
-
-
- {
- fightGroup = null;
- groupSelectOpen = false;
- }}
- >
- {#if fightGroup === null}
-
- {:else}
-
- {/if}
- Keine Gruppe
-
-
- {#each groups as group}
- {
- fightGroup = group.id;
- groupSelectOpen = false;
- }}
- >
-
- {group.name}
-
- {/each}
-
-
-
-
-
-
-
-
- Neue Gruppe erstellen
- Hier kannst du eine neue Gruppe erstellen
-
-
- {#snippet actions(dirty, submit)}
-
- Speichern
-
- {/snippet}
-
-
-
+
Spectate Port
diff --git a/src/components/moderator/components/GroupSelector.svelte b/src/components/moderator/components/GroupSelector.svelte
new file mode 100644
index 0000000..f4fe463
--- /dev/null
+++ b/src/components/moderator/components/GroupSelector.svelte
@@ -0,0 +1,103 @@
+
+
+
+
+
+ {#snippet child({ props })}
+
+ {selectedGroup?.name || "Keine Gruppe"}
+
+
+ {/snippet}
+
+
+
+
+
+
+ (createOpen = true)}>
+
+ Neue Gruppe
+
+
+
+ {
+ value = null;
+ groupSelectOpen = false;
+ }}
+ >
+ {#if value === null}
+
+ {:else}
+
+ {/if}
+ Keine Gruppe
+
+
+ {#each groups as group}
+ {
+ value = group.id;
+ groupSelectOpen = false;
+ }}
+ >
+
+ {group.name}
+
+ {/each}
+
+
+
+
+
+
+
+
+ Neue Gruppe erstellen
+ Hier kannst du eine neue Gruppe erstellen
+
+
+ {#snippet actions(dirty, submit)}
+
+ Speichern
+
+ {/snippet}
+
+
+
diff --git a/src/components/moderator/pages/event/Event.svelte b/src/components/moderator/pages/event/Event.svelte
index b9b8cf5..273e42c 100644
--- a/src/components/moderator/pages/event/Event.svelte
+++ b/src/components/moderator/pages/event/Event.svelte
@@ -18,8 +18,11 @@
-->
-{#await event}
+{#if loaded}
+
+{:else}
Loading...
-{:then data}
-
-{/await}
\ No newline at end of file
+{/if}
diff --git a/src/components/moderator/pages/event/EventFightList.svelte b/src/components/moderator/pages/event/EventFightList.svelte
index ab99fd3..0aa8e7e 100644
--- a/src/components/moderator/pages/event/EventFightList.svelte
+++ b/src/components/moderator/pages/event/EventFightList.svelte
@@ -20,7 +20,7 @@
@@ -146,19 +146,53 @@
{#if selectedGroup}
-
+
{/if}
{#if selectedGroupForResults}
-
+
{/if}
+
+
+
+ Gruppe Ändern
+ Hier kannst du die Gruppe der ausgewählten Kämpfe ändern
+
+
+
+ {
+ groupChangeOpen = false;
+ let group = data.groups.find((g) => g.id === groupChangeSelected);
+ if (group) {
+ let selectedGroups = table.getSelectedRowModel().rows.map((row) => row.original);
+ for (const g of selectedGroups) {
+ await $fightRepo.updateFight(data.event.id, g.id, {
+ group: group.id,
+ spielmodus: null,
+ map: null,
+ blueTeam: null,
+ redTeam: null,
+ start: null,
+ spectatePort: null,
+ });
+ }
+
+ refresh();
+ }
+ }}>Speichern
+
+
+
+
Mehrfach Bearbeiten
- Gruppe Ändern
+ (groupChangeOpen = true)}>Gruppe Ändern
Startzeit Verschieben
Spectate Port Ändern
@@ -175,9 +209,9 @@
- Gruppen
+ Gruppen
- {#each groups as group (group.id)}
+ {#each data.groups as group (group.id)}
{group.name}
@@ -191,7 +225,7 @@
- Neu laden
+ Neu laden
@@ -205,13 +239,14 @@
{/if}
{/each}
+
{/each}
{#each table.getRowModel().rows as groupRow (groupRow.id)}
{#if groupRow.getIsGrouped()}
- {@const group = groups.find((g) => g.id == groupRow.getValue("group"))}
+ {@const group = data.groups.find((g) => g.id == groupRow.getValue("group"))}
{/each}
- (fights = fights.map((v) => (v.id === update.id ? update : v)))}
+ (data.fights = data.fights.map((v) => (v.id === update.id ? update : v)))}
>
diff --git a/src/components/moderator/pages/event/EventView.svelte b/src/components/moderator/pages/event/EventView.svelte
index d396b90..0b6bedd 100644
--- a/src/components/moderator/pages/event/EventView.svelte
+++ b/src/components/moderator/pages/event/EventView.svelte
@@ -18,13 +18,13 @@
-->
@@ -42,5 +42,5 @@
-
+
diff --git a/src/components/moderator/pages/event/TeamTable.svelte b/src/components/moderator/pages/event/TeamTable.svelte
index 5f06d78..14463f8 100644
--- a/src/components/moderator/pages/event/TeamTable.svelte
+++ b/src/components/moderator/pages/event/TeamTable.svelte
@@ -25,21 +25,19 @@
import { Popover, PopoverContent, PopoverTrigger } from "@components/ui/popover";
import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList } from "@components/ui/command";
import { teams } from "@components/stores/stores";
+ import type { Team } from "@components/types/team";
+ import type { EventModel } from "./eventmodel.svelte";
- const { event = $bindable() }: { event: ExtendedEvent } = $props();
-
- let team = $state(event.teams);
+ let { event = $bindable() }: { event: EventModel } = $props();
async function addTeam(value: number) {
await $eventRepo.updateTeams(event.event.id.toString(), [value]);
- team = await $eventRepo.listTeams(event.event.id.toString());
- event.teams = team;
+ event.teams = await $eventRepo.listTeams(event.event.id.toString());
}
async function removeTeam(value: number) {
await $eventRepo.deleteTeams(event.event.id.toString(), [value]);
- team = await $eventRepo.listTeams(event.event.id.toString());
- event.teams = team;
+ event.teams = await $eventRepo.listTeams(event.event.id.toString());
}
let teamSearch = $state("");
@@ -54,7 +52,7 @@
- {#each team as t (t.id)}
+ {#each event.teams as t (t.id)}
{t.kuerzel}
{t.name}
@@ -63,7 +61,7 @@
{/each}
- {#if team.length === 0}
+ {#if event.teams.length === 0}
No teams available
@@ -83,7 +81,7 @@
{#each $teams
.filter((v) => v.name.includes(teamSearch))
- .filter((v) => !team.some((k) => k.id === v.id))
+ .filter((v) => !event.teams.some((k) => k.id === v.id))
.filter((v, i) => i < 50) as t (t.id)}
addTeam(t.id)} keywords={[t.name, t.kuerzel]}>{t.name}
{/each}
diff --git a/src/components/moderator/pages/event/eventmodel.svelte.ts b/src/components/moderator/pages/event/eventmodel.svelte.ts
new file mode 100644
index 0000000..731fbc3
--- /dev/null
+++ b/src/components/moderator/pages/event/eventmodel.svelte.ts
@@ -0,0 +1,21 @@
+import type { ResponseUser } from "@components/repo/event";
+import type { EventFight, ExtendedEvent, ResponseGroups, ResponseRelation, SWEvent } from "@components/types/event";
+import type { Team } from "@components/types/team";
+
+export class EventModel {
+ public event: SWEvent = $state({} as SWEvent);
+ public teams: Array = $state([]);
+ public groups: Array = $state([]);
+ public fights: Array = $state([]);
+ public referees: Array = $state([]);
+ public relations: Array = $state([]);
+
+ constructor(data: ExtendedEvent) {
+ this.event = data.event;
+ this.teams = data.teams;
+ this.groups = data.groups;
+ this.fights = data.fights;
+ this.referees = data.referees;
+ this.relations = data.relations;
+ }
+}
diff --git a/src/components/moderator/pages/pages/page.svelte.ts b/src/components/moderator/pages/pages/page.svelte.ts
index dca0162..1487f77 100644
--- a/src/components/moderator/pages/pages/page.svelte.ts
+++ b/src/components/moderator/pages/pages/page.svelte.ts
@@ -38,7 +38,9 @@ export class OpenEditPage {
}
contentToSave += this.content;
const encodedContent = btoa(new TextEncoder().encode(contentToSave).reduce((data, byte) => data + String.fromCharCode(byte), ""));
- await get(pageRepo).updatePage(this.pageId, this.sha, encodedContent, this.manager.branch);
+
+ console.log(encodedContent);
+ //await get(pageRepo).updatePage(this.pageId, this.sha, encodedContent, this.manager.branch);
this.dirty = false;
this.manager.reloadImages();
}