diff --git a/packages/renderer/src/lib/pod/PodActions.svelte b/packages/renderer/src/lib/pod/PodActions.svelte index b757602f0a7..26953eb02ac 100644 --- a/packages/renderer/src/lib/pod/PodActions.svelte +++ b/packages/renderer/src/lib/pod/PodActions.svelte @@ -22,22 +22,30 @@ import FlatMenu from '../ui/FlatMenu.svelte'; import ListItemButtonIcon from '../ui/ListItemButtonIcon.svelte'; import type { PodInfoUI } from './PodInfoUI'; -export let pod: PodInfoUI; -export let dropdownMenu = false; -export let detailed = false; - const dispatch = createEventDispatcher<{ update: PodInfoUI }>(); -export let onUpdate: (update: PodInfoUI) => void = update => { - dispatch('update', update); -}; +interface Props { + pod: PodInfoUI; + dropdownMenu?: boolean; + detailed?: boolean; + onUpdate?: (update: PodInfoUI) => void; +} -let contributions: Menu[] = []; +let { + pod = $bindable(), + dropdownMenu = false, + detailed = false, + onUpdate = (update): void => { + dispatch('update', update); + }, +}: Props = $props(); + +let contributions = $state([]); onMount(async () => { contributions = await window.getContributedMenus(MenuContext.DASHBOARD_POD); }); -let urls: Array = []; -$: openingUrls = urls; +let urls: Array = $state([]); +const openingUrls = $derived(urls); const portRegexp = RegExp(/:(\d+)/); @@ -132,12 +140,7 @@ function deployToKubernetes(): void { } // If dropdownMenu = true, we'll change style to the imported dropdownMenu style // otherwise, leave blank. -let actionsStyle: typeof DropdownMenu | typeof FlatMenu; -if (dropdownMenu) { - actionsStyle = DropdownMenu; -} else { - actionsStyle = FlatMenu; -} +const MenuComponent = $derived(dropdownMenu ? DropdownMenu : FlatMenu); - + {#if !detailed} - +