diff --git a/web/src/lib/components/shared-components/full-screen-modal.svelte b/web/src/lib/components/shared-components/full-screen-modal.svelte
index 228d560cab..2cecdf74e8 100644
--- a/web/src/lib/components/shared-components/full-screen-modal.svelte
+++ b/web/src/lib/components/shared-components/full-screen-modal.svelte
@@ -22,7 +22,7 @@
* - `narrow`: 28rem
* - `auto`: fits the width of the modal content, up to a maximum of 32rem
*/
- export let width: 'wide' | 'narrow' | 'auto' = 'narrow';
+ export let width: 'extra-wide' | 'wide' | 'narrow' | 'auto' = 'narrow';
/**
* Unique identifier for the modal.
@@ -34,12 +34,25 @@
let modalWidth: string;
$: {
- if (width === 'wide') {
- modalWidth = 'w-[48rem]';
- } else if (width === 'narrow') {
- modalWidth = 'w-[28rem]';
- } else {
- modalWidth = 'sm:max-w-4xl';
+ switch (width) {
+ case 'extra-wide': {
+ modalWidth = 'w-[56rem]';
+ break;
+ }
+
+ case 'wide': {
+ modalWidth = 'w-[48rem]';
+ break;
+ }
+
+ case 'narrow': {
+ modalWidth = 'w-[28rem]';
+ break;
+ }
+
+ default: {
+ modalWidth = 'sm:max-w-4xl';
+ }
}
}
@@ -62,7 +75,7 @@
aria-labelledby={titleId}
>
@@ -72,7 +85,7 @@
{#if isStickyBottom}
diff --git a/web/src/lib/components/shared-components/modal-header.svelte b/web/src/lib/components/shared-components/modal-header.svelte
index 8c81cebe1a..efd87b476c 100644
--- a/web/src/lib/components/shared-components/modal-header.svelte
+++ b/web/src/lib/components/shared-components/modal-header.svelte
@@ -26,7 +26,7 @@
{#if showLogo}
{:else if icon}
-
+
{/if}
{title}
diff --git a/web/src/lib/components/shared-components/search-bar/search-bar.svelte b/web/src/lib/components/shared-components/search-bar/search-bar.svelte
index 07d4df6e66..b0bbdbe71f 100644
--- a/web/src/lib/components/shared-components/search-bar/search-bar.svelte
+++ b/web/src/lib/components/shared-components/search-bar/search-bar.svelte
@@ -4,7 +4,7 @@
import { isSearchEnabled, preventRaceConditionSearchBar, savedSearchTerms } from '$lib/stores/search.store';
import { mdiClose, mdiMagnify, mdiTune } from '@mdi/js';
import SearchHistoryBox from './search-history-box.svelte';
- import SearchFilterBox from './search-filter-box.svelte';
+ import SearchFilterModal from './search-filter-modal.svelte';
import type { MetadataSearchDto, SmartSearchDto } from '@immich/sdk';
import { getMetadataSearchQuery } from '$lib/utils/metadata-search';
import { handlePromiseError } from '$lib/utils';
@@ -160,8 +160,8 @@
id="main-search-bar"
class="w-full transition-all border-2 px-14 py-4 text-immich-fg/75 dark:text-immich-dark-fg
{grayTheme ? 'dark:bg-immich-dark-gray' : 'dark:bg-immich-dark-bg'}
- {(showSuggestions && isSearchSuggestions) || showFilter ? 'rounded-t-3xl' : 'rounded-3xl bg-gray-200'}
- {$isSearchEnabled ? 'border-gray-200 dark:border-gray-700 bg-white' : 'border-transparent'}"
+ {showSuggestions && isSearchSuggestions ? 'rounded-t-3xl' : 'rounded-3xl bg-gray-200'}
+ {$isSearchEnabled && !showFilter ? 'border-gray-200 dark:border-gray-700 bg-white' : 'border-transparent'}"
placeholder={$t('search_your_photos')}
required
pattern="^(?!m:$).*$"
@@ -215,6 +215,6 @@
{#if showFilter}
- onSearch(detail)} />
+ onSearch(payload)} onClose={() => (showFilter = false)} />
{/if}
diff --git a/web/src/lib/components/shared-components/search-bar/search-filter-box.svelte b/web/src/lib/components/shared-components/search-bar/search-filter-modal.svelte
similarity index 83%
rename from web/src/lib/components/shared-components/search-bar/search-filter-box.svelte
rename to web/src/lib/components/shared-components/search-bar/search-filter-modal.svelte
index 45e9393ed4..3ec539ad97 100644
--- a/web/src/lib/components/shared-components/search-bar/search-filter-box.svelte
+++ b/web/src/lib/components/shared-components/search-bar/search-filter-modal.svelte
@@ -24,8 +24,6 @@
-