mirror of
https://github.com/lingble/chatwoot.git
synced 2025-11-02 12:08:01 +00:00
Fixes https://linear.app/chatwoot/issue/CW-4150/support-for-multiple-issues-linking-in-linear This PR significantly improves the Linear integration user experience by relocating the Linear integration from the conversation header to the contact panel and adding support for multiple issue linking per conversation. ### Key Changes - **Relocated Linear integration**: Moved from conversation header to contact panel for better organization and accessibility - **Multi-issue support**: Added ability to link/create multiple Linear issues for a single conversation - **Integration CTA**: Added a dedicated call-to-action section for users who haven't connected their Linear account yet - **UI/UX improvements**: Enhanced design consistency and user flow <details> <summary>Screenshots</summary> #### Multiple Issues Support  #### Integration CTA  --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Sivin Varghese <64252451+iamsivin@users.noreply.github.com> Co-authored-by: iamsivin <iamsivin@gmail.com> Co-authored-by: Pranav <pranav@chatwoot.com> Co-authored-by: Pranav <pranavrajs@gmail.com>
57 lines
1.2 KiB
Vue
57 lines
1.2 KiB
Vue
<script setup>
|
|
import Button from 'dashboard/components-next/button/Button.vue';
|
|
|
|
const props = defineProps({
|
|
identifier: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
issueUrl: {
|
|
type: String,
|
|
required: true,
|
|
},
|
|
});
|
|
|
|
const emit = defineEmits(['unlinkIssue']);
|
|
|
|
const unlinkIssue = () => {
|
|
emit('unlinkIssue');
|
|
};
|
|
|
|
const openIssue = () => {
|
|
window.open(props.issueUrl, '_blank');
|
|
};
|
|
</script>
|
|
|
|
<template>
|
|
<div class="flex items-center justify-between">
|
|
<div
|
|
class="flex items-center gap-2 px-2 py-1.5 border rounded-lg border-n-strong"
|
|
>
|
|
<div class="flex items-center gap-1">
|
|
<fluent-icon
|
|
icon="linear"
|
|
size="16"
|
|
class="text-[#5E6AD2]"
|
|
view-box="0 0 19 19"
|
|
/>
|
|
<span class="text-xs font-medium text-n-slate-12">
|
|
{{ identifier }}
|
|
</span>
|
|
</div>
|
|
<span class="w-px h-3 text-n-weak bg-n-weak" />
|
|
|
|
<Button
|
|
link
|
|
xs
|
|
slate
|
|
icon="i-lucide-arrow-up-right"
|
|
class="!size-4"
|
|
@click="openIssue"
|
|
/>
|
|
</div>
|
|
|
|
<Button ghost xs slate icon="i-lucide-unlink" @click="unlinkIssue" />
|
|
</div>
|
|
</template>
|