mirror of
				https://github.com/immich-app/immich.git
				synced 2025-10-31 02:27:08 -04:00 
			
		
		
		
	fix(web): events as props (#12825)
This commit is contained in:
		
							parent
							
								
									124eb8251b
								
							
						
					
					
						commit
						8cd3f6b884
					
				| @ -99,7 +99,7 @@ | |||||||
|           ]} |           ]} | ||||||
|           name="vcodec" |           name="vcodec" | ||||||
|           isEdited={config.ffmpeg.targetVideoCodec !== savedConfig.ffmpeg.targetVideoCodec} |           isEdited={config.ffmpeg.targetVideoCodec !== savedConfig.ffmpeg.targetVideoCodec} | ||||||
|           on:select={() => (config.ffmpeg.acceptedVideoCodecs = [config.ffmpeg.targetVideoCodec])} |           onSelect={() => (config.ffmpeg.acceptedVideoCodecs = [config.ffmpeg.targetVideoCodec])} | ||||||
|         /> |         /> | ||||||
| 
 | 
 | ||||||
|         <SettingSelect |         <SettingSelect | ||||||
| @ -114,7 +114,7 @@ | |||||||
|           ]} |           ]} | ||||||
|           name="acodec" |           name="acodec" | ||||||
|           isEdited={config.ffmpeg.targetAudioCodec !== savedConfig.ffmpeg.targetAudioCodec} |           isEdited={config.ffmpeg.targetAudioCodec !== savedConfig.ffmpeg.targetAudioCodec} | ||||||
|           on:select={() => |           onSelect={() => | ||||||
|             config.ffmpeg.acceptedAudioCodecs.includes(config.ffmpeg.targetAudioCodec) |             config.ffmpeg.acceptedAudioCodecs.includes(config.ffmpeg.targetAudioCodec) | ||||||
|               ? null |               ? null | ||||||
|               : config.ffmpeg.acceptedAudioCodecs.push(config.ffmpeg.targetAudioCodec)} |               : config.ffmpeg.acceptedAudioCodecs.push(config.ffmpeg.targetAudioCodec)} | ||||||
|  | |||||||
| @ -96,7 +96,7 @@ | |||||||
|           title={$t('admin.image_prefer_wide_gamut')} |           title={$t('admin.image_prefer_wide_gamut')} | ||||||
|           subtitle={$t('admin.image_prefer_wide_gamut_setting_description')} |           subtitle={$t('admin.image_prefer_wide_gamut_setting_description')} | ||||||
|           checked={config.image.colorspace === Colorspace.P3} |           checked={config.image.colorspace === Colorspace.P3} | ||||||
|           on:toggle={(e) => (config.image.colorspace = e.detail ? Colorspace.P3 : Colorspace.Srgb)} |           onToggle={(isChecked) => (config.image.colorspace = isChecked ? Colorspace.P3 : Colorspace.Srgb)} | ||||||
|           isEdited={config.image.colorspace !== savedConfig.image.colorspace} |           isEdited={config.image.colorspace !== savedConfig.image.colorspace} | ||||||
|           {disabled} |           {disabled} | ||||||
|         /> |         /> | ||||||
| @ -105,7 +105,7 @@ | |||||||
|           title={$t('admin.image_prefer_embedded_preview')} |           title={$t('admin.image_prefer_embedded_preview')} | ||||||
|           subtitle={$t('admin.image_prefer_embedded_preview_setting_description')} |           subtitle={$t('admin.image_prefer_embedded_preview_setting_description')} | ||||||
|           checked={config.image.extractEmbedded} |           checked={config.image.extractEmbedded} | ||||||
|           on:toggle={() => (config.image.extractEmbedded = !config.image.extractEmbedded)} |           onToggle={() => (config.image.extractEmbedded = !config.image.extractEmbedded)} | ||||||
|           isEdited={config.image.extractEmbedded !== savedConfig.image.extractEmbedded} |           isEdited={config.image.extractEmbedded !== savedConfig.image.extractEmbedded} | ||||||
|           {disabled} |           {disabled} | ||||||
|         /> |         /> | ||||||
|  | |||||||
| @ -15,5 +15,13 @@ | |||||||
| {#if projectionType === ProjectionType.EQUIRECTANGULAR} | {#if projectionType === ProjectionType.EQUIRECTANGULAR} | ||||||
|   <PanoramaViewer asset={{ id: assetId, type: AssetTypeEnum.Video }} /> |   <PanoramaViewer asset={{ id: assetId, type: AssetTypeEnum.Video }} /> | ||||||
| {:else} | {:else} | ||||||
|   <VideoNativeViewer {loopVideo} {checksum} {assetId} {onPreviousAsset} {onNextAsset} /> |   <VideoNativeViewer | ||||||
|  |     {loopVideo} | ||||||
|  |     {checksum} | ||||||
|  |     {assetId} | ||||||
|  |     {onPreviousAsset} | ||||||
|  |     {onNextAsset} | ||||||
|  |     on:onVideoEnded | ||||||
|  |     on:onVideoStarted | ||||||
|  |   /> | ||||||
| {/if} | {/if} | ||||||
|  | |||||||
| @ -32,7 +32,7 @@ | |||||||
| > | > | ||||||
|   <div class="grid-col-2 grid gap-8 md:grid-cols-3 lg:grid-cols-6 xl:grid-cols-8 2xl:grid-cols-10"> |   <div class="grid-col-2 grid gap-8 md:grid-cols-3 lg:grid-cols-6 xl:grid-cols-8 2xl:grid-cols-10"> | ||||||
|     {#each showPeople as person (person.id)} |     {#each showPeople as person (person.id)} | ||||||
|       <FaceThumbnail {person} on:click={() => onSelect(person)} circle border selectable /> |       <FaceThumbnail {person} onClick={() => onSelect(person)} circle border selectable /> | ||||||
|     {/each} |     {/each} | ||||||
|   </div> |   </div> | ||||||
| </div> | </div> | ||||||
|  | |||||||
| @ -83,8 +83,8 @@ | |||||||
|     bind:name={searchName} |     bind:name={searchName} | ||||||
|     {showLoadingSpinner} |     {showLoadingSpinner} | ||||||
|     {placeholder} |     {placeholder} | ||||||
|     on:reset={handleReset} |     onReset={handleReset} | ||||||
|     on:search={({ detail }) => handleSearch(detail.force ?? false)} |     onSearch={({ force }) => handleSearch(force ?? false)} | ||||||
|   /> |   /> | ||||||
| {:else} | {:else} | ||||||
|   <input |   <input | ||||||
|  | |||||||
| @ -168,7 +168,7 @@ | |||||||
|               circle |               circle | ||||||
|               selectable |               selectable | ||||||
|               thumbnailSize={180} |               thumbnailSize={180} | ||||||
|               on:click={handleRemoveSelectedPerson} |               onClick={handleRemoveSelectedPerson} | ||||||
|             /> |             /> | ||||||
|           </div> |           </div> | ||||||
|         </div> |         </div> | ||||||
|  | |||||||
| @ -52,7 +52,7 @@ | |||||||
|   <form on:submit|preventDefault={handleSubmit} autocomplete="off" id="create-tag-form"> |   <form on:submit|preventDefault={handleSubmit} autocomplete="off" id="create-tag-form"> | ||||||
|     <div class="my-4 flex flex-col gap-2"> |     <div class="my-4 flex flex-col gap-2"> | ||||||
|       <Combobox |       <Combobox | ||||||
|         on:select={({ detail: option }) => handleSelect(option)} |         onSelect={handleSelect} | ||||||
|         label={$t('tag')} |         label={$t('tag')} | ||||||
|         options={allTags.map((tag) => ({ id: tag.id, label: tag.value, value: tag.id }))} |         options={allTags.map((tag) => ({ id: tag.id, label: tag.value, value: tag.id }))} | ||||||
|         placeholder={$t('search_tags')} |         placeholder={$t('search_tags')} | ||||||
|  | |||||||
| @ -84,7 +84,7 @@ | |||||||
|       {/if} |       {/if} | ||||||
|     </AssetSelectControlBar> |     </AssetSelectControlBar> | ||||||
|   {:else} |   {:else} | ||||||
|     <ControlAppBar on:close={() => goto(AppRoute.PHOTOS)} backIcon={mdiArrowLeft} showBackButton={false}> |     <ControlAppBar onClose={() => goto(AppRoute.PHOTOS)} backIcon={mdiArrowLeft} showBackButton={false}> | ||||||
|       <svelte:fragment slot="leading"> |       <svelte:fragment slot="leading"> | ||||||
|         <ImmichLogoSmallLink width={innerWidth} /> |         <ImmichLogoSmallLink width={innerWidth} /> | ||||||
|       </svelte:fragment> |       </svelte:fragment> | ||||||
|  | |||||||
| @ -20,7 +20,7 @@ | |||||||
|       title={$t('show_supporter_badge')} |       title={$t('show_supporter_badge')} | ||||||
|       subtitle={$t('show_supporter_badge_description')} |       subtitle={$t('show_supporter_badge_description')} | ||||||
|       bind:checked={$preferences.purchase.showSupportBadge} |       bind:checked={$preferences.purchase.showSupportBadge} | ||||||
|       on:toggle={({ detail }) => setSupportBadgeVisibility(detail)} |       onToggle={setSupportBadgeVisibility} | ||||||
|     /> |     /> | ||||||
|   </div> |   </div> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -56,7 +56,7 @@ | |||||||
|     <div class="w-full"> |     <div class="w-full"> | ||||||
|       <Combobox |       <Combobox | ||||||
|         label={$t('make')} |         label={$t('make')} | ||||||
|         on:select={({ detail }) => (filters.make = detail?.value)} |         onSelect={(option) => (filters.make = option?.value)} | ||||||
|         options={asComboboxOptions(makes)} |         options={asComboboxOptions(makes)} | ||||||
|         placeholder={$t('search_camera_make')} |         placeholder={$t('search_camera_make')} | ||||||
|         selectedOption={asSelectedOption(makeFilter)} |         selectedOption={asSelectedOption(makeFilter)} | ||||||
| @ -66,7 +66,7 @@ | |||||||
|     <div class="w-full"> |     <div class="w-full"> | ||||||
|       <Combobox |       <Combobox | ||||||
|         label={$t('model')} |         label={$t('model')} | ||||||
|         on:select={({ detail }) => (filters.model = detail?.value)} |         onSelect={(option) => (filters.model = option?.value)} | ||||||
|         options={asComboboxOptions(models)} |         options={asComboboxOptions(models)} | ||||||
|         placeholder={$t('search_camera_model')} |         placeholder={$t('search_camera_model')} | ||||||
|         selectedOption={asSelectedOption(modelFilter)} |         selectedOption={asSelectedOption(modelFilter)} | ||||||
|  | |||||||
| @ -73,7 +73,7 @@ | |||||||
|     <div class="w-full"> |     <div class="w-full"> | ||||||
|       <Combobox |       <Combobox | ||||||
|         label={$t('country')} |         label={$t('country')} | ||||||
|         on:select={({ detail }) => (filters.country = detail?.value)} |         onSelect={(option) => (filters.country = option?.value)} | ||||||
|         options={asComboboxOptions(countries)} |         options={asComboboxOptions(countries)} | ||||||
|         placeholder={$t('search_country')} |         placeholder={$t('search_country')} | ||||||
|         selectedOption={asSelectedOption(filters.country)} |         selectedOption={asSelectedOption(filters.country)} | ||||||
| @ -83,7 +83,7 @@ | |||||||
|     <div class="w-full"> |     <div class="w-full"> | ||||||
|       <Combobox |       <Combobox | ||||||
|         label={$t('state')} |         label={$t('state')} | ||||||
|         on:select={({ detail }) => (filters.state = detail?.value)} |         onSelect={(option) => (filters.state = option?.value)} | ||||||
|         options={asComboboxOptions(states)} |         options={asComboboxOptions(states)} | ||||||
|         placeholder={$t('search_state')} |         placeholder={$t('search_state')} | ||||||
|         selectedOption={asSelectedOption(filters.state)} |         selectedOption={asSelectedOption(filters.state)} | ||||||
| @ -93,7 +93,7 @@ | |||||||
|     <div class="w-full"> |     <div class="w-full"> | ||||||
|       <Combobox |       <Combobox | ||||||
|         label={$t('city')} |         label={$t('city')} | ||||||
|         on:select={({ detail }) => (filters.city = detail?.value)} |         onSelect={(option) => (filters.city = option?.value)} | ||||||
|         options={asComboboxOptions(cities)} |         options={asComboboxOptions(cities)} | ||||||
|         placeholder={$t('search_city')} |         placeholder={$t('search_city')} | ||||||
|         selectedOption={asSelectedOption(filters.city)} |         selectedOption={asSelectedOption(filters.city)} | ||||||
|  | |||||||
| @ -32,14 +32,7 @@ | |||||||
|     <p class="text-sm dark:text-immich-dark-fg">{subtitle}</p> |     <p class="text-sm dark:text-immich-dark-fg">{subtitle}</p> | ||||||
|   </div> |   </div> | ||||||
|   <div class="flex items-center"> |   <div class="flex items-center"> | ||||||
|     <Combobox |     <Combobox label={title} hideLabel={true} {selectedOption} {options} placeholder={comboboxPlaceholder} {onSelect} /> | ||||||
|       label={title} |  | ||||||
|       hideLabel={true} |  | ||||||
|       {selectedOption} |  | ||||||
|       {options} |  | ||||||
|       placeholder={comboboxPlaceholder} |  | ||||||
|       on:select={({ detail }) => onSelect(detail)} |  | ||||||
|     /> |  | ||||||
|     <slot /> |     <slot /> | ||||||
|   </div> |   </div> | ||||||
| </div> | </div> | ||||||
|  | |||||||
| @ -99,7 +99,7 @@ | |||||||
|           title={$t('theme_selection')} |           title={$t('theme_selection')} | ||||||
|           subtitle={$t('theme_selection_description')} |           subtitle={$t('theme_selection_description')} | ||||||
|           bind:checked={$colorTheme.system} |           bind:checked={$colorTheme.system} | ||||||
|           on:toggle={handleToggleColorTheme} |           onToggle={handleToggleColorTheme} | ||||||
|         /> |         /> | ||||||
|       </div> |       </div> | ||||||
| 
 | 
 | ||||||
| @ -119,7 +119,7 @@ | |||||||
|           title={$t('default_locale')} |           title={$t('default_locale')} | ||||||
|           subtitle={$t('default_locale_description')} |           subtitle={$t('default_locale_description')} | ||||||
|           checked={$locale == undefined} |           checked={$locale == undefined} | ||||||
|           on:toggle={handleToggleLocaleBrowser} |           onToggle={handleToggleLocaleBrowser} | ||||||
|         > |         > | ||||||
|           <p class="mt-2 dark:text-gray-400">{selectedDate}</p> |           <p class="mt-2 dark:text-gray-400">{selectedDate}</p> | ||||||
|         </SettingSwitch> |         </SettingSwitch> | ||||||
| @ -142,7 +142,7 @@ | |||||||
|           title={$t('display_original_photos')} |           title={$t('display_original_photos')} | ||||||
|           subtitle={$t('display_original_photos_setting_description')} |           subtitle={$t('display_original_photos_setting_description')} | ||||||
|           bind:checked={$alwaysLoadOriginalFile} |           bind:checked={$alwaysLoadOriginalFile} | ||||||
|           on:toggle={() => ($alwaysLoadOriginalFile = !$alwaysLoadOriginalFile)} |           onToggle={() => ($alwaysLoadOriginalFile = !$alwaysLoadOriginalFile)} | ||||||
|         /> |         /> | ||||||
|       </div> |       </div> | ||||||
|       <div class="ml-4"> |       <div class="ml-4"> | ||||||
| @ -150,7 +150,7 @@ | |||||||
|           title={$t('video_hover_setting')} |           title={$t('video_hover_setting')} | ||||||
|           subtitle={$t('video_hover_setting_description')} |           subtitle={$t('video_hover_setting_description')} | ||||||
|           bind:checked={$playVideoThumbnailOnHover} |           bind:checked={$playVideoThumbnailOnHover} | ||||||
|           on:toggle={() => ($playVideoThumbnailOnHover = !$playVideoThumbnailOnHover)} |           onToggle={() => ($playVideoThumbnailOnHover = !$playVideoThumbnailOnHover)} | ||||||
|         /> |         /> | ||||||
|       </div> |       </div> | ||||||
|       <div class="ml-4"> |       <div class="ml-4"> | ||||||
| @ -158,7 +158,7 @@ | |||||||
|           title={$t('loop_videos')} |           title={$t('loop_videos')} | ||||||
|           subtitle={$t('loop_videos_description')} |           subtitle={$t('loop_videos_description')} | ||||||
|           bind:checked={$loopVideo} |           bind:checked={$loopVideo} | ||||||
|           on:toggle={() => ($loopVideo = !$loopVideo)} |           onToggle={() => ($loopVideo = !$loopVideo)} | ||||||
|         /> |         /> | ||||||
|       </div> |       </div> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -177,7 +177,7 @@ | |||||||
|               title={$t('show_in_timeline')} |               title={$t('show_in_timeline')} | ||||||
|               subtitle={$t('show_in_timeline_setting_description')} |               subtitle={$t('show_in_timeline_setting_description')} | ||||||
|               bind:checked={partner.inTimeline} |               bind:checked={partner.inTimeline} | ||||||
|               on:toggle={({ detail }) => handleShowOnTimelineChanged(partner, detail)} |               onToggle={(isChecked) => handleShowOnTimelineChanged(partner, isChecked)} | ||||||
|             /> |             /> | ||||||
|           {/if} |           {/if} | ||||||
|         </div> |         </div> | ||||||
|  | |||||||
| @ -115,7 +115,7 @@ | |||||||
|           title={$t('show_supporter_badge')} |           title={$t('show_supporter_badge')} | ||||||
|           subtitle={$t('show_supporter_badge_description')} |           subtitle={$t('show_supporter_badge_description')} | ||||||
|           bind:checked={$preferences.purchase.showSupportBadge} |           bind:checked={$preferences.purchase.showSupportBadge} | ||||||
|           on:toggle={({ detail }) => setSupportBadgeVisibility(detail)} |           onToggle={setSupportBadgeVisibility} | ||||||
|         /> |         /> | ||||||
|       </div> |       </div> | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -470,7 +470,7 @@ | |||||||
|       </AssetSelectControlBar> |       </AssetSelectControlBar> | ||||||
|     {:else} |     {:else} | ||||||
|       {#if viewMode === ViewMode.VIEW} |       {#if viewMode === ViewMode.VIEW} | ||||||
|         <ControlAppBar showBackButton backIcon={mdiArrowLeft} on:close={() => goto(backUrl)}> |         <ControlAppBar showBackButton backIcon={mdiArrowLeft} onClose={() => goto(backUrl)}> | ||||||
|           <svelte:fragment slot="trailing"> |           <svelte:fragment slot="trailing"> | ||||||
|             {#if isEditor} |             {#if isEditor} | ||||||
|               <CircleIconButton |               <CircleIconButton | ||||||
| @ -527,7 +527,7 @@ | |||||||
|       {/if} |       {/if} | ||||||
| 
 | 
 | ||||||
|       {#if viewMode === ViewMode.SELECT_ASSETS} |       {#if viewMode === ViewMode.SELECT_ASSETS} | ||||||
|         <ControlAppBar on:close={handleCloseSelectAssets}> |         <ControlAppBar onClose={handleCloseSelectAssets}> | ||||||
|           <svelte:fragment slot="leading"> |           <svelte:fragment slot="leading"> | ||||||
|             <p class="text-lg dark:text-immich-dark-fg"> |             <p class="text-lg dark:text-immich-dark-fg"> | ||||||
|               {#if $timelineSelected.size === 0} |               {#if $timelineSelected.size === 0} | ||||||
| @ -554,7 +554,7 @@ | |||||||
|       {/if} |       {/if} | ||||||
| 
 | 
 | ||||||
|       {#if viewMode === ViewMode.SELECT_THUMBNAIL} |       {#if viewMode === ViewMode.SELECT_THUMBNAIL} | ||||||
|         <ControlAppBar on:close={() => (viewMode = ViewMode.VIEW)}> |         <ControlAppBar onClose={() => (viewMode = ViewMode.VIEW)}> | ||||||
|           <svelte:fragment slot="leading">{$t('select_album_cover')}</svelte:fragment> |           <svelte:fragment slot="leading">{$t('select_album_cover')}</svelte:fragment> | ||||||
|         </ControlAppBar> |         </ControlAppBar> | ||||||
|       {/if} |       {/if} | ||||||
| @ -583,8 +583,8 @@ | |||||||
|             isSelectionMode={viewMode === ViewMode.SELECT_THUMBNAIL} |             isSelectionMode={viewMode === ViewMode.SELECT_THUMBNAIL} | ||||||
|             singleSelect={viewMode === ViewMode.SELECT_THUMBNAIL} |             singleSelect={viewMode === ViewMode.SELECT_THUMBNAIL} | ||||||
|             showArchiveIcon |             showArchiveIcon | ||||||
|             on:select={({ detail: asset }) => handleUpdateThumbnail(asset.id)} |             onSelect={({ id }) => handleUpdateThumbnail(id)} | ||||||
|             on:escape={handleEscape} |             onEscape={handleEscape} | ||||||
|           > |           > | ||||||
|             {#if viewMode !== ViewMode.SELECT_THUMBNAIL} |             {#if viewMode !== ViewMode.SELECT_THUMBNAIL} | ||||||
|               <!-- ALBUM TITLE --> |               <!-- ALBUM TITLE --> | ||||||
|  | |||||||
| @ -113,7 +113,7 @@ | |||||||
| {#if $featureFlags.loaded && $featureFlags.map} | {#if $featureFlags.loaded && $featureFlags.map} | ||||||
|   <UserPageLayout title={data.meta.title}> |   <UserPageLayout title={data.meta.title}> | ||||||
|     <div class="isolate h-full w-full"> |     <div class="isolate h-full w-full"> | ||||||
|       <Map hash bind:mapMarkers bind:showSettingsModal on:selected={(event) => onViewAssets(event.detail)} /> |       <Map hash bind:mapMarkers bind:showSettingsModal onSelect={onViewAssets} /> | ||||||
|     </div> |     </div> | ||||||
|   </UserPageLayout> |   </UserPageLayout> | ||||||
|   <Portal target="body"> |   <Portal target="body"> | ||||||
|  | |||||||
| @ -38,7 +38,7 @@ | |||||||
|       <DownloadAction /> |       <DownloadAction /> | ||||||
|     </AssetSelectControlBar> |     </AssetSelectControlBar> | ||||||
|   {:else} |   {:else} | ||||||
|     <ControlAppBar showBackButton backIcon={mdiArrowLeft} on:close={() => goto(AppRoute.SHARING)}> |     <ControlAppBar showBackButton backIcon={mdiArrowLeft} onClose={() => goto(AppRoute.SHARING)}> | ||||||
|       <svelte:fragment slot="leading"> |       <svelte:fragment slot="leading"> | ||||||
|         <p class="whitespace-nowrap text-immich-fg dark:text-immich-dark-fg"> |         <p class="whitespace-nowrap text-immich-fg dark:text-immich-dark-fg"> | ||||||
|           {data.partner.name}'s photos |           {data.partner.name}'s photos | ||||||
|  | |||||||
| @ -400,7 +400,7 @@ | |||||||
|     </AssetSelectControlBar> |     </AssetSelectControlBar> | ||||||
|   {:else} |   {:else} | ||||||
|     {#if viewMode === ViewMode.VIEW_ASSETS || viewMode === ViewMode.SUGGEST_MERGE || viewMode === ViewMode.BIRTH_DATE} |     {#if viewMode === ViewMode.VIEW_ASSETS || viewMode === ViewMode.SUGGEST_MERGE || viewMode === ViewMode.BIRTH_DATE} | ||||||
|       <ControlAppBar showBackButton backIcon={mdiArrowLeft} on:close={() => goto(previousRoute)}> |       <ControlAppBar showBackButton backIcon={mdiArrowLeft} onClose={() => goto(previousRoute)}> | ||||||
|         <svelte:fragment slot="trailing"> |         <svelte:fragment slot="trailing"> | ||||||
|           <ButtonContextMenu icon={mdiDotsVertical} title={$t('menu')}> |           <ButtonContextMenu icon={mdiDotsVertical} title={$t('menu')}> | ||||||
|             <MenuOption |             <MenuOption | ||||||
| @ -429,7 +429,7 @@ | |||||||
|     {/if} |     {/if} | ||||||
| 
 | 
 | ||||||
|     {#if viewMode === ViewMode.SELECT_PERSON} |     {#if viewMode === ViewMode.SELECT_PERSON} | ||||||
|       <ControlAppBar on:close={() => (viewMode = ViewMode.VIEW_ASSETS)}> |       <ControlAppBar onClose={() => (viewMode = ViewMode.VIEW_ASSETS)}> | ||||||
|         <svelte:fragment slot="leading">{$t('select_featured_photo')}</svelte:fragment> |         <svelte:fragment slot="leading">{$t('select_featured_photo')}</svelte:fragment> | ||||||
|       </ControlAppBar> |       </ControlAppBar> | ||||||
|     {/if} |     {/if} | ||||||
| @ -444,8 +444,8 @@ | |||||||
|       {assetInteractionStore} |       {assetInteractionStore} | ||||||
|       isSelectionMode={viewMode === ViewMode.SELECT_PERSON} |       isSelectionMode={viewMode === ViewMode.SELECT_PERSON} | ||||||
|       singleSelect={viewMode === ViewMode.SELECT_PERSON} |       singleSelect={viewMode === ViewMode.SELECT_PERSON} | ||||||
|       on:select={({ detail: asset }) => handleSelectFeaturePhoto(asset)} |       onSelect={handleSelectFeaturePhoto} | ||||||
|       on:escape={handleEscape} |       onEscape={handleEscape} | ||||||
|     > |     > | ||||||
|       {#if viewMode === ViewMode.VIEW_ASSETS || viewMode === ViewMode.SUGGEST_MERGE || viewMode === ViewMode.BIRTH_DATE} |       {#if viewMode === ViewMode.VIEW_ASSETS || viewMode === ViewMode.SUGGEST_MERGE || viewMode === ViewMode.BIRTH_DATE} | ||||||
|         <!-- Person information block --> |         <!-- Person information block --> | ||||||
|  | |||||||
| @ -127,7 +127,7 @@ | |||||||
|     {assetStore} |     {assetStore} | ||||||
|     {assetInteractionStore} |     {assetInteractionStore} | ||||||
|     removeAction={AssetAction.ARCHIVE} |     removeAction={AssetAction.ARCHIVE} | ||||||
|     on:escape={handleEscape} |     onEscape={handleEscape} | ||||||
|     withStacked |     withStacked | ||||||
|   > |   > | ||||||
|     {#if $preferences.memories.enabled} |     {#if $preferences.memories.enabled} | ||||||
|  | |||||||
| @ -246,7 +246,7 @@ | |||||||
|     </div> |     </div> | ||||||
|   {:else} |   {:else} | ||||||
|     <div class="fixed z-[100] top-0 left-0 w-full"> |     <div class="fixed z-[100] top-0 left-0 w-full"> | ||||||
|       <ControlAppBar on:close={() => goto(previousRoute)} backIcon={mdiArrowLeft}> |       <ControlAppBar onClose={() => goto(previousRoute)} backIcon={mdiArrowLeft}> | ||||||
|         <div class="w-full flex-1 pl-4"> |         <div class="w-full flex-1 pl-4"> | ||||||
|           <SearchBar grayTheme={false} value={terms.query ?? ''} searchQuery={terms} /> |           <SearchBar grayTheme={false} value={terms.query ?? ''} searchQuery={terms} /> | ||||||
|         </div> |         </div> | ||||||
|  | |||||||
| @ -52,7 +52,7 @@ | |||||||
|   }; |   }; | ||||||
| </script> | </script> | ||||||
| 
 | 
 | ||||||
| <ControlAppBar backIcon={mdiArrowLeft} on:close={() => goto(AppRoute.SHARING)}> | <ControlAppBar backIcon={mdiArrowLeft} onClose={() => goto(AppRoute.SHARING)}> | ||||||
|   <svelte:fragment slot="leading">{$t('shared_links')}</svelte:fragment> |   <svelte:fragment slot="leading">{$t('shared_links')}</svelte:fragment> | ||||||
| </ControlAppBar> | </ControlAppBar> | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user