diff --git a/app/src/lang/translations/en-US.yaml b/app/src/lang/translations/en-US.yaml index 34151a94af..95c33d3892 100644 --- a/app/src/lang/translations/en-US.yaml +++ b/app/src/lang/translations/en-US.yaml @@ -1170,6 +1170,8 @@ share_access_not_found: This shared page either does not exist or has already ex share_access_not_found_desc: Please contact an authorized user of this project to request access. share_access_not_found_title: Unknown Share Page share_copy_link: Copy Link +share_copy_link_success: Link Copied +share_copy_link_error: Unable to Copy Link share_send_link: Send Link relational_triggers: Relational Triggers referential_action_field_label_m2o: On Delete of {collection}... diff --git a/app/src/views/private/components/shares-sidebar-detail/share-item.vue b/app/src/views/private/components/shares-sidebar-detail/share-item.vue index d53af08ab9..5a3aff53ee 100644 --- a/app/src/views/private/components/shares-sidebar-detail/share-item.vue +++ b/app/src/views/private/components/shares-sidebar-detail/share-item.vue @@ -26,7 +26,7 @@ {{ t('edit') }} - + {{ t('delete_label') }} @@ -121,6 +121,12 @@ export default defineComponent({ margin-bottom: 0; } +.v-list-item.danger { + --v-list-item-color: var(--danger); + --v-list-item-color-hover: var(--danger); + --v-list-item-icon-color: var(--danger); +} + .share-item-info { display: flex; align-items: center; diff --git a/app/src/views/private/components/shares-sidebar-detail/shares-sidebar-detail.vue b/app/src/views/private/components/shares-sidebar-detail/shares-sidebar-detail.vue index 207d020567..39d6ac6045 100644 --- a/app/src/views/private/components/shares-sidebar-detail/shares-sidebar-detail.vue +++ b/app/src/views/private/components/shares-sidebar-detail/shares-sidebar-detail.vue @@ -80,6 +80,7 @@ import { defineComponent, ref, computed } from 'vue'; import DrawerItem from '@/views/private/components/drawer-item'; import { getRootPath } from '@/utils/get-root-path'; import { unexpectedError } from '@/utils/unexpected-error'; +import { notify } from '@/utils/notify'; import { Share } from '@directus/shared/types'; import api from '@/api'; @@ -167,7 +168,18 @@ export default defineComponent({ async function copy(id: string) { const url = window.location.origin + getRootPath() + 'admin/shared/' + id; - await navigator?.clipboard?.writeText(url); + try { + await navigator?.clipboard?.writeText(url); + notify({ + type: 'success', + title: t('share_copy_link_success'), + }); + } catch (err: any) { + notify({ + type: 'error', + title: t('share_copy_link_error'), + }); + } } function select(id: string) {