@oxyhq/services 6.9.44 → 6.9.45

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.
Files changed (160) hide show
  1. package/lib/commonjs/ui/components/OxyPayButton.js +4 -2
  2. package/lib/commonjs/ui/components/OxyPayButton.js.map +1 -1
  3. package/lib/commonjs/ui/components/OxySignInButton.js +83 -82
  4. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
  5. package/lib/commonjs/ui/components/SettingRow.js +11 -5
  6. package/lib/commonjs/ui/components/SettingRow.js.map +1 -1
  7. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +76 -121
  8. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  9. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +32 -18
  10. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
  11. package/lib/commonjs/ui/components/icon/OxyIcon.js +5 -4
  12. package/lib/commonjs/ui/components/icon/OxyIcon.js.map +1 -1
  13. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js +11 -9
  14. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js.map +1 -1
  15. package/lib/commonjs/ui/components/internal/PinInput.js +3 -2
  16. package/lib/commonjs/ui/components/internal/PinInput.js.map +1 -1
  17. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +83 -219
  18. package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
  19. package/lib/commonjs/ui/constants/theme.js +2 -2
  20. package/lib/commonjs/ui/constants/theme.js.map +1 -1
  21. package/lib/commonjs/ui/screens/AccountCenterScreen.js +12 -10
  22. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
  23. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +70 -79
  24. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
  25. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +22 -10
  26. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  27. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +141 -81
  28. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
  29. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +21 -9
  30. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
  31. package/lib/commonjs/ui/screens/FileManagementScreen.js +83 -50
  32. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  33. package/lib/commonjs/ui/screens/HistoryViewScreen.js +80 -101
  34. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
  35. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +66 -93
  36. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  37. package/lib/commonjs/ui/screens/SessionManagementScreen.js +101 -66
  38. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -1
  39. package/lib/commonjs/ui/utils/fileManagement.js +0 -21
  40. package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
  41. package/lib/module/ui/components/OxyPayButton.js +4 -2
  42. package/lib/module/ui/components/OxyPayButton.js.map +1 -1
  43. package/lib/module/ui/components/OxySignInButton.js +84 -83
  44. package/lib/module/ui/components/OxySignInButton.js.map +1 -1
  45. package/lib/module/ui/components/SettingRow.js +11 -5
  46. package/lib/module/ui/components/SettingRow.js.map +1 -1
  47. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +76 -122
  48. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
  49. package/lib/module/ui/components/fileManagement/UploadPreview.js +32 -19
  50. package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
  51. package/lib/module/ui/components/icon/OxyIcon.js +5 -4
  52. package/lib/module/ui/components/icon/OxyIcon.js.map +1 -1
  53. package/lib/module/ui/components/internal/GroupedPillButtons.js +11 -9
  54. package/lib/module/ui/components/internal/GroupedPillButtons.js.map +1 -1
  55. package/lib/module/ui/components/internal/PinInput.js +3 -2
  56. package/lib/module/ui/components/internal/PinInput.js.map +1 -1
  57. package/lib/module/ui/components/modals/DeleteAccountModal.js +83 -220
  58. package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
  59. package/lib/module/ui/constants/theme.js +2 -2
  60. package/lib/module/ui/constants/theme.js.map +1 -1
  61. package/lib/module/ui/screens/AccountCenterScreen.js +11 -10
  62. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
  63. package/lib/module/ui/screens/AccountOverviewScreen.js +71 -80
  64. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
  65. package/lib/module/ui/screens/AccountSettingsScreen.js +22 -10
  66. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  67. package/lib/module/ui/screens/AccountSwitcherScreen.js +140 -81
  68. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
  69. package/lib/module/ui/screens/AccountVerificationScreen.js +22 -10
  70. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
  71. package/lib/module/ui/screens/FileManagementScreen.js +85 -52
  72. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  73. package/lib/module/ui/screens/HistoryViewScreen.js +80 -101
  74. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
  75. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +66 -94
  76. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
  77. package/lib/module/ui/screens/SessionManagementScreen.js +101 -67
  78. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -1
  79. package/lib/module/ui/utils/fileManagement.js +0 -20
  80. package/lib/module/ui/utils/fileManagement.js.map +1 -1
  81. package/lib/typescript/commonjs/ui/components/OxyPayButton.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +0 -1
  83. package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
  84. package/lib/typescript/commonjs/ui/components/SettingRow.d.ts +2 -2
  85. package/lib/typescript/commonjs/ui/components/SettingRow.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts +3 -4
  87. package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts +2 -3
  89. package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/ui/components/icon/OxyIcon.d.ts.map +1 -1
  91. package/lib/typescript/commonjs/ui/components/internal/GroupedPillButtons.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/ui/components/internal/PinInput.d.ts.map +1 -1
  93. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts +2 -2
  94. package/lib/typescript/commonjs/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  95. package/lib/typescript/commonjs/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/ui/screens/SessionManagementScreen.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +0 -4
  105. package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
  106. package/lib/typescript/module/ui/components/OxyPayButton.d.ts.map +1 -1
  107. package/lib/typescript/module/ui/components/OxySignInButton.d.ts +0 -1
  108. package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
  109. package/lib/typescript/module/ui/components/SettingRow.d.ts +2 -2
  110. package/lib/typescript/module/ui/components/SettingRow.d.ts.map +1 -1
  111. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts +3 -4
  112. package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
  113. package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts +2 -3
  114. package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
  115. package/lib/typescript/module/ui/components/icon/OxyIcon.d.ts.map +1 -1
  116. package/lib/typescript/module/ui/components/internal/GroupedPillButtons.d.ts.map +1 -1
  117. package/lib/typescript/module/ui/components/internal/PinInput.d.ts.map +1 -1
  118. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts +2 -2
  119. package/lib/typescript/module/ui/components/modals/DeleteAccountModal.d.ts.map +1 -1
  120. package/lib/typescript/module/ui/screens/AccountCenterScreen.d.ts.map +1 -1
  121. package/lib/typescript/module/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
  122. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  123. package/lib/typescript/module/ui/screens/AccountSwitcherScreen.d.ts.map +1 -1
  124. package/lib/typescript/module/ui/screens/AccountVerificationScreen.d.ts.map +1 -1
  125. package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
  126. package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
  127. package/lib/typescript/module/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
  128. package/lib/typescript/module/ui/screens/SessionManagementScreen.d.ts.map +1 -1
  129. package/lib/typescript/module/ui/utils/fileManagement.d.ts +0 -4
  130. package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
  131. package/package.json +2 -2
  132. package/src/ui/components/OxyPayButton.tsx +5 -3
  133. package/src/ui/components/OxySignInButton.tsx +82 -81
  134. package/src/ui/components/SettingRow.tsx +14 -7
  135. package/src/ui/components/fileManagement/FileDetailsModal.tsx +69 -99
  136. package/src/ui/components/fileManagement/UploadPreview.tsx +58 -46
  137. package/src/ui/components/icon/OxyIcon.tsx +5 -4
  138. package/src/ui/components/internal/GroupedPillButtons.tsx +15 -12
  139. package/src/ui/components/internal/PinInput.tsx +4 -3
  140. package/src/ui/components/modals/DeleteAccountModal.tsx +79 -221
  141. package/src/ui/constants/theme.ts +2 -2
  142. package/src/ui/screens/AccountCenterScreen.tsx +34 -136
  143. package/src/ui/screens/AccountOverviewScreen.tsx +63 -98
  144. package/src/ui/screens/AccountSettingsScreen.tsx +21 -7
  145. package/src/ui/screens/AccountSwitcherScreen.tsx +135 -87
  146. package/src/ui/screens/AccountVerificationScreen.tsx +24 -16
  147. package/src/ui/screens/FileManagementScreen.tsx +62 -54
  148. package/src/ui/screens/HistoryViewScreen.tsx +57 -204
  149. package/src/ui/screens/PremiumSubscriptionScreen.tsx +73 -93
  150. package/src/ui/screens/SessionManagementScreen.tsx +101 -73
  151. package/src/ui/utils/fileManagement.ts +0 -30
  152. package/lib/commonjs/ui/utils/confirmAction.js +0 -28
  153. package/lib/commonjs/ui/utils/confirmAction.js.map +0 -1
  154. package/lib/module/ui/utils/confirmAction.js +0 -25
  155. package/lib/module/ui/utils/confirmAction.js.map +0 -1
  156. package/lib/typescript/commonjs/ui/utils/confirmAction.d.ts +0 -7
  157. package/lib/typescript/commonjs/ui/utils/confirmAction.d.ts.map +0 -1
  158. package/lib/typescript/module/ui/utils/confirmAction.d.ts +0 -7
  159. package/lib/typescript/module/ui/utils/confirmAction.d.ts.map +0 -1
  160. package/src/ui/utils/confirmAction.ts +0 -23
@@ -8,6 +8,8 @@ var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _expoImage = require("expo-image");
10
10
  var _sonner = require("../../lib/sonner");
11
+ var _prompt = _interopRequireWildcard(require("@oxyhq/bloom/prompt"));
12
+ var Prompt = _prompt;
11
13
  var _vectorIcons = require("@expo/vector-icons");
12
14
  var _fileStore = require("../stores/fileStore.js");
13
15
  var _Header = _interopRequireDefault(require("../components/Header.js"));
@@ -21,6 +23,7 @@ var _fileManagement = require("../utils/fileManagement.js");
21
23
  var _FileViewer = require("../components/fileManagement/FileViewer.js");
22
24
  var _FileDetailsModal = require("../components/fileManagement/FileDetailsModal.js");
23
25
  var _UploadPreview = require("../components/fileManagement/UploadPreview.js");
26
+ var _dialog = require("@oxyhq/bloom/dialog");
24
27
  var _styles = require("../components/fileManagement/styles.js");
25
28
  var _jsxRuntime = require("react/jsx-runtime");
26
29
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -115,6 +118,11 @@ const FileManagementScreen = ({
115
118
  t
116
119
  } = (0, _useI18n.useI18n)();
117
120
  const uploadFileMutation = (0, _useAccountMutations.useUploadFile)();
121
+ // Prompt controls
122
+ const fileDeletePrompt = (0, _prompt.usePromptControl)();
123
+ const bulkDeletePrompt = (0, _prompt.usePromptControl)();
124
+ const visibilityChangePrompt = (0, _prompt.usePromptControl)();
125
+ const [pendingDeleteFile, setPendingDeleteFile] = (0, _react.useState)(null);
118
126
  const files = (0, _fileStore.useFiles)();
119
127
  // Ensure containerWidth is a number (TypeScript guard)
120
128
  const safeContainerWidth = typeof containerWidth === 'number' ? containerWidth : 400;
@@ -131,7 +139,7 @@ const FileManagementScreen = ({
131
139
  loadingMore: false
132
140
  });
133
141
  const [selectedFile, setSelectedFile] = (0, _react.useState)(null);
134
- const [showFileDetails, setShowFileDetails] = (0, _react.useState)(false);
142
+ const fileDetailsControl = (0, _dialog.useDialogControl)();
135
143
  // In selectMode we never open the detailed viewer
136
144
  const [openedFile, setOpenedFile] = (0, _react.useState)(null);
137
145
  const [fileContent, setFileContent] = (0, _react.useState)(null);
@@ -870,14 +878,18 @@ const FileManagementScreen = ({
870
878
  setIsPickingDocument(false);
871
879
  }
872
880
  };
873
- const handleFileDelete = async (fileId, filename) => {
874
- // Use platform-aware confirmation dialog
875
- const confirmed = await (0, _fileManagement.confirmAction)(t('fileManagement.confirms.deleteFile', {
876
- filename
877
- }), t('fileManagement.deleteFile'), t('fileManagement.confirm'), t('common.cancel'));
878
- if (!confirmed) {
879
- return;
880
- }
881
+ const confirmFileDelete = (0, _react.useCallback)((fileId, filename) => {
882
+ setPendingDeleteFile({
883
+ id: fileId,
884
+ name: filename
885
+ });
886
+ fileDeletePrompt.open();
887
+ }, [fileDeletePrompt]);
888
+ const handleFileDelete = (0, _react.useCallback)(async () => {
889
+ if (!pendingDeleteFile) return;
890
+ const {
891
+ id: fileId
892
+ } = pendingDeleteFile;
881
893
  try {
882
894
  storeSetDeleting(fileId);
883
895
  await oxyServices.deleteFile(fileId);
@@ -901,19 +913,15 @@ const FileManagementScreen = ({
901
913
  }
902
914
  } finally {
903
915
  storeSetDeleting(null);
916
+ setPendingDeleteFile(null);
904
917
  }
905
- };
918
+ }, [pendingDeleteFile, storeSetDeleting, oxyServices, loadFiles, t]);
919
+ const confirmBulkDelete = (0, _react.useCallback)(() => {
920
+ if (selectedIds.size === 0) return;
921
+ bulkDeletePrompt.open();
922
+ }, [selectedIds.size, bulkDeletePrompt]);
906
923
  const handleBulkDelete = (0, _react.useCallback)(async () => {
907
924
  if (selectedIds.size === 0) return;
908
- const fileMap = {};
909
- files.forEach(f => {
910
- fileMap[f.id] = f;
911
- });
912
- const selectedFiles = Array.from(selectedIds).map(id => fileMap[id]).filter(Boolean);
913
- const confirmed = await (0, _fileManagement.confirmAction)(t('fileManagement.confirms.deleteFiles', {
914
- count: selectedFiles.length
915
- }), t('fileManagement.deleteFiles'), t('fileManagement.confirm'), t('common.cancel'));
916
- if (!confirmed) return;
917
925
  try {
918
926
  const deletePromises = Array.from(selectedIds).map(async fileId => {
919
927
  try {
@@ -1088,7 +1096,7 @@ const FileManagementScreen = ({
1088
1096
  };
1089
1097
  const showFileDetailsModal = file => {
1090
1098
  setSelectedFile(file);
1091
- setShowFileDetails(true);
1099
+ fileDetailsControl.open();
1092
1100
  };
1093
1101
  const renderSimplePhotoItem = (0, _react.useCallback)((photo, index) => {
1094
1102
  const downloadUrl = getSafeDownloadUrlCallback(photo, 'thumb');
@@ -1332,9 +1340,7 @@ const FileManagementScreen = ({
1332
1340
  style: [_styles.fileManagementStyles.actionButton, {
1333
1341
  backgroundColor: bloomTheme.isDark ? '#400000' : '#FFEBEE'
1334
1342
  }],
1335
- onPress: () => {
1336
- handleFileDelete(file.id, file.filename);
1337
- },
1343
+ onPress: () => confirmFileDelete(file.id, file.filename),
1338
1344
  disabled: deleting === file.id,
1339
1345
  children: deleting === file.id ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
1340
1346
  size: "small",
@@ -1511,7 +1517,7 @@ const FileManagementScreen = ({
1511
1517
  style: [_styles.fileManagementStyles.groupedActionBtn, {
1512
1518
  backgroundColor: bloomTheme.isDark ? '#400000' : '#FFEBEE'
1513
1519
  }],
1514
- onPress: () => handleFileDelete(file.id, file.filename),
1520
+ onPress: () => confirmFileDelete(file.id, file.filename),
1515
1521
  disabled: deleting === file.id,
1516
1522
  children: deleting === file.id ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
1517
1523
  size: "small",
@@ -1532,7 +1538,7 @@ const FileManagementScreen = ({
1532
1538
  }) : undefined
1533
1539
  };
1534
1540
  });
1535
- }, [filteredFiles, theme, deleting, handleFileDownload, handleFileDelete, handleFileOpen, getSafeDownloadUrlCallback, selectMode, selectedIds]);
1541
+ }, [filteredFiles, theme, deleting, handleFileDownload, confirmFileDelete, handleFileOpen, getSafeDownloadUrlCallback, selectMode, selectedIds]);
1536
1542
 
1537
1543
  // Scroll to selected file after selection
1538
1544
  (0, _react.useEffect)(() => {
@@ -2008,14 +2014,13 @@ const FileManagementScreen = ({
2008
2014
  onToggleDetails: () => setShowFileDetailsInViewer(!showFileDetailsInViewer),
2009
2015
  onClose: handleCloseFile,
2010
2016
  onDownload: handleFileDownload,
2011
- onDelete: handleFileDelete,
2017
+ onDelete: confirmFileDelete,
2012
2018
  isOwner: user?.id === targetUserId
2013
2019
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_FileDetailsModal.FileDetailsModal, {
2014
- visible: showFileDetails,
2020
+ control: fileDetailsControl,
2015
2021
  file: selectedFile,
2016
- onClose: () => setShowFileDetails(false),
2017
2022
  onDownload: handleFileDownload,
2018
- onDelete: handleFileDelete,
2023
+ onDelete: confirmFileDelete,
2019
2024
  isOwner: user?.id === targetUserId
2020
2025
  })]
2021
2026
  });
@@ -2036,7 +2041,6 @@ const FileManagementScreen = ({
2036
2041
  elevation: "none",
2037
2042
  titleAlignment: "left"
2038
2043
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_UploadPreview.UploadPreview, {
2039
- visible: true,
2040
2044
  pendingFiles: pendingFiles,
2041
2045
  onConfirm: handleConfirmUpload,
2042
2046
  onCancel: handleCancelUpload,
@@ -2080,28 +2084,13 @@ const FileManagementScreen = ({
2080
2084
  text: t('fileManagement.delete', {
2081
2085
  count: selectedIds.size
2082
2086
  }),
2083
- onPress: handleBulkDelete,
2087
+ onPress: confirmBulkDelete,
2084
2088
  icon: 'delete'
2085
2089
  }, {
2086
2090
  key: 'visibility',
2087
2091
  text: t('fileManagement.visibility'),
2088
2092
  onPress: () => {
2089
- // Show visibility options menu
2090
- _reactNative.Alert.alert(t('fileManagement.changeVisibility'), t('fileManagement.changeVisibilityConfirm', {
2091
- count: selectedIds.size
2092
- }), [{
2093
- text: t('common.cancel'),
2094
- style: 'cancel'
2095
- }, {
2096
- text: t('fileManagement.private'),
2097
- onPress: () => handleBulkVisibilityChange('private')
2098
- }, {
2099
- text: t('fileManagement.public'),
2100
- onPress: () => handleBulkVisibilityChange('public')
2101
- }, {
2102
- text: t('fileManagement.unlisted'),
2103
- onPress: () => handleBulkVisibilityChange('unlisted')
2104
- }]);
2093
+ visibilityChangePrompt.open();
2105
2094
  },
2106
2095
  icon: 'eye'
2107
2096
  }] : undefined,
@@ -2346,11 +2335,10 @@ const FileManagementScreen = ({
2346
2335
  })]
2347
2336
  })
2348
2337
  }), !selectMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_FileDetailsModal.FileDetailsModal, {
2349
- visible: showFileDetails,
2338
+ control: fileDetailsControl,
2350
2339
  file: selectedFile,
2351
- onClose: () => setShowFileDetails(false),
2352
2340
  onDownload: handleFileDownload,
2353
- onDelete: handleFileDelete,
2341
+ onDelete: confirmFileDelete,
2354
2342
  isOwner: user?.id === targetUserId
2355
2343
  }), !selectMode && uploading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
2356
2344
  style: [_styles.fileManagementStyles.uploadBannerContainer, {
@@ -2388,6 +2376,51 @@ const FileManagementScreen = ({
2388
2376
  color: colors.primary
2389
2377
  })]
2390
2378
  })
2379
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Prompt.Basic, {
2380
+ control: fileDeletePrompt,
2381
+ title: t('fileManagement.deleteFile') || 'Delete File',
2382
+ description: pendingDeleteFile ? t('fileManagement.confirms.deleteFile', {
2383
+ filename: pendingDeleteFile.name
2384
+ }) : '',
2385
+ onConfirm: handleFileDelete,
2386
+ confirmButtonCta: t('fileManagement.confirm') || 'Delete',
2387
+ confirmButtonColor: "negative"
2388
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Prompt.Basic, {
2389
+ control: bulkDeletePrompt,
2390
+ title: t('fileManagement.deleteFiles') || 'Delete Files',
2391
+ description: t('fileManagement.confirms.deleteFiles', {
2392
+ count: selectedIds.size
2393
+ }),
2394
+ onConfirm: handleBulkDelete,
2395
+ confirmButtonCta: t('fileManagement.confirm') || 'Delete',
2396
+ confirmButtonColor: "negative"
2397
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Prompt.Outer, {
2398
+ control: visibilityChangePrompt,
2399
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Prompt.Content, {
2400
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Prompt.TitleText, {
2401
+ children: t('fileManagement.changeVisibility') || 'Change Visibility'
2402
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Prompt.DescriptionText, {
2403
+ children: t('fileManagement.changeVisibilityConfirm', {
2404
+ count: selectedIds.size
2405
+ })
2406
+ })]
2407
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Prompt.Actions, {
2408
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Prompt.Action, {
2409
+ cta: t('fileManagement.private') || 'Private',
2410
+ onPress: () => handleBulkVisibilityChange('private'),
2411
+ color: "primary"
2412
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Prompt.Action, {
2413
+ cta: t('fileManagement.public') || 'Public',
2414
+ onPress: () => handleBulkVisibilityChange('public'),
2415
+ color: "primary_subtle"
2416
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Prompt.Action, {
2417
+ cta: t('fileManagement.unlisted') || 'Unlisted',
2418
+ onPress: () => handleBulkVisibilityChange('unlisted'),
2419
+ color: "primary_subtle"
2420
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Prompt.Cancel, {
2421
+ cta: t('common.cancel') || 'Cancel'
2422
+ })]
2423
+ })]
2391
2424
  })]
2392
2425
  });
2393
2426
  };