From 23bbc5d68cf947701c471717d1b810b3d3bbcacd Mon Sep 17 00:00:00 2001 From: Vanessa Otto Date: Mon, 29 Sep 2025 17:04:35 +0200 Subject: [PATCH 1/2] Add verification level to ai catalog list items and drawer Remove link to help page --- .../components/verification_level.stories.js | 44 +++++ .../components/verification_level.vue | 73 ++++++++ .../components/ai_catalog_agent_details.vue | 9 +- .../components/ai_catalog_flow_details.vue | 9 +- .../components/ai_catalog_item_drawer.vue | 14 +- .../components/ai_catalog_list_item.vue | 7 + .../ai/catalog/components/verified_item.vue | 39 +++++ .../javascripts/ai/catalog/constants.js | 4 + .../ai_catalog_item.fragment.graphql | 1 + .../catalog/components/verified_item_spec.js | 48 ++++++ ee/spec/frontend/ai/catalog/mock_data.js | 2 + locale/gitlab.pot | 6 + .../components/verification_level_spec.js | 157 ++++++++++++++++++ 13 files changed, 405 insertions(+), 8 deletions(-) create mode 100644 app/assets/javascripts/vue_shared/components/verification_level.stories.js create mode 100644 app/assets/javascripts/vue_shared/components/verification_level.vue create mode 100644 ee/app/assets/javascripts/ai/catalog/components/verified_item.vue create mode 100644 ee/spec/frontend/ai/catalog/components/verified_item_spec.js create mode 100644 spec/frontend/vue_shared/components/verification_level_spec.js diff --git a/app/assets/javascripts/vue_shared/components/verification_level.stories.js b/app/assets/javascripts/vue_shared/components/verification_level.stories.js new file mode 100644 index 00000000000000..c0852dbf81b749 --- /dev/null +++ b/app/assets/javascripts/vue_shared/components/verification_level.stories.js @@ -0,0 +1,44 @@ +import VerificationLevel from './verification_level.vue'; + +export default { + component: VerificationLevel, + title: 'vue_shared/verification_level', +}; + +const Template = (args, { argTypes }) => ({ + components: { VerificationLevel }, + props: Object.keys(argTypes), + template: '', +}); + +export const Default = Template.bind({}); +Default.args = { + id: 'verification-badge-1', + iconName: 'tanuki-verified', + text: 'GitLab-maintained', + message: 'This component is maintained by %{boldStart}GitLab%{boldEnd}', + helpPath: { + path: '/help/ci/components/index#verified-component-creators', + text: 'Learn more about verified creators', + }, +}; + +export const IconOnly = Template.bind({}); +IconOnly.args = { + id: 'verification-badge-2', + iconName: 'tanuki-verified', + message: 'This component is maintained by %{boldStart}GitLab%{boldEnd}', + helpPath: { + path: '/help/ci/components/index#verified-component-creators', + text: 'Learn more about verified creators', + }, +}; + +export const WithoutHelpLink = Template.bind({}); +WithoutHelpLink.args = { + id: 'verification-badge-3', + iconName: 'partner-verified', + text: 'Partner', + message: 'This component is maintained by %{boldStart}a GitLab partner%{boldEnd}', + helpPath: null, +}; diff --git a/app/assets/javascripts/vue_shared/components/verification_level.vue b/app/assets/javascripts/vue_shared/components/verification_level.vue new file mode 100644 index 00000000000000..1f2a515edc6ead --- /dev/null +++ b/app/assets/javascripts/vue_shared/components/verification_level.vue @@ -0,0 +1,73 @@ + + + diff --git a/ee/app/assets/javascripts/ai/catalog/components/ai_catalog_agent_details.vue b/ee/app/assets/javascripts/ai/catalog/components/ai_catalog_agent_details.vue index 10a732e3155ff5..60436abd3cc383 100644 --- a/ee/app/assets/javascripts/ai/catalog/components/ai_catalog_agent_details.vue +++ b/ee/app/assets/javascripts/ai/catalog/components/ai_catalog_agent_details.vue @@ -34,9 +34,12 @@ export default {