mirror of
https://github.com/seanmorley15/AdventureLog.git
synced 2025-08-05 05:05:17 +02:00
Fix custom default category
This commit is contained in:
parent
17d8784d8c
commit
ce0b82acb7
10 changed files with 66 additions and 26 deletions
|
@ -404,6 +404,18 @@
|
|||
event.preventDefault();
|
||||
console.log(adventure);
|
||||
if (adventure.id === '') {
|
||||
console.log(categories);
|
||||
if (categories.some((category) => category.name === 'general')) {
|
||||
adventure.category = categories.find((category) => category.name === 'general') as Category;
|
||||
} else {
|
||||
adventure.category = {
|
||||
id: '',
|
||||
name: 'general',
|
||||
display_name: 'General',
|
||||
icon: '🌍',
|
||||
user_id: ''
|
||||
};
|
||||
}
|
||||
let res = await fetch('/api/adventures', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
|
||||
let category_to_edit: Category | null = null;
|
||||
|
||||
let is_changed: boolean = false;
|
||||
|
||||
onMount(async () => {
|
||||
modal = document.getElementById('my_modal_1') as HTMLDialogElement;
|
||||
if (modal) {
|
||||
|
@ -39,6 +41,7 @@
|
|||
}
|
||||
return c;
|
||||
});
|
||||
is_changed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -60,6 +63,7 @@
|
|||
});
|
||||
if (response.ok) {
|
||||
categories = categories.filter((c) => c.id !== category.id);
|
||||
is_changed = true;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -87,21 +91,44 @@
|
|||
{/if}
|
||||
|
||||
{#if category_to_edit}
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Name"
|
||||
bind:value={category_to_edit.display_name}
|
||||
class="input input-bordered w-full max-w-xs"
|
||||
/>
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Icon"
|
||||
bind:value={category_to_edit.icon}
|
||||
class="input input-bordered w-full max-w-xs"
|
||||
/>
|
||||
<h2 class="text-center text-xl font-semibold mt-2 mb-2">Edit Category</h2>
|
||||
<div class="flex flex-row space-x-2 form-control">
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Name"
|
||||
bind:value={category_to_edit.display_name}
|
||||
class="input input-bordered w-full max-w-xs"
|
||||
/>
|
||||
|
||||
<input
|
||||
type="text"
|
||||
placeholder="Icon"
|
||||
bind:value={category_to_edit.icon}
|
||||
class="input input-bordered w-full max-w-xs"
|
||||
/>
|
||||
</div>
|
||||
<button class="btn btn-primary" on:click={saveCategory}>Save</button>
|
||||
{/if}
|
||||
|
||||
<button class="btn btn-primary mt-4" on:click={close}>{$t('about.close')}</button>
|
||||
|
||||
{#if is_changed}
|
||||
<div role="alert" class="alert alert-info mt-6">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
class="h-6 w-6 shrink-0 stroke-current"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
stroke-width="2"
|
||||
d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
|
||||
></path>
|
||||
</svg>
|
||||
<span>The adventure cards will be updated once you refresh the page.</span>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
</dialog>
|
||||
|
|
|
@ -361,8 +361,7 @@
|
|||
</div>
|
||||
<div class="divider"></div>
|
||||
<div class="form-control">
|
||||
<br />
|
||||
<p class="text-lg font-semibold mt-2 mb-2">{$t('adventures.sources')}</p>
|
||||
<p class="text-lg font-semibold mb-2">{$t('adventures.sources')}</p>
|
||||
<label class="label cursor-pointer">
|
||||
<span class="label-text">{$t('adventures.collection_adventures')}</span>
|
||||
<input
|
||||
|
|
|
@ -265,9 +265,7 @@
|
|||
<div>
|
||||
<p class="text-sm text-muted-foreground">{$t('adventures.adventure_type')}</p>
|
||||
<p class="text-base font-medium">
|
||||
{typeof adventure.category === 'object'
|
||||
? `${adventure.category.display_name} ${adventure.category.icon}`
|
||||
: ''}
|
||||
{adventure.category?.display_name + ' ' + adventure.category?.icon}
|
||||
</p>
|
||||
</div>
|
||||
{#if data.props.collection}
|
||||
|
@ -339,8 +337,7 @@
|
|||
<Popup openOn="click" offset={[0, -10]}>
|
||||
<div class="text-lg text-black font-bold">{adventure.name}</div>
|
||||
<p class="font-semibold text-black text-md">
|
||||
{typeof adventure.category === 'object' && adventure.category.display_name}
|
||||
{typeof adventure.category === 'object' && adventure.category.icon}
|
||||
{adventure.category?.display_name + ' ' + adventure.category?.icon}
|
||||
</p>
|
||||
{#if adventure.visits.length > 0}
|
||||
<p class="text-black text-sm">
|
||||
|
|
|
@ -126,7 +126,7 @@
|
|||
on:click={togglePopup}
|
||||
>
|
||||
<span class="text-xl">
|
||||
{typeof adventure.category === 'object' ? adventure.category.icon : adventure.category}
|
||||
{adventure.category?.display_name + ' ' + adventure.category?.icon}
|
||||
</span>
|
||||
{#if isPopupOpen}
|
||||
<Popup openOn="click" offset={[0, -10]} on:close={() => (isPopupOpen = false)}>
|
||||
|
@ -138,7 +138,7 @@
|
|||
{adventure.is_visited ? $t('adventures.visited') : $t('adventures.planned')}
|
||||
</p>
|
||||
<p class="font-semibold text-black text-md">
|
||||
{adventure.category.display_name + ' ' + adventure.category.icon}
|
||||
{adventure.category?.display_name + ' ' + adventure.category?.icon}
|
||||
</p>
|
||||
{#if adventure.visits && adventure.visits.length > 0}
|
||||
<p class="text-black text-sm">
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue