diff --git a/.gitignore b/.gitignore index 5ddfafbda..5e52f71c0 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,7 @@ __pycache__/ *.log tags node_modules +.vscode # Distribution / packaging .Python diff --git a/desk/src/components/BrandLogo.vue b/desk/src/components/BrandLogo.vue index 632c0fdac..7aa2f4a12 100644 --- a/desk/src/components/BrandLogo.vue +++ b/desk/src/components/BrandLogo.vue @@ -1,5 +1,10 @@ diff --git a/desk/src/components/CommentTextEditor.vue b/desk/src/components/CommentTextEditor.vue index aef0a6583..57979441f 100644 --- a/desk/src/components/CommentTextEditor.vue +++ b/desk/src/components/CommentTextEditor.vue @@ -104,6 +104,7 @@ import { AttachmentItem } from "@/components/"; import { useAgentStore } from "@/stores/agent"; import { useStorage } from "@vueuse/core"; import { PreserveVideoControls } from "@/tiptap-extensions"; +import { textEditorMenuButtons } from "@/utils"; const { agents: agentsList } = useAgentStore(); @@ -163,42 +164,4 @@ async function submitComment() { comment.submit(); } - -const textEditorMenuButtons = [ - "Paragraph", - ["Heading 2", "Heading 3", "Heading 4", "Heading 5", "Heading 6"], - "Separator", - "Bold", - "Italic", - "Separator", - "Bullet List", - "Numbered List", - "Separator", - "Align Left", - "Align Center", - "Align Right", - "FontColor", - "Separator", - "Image", - "Video", - "Link", - "Blockquote", - "Code", - "Horizontal Rule", - [ - "InsertTable", - "AddColumnBefore", - "AddColumnAfter", - "DeleteColumn", - "AddRowBefore", - "AddRowAfter", - "DeleteRow", - "MergeCells", - "SplitCell", - "ToggleHeaderColumn", - "ToggleHeaderRow", - "ToggleHeaderCell", - "DeleteTable", - ], -]; diff --git a/desk/src/components/DiscardButton.vue b/desk/src/components/DiscardButton.vue new file mode 100644 index 000000000..9d6f1208c --- /dev/null +++ b/desk/src/components/DiscardButton.vue @@ -0,0 +1,38 @@ + + + diff --git a/desk/src/components/EmailEditor.vue b/desk/src/components/EmailEditor.vue index 184729346..a672eda80 100644 --- a/desk/src/components/EmailEditor.vue +++ b/desk/src/components/EmailEditor.vue @@ -157,7 +157,7 @@ import { TextEditorFixedMenu, createResource, } from "frappe-ui"; -import { createToast, validateEmail } from "@/utils"; +import { createToast, validateEmail, textEditorMenuButtons } from "@/utils"; import { MultiSelectInput, AttachmentItem, @@ -298,44 +298,6 @@ function addToReply( .run(); } -const textEditorMenuButtons = [ - "Paragraph", - ["Heading 2", "Heading 3", "Heading 4", "Heading 5", "Heading 6"], - "Separator", - "Bold", - "Italic", - "Separator", - "Bullet List", - "Numbered List", - "Separator", - "Align Left", - "Align Center", - "Align Right", - "FontColor", - "Separator", - "Image", - "Video", - "Link", - "Blockquote", - "Code", - "Horizontal Rule", - [ - "InsertTable", - "AddColumnBefore", - "AddColumnAfter", - "DeleteColumn", - "AddRowBefore", - "AddRowAfter", - "DeleteRow", - "MergeCells", - "SplitCell", - "ToggleHeaderColumn", - "ToggleHeaderRow", - "ToggleHeaderCell", - "DeleteTable", - ], -]; - const editor = computed(() => { return editorRef.value.editor; }); diff --git a/desk/src/components/HCard.vue b/desk/src/components/HCard.vue deleted file mode 100644 index 368d01fab..000000000 --- a/desk/src/components/HCard.vue +++ /dev/null @@ -1,23 +0,0 @@ - - diff --git a/desk/src/components/ListRows.vue b/desk/src/components/ListRows.vue new file mode 100644 index 000000000..b9935127d --- /dev/null +++ b/desk/src/components/ListRows.vue @@ -0,0 +1,109 @@ + + + + + diff --git a/desk/src/components/ListViewBuilder.vue b/desk/src/components/ListViewBuilder.vue index 427ed2350..9a29abd96 100644 --- a/desk/src/components/ListViewBuilder.vue +++ b/desk/src/components/ListViewBuilder.vue @@ -1,9 +1,8 @@ diff --git a/desk/src/components/TopBar.vue b/desk/src/components/TopBar.vue deleted file mode 100644 index 59bff8c26..000000000 --- a/desk/src/components/TopBar.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - diff --git a/desk/src/components/UserAvatar.vue b/desk/src/components/UserAvatar.vue index 64b415a49..73d0360fb 100644 --- a/desk/src/components/UserAvatar.vue +++ b/desk/src/components/UserAvatar.vue @@ -8,9 +8,8 @@ /> diff --git a/desk/src/components/command-palette/CP.vue b/desk/src/components/command-palette/CP.vue index effe071b4..aa0a1ef57 100644 --- a/desk/src/components/command-palette/CP.vue +++ b/desk/src/components/command-palette/CP.vue @@ -68,6 +68,7 @@ import CPGroupResult from "./CPGroupResult.vue"; import LucideSearch from "~icons/lucide/file-search"; import LucideTicket from "~icons/lucide/ticket"; import LucideBookOpen from "~icons/lucide/book-open"; +import { isCustomerPortal } from "@/utils"; let show = ref(false); @@ -117,7 +118,9 @@ export default { group.items = group.items.map((item) => { item.showName = true; item.route = { - name: "TicketAgent", + name: isCustomerPortal.value + ? "TicketCustomer" + : "TicketAgent", params: { ticketId: item.name, }, @@ -131,10 +134,11 @@ export default { item.subject = item.subject + " / " + item.headings; } item.route = { - name: "DeskKBArticle", + name: "ArticlePublic", params: { - articleId: item.name, + articleId: item.name.split("#")[0], }, + hash: `#${item.name.split("#")[1]}`, }; return item; }); @@ -165,7 +169,11 @@ export default { { title: "Knowledge Base", icon: () => h(LucideBookOpen), - route: { name: "DeskKBHome" }, + route: { + name: isCustomerPortal.value + ? "CustomerKnowledgeBase" + : "AgentKnowledgeBase", + }, condition: () => true, }, ].filter((item) => (item.condition ? item.condition() : true)), diff --git a/desk/src/components/frappe-ui/Link.vue b/desk/src/components/frappe-ui/Link.vue index 6fbd696e3..fa274ddf9 100644 --- a/desk/src/components/frappe-ui/Link.vue +++ b/desk/src/components/frappe-ui/Link.vue @@ -28,7 +28,7 @@ -