mirror of
https://github.com/immich-app/immich.git
synced 2025-12-18 09:13:15 +03:00
refactor: user page modals (#18147)
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
import { dialogController } from '$lib/components/shared-components/dialog/dialog';
|
||||
import SettingSwitch from '$lib/components/shared-components/settings/setting-switch.svelte';
|
||||
import UserAvatar from '$lib/components/shared-components/user-avatar.svelte';
|
||||
import { modalManager } from '$lib/managers/modal-manager.svelte';
|
||||
import PartnerSelectionModal from '$lib/modals/PartnerSelectionModal.svelte';
|
||||
import {
|
||||
createPartner,
|
||||
getPartners,
|
||||
@@ -18,7 +20,6 @@
|
||||
import { handleError } from '../../utils/handle-error';
|
||||
import CircleIconButton from '../elements/buttons/circle-icon-button.svelte';
|
||||
import Icon from '../elements/icon.svelte';
|
||||
import PartnerSelectionModal from './partner-selection-modal.svelte';
|
||||
|
||||
interface PartnerSharing {
|
||||
user: UserResponseDto;
|
||||
@@ -33,8 +34,6 @@
|
||||
|
||||
let { user }: Props = $props();
|
||||
|
||||
let createPartnerFlag = $state(false);
|
||||
// let removePartnerDto: PartnerResponseDto | null = null;
|
||||
let partners: Array<PartnerSharing> = $state([]);
|
||||
|
||||
onMount(async () => {
|
||||
@@ -99,14 +98,19 @@
|
||||
}
|
||||
};
|
||||
|
||||
const handleCreatePartners = async (users: UserResponseDto[]) => {
|
||||
const handleCreatePartners = async () => {
|
||||
const users = await modalManager.open(PartnerSelectionModal, { user });
|
||||
|
||||
if (!users) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
for (const user of users) {
|
||||
await createPartner({ id: user.id });
|
||||
}
|
||||
|
||||
await refreshPartners();
|
||||
createPartnerFlag = false;
|
||||
} catch (error) {
|
||||
handleError(error, $t('errors.unable_to_add_partners'));
|
||||
}
|
||||
@@ -189,10 +193,6 @@
|
||||
{/if}
|
||||
|
||||
<div class="flex justify-end mt-5">
|
||||
<Button shape="round" size="small" onclick={() => (createPartnerFlag = true)}>{$t('add_partner')}</Button>
|
||||
<Button shape="round" size="small" onclick={() => handleCreatePartners()}>{$t('add_partner')}</Button>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{#if createPartnerFlag}
|
||||
<PartnerSelectionModal {user} onClose={() => (createPartnerFlag = false)} onAddUsers={handleCreatePartners} />
|
||||
{/if}
|
||||
|
||||
Reference in New Issue
Block a user