import type { HTMLAttributes, ReactElement } from 'react'; import React from 'react'; import { useDeleteRequest } from '../hooks/useDeleteRequest'; import { useDuplicateRequest } from '../hooks/useDuplicateRequest'; import { useTheme } from '../hooks/useTheme'; import { Dropdown } from './core/Dropdown'; import { HotKey } from './core/HotKey'; import { Icon } from './core/Icon'; interface Props { requestId: string; children: ReactElement>; } export function RequestActionsDropdown({ requestId, children }: Props) { const deleteRequest = useDeleteRequest(requestId); const duplicateRequest = useDuplicateRequest({ id: requestId, navigateAfter: true }); const { appearance, toggleAppearance } = useTheme(); return ( , rightSlot: , }, { label: 'Delete', onSelect: deleteRequest.mutate, variant: 'danger', leftSlot: , }, { type: 'separator', label: 'Yaak Settings' }, { label: appearance === 'dark' ? 'Light Theme' : 'Dark Theme', onSelect: toggleAppearance, leftSlot: , }, ]} > {children} ); }