Finish MVP

This commit is contained in:
2023-12-05 17:55:48 +01:00
parent 0fc220ce94
commit 224a3929aa
12 changed files with 270 additions and 10 deletions

View File

@@ -7,10 +7,12 @@
import moment from "moment/moment";
import {CheckSolid, XCircleOutline} from "flowbite-svelte-icons";
import SchematicInfoModal from "./SchematicInfoModal.svelte";
import type {Player} from "../types/data.ts";
const dispatch = createEventDispatcher();
export let schematicId: number;
export let user: Player;
let schemInfo = getSchematicInfo(schematicId);
@@ -24,7 +26,7 @@
<Spinner />
</Modal>
{:then info}
<SchematicInfoModal {info} on:reset />
<SchematicInfoModal {user} {info} on:reset />
{:catch e}
<Modal title="Error" open on:close={() => dispatch("reset")}>
<p>{e.message}</p>

View File

@@ -6,10 +6,12 @@
import type {SchematicInfo} from "../types/schem.ts";
import {createEventDispatcher} from "svelte";
import {schemRepo} from "../repo/repo.ts";
import type {Player} from "../types/data.ts";
const dispatch = createEventDispatcher();
export let info: SchematicInfo;
export let user: Player;
async function download() {
const code = await $schemRepo.createDownload(info.schem.id);
@@ -50,7 +52,9 @@
<p class="!mt-0">{t("dashboard.schematic.info.members", {members: info.members.join(", ")})}</p>
{/if}
<svelte:fragment slot="footer">
<button class="btn !ml-auto" on:click={download}>{t("dashboard.schematic.info.btn.download")}</button>
{#if (info.schem.owner === user.id)}
<button class="btn !ml-auto" on:click={download}>{t("dashboard.schematic.info.btn.download")}</button>
{/if}
<button class="btn" on:click={() => dispatch("reset")}>{t("dashboard.schematic.info.btn.close")}</button>
</svelte:fragment>
</Modal>

View File

@@ -7,10 +7,12 @@
import type {SchematicList} from "../types/schem.ts";
import SchematicInfo from "./SchematicInfo.svelte";
import UploadModal from "./UploadModal.svelte";
import type {Player} from "../types/data.ts";
const dispatch = createEventDispatcher();
export let schematics: SchematicList;
export let user: Player;
let uploadOpen = false;
let infoModalId: number | null = null;
@@ -96,7 +98,7 @@
<UploadModal bind:open={uploadOpen} on:refresh />
{#if infoModalId !== null}
<SchematicInfo schematicId={infoModalId} on:reset={() => infoModalId = null} />
<SchematicInfo schematicId={infoModalId} {user} on:reset={() => infoModalId = null} />
{/if}
<style lang="postcss">