diff --git a/contentcuration/contentcuration/frontend/channelEdit/components/ContentNodeEditListItem.vue b/contentcuration/contentcuration/frontend/channelEdit/components/ContentNodeEditListItem.vue index 3e57f48587..f5fe16a509 100644 --- a/contentcuration/contentcuration/frontend/channelEdit/components/ContentNodeEditListItem.vue +++ b/contentcuration/contentcuration/frontend/channelEdit/components/ContentNodeEditListItem.vue @@ -1,80 +1,93 @@ - + @@ -85,6 +98,7 @@ import ContentNodeListItem from './ContentNodeListItem'; import ContentNodeOptions from './ContentNodeOptions'; + import FlagFeedbackModal from './FlagFeedbackModal'; import ContentNodeContextMenu from './ContentNodeContextMenu'; import Checkbox from 'shared/views/form/Checkbox'; import IconButton from 'shared/views/IconButton'; @@ -102,6 +116,7 @@ ContentNodeContextMenu, Checkbox, IconButton, + FlagFeedbackModal, }, props: { nodeId: { @@ -137,6 +152,7 @@ data() { return { activated: false, + showFlagFeedbackModal: false, }; }, computed: { diff --git a/contentcuration/contentcuration/frontend/channelEdit/components/ContentNodeOptions.vue b/contentcuration/contentcuration/frontend/channelEdit/components/ContentNodeOptions.vue index 90f5c03828..060097f2cc 100644 --- a/contentcuration/contentcuration/frontend/channelEdit/components/ContentNodeOptions.vue +++ b/contentcuration/contentcuration/frontend/channelEdit/components/ContentNodeOptions.vue @@ -31,6 +31,9 @@ {{ $tr('remove') }} + + {{ $tr('flag') }} + @@ -69,8 +72,9 @@ }; }, computed: { - ...mapGetters('currentChannel', ['canEdit', 'trashId']), + ...mapGetters('currentChannel', ['canEdit', 'trashId', 'currentChannel']), ...mapGetters('contentNode', ['getContentNode', 'getContentNodeDescendants']), + ...mapGetters(['isAdmin', 'isAIFeatureEnabled']), node() { return this.getContentNode(this.nodeId); }, @@ -95,6 +99,11 @@ }, }; }, + canShowFlagOption() { + return ( + this.isAIFeatureEnabled && !this.isTopic && (!this.currentChannel.edit || this.isAdmin) + ); + }, }, watch: { moveModalOpen(open) { @@ -222,6 +231,7 @@ copiedSnackbar: 'Copy operation complete', copiedToClipboardSnackbar: 'Copied to clipboard', removedItems: 'Sent to trash', + flag: 'Flag content', }, }; diff --git a/contentcuration/contentcuration/frontend/channelEdit/components/FlagFeedbackModal.vue b/contentcuration/contentcuration/frontend/channelEdit/components/FlagFeedbackModal.vue new file mode 100644 index 0000000000..37c440d175 --- /dev/null +++ b/contentcuration/contentcuration/frontend/channelEdit/components/FlagFeedbackModal.vue @@ -0,0 +1,129 @@ + + +