lynx-console 0.1.0 → 0.1.1
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/dist/assets/src/components/{ConsolePanel.css.ts.vanilla-DFvHPEyg.css → ConsolePanel.css.ts.vanilla-DWdhFBJq.css} +66 -69
- package/dist/assets/src/components/FadeList.css.ts.vanilla-sppTKMZj.css +12 -0
- package/dist/assets/src/components/{NetworkPanel.css.ts.vanilla-DFMduT0T.css → NetworkPanel.css.ts.vanilla-BSE4s40D.css} +2 -5
- package/dist/assets/src/components/{PerformancePanel.css.ts.vanilla-D35LuXlW.css → PerformancePanel.css.ts.vanilla-Bb3zG5G8.css} +2 -2
- package/dist/index.cjs +130 -101
- package/dist/index.mjs +130 -101
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/ConsolePanel.css.ts +12 -17
- package/src/components/FadeList.css.ts +16 -0
- package/src/components/FadeList.tsx +76 -0
- package/src/components/FloatingButton.tsx +21 -18
- package/src/components/LogPanel.tsx +18 -35
- package/src/components/NetworkPanel.css.ts +2 -5
- package/src/components/NetworkPanel.tsx +4 -4
- package/src/components/PerformancePanel.css.ts +2 -2
- package/src/components/PerformancePanel.tsx +5 -5
- package/src/hooks/useLongPressDrag.ts +3 -3
package/dist/index.cjs
CHANGED
|
@@ -18,10 +18,11 @@ var __exportAll = (all, no_symbols) => {
|
|
|
18
18
|
//#endregion
|
|
19
19
|
let _lynx_js_react = require("@lynx-js/react");
|
|
20
20
|
require("./assets/src/components/BottomSheet.css.ts.vanilla-CulwSDhG.css");
|
|
21
|
-
require("./assets/src/components/ConsolePanel.css.ts.vanilla-
|
|
21
|
+
require("./assets/src/components/ConsolePanel.css.ts.vanilla-DWdhFBJq.css");
|
|
22
22
|
let javascript_stringify = require("javascript-stringify");
|
|
23
|
-
require("./assets/src/components/
|
|
24
|
-
require("./assets/src/components/
|
|
23
|
+
require("./assets/src/components/FadeList.css.ts.vanilla-sppTKMZj.css");
|
|
24
|
+
require("./assets/src/components/NetworkPanel.css.ts.vanilla-BSE4s40D.css");
|
|
25
|
+
require("./assets/src/components/PerformancePanel.css.ts.vanilla-Bb3zG5G8.css");
|
|
25
26
|
require("./assets/src/components/Tabs.css.ts.vanilla-DD7L2oXt.css");
|
|
26
27
|
require("./assets/src/components/FloatingButton.css.ts.vanilla-BaG0OI6p.css");
|
|
27
28
|
|
|
@@ -288,96 +289,94 @@ var createRuntimeFn = (config) => {
|
|
|
288
289
|
|
|
289
290
|
//#endregion
|
|
290
291
|
//#region src/components/ConsolePanel.css.ts
|
|
291
|
-
var argNull = "
|
|
292
|
-
var argObject = "
|
|
293
|
-
var argObjectContent = "
|
|
294
|
-
var argObjectHeader = "
|
|
295
|
-
var argObjectJson = "
|
|
296
|
-
var argObjectPreview = "
|
|
292
|
+
var argNull = "ConsolePanel_argNull__db6kuu18";
|
|
293
|
+
var argObject = "ConsolePanel_argObject__db6kuu1k";
|
|
294
|
+
var argObjectContent = "ConsolePanel_argObjectContent__db6kuu1n";
|
|
295
|
+
var argObjectHeader = "ConsolePanel_argObjectHeader__db6kuu1l";
|
|
296
|
+
var argObjectJson = "ConsolePanel_argObjectJson__db6kuu1q";
|
|
297
|
+
var argObjectPreview = "ConsolePanel_argObjectPreview__db6kuu1m";
|
|
297
298
|
var argPrimitive = createRuntimeFn({
|
|
298
|
-
defaultClassName: "
|
|
299
|
+
defaultClassName: "ConsolePanel_argPrimitive__db6kuu1f",
|
|
299
300
|
variantClassNames: { level: {
|
|
300
|
-
log: "
|
|
301
|
-
info: "
|
|
302
|
-
warn: "
|
|
303
|
-
error: "
|
|
301
|
+
log: "ConsolePanel_argPrimitive_level_log__db6kuu1g",
|
|
302
|
+
info: "ConsolePanel_argPrimitive_level_info__db6kuu1h",
|
|
303
|
+
warn: "ConsolePanel_argPrimitive_level_warn__db6kuu1i",
|
|
304
|
+
error: "ConsolePanel_argPrimitive_level_error__db6kuu1j"
|
|
304
305
|
} },
|
|
305
306
|
defaultVariants: {},
|
|
306
307
|
compoundVariants: []
|
|
307
308
|
});
|
|
308
309
|
var argString = createRuntimeFn({
|
|
309
|
-
defaultClassName: "
|
|
310
|
+
defaultClassName: "ConsolePanel_argString__db6kuu1a",
|
|
310
311
|
variantClassNames: { level: {
|
|
311
|
-
log: "
|
|
312
|
-
info: "
|
|
313
|
-
warn: "
|
|
314
|
-
error: "
|
|
312
|
+
log: "ConsolePanel_argString_level_log__db6kuu1b",
|
|
313
|
+
info: "ConsolePanel_argString_level_info__db6kuu1c",
|
|
314
|
+
warn: "ConsolePanel_argString_level_warn__db6kuu1d",
|
|
315
|
+
error: "ConsolePanel_argString_level_error__db6kuu1e"
|
|
315
316
|
} },
|
|
316
317
|
defaultVariants: {},
|
|
317
318
|
compoundVariants: []
|
|
318
319
|
});
|
|
319
|
-
var argUndefined = "
|
|
320
|
-
var clearButton$2 = "
|
|
321
|
-
var clearButtonText$2 = "
|
|
320
|
+
var argUndefined = "ConsolePanel_argUndefined__db6kuu19";
|
|
321
|
+
var clearButton$2 = "ConsolePanel_clearButton__db6kuup";
|
|
322
|
+
var clearButtonText$2 = "ConsolePanel_clearButtonText__db6kuuq";
|
|
322
323
|
var container$2 = "ConsolePanel_container__db6kuu0";
|
|
323
|
-
var
|
|
324
|
-
var
|
|
325
|
-
var filterButton = "ConsolePanel_filterButton__db6kuu7";
|
|
326
|
-
var filterButtonText = "ConsolePanel_filterButtonText__db6kuu8";
|
|
324
|
+
var filterButton = "ConsolePanel_filterButton__db6kuu6";
|
|
325
|
+
var filterButtonText = "ConsolePanel_filterButtonText__db6kuu7";
|
|
327
326
|
var filterCheckbox = createRuntimeFn({
|
|
328
|
-
defaultClassName: "
|
|
327
|
+
defaultClassName: "ConsolePanel_filterCheckbox__db6kuua",
|
|
329
328
|
variantClassNames: { level: {
|
|
330
|
-
log: "
|
|
331
|
-
info: "
|
|
332
|
-
warn: "
|
|
333
|
-
error: "
|
|
329
|
+
log: "ConsolePanel_filterCheckbox_level_log__db6kuub",
|
|
330
|
+
info: "ConsolePanel_filterCheckbox_level_info__db6kuuc",
|
|
331
|
+
warn: "ConsolePanel_filterCheckbox_level_warn__db6kuud",
|
|
332
|
+
error: "ConsolePanel_filterCheckbox_level_error__db6kuue"
|
|
334
333
|
} },
|
|
335
334
|
defaultVariants: {},
|
|
336
335
|
compoundVariants: []
|
|
337
336
|
});
|
|
338
|
-
var filterDropdown = "
|
|
337
|
+
var filterDropdown = "ConsolePanel_filterDropdown__db6kuu8";
|
|
339
338
|
var filterLabel = createRuntimeFn({
|
|
340
|
-
defaultClassName: "
|
|
339
|
+
defaultClassName: "ConsolePanel_filterLabel__db6kuuf",
|
|
341
340
|
variantClassNames: { level: {
|
|
342
|
-
log: "
|
|
343
|
-
info: "
|
|
344
|
-
warn: "
|
|
345
|
-
error: "
|
|
341
|
+
log: "ConsolePanel_filterLabel_level_log__db6kuug",
|
|
342
|
+
info: "ConsolePanel_filterLabel_level_info__db6kuuh",
|
|
343
|
+
warn: "ConsolePanel_filterLabel_level_warn__db6kuui",
|
|
344
|
+
error: "ConsolePanel_filterLabel_level_error__db6kuuj"
|
|
346
345
|
} },
|
|
347
346
|
defaultVariants: {},
|
|
348
347
|
compoundVariants: []
|
|
349
348
|
});
|
|
350
|
-
var filterOption = "
|
|
351
|
-
var filterWrapper = "
|
|
352
|
-
var logArgItem = "
|
|
353
|
-
var logArgsContainer = "
|
|
349
|
+
var filterOption = "ConsolePanel_filterOption__db6kuu9";
|
|
350
|
+
var filterWrapper = "ConsolePanel_filterWrapper__db6kuu5";
|
|
351
|
+
var logArgItem = "ConsolePanel_logArgItem__db6kuu17";
|
|
352
|
+
var logArgsContainer = "ConsolePanel_logArgsContainer__db6kuu16";
|
|
354
353
|
var logContainer = "ConsolePanel_logContainer__db6kuu3";
|
|
355
354
|
var logHeader = "ConsolePanel_logHeader__db6kuu4";
|
|
356
355
|
var logItem = createRuntimeFn({
|
|
357
|
-
defaultClassName: "
|
|
356
|
+
defaultClassName: "ConsolePanel_logItem__db6kuus",
|
|
358
357
|
variantClassNames: { level: {
|
|
359
|
-
log: "
|
|
360
|
-
info: "
|
|
361
|
-
warn: "
|
|
362
|
-
error: "
|
|
358
|
+
log: "ConsolePanel_logItem_level_log__db6kuut",
|
|
359
|
+
info: "ConsolePanel_logItem_level_info__db6kuuu",
|
|
360
|
+
warn: "ConsolePanel_logItem_level_warn__db6kuuv",
|
|
361
|
+
error: "ConsolePanel_logItem_level_error__db6kuuw"
|
|
363
362
|
} },
|
|
364
363
|
defaultVariants: {},
|
|
365
364
|
compoundVariants: []
|
|
366
365
|
});
|
|
367
|
-
var logItemHeader = "
|
|
366
|
+
var logItemHeader = "ConsolePanel_logItemHeader__db6kuux";
|
|
368
367
|
var logLevel = createRuntimeFn({
|
|
369
|
-
defaultClassName: "
|
|
368
|
+
defaultClassName: "ConsolePanel_logLevel__db6kuuy",
|
|
370
369
|
variantClassNames: { level: {
|
|
371
|
-
log: "
|
|
372
|
-
info: "
|
|
373
|
-
warn: "
|
|
374
|
-
error: "
|
|
370
|
+
log: "ConsolePanel_logLevel_level_log__db6kuuz",
|
|
371
|
+
info: "ConsolePanel_logLevel_level_info__db6kuu10",
|
|
372
|
+
warn: "ConsolePanel_logLevel_level_warn__db6kuu11",
|
|
373
|
+
error: "ConsolePanel_logLevel_level_error__db6kuu12"
|
|
375
374
|
} },
|
|
376
375
|
defaultVariants: {},
|
|
377
376
|
compoundVariants: []
|
|
378
377
|
});
|
|
379
|
-
var logList = "
|
|
380
|
-
var logTime = "
|
|
378
|
+
var logList = "ConsolePanel_logList__db6kuur";
|
|
379
|
+
var logTime = "ConsolePanel_logTime__db6kuu13";
|
|
381
380
|
var placeholder$2 = "ConsolePanel_placeholder__db6kuu1";
|
|
382
381
|
var placeholderText$2 = "ConsolePanel_placeholderText__db6kuu2";
|
|
383
382
|
var replInput = "ConsolePanel_replInput__db6kuu1t";
|
|
@@ -385,10 +384,12 @@ var replInputRow = "ConsolePanel_replInputRow__db6kuu1r";
|
|
|
385
384
|
var replPrompt = "ConsolePanel_replPrompt__db6kuu1s";
|
|
386
385
|
var replRunButton = "ConsolePanel_replRunButton__db6kuu1u";
|
|
387
386
|
var replRunButtonText = "ConsolePanel_replRunButtonText__db6kuu1v";
|
|
388
|
-
var
|
|
389
|
-
var
|
|
390
|
-
var
|
|
391
|
-
var
|
|
387
|
+
var searchClear = "ConsolePanel_searchClear__db6kuun";
|
|
388
|
+
var searchClearText = "ConsolePanel_searchClearText__db6kuuo";
|
|
389
|
+
var searchInput = "ConsolePanel_searchInput__db6kuum";
|
|
390
|
+
var searchPrompt = "ConsolePanel_searchPrompt__db6kuul";
|
|
391
|
+
var searchWrapper = "ConsolePanel_searchWrapper__db6kuuk";
|
|
392
|
+
var toggleIndicator = "ConsolePanel_toggleIndicator__db6kuu14";
|
|
392
393
|
|
|
393
394
|
//#endregion
|
|
394
395
|
//#region src/styles/vars/color.ts
|
|
@@ -778,6 +779,45 @@ const vars = {
|
|
|
778
779
|
}
|
|
779
780
|
};
|
|
780
781
|
|
|
782
|
+
//#endregion
|
|
783
|
+
//#region src/components/FadeList.css.ts
|
|
784
|
+
var fadeBottom = "FadeList_fadeBottom__uvxsyd1";
|
|
785
|
+
var fadeTop = "FadeList_fadeTop__uvxsyd0";
|
|
786
|
+
|
|
787
|
+
//#endregion
|
|
788
|
+
//#region src/components/FadeList.tsx
|
|
789
|
+
const FadeList = ({ className, listRef: externalListRef, children, ...listProps }) => {
|
|
790
|
+
const [fadeState, setFadeState] = (0, _lynx_js_react.useState)({
|
|
791
|
+
atTop: true,
|
|
792
|
+
atBottom: true
|
|
793
|
+
});
|
|
794
|
+
const fadeRef = (0, _lynx_js_react.useRef)({
|
|
795
|
+
atTop: true,
|
|
796
|
+
atBottom: true
|
|
797
|
+
});
|
|
798
|
+
const internalListRef = (0, _lynx_js_react.useRef)(null);
|
|
799
|
+
const listRef = externalListRef ?? internalListRef;
|
|
800
|
+
return <>
|
|
801
|
+
<view className={fadeTop} style={{ background: fadeState.atTop ? "linear-gradient(to bottom, #ffffff00, #ffffff00)" : `linear-gradient(to bottom, ${vars.$color.bg.layerFloating}, #ffffff00)` }} />
|
|
802
|
+
<list ref={listRef} scroll-orientation="vertical" className={className} scroll-event-throttle={16} bindscroll={(e) => {
|
|
803
|
+
const { scrollTop, scrollHeight, listHeight } = e.detail;
|
|
804
|
+
const atTop = scrollTop <= 10;
|
|
805
|
+
const atBottom = scrollTop + listHeight >= scrollHeight - 10;
|
|
806
|
+
if (atTop !== fadeRef.current.atTop || atBottom !== fadeRef.current.atBottom) {
|
|
807
|
+
fadeRef.current.atTop = atTop;
|
|
808
|
+
fadeRef.current.atBottom = atBottom;
|
|
809
|
+
setFadeState({
|
|
810
|
+
atTop,
|
|
811
|
+
atBottom
|
|
812
|
+
});
|
|
813
|
+
}
|
|
814
|
+
}} {...listProps}>
|
|
815
|
+
{children}
|
|
816
|
+
</list>
|
|
817
|
+
<view className={fadeBottom} style={{ background: fadeState.atBottom ? "linear-gradient(to top, #ffffff00, #ffffff00)" : `linear-gradient(to top, ${vars.$color.bg.layerFloating}, #ffffff00)` }} />
|
|
818
|
+
</>;
|
|
819
|
+
};
|
|
820
|
+
|
|
781
821
|
//#endregion
|
|
782
822
|
//#region src/components/LogPanel.tsx
|
|
783
823
|
const LOG_LEVELS = [
|
|
@@ -805,14 +845,6 @@ const LogPanel = ({ logs, clearLogs }) => {
|
|
|
805
845
|
const [enabledLevels, setEnabledLevels] = (0, _lynx_js_react.useState)(() => savedEnabledLevels ?? new Set(LOG_LEVELS));
|
|
806
846
|
const [filterOpen, setFilterOpen] = (0, _lynx_js_react.useState)(false);
|
|
807
847
|
const [searchQuery, setSearchQuery] = (0, _lynx_js_react.useState)(savedSearchQuery);
|
|
808
|
-
const [fadeState, setFadeState] = (0, _lynx_js_react.useState)({
|
|
809
|
-
atTop: true,
|
|
810
|
-
atBottom: true
|
|
811
|
-
});
|
|
812
|
-
const fadeRef = (0, _lynx_js_react.useRef)({
|
|
813
|
-
atTop: true,
|
|
814
|
-
atBottom: true
|
|
815
|
-
});
|
|
816
848
|
const inputRef = (0, _lynx_js_react.useRef)(null);
|
|
817
849
|
const searchInputRef = (0, _lynx_js_react.useRef)(null);
|
|
818
850
|
const listRef = (0, _lynx_js_react.useRef)(null);
|
|
@@ -957,6 +989,15 @@ const LogPanel = ({ logs, clearLogs }) => {
|
|
|
957
989
|
<view className={searchWrapper}>
|
|
958
990
|
<text className={searchPrompt}>{"›"}</text>
|
|
959
991
|
<input ref={searchInputRef} className={searchInput} placeholder="Search logs..." bindinput={(e) => setSearchQuery(e.detail.value)} />
|
|
992
|
+
{searchQuery.length > 0 && <view className={searchClear} bindtap={() => {
|
|
993
|
+
setSearchQuery("");
|
|
994
|
+
searchInputRef.current?.invoke({
|
|
995
|
+
method: "setValue",
|
|
996
|
+
params: { value: "" }
|
|
997
|
+
}).exec();
|
|
998
|
+
}}>
|
|
999
|
+
<text className={searchClearText}>✕</text>
|
|
1000
|
+
</view>}
|
|
960
1001
|
</view>
|
|
961
1002
|
<view style={{
|
|
962
1003
|
display: "flex",
|
|
@@ -964,24 +1005,11 @@ const LogPanel = ({ logs, clearLogs }) => {
|
|
|
964
1005
|
gap: 8
|
|
965
1006
|
}}>
|
|
966
1007
|
<view className={clearButton$2} bindtap={clearLogs}>
|
|
967
|
-
<text className={clearButtonText$2}
|
|
1008
|
+
<text className={clearButtonText$2}>🗑</text>
|
|
968
1009
|
</view>
|
|
969
1010
|
</view>
|
|
970
1011
|
</view>
|
|
971
|
-
<
|
|
972
|
-
<list ref={listRef} scroll-orientation="vertical" className={logList} preload-buffer-count={10} initial-scroll-index={Math.max(0, filteredLogs.length - 1)} scroll-event-throttle={16} bindscroll={(e) => {
|
|
973
|
-
const { scrollTop, scrollHeight, listHeight } = e.detail;
|
|
974
|
-
const atTop = scrollTop <= 10;
|
|
975
|
-
const atBottom = scrollTop + listHeight >= scrollHeight - 10;
|
|
976
|
-
if (atTop !== fadeRef.current.atTop || atBottom !== fadeRef.current.atBottom) {
|
|
977
|
-
fadeRef.current.atTop = atTop;
|
|
978
|
-
fadeRef.current.atBottom = atBottom;
|
|
979
|
-
setFadeState({
|
|
980
|
-
atTop,
|
|
981
|
-
atBottom
|
|
982
|
-
});
|
|
983
|
-
}
|
|
984
|
-
}}>
|
|
1012
|
+
<FadeList listRef={listRef} className={logList} preload-buffer-count={10} initial-scroll-index={Math.max(0, filteredLogs.length - 1)}>
|
|
985
1013
|
{filteredLogs.length === 0 ? <list-item item-key="empty-state">
|
|
986
1014
|
<view className={placeholder$2}>
|
|
987
1015
|
<text className={placeholderText$2}>
|
|
@@ -1007,8 +1035,7 @@ const LogPanel = ({ logs, clearLogs }) => {
|
|
|
1007
1035
|
</view>
|
|
1008
1036
|
</list-item>;
|
|
1009
1037
|
})}
|
|
1010
|
-
</
|
|
1011
|
-
<view className={fadeBottom} style={{ background: fadeState.atBottom ? `linear-gradient(to top, #ffffff00, #ffffff00)` : `linear-gradient(to top, ${vars.$color.bg.layerDefault}, #ffffff00)` }} />
|
|
1038
|
+
</FadeList>
|
|
1012
1039
|
<view className={replInputRow}>
|
|
1013
1040
|
<text className={replPrompt}>{"›"}</text>
|
|
1014
1041
|
<input ref={inputRef} className={replInput} placeholder="enter code..." bindinput={(e) => setCode(e.detail.value)} bindconfirm={handleRun} />
|
|
@@ -1173,13 +1200,13 @@ const NetworkPanel = ({ networks, clearNetworks }) => {
|
|
|
1173
1200
|
<view className={header$1}>
|
|
1174
1201
|
<text className={count$1}>Total: {networks.length} requests</text>
|
|
1175
1202
|
<view className={clearButton$1} bindtap={clearNetworks}>
|
|
1176
|
-
<text className={clearButtonText$1}
|
|
1203
|
+
<text className={clearButtonText$1}>🗑</text>
|
|
1177
1204
|
</view>
|
|
1178
1205
|
</view>
|
|
1179
1206
|
|
|
1180
1207
|
{networks.length === 0 ? <view className={placeholder$1}>
|
|
1181
1208
|
<text className={placeholderText$1}>No network requests yet</text>
|
|
1182
|
-
</view> : <
|
|
1209
|
+
</view> : <FadeList className={list$1}>
|
|
1183
1210
|
{networks.map((network) => <list-item key={network.id} item-key={network.id}>
|
|
1184
1211
|
<view className={item$1({ status: network.status })}>
|
|
1185
1212
|
<view className={itemHeader$1} bindtap={() => setSelectedId(selectedId === network.id ? null : network.id)}>
|
|
@@ -1242,7 +1269,7 @@ const NetworkPanel = ({ networks, clearNetworks }) => {
|
|
|
1242
1269
|
</view>}
|
|
1243
1270
|
</view>
|
|
1244
1271
|
</list-item>)}
|
|
1245
|
-
</
|
|
1272
|
+
</FadeList>}
|
|
1246
1273
|
</view>;
|
|
1247
1274
|
};
|
|
1248
1275
|
|
|
@@ -1324,7 +1351,7 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
|
|
|
1324
1351
|
<text>Log</text>
|
|
1325
1352
|
</view>
|
|
1326
1353
|
<view bindtap={clearPerformances} className={clearButton}>
|
|
1327
|
-
<text className={clearButtonText}
|
|
1354
|
+
<text className={clearButtonText}>🗑</text>
|
|
1328
1355
|
</view>
|
|
1329
1356
|
</view>
|
|
1330
1357
|
<view className={placeholder}>
|
|
@@ -1337,11 +1364,11 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
|
|
|
1337
1364
|
<view className={header}>
|
|
1338
1365
|
<text className={count}>{performances.length} entries</text>
|
|
1339
1366
|
<view bindtap={clearPerformances} className={clearButton}>
|
|
1340
|
-
<text className={clearButtonText}
|
|
1367
|
+
<text className={clearButtonText}>🗑</text>
|
|
1341
1368
|
</view>
|
|
1342
1369
|
</view>
|
|
1343
1370
|
|
|
1344
|
-
<
|
|
1371
|
+
<FadeList className={list}>
|
|
1345
1372
|
{performances.map((perf) => {
|
|
1346
1373
|
const isMetricFcp = isMetricFcpEntry(perf);
|
|
1347
1374
|
const fcpMetrics = extractFcpMetrics(perf);
|
|
@@ -1417,7 +1444,7 @@ const PerformancePanel = ({ performances, clearPerformances }) => {
|
|
|
1417
1444
|
</view>
|
|
1418
1445
|
</list-item>;
|
|
1419
1446
|
})}
|
|
1420
|
-
</
|
|
1447
|
+
</FadeList>
|
|
1421
1448
|
</view>;
|
|
1422
1449
|
};
|
|
1423
1450
|
|
|
@@ -1584,9 +1611,9 @@ function useLongPressDrag(onTap) {
|
|
|
1584
1611
|
bottom: isDragging ? tempBottom : bottom,
|
|
1585
1612
|
clearTimer,
|
|
1586
1613
|
handlers: {
|
|
1587
|
-
|
|
1588
|
-
|
|
1589
|
-
|
|
1614
|
+
catchtouchstart: handleTouchStart,
|
|
1615
|
+
catchtouchmove: handleTouchMove,
|
|
1616
|
+
catchtouchend: handleTouchEnd
|
|
1590
1617
|
}
|
|
1591
1618
|
};
|
|
1592
1619
|
}
|
|
@@ -1621,19 +1648,21 @@ const FloatingButton = ({ bindtap, children }) => {
|
|
|
1621
1648
|
}
|
|
1622
1649
|
};
|
|
1623
1650
|
const isDragging = phase === "dragging";
|
|
1624
|
-
return
|
|
1651
|
+
return <>
|
|
1652
|
+
<view className={wrapper} consume-slide-event={[[-180, 180]]} style={{
|
|
1625
1653
|
right: `${right}px`,
|
|
1626
1654
|
bottom: `${bottom}px`,
|
|
1627
1655
|
transform: isDragging ? "scale(1.05)" : "scale(1)"
|
|
1628
1656
|
}} {...handlers}>
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1657
|
+
<view className={button}>
|
|
1658
|
+
{children}
|
|
1659
|
+
<view className={shineOverlay} style={SHINE_STYLES[phase]} />
|
|
1660
|
+
</view>
|
|
1661
|
+
<view className={reloadButton} catchtouchstart={() => clearTimer()} bindtap={handleReload}>
|
|
1662
|
+
<text className={reloadIcon}>{"↻"}</text>
|
|
1663
|
+
</view>
|
|
1635
1664
|
</view>
|
|
1636
|
-
|
|
1665
|
+
</>;
|
|
1637
1666
|
};
|
|
1638
1667
|
|
|
1639
1668
|
//#endregion
|