First almost fully functioning MVP.
Lacking: - Seasons cannot be added/edited - image upload - layout recipe/adding
This commit is contained in:
@@ -1,41 +1,43 @@
|
||||
<script lang="ts">
|
||||
let name
|
||||
export let card_data ={
|
||||
}
|
||||
let short_name
|
||||
let category
|
||||
let icon
|
||||
let description
|
||||
let password
|
||||
let datecreated = new Date()
|
||||
let datemodified = datecreated
|
||||
let tags
|
||||
|
||||
import type { PageData } from './$types';
|
||||
import CardAdd from '$lib/components/CardAdd.svelte';
|
||||
import MediaScroller from '$lib/components/MediaScroller.svelte';
|
||||
import Card from '$lib/components/Card.svelte';
|
||||
import Search from '$lib/components/Search.svelte';
|
||||
|
||||
import SeasonSelect from '$lib/components/SeasonSelect.svelte';
|
||||
export let season = []
|
||||
|
||||
import CreateIngredientList from '$lib/components/CreateIngredientList.svelte';
|
||||
export let ingredients = []
|
||||
|
||||
import CreateStepList from '$lib/components/CreateStepList.svelte';
|
||||
export let data: PageData;
|
||||
export let current_month = new Date().getMonth() + 1
|
||||
export let instructions = []
|
||||
|
||||
async function doPost () {
|
||||
const res = await fetch('/api/add', {
|
||||
method: 'POST',
|
||||
body: JSON.stringify({
|
||||
bearer: "password1234",
|
||||
recipe: {
|
||||
season: get_season(),
|
||||
...card_data,
|
||||
images: [{
|
||||
mediapath: short_name + '.webp',
|
||||
alt: "",
|
||||
caption: ""
|
||||
}],
|
||||
short_name,
|
||||
name,
|
||||
category,
|
||||
datecreated,
|
||||
datemodified,
|
||||
tags,
|
||||
description,
|
||||
icon
|
||||
|
||||
instructions,
|
||||
ingredients,
|
||||
},
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
bearer: "password1234",
|
||||
bearer: password,
|
||||
}
|
||||
})
|
||||
})
|
||||
@@ -44,68 +46,31 @@
|
||||
result = JSON.stringify(json)
|
||||
console.log(result)
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style>
|
||||
input{
|
||||
input.temp{
|
||||
all: unset;
|
||||
display: block;
|
||||
margin: 1rem;
|
||||
margin: 1rem auto;
|
||||
padding: 0.2em 1em;
|
||||
border-radius: 1000px;
|
||||
background-color: var(--nord4);
|
||||
|
||||
}
|
||||
.ingredient{
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.ingredient > input{
|
||||
display: inline;
|
||||
margin-inline: 0.25em;
|
||||
}
|
||||
.ingredient>#unit{
|
||||
max-width: 40px;
|
||||
}
|
||||
.ingredient>#amount{
|
||||
max-width: 100px;
|
||||
}
|
||||
.ingredient button{
|
||||
all: unset;
|
||||
background-color: var(--red);
|
||||
padding: 0.3em;
|
||||
height: 100%;
|
||||
border-radius: 1000px;
|
||||
display:flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
transition: 100ms;
|
||||
}
|
||||
.ingredient button svg{
|
||||
fill: white;
|
||||
width: 1.5rem;
|
||||
height: 1.5rem;
|
||||
}
|
||||
.ingredient button:hover{
|
||||
background-color: var(--orange);
|
||||
transform: scale(1.1, 1.1);
|
||||
}
|
||||
.ingredient button:hover svg{
|
||||
transform: scale(1.1, 1.1);
|
||||
}
|
||||
|
||||
</style>
|
||||
<h1>Rezept hinzufügen</h1>
|
||||
|
||||
<CardAdd></CardAdd>
|
||||
<CardAdd {card_data}></CardAdd>
|
||||
|
||||
<input class=temp bind:value={short_name} placeholder="Kurzname"/>
|
||||
|
||||
<SeasonSelect {season}></SeasonSelect>
|
||||
|
||||
|
||||
<input bind:value={short_name} placeholder="Kurzname"/>
|
||||
<h2>Zutaten</h2>
|
||||
<CreateIngredientList></CreateIngredientList>
|
||||
<CreateIngredientList {ingredients}></CreateIngredientList>
|
||||
<h2>Zubereitung</h2>
|
||||
<CreateStepList></CreateStepList>
|
||||
<CreateStepList {instructions} ></CreateStepList>
|
||||
<input class=temp type="password" placeholder=Passwort bind:value={password}>
|
||||
<button on:click={doPost}>ADD RECIPE</button>
|
||||
|
Reference in New Issue
Block a user