chore: update dependencies
Backend:
- gunicorn 23.0.0 → 25.1.0
- setuptools 79.0.1 → 82.0.1
- litellm >=1.72.3 → >=1.82.1
Frontend:
- Migrate Tailwind CSS 3 → 4, daisyUI 4 → 5
- Add @tailwindcss/vite plugin, remove autoprefixer
- Replace tailwind.config.js with src/app.css (CSS-based config)
- Convert custom themes (aestheticDark, catppuccinMocha, aestheticLight,
northernLights) to daisyUI 5 CSS variable format
- Remove daisyUI v4-only '-bordered' classes from 45 component files
(input-bordered, select-bordered, textarea-bordered, file-input-bordered
are removed in v5; borders are default)
- @types/node 22 → 25
- @lukulent/svelte-umami 0.0.3 → 0.0.4
- packageManager: bun@1.2.22 → bun@1.3.10
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -66,7 +66,7 @@
|
||||
|
||||
import Navbar from '$lib/components/Navbar.svelte';
|
||||
import Toast from '$lib/components/Toast.svelte';
|
||||
import 'tailwindcss/tailwind.css';
|
||||
import '../app.css';
|
||||
|
||||
// Create a promise that resolves when the locale is ready
|
||||
export const localeLoaded = browser ? waitLocale() : Promise.resolve();
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
<input
|
||||
type="text"
|
||||
placeholder={$t('adventures.search_for_location')}
|
||||
class="input input-bordered w-full pl-10 pr-10 bg-base-100/80"
|
||||
class="input w-full pl-10 pr-10 bg-base-100/80"
|
||||
bind:value={searchFilter}
|
||||
/>
|
||||
{#if searchFilter.length > 0}
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
name="username"
|
||||
id="username"
|
||||
type="text"
|
||||
class="input input-bordered w-full focus:input-primary"
|
||||
class="input w-full focus:input-primary"
|
||||
placeholder={$t('auth.enter_username')}
|
||||
autocomplete="username"
|
||||
/>
|
||||
@@ -124,7 +124,7 @@
|
||||
type="password"
|
||||
name="password"
|
||||
id="password"
|
||||
class="input input-bordered w-full focus:input-primary"
|
||||
class="input w-full focus:input-primary"
|
||||
placeholder={$t('auth.enter_password')}
|
||||
autocomplete="current-password"
|
||||
/>
|
||||
@@ -143,7 +143,7 @@
|
||||
inputmode="numeric"
|
||||
pattern="[0-9]*"
|
||||
autocomplete="one-time-code"
|
||||
class="input input-bordered w-full focus:input-primary"
|
||||
class="input w-full focus:input-primary"
|
||||
placeholder="000000"
|
||||
maxlength="6"
|
||||
/>
|
||||
|
||||
@@ -532,7 +532,7 @@
|
||||
<!-- Controls -->
|
||||
<div class="mt-4 flex flex-wrap items-center gap-4">
|
||||
<!-- Search Bar -->
|
||||
<label class="input input-bordered input-sm flex items-center gap-2 flex-1 max-w-md">
|
||||
<label class="input input-sm flex items-center gap-2 flex-1 max-w-md">
|
||||
<SearchIcon class="h-4 w-4 opacity-70" />
|
||||
<input
|
||||
type="text"
|
||||
|
||||
@@ -796,7 +796,7 @@
|
||||
type="text"
|
||||
bind:value={user.username}
|
||||
name="username"
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
placeholder={$t('settings.enter_username')}
|
||||
/>
|
||||
</div>
|
||||
@@ -810,7 +810,7 @@
|
||||
type="text"
|
||||
bind:value={user.first_name}
|
||||
name="first_name"
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
placeholder={$t('settings.enter_first_name')}
|
||||
/>
|
||||
</div>
|
||||
@@ -824,7 +824,7 @@
|
||||
type="text"
|
||||
bind:value={user.last_name}
|
||||
name="last_name"
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
placeholder={$t('settings.enter_last_name')}
|
||||
/>
|
||||
</div>
|
||||
@@ -837,7 +837,7 @@
|
||||
<input
|
||||
type="file"
|
||||
name="profile_pic"
|
||||
class="file-input file-input-bordered file-input-primary"
|
||||
class="file-input file-input-primary"
|
||||
accept="image/*"
|
||||
/>
|
||||
</div>
|
||||
@@ -887,7 +887,7 @@
|
||||
<select
|
||||
id="default_currency"
|
||||
name="default_currency"
|
||||
class="select select-bordered select-primary w-full"
|
||||
class="select select-primary w-full"
|
||||
bind:value={user.default_currency}
|
||||
>
|
||||
{#each CURRENCY_OPTIONS as code}
|
||||
@@ -941,7 +941,7 @@
|
||||
<input
|
||||
type="password"
|
||||
name="current_password"
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
placeholder={$t('settings.enter_current_password')}
|
||||
/>
|
||||
</div>
|
||||
@@ -956,7 +956,7 @@
|
||||
<input
|
||||
type="password"
|
||||
name="password1"
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
placeholder={$t('settings.enter_new_password')}
|
||||
/>
|
||||
</div>
|
||||
@@ -971,7 +971,7 @@
|
||||
<input
|
||||
type="password"
|
||||
name="password2"
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
placeholder={$t('settings.confirm_new_password')}
|
||||
/>
|
||||
</div>
|
||||
@@ -1253,7 +1253,7 @@
|
||||
<input
|
||||
type="email"
|
||||
bind:value={new_email}
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
placeholder={$t('settings.enter_new_email')}
|
||||
required
|
||||
/>
|
||||
@@ -1321,7 +1321,7 @@
|
||||
<input
|
||||
type="url"
|
||||
bind:value={newImmichIntegration.server_url}
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
placeholder="https://immich.example.com/api"
|
||||
/>
|
||||
{#if newImmichIntegration.server_url && !newImmichIntegration.server_url.endsWith('api')}
|
||||
@@ -1346,7 +1346,7 @@
|
||||
<input
|
||||
type="password"
|
||||
bind:value={newImmichIntegration.api_key}
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
placeholder={$t('immich.api_key_placeholder')}
|
||||
/>
|
||||
</div>
|
||||
@@ -1518,7 +1518,7 @@
|
||||
</label>
|
||||
<input
|
||||
type="password"
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
placeholder="Enter your password"
|
||||
bind:value={newWandererIntegration.password}
|
||||
/>
|
||||
@@ -1541,7 +1541,7 @@
|
||||
</label>
|
||||
<input
|
||||
type="url"
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
placeholder="https://wanderer.example.com"
|
||||
bind:value={newWandererIntegration.server_url}
|
||||
/>
|
||||
@@ -1554,7 +1554,7 @@
|
||||
</label>
|
||||
<input
|
||||
type="text"
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
placeholder="Enter your username"
|
||||
bind:value={newWandererIntegration.username}
|
||||
/>
|
||||
@@ -1567,7 +1567,7 @@
|
||||
</label>
|
||||
<input
|
||||
type="password"
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
placeholder="Enter your password"
|
||||
bind:value={newWandererIntegration.password}
|
||||
/>
|
||||
@@ -1694,7 +1694,7 @@
|
||||
</label>
|
||||
<select
|
||||
id="default-ai-provider"
|
||||
class="select select-bordered select-primary w-full"
|
||||
class="select select-primary w-full"
|
||||
bind:value={defaultAiProvider}
|
||||
on:change={onDefaultAiProviderChange}
|
||||
>
|
||||
@@ -1710,7 +1710,7 @@
|
||||
</label>
|
||||
<select
|
||||
id="default-ai-model"
|
||||
class="select select-bordered select-primary w-full"
|
||||
class="select select-primary w-full"
|
||||
bind:value={defaultAiModel}
|
||||
disabled={defaultAiModelsLoading}
|
||||
>
|
||||
@@ -1816,7 +1816,7 @@
|
||||
</label>
|
||||
<select
|
||||
id="api-key-provider"
|
||||
class="select select-bordered select-primary w-full"
|
||||
class="select select-primary w-full"
|
||||
bind:value={newApiKeyProvider}
|
||||
disabled={providerCatalog.length === 0}
|
||||
>
|
||||
@@ -1832,7 +1832,7 @@
|
||||
<input
|
||||
id="api-key-value"
|
||||
type="password"
|
||||
class="input input-bordered input-primary focus:input-primary"
|
||||
class="input input-primary focus:input-primary"
|
||||
bind:value={newApiKeyValue}
|
||||
placeholder={$t('settings.api_key_value_placeholder')}
|
||||
required
|
||||
@@ -1996,7 +1996,7 @@
|
||||
type="file"
|
||||
name="file"
|
||||
id="backup-file"
|
||||
class="file-input file-input-bordered file-input-primary w-full"
|
||||
class="file-input file-input-primary w-full"
|
||||
accept=".zip"
|
||||
required
|
||||
/>
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
name="username"
|
||||
id="username"
|
||||
type="text"
|
||||
class="input input-bordered w-full focus:input-primary"
|
||||
class="input w-full focus:input-primary"
|
||||
placeholder="Choose a username"
|
||||
autocomplete="username"
|
||||
required
|
||||
@@ -79,7 +79,7 @@
|
||||
name="email"
|
||||
id="email"
|
||||
type="email"
|
||||
class="input input-bordered w-full focus:input-primary"
|
||||
class="input w-full focus:input-primary"
|
||||
placeholder="Enter your email"
|
||||
autocomplete="email"
|
||||
required
|
||||
@@ -96,7 +96,7 @@
|
||||
name="first_name"
|
||||
id="first_name"
|
||||
type="text"
|
||||
class="input input-bordered w-full focus:input-primary"
|
||||
class="input w-full focus:input-primary"
|
||||
placeholder="First name"
|
||||
autocomplete="given-name"
|
||||
required
|
||||
@@ -110,7 +110,7 @@
|
||||
name="last_name"
|
||||
id="last_name"
|
||||
type="text"
|
||||
class="input input-bordered w-full focus:input-primary"
|
||||
class="input w-full focus:input-primary"
|
||||
placeholder="Last name"
|
||||
autocomplete="family-name"
|
||||
required
|
||||
@@ -127,7 +127,7 @@
|
||||
type="password"
|
||||
name="password1"
|
||||
id="password"
|
||||
class="input input-bordered w-full focus:input-primary"
|
||||
class="input w-full focus:input-primary"
|
||||
placeholder="Create a password"
|
||||
autocomplete="new-password"
|
||||
required
|
||||
@@ -143,7 +143,7 @@
|
||||
type="password"
|
||||
name="password2"
|
||||
id="password2"
|
||||
class="input input-bordered w-full focus:input-primary"
|
||||
class="input w-full focus:input-primary"
|
||||
placeholder="Confirm your password"
|
||||
autocomplete="new-password"
|
||||
required
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
type="email"
|
||||
id="email"
|
||||
placeholder="Enter your email"
|
||||
class="input input-bordered w-full"
|
||||
class="input w-full"
|
||||
required
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
name="password"
|
||||
placeholder="Enter new password"
|
||||
required
|
||||
class="input input-bordered w-full"
|
||||
class="input w-full"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
name="confirm_password"
|
||||
placeholder="Confirm new password"
|
||||
required
|
||||
class="input input-bordered w-full"
|
||||
class="input w-full"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -327,7 +327,7 @@
|
||||
<input
|
||||
type="text"
|
||||
placeholder={$t('navbar.search')}
|
||||
class="input input-bordered w-full pl-10 pr-10 bg-base-100/80"
|
||||
class="input w-full pl-10 pr-10 bg-base-100/80"
|
||||
bind:value={searchQuery}
|
||||
/>
|
||||
{#if searchQuery.length > 0}
|
||||
|
||||
@@ -295,7 +295,7 @@
|
||||
<input
|
||||
type="text"
|
||||
placeholder={$t('navbar.search')}
|
||||
class="input input-bordered w-full pl-10 pr-10 bg-base-100/80"
|
||||
class="input w-full pl-10 pr-10 bg-base-100/80"
|
||||
bind:value={searchQuery}
|
||||
/>
|
||||
{#if searchQuery.length > 0}
|
||||
|
||||
@@ -274,7 +274,7 @@
|
||||
<input
|
||||
type="text"
|
||||
placeholder={$t('navbar.search')}
|
||||
class="input input-bordered w-full pl-10 pr-10 bg-base-100/80"
|
||||
class="input w-full pl-10 pr-10 bg-base-100/80"
|
||||
bind:value={searchQuery}
|
||||
/>
|
||||
{#if searchQuery.length > 0}
|
||||
|
||||
Reference in New Issue
Block a user