@pisell/materials 6.11.35 → 6.11.36
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/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +5 -5
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +4 -4
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +40 -5
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewport.less +21 -0
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +9 -1
- package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +9 -2
- package/es/locales/en-US.d.ts +2 -0
- package/es/locales/en-US.js +4 -2
- package/es/locales/ja.d.ts +2 -0
- package/es/locales/ja.js +5 -3
- package/es/locales/pt.d.ts +2 -0
- package/es/locales/pt.js +4 -2
- package/es/locales/zh-CN.d.ts +2 -0
- package/es/locales/zh-CN.js +5 -3
- package/es/locales/zh-TW.d.ts +2 -0
- package/es/locales/zh-TW.js +5 -3
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +32 -0
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewport.less +21 -0
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +6 -1
- package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +12 -2
- package/lib/locales/en-US.d.ts +2 -0
- package/lib/locales/en-US.js +4 -2
- package/lib/locales/ja.d.ts +2 -0
- package/lib/locales/ja.js +5 -3
- package/lib/locales/pt.d.ts +2 -0
- package/lib/locales/pt.js +4 -2
- package/lib/locales/zh-CN.d.ts +2 -0
- package/lib/locales/zh-CN.js +5 -3
- package/lib/locales/zh-TW.d.ts +2 -0
- package/lib/locales/zh-TW.js +5 -3
- package/package.json +3 -3
package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js
CHANGED
|
@@ -11,7 +11,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
|
|
|
11
11
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
12
12
|
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
13
13
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
-
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
14
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
15
15
|
import { Spin } from 'antd';
|
|
16
16
|
import { getText } from "../../../../locales";
|
|
17
17
|
import { getCurrentLocale } from "../../../../utils/locale";
|
|
@@ -209,13 +209,30 @@ export var PisellRecordBoardResourceWallView = function PisellRecordBoardResourc
|
|
|
209
209
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
210
210
|
currentPage = _useState12[0],
|
|
211
211
|
setCurrentPage = _useState12[1];
|
|
212
|
+
var _useState13 = useState(false),
|
|
213
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
214
|
+
pseudoFullscreen = _useState14[0],
|
|
215
|
+
setPseudoFullscreen = _useState14[1];
|
|
216
|
+
var shellRef = useRef(null);
|
|
217
|
+
useEffect(function () {
|
|
218
|
+
var cls = 'pisell-resource-wall-fixed-viewport';
|
|
219
|
+
if (typeof document === 'undefined') return;
|
|
220
|
+
if (pseudoFullscreen) {
|
|
221
|
+
document.body.classList.add(cls);
|
|
222
|
+
} else {
|
|
223
|
+
document.body.classList.remove(cls);
|
|
224
|
+
}
|
|
225
|
+
return function () {
|
|
226
|
+
document.body.classList.remove(cls);
|
|
227
|
+
};
|
|
228
|
+
}, [pseudoFullscreen]);
|
|
212
229
|
var layoutPersisted = onResourceWallLayoutChange != null;
|
|
213
|
-
var
|
|
230
|
+
var _useState15 = useState(function () {
|
|
214
231
|
return _objectSpread({}, DEFAULT_RESOURCE_WALL_LAYOUT_PERSIST);
|
|
215
232
|
}),
|
|
216
|
-
|
|
217
|
-
internalLayout =
|
|
218
|
-
setInternalLayout =
|
|
233
|
+
_useState16 = _slicedToArray(_useState15, 2),
|
|
234
|
+
internalLayout = _useState16[0],
|
|
235
|
+
setInternalLayout = _useState16[1];
|
|
219
236
|
var layoutState = layoutPersisted ? _objectSpread(_objectSpread({}, DEFAULT_RESOURCE_WALL_LAYOUT_PERSIST), resourceWallLayoutProp !== null && resourceWallLayoutProp !== void 0 ? resourceWallLayoutProp : {}) : internalLayout;
|
|
220
237
|
var setLayoutState = useCallback(function (patch) {
|
|
221
238
|
if (layoutPersisted) {
|
|
@@ -348,6 +365,7 @@ export var PisellRecordBoardResourceWallView = function PisellRecordBoardResourc
|
|
|
348
365
|
var toolbarBtnBgActive = isDark ? '#475569' : '#f1f5f9';
|
|
349
366
|
var countdownSec = Math.max(3, pageDurationSec);
|
|
350
367
|
var shell = /*#__PURE__*/React.createElement("div", {
|
|
368
|
+
ref: shellRef,
|
|
351
369
|
className: className,
|
|
352
370
|
style: _objectSpread({
|
|
353
371
|
flex: 1,
|
|
@@ -429,6 +447,23 @@ export var PisellRecordBoardResourceWallView = function PisellRecordBoardResourc
|
|
|
429
447
|
color: appearanceMode === 'dark' ? clockColor : mutedText
|
|
430
448
|
}
|
|
431
449
|
}, getText('pisell-resource-wall-appearance-dark'))), /*#__PURE__*/React.createElement("button", {
|
|
450
|
+
type: "button",
|
|
451
|
+
onClick: function onClick() {
|
|
452
|
+
return setPseudoFullscreen(function (v) {
|
|
453
|
+
return !v;
|
|
454
|
+
});
|
|
455
|
+
},
|
|
456
|
+
style: {
|
|
457
|
+
borderRadius: 6,
|
|
458
|
+
padding: '6px 14px',
|
|
459
|
+
fontSize: 13,
|
|
460
|
+
fontWeight: 500,
|
|
461
|
+
cursor: 'pointer',
|
|
462
|
+
border: toolbarBtnBorder,
|
|
463
|
+
background: pseudoFullscreen ? toolbarBtnBgActive : toolbarBtnBg,
|
|
464
|
+
color: clockColor
|
|
465
|
+
}
|
|
466
|
+
}, pseudoFullscreen ? getText('pisell-resource-wall-fullscreen-exit') : getText('pisell-resource-wall-fullscreen-enter')), /*#__PURE__*/React.createElement("button", {
|
|
432
467
|
type: "button",
|
|
433
468
|
onClick: function onClick() {
|
|
434
469
|
return setShowControlPanel(true);
|
|
@@ -14,3 +14,24 @@
|
|
|
14
14
|
animation-timing-function: linear;
|
|
15
15
|
animation-iteration-count: infinite;
|
|
16
16
|
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 资源墙伪全屏:不调用 Fullscreen API。
|
|
20
|
+
* 通过给 `body` 打标记,选择器固定 `.pisell-shell-frame-body` 铺满视口(width/height 均为 100%)。
|
|
21
|
+
*/
|
|
22
|
+
body.pisell-resource-wall-fixed-viewport {
|
|
23
|
+
overflow: hidden !important;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
body.pisell-resource-wall-fixed-viewport .pisell-shell-frame-body {
|
|
27
|
+
position: fixed;
|
|
28
|
+
inset: 0;
|
|
29
|
+
z-index: 2000;
|
|
30
|
+
padding: 0;
|
|
31
|
+
margin: 0;
|
|
32
|
+
width: 100%;
|
|
33
|
+
height: 100%;
|
|
34
|
+
max-width: 100%;
|
|
35
|
+
max-height: 100%;
|
|
36
|
+
overflow: hidden;
|
|
37
|
+
}
|
|
@@ -239,6 +239,13 @@ export var VenueWallCard = function VenueWallCard(_ref) {
|
|
|
239
239
|
var nextBlockPad = Math.max(unit * 0.16, Math.min(unit * 0.24, 16));
|
|
240
240
|
var noteSize = clamp(noteHeight * 0.28 * fitScale, 10, 18);
|
|
241
241
|
var tagFont = Math.max(8, tagSize * 0.68);
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* 外层卡片高度会被父级网格 `1fr` 行拉伸;若内层 grid 仍用固定 `px` 行高,
|
|
245
|
+
* 则“卡片容器变高但内容区不跟着长高”,表现为底部空白。
|
|
246
|
+
* 这里用 `minmax(基准px, nfr)` 把增量高度主要分配给 CURRENT / NEXT 两个主模块。
|
|
247
|
+
*/
|
|
248
|
+
var gridTemplateRows = "".concat(headerHeight, "px minmax(").concat(Math.max(120, currentHeight), "px, 4fr) minmax(").concat(Math.max(72, nextHeight), "px, 2fr) ").concat(noteHeight, "px");
|
|
242
249
|
return /*#__PURE__*/React.createElement("div", {
|
|
243
250
|
ref: cardRef,
|
|
244
251
|
className: "pisell-resource-wall-card",
|
|
@@ -260,9 +267,10 @@ export var VenueWallCard = function VenueWallCard(_ref) {
|
|
|
260
267
|
flex: 1,
|
|
261
268
|
display: 'grid',
|
|
262
269
|
minHeight: 0,
|
|
270
|
+
height: '100%',
|
|
263
271
|
padding: shellPad,
|
|
264
272
|
gap: sectionGap,
|
|
265
|
-
gridTemplateRows:
|
|
273
|
+
gridTemplateRows: gridTemplateRows
|
|
266
274
|
}
|
|
267
275
|
}, /*#__PURE__*/React.createElement("div", {
|
|
268
276
|
style: {
|
|
@@ -93,13 +93,20 @@ export function deriveVenueWallStatus(card) {
|
|
|
93
93
|
if (rm != null && rm <= 10) return 'endingSoon';
|
|
94
94
|
return 'inUse';
|
|
95
95
|
}
|
|
96
|
+
function formatDurationHM(minAbs) {
|
|
97
|
+
var safe = Number.isFinite(minAbs) ? Math.max(0, Math.floor(minAbs)) : 0;
|
|
98
|
+
if (safe < 60) return "".concat(safe, "m");
|
|
99
|
+
var h = Math.floor(safe / 60);
|
|
100
|
+
var m = safe % 60;
|
|
101
|
+
return "".concat(h, "h").concat(String(m).padStart(2, '0'), "m");
|
|
102
|
+
}
|
|
96
103
|
export function formatVenueWallCountdown(min) {
|
|
97
104
|
if (min < 0) {
|
|
98
|
-
var n =
|
|
105
|
+
var n = formatDurationHM(Math.abs(min));
|
|
99
106
|
return getText('pisell-resource-wall-countdown-overtime').replace('{n}', n);
|
|
100
107
|
}
|
|
101
108
|
if (min === 0) return getText('pisell-resource-wall-countdown-ending-now');
|
|
102
|
-
return getText('pisell-resource-wall-countdown-left').replace('{n}',
|
|
109
|
+
return getText('pisell-resource-wall-countdown-left').replace('{n}', formatDurationHM(min));
|
|
103
110
|
}
|
|
104
111
|
function cloneTone(t) {
|
|
105
112
|
return _objectSpread({}, t);
|
package/es/locales/en-US.d.ts
CHANGED
|
@@ -150,6 +150,8 @@ declare const _default: {
|
|
|
150
150
|
'pisell-resource-wall-countdown-ending-now': string;
|
|
151
151
|
'pisell-resource-wall-countdown-left': string;
|
|
152
152
|
'pisell-resource-wall-countdown-zero-overtime': string;
|
|
153
|
+
'pisell-resource-wall-fullscreen-enter': string;
|
|
154
|
+
'pisell-resource-wall-fullscreen-exit': string;
|
|
153
155
|
'pisell-resource-wall-card-hero-available': string;
|
|
154
156
|
'pisell-resource-wall-card-label-current': string;
|
|
155
157
|
'pisell-resource-wall-card-label-next': string;
|
package/es/locales/en-US.js
CHANGED
|
@@ -166,10 +166,12 @@ export default {
|
|
|
166
166
|
'pisell-resource-wall-available-card-color-label': 'Available tone (light cards)',
|
|
167
167
|
'pisell-resource-wall-status-col-explain': 'Explanatory copy',
|
|
168
168
|
'pisell-resource-wall-carousel-countdown-line': 'Page {cur} / {tot} · {sec}s/page',
|
|
169
|
-
'pisell-resource-wall-countdown-overtime': '{n}
|
|
169
|
+
'pisell-resource-wall-countdown-overtime': '{n} overtime',
|
|
170
170
|
'pisell-resource-wall-countdown-ending-now': 'Ending now',
|
|
171
|
-
'pisell-resource-wall-countdown-left': '{n}
|
|
171
|
+
'pisell-resource-wall-countdown-left': '{n} left',
|
|
172
172
|
'pisell-resource-wall-countdown-zero-overtime': '0m overtime',
|
|
173
|
+
'pisell-resource-wall-fullscreen-enter': 'Full screen',
|
|
174
|
+
'pisell-resource-wall-fullscreen-exit': 'Exit full screen',
|
|
173
175
|
'pisell-resource-wall-card-hero-available': 'Available',
|
|
174
176
|
'pisell-resource-wall-card-label-current': 'Current',
|
|
175
177
|
'pisell-resource-wall-card-label-next': 'Next',
|
package/es/locales/ja.d.ts
CHANGED
|
@@ -410,6 +410,8 @@ declare const _default: {
|
|
|
410
410
|
'pisell-resource-wall-countdown-ending-now': string;
|
|
411
411
|
'pisell-resource-wall-countdown-left': string;
|
|
412
412
|
'pisell-resource-wall-countdown-zero-overtime': string;
|
|
413
|
+
'pisell-resource-wall-fullscreen-enter': string;
|
|
414
|
+
'pisell-resource-wall-fullscreen-exit': string;
|
|
413
415
|
'pisell-resource-wall-card-hero-available': string;
|
|
414
416
|
'pisell-resource-wall-card-label-current': string;
|
|
415
417
|
'pisell-resource-wall-card-label-next': string;
|
package/es/locales/ja.js
CHANGED
|
@@ -493,10 +493,12 @@ export default (_pisellTabbarExpand = {
|
|
|
493
493
|
'pisell-resource-wall-available-card-color-label': '空きの色(ライトカード)',
|
|
494
494
|
'pisell-resource-wall-status-col-explain': '説明文',
|
|
495
495
|
'pisell-resource-wall-carousel-countdown-line': '{tot} ページ中 {cur} ページ目 · {sec} 秒/ページ',
|
|
496
|
-
'pisell-resource-wall-countdown-overtime': '超過 {n}
|
|
496
|
+
'pisell-resource-wall-countdown-overtime': '超過 {n}',
|
|
497
497
|
'pisell-resource-wall-countdown-ending-now': 'まもなく終了',
|
|
498
|
-
'pisell-resource-wall-countdown-left': '残り {n}
|
|
499
|
-
'pisell-resource-wall-countdown-zero-overtime': '超過
|
|
498
|
+
'pisell-resource-wall-countdown-left': '残り {n}',
|
|
499
|
+
'pisell-resource-wall-countdown-zero-overtime': '超過 0m',
|
|
500
|
+
'pisell-resource-wall-fullscreen-enter': '全画面',
|
|
501
|
+
'pisell-resource-wall-fullscreen-exit': '全画面を終了',
|
|
500
502
|
'pisell-resource-wall-card-hero-available': '空き',
|
|
501
503
|
'pisell-resource-wall-card-label-current': '現在',
|
|
502
504
|
'pisell-resource-wall-card-label-next': '次',
|
package/es/locales/pt.d.ts
CHANGED
|
@@ -410,6 +410,8 @@ declare const _default: {
|
|
|
410
410
|
'pisell-resource-wall-countdown-ending-now': string;
|
|
411
411
|
'pisell-resource-wall-countdown-left': string;
|
|
412
412
|
'pisell-resource-wall-countdown-zero-overtime': string;
|
|
413
|
+
'pisell-resource-wall-fullscreen-enter': string;
|
|
414
|
+
'pisell-resource-wall-fullscreen-exit': string;
|
|
413
415
|
'pisell-resource-wall-card-hero-available': string;
|
|
414
416
|
'pisell-resource-wall-card-label-current': string;
|
|
415
417
|
'pisell-resource-wall-card-label-next': string;
|
package/es/locales/pt.js
CHANGED
|
@@ -492,10 +492,12 @@ export default (_pisellTabbarExpand = {
|
|
|
492
492
|
'pisell-resource-wall-available-card-color-label': 'Cor livre (cartões claros)',
|
|
493
493
|
'pisell-resource-wall-status-col-explain': 'Texto explicativo',
|
|
494
494
|
'pisell-resource-wall-carousel-countdown-line': 'Página {cur} / {tot} · {sec}s/página',
|
|
495
|
-
'pisell-resource-wall-countdown-overtime': '{n}
|
|
495
|
+
'pisell-resource-wall-countdown-overtime': '{n} em prolongamento',
|
|
496
496
|
'pisell-resource-wall-countdown-ending-now': 'A terminar',
|
|
497
|
-
'pisell-resource-wall-countdown-left': '{n}
|
|
497
|
+
'pisell-resource-wall-countdown-left': '{n} restantes',
|
|
498
498
|
'pisell-resource-wall-countdown-zero-overtime': '0m em prolongamento',
|
|
499
|
+
'pisell-resource-wall-fullscreen-enter': 'Ecrã inteiro',
|
|
500
|
+
'pisell-resource-wall-fullscreen-exit': 'Sair do ecrã inteiro',
|
|
499
501
|
'pisell-resource-wall-card-hero-available': 'Disponível',
|
|
500
502
|
'pisell-resource-wall-card-label-current': 'Atual',
|
|
501
503
|
'pisell-resource-wall-card-label-next': 'Seguinte',
|
package/es/locales/zh-CN.d.ts
CHANGED
|
@@ -150,6 +150,8 @@ declare const _default: {
|
|
|
150
150
|
'pisell-resource-wall-countdown-ending-now': string;
|
|
151
151
|
'pisell-resource-wall-countdown-left': string;
|
|
152
152
|
'pisell-resource-wall-countdown-zero-overtime': string;
|
|
153
|
+
'pisell-resource-wall-fullscreen-enter': string;
|
|
154
|
+
'pisell-resource-wall-fullscreen-exit': string;
|
|
153
155
|
'pisell-resource-wall-card-hero-available': string;
|
|
154
156
|
'pisell-resource-wall-card-label-current': string;
|
|
155
157
|
'pisell-resource-wall-card-label-next': string;
|
package/es/locales/zh-CN.js
CHANGED
|
@@ -166,10 +166,12 @@ export default {
|
|
|
166
166
|
'pisell-resource-wall-available-card-color-label': '非占用色(浅色卡片)',
|
|
167
167
|
'pisell-resource-wall-status-col-explain': '解释文案',
|
|
168
168
|
'pisell-resource-wall-carousel-countdown-line': '第 {cur} / {tot} 页 · 每页 {sec} 秒',
|
|
169
|
-
'pisell-resource-wall-countdown-overtime': '超时 {n}
|
|
169
|
+
'pisell-resource-wall-countdown-overtime': '超时 {n}',
|
|
170
170
|
'pisell-resource-wall-countdown-ending-now': '即将结束',
|
|
171
|
-
'pisell-resource-wall-countdown-left': '剩余 {n}
|
|
172
|
-
'pisell-resource-wall-countdown-zero-overtime': '超时
|
|
171
|
+
'pisell-resource-wall-countdown-left': '剩余 {n}',
|
|
172
|
+
'pisell-resource-wall-countdown-zero-overtime': '超时 0m',
|
|
173
|
+
'pisell-resource-wall-fullscreen-enter': '全屏',
|
|
174
|
+
'pisell-resource-wall-fullscreen-exit': '退出全屏',
|
|
173
175
|
'pisell-resource-wall-card-hero-available': '空闲',
|
|
174
176
|
'pisell-resource-wall-card-label-current': '当前',
|
|
175
177
|
'pisell-resource-wall-card-label-next': '下一场',
|
package/es/locales/zh-TW.d.ts
CHANGED
|
@@ -150,6 +150,8 @@ declare const _default: {
|
|
|
150
150
|
'pisell-resource-wall-countdown-ending-now': string;
|
|
151
151
|
'pisell-resource-wall-countdown-left': string;
|
|
152
152
|
'pisell-resource-wall-countdown-zero-overtime': string;
|
|
153
|
+
'pisell-resource-wall-fullscreen-enter': string;
|
|
154
|
+
'pisell-resource-wall-fullscreen-exit': string;
|
|
153
155
|
'pisell-resource-wall-card-hero-available': string;
|
|
154
156
|
'pisell-resource-wall-card-label-current': string;
|
|
155
157
|
'pisell-resource-wall-card-label-next': string;
|
package/es/locales/zh-TW.js
CHANGED
|
@@ -166,10 +166,12 @@ export default {
|
|
|
166
166
|
'pisell-resource-wall-available-card-color-label': '非占用色(淺色卡片)',
|
|
167
167
|
'pisell-resource-wall-status-col-explain': '解釋文案',
|
|
168
168
|
'pisell-resource-wall-carousel-countdown-line': '第 {cur} / {tot} 頁 · 每頁 {sec} 秒',
|
|
169
|
-
'pisell-resource-wall-countdown-overtime': '逾時 {n}
|
|
169
|
+
'pisell-resource-wall-countdown-overtime': '逾時 {n}',
|
|
170
170
|
'pisell-resource-wall-countdown-ending-now': '即將結束',
|
|
171
|
-
'pisell-resource-wall-countdown-left': '剩餘 {n}
|
|
172
|
-
'pisell-resource-wall-countdown-zero-overtime': '逾時
|
|
171
|
+
'pisell-resource-wall-countdown-left': '剩餘 {n}',
|
|
172
|
+
'pisell-resource-wall-countdown-zero-overtime': '逾時 0m',
|
|
173
|
+
'pisell-resource-wall-fullscreen-enter': '全屏',
|
|
174
|
+
'pisell-resource-wall-fullscreen-exit': '退出全屏',
|
|
173
175
|
'pisell-resource-wall-card-hero-available': '空閒',
|
|
174
176
|
'pisell-resource-wall-card-label-current': '目前',
|
|
175
177
|
'pisell-resource-wall-card-label-next': '下一場',
|
|
@@ -165,6 +165,20 @@ var PisellRecordBoardResourceWallView = (props) => {
|
|
|
165
165
|
setShowControlPanel(false);
|
|
166
166
|
}, []);
|
|
167
167
|
const [currentPage, setCurrentPage] = (0, import_react.useState)(0);
|
|
168
|
+
const [pseudoFullscreen, setPseudoFullscreen] = (0, import_react.useState)(false);
|
|
169
|
+
const shellRef = (0, import_react.useRef)(null);
|
|
170
|
+
(0, import_react.useEffect)(() => {
|
|
171
|
+
const cls = "pisell-resource-wall-fixed-viewport";
|
|
172
|
+
if (typeof document === "undefined") return;
|
|
173
|
+
if (pseudoFullscreen) {
|
|
174
|
+
document.body.classList.add(cls);
|
|
175
|
+
} else {
|
|
176
|
+
document.body.classList.remove(cls);
|
|
177
|
+
}
|
|
178
|
+
return () => {
|
|
179
|
+
document.body.classList.remove(cls);
|
|
180
|
+
};
|
|
181
|
+
}, [pseudoFullscreen]);
|
|
168
182
|
const layoutPersisted = onResourceWallLayoutChange != null;
|
|
169
183
|
const [internalLayout, setInternalLayout] = (0, import_react.useState)(() => ({
|
|
170
184
|
...import_types.DEFAULT_RESOURCE_WALL_LAYOUT_PERSIST
|
|
@@ -323,6 +337,7 @@ var PisellRecordBoardResourceWallView = (props) => {
|
|
|
323
337
|
const shell = /* @__PURE__ */ import_react.default.createElement(
|
|
324
338
|
"div",
|
|
325
339
|
{
|
|
340
|
+
ref: shellRef,
|
|
326
341
|
className,
|
|
327
342
|
style: {
|
|
328
343
|
flex: 1,
|
|
@@ -420,6 +435,23 @@ var PisellRecordBoardResourceWallView = (props) => {
|
|
|
420
435
|
},
|
|
421
436
|
(0, import_locales.getText)("pisell-resource-wall-appearance-dark")
|
|
422
437
|
)
|
|
438
|
+
), /* @__PURE__ */ import_react.default.createElement(
|
|
439
|
+
"button",
|
|
440
|
+
{
|
|
441
|
+
type: "button",
|
|
442
|
+
onClick: () => setPseudoFullscreen((v) => !v),
|
|
443
|
+
style: {
|
|
444
|
+
borderRadius: 6,
|
|
445
|
+
padding: "6px 14px",
|
|
446
|
+
fontSize: 13,
|
|
447
|
+
fontWeight: 500,
|
|
448
|
+
cursor: "pointer",
|
|
449
|
+
border: toolbarBtnBorder,
|
|
450
|
+
background: pseudoFullscreen ? toolbarBtnBgActive : toolbarBtnBg,
|
|
451
|
+
color: clockColor
|
|
452
|
+
}
|
|
453
|
+
},
|
|
454
|
+
pseudoFullscreen ? (0, import_locales.getText)("pisell-resource-wall-fullscreen-exit") : (0, import_locales.getText)("pisell-resource-wall-fullscreen-enter")
|
|
423
455
|
), /* @__PURE__ */ import_react.default.createElement(
|
|
424
456
|
"button",
|
|
425
457
|
{
|
|
@@ -14,3 +14,24 @@
|
|
|
14
14
|
animation-timing-function: linear;
|
|
15
15
|
animation-iteration-count: infinite;
|
|
16
16
|
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 资源墙伪全屏:不调用 Fullscreen API。
|
|
20
|
+
* 通过给 `body` 打标记,选择器固定 `.pisell-shell-frame-body` 铺满视口(width/height 均为 100%)。
|
|
21
|
+
*/
|
|
22
|
+
body.pisell-resource-wall-fixed-viewport {
|
|
23
|
+
overflow: hidden !important;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
body.pisell-resource-wall-fixed-viewport .pisell-shell-frame-body {
|
|
27
|
+
position: fixed;
|
|
28
|
+
inset: 0;
|
|
29
|
+
z-index: 2000;
|
|
30
|
+
padding: 0;
|
|
31
|
+
margin: 0;
|
|
32
|
+
width: 100%;
|
|
33
|
+
height: 100%;
|
|
34
|
+
max-width: 100%;
|
|
35
|
+
max-height: 100%;
|
|
36
|
+
overflow: hidden;
|
|
37
|
+
}
|
|
@@ -237,6 +237,10 @@ var VenueWallCard = ({
|
|
|
237
237
|
const nextBlockPad = Math.max(unit * 0.16, Math.min(unit * 0.24, 16));
|
|
238
238
|
const noteSize = (0, import_venueWallUtils.clamp)(noteHeight * 0.28 * fitScale, 10, 18);
|
|
239
239
|
const tagFont = Math.max(8, tagSize * 0.68);
|
|
240
|
+
const gridTemplateRows = `${headerHeight}px minmax(${Math.max(
|
|
241
|
+
120,
|
|
242
|
+
currentHeight
|
|
243
|
+
)}px, 4fr) minmax(${Math.max(72, nextHeight)}px, 2fr) ${noteHeight}px`;
|
|
240
244
|
return /* @__PURE__ */ import_react.default.createElement(
|
|
241
245
|
"div",
|
|
242
246
|
{
|
|
@@ -263,9 +267,10 @@ var VenueWallCard = ({
|
|
|
263
267
|
flex: 1,
|
|
264
268
|
display: "grid",
|
|
265
269
|
minHeight: 0,
|
|
270
|
+
height: "100%",
|
|
266
271
|
padding: shellPad,
|
|
267
272
|
gap: sectionGap,
|
|
268
|
-
gridTemplateRows
|
|
273
|
+
gridTemplateRows
|
|
269
274
|
}
|
|
270
275
|
},
|
|
271
276
|
/* @__PURE__ */ import_react.default.createElement(
|
|
@@ -107,13 +107,23 @@ function deriveVenueWallStatus(card) {
|
|
|
107
107
|
if (rm != null && rm <= 10) return "endingSoon";
|
|
108
108
|
return "inUse";
|
|
109
109
|
}
|
|
110
|
+
function formatDurationHM(minAbs) {
|
|
111
|
+
const safe = Number.isFinite(minAbs) ? Math.max(0, Math.floor(minAbs)) : 0;
|
|
112
|
+
if (safe < 60) return `${safe}m`;
|
|
113
|
+
const h = Math.floor(safe / 60);
|
|
114
|
+
const m = safe % 60;
|
|
115
|
+
return `${h}h${String(m).padStart(2, "0")}m`;
|
|
116
|
+
}
|
|
110
117
|
function formatVenueWallCountdown(min) {
|
|
111
118
|
if (min < 0) {
|
|
112
|
-
const n =
|
|
119
|
+
const n = formatDurationHM(Math.abs(min));
|
|
113
120
|
return (0, import_locales.getText)("pisell-resource-wall-countdown-overtime").replace("{n}", n);
|
|
114
121
|
}
|
|
115
122
|
if (min === 0) return (0, import_locales.getText)("pisell-resource-wall-countdown-ending-now");
|
|
116
|
-
return (0, import_locales.getText)("pisell-resource-wall-countdown-left").replace(
|
|
123
|
+
return (0, import_locales.getText)("pisell-resource-wall-countdown-left").replace(
|
|
124
|
+
"{n}",
|
|
125
|
+
formatDurationHM(min)
|
|
126
|
+
);
|
|
117
127
|
}
|
|
118
128
|
function cloneTone(t) {
|
|
119
129
|
return { ...t };
|
package/lib/locales/en-US.d.ts
CHANGED
|
@@ -150,6 +150,8 @@ declare const _default: {
|
|
|
150
150
|
'pisell-resource-wall-countdown-ending-now': string;
|
|
151
151
|
'pisell-resource-wall-countdown-left': string;
|
|
152
152
|
'pisell-resource-wall-countdown-zero-overtime': string;
|
|
153
|
+
'pisell-resource-wall-fullscreen-enter': string;
|
|
154
|
+
'pisell-resource-wall-fullscreen-exit': string;
|
|
153
155
|
'pisell-resource-wall-card-hero-available': string;
|
|
154
156
|
'pisell-resource-wall-card-label-current': string;
|
|
155
157
|
'pisell-resource-wall-card-label-next': string;
|
package/lib/locales/en-US.js
CHANGED
|
@@ -176,10 +176,12 @@ var en_US_default = {
|
|
|
176
176
|
"pisell-resource-wall-available-card-color-label": "Available tone (light cards)",
|
|
177
177
|
"pisell-resource-wall-status-col-explain": "Explanatory copy",
|
|
178
178
|
"pisell-resource-wall-carousel-countdown-line": "Page {cur} / {tot} · {sec}s/page",
|
|
179
|
-
"pisell-resource-wall-countdown-overtime": "{n}
|
|
179
|
+
"pisell-resource-wall-countdown-overtime": "{n} overtime",
|
|
180
180
|
"pisell-resource-wall-countdown-ending-now": "Ending now",
|
|
181
|
-
"pisell-resource-wall-countdown-left": "{n}
|
|
181
|
+
"pisell-resource-wall-countdown-left": "{n} left",
|
|
182
182
|
"pisell-resource-wall-countdown-zero-overtime": "0m overtime",
|
|
183
|
+
"pisell-resource-wall-fullscreen-enter": "Full screen",
|
|
184
|
+
"pisell-resource-wall-fullscreen-exit": "Exit full screen",
|
|
183
185
|
"pisell-resource-wall-card-hero-available": "Available",
|
|
184
186
|
"pisell-resource-wall-card-label-current": "Current",
|
|
185
187
|
"pisell-resource-wall-card-label-next": "Next",
|
package/lib/locales/ja.d.ts
CHANGED
|
@@ -410,6 +410,8 @@ declare const _default: {
|
|
|
410
410
|
'pisell-resource-wall-countdown-ending-now': string;
|
|
411
411
|
'pisell-resource-wall-countdown-left': string;
|
|
412
412
|
'pisell-resource-wall-countdown-zero-overtime': string;
|
|
413
|
+
'pisell-resource-wall-fullscreen-enter': string;
|
|
414
|
+
'pisell-resource-wall-fullscreen-exit': string;
|
|
413
415
|
'pisell-resource-wall-card-hero-available': string;
|
|
414
416
|
'pisell-resource-wall-card-label-current': string;
|
|
415
417
|
'pisell-resource-wall-card-label-next': string;
|
package/lib/locales/ja.js
CHANGED
|
@@ -468,10 +468,12 @@ var ja_default = {
|
|
|
468
468
|
"pisell-resource-wall-available-card-color-label": "空きの色(ライトカード)",
|
|
469
469
|
"pisell-resource-wall-status-col-explain": "説明文",
|
|
470
470
|
"pisell-resource-wall-carousel-countdown-line": "{tot} ページ中 {cur} ページ目 · {sec} 秒/ページ",
|
|
471
|
-
"pisell-resource-wall-countdown-overtime": "超過 {n}
|
|
471
|
+
"pisell-resource-wall-countdown-overtime": "超過 {n}",
|
|
472
472
|
"pisell-resource-wall-countdown-ending-now": "まもなく終了",
|
|
473
|
-
"pisell-resource-wall-countdown-left": "残り {n}
|
|
474
|
-
"pisell-resource-wall-countdown-zero-overtime": "超過
|
|
473
|
+
"pisell-resource-wall-countdown-left": "残り {n}",
|
|
474
|
+
"pisell-resource-wall-countdown-zero-overtime": "超過 0m",
|
|
475
|
+
"pisell-resource-wall-fullscreen-enter": "全画面",
|
|
476
|
+
"pisell-resource-wall-fullscreen-exit": "全画面を終了",
|
|
475
477
|
"pisell-resource-wall-card-hero-available": "空き",
|
|
476
478
|
"pisell-resource-wall-card-label-current": "現在",
|
|
477
479
|
"pisell-resource-wall-card-label-next": "次",
|
package/lib/locales/pt.d.ts
CHANGED
|
@@ -410,6 +410,8 @@ declare const _default: {
|
|
|
410
410
|
'pisell-resource-wall-countdown-ending-now': string;
|
|
411
411
|
'pisell-resource-wall-countdown-left': string;
|
|
412
412
|
'pisell-resource-wall-countdown-zero-overtime': string;
|
|
413
|
+
'pisell-resource-wall-fullscreen-enter': string;
|
|
414
|
+
'pisell-resource-wall-fullscreen-exit': string;
|
|
413
415
|
'pisell-resource-wall-card-hero-available': string;
|
|
414
416
|
'pisell-resource-wall-card-label-current': string;
|
|
415
417
|
'pisell-resource-wall-card-label-next': string;
|
package/lib/locales/pt.js
CHANGED
|
@@ -467,10 +467,12 @@ var pt_default = {
|
|
|
467
467
|
"pisell-resource-wall-available-card-color-label": "Cor livre (cartões claros)",
|
|
468
468
|
"pisell-resource-wall-status-col-explain": "Texto explicativo",
|
|
469
469
|
"pisell-resource-wall-carousel-countdown-line": "Página {cur} / {tot} · {sec}s/página",
|
|
470
|
-
"pisell-resource-wall-countdown-overtime": "{n}
|
|
470
|
+
"pisell-resource-wall-countdown-overtime": "{n} em prolongamento",
|
|
471
471
|
"pisell-resource-wall-countdown-ending-now": "A terminar",
|
|
472
|
-
"pisell-resource-wall-countdown-left": "{n}
|
|
472
|
+
"pisell-resource-wall-countdown-left": "{n} restantes",
|
|
473
473
|
"pisell-resource-wall-countdown-zero-overtime": "0m em prolongamento",
|
|
474
|
+
"pisell-resource-wall-fullscreen-enter": "Ecrã inteiro",
|
|
475
|
+
"pisell-resource-wall-fullscreen-exit": "Sair do ecrã inteiro",
|
|
474
476
|
"pisell-resource-wall-card-hero-available": "Disponível",
|
|
475
477
|
"pisell-resource-wall-card-label-current": "Atual",
|
|
476
478
|
"pisell-resource-wall-card-label-next": "Seguinte",
|
package/lib/locales/zh-CN.d.ts
CHANGED
|
@@ -150,6 +150,8 @@ declare const _default: {
|
|
|
150
150
|
'pisell-resource-wall-countdown-ending-now': string;
|
|
151
151
|
'pisell-resource-wall-countdown-left': string;
|
|
152
152
|
'pisell-resource-wall-countdown-zero-overtime': string;
|
|
153
|
+
'pisell-resource-wall-fullscreen-enter': string;
|
|
154
|
+
'pisell-resource-wall-fullscreen-exit': string;
|
|
153
155
|
'pisell-resource-wall-card-hero-available': string;
|
|
154
156
|
'pisell-resource-wall-card-label-current': string;
|
|
155
157
|
'pisell-resource-wall-card-label-next': string;
|
package/lib/locales/zh-CN.js
CHANGED
|
@@ -176,10 +176,12 @@ var zh_CN_default = {
|
|
|
176
176
|
"pisell-resource-wall-available-card-color-label": "非占用色(浅色卡片)",
|
|
177
177
|
"pisell-resource-wall-status-col-explain": "解释文案",
|
|
178
178
|
"pisell-resource-wall-carousel-countdown-line": "第 {cur} / {tot} 页 · 每页 {sec} 秒",
|
|
179
|
-
"pisell-resource-wall-countdown-overtime": "超时 {n}
|
|
179
|
+
"pisell-resource-wall-countdown-overtime": "超时 {n}",
|
|
180
180
|
"pisell-resource-wall-countdown-ending-now": "即将结束",
|
|
181
|
-
"pisell-resource-wall-countdown-left": "剩余 {n}
|
|
182
|
-
"pisell-resource-wall-countdown-zero-overtime": "超时
|
|
181
|
+
"pisell-resource-wall-countdown-left": "剩余 {n}",
|
|
182
|
+
"pisell-resource-wall-countdown-zero-overtime": "超时 0m",
|
|
183
|
+
"pisell-resource-wall-fullscreen-enter": "全屏",
|
|
184
|
+
"pisell-resource-wall-fullscreen-exit": "退出全屏",
|
|
183
185
|
"pisell-resource-wall-card-hero-available": "空闲",
|
|
184
186
|
"pisell-resource-wall-card-label-current": "当前",
|
|
185
187
|
"pisell-resource-wall-card-label-next": "下一场",
|
package/lib/locales/zh-TW.d.ts
CHANGED
|
@@ -150,6 +150,8 @@ declare const _default: {
|
|
|
150
150
|
'pisell-resource-wall-countdown-ending-now': string;
|
|
151
151
|
'pisell-resource-wall-countdown-left': string;
|
|
152
152
|
'pisell-resource-wall-countdown-zero-overtime': string;
|
|
153
|
+
'pisell-resource-wall-fullscreen-enter': string;
|
|
154
|
+
'pisell-resource-wall-fullscreen-exit': string;
|
|
153
155
|
'pisell-resource-wall-card-hero-available': string;
|
|
154
156
|
'pisell-resource-wall-card-label-current': string;
|
|
155
157
|
'pisell-resource-wall-card-label-next': string;
|
package/lib/locales/zh-TW.js
CHANGED
|
@@ -176,10 +176,12 @@ var zh_TW_default = {
|
|
|
176
176
|
"pisell-resource-wall-available-card-color-label": "非占用色(淺色卡片)",
|
|
177
177
|
"pisell-resource-wall-status-col-explain": "解釋文案",
|
|
178
178
|
"pisell-resource-wall-carousel-countdown-line": "第 {cur} / {tot} 頁 · 每頁 {sec} 秒",
|
|
179
|
-
"pisell-resource-wall-countdown-overtime": "逾時 {n}
|
|
179
|
+
"pisell-resource-wall-countdown-overtime": "逾時 {n}",
|
|
180
180
|
"pisell-resource-wall-countdown-ending-now": "即將結束",
|
|
181
|
-
"pisell-resource-wall-countdown-left": "剩餘 {n}
|
|
182
|
-
"pisell-resource-wall-countdown-zero-overtime": "逾時
|
|
181
|
+
"pisell-resource-wall-countdown-left": "剩餘 {n}",
|
|
182
|
+
"pisell-resource-wall-countdown-zero-overtime": "逾時 0m",
|
|
183
|
+
"pisell-resource-wall-fullscreen-enter": "全屏",
|
|
184
|
+
"pisell-resource-wall-fullscreen-exit": "退出全屏",
|
|
183
185
|
"pisell-resource-wall-card-hero-available": "空閒",
|
|
184
186
|
"pisell-resource-wall-card-label-current": "目前",
|
|
185
187
|
"pisell-resource-wall-card-label-next": "下一場",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pisell/materials",
|
|
3
|
-
"version": "6.11.
|
|
3
|
+
"version": "6.11.36",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"module": "./es/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -99,9 +99,9 @@
|
|
|
99
99
|
"swiper": "^8.4.7",
|
|
100
100
|
"antd-mobile": "^5.38.1",
|
|
101
101
|
"vod-js-sdk-v6": "^1.4.11",
|
|
102
|
+
"@pisell/date-picker": "3.0.8",
|
|
102
103
|
"@pisell/icon": "0.0.11",
|
|
103
|
-
"@pisell/utils": "3.0.2"
|
|
104
|
-
"@pisell/date-picker": "3.0.8"
|
|
104
|
+
"@pisell/utils": "3.0.2"
|
|
105
105
|
},
|
|
106
106
|
"peerDependencies": {
|
|
107
107
|
"react": "^18.0.0",
|