Primitive Backend Communication
This commit is contained in:
parent
2b5a19fdd6
commit
9a8f2198f1
7 changed files with 373 additions and 18 deletions
|
@ -1,10 +1,12 @@
|
|||
<script lang="ts">
|
||||
import {writable} from "svelte/store";
|
||||
import type {Writable} from "svelte/store";
|
||||
import IntegerInput from "./IntegerInput.svelte";
|
||||
import TextInput from "./TextInput.svelte";
|
||||
import NewListTextInput from "./ListTextInput/NewListTextInput.svelte";
|
||||
import ListTextInputElement from "./ListTextInput/ListTextInputElement.svelte";
|
||||
import {invoke} from "@tauri-apps/api/tauri";
|
||||
import {AgeRating, LanguageISO, type Metadata} from "./metadata";
|
||||
|
||||
let returnMessage = "";
|
||||
|
||||
let seriesTitle = "";
|
||||
let volumeTitle = "";
|
||||
|
@ -23,8 +25,8 @@
|
|||
let publisher: string;
|
||||
let tags: Array<string> = [];
|
||||
let genre = "Hentai";
|
||||
let lang = "en";
|
||||
let ageRating = "18+";
|
||||
let lang = LanguageISO.EN;
|
||||
let ageRating = AgeRating.R18;
|
||||
|
||||
$: {
|
||||
if (releaseYear < 0) {
|
||||
|
@ -40,9 +42,49 @@
|
|||
tags.splice(event.detail.tagId, 1);
|
||||
tags = tags;
|
||||
}
|
||||
|
||||
async function saveMetadata() {
|
||||
let message: Metadata = {
|
||||
title: volumeTitle,
|
||||
series_title: seriesTitle,
|
||||
|
||||
chapter_number: 0,
|
||||
|
||||
total_chapter_count: -1,
|
||||
|
||||
volume_number: -1,
|
||||
|
||||
summary: "",
|
||||
|
||||
year: 2023,
|
||||
month: -1,
|
||||
day: -1,
|
||||
|
||||
writer: "",
|
||||
translator: "",
|
||||
letterer: "",
|
||||
editor: "",
|
||||
|
||||
publisher: "",
|
||||
|
||||
genre: "",
|
||||
|
||||
tags: [],
|
||||
|
||||
page_count: 10,
|
||||
|
||||
language: LanguageISO.EN,
|
||||
|
||||
characters: [],
|
||||
|
||||
age_rating: AgeRating.R18,
|
||||
}
|
||||
console.log(message);
|
||||
returnMessage = await invoke("test", { message })
|
||||
}
|
||||
</script>
|
||||
|
||||
<div class="metadataInput">
|
||||
<form class="metadataInput" on:submit|preventDefault={saveMetadata}>
|
||||
<h1>Metadata</h1>
|
||||
|
||||
<label for="series">Series:</label>
|
||||
|
@ -78,15 +120,15 @@
|
|||
<label for="author">Author:</label>
|
||||
<TextInput id="author" bind:value={author} placeholder="Author" /><br>
|
||||
|
||||
<label for="translator">Translator:</label>
|
||||
<TextInput id="translator" bind:value={translator} placeholder="Translator" /><br>
|
||||
|
||||
<label for="typesetter">Typesetter:</label>
|
||||
<TextInput id="typesetter" bind:value={typesetter} placeholder="Typesetter" /><br>
|
||||
|
||||
<label for="editor">Editor:</label>
|
||||
<TextInput id="editor" bind:value={editor} placeholder="Editor" /><br>
|
||||
|
||||
<label for="translator">Translator:</label>
|
||||
<TextInput id="translator" bind:value={translator} placeholder="Translator" /><br>
|
||||
|
||||
<label for="publisher">Publisher:</label>
|
||||
<TextInput id="publisher" bind:value={publisher} placeholder="Publisher" /><br>
|
||||
|
||||
|
@ -97,17 +139,18 @@
|
|||
{/each}
|
||||
<NewListTextInput id="new-tag" bind:value={tags[tags.length]}/><br>
|
||||
|
||||
<label for="genre">Genre</label>
|
||||
<label for="genre">Genre:</label>
|
||||
<TextInput id="genre" bind:value={genre} placeholder="Genre" />
|
||||
|
||||
<label for="lang">Language</label>
|
||||
<label for="lang">Language:</label>
|
||||
<input id="lang" type="text"><br>
|
||||
|
||||
<label for="age_rating">Age Rating</label>
|
||||
<label for="age_rating">Age Rating:</label>
|
||||
<input id="age_rating" type="text"><br>
|
||||
|
||||
<input type="submit" value="Save"/>
|
||||
</div>
|
||||
<p>{returnMessage}</p>
|
||||
</form>
|
||||
|
||||
<style>
|
||||
.metadataInput {
|
||||
|
|
58
src/lib/metadata.ts
Normal file
58
src/lib/metadata.ts
Normal file
|
@ -0,0 +1,58 @@
|
|||
type Metadata = {
|
||||
title: string,
|
||||
series_title: string,
|
||||
|
||||
chapter_number: number,
|
||||
total_chapter_count: number,
|
||||
volume_number: number,
|
||||
|
||||
summary: string,
|
||||
|
||||
year: number,
|
||||
month: number,
|
||||
day: number,
|
||||
|
||||
writer: string,
|
||||
translator: string,
|
||||
letterer: string
|
||||
editor: string,
|
||||
|
||||
publisher: string,
|
||||
|
||||
genre: string,
|
||||
|
||||
tags: string[],
|
||||
|
||||
page_count: number,
|
||||
|
||||
language: LanguageISO,
|
||||
|
||||
characters: string[]
|
||||
|
||||
age_rating: AgeRating
|
||||
}
|
||||
|
||||
enum AgeRating {
|
||||
Unknown = "Unknown",
|
||||
AdultsOnly = "Adults Only 18+",
|
||||
EarlyChildhood = "Early Childhood",
|
||||
Everyone = "Everyone",
|
||||
Everyone10 = "Everyone 10+",
|
||||
G = "G",
|
||||
KidsAdults = "Kids to Adults",
|
||||
M = "M",
|
||||
MA15 = "MA15+",
|
||||
Mature = "Mature 17+",
|
||||
PG = "PG",
|
||||
R18 = "R18+",
|
||||
RatingPending = "Rating Pending",
|
||||
X18 = "X18+"
|
||||
}
|
||||
|
||||
enum LanguageISO {
|
||||
EN = "en",
|
||||
JP = "jp"
|
||||
}
|
||||
|
||||
export { LanguageISO, AgeRating}
|
||||
export type {Metadata}
|
Reference in a new issue