dsh-whale-widget 0.4.1 → 0.4.2

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.
@@ -19705,12 +19705,9 @@ function setSoundSet(v) {
19705
19705
  saveConfig()
19706
19706
  }
19707
19707
  var SQUISH = 'scaleY(0.88) scaleX(1.05)'
19708
- // PR #234(DenseFLoe,issue #233):macOS 触控板"轻点"的 down/up 可能落在同一帧,
19709
- // 按压视觉(挤压)会一闪而过甚至看不见 ⇒ 让视觉状态**至少保留 120ms**。
19710
- // ⚠️ 按该 PR 的说明:**不延迟音效、也不延迟点击判定**,只影响 body 的 transform 复位时机。
19711
- var PRESS_VISUAL_MIN_MS = 120
19708
+ // 极短轻点的 down/up 可能落在同一帧:补上压扁起点后立即回弹,不延迟松手复位。
19709
+ var PRESS_VISUAL_TAP_MS = 32
19712
19710
  var pressVisualStartedAt = 0
19713
- var pressVisualTimer = null
19714
19711
  var pressAudio = null
19715
19712
  var releaseAudio = null
19716
19713
  var pressing = false
@@ -19827,7 +19824,6 @@ function playReleaseAt(delaySec) {
19827
19824
  } catch (err) {}
19828
19825
  }
19829
19826
  function pressDown() {
19830
- if (pressVisualTimer) { clearTimeout(pressVisualTimer); pressVisualTimer = null }
19831
19827
  pressVisualStartedAt = performance.now()
19832
19828
  body.style.transform = SQUISH
19833
19829
  pressing = true
@@ -19837,17 +19833,15 @@ function pressDown() {
19837
19833
  playPress()
19838
19834
  }
19839
19835
  function pressUp() {
19840
- // PR #234:视觉复位按"最短 120ms"排期(音效与点击不受影响)
19841
- if (pressVisualTimer) { clearTimeout(pressVisualTimer); pressVisualTimer = null }
19842
- var visualDelay = Math.max(0, PRESS_VISUAL_MIN_MS - (performance.now() - pressVisualStartedAt))
19843
- if (visualDelay > 0) {
19844
- pressVisualTimer = setTimeout(function () {
19845
- pressVisualTimer = null
19846
- if (!pressing) body.style.transform = 'scaleY(1) scaleX(1)'
19847
- }, visualDelay)
19848
- } else {
19849
- body.style.transform = 'scaleY(1) scaleX(1)'
19836
+ if (performance.now() - pressVisualStartedAt < PRESS_VISUAL_TAP_MS) {
19837
+ var previousTransition = body.style.transition
19838
+ body.style.transition = 'none'
19839
+ body.style.transform = SQUISH
19840
+ // 提交压扁样式,让同帧松手也能从这里启动原有 CSS 回弹过渡。
19841
+ void body.offsetWidth
19842
+ body.style.transition = previousTransition
19850
19843
  }
19844
+ body.style.transform = 'scaleY(1) scaleX(1)'
19851
19845
  pressing = false
19852
19846
  // v868:静音按压时松开音也不响(顺手把 releasePlayed 标记收干净,避免下次误触发)
19853
19847
  if (pressOn === false) {
package/lib/index.js CHANGED
@@ -44,7 +44,7 @@ const DATA_CANDIDATES_TAIL = [
44
44
  // 因为开发版里的改动属于"将要发布的那一版"。
45
45
  // ⚠️ BUILD_VERSION 与下面 payload 里两处 `version: '…'` 一起由 `_bump-version.mjs` 更新;
46
46
  // ⚠️ BUILD_CHANNEL 由 `_strip-dev-paths.mjs` 在生成发布副本时改成 'release'(发布副本不带 dev 标记)。
47
- const BUILD_VERSION = '0.4.1'
47
+ const BUILD_VERSION = '0.4.2'
48
48
  const BUILD_CHANNEL = 'release'
49
49
  function versionLabelOf(version, channel) {
50
50
  const s = String(version == null ? '' : version)
@@ -1548,7 +1548,7 @@ export default {
1548
1548
  const days = new Set([today, ...Object.keys(led.history || {}), ...accountingDays(led)])
1549
1549
  for (const e of events) if (/^\d{4}-\d{2}-\d{2}$/.test(e.day)) days.add(e.day)
1550
1550
  return {
1551
- ok: true, version: '0.4.1', versionLabel: VERSION_LABEL, today: todayData, days7,
1551
+ ok: true, version: '0.4.2', versionLabel: VERSION_LABEL, today: todayData, days7,
1552
1552
  total7: total7ByCurrency[todayData.currency] || 0, total7Currency: todayData.currency, total7ByCurrency,
1553
1553
  all: {
1554
1554
  days: Array.from(days).filter(d => /^\d{4}-\d{2}-\d{2}$/.test(d)).sort().reverse().map(forDay),
@@ -3113,7 +3113,7 @@ export default {
3113
3113
  const summary = daySummary(led, todayKey())
3114
3114
  const nowSec = Math.floor(Date.now() / 1000)
3115
3115
  return {
3116
- ...visible, version: '0.4.1', versionLabel: VERSION_LABEL, isPeak: isPeakTime(nowSec),
3116
+ ...visible, version: '0.4.2', versionLabel: VERSION_LABEL, isPeak: isPeakTime(nowSec),
3117
3117
  // 峰谷切换点与节假日清单:前端倒计时要与宿主同源(否则法定节假日会算错切换点)
3118
3118
  peakNextChangeAt: nextPeakChangeAt(nowSec),
3119
3119
  peakHolidays: HOLIDAY_VALLEY_LIST,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-whale-widget",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "DSH Web 界面右下角的 DeepSeek 余额小鲸鱼挂件:余额/今日已用/峰谷定价、自定义泡泡点击序列(文本/余额/今日/峰谷/图片/随机语句与并列加权选择)、逐行样式与字体、悬浮快捷编辑、音效与每轮消耗、自定义角色/动图/音效、吸附与翻转自定义",
5
5
  "keywords": [
6
6
  "dsh",