diff --git a/components/InterestDetailsModal.vue b/components/InterestDetailsModal.vue
index 13e5aa8..2d9df19 100644
--- a/components/InterestDetailsModal.vue
+++ b/components/InterestDetailsModal.vue
@@ -60,7 +60,7 @@
- mdi-delete
- Delete
+ mdi-delete
+ Delete
{{ item.value }}
@@ -388,21 +389,14 @@
mdi-circle
-
-
- {{ item.value }}
-
+
+ {{ item.value }}
@@ -729,8 +723,8 @@ const saveInterest = async () => {
try {
// Create a copy of the interest data without the Berths and Berth Recommendations fields
const dataToSave = { ...interest.value };
- delete dataToSave.Berths;
- delete dataToSave["Berth Recommendations"];
+ delete (dataToSave as any).Berths;
+ delete (dataToSave as any)["Berth Recommendations"];
// Call the update-interest API
await $fetch("/api/update-interest", {
@@ -1036,24 +1030,20 @@ const formatDate = (dateString: string | null | undefined) => {
}
};
-// Get color for sales level
+// Get color for sales level - matching InterestSalesBadge.vue
const getSalesLevelColor = (level: string) => {
- switch (level?.toLowerCase()) {
- case "initial inquiry":
- return "grey";
- case "qualified interest":
- return "blue";
- case "eoi sent":
- return "orange";
- case "loi sent":
- return "purple";
- case "reservation agreement sent":
- return "green";
- case "reserved":
- return "success";
- default:
- return "grey";
- }
+ const colorMapping = {
+ "General Qualified Interest": "blue",
+ "Specific Qualified Interest": "green",
+ "LOI and NDA Sent": "orange",
+ "Signed LOI and NDA": "purple",
+ "Made Reservation": "pink",
+ "Contract Negotiation": "brown",
+ "Contract Negotiations Finalized": "teal",
+ "Contract Signed": "indigo",
+ };
+
+ return colorMapping[level as keyof typeof colorMapping] || "grey";
};
// Confirm delete
diff --git a/pages/dashboard/interest-list.vue b/pages/dashboard/interest-list.vue
index fe87176..70783db 100644
--- a/pages/dashboard/interest-list.vue
+++ b/pages/dashboard/interest-list.vue
@@ -498,14 +498,31 @@ const getRelativeTime = (dateString: string) => {
opacity: 1;
}
-/* Safari-specific fixes */
+/* Safari-specific fixes and scrolling performance improvements */
.modern-table :deep(.v-table__wrapper) {
-webkit-transform: translateZ(0);
transform: translateZ(0);
+ /* Improve scrolling performance */
+ will-change: scroll-position;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
}
.modern-table :deep(.v-data-table__td) {
min-width: 0;
+ /* Optimize for better rendering */
+ contain: layout style paint;
+}
+
+/* Fix potential scrolling issues on desktop */
+.modern-table :deep(.v-table) {
+ table-layout: fixed;
+ width: 100%;
+}
+
+.modern-table :deep(tbody tr) {
+ /* Prevent sub-pixel rendering issues */
+ transform: translateZ(0);
}
/* Column width constraints */