@sunsama/event-calendar 0.5.3 → 0.5.4
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/components/drag-bar.js +42 -30
- package/lib/commonjs/components/drag-bar.js.map +1 -1
- package/lib/commonjs/components/edit-event-container.js +15 -6
- package/lib/commonjs/components/edit-event-container.js.map +1 -1
- package/lib/commonjs/components/timed-event-container.js +5 -2
- package/lib/commonjs/components/timed-event-container.js.map +1 -1
- package/lib/commonjs/utils/globals.js +2 -1
- package/lib/commonjs/utils/globals.js.map +1 -1
- package/lib/module/components/drag-bar.js +42 -30
- package/lib/module/components/drag-bar.js.map +1 -1
- package/lib/module/components/edit-event-container.js +16 -7
- package/lib/module/components/edit-event-container.js.map +1 -1
- package/lib/module/components/timed-event-container.js +6 -3
- package/lib/module/components/timed-event-container.js.map +1 -1
- package/lib/module/utils/globals.js +1 -0
- package/lib/module/utils/globals.js.map +1 -1
- package/lib/typescript/commonjs/components/drag-bar.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/edit-event-container.d.ts.map +1 -1
- package/lib/typescript/commonjs/components/timed-event-container.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/globals.d.ts +1 -0
- package/lib/typescript/commonjs/utils/globals.d.ts.map +1 -1
- package/lib/typescript/module/components/drag-bar.d.ts.map +1 -1
- package/lib/typescript/module/components/edit-event-container.d.ts.map +1 -1
- package/lib/typescript/module/components/timed-event-container.d.ts.map +1 -1
- package/lib/typescript/module/utils/globals.d.ts +1 -0
- package/lib/typescript/module/utils/globals.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/drag-bar.tsx +96 -53
- package/src/components/edit-event-container.tsx +22 -8
- package/src/components/timed-event-container.tsx +7 -3
- package/src/utils/globals.ts +1 -0
|
@@ -11,6 +11,46 @@ var _reactNative = require("react-native");
|
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
const handleTopDrag = (top, fiveMinuteInterval, startY, translationY, zoomLevel, maximumHour, height) => {
|
|
15
|
+
"worklet";
|
|
16
|
+
|
|
17
|
+
const originalY = top.value;
|
|
18
|
+
let freshUpdatedStartTime;
|
|
19
|
+
if (fiveMinuteInterval) {
|
|
20
|
+
// Set the updated time in 15 minute increments but make sure we never go lower
|
|
21
|
+
// than the first minute of the day
|
|
22
|
+
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
|
|
23
|
+
} else {
|
|
24
|
+
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
25
|
+
// than the first minute of the day
|
|
26
|
+
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Make sure the event does not span after midnight, and if so make sure it
|
|
30
|
+
// is limited to exactly midnight
|
|
31
|
+
if (freshUpdatedStartTime > maximumHour.value - height.value) {
|
|
32
|
+
freshUpdatedStartTime = maximumHour.value - height.value;
|
|
33
|
+
}
|
|
34
|
+
top.value = freshUpdatedStartTime;
|
|
35
|
+
|
|
36
|
+
// Make sure to have a minimum of 5 minutes
|
|
37
|
+
height.value = Math.max(height.value + (originalY - top.value), 5 * zoomLevel.value);
|
|
38
|
+
};
|
|
39
|
+
const handleBottomDrag = (fiveMinuteInterval, startY, translationY, zoomLevel, height) => {
|
|
40
|
+
"worklet";
|
|
41
|
+
|
|
42
|
+
let freshUpdatedEndTime;
|
|
43
|
+
if (fiveMinuteInterval) {
|
|
44
|
+
// Set the updated time in 15 minute increments but make sure we never go lower
|
|
45
|
+
// than the first minute of the day
|
|
46
|
+
freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
|
|
47
|
+
} else {
|
|
48
|
+
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
49
|
+
// than the first minute of the day
|
|
50
|
+
freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
|
|
51
|
+
}
|
|
52
|
+
height.value = Math.max(freshUpdatedEndTime, 5 * zoomLevel.value);
|
|
53
|
+
};
|
|
14
54
|
const DragBar = ({
|
|
15
55
|
event,
|
|
16
56
|
top,
|
|
@@ -28,38 +68,10 @@ const DragBar = ({
|
|
|
28
68
|
translationY
|
|
29
69
|
}) => {
|
|
30
70
|
if (top) {
|
|
31
|
-
|
|
32
|
-
let freshUpdatedStartTime;
|
|
33
|
-
if (fiveMinuteInterval) {
|
|
34
|
-
// Set the updated time in 15 minute increments but make sure we never go lower
|
|
35
|
-
// than the first minute of the day
|
|
36
|
-
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
|
|
37
|
-
} else {
|
|
38
|
-
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
39
|
-
// than the first minute of the day
|
|
40
|
-
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
// Make sure the event does not span after midnight, and if so make sure it
|
|
44
|
-
// is limited to exactly midnight
|
|
45
|
-
if (freshUpdatedStartTime > maximumHour.value - height.value) {
|
|
46
|
-
freshUpdatedStartTime = maximumHour.value - height.value;
|
|
47
|
-
}
|
|
48
|
-
top.value = freshUpdatedStartTime;
|
|
49
|
-
height.value = height.value + (originalY - top.value);
|
|
71
|
+
handleTopDrag(top, fiveMinuteInterval, startY, translationY, zoomLevel, maximumHour, height);
|
|
50
72
|
return;
|
|
51
73
|
}
|
|
52
|
-
|
|
53
|
-
if (fiveMinuteInterval) {
|
|
54
|
-
// Set the updated time in 15 minute increments but make sure we never go lower
|
|
55
|
-
// than the first minute of the day
|
|
56
|
-
freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
|
|
57
|
-
} else {
|
|
58
|
-
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
59
|
-
// than the first minute of the day
|
|
60
|
-
freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
|
|
61
|
-
}
|
|
62
|
-
height.value = freshUpdatedEndTime;
|
|
74
|
+
handleBottomDrag(fiveMinuteInterval, startY, translationY, zoomLevel, height);
|
|
63
75
|
});
|
|
64
76
|
const styleDragBar = (0, _react.useMemo)(() => ({
|
|
65
77
|
bottom: !top ? 0 : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_react","_reactNativeGestureHandler","_reactNative","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_react","_reactNativeGestureHandler","_reactNative","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","handleTopDrag","top","fiveMinuteInterval","startY","translationY","zoomLevel","maximumHour","height","originalY","value","freshUpdatedStartTime","Math","max","floor","handleBottomDrag","freshUpdatedEndTime","DragBar","event","render","refMainContainer","useSharedValue","gesturePan","Gesture","Pan","blocksExternalGesture","onStart","onUpdate","styleDragBar","useMemo","bottom","undefined","renderedComponent","jsx","GestureDetector","gesture","children","View","style","styles","dragBar","_default","exports","StyleSheet","create","position","left","right"],"sourceRoot":"../../../src","sources":["components/drag-bar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -36,15 +36,24 @@ const EditEventContainer = /*#__PURE__*/(0, _react.memo)(({
|
|
|
36
36
|
dayDate
|
|
37
37
|
} = (0, _react.useContext)(_globals.ConfigProvider);
|
|
38
38
|
const height = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
39
|
+
const calculateHeight = (0, _react.useCallback)((event, zoom) => {
|
|
40
|
+
const start = new Date(event.start);
|
|
41
|
+
const end = new Date(event.end);
|
|
42
|
+
|
|
43
|
+
// We can't use the position.height as that has a minimum time of 30 minutes, which might not be relevant to
|
|
44
|
+
// our actual duration, meaning we'll have to calculate the height based on the start and end times
|
|
45
|
+
height.value = (end.valueOf() - start.valueOf()) / 60_000 * zoom;
|
|
46
|
+
}, [height]);
|
|
39
47
|
(0, _react.useEffect)(() => {
|
|
40
|
-
if (editingEvent) {
|
|
41
|
-
|
|
42
|
-
currentY.value = editingEvent.position.top * zoomLevel.value;
|
|
48
|
+
if (!editingEvent) {
|
|
49
|
+
return;
|
|
43
50
|
}
|
|
44
|
-
|
|
51
|
+
calculateHeight(editingEvent.event, zoomLevel.value);
|
|
52
|
+
currentY.value = editingEvent.position.top * zoomLevel.value;
|
|
53
|
+
}, [height, editingEvent, currentY, zoomLevel, timezone, calculateHeight]);
|
|
45
54
|
(0, _reactNativeReanimated.useAnimatedReaction)(() => zoomLevel.value, zoom => {
|
|
46
55
|
if (editingEvent) {
|
|
47
|
-
|
|
56
|
+
(0, _reactNativeReanimated.runOnJS)(calculateHeight)(editingEvent.event, zoom);
|
|
48
57
|
currentY.value = editingEvent.position.top * zoom;
|
|
49
58
|
}
|
|
50
59
|
}, [height, currentY, zoomLevel, editingEvent]);
|
|
@@ -57,7 +66,7 @@ const EditEventContainer = /*#__PURE__*/(0, _react.memo)(({
|
|
|
57
66
|
return {
|
|
58
67
|
marginLeft: _reactNative.StyleSheet.hairlineWidth,
|
|
59
68
|
position: "absolute",
|
|
60
|
-
height: height.value,
|
|
69
|
+
height: Math.max(_globals.MIN_EVENT_HEIGHT_PX, height.value),
|
|
61
70
|
top: currentY.value,
|
|
62
71
|
opacity: 1,
|
|
63
72
|
width: "100%"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_useIsEditing","_globals","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_types","_panEditEventGesture","_interopRequireDefault","_dragBar","_reactNative","_momentTimezone","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","EditEventContainer","memo","refNewEvent","currentY","isEditing","editingEvent","setIsEditing","useIsEditing","maximumHour","fiveMinuteInterval","renderDragBars","zoomLevel","renderEvent","timezone","dayDate","useContext","ConfigProvider","height","useSharedValue","
|
|
1
|
+
{"version":3,"names":["_react","require","_useIsEditing","_globals","_reactNativeGestureHandler","_reactNativeReanimated","_interopRequireWildcard","_types","_panEditEventGesture","_interopRequireDefault","_dragBar","_reactNative","_momentTimezone","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","EditEventContainer","memo","refNewEvent","currentY","isEditing","editingEvent","setIsEditing","useIsEditing","maximumHour","fiveMinuteInterval","renderDragBars","zoomLevel","renderEvent","timezone","dayDate","useContext","ConfigProvider","height","useSharedValue","calculateHeight","useCallback","event","zoom","start","Date","end","value","valueOf","useEffect","position","top","useAnimatedReaction","runOnJS","styleAnimatedPosition","useAnimatedStyle","opacity","marginLeft","StyleSheet","hairlineWidth","Math","max","MIN_EVENT_HEIGHT_PX","width","startY","updatedStart","useDerivedValue","updatedEnd","endEventEditing","newStart","newEnd","moment","tz","minutes","format","gestureTap","Gesture","Tap","numberOfTaps","onStart","refMainContainer","useRef","jsx","GestureDetector","gesture","Simultaneous","gesturePan","withRef","children","jsxs","View","style","EventExtend","None","render","bottom","_default","exports"],"sourceRoot":"../../../src","sources":["components/edit-event-container.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -48,8 +48,11 @@ const TimedEventContainer = ({
|
|
|
48
48
|
const startY = (0, _reactNativeReanimated.useSharedValue)(0);
|
|
49
49
|
const gestures = _reactNativeGestureHandler.Gesture.Exclusive((0, _doubleTapResetZoomGesture.default)(zoomLevel, initialZoomLevel, onZoomChange), gestureTap, (0, _panEditEventGesture.default)(startY, top, currentY, zoomLevel, maximumHour, height, refNewEvent, fiveMinuteInterval, isEditing, startEditing).activateAfterLongPress(500));
|
|
50
50
|
(0, _reactNativeReanimated.useAnimatedReaction)(() => zoomLevel.value, newZoomLevel => {
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
const start = new Date(layout.event.start);
|
|
52
|
+
const end = new Date(layout.event.end);
|
|
53
|
+
const diff = (end.valueOf() - start.valueOf()) / 60_000;
|
|
54
|
+
height.value = Math.max(_globals.MIN_EVENT_HEIGHT_PX, newZoomLevel * diff);
|
|
55
|
+
}, [layout.event]);
|
|
53
56
|
(0, _reactNativeReanimated.useAnimatedReaction)(() => zoomLevel.value, newZoomLevel => {
|
|
54
57
|
top.value = newZoomLevel * layout.position.top;
|
|
55
58
|
}, [layout.position.top]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_globals","_react","_reactNativeGestureHandler","_reactNative","_useIsEditing","_panEditEventGesture","_interopRequireDefault","_doubleTapResetZoomGesture","_types","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TimedEventContainer","layout","refNewEvent","currentY","setIsEditing","isEditing","useIsEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","useContext","ConfigProvider","height","useSharedValue","top","startEditing","useCallback","gestureTap","Gesture","Tap","enabled","onStart","runOnJS","event","startY","gestures","Exclusive","doubleTapGesture","gesturePan","activateAfterLongPress","useAnimatedReaction","value","newZoomLevel","position","render","useMemo","EventExtend","None","stylePosition","useAnimatedStyle","basePosition","opacity","width","marginLeft","pointerEvents","id","jsx","GestureDetector","gesture","children","View","style","styles","hairline","StyleSheet","create","marginHorizontal","hairlineWidth","flex","_default","exports"],"sourceRoot":"../../../src","sources":["components/timed-event-container.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_reactNativeReanimated","_interopRequireWildcard","require","_globals","_react","_reactNativeGestureHandler","_reactNative","_useIsEditing","_panEditEventGesture","_interopRequireDefault","_doubleTapResetZoomGesture","_types","_jsxRuntime","e","__esModule","default","_getRequireWildcardCache","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","TimedEventContainer","layout","refNewEvent","currentY","setIsEditing","isEditing","useIsEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","useContext","ConfigProvider","height","useSharedValue","top","startEditing","useCallback","gestureTap","Gesture","Tap","enabled","onStart","runOnJS","event","startY","gestures","Exclusive","doubleTapGesture","gesturePan","activateAfterLongPress","useAnimatedReaction","value","newZoomLevel","start","Date","end","diff","valueOf","Math","max","MIN_EVENT_HEIGHT_PX","position","render","useMemo","EventExtend","None","stylePosition","useAnimatedStyle","basePosition","opacity","width","marginLeft","pointerEvents","id","jsx","GestureDetector","gesture","children","View","style","styles","hairline","StyleSheet","create","marginHorizontal","hairlineWidth","flex","_default","exports"],"sourceRoot":"../../../src","sources":["components/timed-event-container.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.TOP_MARGIN_PIXEL_OFFSET = exports.DEFAULT_TIME_FORMAT = exports.DEFAULT_TIMEZONE = exports.DEFAULT_MIN_ZOOM = exports.DEFAULT_MINUTE_HEIGHT = exports.DEFAULT_MAX_ZOOM = exports.DEFAULT_MAX_ALL_DAY_EVENTS = exports.ConfigProvider = void 0;
|
|
6
|
+
exports.TOP_MARGIN_PIXEL_OFFSET = exports.MIN_EVENT_HEIGHT_PX = exports.DEFAULT_TIME_FORMAT = exports.DEFAULT_TIMEZONE = exports.DEFAULT_MIN_ZOOM = exports.DEFAULT_MINUTE_HEIGHT = exports.DEFAULT_MAX_ZOOM = exports.DEFAULT_MAX_ALL_DAY_EVENTS = exports.ConfigProvider = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
const ConfigProvider = exports.ConfigProvider = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
9
9
|
const DEFAULT_MINUTE_HEIGHT = exports.DEFAULT_MINUTE_HEIGHT = 0.8;
|
|
@@ -13,4 +13,5 @@ const DEFAULT_MAX_ALL_DAY_EVENTS = exports.DEFAULT_MAX_ALL_DAY_EVENTS = 2;
|
|
|
13
13
|
const DEFAULT_TIME_FORMAT = exports.DEFAULT_TIME_FORMAT = "HH:mm";
|
|
14
14
|
const DEFAULT_TIMEZONE = exports.DEFAULT_TIMEZONE = "UTC";
|
|
15
15
|
const TOP_MARGIN_PIXEL_OFFSET = exports.TOP_MARGIN_PIXEL_OFFSET = 5;
|
|
16
|
+
const MIN_EVENT_HEIGHT_PX = exports.MIN_EVENT_HEIGHT_PX = 24;
|
|
16
17
|
//# sourceMappingURL=globals.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","ConfigProvider","exports","createContext","undefined","DEFAULT_MINUTE_HEIGHT","DEFAULT_MIN_ZOOM","DEFAULT_MAX_ZOOM","DEFAULT_MAX_ALL_DAY_EVENTS","DEFAULT_TIME_FORMAT","DEFAULT_TIMEZONE","TOP_MARGIN_PIXEL_OFFSET"],"sourceRoot":"../../../src","sources":["utils/globals.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAG,IAAAE,oBAAa,EAAcC,SAAkB,CAAC;AAErE,MAAMC,qBAAqB,GAAAH,OAAA,CAAAG,qBAAA,GAAG,GAAG;AACjC,MAAMC,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,GAAG,IAAI;AAC7B,MAAMC,gBAAgB,GAAAL,OAAA,CAAAK,gBAAA,GAAG,CAAC;AAC1B,MAAMC,0BAA0B,GAAAN,OAAA,CAAAM,0BAAA,GAAG,CAAC;AACpC,MAAMC,mBAAmB,GAAAP,OAAA,CAAAO,mBAAA,GAAG,OAAO;AACnC,MAAMC,gBAAgB,GAAAR,OAAA,CAAAQ,gBAAA,GAAG,KAAK;AAE9B,MAAMC,uBAAuB,GAAAT,OAAA,CAAAS,uBAAA,GAAG,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","ConfigProvider","exports","createContext","undefined","DEFAULT_MINUTE_HEIGHT","DEFAULT_MIN_ZOOM","DEFAULT_MAX_ZOOM","DEFAULT_MAX_ALL_DAY_EVENTS","DEFAULT_TIME_FORMAT","DEFAULT_TIMEZONE","TOP_MARGIN_PIXEL_OFFSET","MIN_EVENT_HEIGHT_PX"],"sourceRoot":"../../../src","sources":["utils/globals.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,cAAc,GAAAC,OAAA,CAAAD,cAAA,gBAAG,IAAAE,oBAAa,EAAcC,SAAkB,CAAC;AAErE,MAAMC,qBAAqB,GAAAH,OAAA,CAAAG,qBAAA,GAAG,GAAG;AACjC,MAAMC,gBAAgB,GAAAJ,OAAA,CAAAI,gBAAA,GAAG,IAAI;AAC7B,MAAMC,gBAAgB,GAAAL,OAAA,CAAAK,gBAAA,GAAG,CAAC;AAC1B,MAAMC,0BAA0B,GAAAN,OAAA,CAAAM,0BAAA,GAAG,CAAC;AACpC,MAAMC,mBAAmB,GAAAP,OAAA,CAAAO,mBAAA,GAAG,OAAO;AACnC,MAAMC,gBAAgB,GAAAR,OAAA,CAAAQ,gBAAA,GAAG,KAAK;AAE9B,MAAMC,uBAAuB,GAAAT,OAAA,CAAAS,uBAAA,GAAG,CAAC;AACjC,MAAMC,mBAAmB,GAAAV,OAAA,CAAAU,mBAAA,GAAG,EAAE","ignoreList":[]}
|
|
@@ -5,6 +5,46 @@ import { useMemo } from "react";
|
|
|
5
5
|
import { Gesture, GestureDetector } from "react-native-gesture-handler";
|
|
6
6
|
import { StyleSheet } from "react-native";
|
|
7
7
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
const handleTopDrag = (top, fiveMinuteInterval, startY, translationY, zoomLevel, maximumHour, height) => {
|
|
9
|
+
"worklet";
|
|
10
|
+
|
|
11
|
+
const originalY = top.value;
|
|
12
|
+
let freshUpdatedStartTime;
|
|
13
|
+
if (fiveMinuteInterval) {
|
|
14
|
+
// Set the updated time in 15 minute increments but make sure we never go lower
|
|
15
|
+
// than the first minute of the day
|
|
16
|
+
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
|
|
17
|
+
} else {
|
|
18
|
+
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
19
|
+
// than the first minute of the day
|
|
20
|
+
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Make sure the event does not span after midnight, and if so make sure it
|
|
24
|
+
// is limited to exactly midnight
|
|
25
|
+
if (freshUpdatedStartTime > maximumHour.value - height.value) {
|
|
26
|
+
freshUpdatedStartTime = maximumHour.value - height.value;
|
|
27
|
+
}
|
|
28
|
+
top.value = freshUpdatedStartTime;
|
|
29
|
+
|
|
30
|
+
// Make sure to have a minimum of 5 minutes
|
|
31
|
+
height.value = Math.max(height.value + (originalY - top.value), 5 * zoomLevel.value);
|
|
32
|
+
};
|
|
33
|
+
const handleBottomDrag = (fiveMinuteInterval, startY, translationY, zoomLevel, height) => {
|
|
34
|
+
"worklet";
|
|
35
|
+
|
|
36
|
+
let freshUpdatedEndTime;
|
|
37
|
+
if (fiveMinuteInterval) {
|
|
38
|
+
// Set the updated time in 15 minute increments but make sure we never go lower
|
|
39
|
+
// than the first minute of the day
|
|
40
|
+
freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
|
|
41
|
+
} else {
|
|
42
|
+
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
43
|
+
// than the first minute of the day
|
|
44
|
+
freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
|
|
45
|
+
}
|
|
46
|
+
height.value = Math.max(freshUpdatedEndTime, 5 * zoomLevel.value);
|
|
47
|
+
};
|
|
8
48
|
const DragBar = ({
|
|
9
49
|
event,
|
|
10
50
|
top,
|
|
@@ -22,38 +62,10 @@ const DragBar = ({
|
|
|
22
62
|
translationY
|
|
23
63
|
}) => {
|
|
24
64
|
if (top) {
|
|
25
|
-
|
|
26
|
-
let freshUpdatedStartTime;
|
|
27
|
-
if (fiveMinuteInterval) {
|
|
28
|
-
// Set the updated time in 15 minute increments but make sure we never go lower
|
|
29
|
-
// than the first minute of the day
|
|
30
|
-
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
|
|
31
|
-
} else {
|
|
32
|
-
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
33
|
-
// than the first minute of the day
|
|
34
|
-
freshUpdatedStartTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
// Make sure the event does not span after midnight, and if so make sure it
|
|
38
|
-
// is limited to exactly midnight
|
|
39
|
-
if (freshUpdatedStartTime > maximumHour.value - height.value) {
|
|
40
|
-
freshUpdatedStartTime = maximumHour.value - height.value;
|
|
41
|
-
}
|
|
42
|
-
top.value = freshUpdatedStartTime;
|
|
43
|
-
height.value = height.value + (originalY - top.value);
|
|
65
|
+
handleTopDrag(top, fiveMinuteInterval, startY, translationY, zoomLevel, maximumHour, height);
|
|
44
66
|
return;
|
|
45
67
|
}
|
|
46
|
-
|
|
47
|
-
if (fiveMinuteInterval) {
|
|
48
|
-
// Set the updated time in 15 minute increments but make sure we never go lower
|
|
49
|
-
// than the first minute of the day
|
|
50
|
-
freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5));
|
|
51
|
-
} else {
|
|
52
|
-
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
53
|
-
// than the first minute of the day
|
|
54
|
-
freshUpdatedEndTime = Math.max(0, startY.value + Math.floor(translationY / zoomLevel.value) * zoomLevel.value);
|
|
55
|
-
}
|
|
56
|
-
height.value = freshUpdatedEndTime;
|
|
68
|
+
handleBottomDrag(fiveMinuteInterval, startY, translationY, zoomLevel, height);
|
|
57
69
|
});
|
|
58
70
|
const styleDragBar = useMemo(() => ({
|
|
59
71
|
bottom: !top ? 0 : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Animated","useSharedValue","useMemo","Gesture","GestureDetector","StyleSheet","jsx","_jsx","
|
|
1
|
+
{"version":3,"names":["Animated","useSharedValue","useMemo","Gesture","GestureDetector","StyleSheet","jsx","_jsx","handleTopDrag","top","fiveMinuteInterval","startY","translationY","zoomLevel","maximumHour","height","originalY","value","freshUpdatedStartTime","Math","max","floor","handleBottomDrag","freshUpdatedEndTime","DragBar","event","render","refMainContainer","gesturePan","Pan","blocksExternalGesture","onStart","onUpdate","styleDragBar","bottom","undefined","renderedComponent","gesture","children","View","style","styles","dragBar","create","position","left","right"],"sourceRoot":"../../../src","sources":["components/drag-bar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import { memo, useCallback, useContext, useEffect, useRef } from "react";
|
|
4
4
|
import { useIsEditing } from "../hooks/use-is-editing.js";
|
|
5
|
-
import { ConfigProvider } from "../utils/globals.js";
|
|
5
|
+
import { ConfigProvider, MIN_EVENT_HEIGHT_PX } from "../utils/globals.js";
|
|
6
6
|
import { Gesture, GestureDetector } from "react-native-gesture-handler";
|
|
7
7
|
import Animated, { runOnJS, useAnimatedReaction, useAnimatedStyle, useDerivedValue, useSharedValue } from "react-native-reanimated";
|
|
8
8
|
import { EventExtend } from "../types.js";
|
|
@@ -29,15 +29,24 @@ const EditEventContainer = /*#__PURE__*/memo(({
|
|
|
29
29
|
dayDate
|
|
30
30
|
} = useContext(ConfigProvider);
|
|
31
31
|
const height = useSharedValue(0);
|
|
32
|
+
const calculateHeight = useCallback((event, zoom) => {
|
|
33
|
+
const start = new Date(event.start);
|
|
34
|
+
const end = new Date(event.end);
|
|
35
|
+
|
|
36
|
+
// We can't use the position.height as that has a minimum time of 30 minutes, which might not be relevant to
|
|
37
|
+
// our actual duration, meaning we'll have to calculate the height based on the start and end times
|
|
38
|
+
height.value = (end.valueOf() - start.valueOf()) / 60_000 * zoom;
|
|
39
|
+
}, [height]);
|
|
32
40
|
useEffect(() => {
|
|
33
|
-
if (editingEvent) {
|
|
34
|
-
|
|
35
|
-
currentY.value = editingEvent.position.top * zoomLevel.value;
|
|
41
|
+
if (!editingEvent) {
|
|
42
|
+
return;
|
|
36
43
|
}
|
|
37
|
-
|
|
44
|
+
calculateHeight(editingEvent.event, zoomLevel.value);
|
|
45
|
+
currentY.value = editingEvent.position.top * zoomLevel.value;
|
|
46
|
+
}, [height, editingEvent, currentY, zoomLevel, timezone, calculateHeight]);
|
|
38
47
|
useAnimatedReaction(() => zoomLevel.value, zoom => {
|
|
39
48
|
if (editingEvent) {
|
|
40
|
-
|
|
49
|
+
runOnJS(calculateHeight)(editingEvent.event, zoom);
|
|
41
50
|
currentY.value = editingEvent.position.top * zoom;
|
|
42
51
|
}
|
|
43
52
|
}, [height, currentY, zoomLevel, editingEvent]);
|
|
@@ -50,7 +59,7 @@ const EditEventContainer = /*#__PURE__*/memo(({
|
|
|
50
59
|
return {
|
|
51
60
|
marginLeft: StyleSheet.hairlineWidth,
|
|
52
61
|
position: "absolute",
|
|
53
|
-
height: height.value,
|
|
62
|
+
height: Math.max(MIN_EVENT_HEIGHT_PX, height.value),
|
|
54
63
|
top: currentY.value,
|
|
55
64
|
opacity: 1,
|
|
56
65
|
width: "100%"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["memo","useCallback","useContext","useEffect","useRef","useIsEditing","ConfigProvider","Gesture","GestureDetector","Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","EventExtend","gesturePan","DragBar","StyleSheet","moment","jsx","_jsx","jsxs","_jsxs","EditEventContainer","refNewEvent","currentY","isEditing","editingEvent","setIsEditing","maximumHour","fiveMinuteInterval","renderDragBars","zoomLevel","renderEvent","timezone","dayDate","height","value","
|
|
1
|
+
{"version":3,"names":["memo","useCallback","useContext","useEffect","useRef","useIsEditing","ConfigProvider","MIN_EVENT_HEIGHT_PX","Gesture","GestureDetector","Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useDerivedValue","useSharedValue","EventExtend","gesturePan","DragBar","StyleSheet","moment","jsx","_jsx","jsxs","_jsxs","EditEventContainer","refNewEvent","currentY","isEditing","editingEvent","setIsEditing","maximumHour","fiveMinuteInterval","renderDragBars","zoomLevel","renderEvent","timezone","dayDate","height","calculateHeight","event","zoom","start","Date","end","value","valueOf","position","top","styleAnimatedPosition","opacity","marginLeft","hairlineWidth","Math","max","width","startY","updatedStart","updatedEnd","endEventEditing","newStart","newEnd","tz","minutes","format","gestureTap","Tap","numberOfTaps","onStart","refMainContainer","gesture","Simultaneous","withRef","children","View","style","None","render","bottom"],"sourceRoot":"../../../src","sources":["components/edit-event-container.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import Animated, { runOnJS, useAnimatedReaction, useAnimatedStyle, useSharedValue } from "react-native-reanimated";
|
|
4
|
-
import { ConfigProvider } from "../utils/globals.js";
|
|
4
|
+
import { ConfigProvider, MIN_EVENT_HEIGHT_PX } from "../utils/globals.js";
|
|
5
5
|
import { useCallback, useContext, useMemo } from "react";
|
|
6
6
|
import { Gesture, GestureDetector } from "react-native-gesture-handler";
|
|
7
7
|
import { StyleSheet, View } from "react-native";
|
|
@@ -41,8 +41,11 @@ const TimedEventContainer = ({
|
|
|
41
41
|
const startY = useSharedValue(0);
|
|
42
42
|
const gestures = Gesture.Exclusive(doubleTapGesture(zoomLevel, initialZoomLevel, onZoomChange), gestureTap, gesturePan(startY, top, currentY, zoomLevel, maximumHour, height, refNewEvent, fiveMinuteInterval, isEditing, startEditing).activateAfterLongPress(500));
|
|
43
43
|
useAnimatedReaction(() => zoomLevel.value, newZoomLevel => {
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
const start = new Date(layout.event.start);
|
|
45
|
+
const end = new Date(layout.event.end);
|
|
46
|
+
const diff = (end.valueOf() - start.valueOf()) / 60_000;
|
|
47
|
+
height.value = Math.max(MIN_EVENT_HEIGHT_PX, newZoomLevel * diff);
|
|
48
|
+
}, [layout.event]);
|
|
46
49
|
useAnimatedReaction(() => zoomLevel.value, newZoomLevel => {
|
|
47
50
|
top.value = newZoomLevel * layout.position.top;
|
|
48
51
|
}, [layout.position.top]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","ConfigProvider","useCallback","useContext","useMemo","Gesture","GestureDetector","StyleSheet","View","useIsEditing","gesturePan","doubleTapGesture","EventExtend","jsx","_jsx","TimedEventContainer","layout","refNewEvent","currentY","setIsEditing","isEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","height","top","startEditing","gestureTap","Tap","enabled","onStart","event","startY","gestures","Exclusive","activateAfterLongPress","value","newZoomLevel","position","render","None","stylePosition","basePosition","opacity","width","marginLeft","pointerEvents","id","gesture","children","style","styles","hairline","create","marginHorizontal","hairlineWidth","flex"],"sourceRoot":"../../../src","sources":["components/timed-event-container.tsx"],"mappings":";;AAAA,OAAOA,QAAQ,IACbC,OAAO,EACPC,mBAAmB,EACnBC,gBAAgB,EAChBC,cAAc,QACT,yBAAyB;AAChC,SAASC,cAAc,QAAQ,qBAAkB;
|
|
1
|
+
{"version":3,"names":["Animated","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","ConfigProvider","MIN_EVENT_HEIGHT_PX","useCallback","useContext","useMemo","Gesture","GestureDetector","StyleSheet","View","useIsEditing","gesturePan","doubleTapGesture","EventExtend","jsx","_jsx","TimedEventContainer","layout","refNewEvent","currentY","setIsEditing","isEditing","onPressEvent","maximumHour","fiveMinuteInterval","zoomLevel","renderEvent","initialZoomLevel","onZoomChange","height","top","startEditing","gestureTap","Tap","enabled","onStart","event","startY","gestures","Exclusive","activateAfterLongPress","value","newZoomLevel","start","Date","end","diff","valueOf","Math","max","position","render","None","stylePosition","basePosition","opacity","width","marginLeft","pointerEvents","id","gesture","children","style","styles","hairline","create","marginHorizontal","hairlineWidth","flex"],"sourceRoot":"../../../src","sources":["components/timed-event-container.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","ConfigProvider","undefined","DEFAULT_MINUTE_HEIGHT","DEFAULT_MIN_ZOOM","DEFAULT_MAX_ZOOM","DEFAULT_MAX_ALL_DAY_EVENTS","DEFAULT_TIME_FORMAT","DEFAULT_TIMEZONE","TOP_MARGIN_PIXEL_OFFSET"],"sourceRoot":"../../../src","sources":["utils/globals.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAGrC,OAAO,MAAMC,cAAc,gBAAGD,aAAa,CAAcE,SAAkB,CAAC;AAE5E,OAAO,MAAMC,qBAAqB,GAAG,GAAG;AACxC,OAAO,MAAMC,gBAAgB,GAAG,IAAI;AACpC,OAAO,MAAMC,gBAAgB,GAAG,CAAC;AACjC,OAAO,MAAMC,0BAA0B,GAAG,CAAC;AAC3C,OAAO,MAAMC,mBAAmB,GAAG,OAAO;AAC1C,OAAO,MAAMC,gBAAgB,GAAG,KAAK;AAErC,OAAO,MAAMC,uBAAuB,GAAG,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createContext","ConfigProvider","undefined","DEFAULT_MINUTE_HEIGHT","DEFAULT_MIN_ZOOM","DEFAULT_MAX_ZOOM","DEFAULT_MAX_ALL_DAY_EVENTS","DEFAULT_TIME_FORMAT","DEFAULT_TIMEZONE","TOP_MARGIN_PIXEL_OFFSET","MIN_EVENT_HEIGHT_PX"],"sourceRoot":"../../../src","sources":["utils/globals.ts"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,OAAO;AAGrC,OAAO,MAAMC,cAAc,gBAAGD,aAAa,CAAcE,SAAkB,CAAC;AAE5E,OAAO,MAAMC,qBAAqB,GAAG,GAAG;AACxC,OAAO,MAAMC,gBAAgB,GAAG,IAAI;AACpC,OAAO,MAAMC,gBAAgB,GAAG,CAAC;AACjC,OAAO,MAAMC,0BAA0B,GAAG,CAAC;AAC3C,OAAO,MAAMC,mBAAmB,GAAG,OAAO;AAC1C,OAAO,MAAMC,gBAAgB,GAAG,KAAK;AAErC,OAAO,MAAMC,uBAAuB,GAAG,CAAC;AACxC,OAAO,MAAMC,mBAAmB,GAAG,EAAE","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drag-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/drag-bar.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAAE,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,KAAK,YAAY,CAAC,CAAC,SAAS,aAAa,IAAI;IAC3C,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAChC,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;
|
|
1
|
+
{"version":3,"file":"drag-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/drag-bar.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAAE,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,KAAK,YAAY,CAAC,CAAC,SAAS,aAAa,IAAI;IAC3C,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAChC,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAkFF,QAAA,MAAM,OAAO,GAAI,CAAC,SAAS,aAAa,iGASrC,YAAY,CAAC,CAAC,CAAC,gCAiDjB,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/edit-event-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAiBf,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,wDACJ,uBAAuB,
|
|
1
|
+
{"version":3,"file":"edit-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/edit-event-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAiBf,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,wDACJ,uBAAuB,wCA8I1C,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAC;AAMpE,OAAO,EACL,KAAK,aAAa,EAElB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,KAAK,wBAAwB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,mBAAmB,GAAI,CAAC,SAAS,aAAa,4BAGjD,wBAAwB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAC;AAMpE,OAAO,EACL,KAAK,aAAa,EAElB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,KAAK,wBAAwB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,mBAAmB,GAAI,CAAC,SAAS,aAAa,4BAGjD,wBAAwB,CAAC,CAAC,CAAC,gCAkG7B,CAAC;AAMF,eAAe,mBAAmB,CAAC"}
|
|
@@ -7,4 +7,5 @@ export declare const DEFAULT_MAX_ALL_DAY_EVENTS = 2;
|
|
|
7
7
|
export declare const DEFAULT_TIME_FORMAT = "HH:mm";
|
|
8
8
|
export declare const DEFAULT_TIMEZONE = "UTC";
|
|
9
9
|
export declare const TOP_MARGIN_PIXEL_OFFSET = 5;
|
|
10
|
+
export declare const MIN_EVENT_HEIGHT_PX = 24;
|
|
10
11
|
//# sourceMappingURL=globals.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../../../src/utils/globals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,cAAc,sCAAiD,CAAC;AAE7E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,eAAO,MAAM,uBAAuB,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../../../src/utils/globals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,cAAc,sCAAiD,CAAC;AAE7E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,mBAAmB,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drag-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/drag-bar.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAAE,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,KAAK,YAAY,CAAC,CAAC,SAAS,aAAa,IAAI;IAC3C,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAChC,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;
|
|
1
|
+
{"version":3,"file":"drag-bar.d.ts","sourceRoot":"","sources":["../../../../src/components/drag-bar.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAAE,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,KAAK,YAAY,CAAC,CAAC,SAAS,aAAa,IAAI;IAC3C,GAAG,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,SAAS,CAAC;IAChC,gBAAgB,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;IACjC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC;CACV,CAAC;AAkFF,QAAA,MAAM,OAAO,GAAI,CAAC,SAAS,aAAa,iGASrC,YAAY,CAAC,CAAC,CAAC,gCAiDjB,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/edit-event-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAiBf,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,wDACJ,uBAAuB,
|
|
1
|
+
{"version":3,"file":"edit-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/edit-event-container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EAKV,MAAM,OAAO,CAAC;AAiBf,KAAK,uBAAuB,GAAG;IAC7B,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,kBAAkB,wDACJ,uBAAuB,wCA8I1C,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAC;AAMpE,OAAO,EACL,KAAK,aAAa,EAElB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,KAAK,wBAAwB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,mBAAmB,GAAI,CAAC,SAAS,aAAa,4BAGjD,wBAAwB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"timed-event-container.d.ts","sourceRoot":"","sources":["../../../../src/components/timed-event-container.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAC;AAMpE,OAAO,EACL,KAAK,aAAa,EAElB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAElB,KAAK,wBAAwB,CAAC,CAAC,SAAS,aAAa,IAAI;IACvD,MAAM,EAAE,sBAAsB,CAAC,CAAC,CAAC,CAAC;IAClC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;CAC7B,CAAC;AAEF,QAAA,MAAM,mBAAmB,GAAI,CAAC,SAAS,aAAa,4BAGjD,wBAAwB,CAAC,CAAC,CAAC,gCAkG7B,CAAC;AAMF,eAAe,mBAAmB,CAAC"}
|
|
@@ -7,4 +7,5 @@ export declare const DEFAULT_MAX_ALL_DAY_EVENTS = 2;
|
|
|
7
7
|
export declare const DEFAULT_TIME_FORMAT = "HH:mm";
|
|
8
8
|
export declare const DEFAULT_TIMEZONE = "UTC";
|
|
9
9
|
export declare const TOP_MARGIN_PIXEL_OFFSET = 5;
|
|
10
|
+
export declare const MIN_EVENT_HEIGHT_PX = 24;
|
|
10
11
|
//# sourceMappingURL=globals.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../../../src/utils/globals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,cAAc,sCAAiD,CAAC;AAE7E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,eAAO,MAAM,uBAAuB,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"globals.d.ts","sourceRoot":"","sources":["../../../../src/utils/globals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,eAAO,MAAM,cAAc,sCAAiD,CAAC;AAE7E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,mBAAmB,UAAU,CAAC;AAC3C,eAAO,MAAM,gBAAgB,QAAQ,CAAC;AAEtC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,mBAAmB,KAAK,CAAC"}
|
package/package.json
CHANGED
|
@@ -15,6 +15,86 @@ type DragBarProps<T extends CalendarEvent> = {
|
|
|
15
15
|
event: T;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
|
+
const handleTopDrag = (
|
|
19
|
+
top: SharedValue<number>,
|
|
20
|
+
fiveMinuteInterval: boolean | undefined,
|
|
21
|
+
startY: SharedValue<number>,
|
|
22
|
+
translationY: number,
|
|
23
|
+
zoomLevel: SharedValue<number>,
|
|
24
|
+
maximumHour: SharedValue<number>,
|
|
25
|
+
height: SharedValue<number>
|
|
26
|
+
) => {
|
|
27
|
+
"worklet";
|
|
28
|
+
|
|
29
|
+
const originalY = top.value;
|
|
30
|
+
|
|
31
|
+
let freshUpdatedStartTime;
|
|
32
|
+
|
|
33
|
+
if (fiveMinuteInterval) {
|
|
34
|
+
// Set the updated time in 15 minute increments but make sure we never go lower
|
|
35
|
+
// than the first minute of the day
|
|
36
|
+
freshUpdatedStartTime = Math.max(
|
|
37
|
+
0,
|
|
38
|
+
startY.value +
|
|
39
|
+
Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5)
|
|
40
|
+
);
|
|
41
|
+
} else {
|
|
42
|
+
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
43
|
+
// than the first minute of the day
|
|
44
|
+
freshUpdatedStartTime = Math.max(
|
|
45
|
+
0,
|
|
46
|
+
startY.value +
|
|
47
|
+
Math.floor(translationY / zoomLevel.value) * zoomLevel.value
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Make sure the event does not span after midnight, and if so make sure it
|
|
52
|
+
// is limited to exactly midnight
|
|
53
|
+
if (freshUpdatedStartTime > maximumHour.value - height.value) {
|
|
54
|
+
freshUpdatedStartTime = maximumHour.value - height.value;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
top.value = freshUpdatedStartTime;
|
|
58
|
+
|
|
59
|
+
// Make sure to have a minimum of 5 minutes
|
|
60
|
+
height.value = Math.max(
|
|
61
|
+
height.value + (originalY - top.value),
|
|
62
|
+
5 * zoomLevel.value
|
|
63
|
+
);
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
const handleBottomDrag = (
|
|
67
|
+
fiveMinuteInterval: boolean | undefined,
|
|
68
|
+
startY: SharedValue<number>,
|
|
69
|
+
translationY: number,
|
|
70
|
+
zoomLevel: SharedValue<number>,
|
|
71
|
+
height: SharedValue<number>
|
|
72
|
+
) => {
|
|
73
|
+
"worklet";
|
|
74
|
+
|
|
75
|
+
let freshUpdatedEndTime;
|
|
76
|
+
|
|
77
|
+
if (fiveMinuteInterval) {
|
|
78
|
+
// Set the updated time in 15 minute increments but make sure we never go lower
|
|
79
|
+
// than the first minute of the day
|
|
80
|
+
freshUpdatedEndTime = Math.max(
|
|
81
|
+
0,
|
|
82
|
+
startY.value +
|
|
83
|
+
Math.floor(translationY / zoomLevel.value / 5) * (zoomLevel.value * 5)
|
|
84
|
+
);
|
|
85
|
+
} else {
|
|
86
|
+
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
87
|
+
// than the first minute of the day
|
|
88
|
+
freshUpdatedEndTime = Math.max(
|
|
89
|
+
0,
|
|
90
|
+
startY.value +
|
|
91
|
+
Math.floor(translationY / zoomLevel.value) * zoomLevel.value
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
height.value = Math.max(freshUpdatedEndTime, 5 * zoomLevel.value);
|
|
96
|
+
};
|
|
97
|
+
|
|
18
98
|
const DragBar = <T extends CalendarEvent>({
|
|
19
99
|
event,
|
|
20
100
|
top,
|
|
@@ -34,63 +114,26 @@ const DragBar = <T extends CalendarEvent>({
|
|
|
34
114
|
})
|
|
35
115
|
.onUpdate(({ translationY }) => {
|
|
36
116
|
if (top) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
startY.value +
|
|
47
|
-
Math.floor(translationY / zoomLevel.value / 5) *
|
|
48
|
-
(zoomLevel.value * 5)
|
|
49
|
-
);
|
|
50
|
-
} else {
|
|
51
|
-
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
52
|
-
// than the first minute of the day
|
|
53
|
-
freshUpdatedStartTime = Math.max(
|
|
54
|
-
0,
|
|
55
|
-
startY.value +
|
|
56
|
-
Math.floor(translationY / zoomLevel.value) * zoomLevel.value
|
|
57
|
-
);
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// Make sure the event does not span after midnight, and if so make sure it
|
|
61
|
-
// is limited to exactly midnight
|
|
62
|
-
if (freshUpdatedStartTime > maximumHour.value - height.value) {
|
|
63
|
-
freshUpdatedStartTime = maximumHour.value - height.value;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
top.value = freshUpdatedStartTime;
|
|
67
|
-
height.value = height.value + (originalY - top.value);
|
|
117
|
+
handleTopDrag(
|
|
118
|
+
top,
|
|
119
|
+
fiveMinuteInterval,
|
|
120
|
+
startY,
|
|
121
|
+
translationY,
|
|
122
|
+
zoomLevel,
|
|
123
|
+
maximumHour,
|
|
124
|
+
height
|
|
125
|
+
);
|
|
68
126
|
|
|
69
127
|
return;
|
|
70
128
|
}
|
|
71
129
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
startY.value +
|
|
80
|
-
Math.floor(translationY / zoomLevel.value / 5) *
|
|
81
|
-
(zoomLevel.value * 5)
|
|
82
|
-
);
|
|
83
|
-
} else {
|
|
84
|
-
// Set the updated time in 1 minute increments but make sure we never go lower
|
|
85
|
-
// than the first minute of the day
|
|
86
|
-
freshUpdatedEndTime = Math.max(
|
|
87
|
-
0,
|
|
88
|
-
startY.value +
|
|
89
|
-
Math.floor(translationY / zoomLevel.value) * zoomLevel.value
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
height.value = freshUpdatedEndTime;
|
|
130
|
+
handleBottomDrag(
|
|
131
|
+
fiveMinuteInterval,
|
|
132
|
+
startY,
|
|
133
|
+
translationY,
|
|
134
|
+
zoomLevel,
|
|
135
|
+
height
|
|
136
|
+
);
|
|
94
137
|
});
|
|
95
138
|
|
|
96
139
|
const styleDragBar = useMemo(
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
useRef,
|
|
8
8
|
} from "react";
|
|
9
9
|
import { useIsEditing } from "../hooks/use-is-editing";
|
|
10
|
-
import { ConfigProvider } from "../utils/globals";
|
|
10
|
+
import { ConfigProvider, MIN_EVENT_HEIGHT_PX } from "../utils/globals";
|
|
11
11
|
import { Gesture, GestureDetector } from "react-native-gesture-handler";
|
|
12
12
|
import Animated, {
|
|
13
13
|
runOnJS,
|
|
@@ -16,7 +16,7 @@ import Animated, {
|
|
|
16
16
|
useDerivedValue,
|
|
17
17
|
useSharedValue,
|
|
18
18
|
} from "react-native-reanimated";
|
|
19
|
-
import { EventExtend } from "../types";
|
|
19
|
+
import { type CalendarEvent, EventExtend } from "../types";
|
|
20
20
|
import gesturePan from "../utils/pan-edit-event-gesture";
|
|
21
21
|
import DragBar from "../components/drag-bar";
|
|
22
22
|
import { StyleSheet } from "react-native";
|
|
@@ -40,18 +40,32 @@ const EditEventContainer = memo(
|
|
|
40
40
|
} = useContext(ConfigProvider);
|
|
41
41
|
const height = useSharedValue(0);
|
|
42
42
|
|
|
43
|
+
const calculateHeight = useCallback(
|
|
44
|
+
(event: CalendarEvent, zoom: number) => {
|
|
45
|
+
const start = new Date(event.start);
|
|
46
|
+
const end = new Date(event.end);
|
|
47
|
+
|
|
48
|
+
// We can't use the position.height as that has a minimum time of 30 minutes, which might not be relevant to
|
|
49
|
+
// our actual duration, meaning we'll have to calculate the height based on the start and end times
|
|
50
|
+
height.value = ((end.valueOf() - start.valueOf()) / 60_000) * zoom;
|
|
51
|
+
},
|
|
52
|
+
[height]
|
|
53
|
+
);
|
|
54
|
+
|
|
43
55
|
useEffect(() => {
|
|
44
|
-
if (editingEvent) {
|
|
45
|
-
|
|
46
|
-
currentY.value = editingEvent.position.top * zoomLevel.value;
|
|
56
|
+
if (!editingEvent) {
|
|
57
|
+
return;
|
|
47
58
|
}
|
|
48
|
-
|
|
59
|
+
|
|
60
|
+
calculateHeight(editingEvent.event, zoomLevel.value);
|
|
61
|
+
currentY.value = editingEvent.position.top * zoomLevel.value;
|
|
62
|
+
}, [height, editingEvent, currentY, zoomLevel, timezone, calculateHeight]);
|
|
49
63
|
|
|
50
64
|
useAnimatedReaction(
|
|
51
65
|
() => zoomLevel.value,
|
|
52
66
|
(zoom) => {
|
|
53
67
|
if (editingEvent) {
|
|
54
|
-
|
|
68
|
+
runOnJS(calculateHeight)(editingEvent.event, zoom);
|
|
55
69
|
currentY.value = editingEvent.position.top * zoom;
|
|
56
70
|
}
|
|
57
71
|
},
|
|
@@ -66,7 +80,7 @@ const EditEventContainer = memo(
|
|
|
66
80
|
return {
|
|
67
81
|
marginLeft: StyleSheet.hairlineWidth,
|
|
68
82
|
position: "absolute",
|
|
69
|
-
height: height.value,
|
|
83
|
+
height: Math.max(MIN_EVENT_HEIGHT_PX, height.value),
|
|
70
84
|
top: currentY.value,
|
|
71
85
|
opacity: 1,
|
|
72
86
|
width: "100%",
|
|
@@ -4,7 +4,7 @@ import Animated, {
|
|
|
4
4
|
useAnimatedStyle,
|
|
5
5
|
useSharedValue,
|
|
6
6
|
} from "react-native-reanimated";
|
|
7
|
-
import { ConfigProvider } from "../utils/globals";
|
|
7
|
+
import { ConfigProvider, MIN_EVENT_HEIGHT_PX } from "../utils/globals";
|
|
8
8
|
import { RefObject, useCallback, useContext, useMemo } from "react";
|
|
9
9
|
import { Gesture, GestureDetector } from "react-native-gesture-handler";
|
|
10
10
|
import { StyleSheet, View } from "react-native";
|
|
@@ -74,9 +74,13 @@ const TimedEventContainer = <T extends CalendarEvent>({
|
|
|
74
74
|
useAnimatedReaction(
|
|
75
75
|
() => zoomLevel.value,
|
|
76
76
|
(newZoomLevel) => {
|
|
77
|
-
|
|
77
|
+
const start = new Date(layout.event.start);
|
|
78
|
+
const end = new Date(layout.event.end);
|
|
79
|
+
const diff = (end.valueOf() - start.valueOf()) / 60_000;
|
|
80
|
+
|
|
81
|
+
height.value = Math.max(MIN_EVENT_HEIGHT_PX, newZoomLevel * diff);
|
|
78
82
|
},
|
|
79
|
-
[layout.
|
|
83
|
+
[layout.event]
|
|
80
84
|
);
|
|
81
85
|
|
|
82
86
|
useAnimatedReaction(
|
package/src/utils/globals.ts
CHANGED