@oxyhq/services 22.5.0 → 22.6.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/index.js +1 -1
- package/lib/commonjs/ui/client.js +1 -1
- package/lib/commonjs/ui/components/FontLoader.js +18 -145
- package/lib/commonjs/ui/components/FontLoader.js.map +1 -1
- package/lib/commonjs/ui/components/FontLoader.native.js +88 -0
- package/lib/commonjs/ui/components/FontLoader.native.js.map +1 -0
- package/lib/commonjs/ui/components/OxyProvider.js +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +16 -27
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/styles.js +1 -225
- package/lib/commonjs/ui/components/fileManagement/styles.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +5 -2
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/context/useOxyAccountGraph.js +7 -0
- package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +10 -4
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/userCache.js +33 -9
- package/lib/commonjs/ui/hooks/queries/userCache.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAvatarPicker.js +23 -8
- package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
- package/lib/commonjs/ui/hooks/useFileDownloadUrl.js +7 -21
- package/lib/commonjs/ui/hooks/useFileDownloadUrl.js.map +1 -1
- package/lib/commonjs/ui/hooks/useResolvedFileUrls.js +163 -0
- package/lib/commonjs/ui/hooks/useResolvedFileUrls.js.map +1 -0
- package/lib/commonjs/ui/index.js +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +51 -22
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js +216 -203
- package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js +26 -9
- package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/photoGridLayout.js +44 -0
- package/lib/commonjs/ui/screens/fileManagement/photoGridLayout.js.map +1 -0
- package/lib/commonjs/ui/session/tokenTransport.js +21 -10
- package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
- package/lib/commonjs/ui/utils/fileManagement.js +0 -40
- package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/client.js +1 -1
- package/lib/module/ui/client.js.map +1 -1
- package/lib/module/ui/components/FontLoader.js +18 -146
- package/lib/module/ui/components/FontLoader.js.map +1 -1
- package/lib/module/ui/components/FontLoader.native.js +83 -0
- package/lib/module/ui/components/FontLoader.native.js.map +1 -0
- package/lib/module/ui/components/OxyProvider.js +1 -1
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js +16 -27
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/module/ui/components/fileManagement/styles.js +0 -224
- package/lib/module/ui/components/fileManagement/styles.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +5 -2
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/context/useOxyAccountGraph.js +7 -0
- package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js +10 -4
- package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/userCache.js +33 -9
- package/lib/module/ui/hooks/queries/userCache.js.map +1 -1
- package/lib/module/ui/hooks/useAvatarPicker.js +23 -8
- package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
- package/lib/module/ui/hooks/useFileDownloadUrl.js +7 -21
- package/lib/module/ui/hooks/useFileDownloadUrl.js.map +1 -1
- package/lib/module/ui/hooks/useResolvedFileUrls.js +157 -0
- package/lib/module/ui/hooks/useResolvedFileUrls.js.map +1 -0
- package/lib/module/ui/index.js +1 -1
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +52 -23
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js +218 -205
- package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js +26 -9
- package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/photoGridLayout.js +39 -0
- package/lib/module/ui/screens/fileManagement/photoGridLayout.js.map +1 -0
- package/lib/module/ui/session/tokenTransport.js +21 -10
- package/lib/module/ui/session/tokenTransport.js.map +1 -1
- package/lib/module/ui/utils/fileManagement.js +0 -39
- package/lib/module/ui/utils/fileManagement.js.map +1 -1
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts +14 -5
- package/lib/typescript/commonjs/ui/components/FontLoader.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts +13 -0
- package/lib/typescript/commonjs/ui/components/FontLoader.native.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/styles.d.ts +0 -218
- package/lib/typescript/commonjs/ui/components/fileManagement/styles.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts +9 -0
- package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/userCache.d.ts +3 -0
- package/lib/typescript/commonjs/ui/hooks/queries/userCache.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAvatarPicker.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useFileDownloadUrl.d.ts +3 -2
- package/lib/typescript/commonjs/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useResolvedFileUrls.d.ts +48 -0
- package/lib/typescript/commonjs/ui/hooks/useResolvedFileUrls.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/fileManagement/PhotoPickerSection.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/fileManagement/photoGridLayout.d.ts +37 -0
- package/lib/typescript/commonjs/ui/screens/fileManagement/photoGridLayout.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +15 -8
- package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +4 -11
- package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +1 -1
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/client.d.ts +1 -1
- package/lib/typescript/module/ui/client.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FontLoader.d.ts +14 -5
- package/lib/typescript/module/ui/components/FontLoader.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/FontLoader.native.d.ts +13 -0
- package/lib/typescript/module/ui/components/FontLoader.native.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/styles.d.ts +0 -218
- package/lib/typescript/module/ui/components/fileManagement/styles.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts +9 -0
- package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/userCache.d.ts +3 -0
- package/lib/typescript/module/ui/hooks/queries/userCache.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAvatarPicker.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useFileDownloadUrl.d.ts +3 -2
- package/lib/typescript/module/ui/hooks/useFileDownloadUrl.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useResolvedFileUrls.d.ts +48 -0
- package/lib/typescript/module/ui/hooks/useResolvedFileUrls.d.ts.map +1 -0
- package/lib/typescript/module/ui/index.d.ts +1 -1
- package/lib/typescript/module/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/fileManagement/PhotoPickerSection.d.ts +1 -1
- package/lib/typescript/module/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/fileManagement/hooks/useFileUploadState.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/fileManagement/photoGridLayout.d.ts +37 -0
- package/lib/typescript/module/ui/screens/fileManagement/photoGridLayout.d.ts.map +1 -0
- package/lib/typescript/module/ui/session/tokenTransport.d.ts +15 -8
- package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/fileManagement.d.ts +4 -11
- package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
- package/package.json +5 -10
- package/src/ui/components/FontLoader.native.tsx +88 -0
- package/src/ui/components/FontLoader.tsx +16 -151
- package/src/ui/components/fileManagement/FileDetailsModal.tsx +17 -18
- package/src/ui/components/fileManagement/UploadPreview.tsx +1 -1
- package/src/ui/components/fileManagement/styles.ts +0 -225
- package/src/ui/context/hooks/useAuthOperations.ts +5 -2
- package/src/ui/context/useOxyAccountGraph.ts +5 -0
- package/src/ui/hooks/queries/__tests__/userCache.test.ts +29 -0
- package/src/ui/hooks/queries/useAccountQueries.ts +10 -4
- package/src/ui/hooks/queries/userCache.ts +31 -8
- package/src/ui/hooks/useAvatarPicker.ts +27 -7
- package/src/ui/hooks/useFileDownloadUrl.ts +7 -23
- package/src/ui/hooks/useResolvedFileUrls.ts +170 -0
- package/src/ui/screens/FileManagementScreen.tsx +55 -27
- package/src/ui/screens/__tests__/photoGridLayout.test.ts +57 -0
- package/src/ui/screens/fileManagement/PhotoPickerSection.tsx +215 -213
- package/src/ui/screens/fileManagement/hooks/useFileUploadState.ts +27 -3
- package/src/ui/screens/fileManagement/photoGridLayout.ts +45 -0
- package/src/ui/session/__tests__/tokenTransport.test.ts +25 -10
- package/src/ui/session/tokenTransport.ts +21 -10
- package/src/ui/utils/fileManagement.ts +3 -46
- package/lib/typescript/types/expo-vector-icons.d.ts +0 -22
- package/src/types/expo-vector-icons.d.ts +0 -22
|
@@ -383,43 +383,6 @@ export declare const fileManagementStyles: {
|
|
|
383
383
|
flex: number;
|
|
384
384
|
padding: number;
|
|
385
385
|
};
|
|
386
|
-
fileDetailCard: {
|
|
387
|
-
padding: number;
|
|
388
|
-
borderRadius: number;
|
|
389
|
-
borderWidth: number;
|
|
390
|
-
alignItems: "center";
|
|
391
|
-
};
|
|
392
|
-
fileDetailIcon: {
|
|
393
|
-
marginBottom: number;
|
|
394
|
-
};
|
|
395
|
-
fileDetailName: {
|
|
396
|
-
fontSize: number;
|
|
397
|
-
fontWeight: "bold";
|
|
398
|
-
textAlign: "center";
|
|
399
|
-
marginBottom: number;
|
|
400
|
-
};
|
|
401
|
-
fileDetailInfo: {
|
|
402
|
-
width: "100%";
|
|
403
|
-
marginBottom: number;
|
|
404
|
-
};
|
|
405
|
-
detailRow: {
|
|
406
|
-
flexDirection: "row";
|
|
407
|
-
justifyContent: "space-between";
|
|
408
|
-
alignItems: "flex-start";
|
|
409
|
-
marginBottom: number;
|
|
410
|
-
flexWrap: "wrap";
|
|
411
|
-
};
|
|
412
|
-
detailLabel: {
|
|
413
|
-
fontSize: number;
|
|
414
|
-
fontWeight: "500";
|
|
415
|
-
flex: number;
|
|
416
|
-
minWidth: number;
|
|
417
|
-
};
|
|
418
|
-
detailValue: {
|
|
419
|
-
fontSize: number;
|
|
420
|
-
flex: number;
|
|
421
|
-
textAlign: "right";
|
|
422
|
-
};
|
|
423
386
|
modalActions: {
|
|
424
387
|
flexDirection: "row";
|
|
425
388
|
gap: number;
|
|
@@ -859,185 +822,4 @@ export declare const fileManagementStyles: {
|
|
|
859
822
|
borderRadius: number;
|
|
860
823
|
};
|
|
861
824
|
};
|
|
862
|
-
/**
|
|
863
|
-
* Styles for the dedicated photo picker view used when `selectMode + image-only`
|
|
864
|
-
* is active (e.g. the avatar picker context). This view is intentionally
|
|
865
|
-
* flagship-grade: black backdrop, translucent header, edge-to-edge grid.
|
|
866
|
-
*
|
|
867
|
-
* Kept in a separate StyleSheet so the rest of `fileManagementStyles` does not
|
|
868
|
-
* carry a black-background bias when used elsewhere.
|
|
869
|
-
*/
|
|
870
|
-
export declare const photoPickerStyles: {
|
|
871
|
-
root: {
|
|
872
|
-
flex: number;
|
|
873
|
-
backgroundColor: string;
|
|
874
|
-
};
|
|
875
|
-
headerSpacer: {
|
|
876
|
-
backgroundColor: string;
|
|
877
|
-
};
|
|
878
|
-
header: {
|
|
879
|
-
position: "absolute";
|
|
880
|
-
top: number;
|
|
881
|
-
left: number;
|
|
882
|
-
right: number;
|
|
883
|
-
backgroundColor: string;
|
|
884
|
-
flexDirection: "row";
|
|
885
|
-
alignItems: "center";
|
|
886
|
-
justifyContent: "space-between";
|
|
887
|
-
paddingHorizontal: number;
|
|
888
|
-
zIndex: number;
|
|
889
|
-
};
|
|
890
|
-
headerRow: {
|
|
891
|
-
flexDirection: "row";
|
|
892
|
-
alignItems: "center";
|
|
893
|
-
justifyContent: "space-between";
|
|
894
|
-
width: "100%";
|
|
895
|
-
height: number;
|
|
896
|
-
};
|
|
897
|
-
headerSide: {
|
|
898
|
-
flexBasis: number;
|
|
899
|
-
flexGrow: number;
|
|
900
|
-
flexDirection: "row";
|
|
901
|
-
alignItems: "center";
|
|
902
|
-
};
|
|
903
|
-
headerSideRight: {
|
|
904
|
-
justifyContent: "flex-end";
|
|
905
|
-
};
|
|
906
|
-
headerSideLeft: {
|
|
907
|
-
justifyContent: "flex-start";
|
|
908
|
-
};
|
|
909
|
-
headerTitle: {
|
|
910
|
-
fontSize: number;
|
|
911
|
-
fontWeight: "600";
|
|
912
|
-
color: string;
|
|
913
|
-
letterSpacing: number;
|
|
914
|
-
textAlign: "center";
|
|
915
|
-
};
|
|
916
|
-
headerCancel: {
|
|
917
|
-
paddingHorizontal: number;
|
|
918
|
-
paddingVertical: number;
|
|
919
|
-
minHeight: number;
|
|
920
|
-
minWidth: number;
|
|
921
|
-
justifyContent: "center";
|
|
922
|
-
};
|
|
923
|
-
headerCancelText: {
|
|
924
|
-
fontSize: number;
|
|
925
|
-
fontWeight: "500";
|
|
926
|
-
color: string;
|
|
927
|
-
};
|
|
928
|
-
headerPrimaryPill: {
|
|
929
|
-
flexDirection: "row";
|
|
930
|
-
alignItems: "center";
|
|
931
|
-
gap: number;
|
|
932
|
-
paddingHorizontal: number;
|
|
933
|
-
paddingVertical: number;
|
|
934
|
-
borderRadius: number;
|
|
935
|
-
minHeight: number;
|
|
936
|
-
};
|
|
937
|
-
headerPrimaryPillIconOnly: {
|
|
938
|
-
paddingHorizontal: number;
|
|
939
|
-
width: number;
|
|
940
|
-
justifyContent: "center";
|
|
941
|
-
};
|
|
942
|
-
headerPrimaryText: {
|
|
943
|
-
color: string;
|
|
944
|
-
fontSize: number;
|
|
945
|
-
fontWeight: "600";
|
|
946
|
-
};
|
|
947
|
-
headerProgressBarTrack: {
|
|
948
|
-
position: "absolute";
|
|
949
|
-
left: number;
|
|
950
|
-
right: number;
|
|
951
|
-
bottom: number;
|
|
952
|
-
height: number;
|
|
953
|
-
backgroundColor: string;
|
|
954
|
-
};
|
|
955
|
-
headerProgressBarFill: {
|
|
956
|
-
height: "100%";
|
|
957
|
-
};
|
|
958
|
-
grid: {
|
|
959
|
-
flex: number;
|
|
960
|
-
};
|
|
961
|
-
gridContent: {
|
|
962
|
-
paddingBottom: number;
|
|
963
|
-
};
|
|
964
|
-
cellWrapper: {
|
|
965
|
-
position: "relative";
|
|
966
|
-
};
|
|
967
|
-
cellInner: {
|
|
968
|
-
flex: number;
|
|
969
|
-
borderRadius: number;
|
|
970
|
-
overflow: "hidden";
|
|
971
|
-
backgroundColor: string;
|
|
972
|
-
};
|
|
973
|
-
cellImage: {
|
|
974
|
-
width: "100%";
|
|
975
|
-
height: "100%";
|
|
976
|
-
};
|
|
977
|
-
cellRing: {
|
|
978
|
-
position: "absolute";
|
|
979
|
-
top: number;
|
|
980
|
-
left: number;
|
|
981
|
-
right: number;
|
|
982
|
-
bottom: number;
|
|
983
|
-
borderRadius: number;
|
|
984
|
-
borderWidth: number;
|
|
985
|
-
};
|
|
986
|
-
cellDim: {
|
|
987
|
-
opacity: number;
|
|
988
|
-
};
|
|
989
|
-
cellBadge: {
|
|
990
|
-
position: "absolute";
|
|
991
|
-
top: number;
|
|
992
|
-
right: number;
|
|
993
|
-
minWidth: number;
|
|
994
|
-
height: number;
|
|
995
|
-
paddingHorizontal: number;
|
|
996
|
-
borderRadius: number;
|
|
997
|
-
alignItems: "center";
|
|
998
|
-
justifyContent: "center";
|
|
999
|
-
};
|
|
1000
|
-
cellBadgeText: {
|
|
1001
|
-
color: string;
|
|
1002
|
-
fontSize: number;
|
|
1003
|
-
fontWeight: "700";
|
|
1004
|
-
lineHeight: number;
|
|
1005
|
-
};
|
|
1006
|
-
empty: {
|
|
1007
|
-
flex: number;
|
|
1008
|
-
alignItems: "center";
|
|
1009
|
-
justifyContent: "center";
|
|
1010
|
-
paddingHorizontal: number;
|
|
1011
|
-
};
|
|
1012
|
-
emptyIconWrap: {
|
|
1013
|
-
opacity: number;
|
|
1014
|
-
marginBottom: number;
|
|
1015
|
-
};
|
|
1016
|
-
emptyTitle: {
|
|
1017
|
-
fontSize: number;
|
|
1018
|
-
fontWeight: "600";
|
|
1019
|
-
textAlign: "center";
|
|
1020
|
-
marginBottom: number;
|
|
1021
|
-
};
|
|
1022
|
-
emptySubtitle: {
|
|
1023
|
-
fontSize: number;
|
|
1024
|
-
fontWeight: "400";
|
|
1025
|
-
textAlign: "center";
|
|
1026
|
-
opacity: number;
|
|
1027
|
-
marginBottom: number;
|
|
1028
|
-
};
|
|
1029
|
-
emptyCta: {
|
|
1030
|
-
flexDirection: "row";
|
|
1031
|
-
alignItems: "center";
|
|
1032
|
-
gap: number;
|
|
1033
|
-
paddingHorizontal: number;
|
|
1034
|
-
paddingVertical: number;
|
|
1035
|
-
borderRadius: number;
|
|
1036
|
-
};
|
|
1037
|
-
emptyCtaText: {
|
|
1038
|
-
color: string;
|
|
1039
|
-
fontSize: number;
|
|
1040
|
-
fontWeight: "600";
|
|
1041
|
-
};
|
|
1042
|
-
};
|
|
1043
825
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/fileManagement/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiE7B;;;OAGG
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/fileManagement/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAiE7B;;;OAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgvBL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAIvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC;;;;;;OAMG;IACH,KAAK,EAAE,cAAc,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,0JAA0J;IAC1J,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD;;;;;OAKG;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B,+MAA+M;IAC/M,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,kCAAkC;IAClC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,+BAA+B;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAMD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,EACrB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,GAClD,IAAI,CAIN;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,+PAkB/B,wBAAwB,KAAG,
|
|
1
|
+
{"version":3,"file":"useAuthOperations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/context/hooks/useAuthOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAwB,MAAM,aAAa,CAAC;AAIvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC;;;;;;OAMG;IACH,KAAK,EAAE,cAAc,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IACnF,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,iBAAiB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,0JAA0J;IAC1J,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD;;;;;OAKG;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B,+MAA+M;IAC/M,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAChD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,uBAAuB;IACtC,uCAAuC;IACvC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,kCAAkC;IAClC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,+BAA+B;IAC/B,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAMD;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,cAAc,EACrB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,GAClD,IAAI,CAIN;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,+PAkB/B,wBAAwB,KAAG,uBAqR7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOxyAccountGraph.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/useOxyAccountGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"useOxyAccountGraph.d.ts","sourceRoot":"","sources":["../../../../../src/ui/context/useOxyAccountGraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMxH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAmB,CAAC;AAErD,UAAU,wBAAwB;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,aAAa,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxG,WAAW,EAAE,WAAW,CAAC;IACzB,0BAA0B,EAAE,SAAS,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;IACtE,oBAAoB,EAAE,SAAS,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;CACtD;AAED,wBAAgB,kBAAkB,CAAC,EACjC,eAAe,EACf,UAAU,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,aAAa,EACb,WAAW,EACX,0BAA0B,EAC1B,oBAAoB,GACrB,EAAE,wBAAwB;;2BAGqB,OAAO,CAAC,IAAI,CAAC;iCAsCvC,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;0BAiC3B,kBAAkB,KAAG,OAAO,CAAC,WAAW,CAAC;EAczD"}
|
|
@@ -14,6 +14,15 @@ export declare const useUserProfiles: (sessionIds: string[], options?: {
|
|
|
14
14
|
/**
|
|
15
15
|
* Get current authenticated user.
|
|
16
16
|
*
|
|
17
|
+
* Hydrates from `GET /users/me` (the bearer identifies the session) rather than
|
|
18
|
+
* `GET /session/user/:activeSessionId`. Post zero-cookie cutover the bearer is
|
|
19
|
+
* the single source of session truth, so keying the CURRENT user off a session
|
|
20
|
+
* id in the URL was a second, independently-updated source that could disagree
|
|
21
|
+
* with the bearer during an account switch — the request fired under the
|
|
22
|
+
* previous account's token against the new account's session id and 404'd. The
|
|
23
|
+
* query KEY stays scoped to the active account so the cache re-scopes (and
|
|
24
|
+
* refetches) on a switch; only the URL stopped carrying a session id.
|
|
25
|
+
*
|
|
17
26
|
* The store-mirror effect must NOT overwrite the in-memory user while a
|
|
18
27
|
* write mutation is in flight — otherwise a stale background refetch
|
|
19
28
|
* landing between optimistic update and server-confirmed update would
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAccountQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/useAccountQueries.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAMtD;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yEAevF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,EAAE,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yEAepF,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"useAccountQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/useAccountQueries.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAMtD;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yEAevF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,EAAE,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yEAepF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yEA2D7D,CAAC;AAsBF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yEAejF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yEA6BzF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,EAAE,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;;;YAevF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,mFAgB/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,0GAwBlF,CAAC"}
|
|
@@ -29,6 +29,9 @@
|
|
|
29
29
|
* marked stale — it is already managed).
|
|
30
30
|
* - Nested objects (`name`, `_count`, `relationship`) merge field-by-field, so
|
|
31
31
|
* a partial `name`/`_count`/`relationship` never replaces a fuller one.
|
|
32
|
+
* - `relationship` is written ONLY under the viewer-scoped by-username key —
|
|
33
|
+
* the viewer-independent by-id key never stores it (prevents one viewer's
|
|
34
|
+
* follow state from leaking into every other viewer's identity cache).
|
|
32
35
|
* - Anti-degradation: a good `username` / `name.displayName` / `avatar` is
|
|
33
36
|
* never overwritten by a degraded/empty one (empty username, the
|
|
34
37
|
* `'Unknown user'` ghost-author sentinel, `null` avatar).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"userCache.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/userCache.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"userCache.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/userCache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIzD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,2EAA2E;IAC3E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACjC,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,qEAAqE;IACrE,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC3D;;;;OAIG;IACH,YAAY,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACtE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAqLD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,aAAa,EACnB,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CAoBN;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI,GAAG,SAAS,EAClD,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI,CAMN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAvatarPicker.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useAvatarPicker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAsB,CAAC;AAItD,UAAU,sBAAsB;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;CAC3F;AAkBD,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,EACX,eAAe,GAChB,EAAE,sBAAsB;;
|
|
1
|
+
{"version":3,"file":"useAvatarPicker.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useAvatarPicker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAgB,WAAW,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAsB,CAAC;AAItD,UAAU,sBAAsB;IAC9B,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;CAC3F;AAkBD,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,eAAe,EACf,eAAe,EACf,WAAW,EACX,eAAe,GAChB,EAAE,sBAAsB;;EA8GxB"}
|
|
@@ -11,8 +11,9 @@ export interface UseFileDownloadUrlResult {
|
|
|
11
11
|
/**
|
|
12
12
|
* Hook to resolve a file's download URL asynchronously.
|
|
13
13
|
*
|
|
14
|
-
* Uses `getFileDownloadUrlAsync
|
|
15
|
-
*
|
|
14
|
+
* Uses `getFileDownloadUrlAsync`, which returns a scoped media-token stream URL
|
|
15
|
+
* for private assets. There is no sync CDN fallback — the synchronous
|
|
16
|
+
* `getFileDownloadUrl` is public-CDN-only and 404s for private uploads.
|
|
16
17
|
*/
|
|
17
18
|
export declare const useFileDownloadUrl: (oxyServices: OxyServices | null | undefined, fileId: string | null | undefined, options?: UseFileDownloadUrlOptions) => UseFileDownloadUrlResult;
|
|
18
19
|
//# sourceMappingURL=useFileDownloadUrl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFileDownloadUrl.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useFileDownloadUrl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED
|
|
1
|
+
{"version":3,"file":"useFileDownloadUrl.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useFileDownloadUrl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,GAC7B,aAAa,WAAW,GAAG,IAAI,GAAG,SAAS,EAC3C,QAAQ,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,UAAU,yBAAyB,KAClC,wBA6DF,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { FileMetadata } from '@oxyhq/core';
|
|
2
|
+
/**
|
|
3
|
+
* The variant-aware batch resolver contract (`@oxyhq/core`).
|
|
4
|
+
*
|
|
5
|
+
* `getFileDownloadUrls` takes a per-file `{ fileId, variant }` list and returns
|
|
6
|
+
* a map keyed by `fileId`; ids that are denied or missing are OMITTED (never an
|
|
7
|
+
* empty string), and PRIVATE assets resolve to a working scoped-media-token
|
|
8
|
+
* stream URL. Typed here rather than `Pick<OxyServices, …>` so this file states
|
|
9
|
+
* the exact contract it depends on.
|
|
10
|
+
*/
|
|
11
|
+
export interface AssetUrlBatchResolver {
|
|
12
|
+
getFileDownloadUrls(requests: Array<{
|
|
13
|
+
fileId: string;
|
|
14
|
+
variant?: string;
|
|
15
|
+
}>, options?: {
|
|
16
|
+
expiresIn?: number;
|
|
17
|
+
context?: string;
|
|
18
|
+
}): Promise<Record<string, string>>;
|
|
19
|
+
}
|
|
20
|
+
/** React Query prefix — scoped media URLs must never leak across accounts. */
|
|
21
|
+
export declare const ASSET_DOWNLOAD_URLS_QUERY_KEY: "assetDownloadUrls";
|
|
22
|
+
/**
|
|
23
|
+
* True when a file is an optimistic placeholder that has not been persisted by
|
|
24
|
+
* the server yet — either its id is still the client-minted `temp-…` id, or it
|
|
25
|
+
* carries the `uploading` flag. Mirrors the `temp-` id guard precedent in
|
|
26
|
+
* `@oxyhq/core`'s `avatarUtils.updateAvatarVisibility`.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isOptimisticFile(file: Pick<FileMetadata, 'id' | 'metadata'>): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Resolve the image source for a grid tile.
|
|
31
|
+
*
|
|
32
|
+
* - Optimistic entry → its locally-picked preview uri (never an asset URL).
|
|
33
|
+
* - Persisted entry → the private-safe URL from {@link useResolvedFileUrls},
|
|
34
|
+
* or `undefined` while it is still resolving / was denied (tile shows a
|
|
35
|
+
* placeholder instead of a guaranteed-404 CDN URL).
|
|
36
|
+
*/
|
|
37
|
+
export declare function fileThumbSource(file: FileMetadata, resolved: ReadonlyMap<string, string>): string | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Batch-resolve private-safe thumbnail URLs for the given files.
|
|
40
|
+
*
|
|
41
|
+
* Only image/video, non-optimistic files are resolved (documents render an
|
|
42
|
+
* icon, optimistic entries render their local preview). Returns a stable
|
|
43
|
+
* `Map<fileId, url>`; missing entries mean "not resolved yet or access denied".
|
|
44
|
+
*/
|
|
45
|
+
export declare function useResolvedFileUrls(oxyServices: AssetUrlBatchResolver, files: FileMetadata[],
|
|
46
|
+
/** Active viewer account id — media tokens are minted per user; must be in the query key. */
|
|
47
|
+
viewerId?: string | null): ReadonlyMap<string, string>;
|
|
48
|
+
//# sourceMappingURL=useResolvedFileUrls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResolvedFileUrls.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useResolvedFileUrls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,CACjB,QAAQ,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EACrD,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpC;AAiCD,8EAA8E;AAC9E,eAAO,MAAM,6BAA6B,EAAG,mBAA4B,CAAC;AAE1E;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,UAAU,CAAC,GAAG,OAAO,CAGrF;AAkBD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,MAAM,GAAG,SAAS,CAKpB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,qBAAqB,EAClC,KAAK,EAAE,YAAY,EAAE;AACrB,6FAA6F;AAC7F,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CA0D7B"}
|
|
@@ -21,7 +21,7 @@ export { RequireOxyAuth } from './components/RequireOxyAuth.js';
|
|
|
21
21
|
export type { RequireOxyAuthProps, RequireOxyAuthPrompt } from './components/RequireOxyAuth.js';
|
|
22
22
|
export { default as FollowButton } from './components/FollowButton.js';
|
|
23
23
|
export { default as OxyPayButton } from './components/OxyPayButton.js';
|
|
24
|
-
export { FontLoader, setupFonts } from './components/FontLoader
|
|
24
|
+
export { FontLoader, setupFonts } from './components/FontLoader';
|
|
25
25
|
export { default as ProfileButton } from './components/ProfileButton.js';
|
|
26
26
|
export { useOxy } from './context/OxyContext.js';
|
|
27
27
|
export { useAuth } from './hooks/useAuth.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA4B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAA6B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gCAA6B,CAAC;AAC7F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,iCAA8B,CAAC;AAC1E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AACtE,YAAY,EAAE,kBAAkB,EAAE,MAAM,+BAA4B,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA4B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAA6B,CAAC;AAC7D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,gCAA6B,CAAC;AAC7F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,8BAA2B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,+BAA4B,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAsB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAiB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,sBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAoB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAoB,CAAC;AAG9E,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,4BAAyB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,kCAA+B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,kCAA+B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,mCAAgC,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,oCAAiC,CAAC;AAGnF,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAAuB,CAAC;AAGxD,OAAO,EACH,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,0BAAuB,CAAC;AAC/B,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAAuB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileManagementScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/FileManagementScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAgBjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAAyB,CAAC;AAgFzE,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"FileManagementScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/FileManagementScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAgBjF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,4BAAyB,CAAC;AAgFzE,QAAA,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA82D7D,CAAC;AAIF,eAAe,oBAAoB,CAAC"}
|
|
@@ -21,7 +21,7 @@ export interface PhotoPickerViewProps {
|
|
|
21
21
|
hasMore: boolean;
|
|
22
22
|
loadingMore: boolean;
|
|
23
23
|
reduceMotion: boolean;
|
|
24
|
-
getThumbUrl: (file: FileMetadata
|
|
24
|
+
getThumbUrl: (file: FileMetadata) => string | undefined;
|
|
25
25
|
primaryColor: string;
|
|
26
26
|
isOwner: boolean;
|
|
27
27
|
onTogglePhoto: (photo: FileMetadata) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PhotoPickerSection.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/fileManagement/PhotoPickerSection.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"PhotoPickerSection.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/fileManagement/PhotoPickerSection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAqBjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6FhD;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,GAAG,SAAS,CAAC;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7C,cAAc,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC;CACtE;AAoJD,QAAA,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA+TnD,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFileUploadState.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/screens/fileManagement/hooks/useFileUploadState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAoB,YAAY,EAAE,MAAM,aAAa,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iDAA8C,CAAC;AAElF,OAAO,EACH,KAAK,iBAAiB,EAQzB,MAAM,cAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"useFileUploadState.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/screens/fileManagement/hooks/useFileUploadState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAoB,YAAY,EAAE,MAAM,aAAa,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iDAA8C,CAAC;AAElF,OAAO,EACH,KAAK,iBAAiB,EAQzB,MAAM,cAAW,CAAC;AAanB,8EAA8E;AAC9E,MAAM,WAAW,wBAAwB;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;IACrD,iBAAiB,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IACrD,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IACvC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACtF,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,KAAK,MAAM,CAAC;CACtE;AAED,mDAAmD;AACnD,MAAM,WAAW,wBAAwB;IACrC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,mBAAmB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAAI,sKAchC,wBAAwB,KAAG,wBAyb7B,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Column / tile geometry for the "Choose photo" grid.
|
|
3
|
+
*
|
|
4
|
+
* CRITICAL: the grid MUST size its tiles from the width of the bottom-sheet
|
|
5
|
+
* container it actually renders in — NOT the device screen. On wide viewports
|
|
6
|
+
* the sheet is centered and narrower than the screen (Bloom `<Dialog>` centers
|
|
7
|
+
* on `md+`), so deriving columns/tiles from `Dimensions.get('window').width`
|
|
8
|
+
* (or `useWindowDimensions`) overflows / mis-sizes the tiles. The caller
|
|
9
|
+
* therefore measures the grid container (`onLayout` on a `style`-only wrapper —
|
|
10
|
+
* RN-Web does not fire `onLayout` for `className`'d nodes) and passes that
|
|
11
|
+
* measured width here.
|
|
12
|
+
*
|
|
13
|
+
* Pure and side-effect free so it is unit-testable in Jest (which cannot catch
|
|
14
|
+
* layout bugs in the rendered tree).
|
|
15
|
+
*/
|
|
16
|
+
/** Inter-tile gutter, in px. Apple Photos-style hairline gap. */
|
|
17
|
+
export declare const PHOTO_GRID_GUTTER = 2;
|
|
18
|
+
/** Container width (px) at/above which the grid switches to 4 columns. */
|
|
19
|
+
export declare const PHOTO_GRID_WIDE_BREAKPOINT = 600;
|
|
20
|
+
export interface PhotoGridLayout {
|
|
21
|
+
/** Number of columns for the current container width. */
|
|
22
|
+
columns: number;
|
|
23
|
+
/**
|
|
24
|
+
* Square tile edge in px. Floored so a full row (columns tiles + gutters)
|
|
25
|
+
* never exceeds the container width.
|
|
26
|
+
*/
|
|
27
|
+
cellSize: number;
|
|
28
|
+
/** Inter-tile gutter used to derive `cellSize`. */
|
|
29
|
+
gutter: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Derive the column count + square tile size from the measured grid-container
|
|
33
|
+
* width. Returns `cellSize: 0` for a not-yet-measured (`<= 0`) width so callers
|
|
34
|
+
* can gate rendering until a real measurement arrives.
|
|
35
|
+
*/
|
|
36
|
+
export declare function computePhotoGridLayout(containerWidth: number): PhotoGridLayout;
|
|
37
|
+
//# sourceMappingURL=photoGridLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"photoGridLayout.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/screens/fileManagement/photoGridLayout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,0EAA0E;AAC1E,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC5B,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe,CAK9E"}
|
|
@@ -3,14 +3,21 @@ import { type OxyServices, type TokenTransport } from '@oxyhq/core';
|
|
|
3
3
|
* Platform `TokenTransport` for `SessionClient` (device-first model).
|
|
4
4
|
*
|
|
5
5
|
* `ensureActiveToken` is the fallback the client uses when a `session_state`
|
|
6
|
-
* push arrived WITHOUT an embedded `activeToken` and the
|
|
7
|
-
*
|
|
8
|
-
* request-time preflight, and the 401
|
|
9
|
-
* `oxyServices.httpService.refreshAccessToken(...)` — which runs
|
|
10
|
-
* refresh handler (present the persisted zero-cookie `deviceId` +
|
|
11
|
-
* at `POST /session/device/token
|
|
12
|
-
*
|
|
13
|
-
*
|
|
6
|
+
* push arrived WITHOUT an embedded `activeToken` and the planted bearer does not
|
|
7
|
+
* already belong to the state's active account. It mints one through the ONE
|
|
8
|
+
* unified single-flight the scheduler, the request-time preflight, and the 401
|
|
9
|
+
* retry all use — `oxyServices.httpService.refreshAccessToken(...)` — which runs
|
|
10
|
+
* the installed refresh handler (present the persisted zero-cookie `deviceId` +
|
|
11
|
+
* `deviceSecret` at `POST /session/device/token`, which mints for the device's
|
|
12
|
+
* CURRENT active account). Routing through the SAME entry point means this lane
|
|
13
|
+
* can never double-rotate the device secret against the others: it has NO
|
|
14
|
+
* private single-flight of its own.
|
|
15
|
+
*
|
|
16
|
+
* The short-circuit compares the planted bearer's ACCOUNT against
|
|
17
|
+
* `state.activeAccountId`, not mere token presence: a bearer for the PREVIOUS
|
|
18
|
+
* account (an account switch) must still mint the new account's token — skipping
|
|
19
|
+
* on presence alone would leave a subscriber observing the new active account
|
|
20
|
+
* under the old account's bearer (the account-switch 404 race).
|
|
14
21
|
*
|
|
15
22
|
* A failure is logged and swallowed: this method must never throw out (it runs
|
|
16
23
|
* inside the socket state handler).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenTransport.d.ts","sourceRoot":"","sources":["../../../../../src/ui/session/tokenTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAG5E
|
|
1
|
+
{"version":3,"file":"tokenTransport.d.ts","sourceRoot":"","sources":["../../../../../src/ui/session/tokenTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAG5E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,cAAc,CA8B7E"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Ionicons } from '@expo/vector-icons';
|
|
2
|
+
import type { AssetUploadInput, RNFileDescriptor } from '@oxyhq/core';
|
|
3
|
+
import type { ComponentProps } from 'react';
|
|
2
4
|
import type { RouteName } from '../navigation/routes.js';
|
|
3
5
|
/**
|
|
4
6
|
* Extended File interface that includes a `uri` property for mobile preview support.
|
|
@@ -32,7 +34,7 @@ export declare function formatFileSize(bytes: number): string;
|
|
|
32
34
|
/**
|
|
33
35
|
* Get icon name for file based on content type
|
|
34
36
|
*/
|
|
35
|
-
export declare function getFileIcon(contentType: string):
|
|
37
|
+
export declare function getFileIcon(contentType: string): ComponentProps<typeof Ionicons>['name'];
|
|
36
38
|
/**
|
|
37
39
|
* Convert a document/image picker asset into a value that
|
|
38
40
|
* `OxyServices.assetUpload` can accept.
|
|
@@ -46,15 +48,6 @@ export declare function getFileIcon(contentType: string): string;
|
|
|
46
48
|
* 'ArrayBuffer' and 'ArrayBufferView' are not supported").
|
|
47
49
|
*/
|
|
48
50
|
export declare function convertDocumentPickerAssetToFile(doc: PickerAsset, index: number): Promise<FileWithUri | RNFileDescriptor | null>;
|
|
49
|
-
/**
|
|
50
|
-
* Helper to safely request a thumbnail variant only for image mime types.
|
|
51
|
-
* Prevents backend warnings: "Variant thumb not supported for mime application/pdf".
|
|
52
|
-
*
|
|
53
|
-
* @param file - File metadata
|
|
54
|
-
* @param variant - Variant type (default: 'thumb')
|
|
55
|
-
* @param getFileDownloadUrl - Function to get download URL from oxyServices
|
|
56
|
-
*/
|
|
57
|
-
export declare function getSafeDownloadUrl(file: FileMetadata, variant: string, getFileDownloadUrl: (fileId: string, variant?: string) => string): string;
|
|
58
51
|
/**
|
|
59
52
|
* Upload file raw - helper function for file uploads
|
|
60
53
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileManagement.d.ts","sourceRoot":"","sources":["../../../../../src/ui/utils/fileManagement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"fileManagement.d.ts","sourceRoot":"","sources":["../../../../../src/ui/utils/fileManagement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAgB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAG5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAsB,CAAC;AAGtD;;;;GAIG;AACH,UAAU,WAAY,SAAQ,IAAI;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAO5E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CASxF;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gCAAgC,CAClD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,GAAG,gBAAgB,GAAG,IAAI,CAAC,CA4DhD;AAED;;GAEG;AACH,wBAAsB,aAAa,CAC/B,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EAEd,WAAW,EAAE,GAAG,EAChB,UAAU,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,gBAGjD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACxE,2BAA2B;IAE3B,WAAW,EAAE,GAAG,CAAC;IACjB,mDAAmD;IACnD,qBAAqB,EAAE;QACnB,WAAW,EAAE,CAAC,OAAO,EAAE;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KAClE,CAAC;IACF,4CAA4C;IAC5C,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,gCAAgC;IAChC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACvC,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,IAAI,CA8ChF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oxyhq/services",
|
|
3
|
-
"version": "22.
|
|
3
|
+
"version": "22.6.0",
|
|
4
4
|
"description": "OxyHQ Expo/React Native SDK — UI components, screens, and native features",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
},
|
|
128
128
|
"dependencies": {
|
|
129
129
|
"@oxyhq/contracts": "0.17.0",
|
|
130
|
-
"@oxyhq/core": "^12.
|
|
130
|
+
"@oxyhq/core": "^12.6.0",
|
|
131
131
|
"@simplewebauthn/browser": "^13.3.0",
|
|
132
132
|
"color": "^4.2.3"
|
|
133
133
|
},
|
|
@@ -135,7 +135,8 @@
|
|
|
135
135
|
"@biomejs/biome": "^1.9.4",
|
|
136
136
|
"@commitlint/cli": "^17.6.5",
|
|
137
137
|
"@commitlint/config-conventional": "^17.6.5",
|
|
138
|
-
"@
|
|
138
|
+
"@expo/vector-icons": "^15.0.3",
|
|
139
|
+
"@oxyhq/core": "12.6.0",
|
|
139
140
|
"@react-native-async-storage/async-storage": "^2.0.0",
|
|
140
141
|
"@react-native-community/netinfo": "^11.4.1",
|
|
141
142
|
"@react-native/babel-preset": "^0.86.0",
|
|
@@ -176,7 +177,7 @@
|
|
|
176
177
|
"peerDependencies": {
|
|
177
178
|
"@expo/vector-icons": "^15.0.3",
|
|
178
179
|
"@oxyhq/bloom": ">=0.16.0",
|
|
179
|
-
"@oxyhq/core": "^12.
|
|
180
|
+
"@oxyhq/core": "^12.6.0",
|
|
180
181
|
"@react-native-async-storage/async-storage": "^2.0.0",
|
|
181
182
|
"@react-native-community/netinfo": "^11.4.1",
|
|
182
183
|
"@tanstack/query-async-storage-persister": "^5.101",
|
|
@@ -213,9 +214,6 @@
|
|
|
213
214
|
"expo-modules-core": {
|
|
214
215
|
"optional": true
|
|
215
216
|
},
|
|
216
|
-
"@expo/vector-icons": {
|
|
217
|
-
"optional": true
|
|
218
|
-
},
|
|
219
217
|
"@types/react-native": {
|
|
220
218
|
"optional": true
|
|
221
219
|
},
|
|
@@ -225,9 +223,6 @@
|
|
|
225
223
|
"react-native-keyboard-controller": {
|
|
226
224
|
"optional": true
|
|
227
225
|
},
|
|
228
|
-
"react-native-qrcode-svg": {
|
|
229
|
-
"optional": true
|
|
230
|
-
},
|
|
231
226
|
"expo": {
|
|
232
227
|
"optional": true
|
|
233
228
|
},
|