diff --git a/src/lib/components/sidebar/PartyEditSidebar.svelte b/src/lib/components/sidebar/PartyEditSidebar.svelte index 609c465a..02f8d776 100644 --- a/src/lib/components/sidebar/PartyEditSidebar.svelte +++ b/src/lib/components/sidebar/PartyEditSidebar.svelte @@ -14,16 +14,22 @@ import MetricField from '$lib/components/party/edit/MetricField.svelte' import EditRaidPane from '$lib/components/sidebar/EditRaidPane.svelte' import EditDescriptionPane from '$lib/components/sidebar/EditDescriptionPane.svelte' + import Select from '$lib/components/ui/Select.svelte' + import Switch from '$lib/components/ui/switch/Switch.svelte' import { sidebar } from '$lib/stores/sidebar.svelte' import { usePaneStack } from '$lib/stores/paneStack.svelte' - import { untrack } from 'svelte' + import { crewStore } from '$lib/stores/crew.store.svelte' + import { untrack } from 'svelte' import type { Raid } from '$lib/types/api/entities' import type { RaidFull } from '$lib/types/api/raid' + import type { PartyVisibility } from '$lib/types/visibility' import Icon from '$lib/components/Icon.svelte' export interface PartyEditValues { name: string description: string | null + visibility: PartyVisibility + sharedWithCrew: boolean fullAuto: boolean autoGuard: boolean autoSummon: boolean @@ -55,6 +61,8 @@ // Local state - initialized from initialValues let name = $state(initialValues.name) + let visibility = $state(initialValues.visibility) + let sharedWithCrew = $state(initialValues.sharedWithCrew) let fullAuto = $state(initialValues.fullAuto) let autoGuard = $state(initialValues.autoGuard) let autoSummon = $state(initialValues.autoSummon) @@ -68,9 +76,18 @@ let raidId = $state(initialValues.raidId) let description = $state(initialValues.description) + // Visibility options for select + const visibilityOptions: Array<{ value: PartyVisibility; label: string }> = [ + { value: 'public', label: 'Public' }, + { value: 'private', label: 'Private' }, + { value: 'unlisted', label: 'Unlisted' } + ] + // Check if any values have changed const hasChanges = $derived( name !== initialValues.name || + visibility !== initialValues.visibility || + sharedWithCrew !== initialValues.sharedWithCrew || fullAuto !== initialValues.fullAuto || autoGuard !== initialValues.autoGuard || autoSummon !== initialValues.autoSummon || @@ -89,6 +106,8 @@ const values: PartyEditValues = { name, description, + visibility, + sharedWithCrew, fullAuto, autoGuard, autoSummon, @@ -264,6 +283,30 @@ + + + {#snippet children()} +