@oxy.so/services 11.8.0 → 11.10.0
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/lib/commonjs/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/commonjs/assets/assets/fonts/icons/manifest.json +5 -4
- package/lib/commonjs/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/commonjs/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/commonjs/assets/fonts/icons/manifest.json +5 -4
- package/lib/commonjs/index.js +28 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/AccountInvitationAcceptance.js +97 -0
- package/lib/commonjs/ui/components/AccountInvitationAcceptance.js.map +1 -0
- package/lib/commonjs/ui/components/DisplayCurrencySelector.js +49 -0
- package/lib/commonjs/ui/components/DisplayCurrencySelector.js.map +1 -0
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js +2 -1
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js +3 -1
- package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useFileQueries.js +39 -17
- package/lib/commonjs/ui/hooks/queries/useFileQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/useDisplayCurrency.js +77 -0
- package/lib/commonjs/ui/hooks/useDisplayCurrency.js.map +1 -0
- package/lib/commonjs/ui/hooks/useDisplayPrice.js +59 -0
- package/lib/commonjs/ui/hooks/useDisplayPrice.js.map +1 -0
- package/lib/commonjs/ui/icons/subsetGlyphMaps.js +1 -0
- package/lib/commonjs/ui/icons/subsetGlyphMaps.js.map +1 -1
- package/lib/commonjs/ui/navigation/routes.js +1 -0
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/navigation/surfaceRegistry.js +2 -2
- package/lib/commonjs/ui/navigation/surfaceRegistry.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountMembersScreen.js +63 -20
- package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +102 -44
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileTrashScreen.js +235 -0
- package/lib/commonjs/ui/screens/FileTrashScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/PreferencesScreen.js +4 -3
- package/lib/commonjs/ui/screens/PreferencesScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/trashActions.js +147 -0
- package/lib/commonjs/ui/screens/fileManagement/trashActions.js.map +1 -0
- package/lib/commonjs/ui/stores/assetStore.js +22 -7
- package/lib/commonjs/ui/stores/assetStore.js.map +1 -1
- package/lib/module/assets/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/module/assets/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/module/assets/assets/fonts/icons/manifest.json +5 -4
- package/lib/module/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/lib/module/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/lib/module/assets/fonts/icons/manifest.json +5 -4
- package/lib/module/index.js +4 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/AccountInvitationAcceptance.js +94 -0
- package/lib/module/ui/components/AccountInvitationAcceptance.js.map +1 -0
- package/lib/module/ui/components/DisplayCurrencySelector.js +44 -0
- package/lib/module/ui/components/DisplayCurrencySelector.js.map +1 -0
- package/lib/module/ui/components/fileManagement/FileViewer.js +2 -1
- package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/module/ui/hooks/queries/queryKeys.js +3 -1
- package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -1
- package/lib/module/ui/hooks/queries/useFileQueries.js +38 -17
- package/lib/module/ui/hooks/queries/useFileQueries.js.map +1 -1
- package/lib/module/ui/hooks/useDisplayCurrency.js +72 -0
- package/lib/module/ui/hooks/useDisplayCurrency.js.map +1 -0
- package/lib/module/ui/hooks/useDisplayPrice.js +56 -0
- package/lib/module/ui/hooks/useDisplayPrice.js.map +1 -0
- package/lib/module/ui/icons/subsetGlyphMaps.js +1 -0
- package/lib/module/ui/icons/subsetGlyphMaps.js.map +1 -1
- package/lib/module/ui/navigation/routes.js +1 -0
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/navigation/surfaceRegistry.js +2 -2
- package/lib/module/ui/navigation/surfaceRegistry.js.map +1 -1
- package/lib/module/ui/screens/AccountMembersScreen.js +63 -20
- package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +102 -44
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/FileTrashScreen.js +232 -0
- package/lib/module/ui/screens/FileTrashScreen.js.map +1 -0
- package/lib/module/ui/screens/PreferencesScreen.js +4 -3
- package/lib/module/ui/screens/PreferencesScreen.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/trashActions.js +138 -0
- package/lib/module/ui/screens/fileManagement/trashActions.js.map +1 -0
- package/lib/module/ui/stores/assetStore.js +22 -7
- package/lib/module/ui/stores/assetStore.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +4 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/AccountInvitationAcceptance.d.ts +5 -0
- package/lib/typescript/commonjs/ui/components/AccountInvitationAcceptance.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/DisplayCurrencySelector.d.ts +3 -0
- package/lib/typescript/commonjs/ui/components/DisplayCurrencySelector.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts +3 -0
- package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +7 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts +2 -0
- package/lib/typescript/commonjs/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts +22 -6
- package/lib/typescript/commonjs/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/usePersonalPlans.d.ts +2 -1
- package/lib/typescript/commonjs/ui/hooks/queries/usePersonalPlans.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useDisplayCurrency.d.ts +11 -0
- package/lib/typescript/commonjs/ui/hooks/useDisplayCurrency.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hooks/useDisplayPrice.d.ts +6 -0
- package/lib/typescript/commonjs/ui/hooks/useDisplayPrice.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts +1 -1
- package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts +1 -0
- package/lib/typescript/commonjs/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts +2 -0
- package/lib/typescript/commonjs/ui/navigation/surfaceRegistry.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FileTrashScreen.d.ts +14 -0
- package/lib/typescript/commonjs/ui/screens/FileTrashScreen.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/PreferencesScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/fileManagement/trashActions.d.ts +66 -0
- package/lib/typescript/commonjs/ui/screens/fileManagement/trashActions.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/stores/assetStore.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +4 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/AccountInvitationAcceptance.d.ts +5 -0
- package/lib/typescript/module/ui/components/AccountInvitationAcceptance.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/DisplayCurrencySelector.d.ts +3 -0
- package/lib/typescript/module/ui/components/DisplayCurrencySelector.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts +3 -0
- package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +7 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts +2 -0
- package/lib/typescript/module/ui/hooks/queries/queryKeys.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts +22 -6
- package/lib/typescript/module/ui/hooks/queries/useFileQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/usePersonalPlans.d.ts +2 -1
- package/lib/typescript/module/ui/hooks/queries/usePersonalPlans.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useDisplayCurrency.d.ts +11 -0
- package/lib/typescript/module/ui/hooks/useDisplayCurrency.d.ts.map +1 -0
- package/lib/typescript/module/ui/hooks/useDisplayPrice.d.ts +6 -0
- package/lib/typescript/module/ui/hooks/useDisplayPrice.d.ts.map +1 -0
- package/lib/typescript/module/ui/icons/Ionicons.d.ts +1 -1
- package/lib/typescript/module/ui/icons/Ionicons.d.ts.map +1 -1
- package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts +1 -0
- package/lib/typescript/module/ui/icons/subsetGlyphMaps.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts +2 -0
- package/lib/typescript/module/ui/navigation/surfaceRegistry.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FileTrashScreen.d.ts +14 -0
- package/lib/typescript/module/ui/screens/FileTrashScreen.d.ts.map +1 -0
- package/lib/typescript/module/ui/screens/PreferencesScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/fileManagement/trashActions.d.ts +66 -0
- package/lib/typescript/module/ui/screens/fileManagement/trashActions.d.ts.map +1 -0
- package/lib/typescript/module/ui/stores/assetStore.d.ts.map +1 -1
- package/package.json +7 -5
- package/src/assets/fonts/icons/OxyServicesIonicons.ttf +0 -0
- package/src/assets/fonts/icons/OxyServicesMaterialCommunityIcons.ttf +0 -0
- package/src/assets/fonts/icons/manifest.json +5 -4
- package/src/index.ts +5 -0
- package/src/ui/components/AccountInvitationAcceptance.tsx +90 -0
- package/src/ui/components/DisplayCurrencySelector.tsx +38 -0
- package/src/ui/components/__tests__/AccountInvitationAcceptance.test.tsx +61 -0
- package/src/ui/components/fileManagement/FileViewer.tsx +5 -1
- package/src/ui/hooks/queries/__tests__/fileQueries.test.ts +70 -0
- package/src/ui/hooks/queries/queryKeys.ts +2 -0
- package/src/ui/hooks/queries/useFileQueries.ts +45 -16
- package/src/ui/hooks/useDisplayCurrency.ts +64 -0
- package/src/ui/hooks/useDisplayPrice.ts +40 -0
- package/src/ui/icons/subsetGlyphMaps.ts +1 -0
- package/src/ui/navigation/__tests__/getSurfaceConfig.test.ts +9 -0
- package/src/ui/navigation/routes.ts +2 -0
- package/src/ui/navigation/surfaceRegistry.ts +4 -1
- package/src/ui/screens/AccountMembersScreen.tsx +71 -27
- package/src/ui/screens/FileManagementScreen.tsx +142 -49
- package/src/ui/screens/FileTrashScreen.tsx +228 -0
- package/src/ui/screens/PreferencesScreen.tsx +2 -0
- package/src/ui/screens/fileManagement/__tests__/trashActions.test.ts +177 -0
- package/src/ui/screens/fileManagement/trashActions.ts +161 -0
- package/src/ui/stores/assetStore.ts +24 -13
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { Button } from '@oxy.so/bloom/button';
|
|
6
|
+
import { Text } from '@oxy.so/bloom/typography';
|
|
7
|
+
import { toast } from '@oxy.so/bloom/toast';
|
|
8
|
+
import { surfaces } from '@oxy.so/bloom/surfaces';
|
|
9
|
+
import { useTheme } from '@oxy.so/bloom/theme';
|
|
10
|
+
import { useQueryClient } from '@tanstack/react-query';
|
|
11
|
+
import Ionicons from "../icons/Ionicons.js";
|
|
12
|
+
import { useOxy } from "../context/OxyContext.js";
|
|
13
|
+
import { useI18n } from "../hooks/useI18n.js";
|
|
14
|
+
import { useSurfaceHeader } from "../hooks/useSurfaceHeader.js";
|
|
15
|
+
import { queryKeys } from "../hooks/queries/queryKeys.js";
|
|
16
|
+
import { removeFileFromCache, useUserFilesInfinite } from "../hooks/queries/useFileQueries.js";
|
|
17
|
+
import { formatFileSize, getFileIcon } from "../utils/fileManagement.js";
|
|
18
|
+
import FileListSection from "./fileManagement/FileListSection.js";
|
|
19
|
+
import FileLibraryError from "./fileManagement/FileLibraryError.js";
|
|
20
|
+
import { getErrorMessage } from "./fileManagement/shared.js";
|
|
21
|
+
import { deletePermanently, restoreFromTrash } from "./fileManagement/trashActions.js";
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The person's Trash (ADR 0043 D5): the files they moved to trash, most
|
|
25
|
+
* recently trashed first. Each can be restored — served again, back in the
|
|
26
|
+
* library — or deleted permanently, after a confirmation (and a second one when
|
|
27
|
+
* an app still uses it). An account's trash never expires, so nothing here
|
|
28
|
+
* disappears on its own; it still counts toward the account's storage.
|
|
29
|
+
*/
|
|
30
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
31
|
+
const FileTrashScreen = ({
|
|
32
|
+
userId
|
|
33
|
+
}) => {
|
|
34
|
+
const {
|
|
35
|
+
user,
|
|
36
|
+
oxyServices
|
|
37
|
+
} = useOxy();
|
|
38
|
+
const {
|
|
39
|
+
t
|
|
40
|
+
} = useI18n();
|
|
41
|
+
const {
|
|
42
|
+
colors
|
|
43
|
+
} = useTheme();
|
|
44
|
+
const queryClient = useQueryClient();
|
|
45
|
+
const ownerId = userId || user?.id;
|
|
46
|
+
const trashQuery = useUserFilesInfinite(ownerId, 'trash');
|
|
47
|
+
const files = useMemo(() => trashQuery.data?.pages.flatMap(page => page.files) ?? [], [trashQuery.data]);
|
|
48
|
+
const scrollViewRef = useRef(null);
|
|
49
|
+
// The file an action is in flight for: its buttons show progress.
|
|
50
|
+
const [busy, setBusy] = useState(null);
|
|
51
|
+
|
|
52
|
+
// Both lists change: a restored file returns to the library, a deleted one
|
|
53
|
+
// leaves the trash. `files.all` covers both keys.
|
|
54
|
+
const refreshFiles = useCallback(() => {
|
|
55
|
+
queryClient.invalidateQueries({
|
|
56
|
+
queryKey: queryKeys.files.all
|
|
57
|
+
});
|
|
58
|
+
}, [queryClient]);
|
|
59
|
+
const handleRestore = useCallback(async fileId => {
|
|
60
|
+
setBusy({
|
|
61
|
+
id: fileId,
|
|
62
|
+
restoring: true
|
|
63
|
+
});
|
|
64
|
+
try {
|
|
65
|
+
const outcome = await restoreFromTrash(oxyServices.assets, fileId);
|
|
66
|
+
if (outcome === 'restored') {
|
|
67
|
+
toast.success(t('fileManagement.toasts.restored'));
|
|
68
|
+
} else {
|
|
69
|
+
toast.error(t('fileManagement.toasts.notInTrash'));
|
|
70
|
+
}
|
|
71
|
+
removeFileFromCache(queryClient, ownerId, fileId, 'trash');
|
|
72
|
+
refreshFiles();
|
|
73
|
+
} catch (error) {
|
|
74
|
+
toast.error(getErrorMessage(error) || t('fileManagement.toasts.restoreFailed'));
|
|
75
|
+
} finally {
|
|
76
|
+
setBusy(null);
|
|
77
|
+
}
|
|
78
|
+
}, [oxyServices, queryClient, ownerId, refreshFiles, t]);
|
|
79
|
+
const handleDeleteForever = useCallback(async (fileId, filename) => {
|
|
80
|
+
const confirmed = await surfaces.confirm({
|
|
81
|
+
title: t('fileManagement.trashView.deleteForever'),
|
|
82
|
+
description: t('fileManagement.confirms.deleteForever', {
|
|
83
|
+
filename
|
|
84
|
+
}),
|
|
85
|
+
confirmLabel: t('fileManagement.trashView.deleteForever'),
|
|
86
|
+
cancelLabel: t('common.cancel') || 'Cancel',
|
|
87
|
+
destructive: true
|
|
88
|
+
});
|
|
89
|
+
if (!confirmed) return;
|
|
90
|
+
setBusy({
|
|
91
|
+
id: fileId,
|
|
92
|
+
restoring: false
|
|
93
|
+
});
|
|
94
|
+
try {
|
|
95
|
+
const outcome = await deletePermanently(oxyServices.assets, fileId, uses => surfaces.confirm({
|
|
96
|
+
title: t('fileManagement.trashView.deleteForever'),
|
|
97
|
+
description: t('fileManagement.confirms.deleteForeverInUse', {
|
|
98
|
+
filename,
|
|
99
|
+
count: uses
|
|
100
|
+
}),
|
|
101
|
+
confirmLabel: t('fileManagement.trashView.deleteForever'),
|
|
102
|
+
cancelLabel: t('common.cancel') || 'Cancel',
|
|
103
|
+
destructive: true
|
|
104
|
+
}));
|
|
105
|
+
if (outcome === 'cancelled') return;
|
|
106
|
+
if (outcome === 'deleted') toast.success(t('fileManagement.toasts.deletedForever'));
|
|
107
|
+
removeFileFromCache(queryClient, ownerId, fileId, 'trash');
|
|
108
|
+
refreshFiles();
|
|
109
|
+
} catch (error) {
|
|
110
|
+
toast.error(getErrorMessage(error) || t('fileManagement.toasts.deleteFailed'));
|
|
111
|
+
} finally {
|
|
112
|
+
setBusy(null);
|
|
113
|
+
}
|
|
114
|
+
}, [oxyServices, queryClient, ownerId, refreshFiles, t]);
|
|
115
|
+
const items = useMemo(() => files.map(file => {
|
|
116
|
+
const trashedOn = file.trashedAt ? new Date(file.trashedAt).toLocaleDateString() : null;
|
|
117
|
+
return {
|
|
118
|
+
id: file.id,
|
|
119
|
+
icon: /*#__PURE__*/_jsx(Ionicons, {
|
|
120
|
+
name: getFileIcon(file.contentType),
|
|
121
|
+
size: 20,
|
|
122
|
+
color: colors.primary
|
|
123
|
+
}),
|
|
124
|
+
title: file.filename,
|
|
125
|
+
description: trashedOn ? `${formatFileSize(file.length)} • ${t('fileManagement.trashView.trashedOn', {
|
|
126
|
+
date: trashedOn
|
|
127
|
+
})}` : formatFileSize(file.length),
|
|
128
|
+
// A trashed file is not served, so there is nothing to open.
|
|
129
|
+
onPress: () => {},
|
|
130
|
+
rightElement: /*#__PURE__*/_jsxs(View, {
|
|
131
|
+
className: "flex-row items-center gap-1.5 ml-3",
|
|
132
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
133
|
+
appearance: "subtle",
|
|
134
|
+
tone: "neutral",
|
|
135
|
+
size: "sm",
|
|
136
|
+
iconOnly: true,
|
|
137
|
+
stopPropagation: true,
|
|
138
|
+
disabled: busy !== null && busy.id !== file.id,
|
|
139
|
+
loading: busy?.id === file.id && busy.restoring,
|
|
140
|
+
accessibilityLabel: t('fileManagement.trashView.a11y.restore', {
|
|
141
|
+
name: file.filename
|
|
142
|
+
}),
|
|
143
|
+
onPress: () => handleRestore(file.id),
|
|
144
|
+
icon: /*#__PURE__*/_jsx(Ionicons, {
|
|
145
|
+
name: "arrow-undo",
|
|
146
|
+
size: 18,
|
|
147
|
+
color: colors.text
|
|
148
|
+
})
|
|
149
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
150
|
+
appearance: "subtle",
|
|
151
|
+
tone: "danger",
|
|
152
|
+
size: "sm",
|
|
153
|
+
iconOnly: true,
|
|
154
|
+
stopPropagation: true,
|
|
155
|
+
disabled: busy !== null && busy.id !== file.id,
|
|
156
|
+
loading: busy?.id === file.id && !busy.restoring,
|
|
157
|
+
accessibilityLabel: t('fileManagement.trashView.a11y.deleteForever', {
|
|
158
|
+
name: file.filename
|
|
159
|
+
}),
|
|
160
|
+
onPress: () => handleDeleteForever(file.id, file.filename),
|
|
161
|
+
icon: /*#__PURE__*/_jsx(Ionicons, {
|
|
162
|
+
name: "trash",
|
|
163
|
+
size: 18,
|
|
164
|
+
color: colors.error
|
|
165
|
+
})
|
|
166
|
+
})]
|
|
167
|
+
})
|
|
168
|
+
};
|
|
169
|
+
}), [files, colors, busy, handleRestore, handleDeleteForever, t]);
|
|
170
|
+
useSurfaceHeader({
|
|
171
|
+
title: t('fileManagement.trashView.title'),
|
|
172
|
+
subtitle: t('fileManagement.trashView.subtitle'),
|
|
173
|
+
largeTitle: false
|
|
174
|
+
});
|
|
175
|
+
const hasLoadError = trashQuery.isError && files.length === 0;
|
|
176
|
+
const renderEmptyState = () => hasLoadError ? /*#__PURE__*/_jsx(FileLibraryError, {
|
|
177
|
+
title: t('fileManagement.trashView.loadError'),
|
|
178
|
+
description: t('fileManagement.loadError.description'),
|
|
179
|
+
retryLabel: t('fileManagement.retry'),
|
|
180
|
+
onRetry: () => trashQuery.refetch(),
|
|
181
|
+
iconColor: colors.error,
|
|
182
|
+
titleColor: colors.text,
|
|
183
|
+
descriptionColor: colors.textSecondary
|
|
184
|
+
}) : trashQuery.isLoading || !ownerId ? null : /*#__PURE__*/_jsxs(View, {
|
|
185
|
+
className: "items-center py-[40px] px-[24px]",
|
|
186
|
+
children: [/*#__PURE__*/_jsx(Ionicons, {
|
|
187
|
+
name: "trash-outline",
|
|
188
|
+
size: 64,
|
|
189
|
+
color: colors.textTertiary
|
|
190
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
191
|
+
className: "text-[24px] font-bold mt-[16px] mb-[8px] text-center",
|
|
192
|
+
style: {
|
|
193
|
+
color: colors.text
|
|
194
|
+
},
|
|
195
|
+
children: t('fileManagement.trashView.emptyTitle')
|
|
196
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
197
|
+
className: "text-[16px] text-center leading-[24px]",
|
|
198
|
+
style: {
|
|
199
|
+
color: colors.textSecondary
|
|
200
|
+
},
|
|
201
|
+
children: t('fileManagement.trashView.emptyDescription')
|
|
202
|
+
})]
|
|
203
|
+
});
|
|
204
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
205
|
+
className: "flex-1",
|
|
206
|
+
children: [files.length > 0 && /*#__PURE__*/_jsx(Text, {
|
|
207
|
+
className: "text-[13px] leading-[18px] mx-[16px] mt-[4px] mb-[12px]",
|
|
208
|
+
style: {
|
|
209
|
+
color: colors.textSecondary
|
|
210
|
+
},
|
|
211
|
+
children: t('fileManagement.trashView.notice')
|
|
212
|
+
}), /*#__PURE__*/_jsx(FileListSection, {
|
|
213
|
+
scrollViewRef: scrollViewRef,
|
|
214
|
+
filteredFiles: files,
|
|
215
|
+
searchQuery: "",
|
|
216
|
+
items: items,
|
|
217
|
+
paging: {
|
|
218
|
+
loadingMore: trashQuery.isFetchingNextPage,
|
|
219
|
+
hasMore: trashQuery.hasNextPage ?? false
|
|
220
|
+
},
|
|
221
|
+
refreshing: trashQuery.isRefetching,
|
|
222
|
+
colors: colors,
|
|
223
|
+
t: t,
|
|
224
|
+
onRefresh: () => trashQuery.refetch(),
|
|
225
|
+
onLoadMore: () => trashQuery.fetchNextPage(),
|
|
226
|
+
onClearSearch: () => {},
|
|
227
|
+
renderEmptyState: renderEmptyState
|
|
228
|
+
})]
|
|
229
|
+
});
|
|
230
|
+
};
|
|
231
|
+
export default FileTrashScreen;
|
|
232
|
+
//# sourceMappingURL=FileTrashScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useMemo","useRef","useState","View","Button","Text","toast","surfaces","useTheme","useQueryClient","Ionicons","useOxy","useI18n","useSurfaceHeader","queryKeys","removeFileFromCache","useUserFilesInfinite","formatFileSize","getFileIcon","FileListSection","FileLibraryError","getErrorMessage","deletePermanently","restoreFromTrash","jsx","_jsx","jsxs","_jsxs","FileTrashScreen","userId","user","oxyServices","t","colors","queryClient","ownerId","id","trashQuery","files","data","pages","flatMap","page","scrollViewRef","busy","setBusy","refreshFiles","invalidateQueries","queryKey","all","handleRestore","fileId","restoring","outcome","assets","success","error","handleDeleteForever","filename","confirmed","confirm","title","description","confirmLabel","cancelLabel","destructive","uses","count","items","map","file","trashedOn","trashedAt","Date","toLocaleDateString","icon","name","contentType","size","color","primary","length","date","onPress","rightElement","className","children","appearance","tone","iconOnly","stopPropagation","disabled","loading","accessibilityLabel","text","subtitle","largeTitle","hasLoadError","isError","renderEmptyState","retryLabel","onRetry","refetch","iconColor","titleColor","descriptionColor","textSecondary","isLoading","textTertiary","style","filteredFiles","searchQuery","paging","loadingMore","isFetchingNextPage","hasMore","hasNextPage","refreshing","isRefetching","onRefresh","onLoadMore","fetchNextPage","onClearSearch"],"sourceRoot":"../../../../src","sources":["ui/screens/FileTrashScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ import { SettingsListGroup, SettingsListItem } from '@oxy.so/bloom/settings-list
|
|
|
6
6
|
import { Switch } from '@oxy.so/bloom/switch';
|
|
7
7
|
import { useTheme } from '@oxy.so/bloom/theme';
|
|
8
8
|
import { getNativeLanguageName } from '@oxy.so/core';
|
|
9
|
+
import { DisplayCurrencySelector } from "../components/DisplayCurrencySelector.js";
|
|
9
10
|
import { SettingsIcon } from "../components/SettingsIcon.js";
|
|
10
11
|
import { useI18n } from "../hooks/useI18n.js";
|
|
11
12
|
import { useSurfaceHeader } from "../hooks/useSurfaceHeader.js";
|
|
@@ -157,9 +158,9 @@ const PreferencesScreen = ({
|
|
|
157
158
|
description: languageDescription,
|
|
158
159
|
onPress: () => navigate?.('LanguageSelector')
|
|
159
160
|
})
|
|
160
|
-
}), /*#__PURE__*/
|
|
161
|
+
}), /*#__PURE__*/_jsxs(SettingsListGroup, {
|
|
161
162
|
title: t('preferences.sections.region') || 'Region',
|
|
162
|
-
children: /*#__PURE__*/_jsx(SettingsListItem, {
|
|
163
|
+
children: [/*#__PURE__*/_jsx(DisplayCurrencySelector, {}), /*#__PURE__*/_jsx(SettingsListItem, {
|
|
163
164
|
icon: /*#__PURE__*/_jsx(SettingsIcon, {
|
|
164
165
|
name: "clock-outline",
|
|
165
166
|
color: bloomTheme.colors.info
|
|
@@ -169,7 +170,7 @@ const PreferencesScreen = ({
|
|
|
169
170
|
onPress: prefs?.timezone ? handleResetTimezone : undefined,
|
|
170
171
|
disabled: isSaving || !prefs?.timezone,
|
|
171
172
|
showChevron: false
|
|
172
|
-
})
|
|
173
|
+
})]
|
|
173
174
|
}), Platform.OS === 'web' ? null : /*#__PURE__*/_jsx(SettingsListGroup, {
|
|
174
175
|
children: /*#__PURE__*/_jsx(SettingsListItem, {
|
|
175
176
|
icon: /*#__PURE__*/_jsx(SettingsIcon, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useMemo","useState","AccessibilityInfo","Platform","View","SettingsListGroup","SettingsListItem","Switch","useTheme","getNativeLanguageName","SettingsIcon","useI18n","useSurfaceHeader","useOxy","useCurrentUser","useUpdateUserPreferences","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","THEME_ORDER","getDeviceTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","PreferencesScreen","onClose","goBack","navigate","bloomTheme","t","locale","title","isAuthenticated","data","user","enabled","updateMutation","prefs","userPreferences","themePref","theme","reduceMotionPref","reduceMotion","deviceTimezone","timezone","systemReduceMotion","setSystemReduceMotion","cancelled","isReduceMotionEnabled","then","value","catch","sub","addEventListener","remove","handleThemeChange","nextTheme","patch","mutateAsync","handleReduceMotionToggle","next","handleResetTimezone","themeDisplay","indexOf","length","languageDescription","isSaving","isPending","children","className","icon","name","color","colors","primary","description","onPress","disabled","success","rightElement","checked","onCheckedChange","showChevron","info","undefined","OS","secondary","memo"],"sourceRoot":"../../../../src","sources":["ui/screens/PreferencesScreen.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACxE,SAASC,iBAAiB,EAAEC,QAAQ,EAAEC,IAAI,QAAQ,cAAc;AAChE,SAASC,iBAAiB,EAAEC,gBAAgB,QAAQ,6BAA6B;AACjF,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,SAASC,QAAQ,QAAQ,qBAAqB;AAE9C,SAASC,qBAAqB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useState","AccessibilityInfo","Platform","View","SettingsListGroup","SettingsListItem","Switch","useTheme","getNativeLanguageName","DisplayCurrencySelector","SettingsIcon","useI18n","useSurfaceHeader","useOxy","useCurrentUser","useUpdateUserPreferences","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","THEME_ORDER","getDeviceTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","PreferencesScreen","onClose","goBack","navigate","bloomTheme","t","locale","title","isAuthenticated","data","user","enabled","updateMutation","prefs","userPreferences","themePref","theme","reduceMotionPref","reduceMotion","deviceTimezone","timezone","systemReduceMotion","setSystemReduceMotion","cancelled","isReduceMotionEnabled","then","value","catch","sub","addEventListener","remove","handleThemeChange","nextTheme","patch","mutateAsync","handleReduceMotionToggle","next","handleResetTimezone","themeDisplay","indexOf","length","languageDescription","isSaving","isPending","children","className","icon","name","color","colors","primary","description","onPress","disabled","success","rightElement","checked","onCheckedChange","showChevron","info","undefined","OS","secondary","memo"],"sourceRoot":"../../../../src","sources":["ui/screens/PreferencesScreen.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* What the file manager does when the person removes, restores or deletes a
|
|
5
|
+
* file (ADR 0043 D5). Pure of React and of the UI: every call takes the asset
|
|
6
|
+
* API and the confirmation it may need, so the decisions are testable on their
|
|
7
|
+
* own and the screens only render.
|
|
8
|
+
*
|
|
9
|
+
* - "Delete" in the library MOVES TO TRASH: the file stops being served, is
|
|
10
|
+
* kept, and can be restored from Trash. A `blocked` file (taken down after a
|
|
11
|
+
* content claim, D10) cannot be trashed — it is already served to nobody —
|
|
12
|
+
* so removing it is the permanent delete, which is its owner's to make.
|
|
13
|
+
* - Permanent deletion happens only from Trash (or for a blocked file). The
|
|
14
|
+
* API refuses to delete a file an application still uses (409, with the
|
|
15
|
+
* number of uses); the person is told and decides, and only then is the
|
|
16
|
+
* delete forced.
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
/** The part of `oxyServices.assets` these actions use. */
|
|
20
|
+
|
|
21
|
+
/** What removing a file from the library does to it. */
|
|
22
|
+
|
|
23
|
+
/** A `blocked` file is deleted (it cannot go to trash); every other is trashed. */
|
|
24
|
+
export function libraryRemovalFor(file) {
|
|
25
|
+
return file.status === 'blocked' ? 'delete' : 'trash';
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** The HTTP status of a failed asset call, when it carries one. */
|
|
29
|
+
export function errorStatus(error) {
|
|
30
|
+
if (error && typeof error === 'object') {
|
|
31
|
+
const status = error.status;
|
|
32
|
+
if (typeof status === 'number') return status;
|
|
33
|
+
const response = error.response;
|
|
34
|
+
if (response && typeof response.status === 'number') return response.status;
|
|
35
|
+
}
|
|
36
|
+
return undefined;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/** The API's machine code of a failed asset call, when it carries one. */
|
|
40
|
+
function errorCode(error) {
|
|
41
|
+
if (error && typeof error === 'object') {
|
|
42
|
+
const code = error.code;
|
|
43
|
+
if (typeof code === 'string') return code;
|
|
44
|
+
}
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* How many uses an application still has of a file the API refused to delete
|
|
50
|
+
* (409, `details.summary.remainingLinks`), or `null` when the refusal is not
|
|
51
|
+
* that one.
|
|
52
|
+
*/
|
|
53
|
+
export function remainingUses(error) {
|
|
54
|
+
if (errorStatus(error) !== 409 || !error || typeof error !== 'object') return null;
|
|
55
|
+
const details = error.details;
|
|
56
|
+
const summary = details && typeof details === 'object' ? details.summary : undefined;
|
|
57
|
+
const remaining = summary && typeof summary === 'object' ? summary.remainingLinks : undefined;
|
|
58
|
+
return typeof remaining === 'number' && remaining > 0 ? remaining : null;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/** Outcome of {@link deletePermanently}. */
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Delete a file for good. When applications still use it the API refuses;
|
|
65
|
+
* `confirmStillUsed(count)` asks the person, and only a yes forces the delete.
|
|
66
|
+
* A file already gone (404) is `gone` — the caller just refreshes. Any other
|
|
67
|
+
* failure is thrown.
|
|
68
|
+
*/
|
|
69
|
+
export async function deletePermanently(assets, fileId, confirmStillUsed) {
|
|
70
|
+
try {
|
|
71
|
+
await assets.delete(fileId);
|
|
72
|
+
return 'deleted';
|
|
73
|
+
} catch (error) {
|
|
74
|
+
if (errorStatus(error) === 404) return 'gone';
|
|
75
|
+
const uses = remainingUses(error);
|
|
76
|
+
if (uses === null) throw error;
|
|
77
|
+
if (!(await confirmStillUsed(uses))) return 'cancelled';
|
|
78
|
+
await assets.delete(fileId, {
|
|
79
|
+
force: true
|
|
80
|
+
});
|
|
81
|
+
return 'deleted';
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** Outcome of {@link restoreFromTrash}. */
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Bring a file back from trash. One that is no longer in trash — restored
|
|
89
|
+
* elsewhere, or blocked after a claim (409 `FILE_NOT_IN_TRASH`) — or no longer
|
|
90
|
+
* exists (404) is reported, not thrown: the trash list is just stale.
|
|
91
|
+
*/
|
|
92
|
+
export async function restoreFromTrash(assets, fileId) {
|
|
93
|
+
try {
|
|
94
|
+
await assets.restore(fileId);
|
|
95
|
+
return 'restored';
|
|
96
|
+
} catch (error) {
|
|
97
|
+
if (errorStatus(error) === 404) return 'gone';
|
|
98
|
+
if (errorStatus(error) === 409 && errorCode(error) === 'FILE_NOT_IN_TRASH') {
|
|
99
|
+
return 'not_in_trash';
|
|
100
|
+
}
|
|
101
|
+
throw error;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/** Per-file outcome of removing several files from the library. */
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Remove several files from the library at once: each goes to trash, except a
|
|
109
|
+
* blocked one, which is deleted (asking about remaining uses as
|
|
110
|
+
* {@link deletePermanently} does). One failure never stops the others.
|
|
111
|
+
*/
|
|
112
|
+
export async function removeFromLibrary(assets, files, confirmStillUsed) {
|
|
113
|
+
const result = {
|
|
114
|
+
trashed: [],
|
|
115
|
+
deleted: [],
|
|
116
|
+
failed: []
|
|
117
|
+
};
|
|
118
|
+
const toTrash = files.filter(file => libraryRemovalFor(file) === 'trash');
|
|
119
|
+
const toDelete = files.filter(file => libraryRemovalFor(file) === 'delete');
|
|
120
|
+
const trashed = await Promise.allSettled(toTrash.map(file => assets.trash(file.id)));
|
|
121
|
+
trashed.forEach((settled, index) => {
|
|
122
|
+
(settled.status === 'fulfilled' ? result.trashed : result.failed).push(toTrash[index].id);
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
// One at a time: each may ask the person a question, and two questions at
|
|
126
|
+
// once would stack.
|
|
127
|
+
for (const file of toDelete) {
|
|
128
|
+
try {
|
|
129
|
+
const outcome = await deletePermanently(assets, file.id, uses => confirmStillUsed(uses, file.filename));
|
|
130
|
+
// `cancelled`: the person kept it; nothing to report.
|
|
131
|
+
if (outcome !== 'cancelled') result.deleted.push(file.id);
|
|
132
|
+
} catch {
|
|
133
|
+
result.failed.push(file.id);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return result;
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=trashActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["libraryRemovalFor","file","status","errorStatus","error","response","undefined","errorCode","code","remainingUses","details","summary","remaining","remainingLinks","deletePermanently","assets","fileId","confirmStillUsed","delete","uses","force","restoreFromTrash","restore","removeFromLibrary","files","result","trashed","deleted","failed","toTrash","filter","toDelete","Promise","allSettled","map","trash","id","forEach","settled","index","push","outcome","filename"],"sourceRoot":"../../../../../src","sources":["ui/screens/fileManagement/trashActions.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { create } from 'zustand';
|
|
4
|
+
/**
|
|
5
|
+
* Whether a link is the given application's use. The Oxy API names the using
|
|
6
|
+
* application by ID (`applicationId`, mirrored in `app` since ADR 0043 D4);
|
|
7
|
+
* a link added locally before the server answered may still carry the name
|
|
8
|
+
* the caller passed in `app`. Either matches.
|
|
9
|
+
*/
|
|
10
|
+
function linkIsApp(link, app) {
|
|
11
|
+
return (link.applicationId ?? link.app) === app || link.app === app;
|
|
12
|
+
}
|
|
13
|
+
function sameLink(link, app, entityType, entityId) {
|
|
14
|
+
return linkIsApp(link, app) && link.entityType === entityType && link.entityId === entityId;
|
|
15
|
+
}
|
|
4
16
|
const initialState = {
|
|
5
17
|
assets: {},
|
|
6
18
|
uploadProgress: {},
|
|
@@ -86,12 +98,13 @@ export const useAssetStore = create((set, get) => ({
|
|
|
86
98
|
if (!asset) return state;
|
|
87
99
|
|
|
88
100
|
// Check if link already exists
|
|
89
|
-
const existingLink = asset.links.find(l => l.
|
|
101
|
+
const existingLink = asset.links.find(l => sameLink(l, link.applicationId ?? link.app, link.entityType, link.entityId) || sameLink(l, link.app, link.entityType, link.entityId));
|
|
90
102
|
if (existingLink) return state;
|
|
91
103
|
const updatedAsset = {
|
|
92
104
|
...asset,
|
|
93
105
|
links: [...asset.links, link],
|
|
94
|
-
usageCount: asset.links.length + 1
|
|
106
|
+
usageCount: asset.links.length + 1,
|
|
107
|
+
inUse: true
|
|
95
108
|
};
|
|
96
109
|
return {
|
|
97
110
|
assets: {
|
|
@@ -105,12 +118,14 @@ export const useAssetStore = create((set, get) => ({
|
|
|
105
118
|
set(state => {
|
|
106
119
|
const asset = state.assets[assetId];
|
|
107
120
|
if (!asset) return state;
|
|
108
|
-
const filteredLinks = asset.links.filter(link => !(link
|
|
121
|
+
const filteredLinks = asset.links.filter(link => !sameLink(link, app, entityType, entityId));
|
|
109
122
|
const updatedAsset = {
|
|
110
123
|
...asset,
|
|
111
124
|
links: filteredLinks,
|
|
112
125
|
usageCount: filteredLinks.length,
|
|
113
|
-
|
|
126
|
+
// The last link going never trashes the file (ADR 0043 D5): it stays
|
|
127
|
+
// where it is and is only no longer in use.
|
|
128
|
+
inUse: filteredLinks.length > 0
|
|
114
129
|
};
|
|
115
130
|
return {
|
|
116
131
|
assets: {
|
|
@@ -180,13 +195,13 @@ export const useAssetStore = create((set, get) => ({
|
|
|
180
195
|
const {
|
|
181
196
|
assets
|
|
182
197
|
} = get();
|
|
183
|
-
return Object.values(assets).filter(asset => asset.links.some(link => link
|
|
198
|
+
return Object.values(assets).filter(asset => asset.links.some(link => linkIsApp(link, app)));
|
|
184
199
|
},
|
|
185
200
|
getAssetsByEntity: (app, entityType, entityId) => {
|
|
186
201
|
const {
|
|
187
202
|
assets
|
|
188
203
|
} = get();
|
|
189
|
-
return Object.values(assets).filter(asset => asset.links.some(link => link
|
|
204
|
+
return Object.values(assets).filter(asset => asset.links.some(link => sameLink(link, app, entityType, entityId)));
|
|
190
205
|
},
|
|
191
206
|
getAssetUsageCount: assetId => {
|
|
192
207
|
const {
|
|
@@ -201,7 +216,7 @@ export const useAssetStore = create((set, get) => ({
|
|
|
201
216
|
} = get();
|
|
202
217
|
const asset = assets[assetId];
|
|
203
218
|
if (!asset) return false;
|
|
204
|
-
return asset.links.some(link => link
|
|
219
|
+
return asset.links.some(link => sameLink(link, app, entityType, entityId));
|
|
205
220
|
},
|
|
206
221
|
// Reset store
|
|
207
222
|
reset: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["create","initialState","assets","uploadProgress","loading","uploading","linking","deleting","errors","useAssetStore","set","get","setAsset","asset","state","id","mergeAsset","patch","setAssets","assetMap","reduce","acc","removeAsset","assetId","removed","rest","setUploadProgress","fileId","progress","removeUploadProgress","addLink","
|
|
1
|
+
{"version":3,"names":["create","linkIsApp","link","app","applicationId","sameLink","entityType","entityId","initialState","assets","uploadProgress","loading","uploading","linking","deleting","errors","useAssetStore","set","get","setAsset","asset","state","id","mergeAsset","patch","setAssets","assetMap","reduce","acc","removeAsset","assetId","removed","rest","setUploadProgress","fileId","progress","removeUploadProgress","addLink","existingLink","links","find","l","updatedAsset","usageCount","length","inUse","removeLink","filteredLinks","filter","setUploading","setLinking","setDeleting","setUploadError","error","upload","setLinkError","setDeleteError","delete","clearErrors","getAssetsByApp","Object","values","some","getAssetsByEntity","getAssetUsageCount","isAssetLinked","reset","useAssets","useAsset","useUploadProgress","useAssetLoading","useAssetErrors","useAssetsByApp","useAssetsByEntity","useAssetUsageCount","useIsAssetLinked"],"sourceRoot":"../../../../src","sources":["ui/stores/assetStore.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,SAAS;AAGhC;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAACC,IAAe,EAAEC,GAAW,EAAW;EACxD,OAAO,CAACD,IAAI,CAACE,aAAa,IAAIF,IAAI,CAACC,GAAG,MAAMA,GAAG,IAAID,IAAI,CAACC,GAAG,KAAKA,GAAG;AACrE;AAEA,SAASE,QAAQA,CAACH,IAAe,EAAEC,GAAW,EAAEG,UAAkB,EAAEC,QAAgB,EAAW;EAC7F,OAAON,SAAS,CAACC,IAAI,EAAEC,GAAG,CAAC,IAAID,IAAI,CAACI,UAAU,KAAKA,UAAU,IAAIJ,IAAI,CAACK,QAAQ,KAAKA,QAAQ;AAC7F;AA4DA,MAAMC,YAAY,GAAG;EACnBC,MAAM,EAAE,CAAC,CAAC;EACVC,cAAc,EAAE,CAAC,CAAC;EAClBC,OAAO,EAAE;IACPC,SAAS,EAAE,KAAK;IAChBC,OAAO,EAAE,KAAK;IACdC,QAAQ,EAAE;EACZ,CAAC;EACDC,MAAM,EAAE,CAAC;AACX,CAAC;AAED,OAAO,MAAMC,aAAa,GAAGhB,MAAM,CAAa,CAACiB,GAAG,EAAEC,GAAG,MAAM;EAC7D,GAAGV,YAAY;EAEf;EACAW,QAAQ,EAAGC,KAAY,IAAK;IAC1BH,GAAG,CAAEI,KAAK,KAAM;MACdZ,MAAM,EAAE;QACN,GAAGY,KAAK,CAACZ,MAAM;QACf,CAACW,KAAK,CAACE,EAAE,GAAGF;MACd;IACF,CAAC,CAAC,CAAC;EACL,CAAC;EAEDG,UAAU,EAAGC,KAAK,IAAK;IACrBP,GAAG,CAAEI,KAAK,KAAM;MACdZ,MAAM,EAAE;QACN,GAAGY,KAAK,CAACZ,MAAM;QACf;QACA,CAACe,KAAK,CAACF,EAAE,GAAG;UAAE,GAAGD,KAAK,CAACZ,MAAM,CAACe,KAAK,CAACF,EAAE,CAAC;UAAE,GAAGE;QAAM;MACpD;IACF,CAAC,CAAC,CAAC;EACL,CAAC;EAEDC,SAAS,EAAGhB,MAAe,IAAK;IAC9BQ,GAAG,CAAEI,KAAK,IAAK;MACb,MAAMK,QAAQ,GAAGjB,MAAM,CAACkB,MAAM,CAC5B,CAACC,GAAG,EAAER,KAAK,KAAK;QACdQ,GAAG,CAACR,KAAK,CAACE,EAAE,CAAC,GAAGF,KAAK;QACrB,OAAOQ,GAAG;MACZ,CAAC,EACD,CAAC,CACH,CAAC;MAED,OAAO;QACLnB,MAAM,EAAE;UACN,GAAGY,KAAK,CAACZ,MAAM;UACf,GAAGiB;QACL;MACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAEDG,WAAW,EAAGC,OAAe,IAAK;IAChCb,GAAG,CAAEI,KAAK,IAAK;MACb,MAAM;QAAE,CAACS,OAAO,GAAGC,OAAO;QAAE,GAAGC;MAAK,CAAC,GAAGX,KAAK,CAACZ,MAAM;MACpD,OAAO;QAAEA,MAAM,EAAEuB;MAAK,CAAC;IACzB,CAAC,CAAC;EACJ,CAAC;EAED;EACAC,iBAAiB,EAAEA,CAACC,MAAc,EAAEC,QAA6B,KAAK;IACpElB,GAAG,CAAEI,KAAK,KAAM;MACdX,cAAc,EAAE;QACd,GAAGW,KAAK,CAACX,cAAc;QACvB,CAACwB,MAAM,GAAGC;MACZ;IACF,CAAC,CAAC,CAAC;EACL,CAAC;EAEDC,oBAAoB,EAAGF,MAAc,IAAK;IACxCjB,GAAG,CAAEI,KAAK,IAAK;MACb,MAAM;QAAE,CAACa,MAAM,GAAGH,OAAO;QAAE,GAAGC;MAAK,CAAC,GAAGX,KAAK,CAACX,cAAc;MAC3D,OAAO;QAAEA,cAAc,EAAEsB;MAAK,CAAC;IACjC,CAAC,CAAC;EACJ,CAAC;EAED;EACAK,OAAO,EAAEA,CAACP,OAAe,EAAE5B,IAAe,KAAK;IAC7Ce,GAAG,CAAEI,KAAK,IAAK;MACb,MAAMD,KAAK,GAAGC,KAAK,CAACZ,MAAM,CAACqB,OAAO,CAAC;MACnC,IAAI,CAACV,KAAK,EAAE,OAAOC,KAAK;;MAExB;MACA,MAAMiB,YAAY,GAAGlB,KAAK,CAACmB,KAAK,CAACC,IAAI,CAClCC,CAAY,IACXpC,QAAQ,CAACoC,CAAC,EAAEvC,IAAI,CAACE,aAAa,IAAIF,IAAI,CAACC,GAAG,EAAED,IAAI,CAACI,UAAU,EAAEJ,IAAI,CAACK,QAAQ,CAAC,IAC3EF,QAAQ,CAACoC,CAAC,EAAEvC,IAAI,CAACC,GAAG,EAAED,IAAI,CAACI,UAAU,EAAEJ,IAAI,CAACK,QAAQ,CACxD,CAAC;MAED,IAAI+B,YAAY,EAAE,OAAOjB,KAAK;MAE9B,MAAMqB,YAAY,GAAG;QACnB,GAAGtB,KAAK;QACRmB,KAAK,EAAE,CAAC,GAAGnB,KAAK,CAACmB,KAAK,EAAErC,IAAI,CAAC;QAC7ByC,UAAU,EAAEvB,KAAK,CAACmB,KAAK,CAACK,MAAM,GAAG,CAAC;QAClCC,KAAK,EAAE;MACT,CAAC;MAED,OAAO;QACLpC,MAAM,EAAE;UACN,GAAGY,KAAK,CAACZ,MAAM;UACf,CAACqB,OAAO,GAAGY;QACb;MACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAEDI,UAAU,EAAEA,CAAChB,OAAe,EAAE3B,GAAW,EAAEG,UAAkB,EAAEC,QAAgB,KAAK;IAClFU,GAAG,CAAEI,KAAK,IAAK;MACb,MAAMD,KAAK,GAAGC,KAAK,CAACZ,MAAM,CAACqB,OAAO,CAAC;MACnC,IAAI,CAACV,KAAK,EAAE,OAAOC,KAAK;MAExB,MAAM0B,aAAa,GAAG3B,KAAK,CAACmB,KAAK,CAACS,MAAM,CACrC9C,IAAe,IAAK,CAACG,QAAQ,CAACH,IAAI,EAAEC,GAAG,EAAEG,UAAU,EAAEC,QAAQ,CAChE,CAAC;MAED,MAAMmC,YAAY,GAAG;QACnB,GAAGtB,KAAK;QACRmB,KAAK,EAAEQ,aAAa;QACpBJ,UAAU,EAAEI,aAAa,CAACH,MAAM;QAChC;QACA;QACAC,KAAK,EAAEE,aAAa,CAACH,MAAM,GAAG;MAChC,CAAC;MAED,OAAO;QACLnC,MAAM,EAAE;UACN,GAAGY,KAAK,CAACZ,MAAM;UACf,CAACqB,OAAO,GAAGY;QACb;MACF,CAAC;IACH,CAAC,CAAC;EACJ,CAAC;EAED;EACAO,YAAY,EAAGrC,SAAkB,IAAK;IACpCK,GAAG,CAAEI,KAAK,KAAM;MACdV,OAAO,EAAE;QAAE,GAAGU,KAAK,CAACV,OAAO;QAAEC;MAAU;IACzC,CAAC,CAAC,CAAC;EACL,CAAC;EAEDsC,UAAU,EAAGrC,OAAgB,IAAK;IAChCI,GAAG,CAAEI,KAAK,KAAM;MACdV,OAAO,EAAE;QAAE,GAAGU,KAAK,CAACV,OAAO;QAAEE;MAAQ;IACvC,CAAC,CAAC,CAAC;EACL,CAAC;EAEDsC,WAAW,EAAGrC,QAAiB,IAAK;IAClCG,GAAG,CAAEI,KAAK,KAAM;MACdV,OAAO,EAAE;QAAE,GAAGU,KAAK,CAACV,OAAO;QAAEG;MAAS;IACxC,CAAC,CAAC,CAAC;EACL,CAAC;EAED;EACAsC,cAAc,EAAGC,KAAc,IAAK;IAClCpC,GAAG,CAAEI,KAAK,KAAM;MACdN,MAAM,EAAE;QAAE,GAAGM,KAAK,CAACN,MAAM;QAAEuC,MAAM,EAAED;MAAM;IAC3C,CAAC,CAAC,CAAC;EACL,CAAC;EAEDE,YAAY,EAAGF,KAAc,IAAK;IAChCpC,GAAG,CAAEI,KAAK,KAAM;MACdN,MAAM,EAAE;QAAE,GAAGM,KAAK,CAACN,MAAM;QAAEb,IAAI,EAAEmD;MAAM;IACzC,CAAC,CAAC,CAAC;EACL,CAAC;EAEDG,cAAc,EAAGH,KAAc,IAAK;IAClCpC,GAAG,CAAEI,KAAK,KAAM;MACdN,MAAM,EAAE;QAAE,GAAGM,KAAK,CAACN,MAAM;QAAE0C,MAAM,EAAEJ;MAAM;IAC3C,CAAC,CAAC,CAAC;EACL,CAAC;EAEDK,WAAW,EAAEA,CAAA,KAAM;IACjBzC,GAAG,CAAC;MAAEF,MAAM,EAAE,CAAC;IAAE,CAAC,CAAC;EACrB,CAAC;EAED;EACA4C,cAAc,EAAGxD,GAAW,IAAK;IAC/B,MAAM;MAAEM;IAAO,CAAC,GAAGS,GAAG,CAAC,CAAC;IACxB,OAAO0C,MAAM,CAACC,MAAM,CAACpD,MAAM,CAAC,CAACuC,MAAM,CAAE5B,KAAK,IACxCA,KAAK,CAACmB,KAAK,CAACuB,IAAI,CAAE5D,IAAe,IAAKD,SAAS,CAACC,IAAI,EAAEC,GAAG,CAAC,CAC5D,CAAC;EACH,CAAC;EAED4D,iBAAiB,EAAEA,CAAC5D,GAAW,EAAEG,UAAkB,EAAEC,QAAgB,KAAK;IACxE,MAAM;MAAEE;IAAO,CAAC,GAAGS,GAAG,CAAC,CAAC;IACxB,OAAO0C,MAAM,CAACC,MAAM,CAACpD,MAAM,CAAC,CAACuC,MAAM,CAAE5B,KAAK,IACxCA,KAAK,CAACmB,KAAK,CAACuB,IAAI,CAAE5D,IAAe,IAAKG,QAAQ,CAACH,IAAI,EAAEC,GAAG,EAAEG,UAAU,EAAEC,QAAQ,CAAC,CACjF,CAAC;EACH,CAAC;EAEDyD,kBAAkB,EAAGlC,OAAe,IAAK;IACvC,MAAM;MAAErB;IAAO,CAAC,GAAGS,GAAG,CAAC,CAAC;IACxB,MAAME,KAAK,GAAGX,MAAM,CAACqB,OAAO,CAAC;IAC7B,OAAOV,KAAK,GAAGA,KAAK,CAACuB,UAAU,GAAG,CAAC;EACrC,CAAC;EAEDsB,aAAa,EAAEA,CAACnC,OAAe,EAAE3B,GAAW,EAAEG,UAAkB,EAAEC,QAAgB,KAAK;IACrF,MAAM;MAAEE;IAAO,CAAC,GAAGS,GAAG,CAAC,CAAC;IACxB,MAAME,KAAK,GAAGX,MAAM,CAACqB,OAAO,CAAC;IAC7B,IAAI,CAACV,KAAK,EAAE,OAAO,KAAK;IAExB,OAAOA,KAAK,CAACmB,KAAK,CAACuB,IAAI,CAAE5D,IAAe,IAAKG,QAAQ,CAACH,IAAI,EAAEC,GAAG,EAAEG,UAAU,EAAEC,QAAQ,CAAC,CAAC;EACzF,CAAC;EAED;EACA2D,KAAK,EAAEA,CAAA,KAAM;IACXjD,GAAG,CAACT,YAAY,CAAC;EACnB;AACF,CAAC,CAAC,CAAC;;AAEH;AACA,OAAO,MAAM2D,SAAS,GAAGA,CAAA,KAAMnD,aAAa,CAAEK,KAAK,IAAKuC,MAAM,CAACC,MAAM,CAACxC,KAAK,CAACZ,MAAM,CAAC,CAAC;AACpF,OAAO,MAAM2D,QAAQ,GAAItC,OAAe,IAAKd,aAAa,CAAEK,KAAK,IAAKA,KAAK,CAACZ,MAAM,CAACqB,OAAO,CAAC,CAAC;AAC5F,OAAO,MAAMuC,iBAAiB,GAAGA,CAAA,KAAMrD,aAAa,CAAEK,KAAK,IAAKA,KAAK,CAACX,cAAc,CAAC;AACrF,OAAO,MAAM4D,eAAe,GAAGA,CAAA,KAAMtD,aAAa,CAAEK,KAAK,IAAKA,KAAK,CAACV,OAAO,CAAC;AAC5E,OAAO,MAAM4D,cAAc,GAAGA,CAAA,KAAMvD,aAAa,CAAEK,KAAK,IAAKA,KAAK,CAACN,MAAM,CAAC;;AAE1E;AACA,OAAO,MAAMyD,cAAc,GAAIrE,GAAW,IAAKa,aAAa,CAAEK,KAAK,IAAKA,KAAK,CAACsC,cAAc,CAACxD,GAAG,CAAC,CAAC;AAElG,OAAO,MAAMsE,iBAAiB,GAAGA,CAACtE,GAAW,EAAEG,UAAkB,EAAEC,QAAgB,KACjFS,aAAa,CAAEK,KAAK,IAAKA,KAAK,CAAC0C,iBAAiB,CAAC5D,GAAG,EAAEG,UAAU,EAAEC,QAAQ,CAAC,CAAC;AAE9E,OAAO,MAAMmE,kBAAkB,GAAI5C,OAAe,IAChDd,aAAa,CAAEK,KAAK,IAAKA,KAAK,CAAC2C,kBAAkB,CAAClC,OAAO,CAAC,CAAC;AAE7D,OAAO,MAAM6C,gBAAgB,GAAGA,CAC9B7C,OAAe,EACf3B,GAAW,EACXG,UAAkB,EAClBC,QAAgB,KACbS,aAAa,CAAEK,KAAK,IAAKA,KAAK,CAAC4C,aAAa,CAACnC,OAAO,EAAE3B,GAAG,EAAEG,UAAU,EAAEC,QAAQ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -124,4 +124,8 @@ export { SurfaceHeaderAction, type SurfaceHeaderActionProps, } from './ui/compon
|
|
|
124
124
|
export { openAccountDialog, closeAccountDialog, subscribeToAccountDialog, } from './ui/navigation/accountDialogManager';
|
|
125
125
|
export type { StartNativeOAuthSignInOptions, NativeOAuthSignInResult, } from './ui/oauth/nativeAuthTransport';
|
|
126
126
|
export { usePersonalPlans, usePersonalPlanSubscriptions, } from './ui/hooks/queries/usePersonalPlans';
|
|
127
|
+
export { AccountInvitationAcceptance } from './ui/components/AccountInvitationAcceptance';
|
|
128
|
+
export { DisplayCurrencySelector } from './ui/components/DisplayCurrencySelector';
|
|
129
|
+
export { useDisplayCurrency } from './ui/hooks/useDisplayCurrency';
|
|
130
|
+
export { useDisplayPrice } from './ui/hooks/useDisplayPrice';
|
|
127
131
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
|