@oxyhq/services 22.6.2 → 22.6.3
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/ui/components/fileManagement/FileViewer.js +99 -77
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +33 -40
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js +92 -88
- package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +169 -310
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileViewer.js +100 -78
- package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/module/ui/components/fileManagement/UploadPreview.js +34 -41
- package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js +94 -90
- package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +171 -313
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/FileViewer.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/ui/components/fileManagement/FileViewer.tsx +82 -68
- package/src/ui/components/fileManagement/UploadPreview.tsx +34 -29
- package/src/ui/components/photogrid/JustifiedPhotoGrid.tsx +14 -12
- package/src/ui/screens/FileManagementScreen.tsx +123 -300
- package/lib/commonjs/ui/components/fileManagement/styles.js +0 -832
- package/lib/commonjs/ui/components/fileManagement/styles.js.map +0 -1
- package/lib/module/ui/components/fileManagement/styles.js +0 -828
- package/lib/module/ui/components/fileManagement/styles.js.map +0 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/styles.d.ts +0 -825
- package/lib/typescript/commonjs/ui/components/fileManagement/styles.d.ts.map +0 -1
- package/lib/typescript/module/ui/components/fileManagement/styles.d.ts +0 -825
- package/lib/typescript/module/ui/components/fileManagement/styles.d.ts.map +0 -1
- package/src/ui/components/fileManagement/styles.ts +0 -823
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_expoImage","_vectorIcons","_bloom","_theme","_fileManagement","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_expoImage","_vectorIcons","_bloom","_theme","_fileManagement","_jsxRuntime","previewStyles","StyleSheet","create","thumbnail","width","height","borderRadius","UploadPreviewContent","pendingFiles","onConfirm","onCancel","onRemoveFile","showActions","colors","useTheme","totalSize","reduce","sum","f","size","jsxs","View","className","children","Text","length","jsx","TouchableOpacity","onPress","Ionicons","name","color","text","ScrollView","map","pendingFile","index","isImage","type","startsWith","preview","Image","source","uri","style","contentFit","backgroundColor","backgroundSecondary","getFileIcon","primary","numberOfLines","formatFileSize","error","primaryForeground","UploadPreview","control","inline","Dialog","onClose","label","actions","exports"],"sourceRoot":"../../../../../src","sources":["ui/components/fileManagement/UploadPreview.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,15 +25,21 @@ const JustifiedPhotoGrid = ({
|
|
|
25
25
|
maxRowHeight = 300,
|
|
26
26
|
dateFormatLocale = 'en-US'
|
|
27
27
|
}) => {
|
|
28
|
-
// Responsive width measurement if not explicitly provided
|
|
28
|
+
// Responsive width measurement if not explicitly provided. Never gate the
|
|
29
|
+
// whole grid on measurement — onLayout is unreliable on web (same class of
|
|
30
|
+
// bug fixed in PhotoPickerSection). Fall back to window width until measured.
|
|
31
|
+
const {
|
|
32
|
+
width: windowWidth
|
|
33
|
+
} = (0, _reactNative.useWindowDimensions)();
|
|
29
34
|
const [measuredWidth, setMeasuredWidth] = (0, _react.useState)(null);
|
|
30
|
-
const
|
|
31
|
-
|
|
35
|
+
const resolvedExplicitWidth = explicitWidth != null && explicitWidth > 0 ? explicitWidth : null;
|
|
36
|
+
const resolvedMeasuredWidth = measuredWidth != null && measuredWidth > 0 ? measuredWidth : null;
|
|
37
|
+
const effectiveWidth = resolvedExplicitWidth ?? resolvedMeasuredWidth ?? windowWidth;
|
|
32
38
|
const onLayoutContainer = (0, _react.useCallback)(e => {
|
|
33
|
-
if (
|
|
39
|
+
if (resolvedExplicitWidth != null) return; // ignore if controlled
|
|
34
40
|
const w = e.nativeEvent.layout.width;
|
|
35
41
|
setMeasuredWidth(prev => prev === w ? prev : w);
|
|
36
|
-
}, [
|
|
42
|
+
}, [resolvedExplicitWidth]);
|
|
37
43
|
// Ensure dimensions are loaded for displayed photos
|
|
38
44
|
(0, _react.useEffect)(() => {
|
|
39
45
|
loadPhotoDimensions(photos);
|
|
@@ -64,94 +70,92 @@ const JustifiedPhotoGrid = ({
|
|
|
64
70
|
width: '100%'
|
|
65
71
|
},
|
|
66
72
|
onLayout: onLayoutContainer,
|
|
67
|
-
children:
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
children: sortedDates.map(date => {
|
|
74
|
+
const dayPhotos = photosByDate[date];
|
|
75
|
+
// createJustifiedRows should build rows such that the "ideal" height (availableWidth / totalAspect) stays within min/max.
|
|
76
|
+
// We pass the effective container width.
|
|
77
|
+
const dateWidth = dateWidths[date] ?? effectiveWidth; // fallback to overall width until measured
|
|
78
|
+
const rows = dateWidth > 0 ? createJustifiedRows(dayPhotos, dateWidth) : [];
|
|
79
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
80
|
+
style: {
|
|
81
|
+
marginBottom: 24,
|
|
82
|
+
width: '100%'
|
|
83
|
+
},
|
|
84
|
+
onLayout: e => onLayoutDate(date, e.nativeEvent.layout.width),
|
|
85
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
86
|
+
style: {
|
|
87
|
+
fontSize: 14,
|
|
88
|
+
fontWeight: '600',
|
|
89
|
+
marginBottom: 12,
|
|
90
|
+
color: textColor
|
|
91
|
+
},
|
|
92
|
+
children: new Date(date).toLocaleDateString(dateFormatLocale, {
|
|
93
|
+
weekday: 'long',
|
|
94
|
+
year: 'numeric',
|
|
95
|
+
month: 'long',
|
|
96
|
+
day: 'numeric'
|
|
97
|
+
})
|
|
98
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
75
99
|
style: {
|
|
76
|
-
marginBottom: 24,
|
|
77
100
|
width: '100%'
|
|
78
101
|
},
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
const dims = photoDimensions[p.id];
|
|
101
|
-
return dims ? dims.width / dims.height : 4 / 3;
|
|
102
|
-
});
|
|
103
|
-
const totalAspect = aspects.reduce((a, b) => a + b, 0);
|
|
104
|
-
const gapsTotal = gap * (row.length - 1);
|
|
105
|
-
const availableWidth = dateWidth - gapsTotal;
|
|
106
|
-
// Ideal height that perfectly fills width when preserving aspect ratios
|
|
107
|
-
const idealHeight = availableWidth / totalAspect;
|
|
108
|
-
// We rely on row construction keeping idealHeight within min/max bounds; if not, clamp but then distribute leftover/overflow.
|
|
109
|
-
let rowHeight = idealHeight;
|
|
110
|
-
let widthAdjustment = 0; // difference to distribute if clamped
|
|
111
|
-
if (idealHeight < minRowHeight) {
|
|
112
|
-
rowHeight = minRowHeight;
|
|
113
|
-
widthAdjustment = availableWidth - rowHeight * totalAspect; // negative means overflow
|
|
114
|
-
} else if (idealHeight > maxRowHeight) {
|
|
115
|
-
rowHeight = maxRowHeight;
|
|
116
|
-
widthAdjustment = availableWidth - rowHeight * totalAspect;
|
|
117
|
-
}
|
|
102
|
+
children: rows.map((row, rowIndex) => {
|
|
103
|
+
// Compute total aspect ratios using loaded dimensions (fallback 4/3)
|
|
104
|
+
const aspects = row.map(p => {
|
|
105
|
+
const dims = photoDimensions[p.id];
|
|
106
|
+
return dims ? dims.width / dims.height : 4 / 3;
|
|
107
|
+
});
|
|
108
|
+
const totalAspect = aspects.reduce((a, b) => a + b, 0);
|
|
109
|
+
const gapsTotal = gap * (row.length - 1);
|
|
110
|
+
const availableWidth = dateWidth - gapsTotal;
|
|
111
|
+
// Ideal height that perfectly fills width when preserving aspect ratios
|
|
112
|
+
const idealHeight = availableWidth / totalAspect;
|
|
113
|
+
// We rely on row construction keeping idealHeight within min/max bounds; if not, clamp but then distribute leftover/overflow.
|
|
114
|
+
let rowHeight = idealHeight;
|
|
115
|
+
let widthAdjustment = 0; // difference to distribute if clamped
|
|
116
|
+
if (idealHeight < minRowHeight) {
|
|
117
|
+
rowHeight = minRowHeight;
|
|
118
|
+
widthAdjustment = availableWidth - rowHeight * totalAspect; // negative means overflow
|
|
119
|
+
} else if (idealHeight > maxRowHeight) {
|
|
120
|
+
rowHeight = maxRowHeight;
|
|
121
|
+
widthAdjustment = availableWidth - rowHeight * totalAspect;
|
|
122
|
+
}
|
|
118
123
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
124
|
+
// Pre-compute widths maintaining aspect ratios
|
|
125
|
+
let widths = aspects.map(ar => ar * rowHeight);
|
|
126
|
+
// If we have widthAdjustment (due to clamping) distribute proportionally so row still fills exactly
|
|
127
|
+
if (widthAdjustment !== 0) {
|
|
128
|
+
const widthSum = widths.reduce((a, b) => a + b, 0);
|
|
129
|
+
widths = widths.map(w => w + w / widthSum * widthAdjustment);
|
|
130
|
+
}
|
|
126
131
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
})
|
|
132
|
+
// To combat rounding issues, adjust last item width to fill precisely
|
|
133
|
+
const widthSumRounded = widths.reduce((a, b) => a + b, 0);
|
|
134
|
+
const roundingDiff = availableWidth - widthSumRounded;
|
|
135
|
+
if (Math.abs(roundingDiff) > 0.5) {
|
|
136
|
+
widths[widths.length - 1] += roundingDiff; // minimal correction
|
|
137
|
+
}
|
|
138
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
139
|
+
style: {
|
|
140
|
+
flexDirection: 'row',
|
|
141
|
+
width: '100%',
|
|
142
|
+
marginBottom: 4
|
|
143
|
+
},
|
|
144
|
+
children: row.map((p, i) => {
|
|
145
|
+
const photoWidth = widths[i];
|
|
146
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
147
|
+
style: {
|
|
148
|
+
width: photoWidth,
|
|
149
|
+
height: rowHeight,
|
|
150
|
+
marginRight: i === row.length - 1 ? 0 : gap
|
|
151
|
+
},
|
|
152
|
+
children: renderJustifiedPhotoItem(p, photoWidth, rowHeight, i === row.length - 1)
|
|
153
|
+
}, p.id);
|
|
154
|
+
})
|
|
155
|
+
}, rowIndex);
|
|
156
|
+
})
|
|
157
|
+
})]
|
|
158
|
+
}, date);
|
|
155
159
|
})
|
|
156
160
|
});
|
|
157
161
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","JustifiedPhotoGrid","photos","photoDimensions","loadPhotoDimensions","createJustifiedRows","renderJustifiedPhotoItem","textColor","containerWidth","explicitWidth","gap","minRowHeight","maxRowHeight","dateFormatLocale","measuredWidth","setMeasuredWidth","useState","effectiveWidth","onLayoutContainer","useCallback","w","nativeEvent","layout","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","JustifiedPhotoGrid","photos","photoDimensions","loadPhotoDimensions","createJustifiedRows","renderJustifiedPhotoItem","textColor","containerWidth","explicitWidth","gap","minRowHeight","maxRowHeight","dateFormatLocale","width","windowWidth","useWindowDimensions","measuredWidth","setMeasuredWidth","useState","resolvedExplicitWidth","resolvedMeasuredWidth","effectiveWidth","onLayoutContainer","useCallback","w","nativeEvent","layout","prev","useEffect","map","p","id","join","photosByDate","useMemo","reduce","groups","photo","date","Date","uploadDate","toDateString","push","sortedDates","keys","sort","a","b","getTime","dateWidths","setDateWidths","onLayoutDate","jsx","View","style","onLayout","children","dayPhotos","dateWidth","rows","jsxs","marginBottom","Text","fontSize","fontWeight","color","toLocaleDateString","weekday","year","month","day","row","rowIndex","aspects","dims","height","totalAspect","gapsTotal","length","availableWidth","idealHeight","rowHeight","widthAdjustment","widths","ar","widthSum","widthSumRounded","roundingDiff","Math","abs","flexDirection","photoWidth","marginRight","_default","exports","React","memo"],"sourceRoot":"../../../../../src","sources":["ui/components/photogrid/JustifiedPhotoGrid.tsx"],"mappings":"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","ignoreList":[]}
|