diff --git a/app/javascript/dashboard/components/ui/Dropdown/DropdownList.vue b/app/javascript/dashboard/components/ui/Dropdown/DropdownList.vue index c03346a49..ce6f8868c 100644 --- a/app/javascript/dashboard/components/ui/Dropdown/DropdownList.vue +++ b/app/javascript/dashboard/components/ui/Dropdown/DropdownList.vue @@ -101,6 +101,8 @@ const shouldShowEmptyState = computed(() => { :key="item.id" :is-active="isFilterActive(item.id)" :button-text="item.name" + :icon="item.icon" + :icon-color="item.iconColor" @click="$emit('click', item)" /> diff --git a/app/javascript/dashboard/components/ui/Dropdown/DropdownListItemButton.vue b/app/javascript/dashboard/components/ui/Dropdown/DropdownListItemButton.vue index 9cabd5117..af7a197a3 100644 --- a/app/javascript/dashboard/components/ui/Dropdown/DropdownListItemButton.vue +++ b/app/javascript/dashboard/components/ui/Dropdown/DropdownListItemButton.vue @@ -8,6 +8,14 @@ defineProps({ type: Boolean, default: false, }, + icon: { + type: String, + default: '', + }, + iconColor: { + type: String, + default: '', + }, }); @@ -20,6 +28,12 @@ defineProps({ @focus="$emit('focus')" >
+ diff --git a/app/javascript/dashboard/components/widgets/conversation/linear/LinkIssue.vue b/app/javascript/dashboard/components/widgets/conversation/linear/LinkIssue.vue index 87386f681..c2fb15b21 100644 --- a/app/javascript/dashboard/components/widgets/conversation/linear/LinkIssue.vue +++ b/app/javascript/dashboard/components/widgets/conversation/linear/LinkIssue.vue @@ -62,6 +62,8 @@ const onSearch = async value => { issues.value = response.data.map(issue => ({ id: issue.id, name: `${issue.identifier} ${issue.title}`, + icon: 'status', + iconColor: issue.state.color, })); } catch (error) { const errorMessage = parseLinearAPIErrorResponse( diff --git a/lib/linear/queries.rb b/lib/linear/queries.rb index 78b2108f9..54daaf30c 100644 --- a/lib/linear/queries.rb +++ b/lib/linear/queries.rb @@ -54,6 +54,10 @@ module Linear::Queries title description identifier + state { + name + color + } } } }