import { NSpace, NButton, NIcon, NTooltip, NFlex } from 'naive-ui' import { TrashAlt, EditRegular, Book } from '@vicons/fa' import { type Domain } from "../../stores/domains" import router from '@/router'; import i18n from '@/locale/i18n' import type { SetupContext } from 'vue'; const { t } = i18n.global type Props = { domain: Domain onRemoveDomain: (d: Domain) => void onEditDomain: (d: Domain) => void } type Events = { removeDomain(domain: Domain): void editDomain(domain: Domain): void } function loadRecord({ domain }: Props) { return ( {{ trigger: () => { router.push(`/records/${domain.domain_name}`) }}> {{ icon: () => }} , default: () => t('domains.dnsRecord') }} ) } function editDomain({ domain }: Props, { emit }: SetupContext) { return ( {{ default: () => t('common.edit'), trigger: () => emit("editDomain", domain)}> {{ icon: () => }} }} ) } function deleteDomain({ domain }: Props, { emit }: SetupContext) { return ( {{ default: () => t('common.delete'), trigger: () => emit("removeDomain", domain)}> {{ icon: () => }} }} ) } function DomainOps({ domain }: Props, { emit }: SetupContext) { return ( emit("editDomain", d)} /> emit("removeDomain", d)} /> ) } DomainOps.props = { domain: { required: true } } DomainOps.emits = { removeDomain: (d: Domain) => d, editDomain: (d: Domain) => d } as Events export default DomainOps