<script setup>
import { useForm } from '@inertiajs/inertia-vue3';
import Input from '../../Share/Components/Input.vue';

const props = defineProps({
    project: {
        type: Object,
        required: true,
    },
});

const form = useForm({
    title: props.project.title,
    author: props.project.author,
    categories: props.project.categories,
    release_date: props.project.release_date,
    update_date: props.project.update_date,
    image_small: props.project.image_small,
    image_medium: props.project.image_medium,
    image_large: props.project.image_large,
    project_url: props.project.project_url,
    project_version: props.project.project_version,
    description: props.project.description,
    visible: Boolean(props.project.visible),
});

function updateProject() {
    form.put(`/dashboard/project/${props.project.id}`);
}
</script>

<template>
    <InertiaHead title="Nowy projekt" />
    <div class="p-4">
        <header class="pb-4">
            <h1 class="text-3xl font-roboto font-light">Edytuj {{ project.title }}</h1>
        </header>
        <div>
            <form class="flex flex-col gap-4" @submit.prevent="updateProject">
                <Input
                    id="title"
                    label="Tytuł"
                    placeholder="Nazwa projektu"
                    v-model="form.title"
                    :error="form.errors.title"
                />
                <Input
                    id="author"
                    label="Autor"
                    placeholder="Imię i nazwisko"
                    v-model="form.author"
                    :error="form.errors.author"
                />
                <Input
                    id="categories"
                    label="Kategorie"
                    placeholder="Kategorie projektu"
                    v-model="form.categories"
                    :error="form.errors.categories"
                />
                <Input
                    id="release_date"
                    label="Data pierwszego wydania"
                    type="date"
                    v-model="form.release_date"
                    :error="form.errors.release_date"
                />
                <Input
                    id="update_date"
                    label="Data aktualizacji"
                    type="date"
                    v-model="form.update_date"
                    :error="form.errors.update_date"
                />
                <Input
                    id="image_small"
                    label="Zdjęcie projekty - małe"
                    v-model="form.image_small"
                    :error="form.errors.image_small"
                />
                <Input
                    id="image_medium"
                    label="Zdjęcie projekty - średnie"
                    v-model="form.image_medium"
                    :error="form.errors.image_medium"
                />
                <Input
                    id="image_large"
                    label="Zdjęcie projekty - duże"
                    v-model="form.image_large"
                    :error="form.errors.image_large"
                />
                <Input
                    id="project_url"
                    label="Adres projektu"
                    placeholder="Adres www strony projektu"
                    v-model="form.project_url"
                    :error="form.errors.project_url"
                />
                <Input
                    id="project_url"
                    label="Adres projektu"
                    placeholder="Adres www strony projektu"
                    v-model="form.project_url"
                    :error="form.errors.project_url"
                />
                <Input
                    id="project_version"
                    label="Wersja projektu"
                    placeholder="v1.0.0"
                    v-model="form.project_version"
                    :error="form.errors.project_version"
                />
                <Input
                    id="description"
                    label="Opis"
                    type="textarea"
                    placeholder="Ładny opis"
                    v-model="form.description"
                    :error="form.errors.description"
                    textareaHeight="200px"
                />
                <Input
                    id="visible"
                    label="Widoczny"
                    type="checkbox"
                    v-model="form.visible"
                />
                <button class="px-0.5 py-1 rounded-lg bg-[#436da7] border-4 border-[#436da7] text-white text-lg hover:bg-transparent hover:text-[#436da7]">Aktualizuj projekt</button>
            </form>
        </div>
    </div>
</template>
