From 0e11dac4715b10f918b7bcabc4c1b97bcf3f83fb Mon Sep 17 00:00:00 2001 From: Muhsin Keloth Date: Fri, 17 May 2024 12:06:19 +0530 Subject: [PATCH] feat: create basic front end --- .../conversation/ConversationHeader.vue | 15 +++ .../conversation/linear/CreateIssue.vue | 0 .../conversation/linear/CreateOrLinkIssue.vue | 0 .../conversation/linear/IssueItem.vue | 4 +- .../linear/LinearIssueDetails.vue | 100 ++++++++++++++++++ .../conversation/linear/LinkIssue.vue | 0 .../widgets}/conversation/linear/index.vue | 77 ++++++-------- .../conversation/linear/validations.js | 0 .../dashboard/conversation/ContactPanel.vue | 21 ---- .../FluentIcon/dashboard-icons.json | 4 +- lib/linear_queries.rb | 5 +- .../images/dashboard/integration/linear.svg | 0 12 files changed, 157 insertions(+), 69 deletions(-) rename app/javascript/dashboard/{routes/dashboard => components/widgets}/conversation/linear/CreateIssue.vue (100%) rename app/javascript/dashboard/{routes/dashboard => components/widgets}/conversation/linear/CreateOrLinkIssue.vue (100%) rename app/javascript/dashboard/{routes/dashboard => components/widgets}/conversation/linear/IssueItem.vue (97%) create mode 100644 app/javascript/dashboard/components/widgets/conversation/linear/LinearIssueDetails.vue rename app/javascript/dashboard/{routes/dashboard => components/widgets}/conversation/linear/LinkIssue.vue (100%) rename app/javascript/dashboard/{routes/dashboard => components/widgets}/conversation/linear/index.vue (59%) rename app/javascript/dashboard/{routes/dashboard => components/widgets}/conversation/linear/validations.js (100%) create mode 100644 public/assets/images/dashboard/integration/linear.svg diff --git a/app/javascript/dashboard/components/widgets/conversation/ConversationHeader.vue b/app/javascript/dashboard/components/widgets/conversation/ConversationHeader.vue index fc936e683..ae60c956d 100644 --- a/app/javascript/dashboard/components/widgets/conversation/ConversationHeader.vue +++ b/app/javascript/dashboard/components/widgets/conversation/ConversationHeader.vue @@ -71,6 +71,10 @@ :class="{ 'justify-end': isContactPanelOpen }" > + @@ -89,6 +93,8 @@ import SLACardLabel from './components/SLACardLabel.vue'; import wootConstants from 'dashboard/constants/globals'; import { conversationListPageURL } from 'dashboard/helper/URLHelper'; import { snoozedReopenTime } from 'dashboard/helper/snoozeHelpers'; +import { FEATURE_FLAGS } from 'dashboard/featureFlags'; +import Linear from './linear/index.vue'; export default { components: { @@ -97,6 +103,7 @@ export default { MoreActions, Thumbnail, SLACardLabel, + Linear, }, mixins: [inboxMixin, agentMixin, keyboardEventListenerMixins], props: { @@ -121,6 +128,8 @@ export default { ...mapGetters({ uiFlags: 'inboxAssignableAgents/getUIFlags', currentChat: 'getSelectedChat', + accountId: 'getCurrentAccountId', + isFeatureEnabledonAccount: 'accounts/isFeatureEnabledonAccount', }), chatMetadata() { return this.chat.meta; @@ -178,6 +187,12 @@ export default { hasSlaPolicyId() { return this.chat?.sla_policy_id; }, + isLinearIntegrationEnabled() { + return this.isFeatureEnabledonAccount( + this.accountId, + FEATURE_FLAGS.LINEAR + ); + }, }, methods: { diff --git a/app/javascript/dashboard/routes/dashboard/conversation/linear/CreateIssue.vue b/app/javascript/dashboard/components/widgets/conversation/linear/CreateIssue.vue similarity index 100% rename from app/javascript/dashboard/routes/dashboard/conversation/linear/CreateIssue.vue rename to app/javascript/dashboard/components/widgets/conversation/linear/CreateIssue.vue diff --git a/app/javascript/dashboard/routes/dashboard/conversation/linear/CreateOrLinkIssue.vue b/app/javascript/dashboard/components/widgets/conversation/linear/CreateOrLinkIssue.vue similarity index 100% rename from app/javascript/dashboard/routes/dashboard/conversation/linear/CreateOrLinkIssue.vue rename to app/javascript/dashboard/components/widgets/conversation/linear/CreateOrLinkIssue.vue diff --git a/app/javascript/dashboard/routes/dashboard/conversation/linear/IssueItem.vue b/app/javascript/dashboard/components/widgets/conversation/linear/IssueItem.vue similarity index 97% rename from app/javascript/dashboard/routes/dashboard/conversation/linear/IssueItem.vue rename to app/javascript/dashboard/components/widgets/conversation/linear/IssueItem.vue index 0e1adb935..5410a54ce 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/linear/IssueItem.vue +++ b/app/javascript/dashboard/components/widgets/conversation/linear/IssueItem.vue @@ -21,9 +21,9 @@ - +
diff --git a/app/javascript/dashboard/components/widgets/conversation/linear/LinearIssueDetails.vue b/app/javascript/dashboard/components/widgets/conversation/linear/LinearIssueDetails.vue new file mode 100644 index 000000000..0374a3ee7 --- /dev/null +++ b/app/javascript/dashboard/components/widgets/conversation/linear/LinearIssueDetails.vue @@ -0,0 +1,100 @@ + + diff --git a/app/javascript/dashboard/routes/dashboard/conversation/linear/LinkIssue.vue b/app/javascript/dashboard/components/widgets/conversation/linear/LinkIssue.vue similarity index 100% rename from app/javascript/dashboard/routes/dashboard/conversation/linear/LinkIssue.vue rename to app/javascript/dashboard/components/widgets/conversation/linear/LinkIssue.vue diff --git a/app/javascript/dashboard/routes/dashboard/conversation/linear/index.vue b/app/javascript/dashboard/components/widgets/conversation/linear/index.vue similarity index 59% rename from app/javascript/dashboard/routes/dashboard/conversation/linear/index.vue rename to app/javascript/dashboard/components/widgets/conversation/linear/index.vue index 94172d1dc..735dd73a8 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/linear/index.vue +++ b/app/javascript/dashboard/components/widgets/conversation/linear/index.vue @@ -1,30 +1,23 @@ + diff --git a/app/javascript/dashboard/routes/dashboard/conversation/linear/validations.js b/app/javascript/dashboard/components/widgets/conversation/linear/validations.js similarity index 100% rename from app/javascript/dashboard/routes/dashboard/conversation/linear/validations.js rename to app/javascript/dashboard/components/widgets/conversation/linear/validations.js diff --git a/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue b/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue index 7c7b3b550..564bf8db5 100644 --- a/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue +++ b/app/javascript/dashboard/routes/dashboard/conversation/ContactPanel.vue @@ -23,18 +23,6 @@ :key="element.name" class="bg-white dark:bg-gray-800" > -
- - - -