2023-10-27 15:34:01 -05:00
|
|
|
<script lang="ts">
|
|
|
|
|
import MenuOption from '$lib/components/shared-components/context-menu/menu-option.svelte';
|
2024-02-14 08:09:49 -05:00
|
|
|
import { getAssetControlContext } from '../asset-select-control-bar.svelte';
|
2024-04-02 09:04:52 -06:00
|
|
|
import type { OnStack } from '$lib/utils/actions';
|
|
|
|
|
import { stackAssets } from '$lib/utils/asset-utils';
|
2024-03-21 19:39:33 +01:00
|
|
|
import { mdiImageMultipleOutline } from '@mdi/js';
|
2023-10-27 15:34:01 -05:00
|
|
|
|
2024-02-02 04:18:00 +01:00
|
|
|
export let onStack: OnStack | undefined;
|
2023-10-27 15:34:01 -05:00
|
|
|
|
2023-11-11 15:06:19 -06:00
|
|
|
const { clearSelect, getOwnedAssets } = getAssetControlContext();
|
2023-10-27 15:34:01 -05:00
|
|
|
|
|
|
|
|
const handleStack = async () => {
|
2024-04-02 09:04:52 -06:00
|
|
|
await stackAssets([...getOwnedAssets()], (ids) => {
|
2023-10-27 15:34:01 -05:00
|
|
|
onStack?.(ids);
|
|
|
|
|
clearSelect();
|
2024-04-02 09:04:52 -06:00
|
|
|
});
|
2023-10-27 15:34:01 -05:00
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
2024-03-21 19:39:33 +01:00
|
|
|
<MenuOption text="Stack" icon={mdiImageMultipleOutline} on:click={handleStack} />
|