Files
libredesk/frontend/shared-ui/components/ui/menu-card/MenuCard.vue
Abhinav Raut 30902310dc feat: Add Markdown to HTML conversion and clean JSON response utility
- Implemented MarkdownToHTML function using goldmark for converting markdown content to HTML.
- Added CleanJSONResponse function to remove markdown code blocks from LLM responses.
- Updated stringutil tests to remove unnecessary test cases for empty strings and special characters.

refactor: Update SQL schema for knowledge base and help center

- Introduced ai_knowledge_type enum for knowledge base categorization.
- Added help_center_id reference in inboxes table.
- Enhanced help_centers table with default_locale column.
- Changed data types from INTEGER to INT for consistency across tables.
- Renamed ai_custom_answers table to ai_knowledge_base and adjusted its schema.

fix: Remove unnecessary CSS filter from default icon in widget

- Cleaned up widget.js by removing the brightness filter from the default icon styling.
2025-08-22 01:14:08 +05:30

59 lines
1.1 KiB
Vue

<template>
<Card class="menu-card" @click="$emit('click')">
<CardHeader class="pb-3">
<div class="menu-card-header">
<CardTitle class="menu-card-title">
<slot name="title">
{{ title }}
</slot>
</CardTitle>
</div>
</CardHeader>
<CardContent class="pt-0">
<slot name="subtitle">
<p v-if="subtitle" class="menu-card-subtitle">{{ subtitle }}</p>
</slot>
<slot />
</CardContent>
</Card>
</template>
<script setup>
import { Card, CardContent, CardHeader, CardTitle } from '../card'
defineProps({
title: {
type: String,
default: ''
},
subtitle: {
type: String,
default: ''
}
})
defineEmits(['click'])
</script>
<style scoped>
.menu-card {
@apply border rounded shadow-sm transition-colors cursor-pointer p-2 bg-background;
}
.menu-card:hover {
@apply border-gray-600;
}
.menu-card-header {
@apply flex items-center justify-between;
}
.menu-card-title {
@apply flex items-center text-lg font-medium;
}
.menu-card-subtitle {
@apply text-sm mb-3;
}
</style>