/
Netrunners
/
Millenium_UI
Обзор
Документация
Войти
/
Netrunners
/
Millenium_UI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/lib/components/channel/MessageInput/InputMenu.svelte
77 строк
2 KB
Валерий Конюхов
first_commit
08 июл 2025, 22:20
08 июл 2025, 22:20
a4e8dc9
Код
Авторство
О чём код?
<script lang="ts"> import { DropdownMenu } from 'bits-ui'; import { flyAndScale } from '$lib/utils/transitions'; import { getContext, onMount, tick } from 'svelte'; import { config, user, tools as _tools, mobile } from '$lib/stores'; import { getTools } from '$lib/apis/tools'; import Dropdown from '$lib/components/common/Dropdown.svelte'; import Tooltip from '$lib/components/common/Tooltip.svelte'; import DocumentArrowUpSolid from '$lib/components/icons/DocumentArrowUpSolid.svelte'; import Switch from '$lib/components/common/Switch.svelte'; import GlobeAltSolid from '$lib/components/icons/GlobeAltSolid.svelte'; import WrenchSolid from '$lib/components/icons/WrenchSolid.svelte'; import CameraSolid from '$lib/components/icons/CameraSolid.svelte'; const i18n = getContext('i18n'); export let screenCaptureHandler: Function; export let uploadFilesHandler: Function; export let onClose: Function = () => {}; let show = false; $: if (show) { init(); } const init = async () => {}; </script> <Dropdown bind:show on:change={(e) => { if (e.detail === false) { onClose(); } }} > <Tooltip content={$i18n.t('More')}> <slot /> </Tooltip> <div slot="content"> <DropdownMenu.Content class="w-full max-w-[200px] rounded-xl px-1 py-1 border-gray-300/30 dark:border-gray-700/50 z-50 bg-white dark:bg-gray-850 dark:text-white shadow-sm" sideOffset={15} alignOffset={-8} side="top" align="start" transition={flyAndScale} > {#if !$mobile} <DropdownMenu.Item class="flex gap-2 items-center px-3 py-2 text-sm font-medium cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-xl" on:click={() => { screenCaptureHandler(); }} > <CameraSolid /> <div class=" line-clamp-1">{$i18n.t('Capture')}</div> </DropdownMenu.Item> {/if} <DropdownMenu.Item class="flex gap-2 items-center px-3 py-2 text-sm font-medium cursor-pointer hover:bg-gray-50 dark:hover:bg-gray-800 rounded-xl" on:click={() => { uploadFilesHandler(); }} > <DocumentArrowUpSolid /> <div class="line-clamp-1">{$i18n.t('Upload Files')}</div> </DropdownMenu.Item> </DropdownMenu.Content> </div> </Dropdown>