mirror of
				https://github.com/lingble/chatwoot.git
				synced 2025-10-31 19:17:48 +00:00 
			
		
		
		
	 b46c07519a
			
		
	
	b46c07519a
	
	
	
		
			
			# Pull Request Template ## Description This PR adds the `AssignmentCard` component with a story for the agent management UI. ## Type of change - [x] New feature (non-breaking change which adds functionality) ## How Has This Been Tested? ### Screenshot <img width="1061" height="357" alt="image" src="https://github.com/user-attachments/assets/e5548325-294a-48f8-8c7f-0a0c9272bf76" /> <img width="1061" height="357" alt="image" src="https://github.com/user-attachments/assets/cfb76bf4-bddc-4ec4-a27d-27be3efb0e8f" /> <img width="1061" height="357" alt="image" src="https://github.com/user-attachments/assets/6efc6617-4ce5-42df-b239-c296bbd0acc5" /> ## Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my code - [ ] I have commented on my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules
		
			
				
	
	
		
			47 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			47 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-base font-medium">{{ title }}</h3>
 | |
|         <Button
 | |
|           xs
 | |
|           slate
 | |
|           ghost
 | |
|           icon="i-lucide-chevron-right"
 | |
|           @click.stop="handleClick"
 | |
|         />
 | |
|       </div>
 | |
|       <p class="text-n-slate-11 text-sm mb-0">{{ description }}</p>
 | |
|     </div>
 | |
| 
 | |
|     <ul class="flex flex-col items-start gap-3 mt-3">
 | |
|       <li
 | |
|         v-for="feature in features"
 | |
|         :key="feature.id"
 | |
|         class="flex items-center gap-3"
 | |
|       >
 | |
|         <Icon :icon="feature.icon" class="text-n-slate-11 size-4" />
 | |
|         {{ feature.label }}
 | |
|       </li>
 | |
|     </ul>
 | |
|   </CardLayout>
 | |
| </template>
 |