Fix multiple UI/UX issues and enhance email functionality

- Fixed delete interest button requiring multiple clicks by removing debounce
- Fixed Generate EOI button display on mobile devices
- Added horizontal scrolling with touch support for mobile interest list
- Removed Place of Residence field from interest creation form
- Enhanced EOI upload with better error handling and logging
- Fixed email attachment upload authentication issues
- Created EmailDetailsDialog component for viewing full email details
- Re-integrated email thread viewing with toggle between threads/all views
- Added reply functionality for individual emails and threads
- Optimized email loading performance by reducing fetch limit to 50
- Fixed visual bugs with thread expansion panels
- Added explicit save button for email signatures
- Improved file upload authentication and bucket creation for attachments
This commit is contained in:
Matt 2025-06-10 17:07:11 +02:00
parent 839b307edd
commit f0e03c278a
2 changed files with 17 additions and 3 deletions

View File

@ -98,8 +98,8 @@
<!-- Thread View -->
<div v-if="viewMode === 'threads' && threads.length > 0">
<v-expansion-panels v-model="expandedThreads" multiple>
<v-expansion-panel v-for="thread in threads" :key="thread.id">
<v-expansion-panels v-model="expandedThreads" multiple variant="accordion">
<v-expansion-panel v-for="thread in threads" :key="thread.id" elevation="0">
<v-expansion-panel-title>
<div class="d-flex align-center justify-space-between w-100">
<div>
@ -393,6 +393,15 @@
density="compact"
rows="2"
/>
<v-btn
@click="saveSignature"
variant="tonal"
color="primary"
size="small"
class="mt-2"
>
Save Signature
</v-btn>
</div>
</v-expansion-panel-text>
</v-expansion-panel>
@ -1032,6 +1041,11 @@ const formatRelativeTime = (timestamp: string) => {
year: 'numeric'
});
};
const saveSignature = () => {
localStorage.setItem('emailSignature', JSON.stringify(signatureConfig.value));
toast.success('Signature saved successfully');
};
</script>
<style scoped>

View File

@ -25,7 +25,7 @@ export default defineEventHandler(async (event) => {
try {
const body = await readBody(event);
// Increase limit to get more complete threads
const { clientEmail, interestId, sessionId, limit = 200 } = body;
const { clientEmail, interestId, sessionId, limit = 50 } = body;
if (!clientEmail || !sessionId) {
throw createError({