Files
gochat/frontend/app/javascript/dashboard/components-next/AssignmentPolicy/AssignmentCard/AssignmentCard.vue
T
rogee 3fb3126b4c fix(frontend): translate AssignmentPolicy/ConversationWorkflow to zh_CN + fix Agent Assignment crash
- Add Chinese translations for ASSIGNMENT_POLICY, CONVERSATION_WORKFLOW
  sections and SIDEBAR labels in zh_CN settings.json
- Fix AssignmentCard.vue: v-for :key used feature.id which was always
  undefined (feature objects have no id field), causing duplicate keys
  and Vue reconciliation crash (Cannot read properties of null reading
  parentNode) when navigating to the Agent Assignment settings page
2026-07-08 17:18:33 +08:00

50 lines
1.3 KiB
Vue

<script setup>
import Icon from 'dashboard/components-next/icon/Icon.vue';
import Button from 'dashboard/components-next/button/Button.vue';
import CardLayout from 'dashboard/components-next/CardLayout.vue';
defineProps({
title: { type: String, default: '' },
description: { type: String, default: '' },
features: { type: Array, default: () => [] },
});
const emit = defineEmits(['click']);
const handleClick = () => {
emit('click');
};
</script>
<template>
<CardLayout class="[&>div]:px-5 cursor-pointer" @click="handleClick">
<div class="flex flex-col items-start gap-2">
<div class="flex justify-between w-full items-center">
<h3 class="text-n-slate-12 text-heading-2">{{ title }}</h3>
<Button
xs
slate
ghost
icon="i-lucide-chevron-right"
@click.stop="handleClick"
/>
</div>
<p class="text-n-slate-11 text-body-para mb-0">{{ description }}</p>
</div>
<ul class="flex flex-col items-start gap-3 mt-3">
<li
v-for="(feature, index) in features"
:key="index"
class="flex items-center gap-3 text-body-para"
>
<Icon
:icon="feature.icon"
class="text-n-slate-11 size-4 flex-shrink-0"
/>
{{ feature.label }}
</li>
</ul>
</CardLayout>
</template>