@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,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useEffect, useMemo, useState, useCallback } from 'react';
|
|
4
|
-
import { View, Text } from 'react-native';
|
|
5
|
-
import { jsx as _jsx, jsxs as _jsxs
|
|
4
|
+
import { View, Text, useWindowDimensions } from 'react-native';
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
6
|
/**
|
|
7
7
|
* Responsive justified photo grid that stretches to the provided containerWidth.
|
|
8
8
|
* Uses flex rows with proportional children widths instead of absolute pixel widths so it always fills.
|
|
@@ -20,15 +20,21 @@ const JustifiedPhotoGrid = ({
|
|
|
20
20
|
maxRowHeight = 300,
|
|
21
21
|
dateFormatLocale = 'en-US'
|
|
22
22
|
}) => {
|
|
23
|
-
// Responsive width measurement if not explicitly provided
|
|
23
|
+
// Responsive width measurement if not explicitly provided. Never gate the
|
|
24
|
+
// whole grid on measurement — onLayout is unreliable on web (same class of
|
|
25
|
+
// bug fixed in PhotoPickerSection). Fall back to window width until measured.
|
|
26
|
+
const {
|
|
27
|
+
width: windowWidth
|
|
28
|
+
} = useWindowDimensions();
|
|
24
29
|
const [measuredWidth, setMeasuredWidth] = useState(null);
|
|
25
|
-
const
|
|
26
|
-
|
|
30
|
+
const resolvedExplicitWidth = explicitWidth != null && explicitWidth > 0 ? explicitWidth : null;
|
|
31
|
+
const resolvedMeasuredWidth = measuredWidth != null && measuredWidth > 0 ? measuredWidth : null;
|
|
32
|
+
const effectiveWidth = resolvedExplicitWidth ?? resolvedMeasuredWidth ?? windowWidth;
|
|
27
33
|
const onLayoutContainer = useCallback(e => {
|
|
28
|
-
if (
|
|
34
|
+
if (resolvedExplicitWidth != null) return; // ignore if controlled
|
|
29
35
|
const w = e.nativeEvent.layout.width;
|
|
30
36
|
setMeasuredWidth(prev => prev === w ? prev : w);
|
|
31
|
-
}, [
|
|
37
|
+
}, [resolvedExplicitWidth]);
|
|
32
38
|
// Ensure dimensions are loaded for displayed photos
|
|
33
39
|
useEffect(() => {
|
|
34
40
|
loadPhotoDimensions(photos);
|
|
@@ -59,94 +65,92 @@ const JustifiedPhotoGrid = ({
|
|
|
59
65
|
width: '100%'
|
|
60
66
|
},
|
|
61
67
|
onLayout: onLayoutContainer,
|
|
62
|
-
children:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
children: sortedDates.map(date => {
|
|
69
|
+
const dayPhotos = photosByDate[date];
|
|
70
|
+
// createJustifiedRows should build rows such that the "ideal" height (availableWidth / totalAspect) stays within min/max.
|
|
71
|
+
// We pass the effective container width.
|
|
72
|
+
const dateWidth = dateWidths[date] ?? effectiveWidth; // fallback to overall width until measured
|
|
73
|
+
const rows = dateWidth > 0 ? createJustifiedRows(dayPhotos, dateWidth) : [];
|
|
74
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
75
|
+
style: {
|
|
76
|
+
marginBottom: 24,
|
|
77
|
+
width: '100%'
|
|
78
|
+
},
|
|
79
|
+
onLayout: e => onLayoutDate(date, e.nativeEvent.layout.width),
|
|
80
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
81
|
+
style: {
|
|
82
|
+
fontSize: 14,
|
|
83
|
+
fontWeight: '600',
|
|
84
|
+
marginBottom: 12,
|
|
85
|
+
color: textColor
|
|
86
|
+
},
|
|
87
|
+
children: new Date(date).toLocaleDateString(dateFormatLocale, {
|
|
88
|
+
weekday: 'long',
|
|
89
|
+
year: 'numeric',
|
|
90
|
+
month: 'long',
|
|
91
|
+
day: 'numeric'
|
|
92
|
+
})
|
|
93
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
70
94
|
style: {
|
|
71
|
-
marginBottom: 24,
|
|
72
95
|
width: '100%'
|
|
73
96
|
},
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
const dims = photoDimensions[p.id];
|
|
96
|
-
return dims ? dims.width / dims.height : 4 / 3;
|
|
97
|
-
});
|
|
98
|
-
const totalAspect = aspects.reduce((a, b) => a + b, 0);
|
|
99
|
-
const gapsTotal = gap * (row.length - 1);
|
|
100
|
-
const availableWidth = dateWidth - gapsTotal;
|
|
101
|
-
// Ideal height that perfectly fills width when preserving aspect ratios
|
|
102
|
-
const idealHeight = availableWidth / totalAspect;
|
|
103
|
-
// We rely on row construction keeping idealHeight within min/max bounds; if not, clamp but then distribute leftover/overflow.
|
|
104
|
-
let rowHeight = idealHeight;
|
|
105
|
-
let widthAdjustment = 0; // difference to distribute if clamped
|
|
106
|
-
if (idealHeight < minRowHeight) {
|
|
107
|
-
rowHeight = minRowHeight;
|
|
108
|
-
widthAdjustment = availableWidth - rowHeight * totalAspect; // negative means overflow
|
|
109
|
-
} else if (idealHeight > maxRowHeight) {
|
|
110
|
-
rowHeight = maxRowHeight;
|
|
111
|
-
widthAdjustment = availableWidth - rowHeight * totalAspect;
|
|
112
|
-
}
|
|
97
|
+
children: rows.map((row, rowIndex) => {
|
|
98
|
+
// Compute total aspect ratios using loaded dimensions (fallback 4/3)
|
|
99
|
+
const aspects = row.map(p => {
|
|
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
|
+
}
|
|
113
118
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
119
|
+
// Pre-compute widths maintaining aspect ratios
|
|
120
|
+
let widths = aspects.map(ar => ar * rowHeight);
|
|
121
|
+
// If we have widthAdjustment (due to clamping) distribute proportionally so row still fills exactly
|
|
122
|
+
if (widthAdjustment !== 0) {
|
|
123
|
+
const widthSum = widths.reduce((a, b) => a + b, 0);
|
|
124
|
+
widths = widths.map(w => w + w / widthSum * widthAdjustment);
|
|
125
|
+
}
|
|
121
126
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
})
|
|
127
|
+
// To combat rounding issues, adjust last item width to fill precisely
|
|
128
|
+
const widthSumRounded = widths.reduce((a, b) => a + b, 0);
|
|
129
|
+
const roundingDiff = availableWidth - widthSumRounded;
|
|
130
|
+
if (Math.abs(roundingDiff) > 0.5) {
|
|
131
|
+
widths[widths.length - 1] += roundingDiff; // minimal correction
|
|
132
|
+
}
|
|
133
|
+
return /*#__PURE__*/_jsx(View, {
|
|
134
|
+
style: {
|
|
135
|
+
flexDirection: 'row',
|
|
136
|
+
width: '100%',
|
|
137
|
+
marginBottom: 4
|
|
138
|
+
},
|
|
139
|
+
children: row.map((p, i) => {
|
|
140
|
+
const photoWidth = widths[i];
|
|
141
|
+
return /*#__PURE__*/_jsx(View, {
|
|
142
|
+
style: {
|
|
143
|
+
width: photoWidth,
|
|
144
|
+
height: rowHeight,
|
|
145
|
+
marginRight: i === row.length - 1 ? 0 : gap
|
|
146
|
+
},
|
|
147
|
+
children: renderJustifiedPhotoItem(p, photoWidth, rowHeight, i === row.length - 1)
|
|
148
|
+
}, p.id);
|
|
149
|
+
})
|
|
150
|
+
}, rowIndex);
|
|
151
|
+
})
|
|
152
|
+
})]
|
|
153
|
+
}, date);
|
|
150
154
|
})
|
|
151
155
|
});
|
|
152
156
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useMemo","useState","useCallback","View","Text","jsx","_jsx","jsxs","_jsxs","
|
|
1
|
+
{"version":3,"names":["React","useEffect","useMemo","useState","useCallback","View","Text","useWindowDimensions","jsx","_jsx","jsxs","_jsxs","JustifiedPhotoGrid","photos","photoDimensions","loadPhotoDimensions","createJustifiedRows","renderJustifiedPhotoItem","textColor","containerWidth","explicitWidth","gap","minRowHeight","maxRowHeight","dateFormatLocale","width","windowWidth","measuredWidth","setMeasuredWidth","resolvedExplicitWidth","resolvedMeasuredWidth","effectiveWidth","onLayoutContainer","e","w","nativeEvent","layout","prev","map","p","id","join","photosByDate","reduce","groups","photo","date","Date","uploadDate","toDateString","push","sortedDates","Object","keys","sort","a","b","getTime","dateWidths","setDateWidths","onLayoutDate","style","onLayout","children","dayPhotos","dateWidth","rows","marginBottom","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","i","photoWidth","marginRight","memo"],"sourceRoot":"../../../../../src","sources":["ui/components/photogrid/JustifiedPhotoGrid.tsx"],"mappings":"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","ignoreList":[]}
|