@dragonmastery/dragoncore-vue 0.0.32 → 0.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{CreateTeamForm-BQewI0Gn.js → CreateTeamForm-ClisfzsU.js} +2 -2
- package/dist/{CreateTeamForm-BQewI0Gn.js.map → CreateTeamForm-ClisfzsU.js.map} +1 -1
- package/dist/{CreateTeamForm-BK8PJeXz.js → CreateTeamForm-DWAeq_Xd.js} +2 -2
- package/dist/{CreditBalanceDashboard-CRHrhlSZ.js → CreditBalanceDashboard-CJr1yOjW.js} +2 -2
- package/dist/{CreditBalanceDashboard-CRHrhlSZ.js.map → CreditBalanceDashboard-CJr1yOjW.js.map} +1 -1
- package/dist/{CreditBalanceDashboard-C2QnVfjU.js → CreditBalanceDashboard-D370HlpF.js} +4 -4
- package/dist/{CreditManagement-CAaf_rVj.js → CreditManagement-B4aHJfOo.js} +4 -4
- package/dist/{CreditManagement-7xiygPYj.js → CreditManagement-BbDEviZx.js} +2 -2
- package/dist/{CreditManagement-7xiygPYj.js.map → CreditManagement-BbDEviZx.js.map} +1 -1
- package/dist/{CreditTransactionHistory-CP7ufh7Z.js → CreditTransactionHistory-mz-QIKUG.js} +2 -2
- package/dist/{CreditTransactionHistory-CP7ufh7Z.js.map → CreditTransactionHistory-mz-QIKUG.js.map} +1 -1
- package/dist/{CustomerCreateSupportTicketForm-Cd3ijzWy.js → CustomerCreateSupportTicketForm-Cul4aVjB.js} +3 -3
- package/dist/{CustomerCreateSupportTicketForm-Cd3ijzWy.js.map → CustomerCreateSupportTicketForm-Cul4aVjB.js.map} +1 -1
- package/dist/{CustomerCreateSupportTicketForm-C3DSzhJR.js → CustomerCreateSupportTicketForm-DCPjvzyF.js} +4 -4
- package/dist/{CustomerSupportTicketDetailPage-DwpkxpYV.js → CustomerSupportTicketDetailPage-DflGaKvk.js} +3 -3
- package/dist/{CustomerSupportTicketDetailPage-DwpkxpYV.js.map → CustomerSupportTicketDetailPage-DflGaKvk.js.map} +1 -1
- package/dist/{CustomerSupportTicketList-BrTX8SUV.js → CustomerSupportTicketList-BPWQ8WjH.js} +18 -18
- package/dist/{CustomerSupportTicketSuccess-k3DX9NhV.js → CustomerSupportTicketSuccess-B4WR8Zfn.js} +2 -2
- package/dist/{CustomerSupportTicketSuccess-k3DX9NhV.js.map → CustomerSupportTicketSuccess-B4WR8Zfn.js.map} +1 -1
- package/dist/{CustomerSupportTicketSuccess-BLSMAjQN.js → CustomerSupportTicketSuccess-Bsp1d0oF.js} +3 -3
- package/dist/{EditTeamForm-CETmPEZ7.js → EditTeamForm-B4p-C-8i.js} +2 -2
- package/dist/{EditTeamForm-CETmPEZ7.js.map → EditTeamForm-B4p-C-8i.js.map} +1 -1
- package/dist/{EditTeamForm-DiZXp6vh.js → EditTeamForm-ucwkw2eL.js} +2 -2
- package/dist/{InlineAttachments-Ywf9r3jd.js → InlineAttachments-DvqCOd6U.js} +19 -9
- package/dist/InlineAttachments-DvqCOd6U.js.map +1 -0
- package/dist/{SavedFiltersPage-CTLpYU2c.js → SavedFiltersPage-Y1T18UAH.js} +19 -19
- package/dist/{SavedFiltersPage-CTLpYU2c.js.map → SavedFiltersPage-Y1T18UAH.js.map} +1 -1
- package/dist/{StaffCreateSupportTicketForm-gPZizMKW.js → StaffCreateSupportTicketForm-B1YioWlS.js} +3 -3
- package/dist/{StaffCreateSupportTicketForm-gPZizMKW.js.map → StaffCreateSupportTicketForm-B1YioWlS.js.map} +1 -1
- package/dist/{StaffCreateSupportTicketForm-BnpxlQaG.js → StaffCreateSupportTicketForm-UkE9YVWE.js} +4 -4
- package/dist/{StaffSupportTicketDetailPage-DUqLTHVT.js → StaffSupportTicketDetailPage-CMxsVxjf.js} +3 -3
- package/dist/{StaffSupportTicketDetailPage-DUqLTHVT.js.map → StaffSupportTicketDetailPage-CMxsVxjf.js.map} +1 -1
- package/dist/{StaffSupportTicketList-Qp0vQw8X.js → StaffSupportTicketList-BlGTtE1R.js} +18 -18
- package/dist/{StaffSupportTicketSuccess-BvwrpoAb.js → StaffSupportTicketSuccess-CzS9uS2h.js} +3 -3
- package/dist/{StaffSupportTicketSuccess-C9vqsC51.js → StaffSupportTicketSuccess-DTMToAq2.js} +2 -2
- package/dist/{StaffSupportTicketSuccess-C9vqsC51.js.map → StaffSupportTicketSuccess-DTMToAq2.js.map} +1 -1
- package/dist/{TeamAttachmentsTab-CnAvlIbn.js → TeamAttachmentsTab-BgtXRohH.js} +18 -18
- package/dist/{TeamList-Fb6EfybL.js → TeamList-D3NqS5DL.js} +2 -2
- package/dist/{TeamList-C0Mbkbja.js → TeamList-P7rVlBuQ.js} +2 -2
- package/dist/{TeamList-C0Mbkbja.js.map → TeamList-P7rVlBuQ.js.map} +1 -1
- package/dist/{TeamParent-XgBD3twV.js → TeamParent-CuoVw7Yk.js} +2 -2
- package/dist/{TeamParent-COSOJ-ZZ.js → TeamParent-D35VUiio.js} +2 -2
- package/dist/{TeamParent-COSOJ-ZZ.js.map → TeamParent-D35VUiio.js.map} +1 -1
- package/dist/{TimelineNoteInput-CrivEMUP.js → TimelineNoteInput-D6AbJMx5.js} +2 -2
- package/dist/{TimelineNoteInput-CrivEMUP.js.map → TimelineNoteInput-D6AbJMx5.js.map} +1 -1
- package/dist/{ViewTeam-BXSq4M0V.js → ViewTeam-7YvvwcXd.js} +2 -2
- package/dist/{ViewTeam-DGaNNd8N.js → ViewTeam-BbsTsjAy.js} +2 -2
- package/dist/{ViewTeam-DGaNNd8N.js.map → ViewTeam-BbsTsjAy.js.map} +1 -1
- package/dist/{customerSupportTicketRoutes-BjqjQc9A.js → customerSupportTicketRoutes-38JuLJGP.js} +6 -6
- package/dist/{customerSupportTicketRoutes-BjqjQc9A.js.map → customerSupportTicketRoutes-38JuLJGP.js.map} +1 -1
- package/dist/index.js +18 -18
- package/dist/{saved_filter-DXWnU4Zb.js → saved_filter-YIncsdws.js} +2 -2
- package/dist/{saved_filter-DXWnU4Zb.js.map → saved_filter-YIncsdws.js.map} +1 -1
- package/dist/{src-B7oHTH_y.js → src-BXO0PrFd.js} +276 -145
- package/dist/src-BXO0PrFd.js.map +1 -0
- package/dist/{staffSupportTicketRoutes-CeuduGmG.js → staffSupportTicketRoutes-BZrj4aMG.js} +6 -6
- package/dist/{staffSupportTicketRoutes-CeuduGmG.js.map → staffSupportTicketRoutes-BZrj4aMG.js.map} +1 -1
- package/dist/{teamRoutes-A7plQKi0.js → teamRoutes-Aa9aBVCa.js} +7 -7
- package/dist/{teamRoutes-A7plQKi0.js.map → teamRoutes-Aa9aBVCa.js.map} +1 -1
- package/package.json +2 -2
- package/dist/InlineAttachments-Ywf9r3jd.js.map +0 -1
- package/dist/src-B7oHTH_y.js.map +0 -1
|
@@ -3,7 +3,7 @@ import { i as setRefreshTokenHandler, r as getRefreshTokenHandler } from "./Enha
|
|
|
3
3
|
import { t as useMutation } from "./useMutation-BXSu7_-s.js";
|
|
4
4
|
import { t as useQuery } from "./useQuery-DownvLRA.js";
|
|
5
5
|
import { t as AppLink_default } from "./AppLink-FcNGKgvG.js";
|
|
6
|
-
import { a as useSavedFilters, c as buildQueryWithFilters, f as PINNED_PRESETS_KEY, m as usePinnedPresets, p as useInjectedPinnedPresets, t as SavedFilterPresets_default, u as extractFiltersFromQuery } from "./saved_filter-
|
|
6
|
+
import { a as useSavedFilters, c as buildQueryWithFilters, f as PINNED_PRESETS_KEY, m as usePinnedPresets, p as useInjectedPinnedPresets, t as SavedFilterPresets_default, u as extractFiltersFromQuery } from "./saved_filter-YIncsdws.js";
|
|
7
7
|
import { t as ConfirmDialog_default } from "./ConfirmDialog-DjthOYU6.js";
|
|
8
8
|
import { n as export_helper_default } from "./TeamMembersTab-BigqpBDH.js";
|
|
9
9
|
import { a as withReturnUrl, n as getBackLinkFromRoute, r as getValidReturnUrl } from "./useReturnUrl-DnezAxBA.js";
|
|
@@ -13,7 +13,7 @@ import { t as ZiniaContainer_default } from "./ZiniaContainer-BPIfQOc7.js";
|
|
|
13
13
|
import { i as formatUserDate, t as formatSystemTimestamp } from "./convertToLocalDateTime-BKBxm2Rc.js";
|
|
14
14
|
import { t as extractRpcErrorMessage } from "./extractRpcErrorMessage-Df8-CJGV.js";
|
|
15
15
|
import { c as userAuthenticated, l as userIsSuperAdmin, o as leadOrStaffOnly } from "./userAuthorized-qmzUYDa-.js";
|
|
16
|
-
import { t as staffSupportPaths } from "./staffSupportTicketRoutes-
|
|
16
|
+
import { t as staffSupportPaths } from "./staffSupportTicketRoutes-BZrj4aMG.js";
|
|
17
17
|
import { a as SupportTicketTypeBadge_default, c as formatStaffCreditValue, i as SupportTicketApprovalBadge_default, o as SupportTicketPriorityBadge_default, s as formatCustomerCreditValue } from "./TimelineSystemEvent-D5fkhkZT.js";
|
|
18
18
|
import { t as formatTicketDisplayId } from "./displayIdFormatter-Ca4Al9iB.js";
|
|
19
19
|
import { t as SupportTicketDevLifecycleBadge_default } from "./SupportTicketDevLifecycleBadge-D8-Cv1Np.js";
|
|
@@ -1128,72 +1128,95 @@ const _hoisted_25$1 = { class: "font-medium text-sm break-all" };
|
|
|
1128
1128
|
const _hoisted_26$1 = { class: "text-xs text-base-content/70 mt-1 ml-6" };
|
|
1129
1129
|
const _hoisted_27$1 = {
|
|
1130
1130
|
key: 0,
|
|
1131
|
+
class: "mt-2 ml-6 space-y-1"
|
|
1132
|
+
};
|
|
1133
|
+
const _hoisted_28$1 = ["onUpdate:modelValue"];
|
|
1134
|
+
const _hoisted_29$1 = ["onUpdate:modelValue"];
|
|
1135
|
+
const _hoisted_30$1 = {
|
|
1136
|
+
key: 1,
|
|
1131
1137
|
class: "text-xs text-error mt-1 ml-6"
|
|
1132
1138
|
};
|
|
1133
|
-
const
|
|
1134
|
-
const
|
|
1135
|
-
const
|
|
1136
|
-
const
|
|
1137
|
-
const
|
|
1138
|
-
const
|
|
1139
|
+
const _hoisted_31$1 = ["onClick"];
|
|
1140
|
+
const _hoisted_32$1 = { key: 0 };
|
|
1141
|
+
const _hoisted_33$1 = { class: "flex justify-between text-xs mb-1" };
|
|
1142
|
+
const _hoisted_34$1 = { key: 0 };
|
|
1143
|
+
const _hoisted_35$1 = ["value"];
|
|
1144
|
+
const _hoisted_36 = {
|
|
1139
1145
|
key: 1,
|
|
1140
1146
|
class: "text-xs text-success mt-1"
|
|
1141
1147
|
};
|
|
1142
|
-
const
|
|
1148
|
+
const _hoisted_37 = {
|
|
1143
1149
|
key: 2,
|
|
1144
1150
|
class: "text-xs text-error mt-1"
|
|
1145
1151
|
};
|
|
1146
|
-
const
|
|
1152
|
+
const _hoisted_38 = {
|
|
1147
1153
|
key: 1,
|
|
1148
1154
|
class: "block sm:hidden mb-4"
|
|
1149
1155
|
};
|
|
1150
|
-
const
|
|
1151
|
-
const
|
|
1152
|
-
const
|
|
1153
|
-
const
|
|
1154
|
-
const
|
|
1156
|
+
const _hoisted_39 = ["onClick"];
|
|
1157
|
+
const _hoisted_40 = { class: "card-body py-4" };
|
|
1158
|
+
const _hoisted_41 = { class: "flex items-center gap-3" };
|
|
1159
|
+
const _hoisted_42 = { class: "card-title text-base break-words flex-1" };
|
|
1160
|
+
const _hoisted_43 = {
|
|
1155
1161
|
key: 2,
|
|
1156
1162
|
class: "block sm:hidden"
|
|
1157
1163
|
};
|
|
1158
|
-
const
|
|
1159
|
-
const
|
|
1160
|
-
const
|
|
1161
|
-
const
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
const _hoisted_47 = ["onClick"];
|
|
1165
|
-
const _hoisted_48 = {
|
|
1166
|
-
key: 3,
|
|
1167
|
-
class: "hidden sm:block overflow-x-auto"
|
|
1164
|
+
const _hoisted_44 = { class: "card-body" };
|
|
1165
|
+
const _hoisted_45 = { class: "flex items-center gap-2 mb-2" };
|
|
1166
|
+
const _hoisted_46 = { class: "card-title text-base break-all" };
|
|
1167
|
+
const _hoisted_47 = {
|
|
1168
|
+
key: 0,
|
|
1169
|
+
class: "text-sm text-base-content/70 mt-1"
|
|
1168
1170
|
};
|
|
1169
|
-
const
|
|
1171
|
+
const _hoisted_48 = { class: "grid grid-cols-2 text-sm mb-3" };
|
|
1172
|
+
const _hoisted_49 = { class: "card-actions justify-between mt-3 gap-2" };
|
|
1170
1173
|
const _hoisted_50 = ["onClick"];
|
|
1171
|
-
const _hoisted_51 =
|
|
1172
|
-
const _hoisted_52 =
|
|
1174
|
+
const _hoisted_51 = ["onClick"];
|
|
1175
|
+
const _hoisted_52 = ["onClick"];
|
|
1173
1176
|
const _hoisted_53 = {
|
|
1177
|
+
key: 3,
|
|
1178
|
+
class: "hidden sm:block overflow-x-auto"
|
|
1179
|
+
};
|
|
1180
|
+
const _hoisted_54 = { class: "table table-zebra w-full" };
|
|
1181
|
+
const _hoisted_55 = ["onClick"];
|
|
1182
|
+
const _hoisted_56 = { class: "flex items-center gap-3" };
|
|
1183
|
+
const _hoisted_57 = { class: "font-medium break-all max-w-[200px] md:max-w-[500px]" };
|
|
1184
|
+
const _hoisted_58 = {
|
|
1174
1185
|
key: 0,
|
|
1175
1186
|
class: "text-xs text-base-content/60 ml-2"
|
|
1176
1187
|
};
|
|
1177
|
-
const
|
|
1178
|
-
const
|
|
1179
|
-
const
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
const
|
|
1184
|
-
const
|
|
1185
|
-
const
|
|
1186
|
-
const
|
|
1187
|
-
const
|
|
1188
|
-
const
|
|
1189
|
-
const
|
|
1190
|
-
const
|
|
1188
|
+
const _hoisted_59 = { class: "flex items-center gap-3" };
|
|
1189
|
+
const _hoisted_60 = { class: "font-medium break-all max-w-[200px] md:max-w-[500px]" };
|
|
1190
|
+
const _hoisted_61 = {
|
|
1191
|
+
key: 0,
|
|
1192
|
+
class: "text-xs text-base-content/60 truncate max-w-[200px] md:max-w-[500px]"
|
|
1193
|
+
};
|
|
1194
|
+
const _hoisted_62 = { class: "flex gap-2" };
|
|
1195
|
+
const _hoisted_63 = ["onClick"];
|
|
1196
|
+
const _hoisted_64 = ["onClick"];
|
|
1197
|
+
const _hoisted_65 = ["onClick"];
|
|
1198
|
+
const _hoisted_66 = { class: "text-center py-8" };
|
|
1199
|
+
const _hoisted_67 = { class: "text-base-content/70 mt-2" };
|
|
1200
|
+
const _hoisted_68 = { class: "text-center py-8" };
|
|
1201
|
+
const _hoisted_69 = { class: "text-base-content/70" };
|
|
1202
|
+
const _hoisted_70 = { class: "hidden sm:block text-sm text-base-content/70 mt-2" };
|
|
1203
|
+
const _hoisted_71 = { class: "text-center py-8" };
|
|
1204
|
+
const _hoisted_72 = { class: "text-error" };
|
|
1205
|
+
const _hoisted_73 = { class: "modal-box" };
|
|
1206
|
+
const _hoisted_74 = { class: "py-4 space-y-4" };
|
|
1207
|
+
const _hoisted_75 = { class: "form-control w-full" };
|
|
1208
|
+
const _hoisted_76 = { class: "form-control w-full" };
|
|
1209
|
+
const _hoisted_77 = { class: "modal-action" };
|
|
1210
|
+
const _hoisted_78 = ["disabled"];
|
|
1211
|
+
const _hoisted_79 = ["disabled"];
|
|
1212
|
+
const _hoisted_80 = { class: "mb-4" };
|
|
1213
|
+
const _hoisted_81 = {
|
|
1191
1214
|
key: 0,
|
|
1192
1215
|
class: "bg-base-200 rounded-lg p-3 space-y-1 text-sm"
|
|
1193
1216
|
};
|
|
1194
|
-
const
|
|
1195
|
-
const
|
|
1196
|
-
const
|
|
1217
|
+
const _hoisted_82 = { class: "flex items-center gap-2" };
|
|
1218
|
+
const _hoisted_83 = { class: "font-medium" };
|
|
1219
|
+
const _hoisted_84 = { class: "text-base-content/70" };
|
|
1197
1220
|
const DEFAULT_MAX_FILE_SIZE = 50 * 1024 * 1024;
|
|
1198
1221
|
const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
1199
1222
|
__name: "FileManager",
|
|
@@ -1220,8 +1243,13 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1220
1243
|
const folderPath = ref([]);
|
|
1221
1244
|
const showDeleteModal = ref(false);
|
|
1222
1245
|
const showCreateFolderModal = ref(false);
|
|
1246
|
+
const showEditModal = ref(false);
|
|
1223
1247
|
const fileToDelete = ref(null);
|
|
1248
|
+
const fileToEdit = ref(null);
|
|
1249
|
+
const editTitle = ref("");
|
|
1250
|
+
const editDescription = ref("");
|
|
1224
1251
|
const { mutate: deleteAttachment } = useMutation((api, input) => api.attachments.deleteAttachment(input.id), { invalidate: /^attachments?:/ });
|
|
1252
|
+
const { mutate: updateAttachment, loading: isUpdatingAttachment } = useMutation((api, input) => api.attachments.updateAttachment(input), { invalidate: /^attachments?:/ });
|
|
1225
1253
|
const { mutate: createFolderMutation } = useMutation((api, input) => api.attachments.createFolder(input), { invalidate: /^attachments?:/ });
|
|
1226
1254
|
const { data: attachmentsData, loading: fetchingAttachments, error: attachmentsError, refetch: refetchAttachments } = useQuery(async (api) => {
|
|
1227
1255
|
const filters = {
|
|
@@ -1265,6 +1293,8 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1265
1293
|
for (const item of fileItems) files.push({
|
|
1266
1294
|
id: item.id,
|
|
1267
1295
|
name: item.original_name,
|
|
1296
|
+
title: item.title ?? null,
|
|
1297
|
+
description: item.description ?? null,
|
|
1268
1298
|
size: parseInt(item.file_size || "0"),
|
|
1269
1299
|
type: item.content_type || "",
|
|
1270
1300
|
uploadedAt: new Date(item.created_at)
|
|
@@ -1455,6 +1485,8 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1455
1485
|
formData.append("record_id", props.recordId);
|
|
1456
1486
|
formData.append("record_type", props.recordType);
|
|
1457
1487
|
if (currentFolderId.value) formData.append("folder_id", currentFolderId.value);
|
|
1488
|
+
if (item.title) formData.append("title", item.title);
|
|
1489
|
+
if (item.description) formData.append("description", item.description);
|
|
1458
1490
|
const response = await fetch(`${env$1.restApiClient.apiUrl}/attachments/${props.recordType}/${props.recordId}`, {
|
|
1459
1491
|
method: "POST",
|
|
1460
1492
|
headers: { Authorization: `Bearer ${userStore.accessToken}` },
|
|
@@ -1518,6 +1550,32 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1518
1550
|
a.remove();
|
|
1519
1551
|
URL.revokeObjectURL(url);
|
|
1520
1552
|
};
|
|
1553
|
+
const openEditModal = (file) => {
|
|
1554
|
+
fileToEdit.value = file;
|
|
1555
|
+
editTitle.value = file.title ?? "";
|
|
1556
|
+
editDescription.value = file.description ?? "";
|
|
1557
|
+
showEditModal.value = true;
|
|
1558
|
+
};
|
|
1559
|
+
const closeEditModal = () => {
|
|
1560
|
+
showEditModal.value = false;
|
|
1561
|
+
fileToEdit.value = null;
|
|
1562
|
+
editTitle.value = "";
|
|
1563
|
+
editDescription.value = "";
|
|
1564
|
+
};
|
|
1565
|
+
const saveEditAttachment = async () => {
|
|
1566
|
+
if (!fileToEdit.value) return;
|
|
1567
|
+
try {
|
|
1568
|
+
await updateAttachment({
|
|
1569
|
+
id: fileToEdit.value.id,
|
|
1570
|
+
title: editTitle.value.trim() || null,
|
|
1571
|
+
description: editDescription.value.trim() || null
|
|
1572
|
+
});
|
|
1573
|
+
refreshAttachments();
|
|
1574
|
+
closeEditModal();
|
|
1575
|
+
} catch (error) {
|
|
1576
|
+
console.error("Update failed:", error);
|
|
1577
|
+
}
|
|
1578
|
+
};
|
|
1521
1579
|
const confirmDeleteFile = (file) => {
|
|
1522
1580
|
fileToDelete.value = file;
|
|
1523
1581
|
showDeleteModal.value = true;
|
|
@@ -1578,7 +1636,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1578
1636
|
class: "btn btn-sm btn-primary flex-1",
|
|
1579
1637
|
onClick: openFileSelector,
|
|
1580
1638
|
disabled: isUploading.value
|
|
1581
|
-
}, [_cache[
|
|
1639
|
+
}, [_cache[7] || (_cache[7] = createElementVNode("svg", {
|
|
1582
1640
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1583
1641
|
class: "h-4 w-4 mr-1",
|
|
1584
1642
|
fill: "none",
|
|
@@ -1592,7 +1650,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1592
1650
|
})], -1)), createTextVNode(" " + toDisplayString(config.value.addButtonText || "Add Files"), 1)], 8, _hoisted_6$10), createElementVNode("button", {
|
|
1593
1651
|
class: "btn btn-sm btn-info flex-1",
|
|
1594
1652
|
onClick: createFolder
|
|
1595
|
-
}, [..._cache[
|
|
1653
|
+
}, [..._cache[8] || (_cache[8] = [createElementVNode("svg", {
|
|
1596
1654
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1597
1655
|
class: "h-4 w-4 mr-1",
|
|
1598
1656
|
fill: "none",
|
|
@@ -1614,7 +1672,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1614
1672
|
createElementVNode("div", _hoisted_7$9, [createElementVNode("ul", _hoisted_8$9, [createElementVNode("li", null, [createElementVNode("button", {
|
|
1615
1673
|
class: normalizeClass(["btn btn-sm sm:btn-xs btn-ghost min-h-[2.5rem] sm:min-h-0 py-2 sm:py-1", { "btn-active": !currentFolderId.value }]),
|
|
1616
1674
|
onClick: _cache[0] || (_cache[0] = ($event) => navigateToFolder(null))
|
|
1617
|
-
}, [..._cache[
|
|
1675
|
+
}, [..._cache[9] || (_cache[9] = [createElementVNode("svg", {
|
|
1618
1676
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1619
1677
|
class: "h-4 w-4 sm:mr-1",
|
|
1620
1678
|
fill: "none",
|
|
@@ -1653,7 +1711,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1653
1711
|
onDrop: withModifiers(handleFileDrop, ["prevent"]),
|
|
1654
1712
|
onClick: openFileSelector
|
|
1655
1713
|
}, [createElementVNode("div", _hoisted_11$5, [
|
|
1656
|
-
_cache[
|
|
1714
|
+
_cache[10] || (_cache[10] = createElementVNode("svg", {
|
|
1657
1715
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1658
1716
|
class: "h-12 w-12 mb-2 text-primary",
|
|
1659
1717
|
fill: "none",
|
|
@@ -1670,7 +1728,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1670
1728
|
config.value.acceptText ? (openBlock(), createElementBlock("p", _hoisted_14$3, toDisplayString(config.value.acceptText), 1)) : createCommentVNode("v-if", true)
|
|
1671
1729
|
])], 34),
|
|
1672
1730
|
createCommentVNode(" Upload Queue "),
|
|
1673
|
-
uploadQueue.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_15$2, [_cache[
|
|
1731
|
+
uploadQueue.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_15$2, [_cache[14] || (_cache[14] = createElementVNode("div", { class: "text-sm font-medium mb-2" }, "File uploads", -1)), createElementVNode("div", _hoisted_16$2, [(openBlock(true), createElementBlock(Fragment, null, renderList(uploadQueue.value, (item) => {
|
|
1674
1732
|
return openBlock(), createElementBlock("div", {
|
|
1675
1733
|
key: item.id,
|
|
1676
1734
|
class: normalizeClass(["border border-base-200 rounded-lg p-3", {
|
|
@@ -1682,12 +1740,12 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1682
1740
|
createElementVNode("div", _hoisted_18$1, [
|
|
1683
1741
|
createElementVNode("div", _hoisted_19$1, [
|
|
1684
1742
|
createCommentVNode(" Status Icon "),
|
|
1685
|
-
item.status === "uploading" ? (openBlock(), createElementBlock("div", _hoisted_20$1)) : item.status === "success" ? (openBlock(), createElementBlock("svg", _hoisted_21$1, [..._cache[
|
|
1743
|
+
item.status === "uploading" ? (openBlock(), createElementBlock("div", _hoisted_20$1)) : item.status === "success" ? (openBlock(), createElementBlock("svg", _hoisted_21$1, [..._cache[11] || (_cache[11] = [createElementVNode("path", {
|
|
1686
1744
|
"stroke-linecap": "round",
|
|
1687
1745
|
"stroke-linejoin": "round",
|
|
1688
1746
|
"stroke-width": "2",
|
|
1689
1747
|
d: "M5 13l4 4L19 7"
|
|
1690
|
-
}, null, -1)])])) : item.status === "error" ? (openBlock(), createElementBlock("svg", _hoisted_22$1, [..._cache[
|
|
1748
|
+
}, null, -1)])])) : item.status === "error" ? (openBlock(), createElementBlock("svg", _hoisted_22$1, [..._cache[12] || (_cache[12] = [createElementVNode("path", {
|
|
1691
1749
|
"stroke-linecap": "round",
|
|
1692
1750
|
"stroke-linejoin": "round",
|
|
1693
1751
|
"stroke-width": "2",
|
|
@@ -1697,7 +1755,18 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1697
1755
|
createElementVNode("div", _hoisted_24$1, [createElementVNode("div", _hoisted_25$1, toDisplayString(item.file.name), 1)])
|
|
1698
1756
|
]),
|
|
1699
1757
|
createElementVNode("div", _hoisted_26$1, toDisplayString(formatFileSize(item.file.size)), 1),
|
|
1700
|
-
item.status === "
|
|
1758
|
+
item.status === "pending" || item.status === "uploading" ? (openBlock(), createElementBlock("div", _hoisted_27$1, [withDirectives(createElementVNode("input", {
|
|
1759
|
+
"onUpdate:modelValue": ($event) => item.title = $event,
|
|
1760
|
+
type: "text",
|
|
1761
|
+
placeholder: "Title (optional)",
|
|
1762
|
+
class: "input input-xs input-bordered w-full max-w-xs"
|
|
1763
|
+
}, null, 8, _hoisted_28$1), [[vModelText, item.title]]), withDirectives(createElementVNode("input", {
|
|
1764
|
+
"onUpdate:modelValue": ($event) => item.description = $event,
|
|
1765
|
+
type: "text",
|
|
1766
|
+
placeholder: "Description (optional)",
|
|
1767
|
+
class: "input input-xs input-bordered w-full max-w-xs block mt-1"
|
|
1768
|
+
}, null, 8, _hoisted_29$1), [[vModelText, item.description]])])) : createCommentVNode("v-if", true),
|
|
1769
|
+
item.status === "error" && item.errorMessage ? (openBlock(), createElementBlock("div", _hoisted_30$1, toDisplayString(item.errorMessage), 1)) : createCommentVNode("v-if", true)
|
|
1701
1770
|
]),
|
|
1702
1771
|
createCommentVNode(" Dismiss Button (X) "),
|
|
1703
1772
|
item.status === "success" || item.status === "error" ? (openBlock(), createElementBlock("button", {
|
|
@@ -1705,7 +1774,7 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1705
1774
|
class: "btn btn-xs btn-ghost btn-circle",
|
|
1706
1775
|
onClick: ($event) => removeFromQueue(item.id),
|
|
1707
1776
|
"aria-label": "Dismiss notification"
|
|
1708
|
-
}, [..._cache[
|
|
1777
|
+
}, [..._cache[13] || (_cache[13] = [createElementVNode("svg", {
|
|
1709
1778
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1710
1779
|
class: "h-4 w-4",
|
|
1711
1780
|
fill: "none",
|
|
@@ -1716,32 +1785,32 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1716
1785
|
"stroke-linejoin": "round",
|
|
1717
1786
|
"stroke-width": "2",
|
|
1718
1787
|
d: "M6 18L18 6M6 6l12 12"
|
|
1719
|
-
})], -1)])], 8,
|
|
1788
|
+
})], -1)])], 8, _hoisted_31$1)) : createCommentVNode("v-if", true)
|
|
1720
1789
|
]),
|
|
1721
1790
|
createCommentVNode(" Progress Bar "),
|
|
1722
|
-
item.status === "uploading" || item.status === "pending" ? (openBlock(), createElementBlock("div",
|
|
1791
|
+
item.status === "uploading" || item.status === "pending" ? (openBlock(), createElementBlock("div", _hoisted_32$1, [createElementVNode("div", _hoisted_33$1, [createElementVNode("span", null, toDisplayString(item.status === "uploading" ? "Uploading..." : "Waiting..."), 1), item.status === "uploading" ? (openBlock(), createElementBlock("span", _hoisted_34$1, toDisplayString(item.progress.toFixed(2)) + "%", 1)) : createCommentVNode("v-if", true)]), createElementVNode("progress", {
|
|
1723
1792
|
class: normalizeClass(["progress w-full", {
|
|
1724
1793
|
"progress-primary": item.status === "uploading",
|
|
1725
1794
|
"progress-secondary opacity-50": item.status === "pending"
|
|
1726
1795
|
}]),
|
|
1727
1796
|
value: item.status === "uploading" ? item.progress : 0,
|
|
1728
1797
|
max: "100"
|
|
1729
|
-
}, null, 10,
|
|
1798
|
+
}, null, 10, _hoisted_35$1)])) : createCommentVNode("v-if", true),
|
|
1730
1799
|
createCommentVNode(" Success/Error Message "),
|
|
1731
|
-
item.status === "success" ? (openBlock(), createElementBlock("div",
|
|
1732
|
-
item.status === "error" ? (openBlock(), createElementBlock("div",
|
|
1800
|
+
item.status === "success" ? (openBlock(), createElementBlock("div", _hoisted_36, " Upload complete ")) : createCommentVNode("v-if", true),
|
|
1801
|
+
item.status === "error" ? (openBlock(), createElementBlock("div", _hoisted_37, " Upload failed - dismiss and try again ")) : createCommentVNode("v-if", true)
|
|
1733
1802
|
], 2);
|
|
1734
1803
|
}), 128))])])) : createCommentVNode("v-if", true),
|
|
1735
1804
|
createCommentVNode(" Folder list (mobile) "),
|
|
1736
|
-
folders.value.length > 0 ? (openBlock(), createElementBlock("div",
|
|
1805
|
+
folders.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_38, [(openBlock(true), createElementBlock(Fragment, null, renderList(folders.value, (folder) => {
|
|
1737
1806
|
return openBlock(), createElementBlock("div", {
|
|
1738
1807
|
key: folder.id,
|
|
1739
1808
|
class: "card card-compact bg-base-100 shadow-sm mb-3 border border-base-200 active:scale-[0.98] transition-transform",
|
|
1740
1809
|
onClick: ($event) => enterFolder(folder.id)
|
|
1741
|
-
}, [createElementVNode("div",
|
|
1742
|
-
_cache[
|
|
1743
|
-
createElementVNode("h3",
|
|
1744
|
-
_cache[
|
|
1810
|
+
}, [createElementVNode("div", _hoisted_40, [createElementVNode("div", _hoisted_41, [
|
|
1811
|
+
_cache[15] || (_cache[15] = createElementVNode("div", { class: "badge badge-secondary badge-lg" }, "FOLDER", -1)),
|
|
1812
|
+
createElementVNode("h3", _hoisted_42, toDisplayString(folder.name), 1),
|
|
1813
|
+
_cache[16] || (_cache[16] = createElementVNode("svg", {
|
|
1745
1814
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1746
1815
|
class: "h-5 w-5 text-base-content/50",
|
|
1747
1816
|
fill: "none",
|
|
@@ -1753,49 +1822,61 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1753
1822
|
"stroke-width": "2",
|
|
1754
1823
|
d: "M9 5l7 7-7 7"
|
|
1755
1824
|
})], -1))
|
|
1756
|
-
])])], 8,
|
|
1825
|
+
])])], 8, _hoisted_39);
|
|
1757
1826
|
}), 128))])) : createCommentVNode("v-if", true),
|
|
1758
1827
|
createCommentVNode(" File List for Mobile "),
|
|
1759
|
-
attachments.value.length > 0 ? (openBlock(), createElementBlock("div",
|
|
1828
|
+
attachments.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_43, [(openBlock(true), createElementBlock(Fragment, null, renderList(attachments.value, (file, index) => {
|
|
1760
1829
|
return openBlock(), createElementBlock("div", {
|
|
1761
1830
|
key: index,
|
|
1762
1831
|
class: "card card-compact bg-base-100 shadow-sm mb-3 border border-base-200"
|
|
1763
|
-
}, [createElementVNode("div",
|
|
1764
|
-
createElementVNode("div",
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
"
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
"
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1832
|
+
}, [createElementVNode("div", _hoisted_44, [
|
|
1833
|
+
createElementVNode("div", _hoisted_45, [
|
|
1834
|
+
createElementVNode("div", { class: normalizeClass(["badge", getFileTypeBadgeClass(file.type)]) }, toDisplayString(getFileTypeLabel(file.type)), 3),
|
|
1835
|
+
createElementVNode("h3", _hoisted_46, toDisplayString(file.title || file.name), 1),
|
|
1836
|
+
file.description ? (openBlock(), createElementBlock("p", _hoisted_47, toDisplayString(file.description), 1)) : createCommentVNode("v-if", true)
|
|
1837
|
+
]),
|
|
1838
|
+
createElementVNode("div", _hoisted_48, [createElementVNode("div", null, [_cache[17] || (_cache[17] = createElementVNode("span", { class: "text-base-content/70" }, "Size:", -1)), createTextVNode(" " + toDisplayString(formatFileSize(file.size)), 1)]), createElementVNode("div", null, [_cache[18] || (_cache[18] = createElementVNode("span", { class: "text-base-content/70" }, "Uploaded:", -1)), createTextVNode(" " + toDisplayString(formatDate(file.uploadedAt)), 1)])]),
|
|
1839
|
+
createElementVNode("div", _hoisted_49, [
|
|
1840
|
+
createElementVNode("button", {
|
|
1841
|
+
class: "btn btn-sm btn-ghost flex-1 min-h-[2.75rem]",
|
|
1842
|
+
onClick: ($event) => openEditModal(file),
|
|
1843
|
+
title: "Edit title and description"
|
|
1844
|
+
}, " Edit ", 8, _hoisted_50),
|
|
1845
|
+
createElementVNode("button", {
|
|
1846
|
+
class: "btn btn-sm flex-1 min-h-[2.75rem]",
|
|
1847
|
+
onClick: ($event) => downloadFile(file)
|
|
1848
|
+
}, [..._cache[19] || (_cache[19] = [createElementVNode("svg", {
|
|
1849
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1850
|
+
class: "h-4 w-4 mr-1",
|
|
1851
|
+
fill: "none",
|
|
1852
|
+
viewBox: "0 0 24 24",
|
|
1853
|
+
stroke: "currentColor"
|
|
1854
|
+
}, [createElementVNode("path", {
|
|
1855
|
+
"stroke-linecap": "round",
|
|
1856
|
+
"stroke-linejoin": "round",
|
|
1857
|
+
"stroke-width": "2",
|
|
1858
|
+
d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
|
|
1859
|
+
})], -1), createTextVNode(" Download ", -1)])], 8, _hoisted_51),
|
|
1860
|
+
createElementVNode("button", {
|
|
1861
|
+
class: "btn btn-sm btn-outline btn-error flex-1 min-h-[2.75rem]",
|
|
1862
|
+
onClick: ($event) => confirmDeleteFile(file)
|
|
1863
|
+
}, [..._cache[20] || (_cache[20] = [createElementVNode("svg", {
|
|
1864
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1865
|
+
class: "h-4 w-4 mr-1",
|
|
1866
|
+
fill: "none",
|
|
1867
|
+
viewBox: "0 0 24 24",
|
|
1868
|
+
stroke: "currentColor"
|
|
1869
|
+
}, [createElementVNode("path", {
|
|
1870
|
+
"stroke-linecap": "round",
|
|
1871
|
+
"stroke-linejoin": "round",
|
|
1872
|
+
"stroke-width": "2",
|
|
1873
|
+
d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
|
|
1874
|
+
})], -1), createTextVNode(" Delete ", -1)])], 8, _hoisted_52)
|
|
1875
|
+
])
|
|
1795
1876
|
])]);
|
|
1796
1877
|
}), 128))])) : createCommentVNode("v-if", true),
|
|
1797
1878
|
createCommentVNode(" Folder and File List for Tablet/Desktop "),
|
|
1798
|
-
folders.value.length > 0 || attachments.value.length > 0 ? (openBlock(), createElementBlock("div",
|
|
1879
|
+
folders.value.length > 0 || attachments.value.length > 0 ? (openBlock(), createElementBlock("div", _hoisted_53, [createElementVNode("table", _hoisted_54, [_cache[28] || (_cache[28] = createElementVNode("thead", null, [createElementVNode("tr", null, [
|
|
1799
1880
|
createElementVNode("th", null, "Name"),
|
|
1800
1881
|
createElementVNode("th", null, "Size"),
|
|
1801
1882
|
createElementVNode("th", null, "Uploaded"),
|
|
@@ -1808,51 +1889,74 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1808
1889
|
class: "cursor-pointer",
|
|
1809
1890
|
onClick: ($event) => enterFolder(folder.id)
|
|
1810
1891
|
}, [
|
|
1811
|
-
createElementVNode("td", null, [createElementVNode("div",
|
|
1812
|
-
_cache[
|
|
1813
|
-
_cache[
|
|
1814
|
-
_cache[
|
|
1815
|
-
], 8,
|
|
1892
|
+
createElementVNode("td", null, [createElementVNode("div", _hoisted_56, [_cache[21] || (_cache[21] = createElementVNode("div", { class: "badge badge-secondary badge-sm" }, "FOLDER", -1)), createElementVNode("div", _hoisted_57, [createTextVNode(toDisplayString(folder.name) + " ", 1), folder.file_count !== void 0 ? (openBlock(), createElementBlock("span", _hoisted_58, " (" + toDisplayString(folder.file_count) + ") ", 1)) : createCommentVNode("v-if", true)])])]),
|
|
1893
|
+
_cache[22] || (_cache[22] = createElementVNode("td", null, "—", -1)),
|
|
1894
|
+
_cache[23] || (_cache[23] = createElementVNode("td", null, "—", -1)),
|
|
1895
|
+
_cache[24] || (_cache[24] = createElementVNode("td", null, "—", -1))
|
|
1896
|
+
], 8, _hoisted_55);
|
|
1816
1897
|
}), 128)),
|
|
1817
1898
|
createCommentVNode(" Files "),
|
|
1818
1899
|
(openBlock(true), createElementBlock(Fragment, null, renderList(attachments.value, (file, index) => {
|
|
1819
1900
|
return openBlock(), createElementBlock("tr", { key: index }, [
|
|
1820
|
-
createElementVNode("td", null, [createElementVNode("div",
|
|
1901
|
+
createElementVNode("td", null, [createElementVNode("div", _hoisted_59, [
|
|
1902
|
+
createElementVNode("div", { class: normalizeClass(["badge badge-sm", getFileTypeBadgeClass(file.type)]) }, toDisplayString(getFileTypeLabel(file.type)), 3),
|
|
1903
|
+
createElementVNode("div", _hoisted_60, toDisplayString(file.title || file.name), 1),
|
|
1904
|
+
file.description ? (openBlock(), createElementBlock("div", _hoisted_61, toDisplayString(file.description), 1)) : createCommentVNode("v-if", true)
|
|
1905
|
+
])]),
|
|
1821
1906
|
createElementVNode("td", null, toDisplayString(formatFileSize(file.size)), 1),
|
|
1822
1907
|
createElementVNode("td", null, toDisplayString(formatDate(file.uploadedAt)), 1),
|
|
1823
|
-
createElementVNode("td", null, [createElementVNode("div",
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
|
|
1850
|
-
|
|
1851
|
-
|
|
1908
|
+
createElementVNode("td", null, [createElementVNode("div", _hoisted_62, [
|
|
1909
|
+
createElementVNode("button", {
|
|
1910
|
+
class: "btn btn-sm btn-ghost btn-circle",
|
|
1911
|
+
onClick: ($event) => openEditModal(file),
|
|
1912
|
+
title: "Edit title and description"
|
|
1913
|
+
}, [..._cache[25] || (_cache[25] = [createElementVNode("svg", {
|
|
1914
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1915
|
+
class: "h-4 w-4",
|
|
1916
|
+
fill: "none",
|
|
1917
|
+
viewBox: "0 0 24 24",
|
|
1918
|
+
stroke: "currentColor"
|
|
1919
|
+
}, [createElementVNode("path", {
|
|
1920
|
+
"stroke-linecap": "round",
|
|
1921
|
+
"stroke-linejoin": "round",
|
|
1922
|
+
"stroke-width": "2",
|
|
1923
|
+
d: "M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"
|
|
1924
|
+
})], -1)])], 8, _hoisted_63),
|
|
1925
|
+
createElementVNode("button", {
|
|
1926
|
+
class: "btn btn-sm btn-ghost btn-circle",
|
|
1927
|
+
onClick: ($event) => downloadFile(file)
|
|
1928
|
+
}, [..._cache[26] || (_cache[26] = [createElementVNode("svg", {
|
|
1929
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1930
|
+
class: "h-4 w-4",
|
|
1931
|
+
fill: "none",
|
|
1932
|
+
viewBox: "0 0 24 24",
|
|
1933
|
+
stroke: "currentColor"
|
|
1934
|
+
}, [createElementVNode("path", {
|
|
1935
|
+
"stroke-linecap": "round",
|
|
1936
|
+
"stroke-linejoin": "round",
|
|
1937
|
+
"stroke-width": "2",
|
|
1938
|
+
d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
|
|
1939
|
+
})], -1)])], 8, _hoisted_64),
|
|
1940
|
+
createElementVNode("button", {
|
|
1941
|
+
class: "btn btn-sm btn-ghost btn-circle text-error",
|
|
1942
|
+
onClick: ($event) => confirmDeleteFile(file)
|
|
1943
|
+
}, [..._cache[27] || (_cache[27] = [createElementVNode("svg", {
|
|
1944
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1945
|
+
class: "h-4 w-4",
|
|
1946
|
+
fill: "none",
|
|
1947
|
+
viewBox: "0 0 24 24",
|
|
1948
|
+
stroke: "currentColor"
|
|
1949
|
+
}, [createElementVNode("path", {
|
|
1950
|
+
"stroke-linecap": "round",
|
|
1951
|
+
"stroke-linejoin": "round",
|
|
1952
|
+
"stroke-width": "2",
|
|
1953
|
+
d: "M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"
|
|
1954
|
+
})], -1)])], 8, _hoisted_65)
|
|
1955
|
+
])])
|
|
1852
1956
|
]);
|
|
1853
1957
|
}), 128))
|
|
1854
|
-
])])])) : unref(fetchingAttachments) ? (openBlock(), createElementBlock(Fragment, { key: 4 }, [createCommentVNode(" Loading State "), createElementVNode("div",
|
|
1855
|
-
_cache[
|
|
1958
|
+
])])])) : unref(fetchingAttachments) ? (openBlock(), createElementBlock(Fragment, { key: 4 }, [createCommentVNode(" Loading State "), createElementVNode("div", _hoisted_66, [_cache[29] || (_cache[29] = createElementVNode("div", { class: "flex justify-center" }, [createElementVNode("span", { class: "loading loading-spinner loading-md" })], -1)), createElementVNode("p", _hoisted_67, toDisplayString(config.value.loadingText || "Loading attachments..."), 1)])], 2112)) : !isUploading.value ? (openBlock(), createElementBlock(Fragment, { key: 5 }, [createCommentVNode(" Empty State "), createElementVNode("div", _hoisted_68, [
|
|
1959
|
+
_cache[30] || (_cache[30] = createElementVNode("svg", {
|
|
1856
1960
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1857
1961
|
class: "h-12 w-12 mx-auto mb-3 text-base-content/30",
|
|
1858
1962
|
fill: "none",
|
|
@@ -1864,17 +1968,44 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1864
1968
|
"stroke-width": "2",
|
|
1865
1969
|
d: "M9 13h6m-3-3v6m5 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
|
|
1866
1970
|
})], -1)),
|
|
1867
|
-
createElementVNode("p",
|
|
1971
|
+
createElementVNode("p", _hoisted_69, toDisplayString(config.value.emptyText || "No attachments yet"), 1),
|
|
1868
1972
|
createCommentVNode(" Desktop instruction "),
|
|
1869
|
-
createElementVNode("p",
|
|
1870
|
-
])], 2112)) : unref(attachmentsError) ? (openBlock(), createElementBlock(Fragment, { key: 6 }, [createCommentVNode(" Error State "), createElementVNode("div",
|
|
1973
|
+
createElementVNode("p", _hoisted_70, toDisplayString(config.value.instructionText || "Use the drag and drop area above to add files"), 1)
|
|
1974
|
+
])], 2112)) : unref(attachmentsError) ? (openBlock(), createElementBlock(Fragment, { key: 6 }, [createCommentVNode(" Error State "), createElementVNode("div", _hoisted_71, [createElementVNode("p", _hoisted_72, toDisplayString(config.value.errorText || "Failed to load attachments"), 1), createElementVNode("button", {
|
|
1871
1975
|
class: "btn btn-sm btn-outline mt-2",
|
|
1872
1976
|
onClick: refreshAttachments
|
|
1873
1977
|
}, toDisplayString(config.value.retryText || "Try Again"), 1)])], 2112)) : createCommentVNode("v-if", true),
|
|
1978
|
+
createCommentVNode(" Edit Attachment Modal "),
|
|
1979
|
+
createElementVNode("div", { class: normalizeClass(["modal", { "modal-open": showEditModal.value }]) }, [createElementVNode("div", _hoisted_73, [
|
|
1980
|
+
_cache[33] || (_cache[33] = createElementVNode("h3", { class: "font-bold text-lg" }, "Edit Attachment", -1)),
|
|
1981
|
+
createElementVNode("div", _hoisted_74, [createElementVNode("label", _hoisted_75, [_cache[31] || (_cache[31] = createElementVNode("span", { class: "label" }, [createElementVNode("span", { class: "label-text" }, "Title")], -1)), withDirectives(createElementVNode("input", {
|
|
1982
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => editTitle.value = $event),
|
|
1983
|
+
type: "text",
|
|
1984
|
+
placeholder: "Display title (optional)",
|
|
1985
|
+
class: "input input-bordered w-full"
|
|
1986
|
+
}, null, 512), [[vModelText, editTitle.value]])]), createElementVNode("label", _hoisted_76, [_cache[32] || (_cache[32] = createElementVNode("span", { class: "label" }, [createElementVNode("span", { class: "label-text" }, "Description")], -1)), withDirectives(createElementVNode("textarea", {
|
|
1987
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => editDescription.value = $event),
|
|
1988
|
+
placeholder: "Description (optional)",
|
|
1989
|
+
class: "textarea textarea-bordered w-full",
|
|
1990
|
+
rows: "3"
|
|
1991
|
+
}, null, 512), [[vModelText, editDescription.value]])])]),
|
|
1992
|
+
createElementVNode("div", _hoisted_77, [createElementVNode("button", {
|
|
1993
|
+
class: "btn",
|
|
1994
|
+
onClick: closeEditModal,
|
|
1995
|
+
disabled: unref(isUpdatingAttachment)
|
|
1996
|
+
}, toDisplayString(config.value.cancelText || "Cancel"), 9, _hoisted_78), createElementVNode("button", {
|
|
1997
|
+
class: "btn btn-primary",
|
|
1998
|
+
onClick: saveEditAttachment,
|
|
1999
|
+
disabled: unref(isUpdatingAttachment)
|
|
2000
|
+
}, toDisplayString(unref(isUpdatingAttachment) ? "Saving..." : "Save"), 9, _hoisted_79)])
|
|
2001
|
+
]), createElementVNode("div", {
|
|
2002
|
+
class: "modal-backdrop",
|
|
2003
|
+
onClick: closeEditModal
|
|
2004
|
+
})], 2),
|
|
1874
2005
|
createCommentVNode(" Create Folder Modal "),
|
|
1875
2006
|
createVNode(InputModal_default, {
|
|
1876
2007
|
modelValue: showCreateFolderModal.value,
|
|
1877
|
-
"onUpdate:modelValue": _cache[
|
|
2008
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => showCreateFolderModal.value = $event),
|
|
1878
2009
|
title: config.value.createFolderTitle || "Create New Folder",
|
|
1879
2010
|
label: config.value.folderNameLabel || "Folder Name",
|
|
1880
2011
|
placeholder: "Enter folder name",
|
|
@@ -1891,14 +2022,14 @@ const _sfc_main$18 = /* @__PURE__ */ defineComponent({
|
|
|
1891
2022
|
createCommentVNode(" Delete Confirmation Modal "),
|
|
1892
2023
|
createVNode(ConfirmDialog_default, {
|
|
1893
2024
|
modelValue: showDeleteModal.value,
|
|
1894
|
-
"onUpdate:modelValue": _cache[
|
|
2025
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => showDeleteModal.value = $event),
|
|
1895
2026
|
title: config.value.deleteTitle || "Confirm Deletion",
|
|
1896
2027
|
"confirm-text": config.value.confirmDeleteText || "Delete",
|
|
1897
2028
|
"cancel-text": config.value.cancelText || "Cancel",
|
|
1898
2029
|
"confirm-button-class": "btn-error",
|
|
1899
2030
|
onConfirm: deleteFile
|
|
1900
2031
|
}, {
|
|
1901
|
-
message: withCtx(() => [createElementVNode("p",
|
|
2032
|
+
message: withCtx(() => [createElementVNode("p", _hoisted_80, toDisplayString(config.value.deleteMessage || "Are you sure you want to delete this file? This action cannot be undone."), 1), fileToDelete.value ? (openBlock(), createElementBlock("div", _hoisted_81, [createElementVNode("div", _hoisted_82, [createElementVNode("div", { class: normalizeClass(["badge badge-sm", getFileTypeBadgeClass(fileToDelete.value.type)]) }, toDisplayString(getFileTypeLabel(fileToDelete.value.type)), 3), createElementVNode("span", _hoisted_83, toDisplayString(fileToDelete.value.name), 1)]), createElementVNode("div", _hoisted_84, [createElementVNode("div", null, [_cache[34] || (_cache[34] = createElementVNode("span", { class: "font-medium" }, "Size:", -1)), createTextVNode(" " + toDisplayString(formatFileSize(fileToDelete.value.size)), 1)]), createElementVNode("div", null, [_cache[35] || (_cache[35] = createElementVNode("span", { class: "font-medium" }, "Uploaded:", -1)), createTextVNode(" " + toDisplayString(formatDate(fileToDelete.value.uploadedAt)), 1)])])])) : createCommentVNode("v-if", true)]),
|
|
1902
2033
|
_: 1
|
|
1903
2034
|
}, 8, [
|
|
1904
2035
|
"modelValue",
|
|
@@ -4629,7 +4760,7 @@ const adminRoutes = [{
|
|
|
4629
4760
|
{
|
|
4630
4761
|
path: "credit-management",
|
|
4631
4762
|
name: "CreditManagement",
|
|
4632
|
-
component: () => import("./CreditManagement-
|
|
4763
|
+
component: () => import("./CreditManagement-B4aHJfOo.js"),
|
|
4633
4764
|
meta: {
|
|
4634
4765
|
title: "Credit Management",
|
|
4635
4766
|
description: "Manage customer credits and allocations",
|
|
@@ -4696,7 +4827,7 @@ const creditRoutes = [{
|
|
|
4696
4827
|
children: [{
|
|
4697
4828
|
path: creditPaths.credit_balance.path,
|
|
4698
4829
|
name: creditPaths.credit_balance.name,
|
|
4699
|
-
component: () => import("./CreditBalanceDashboard-
|
|
4830
|
+
component: () => import("./CreditBalanceDashboard-D370HlpF.js"),
|
|
4700
4831
|
meta: {
|
|
4701
4832
|
title: "Credit Balance",
|
|
4702
4833
|
description: "View your current credit balance and history.",
|
|
@@ -4714,4 +4845,4 @@ const creditRoutes = [{
|
|
|
4714
4845
|
|
|
4715
4846
|
//#endregion
|
|
4716
4847
|
export { DragoncoreVue as $, userAlreadyLoggedIn as A, Auth_default as B, customerSupportTicketRowSchemaWithMetadata as C, teamFiltersSchemaWithMetadata as D, teamMemberFiltersSchemaWithMetadata as E, FieldGroup_default as F, useBuildTag as G, UnverifiedEmailBanner_default as H, FieldDisplay_default as I, Navbar_default as J, RightSidebar_default as K, Legal_default as L, SummarySection_default as M, KeyValueEditor_default as N, TeamAttachmentsTab_default as O, FileManager_default as P, AppTabNavigation_default as Q, InApp_default as R, CustomerSupportTicketList_default as S, SupportTicketTimeline_default as T, useEmailVerificationGuard as U, Admin_default as V, Sidebar_default as W, InputModal_default as X, LoginButton_default as Y, AppHeader_default as Z, ConvertToCustomerWorkflow_default as _, authPaths as a, ApproveRejectActions_default as b, useSupportTicketStatus as c, SupportTicketAttachments_default as d, CreditBalanceWidget_default as f, ConvertToInternalWorkflow_default as g, ReactivateInternalTaskWorkflow_default as h, SocialLoginButtons_default as i, timezones as j, userRoutes as k, useSupportTicketPermissions as l, adminSupportTicketRowSchemaWithMetadata as m, creditRoutes as n, authRoutes as o, StaffSupportTicketList_default as p, NotFound_default as q, adminRoutes as r, getAuthRoutes as s, creditPaths as t, adminSupportTicketFiltersSchemaWithMetadata as u, CompleteSupportTicketForm_default as v, SupportTicketStatusBadge_default as w, CustomerCreditBalance_default as x, CancelInternalTaskWorkflow_default as y, Default_default as z };
|
|
4717
|
-
//# sourceMappingURL=src-
|
|
4848
|
+
//# sourceMappingURL=src-BXO0PrFd.js.map
|