@oxiaom/adoremix 1.0.16 → 1.0.18

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.
Files changed (104) hide show
  1. package/package.json +1 -1
  2. package/src/config/webui.js +38 -18
  3. package/webui/high/assets/AdminLayout-BeGqmJmh.js +1 -0
  4. package/webui/high/assets/AdminLayout-Dg0cblhW.css +1 -0
  5. package/webui/high/assets/Announce-2364DXIw.css +1 -0
  6. package/webui/high/assets/Announce-BxOu3PDa.js +1 -0
  7. package/webui/high/assets/Billing-9pkW40cw.css +1 -0
  8. package/webui/high/assets/Billing-DkKexnBS.js +1 -0
  9. package/webui/high/assets/Gallery-BUO8AayT.js +1 -0
  10. package/webui/high/assets/Gallery-CvDy0BG_.css +1 -0
  11. package/webui/high/assets/Info-BRpM9vrH.css +1 -0
  12. package/webui/high/assets/Info-jgxOyI48.js +1 -0
  13. package/webui/high/assets/LanguageSwitcher-wcRpxcC2.css +1 -0
  14. package/webui/high/assets/LanguageSwitcher.vue_vue_type_style_index_0_lang-7lwszLYh.js +1 -0
  15. package/webui/high/assets/MainLayout-Cg9w3D6H.js +1 -0
  16. package/webui/high/assets/MainLayout-CtxzU51m.css +1 -0
  17. package/webui/high/assets/Upload-BUllX3F9.css +1 -0
  18. package/webui/high/assets/Upload-BhZe08V8.js +1 -0
  19. package/webui/high/assets/Users-BajKphJ2.css +1 -0
  20. package/webui/high/assets/Users-C-uvafHe.js +1 -0
  21. package/webui/high/assets/_plugin-vue_export-helper-BCo6x5W8.js +1 -0
  22. package/webui/high/assets/api-C3Fyph-A.js +1 -0
  23. package/webui/high/assets/index-6wTg37PL.js +1 -0
  24. package/webui/high/assets/index-BU_CDG5n.js +1 -0
  25. package/webui/high/assets/index-B_eXN_Ka.css +1 -0
  26. package/webui/high/assets/index-BeMdB8li.css +1 -0
  27. package/webui/high/assets/index-BeyjdvRw.css +1 -0
  28. package/webui/high/assets/index-Bqlp4X7Z.css +1 -0
  29. package/webui/high/assets/index-BwGOSVLU.css +1 -0
  30. package/webui/high/assets/index-C0plBGGv.js +1 -0
  31. package/webui/high/assets/index-CG0Cxnu7.js +1 -0
  32. package/webui/high/assets/index-CGTbAKLR.css +1 -0
  33. package/webui/high/assets/index-CTbFCtHG.js +1 -0
  34. package/webui/high/assets/index-CTtQ-PJh.css +1 -0
  35. package/webui/high/assets/index-Ci-5piG7.css +1 -0
  36. package/webui/high/assets/index-DPlPWsqM.js +1 -0
  37. package/webui/high/assets/index-DbeENJC3.css +1 -0
  38. package/webui/high/assets/index-DdwHcYZD.js +1 -0
  39. package/webui/high/assets/index-KMJ_Zaix.js +1 -0
  40. package/webui/high/assets/index-LP7k5pkh.js +1 -0
  41. package/webui/high/assets/index-MthettIa.css +1 -0
  42. package/webui/high/assets/index-_3H0q9yh.css +1 -0
  43. package/webui/high/assets/index-npdYRXyk.js +18 -0
  44. package/webui/high/assets/index-ptOpmqku.js +1 -0
  45. package/webui/high/assets/index-r_gAV5lM.css +1 -0
  46. package/webui/high/assets/index-u4IuHZw8.js +1 -0
  47. package/webui/high/assets/test-BQUWlKVf.css +1 -0
  48. package/webui/high/assets/test-Bt3E-Okh.js +1 -0
  49. package/webui/high/assets/useDeviceScan-CM8xsf7h.js +1 -0
  50. package/webui/high/assets/vue-vendor-BaBirIg_.js +38 -0
  51. package/webui/high/index.html +23 -0
  52. package/webui/high/js/lame.min.js +308 -0
  53. package/webui/high/js/worker-realtime.js +81 -0
  54. package/webui/low/assets/AdminLayout-Dg0cblhW.css +1 -0
  55. package/webui/low/assets/AdminLayout-Dio6Q0f_.js +1 -0
  56. package/webui/low/assets/Announce-2364DXIw.css +1 -0
  57. package/webui/low/assets/Announce-DiogX_-D.js +1 -0
  58. package/webui/low/assets/Billing-9pkW40cw.css +1 -0
  59. package/webui/low/assets/Billing-C42F8wIt.js +1 -0
  60. package/webui/low/assets/Gallery-CvDy0BG_.css +1 -0
  61. package/webui/low/assets/Gallery-DGUAhDtI.js +1 -0
  62. package/webui/low/assets/Info-BRpM9vrH.css +1 -0
  63. package/webui/low/assets/Info-BolVapGU.js +1 -0
  64. package/webui/low/assets/LanguageSwitcher-wcRpxcC2.css +1 -0
  65. package/webui/low/assets/LanguageSwitcher.vue_vue_type_style_index_0_lang-BUO99DZc.js +1 -0
  66. package/webui/low/assets/MainLayout-BmBcNVVu.js +1 -0
  67. package/webui/low/assets/MainLayout-CtxzU51m.css +1 -0
  68. package/webui/low/assets/Upload-BUllX3F9.css +1 -0
  69. package/webui/low/assets/Upload-B_Cx6QMR.js +1 -0
  70. package/webui/low/assets/Users-BajKphJ2.css +1 -0
  71. package/webui/low/assets/Users-an7uFkx4.js +1 -0
  72. package/webui/low/assets/_plugin-vue_export-helper-BCo6x5W8.js +1 -0
  73. package/webui/low/assets/api-C3Fyph-A.js +1 -0
  74. package/webui/low/assets/index-2JKvpOh3.js +1 -0
  75. package/webui/low/assets/index-B_eXN_Ka.css +1 -0
  76. package/webui/low/assets/index-BeMdB8li.css +1 -0
  77. package/webui/low/assets/index-BeyjdvRw.css +1 -0
  78. package/webui/low/assets/index-BoV0S81L.js +1 -0
  79. package/webui/low/assets/index-Bqlp4X7Z.css +1 -0
  80. package/webui/low/assets/index-BuEwLgbU.js +18 -0
  81. package/webui/low/assets/index-BwGOSVLU.css +1 -0
  82. package/webui/low/assets/index-CGTbAKLR.css +1 -0
  83. package/webui/low/assets/index-CSahVaR0.js +1 -0
  84. package/webui/low/assets/index-CTtQ-PJh.css +1 -0
  85. package/webui/low/assets/index-CgyUlqk5.js +1 -0
  86. package/webui/low/assets/index-Ci-5piG7.css +1 -0
  87. package/webui/low/assets/index-Cjg2XVty.js +1 -0
  88. package/webui/low/assets/index-D-BJ_vlf.js +1 -0
  89. package/webui/low/assets/index-D0uan-_I.js +1 -0
  90. package/webui/low/assets/index-DWP2gbuh.js +1 -0
  91. package/webui/low/assets/index-DbeENJC3.css +1 -0
  92. package/webui/low/assets/index-DdPisNCE.js +1 -0
  93. package/webui/low/assets/index-F-Qi4toA.js +1 -0
  94. package/webui/low/assets/index-FUUYrqc8.js +1 -0
  95. package/webui/low/assets/index-MthettIa.css +1 -0
  96. package/webui/low/assets/index-_3H0q9yh.css +1 -0
  97. package/webui/low/assets/index-r_gAV5lM.css +1 -0
  98. package/webui/low/assets/test-BQUWlKVf.css +1 -0
  99. package/webui/low/assets/test-DI2hJTQF.js +1 -0
  100. package/webui/low/assets/useDeviceScan-CM8xsf7h.js +1 -0
  101. package/webui/low/assets/vue-vendor-BaBirIg_.js +38 -0
  102. package/webui/low/index.html +23 -0
  103. package/webui/low/js/lame.min.js +308 -0
  104. package/webui/low/js/worker-realtime.js +81 -0
@@ -0,0 +1 @@
1
+ @keyframes glassEnter-f653028d{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes broadcastPulse-f653028d{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes ringPulse1-f653028d{0%{transform:scale(1);opacity:.4}to{transform:scale(1.6);opacity:0}}@keyframes ringPulse2-f653028d{0%{transform:scale(1);opacity:.3}to{transform:scale(1.8);opacity:0}}@keyframes dotBlink-f653028d{0%,to{opacity:1}50%{opacity:.4}}@keyframes glowShimmer-f653028d{0%{background-position:-200% center}to{background-position:200% center}}.broadcast-page[data-v-f653028d]{padding:20px;min-height:100vh;height:100vh;overflow:auto;box-sizing:border-box;animation:glassEnter-f653028d .6s cubic-bezier(.25,.46,.45,.94)}.top-row[data-v-f653028d]{display:flex;gap:20px;margin-bottom:20px}.top-row-left[data-v-f653028d]{flex:3;min-width:0}.top-row-right[data-v-f653028d]{flex:2;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.page-header[data-v-f653028d]{margin-bottom:24px}.page-title[data-v-f653028d]{font-size:22px;font-weight:700;color:var(--diablo-text);margin:0;text-shadow:0 0 20px var(--glass-border-glow),0 0 40px rgba(10,132,255,.12);letter-spacing:.5px}.glass-section[data-v-f653028d]{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;padding:22px;margin-bottom:20px;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow);transition:all .4s cubic-bezier(.25,.46,.45,.94)}.glass-section[data-v-f653028d]:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover),0 0 20px var(--glass-border-glow),var(--glass-inner-glow)}.section-title[data-v-f653028d]{font-size:15px;font-weight:600;color:var(--diablo-text);margin:0 0 18px;display:flex;align-items:center;gap:8px}.section-title[data-v-f653028d]:before{content:"";width:3px;height:16px;background:var(--diablo-primary);border-radius:2px;box-shadow:0 0 8px var(--diablo-primary)}.source-row[data-v-f653028d]{display:flex;align-items:center;gap:12px;margin-bottom:16px}.source-select[data-v-f653028d]{flex:1;max-width:400px;cursor:pointer}.empty-hint[data-v-f653028d]{font-size:13px;color:var(--diablo-text-muted);text-align:center;padding:24px;border:1px dashed var(--glass-border);border-radius:12px;margin-top:8px}.connect-mic-area[data-v-f653028d]{display:flex;justify-content:center;padding:20px 0}.connect-mic-btn[data-v-f653028d]{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;background:linear-gradient(135deg,#0a84ff1a,#0a84ff0a);border:1px solid rgba(10,132,255,.3);border-radius:14px;color:var(--diablo-primary);font-size:15px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));user-select:none;-webkit-user-select:none}.connect-mic-btn[data-v-f653028d]:hover{background:linear-gradient(135deg,#0a84ff2e,#0a84ff14);border-color:var(--diablo-primary);box-shadow:0 0 20px #0a84ff33,var(--glass-inner-glow);transform:translateY(-2px)}.connect-mic-btn[data-v-f653028d]:active{transform:translateY(0)}.connect-mic-btn svg[data-v-f653028d]{width:20px;height:20px;filter:drop-shadow(0 0 4px rgba(10,132,255,.4))}.volume-row[data-v-f653028d]{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px}.volume-label[data-v-f653028d]{font-size:12px;color:var(--diablo-text-muted);font-weight:500;white-space:nowrap}.volume-slider[data-v-f653028d]{flex:1;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(90deg,var(--glass-border),rgba(10,132,255,.3));border-radius:3px;outline:none;transition:all .2s}:is()[data-v-f653028d]{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--diablo-primary);cursor:pointer;border:3px solid var(--glass-bg);box-shadow:0 0 10px #0a84ff80,0 2px 6px #0003;transition:all .2s}:is()[data-v-f653028d]:hover{transform:scale(1.15);box-shadow:0 0 16px #0a84ff99,0 2px 8px #0000004d}.volume-slider[data-v-f653028d]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--diablo-primary);cursor:pointer;border:3px solid var(--glass-bg);box-shadow:0 0 10px #0a84ff80}.volume-value[data-v-f653028d]{font-size:12px;color:var(--diablo-primary);font-weight:600;min-width:40px;text-align:right}.waveform-container[data-v-f653028d]{background:linear-gradient(135deg,#0a84ff0a,#0a84ff14,#0a84ff0a);border:1px solid var(--glass-border);border-radius:12px;overflow:hidden;padding:10px;position:relative}.waveform-container[data-v-f653028d]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(10,132,255,.05),transparent);background-size:200% 100%;animation:glowShimmer-f653028d 3s linear infinite;pointer-events:none}.waveform-canvas[data-v-f653028d]{display:block;width:100%;height:80px;position:relative;z-index:1}.group-bar[data-v-f653028d]{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}.group-label[data-v-f653028d]{font-size:12px;color:var(--diablo-text-muted);font-weight:500;margin-right:4px}.group-chip[data-v-f653028d]{padding:5px 14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;color:var(--diablo-text-muted);font-size:12px;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));font-weight:500}.group-chip[data-v-f653028d]:hover{background:var(--glass-bg-hover);color:var(--diablo-text);border-color:var(--glass-border-hover);transform:translateY(-1px);box-shadow:0 0 8px var(--glass-border-glow)}.group-chip.group-active[data-v-f653028d]{background:#0a84ff1f;border-color:var(--diablo-primary);color:var(--diablo-primary);box-shadow:0 0 12px #0a84ff33;font-weight:600}.device-toolbar[data-v-f653028d]{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.toolbar-btn[data-v-f653028d]{padding:6px 14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;color:var(--diablo-text-muted);font-size:12px;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));font-weight:500}.toolbar-btn[data-v-f653028d]:hover{background:var(--glass-bg-hover);color:var(--diablo-text);border-color:var(--glass-border-hover);transform:translateY(-1px);box-shadow:0 0 8px var(--glass-border-glow)}.selected-count[data-v-f653028d]{font-size:12px;color:var(--diablo-primary);font-weight:600;margin-left:auto;padding:4px 12px;background:#0a84ff14;border-radius:10px;border:1px solid rgba(10,132,255,.15)}.device-filter[data-v-f653028d]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;transition:all .3s;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light))}.device-filter[data-v-f653028d]:focus-within{border-color:var(--glass-border-glow);box-shadow:0 0 8px var(--glass-border-glow)}.device-filter svg[data-v-f653028d]{color:var(--diablo-text-muted);flex-shrink:0}.device-filter .filter-input[data-v-f653028d]{border:none;background:transparent;padding:2px 0;font-size:12px;color:var(--diablo-text);width:120px}.device-filter .filter-input[data-v-f653028d]:focus{outline:none;box-shadow:none}.device-list[data-v-f653028d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;max-height:260px;overflow-y:auto;padding-right:4px}.device-list[data-v-f653028d]::-webkit-scrollbar{width:6px}.device-list[data-v-f653028d]::-webkit-scrollbar-track{background:transparent}:is()[data-v-f653028d]{background:var(--glass-border);border-radius:3px}:is()[data-v-f653028d]:hover{background:var(--glass-border-hover)}.device-item[data-v-f653028d]{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);font-size:13px;color:var(--diablo-text);-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light))}.device-item[data-v-f653028d]:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translateY(-1px);box-shadow:0 0 10px var(--glass-border-glow),var(--glass-inner-glow)}.device-item.device-offline[data-v-f653028d]{opacity:.45}.device-item.device-disabled[data-v-f653028d]{cursor:not-allowed;pointer-events:none}.device-item.device-disabled input[type=checkbox][data-v-f653028d]{pointer-events:auto;cursor:not-allowed}.device-item input[type=checkbox][data-v-f653028d]{accent-color:var(--diablo-primary);width:16px;height:16px}.device-name[data-v-f653028d]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.device-status-dot[data-v-f653028d]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.device-status-dot.online[data-v-f653028d]{background:#27ae60;box-shadow:0 0 8px #27ae6099}.device-status-dot.offline[data-v-f653028d]{background:#95a5a6}.broadcast-btn-area[data-v-f653028d]{display:flex;justify-content:center;align-items:center;margin:20px 0;position:relative}.broadcast-btn[data-v-f653028d]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:180px;height:180px;border-radius:50%;background:var(--glass-bg);border:2px solid var(--glass-border);color:var(--diablo-text-muted);cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94);-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow);user-select:none;-webkit-user-select:none;position:relative;z-index:1}.broadcast-btn.btn-start[data-v-f653028d]{background:linear-gradient(135deg,#0a84ff0f,#0a84ff05)}.broadcast-btn.btn-start:hover:not(.is-disabled)[data-v-f653028d]{border-color:var(--diablo-primary);color:var(--diablo-primary);box-shadow:0 0 30px #0a84ff33,0 0 60px #0a84ff14,var(--glass-inner-glow);transform:scale(1.05)}.broadcast-btn.btn-start:hover:not(.is-disabled) svg[data-v-f653028d]{filter:drop-shadow(0 0 8px rgba(10,132,255,.5))}.broadcast-btn.btn-start.is-disabled[data-v-f653028d]{opacity:.35;cursor:not-allowed;filter:grayscale(.3)}.broadcast-btn.btn-stop[data-v-f653028d]{background:radial-gradient(circle at center,#e74c3c26,#e74c3c0d);border-color:#e74c3c99;color:#e74c3c;box-shadow:0 0 40px #e74c3c40,0 0 80px #e74c3c14,var(--glass-inner-glow);animation:broadcastPulse-f653028d 1.5s ease-in-out infinite}.broadcast-btn.btn-stop[data-v-f653028d]:hover{background:radial-gradient(circle at center,#e74c3c40,#e74c3c14);box-shadow:0 0 50px #e74c3c59,0 0 100px #e74c3c1f,var(--glass-inner-glow)}.broadcast-btn.btn-stop[data-v-f653028d]:before,.broadcast-btn.btn-stop[data-v-f653028d]:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:50%;border:1px solid rgba(231,76,60,.3);animation:ringPulse1-f653028d 2s ease-out infinite}.broadcast-btn.btn-stop[data-v-f653028d]:after{top:-4px;right:-4px;bottom:-4px;left:-4px;border-color:#e74c3c33;animation:ringPulse2-f653028d 2.5s ease-out infinite;animation-delay:.5s}.broadcast-btn.btn-stop svg[data-v-f653028d]{filter:drop-shadow(0 0 10px rgba(231,76,60,.5))}.broadcast-btn svg[data-v-f653028d]{width:44px;height:44px;transition:filter .3s}.broadcast-btn-text[data-v-f653028d]{font-size:13px;font-weight:600;letter-spacing:.5px}.status-bar[data-v-f653028d]{display:flex;align-items:center;gap:10px;margin-top:16px;padding:12px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;width:100%;box-sizing:border-box;transition:all .3s}.status-dot[data-v-f653028d]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.online[data-v-f653028d]{background:#27ae60;box-shadow:0 0 8px #27ae6099;animation:dotBlink-f653028d 2s ease-in-out infinite}.status-dot.offline[data-v-f653028d]{background:#95a5a6}.status-text[data-v-f653028d]{font-size:13px;color:var(--diablo-text-muted);font-weight:500}.form-input[data-v-f653028d]{padding:8px 12px;border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-bg);color:var(--diablo-text);font-size:13px;transition:all .3s cubic-bezier(.25,.46,.45,.94);-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light))}.form-input[data-v-f653028d]:hover{border-color:var(--glass-border-hover)}.form-input[data-v-f653028d]:focus{outline:none;border-color:var(--glass-border-glow);box-shadow:0 0 12px var(--glass-border-glow);background:var(--glass-bg-active, var(--glass-bg))}.empty-state[data-v-f653028d]{padding:32px;text-align:center;color:var(--diablo-text-muted);font-size:14px;border:1px dashed var(--glass-border);border-radius:12px;margin-top:8px}@media (max-width: 768px){.broadcast-page[data-v-f653028d]{padding:10px;min-height:unset}.page-header[data-v-f653028d]{margin-bottom:12px}.page-title[data-v-f653028d]{font-size:17px}.top-row[data-v-f653028d]{flex-direction:column;gap:12px}.top-row-left[data-v-f653028d],.top-row-right[data-v-f653028d]{min-width:unset;width:100%}.glass-section[data-v-f653028d]{padding:14px;border-radius:12px;margin-bottom:12px}.section-title[data-v-f653028d]{font-size:14px;margin-bottom:12px}.source-row[data-v-f653028d]{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px}.source-select[data-v-f653028d]{width:100%;max-width:unset;font-size:16px}.connect-mic-btn[data-v-f653028d]{width:100%;justify-content:center;padding:12px 20px;font-size:14px}.volume-row[data-v-f653028d]{flex-wrap:wrap;gap:8px;padding:10px 12px}.volume-slider[data-v-f653028d]{min-width:0;order:2;flex-basis:100%}.volume-slider[data-v-f653028d]::-webkit-slider-thumb{width:24px;height:24px}.volume-value[data-v-f653028d]{order:3}.waveform-container[data-v-f653028d]{padding:8px}.waveform-canvas[data-v-f653028d]{height:60px}.broadcast-btn-area[data-v-f653028d]{margin:12px 0}.broadcast-btn[data-v-f653028d]{width:140px;height:140px;gap:8px}.broadcast-btn svg[data-v-f653028d]{width:34px;height:34px}.broadcast-btn-text[data-v-f653028d]{font-size:12px}.status-bar[data-v-f653028d]{padding:10px 14px;gap:8px}.status-text[data-v-f653028d]{font-size:12px}.group-bar[data-v-f653028d]{margin-bottom:10px;gap:6px}.group-label[data-v-f653028d]{width:100%;font-size:11px;margin-right:0;margin-bottom:2px}.group-chip[data-v-f653028d]{padding:5px 12px;font-size:12px}.device-toolbar[data-v-f653028d]{flex-wrap:wrap;gap:6px}.toolbar-btn[data-v-f653028d]{padding:7px 12px;font-size:12px}.device-filter[data-v-f653028d]{order:-1;width:100%;padding:8px 12px}.device-filter .filter-input[data-v-f653028d]{font-size:16px;width:100%}.selected-count[data-v-f653028d]{margin-left:0;width:100%;text-align:center;order:-2;padding:6px 12px;font-size:12px}.device-list[data-v-f653028d]{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;max-height:280px}.device-item[data-v-f653028d]{padding:8px 10px;gap:8px;font-size:12px}.device-item input[type=checkbox][data-v-f653028d]{width:18px;height:18px}.device-status-dot[data-v-f653028d]{width:8px;height:8px}.empty-hint[data-v-f653028d]{padding:16px;font-size:12px}.empty-state[data-v-f653028d]{padding:20px;font-size:13px}}@media (max-width: 480px){.broadcast-page[data-v-f653028d]{padding:6px}.page-title[data-v-f653028d]{font-size:16px}.glass-section[data-v-f653028d]{padding:10px;border-radius:10px;margin-bottom:10px}.broadcast-btn[data-v-f653028d]{width:120px;height:120px}.broadcast-btn svg[data-v-f653028d]{width:28px;height:28px}.broadcast-btn-text[data-v-f653028d]{font-size:11px}.device-list[data-v-f653028d]{grid-template-columns:1fr 1fr}.device-item[data-v-f653028d]{padding:7px 8px;font-size:11px}.waveform-canvas[data-v-f653028d]{height:50px}.group-chip[data-v-f653028d]{padding:4px 10px;font-size:11px}.toolbar-btn[data-v-f653028d]{padding:6px 10px;font-size:11px}.status-bar[data-v-f653028d]{padding:8px 10px}.status-text[data-v-f653028d]{font-size:11px}.connect-mic-btn[data-v-f653028d]{padding:10px 16px;font-size:13px}.connect-mic-btn svg[data-v-f653028d]{width:18px;height:18px}}
@@ -0,0 +1 @@
1
+ .task-manage[data-v-1b5971d9]{padding:20px;background:transparent;min-height:100vh}.page-header[data-v-1b5971d9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.header-actions[data-v-1b5971d9]{display:flex;gap:8px;align-items:center}.refresh-btn[data-v-1b5971d9]{display:flex;align-items:center;justify-content:center;padding:8px;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--diablo-text-muted);cursor:pointer;transition:all .2s ease}.refresh-btn[data-v-1b5971d9]:hover:not(:disabled){background:var(--glass-bg-hover);color:var(--diablo-text);border-color:var(--glass-border)}.refresh-btn[data-v-1b5971d9]:disabled{opacity:.5;cursor:not-allowed}.add-btn[data-v-1b5971d9]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--glass-bg);color:var(--diablo-text);border:1px solid var(--glass-border);border-radius:10px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.add-btn[data-v-1b5971d9]:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover),0 0 16px var(--glass-border-glow);transform:translateY(-1px)}.add-btn svg[data-v-1b5971d9]{width:16px;height:16px}.filter-section[data-v-1b5971d9]{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:14px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow)}.filter-group[data-v-1b5971d9]{display:flex;align-items:center;gap:12px}.filter-group label[data-v-1b5971d9]{color:var(--diablo-text);font-weight:500;font-size:14px}.group-actions[data-v-1b5971d9]{display:flex;gap:12px;align-items:center}.action-btn[data-v-1b5971d9]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;color:var(--diablo-text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94);white-space:nowrap;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light))}.action-btn[data-v-1b5971d9]:hover{background:var(--glass-bg-hover);color:var(--diablo-text);border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover),0 0 12px var(--glass-border-glow);transform:translateY(-1px)}.action-btn svg[data-v-1b5971d9]{width:16px;height:16px}.action-btn.action-btn-danger[data-v-1b5971d9]{border-color:var(--glass-border);color:#e74c3c}.action-btn.action-btn-danger[data-v-1b5971d9]:hover{background:#e74c3c26;border-color:#e74c3c;color:#e74c3c;box-shadow:var(--glass-shadow-hover),0 0 12px #e74c3c4d}.action-btn.action-btn-success[data-v-1b5971d9]{border-color:var(--glass-border);color:#27ae60}.action-btn.action-btn-success[data-v-1b5971d9]:hover{background:#27ae6026;border-color:#27ae60;color:#27ae60;box-shadow:var(--glass-shadow-hover),0 0 12px #27ae604d}.action-btn.action-btn-warning[data-v-1b5971d9]{border-color:var(--glass-border);color:#f39c12}.action-btn.action-btn-warning[data-v-1b5971d9]:hover{background:#f39c1226;border-color:#f39c12;color:#f39c12;box-shadow:var(--glass-shadow-hover),0 0 12px #f39c124d}.batch-toolbar[data-v-1b5971d9]{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;padding:14px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow);align-items:center}.batch-toolbar-label[data-v-1b5971d9]{color:var(--diablo-text-muted);font-size:13px;font-weight:500}.batch-actions[data-v-1b5971d9]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.table-action-btn[data-v-1b5971d9]{display:flex;align-items:center;justify-content:center;padding:6px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;color:var(--diablo-text-muted);cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94);margin:0 2px}.table-action-btn[data-v-1b5971d9]:hover{background:var(--glass-bg-hover);color:var(--diablo-text);border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover),0 0 12px var(--glass-border-glow);transform:translateY(-1px)}.table-action-btn svg[data-v-1b5971d9]{width:16px;height:16px}.table-action-btn.action-btn-danger[data-v-1b5971d9]{border-color:var(--glass-border);color:#e74c3c}.table-action-btn.action-btn-danger[data-v-1b5971d9]:hover{background:#e74c3c26;border-color:#e74c3c;color:#e74c3c;box-shadow:var(--glass-shadow-hover),0 0 12px #e74c3c4d}.table-action-btn.action-btn-success[data-v-1b5971d9]{border-color:var(--glass-border);color:#27ae60}.table-action-btn.action-btn-success[data-v-1b5971d9]:hover{background:#27ae6026;border-color:#27ae60;color:#27ae60;box-shadow:var(--glass-shadow-hover),0 0 12px #27ae604d}.table-action-btn.action-btn-warning[data-v-1b5971d9]{border-color:var(--glass-border);color:#f39c12}.table-action-btn.action-btn-warning[data-v-1b5971d9]:hover{background:#f39c1226;border-color:#f39c12;color:#f39c12;box-shadow:var(--glass-shadow-hover),0 0 12px #f39c124d}.page-title-wrapper[data-v-1b5971d9]{display:flex;align-items:center;gap:16px}.page-icon[data-v-1b5971d9]{font-size:36px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.page-title[data-v-1b5971d9]{font-size:20px;font-weight:600;color:var(--diablo-text);margin:0;letter-spacing:-.3px}.page-description[data-v-1b5971d9]{color:var(--diablo-text-muted);font-size:14px;font-style:italic}.toolbar[data-v-1b5971d9]{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap;padding:16px 20px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow)}.toolbar-left[data-v-1b5971d9]{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.btn[data-v-1b5971d9]{padding:8px 16px;border:1px solid var(--glass-border);border-radius:10px;background:var(--glass-bg);color:var(--diablo-text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94);display:inline-flex;align-items:center;gap:6px;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light))}.btn[data-v-1b5971d9]:hover{background:var(--glass-bg-hover);color:var(--diablo-text);border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover),0 0 12px var(--glass-border-glow);transform:translateY(-1px)}.btn-primary[data-v-1b5971d9]{background:var(--glass-bg);color:var(--diablo-text);border:1px solid var(--glass-border)}.btn-primary[data-v-1b5971d9]:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover),0 0 16px var(--glass-border-glow)}.btn-danger[data-v-1b5971d9]{border-color:var(--glass-border);color:#e74c3c}.btn-danger[data-v-1b5971d9]:hover{background:#e74c3c26;border-color:#e74c3c;color:#e74c3c}.btn-success[data-v-1b5971d9]{border-color:var(--glass-border);color:#27ae60}.btn-success[data-v-1b5971d9]:hover{background:#27ae6026;border-color:#27ae60;color:#27ae60}.btn-cancel[data-v-1b5971d9]:hover{background:var(--glass-bg-hover)}.btn-small[data-v-1b5971d9]{padding:4px 8px;font-size:11px}.form-select[data-v-1b5971d9],.form-input[data-v-1b5971d9]{padding:8px 12px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--diablo-text);font-size:13px;transition:all .2s ease;cursor:pointer;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light))}.form-select[data-v-1b5971d9]:hover,.form-input[data-v-1b5971d9]:hover{border-color:var(--glass-border-hover)}.form-select[data-v-1b5971d9]:focus,.form-input[data-v-1b5971d9]:focus{outline:none;border-color:var(--glass-border-glow);box-shadow:0 0 8px var(--glass-border-glow)}.task-list-container[data-v-1b5971d9]{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;overflow:hidden;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow)}.task-table-wrapper[data-v-1b5971d9]{overflow-x:auto}.task-table[data-v-1b5971d9]{width:100%;border-collapse:collapse;table-layout:fixed}.task-table th[data-v-1b5971d9],.task-table td[data-v-1b5971d9]{padding:10px 8px;text-align:left;border-bottom:1px solid var(--glass-border);font-size:13px;white-space:nowrap;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;color:var(--diablo-text)}.task-table th[data-v-1b5971d9]{background:var(--diablo-bg-dark);color:var(--diablo-text-muted);font-weight:600;white-space:nowrap;font-size:12px;overflow:visible;position:sticky;top:0;z-index:10;backdrop-filter:blur(var(--glass-blur)) saturate(1.4);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4)}.task-table tbody tr[data-v-1b5971d9]{transition:background .15s ease}.task-table tbody tr[data-v-1b5971d9]:hover{background:var(--glass-bg-hover)}.checkbox-column[data-v-1b5971d9]{width:50px;text-align:center}.index-column[data-v-1b5971d9]{width:60px;text-align:center}.actions-column[data-v-1b5971d9]{white-space:nowrap}.btn-text[data-v-1b5971d9]{background:none;border:none;color:var(--diablo-primary);padding:4px 8px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-text[data-v-1b5971d9]:hover{background:#0a84ff1a;color:var(--diablo-primary);text-decoration:underline}.btn-text-danger[data-v-1b5971d9]{color:#e74c3c}.btn-text-danger[data-v-1b5971d9]:hover{background:#e74c3c1a;color:#c0392b;text-decoration:underline}.modal-overlay[data-v-1b5971d9]{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--diablo-shadow);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-content[data-v-1b5971d9]{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.4);backdrop-filter:blur(var(--glass-blur)) saturate(1.4);box-shadow:var(--glass-shadow),var(--glass-inner-glow)}.modal-large-content[data-v-1b5971d9]{max-width:1000px}.modal-body-large[data-v-1b5971d9]{max-height:80vh}.modal-title[data-v-1b5971d9]{margin:0;font-size:18px;color:var(--diablo-text);font-weight:600}.dialog-header[data-v-1b5971d9]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--glass-border)}.close-btn[data-v-1b5971d9]{background:transparent;border:none;color:var(--diablo-text-muted);cursor:pointer;padding:4px;transition:all .3s ease}.close-btn[data-v-1b5971d9]:hover{color:var(--diablo-text);background:var(--glass-bg-hover);border-radius:8px}.modal-body[data-v-1b5971d9]{padding:20px}.modal-body-large[data-v-1b5971d9]{max-height:70vh;overflow-y:auto}.modal-footer[data-v-1b5971d9]{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid var(--glass-border)}.cancel-btn[data-v-1b5971d9],.confirm-btn[data-v-1b5971d9]{padding:12px 24px;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.cancel-btn[data-v-1b5971d9]{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--diablo-text-muted)}.cancel-btn[data-v-1b5971d9]:hover{background:var(--glass-bg-hover);color:var(--diablo-text);border-color:var(--glass-border-hover)}.confirm-btn[data-v-1b5971d9]{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--diablo-text)}.confirm-btn[data-v-1b5971d9]:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover),0 0 16px var(--glass-border-glow)}.confirm-btn[data-v-1b5971d9]:disabled{opacity:.5;cursor:not-allowed}.form-group[data-v-1b5971d9]{margin-bottom:20px}.form-group label[data-v-1b5971d9]{display:block;margin-bottom:8px;font-size:14px;color:var(--diablo-text);font-weight:500}.checkbox-group[data-v-1b5971d9]{display:flex;flex-wrap:wrap;gap:16px}.checkbox-group label[data-v-1b5971d9]{display:flex;align-items:center;gap:4px;font-size:14px;color:var(--diablo-text);font-weight:500}.form-section[data-v-1b5971d9]{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--diablo-border)}.form-row[data-v-1b5971d9]{display:flex;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap}.form-col[data-v-1b5971d9]{padding:4px 8px;min-width:150px}.form-col-label[data-v-1b5971d9]{min-width:200px}.form-col-spacer[data-v-1b5971d9]{min-width:80px;display:flex;align-items:center}.form-col-small[data-v-1b5971d9]{min-width:120px;display:flex;align-items:center}.form-col-edit[data-v-1b5971d9]{min-width:100px;display:flex;align-items:center}.form-col-playmode[data-v-1b5971d9]{min-width:250px}.form-col-playcount[data-v-1b5971d9]{min-width:300px}.date-row[data-v-1b5971d9]{display:flex;gap:16px}.date-col[data-v-1b5971d9]{flex:1;min-width:0}.transfer-row[data-v-1b5971d9],.transfer-row .transfer-section[data-v-1b5971d9]{width:100%}.play-count-row[data-v-1b5971d9]{display:flex;align-items:center;gap:8px}.form-section .form-row .form-col[data-v-1b5971d9]{margin-bottom:0}.form-section .form-row .form-col label[data-v-1b5971d9]{display:block;margin-bottom:8px;font-size:14px;color:var(--diablo-text);font-weight:500}.form-section .form-row .form-col .form-input[data-v-1b5971d9],.form-section .form-row .form-col .form-select[data-v-1b5971d9]{width:100%;min-width:200px}.form-section[data-v-1b5971d9]:last-child{border-bottom:none}.section-title[data-v-1b5971d9]{margin:30px 0 20px;font-size:16px;font-weight:600;color:var(--diablo-text)}.char-count[data-v-1b5971d9]{font-size:12px;color:var(--diablo-text-muted);margin-left:8px}.transfer-section[data-v-1b5971d9]{background:var(--diablo-bg-input);padding:16px;border-radius:4px}.transfer-container[data-v-1b5971d9]{display:flex;gap:20px;margin-bottom:16px}.transfer-panel[data-v-1b5971d9]{flex:1;border:1px solid var(--diablo-border);border-radius:4px;overflow:hidden}.transfer-header[data-v-1b5971d9]{padding:12px;background:var(--diablo-bg-card);border-bottom:1px solid var(--diablo-border);font-weight:600;color:var(--diablo-text)}.transfer-search[data-v-1b5971d9]{padding:8px;border-bottom:1px solid var(--diablo-border)}.transfer-search-input[data-v-1b5971d9]{width:100%;padding:6px 10px;border:1px solid var(--diablo-border);border-radius:4px;background:var(--diablo-bg-input);color:var(--diablo-text);font-size:13px;box-sizing:border-box;outline:none;transition:border-color .2s ease}.transfer-search-input[data-v-1b5971d9]:focus{border-color:var(--diablo-primary)}.transfer-search-input[data-v-1b5971d9]::placeholder{color:var(--diablo-text-muted)}.transfer-empty[data-v-1b5971d9]{padding:16px;text-align:center;color:var(--diablo-text-muted);font-size:13px}.transfer-body[data-v-1b5971d9]{height:260px;overflow-y:auto;padding:8px}.transfer-item[data-v-1b5971d9]{padding:8px;border-bottom:1px solid var(--diablo-border)}.transfer-item-clickable[data-v-1b5971d9]{cursor:pointer;transition:background .15s ease}.transfer-item-clickable[data-v-1b5971d9]{cursor:pointer}.transfer-item-clickable[data-v-1b5971d9]:hover{background:var(--glass-bg-hover)}.file-list-row[data-v-1b5971d9]{display:flex;align-items:center;gap:8px;cursor:pointer}.file-list-name[data-v-1b5971d9]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list-len[data-v-1b5971d9]{font-size:10px;color:var(--diablo-text-muted);flex-shrink:0}.transfer-footer[data-v-1b5971d9]{padding:8px;border-top:1px solid var(--diablo-border);font-size:12px;color:var(--diablo-text-muted);text-align:center}.file-item-info[data-v-1b5971d9]{display:flex;align-items:center;flex:1;min-width:0}.file-item-len[data-v-1b5971d9]{font-size:10px;color:var(--diablo-text-muted);flex-shrink:0}.transfer-item label[data-v-1b5971d9]{display:flex;align-items:center;gap:8px;color:var(--diablo-text);cursor:pointer}.file-item[data-v-1b5971d9]{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:var(--diablo-bg-card);border-radius:4px;margin-bottom:4px}.file-actions[data-v-1b5971d9]{display:flex;gap:4px}.file-action-btn[data-v-1b5971d9]{padding:2px 6px;border:1px solid var(--diablo-border);border-radius:3px;background:var(--diablo-bg-input);color:var(--diablo-text);font-size:11px;cursor:pointer;transition:all .2s ease}.file-action-btn[data-v-1b5971d9]:hover:not(:disabled){background:var(--diablo-bg-card);color:var(--diablo-primary)}.file-action-btn[data-v-1b5971d9]:disabled{opacity:.3;cursor:not-allowed}.file-action-btn.btn-remove[data-v-1b5971d9]{color:#e74c3c}.time-range[data-v-1b5971d9]{display:flex;align-items:center;gap:8px}.advanced-toggle[data-v-1b5971d9]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;color:var(--diablo-text-muted);font-size:13px;font-weight:500;border:1px dashed var(--glass-border);border-radius:8px;transition:all .3s ease;-webkit-user-select:none;user-select:none}.advanced-toggle svg[data-v-1b5971d9]{transition:transform .3s ease;flex-shrink:0}.advanced-toggle svg.rotated[data-v-1b5971d9]{transform:rotate(180deg)}.advanced-toggle[data-v-1b5971d9]:hover{color:var(--diablo-primary);border-color:var(--diablo-primary);background:#0a84ff0a}.advanced-content[data-v-1b5971d9]{animation:slideDown-1b5971d9 .2s ease}@keyframes slideDown-1b5971d9{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.play-settings-area[data-v-1b5971d9]{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:16px;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow)}.play-settings-grid[data-v-1b5971d9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:16px}.duration-display-row[data-v-1b5971d9]{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--glass-bg-card);border:1px solid var(--glass-border);border-radius:10px;margin-bottom:16px}.duration-label[data-v-1b5971d9]{font-size:13px;font-weight:500;color:var(--diablo-text-muted)}.duration-value[data-v-1b5971d9]{font-size:14px;font-weight:600;color:var(--diablo-primary)}.duration-bracket[data-v-1b5971d9]{font-size:12px;color:var(--diablo-text-muted)}.duration-formula[data-v-1b5971d9]{font-size:11px;color:var(--diablo-text-muted);opacity:.7;margin-left:auto}.file-search-container[data-v-1b5971d9]{margin-bottom:16px}.file-search-input[data-v-1b5971d9]{width:100%}.modal-play-content[data-v-1b5971d9]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;max-height:450px}.file-selector[data-v-1b5971d9],.selected-files-panel[data-v-1b5971d9]{border:1px solid var(--glass-border);border-radius:12px;padding:16px;background:var(--glass-bg);display:flex;flex-direction:column;max-height:450px;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow)}.file-selector h4[data-v-1b5971d9],.selected-files-panel h4[data-v-1b5971d9]{margin:0 0 12px;color:var(--diablo-text);font-size:14px;flex-shrink:0}.file-list-content[data-v-1b5971d9],.selected-files-content[data-v-1b5971d9]{flex:1;overflow-y:auto;overflow-x:hidden;padding-right:8px;min-height:100px;max-height:380px}.file-list-content[data-v-1b5971d9]::-webkit-scrollbar,.selected-files-content[data-v-1b5971d9]::-webkit-scrollbar{width:8px}.file-list-content[data-v-1b5971d9]::-webkit-scrollbar-track,.selected-files-content[data-v-1b5971d9]::-webkit-scrollbar-track{background:transparent;border-radius:4px}.file-list-content[data-v-1b5971d9]::-webkit-scrollbar-thumb,.selected-files-content[data-v-1b5971d9]::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:4px}.file-list-content[data-v-1b5971d9]::-webkit-scrollbar-thumb:hover,.selected-files-content[data-v-1b5971d9]::-webkit-scrollbar-thumb:hover{background:var(--glass-border-hover)}.file-selector .file-item[data-v-1b5971d9]{display:block;padding:10px;margin-bottom:8px;border-radius:10px;background:var(--glass-bg);color:var(--diablo-text);cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94);border:1px solid var(--glass-border)}.file-selector .file-item[data-v-1b5971d9]:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);transform:translate(4px);box-shadow:var(--glass-shadow-hover),0 0 16px var(--glass-border-glow),var(--glass-inner-glow)}.file-selector .file-item.file-selected[data-v-1b5971d9]{border-color:var(--glass-border-hover);background:var(--glass-tint);box-shadow:0 0 12px var(--glass-border-glow),var(--glass-inner-glow)}.file-info[data-v-1b5971d9]{display:flex;flex-direction:column;gap:4px}.file-name[data-v-1b5971d9]{font-size:13px;font-weight:500;word-break:break-all}.file-meta[data-v-1b5971d9]{display:flex;gap:12px;font-size:12px;color:var(--diablo-text-muted)}.selected-file-item[data-v-1b5971d9]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;margin-bottom:8px;border-radius:10px;background:var(--glass-bg);color:var(--diablo-text);border:1px solid var(--glass-border);cursor:move;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.selected-file-item[data-v-1b5971d9]:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover);box-shadow:var(--glass-shadow),0 0 12px var(--glass-border-glow),var(--glass-inner-glow);transform:translateY(-1px)}.selected-file-info[data-v-1b5971d9]{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.file-number[data-v-1b5971d9]{font-size:12px;font-weight:600;color:var(--diablo-primary);min-width:20px;flex-shrink:0}.selected-file-item .file-name[data-v-1b5971d9]{font-size:13px;word-break:break-all}.play-empty-files[data-v-1b5971d9]{text-align:center;padding:40px 20px;color:var(--diablo-text-muted)}.play-empty-files p[data-v-1b5971d9]{margin:4px 0;font-size:13px}.play-empty-files .hint[data-v-1b5971d9]{font-size:12px;opacity:.7}.selected-tasks-list[data-v-1b5971d9]{max-height:200px;overflow-y:auto;border:1px solid var(--diablo-border);border-radius:4px;padding:12px;background:var(--diablo-bg-input)}.selected-task-item[data-v-1b5971d9]{padding:6px 8px;border-bottom:1px solid var(--diablo-border);color:var(--diablo-text);font-size:13px}.selected-task-item[data-v-1b5971d9]:last-child{border-bottom:none}.form-hint[data-v-1b5971d9]{margin:8px 0 0;font-size:12px;color:var(--diablo-text-muted);line-height:1.5}.hint-detail[data-v-1b5971d9]{color:var(--diablo-text-muted)}.date-hint[data-v-1b5971d9]{margin-top:8px;padding:10px 14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;font-size:12px;color:var(--diablo-text-muted);line-height:1.6}.task-form-grid[data-v-1b5971d9]{margin-bottom:20px}.task-form-section[data-v-1b5971d9]{display:flex;flex-direction:column;gap:16px}.form-row-2[data-v-1b5971d9]{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-4[data-v-1b5971d9]{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:16px}.form-field[data-v-1b5971d9]{display:flex;flex-direction:column;gap:6px}.form-field label[data-v-1b5971d9]{font-size:12px;font-weight:500;color:var(--diablo-text-muted)}.form-field .form-input[data-v-1b5971d9],.form-field .form-select[data-v-1b5971d9]{width:100%}.device-select-area[data-v-1b5971d9]{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:16px;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow);margin-bottom:24px}.device-search-bar[data-v-1b5971d9]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.device-search-bar .form-input[data-v-1b5971d9]{flex:1}.search-stats[data-v-1b5971d9]{font-size:12px;color:var(--diablo-text-muted);white-space:nowrap}.device-check-grid[data-v-1b5971d9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;max-height:200px;overflow-y:auto;padding-right:8px}.device-check-item[data-v-1b5971d9]{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;transition:all .3s cubic-bezier(.25,.46,.45,.94);background:var(--glass-bg);font-size:13px;color:var(--diablo-text)}.device-check-item input[type=checkbox][data-v-1b5971d9]{accent-color:var(--diablo-primary)}.device-check-item[data-v-1b5971d9]:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover);box-shadow:0 0 10px var(--glass-border-glow)}.device-check-item.checked[data-v-1b5971d9]{border-color:var(--diablo-primary);background:#0a84ff14}.weekday-checkboxes[data-v-1b5971d9]{display:flex;flex-wrap:wrap;gap:8px}.weekday-chip[data-v-1b5971d9]{display:flex;align-items:center;gap:6px;padding:6px 14px;border:1px solid var(--glass-border);border-radius:20px;cursor:pointer;font-size:13px;color:var(--diablo-text-muted);transition:all .3s ease;background:var(--glass-bg)}.weekday-chip input[type=checkbox][data-v-1b5971d9]{display:none}.weekday-chip[data-v-1b5971d9]:hover{border-color:var(--glass-border-hover);color:var(--diablo-text)}.weekday-chip.active[data-v-1b5971d9]{border-color:var(--diablo-primary);background:#0a84ff1a;color:var(--diablo-primary);box-shadow:0 0 8px #0a84ff26}.section-title .section-count[data-v-1b5971d9]{font-size:12px;color:var(--diablo-primary);font-weight:500}.duration-input-group[data-v-1b5971d9]{display:flex;gap:8px;align-items:center}.duration-input-group .duration-input[data-v-1b5971d9]{flex:1}.toggle-quick-btn[data-v-1b5971d9]{padding:6px 12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;color:var(--diablo-text-muted);font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease}.toggle-quick-btn[data-v-1b5971d9]:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover);color:var(--diablo-text)}.duration-presets[data-v-1b5971d9]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding:8px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px}.duration-preset-btn[data-v-1b5971d9]{padding:4px 10px;background:var(--glass-bg-card);border:1px solid var(--glass-border);border-radius:6px;color:var(--diablo-text);font-size:12px;cursor:pointer;transition:all .2s ease}.duration-preset-btn[data-v-1b5971d9]:hover{border-color:var(--diablo-primary);color:var(--diablo-primary);background:#0a84ff14}.duration-preset-btn.active[data-v-1b5971d9]{border-color:var(--diablo-primary);background:#0a84ff1f;color:var(--diablo-primary);font-weight:600}.task-table-scroll[data-v-1b5971d9]{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 280px)}.col-checkbox[data-v-1b5971d9]{width:40px;text-align:center}.col-index[data-v-1b5971d9]{width:44px;text-align:center}.col-id[data-v-1b5971d9]{width:50px}.col-name[data-v-1b5971d9]{width:auto;white-space:normal;min-width:120px}.col-time[data-v-1b5971d9]{width:80px}.col-duration[data-v-1b5971d9]{width:100px}.col-endtime[data-v-1b5971d9],.col-loop[data-v-1b5971d9]{width:80px}.col-dates[data-v-1b5971d9]{width:160px}.col-group[data-v-1b5971d9],.col-status[data-v-1b5971d9]{width:90px}.col-actions[data-v-1b5971d9]{width:260px;white-space:nowrap;overflow:visible}.col-actions .toggle-switch[data-v-1b5971d9]{display:inline-flex;align-items:center;gap:4px;margin-right:6px;vertical-align:middle}.col-actions .action-btn-group[data-v-1b5971d9]{display:inline-flex;vertical-align:middle;gap:3px}.date-sep[data-v-1b5971d9]{margin:0 4px;color:var(--diablo-text-muted)}.task-name-text[data-v-1b5971d9]{font-weight:500;color:var(--diablo-text)}.playing-badge[data-v-1b5971d9]{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;border-radius:10px;background:#3498db26;color:#3498db;font-size:11px;font-weight:600;border:1px solid rgba(52,152,219,.3);-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light))}.playing-dot[data-v-1b5971d9]{width:6px;height:6px;border-radius:50%;background:#3498db;box-shadow:0 0 8px #3498dbcc;animation:playingPulse-1b5971d9 1.2s ease-in-out infinite}@keyframes playingPulse-1b5971d9{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}.disabled-badge[data-v-1b5971d9]{display:inline-flex;margin-left:8px;padding:2px 8px;border-radius:10px;background:#95a5a626;color:#95a5a6;font-size:11px;font-weight:500;border:1px solid rgba(149,165,166,.3)}.row-selected td[data-v-1b5971d9]{background:var(--glass-bg-active)!important}.row-playing td[data-v-1b5971d9]{background:#3498db0d}.row-disabled[data-v-1b5971d9]{opacity:.6}.action-btn-group[data-v-1b5971d9]{display:flex;gap:4px;align-items:center}.row-action-btn[data-v-1b5971d9]{display:flex;align-items:center;justify-content:center;padding:4px 6px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:6px;color:var(--diablo-text-muted);cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94)}.row-action-btn[data-v-1b5971d9]:hover{background:var(--glass-bg-hover);color:var(--diablo-text);border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-hover),0 0 8px var(--glass-border-glow);transform:translateY(-1px)}.row-action-btn.btn-danger[data-v-1b5971d9]{color:#e74c3c}.row-action-btn.btn-danger[data-v-1b5971d9]:hover{background:#e74c3c26;border-color:#e74c3c;box-shadow:var(--glass-shadow-hover),0 0 8px #e74c3c4d}.status-btn[data-v-1b5971d9]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:10px;font-size:12px;font-weight:500;cursor:pointer;border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));transition:all .4s cubic-bezier(.25,.46,.45,.94);position:relative}.status-btn-play[data-v-1b5971d9]{background:#27ae601f;color:#27ae60;border-color:#27ae604d}.status-btn-play[data-v-1b5971d9]:hover{background:#27ae6033;border-color:#27ae60;box-shadow:0 0 12px #27ae604d;transform:translateY(-1px)}.status-btn-stop[data-v-1b5971d9]{background:#3498db1f;color:#3498db;border-color:#3498db4d}.status-btn-stop[data-v-1b5971d9]:hover{background:#3498db33;border-color:#3498db;box-shadow:0 0 12px #3498db4d;transform:translateY(-1px)}.status-pulse-ring[data-v-1b5971d9]{position:absolute;top:50%;left:8px;width:8px;height:8px;border-radius:50%;border:2px solid #3498db;transform:translateY(-50%);animation:statusRing-1b5971d9 1.5s ease-out infinite}@keyframes statusRing-1b5971d9{0%{width:8px;height:8px;opacity:1}to{width:20px;height:20px;opacity:0}}.toggle-switch[data-v-1b5971d9]{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.toggle-switch input[type=checkbox][data-v-1b5971d9]{display:none}.toggle-switch input[type=checkbox]:checked~.toggle-track[data-v-1b5971d9]{background:var(--diablo-primary);border-color:var(--diablo-primary)}.toggle-switch input[type=checkbox]:checked~.toggle-track[data-v-1b5971d9]:after{left:18px;background:#fff}.toggle-track[data-v-1b5971d9]{position:relative;width:36px;height:20px;border-radius:10px;background:var(--glass-bg);border:1px solid var(--glass-border);transition:all .3s ease;flex-shrink:0}.toggle-track[data-v-1b5971d9]:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--diablo-text-muted);transition:all .3s ease;box-shadow:var(--glass-shadow)}.toggle-label[data-v-1b5971d9]{font-size:11px;color:var(--diablo-text-muted);white-space:nowrap}.empty-cell[data-v-1b5971d9]{padding:0}.empty-state[data-v-1b5971d9]{padding:60px 40px;color:var(--diablo-text-muted);text-align:center;font-size:14px}.modal-large[data-v-1b5971d9]{padding:10px}.message-toast[data-v-1b5971d9]{position:fixed;top:20px;right:20px;padding:12px 20px;border-radius:10px;color:#fff;font-weight:500;z-index:9999;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow)}.message-toast.success[data-v-1b5971d9]{background:#27ae60e6}.message-toast.error[data-v-1b5971d9]{background:#e74c3ce6}.copy-config-grid[data-v-1b5971d9]{display:flex;flex-direction:column;gap:16px}.copy-config-row[data-v-1b5971d9]{display:flex;align-items:center;gap:16px}.copy-config-label[data-v-1b5971d9]{width:140px;flex-shrink:0;font-size:13px;font-weight:500;color:var(--diablo-text)}.copy-config-control[data-v-1b5971d9]{display:flex;align-items:center;gap:6px;flex:1}.copy-step-btn[data-v-1b5971d9]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--diablo-text-muted);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;flex-shrink:0}.copy-step-btn[data-v-1b5971d9]:hover:not(:disabled){background:var(--glass-bg-hover);color:var(--diablo-text);border-color:var(--glass-border-hover)}.copy-step-btn[data-v-1b5971d9]:disabled{opacity:.3;cursor:not-allowed}.copy-step-btn.copy-step-success[data-v-1b5971d9]{border-color:#27ae6066;color:#27ae60}.copy-step-btn.copy-step-success[data-v-1b5971d9]:hover:not(:disabled){background:#27ae6026;border-color:#27ae60}.copy-step-btn.copy-step-danger[data-v-1b5971d9]{border-color:#e74c3c66;color:#e74c3c}.copy-step-btn.copy-step-danger[data-v-1b5971d9]:hover:not(:disabled){background:#e74c3c26;border-color:#e74c3c}.copy-count-input[data-v-1b5971d9]{width:60px;height:32px;text-align:center;padding:0 4px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--diablo-text);font-size:14px;font-weight:600;outline:none;flex-shrink:0;-moz-appearance:textfield}.copy-count-input[data-v-1b5971d9]:focus{border-color:var(--glass-border-glow);box-shadow:0 0 8px var(--glass-border-glow)}.copy-count-input[data-v-1b5971d9]::-webkit-inner-spin-button,.copy-count-input[data-v-1b5971d9]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.copy-name-input[data-v-1b5971d9]{flex:1;max-width:300px}.copy-interval-unit[data-v-1b5971d9]{font-size:12px;color:var(--diablo-text-muted);white-space:nowrap}.copy-preview-section[data-v-1b5971d9]{border-top:1px solid var(--glass-border);padding-top:12px}.copy-preview-table th[data-v-1b5971d9],.copy-preview-table td[data-v-1b5971d9]{padding:8px 10px}.copy-inline-input[data-v-1b5971d9]{padding:4px 8px!important;font-size:13px;height:30px;width:100%}.view-mode-toggle[data-v-1b5971d9]{display:flex;border:1px solid var(--glass-border);border-radius:8px;overflow:hidden;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light))}.view-mode-btn[data-v-1b5971d9]{display:flex;align-items:center;justify-content:center;padding:6px 10px;background:transparent;border:none;color:var(--diablo-text-muted);cursor:pointer;transition:all .2s ease}.view-mode-btn.active[data-v-1b5971d9]{background:var(--glass-bg-hover);color:var(--diablo-primary)}.view-mode-btn[data-v-1b5971d9]:hover:not(.active){color:var(--diablo-text);background:var(--glass-bg)}.card-scroll[data-v-1b5971d9]{padding:16px;max-height:calc(100vh - 280px);overflow-y:auto}.task-card-grid[data-v-1b5971d9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.task-card[data-v-1b5971d9]{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:14px;padding:16px;cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94);-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow);display:flex;flex-direction:column;gap:12px;position:relative}.task-card[data-v-1b5971d9]:hover{border-color:var(--glass-border-hover);background:var(--glass-bg-hover);box-shadow:var(--glass-shadow-hover),0 0 16px var(--glass-border-glow),var(--glass-inner-glow);transform:translateY(-2px)}.task-card.card-selected[data-v-1b5971d9]{border-color:var(--diablo-primary);background:#0a84ff0f;box-shadow:0 0 12px #0a84ff33,var(--glass-inner-glow)}.task-card.card-disabled[data-v-1b5971d9]{opacity:.55}.task-card.card-playing[data-v-1b5971d9]{border-color:#3498db66;box-shadow:0 0 16px #3498db26,var(--glass-inner-glow)}.task-card.card-conflict[data-v-1b5971d9]{border-left:3px solid #e67e22;background:#e74c3c0f}.task-card-header[data-v-1b5971d9]{display:flex;align-items:center;gap:8px}.task-card-header .task-card-id[data-v-1b5971d9]{font-size:12px;font-weight:600;color:var(--diablo-text-muted);margin-left:auto}.task-card-header .task-card-actions[data-v-1b5971d9]{display:flex;gap:4px;margin-left:auto}.task-card-name[data-v-1b5971d9]{font-size:14px;font-weight:600;color:var(--diablo-text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-card-time-bar[data-v-1b5971d9]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light))}.task-card-time-bar .time-label[data-v-1b5971d9]{font-size:13px;font-weight:500;color:var(--diablo-text)}.task-card-time-bar .time-arrow[data-v-1b5971d9]{color:var(--diablo-text-muted);font-size:12px}.task-card-time-bar .time-duration[data-v-1b5971d9]{margin-left:auto;font-size:12px;color:var(--diablo-primary);font-weight:500}.task-card-info[data-v-1b5971d9]{display:flex;flex-direction:column;gap:6px}.task-card-info-row[data-v-1b5971d9]{display:flex;align-items:center;gap:6px;font-size:13px}.task-card-info-row .info-label[data-v-1b5971d9]{color:var(--diablo-text-muted);min-width:60px;flex-shrink:0}.task-card-info-row .info-value[data-v-1b5971d9]{color:var(--diablo-text)}.task-card-footer[data-v-1b5971d9]{display:flex;justify-content:flex-end;padding-top:8px;border-top:1px solid var(--glass-border)}.conflict-badge[data-v-1b5971d9]{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:2px 8px;border-radius:10px;background:#e74c3c1f;color:#e67e22;font-size:11px;font-weight:600;border:1px solid rgba(231,76,60,.3)}.row-conflict td[data-v-1b5971d9]{background:#e74c3c0f!important}.row-conflict:hover td[data-v-1b5971d9]{background:#e74c3c1a!important}@media (max-width: 768px){.task-manage[data-v-1b5971d9]{padding:10px}.page-header[data-v-1b5971d9]{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:12px}.page-title[data-v-1b5971d9]{font-size:17px}.header-actions[data-v-1b5971d9]{flex-wrap:wrap;width:100%;gap:6px}.add-btn[data-v-1b5971d9]{flex:1;justify-content:center;min-width:0;font-size:12px;padding:8px 10px}.add-btn svg[data-v-1b5971d9]{width:14px;height:14px}.filter-section[data-v-1b5971d9]{flex-direction:column;gap:10px;padding:12px}.filter-group[data-v-1b5971d9]{width:100%}.filter-section input[data-v-1b5971d9],.filter-section select[data-v-1b5971d9],.form-select[data-v-1b5971d9]{font-size:16px;width:100%}.group-actions[data-v-1b5971d9]{flex-wrap:wrap;width:100%;gap:6px}.group-actions .action-btn[data-v-1b5971d9]{flex:1;min-width:calc(50% - 6px);justify-content:center;font-size:11px;padding:8px 6px;gap:4px}.group-actions .action-btn svg[data-v-1b5971d9]{width:14px;height:14px}.batch-toolbar[data-v-1b5971d9]{flex-direction:column;gap:8px;padding:10px 12px}.batch-toolbar-label[data-v-1b5971d9]{font-size:12px}.batch-actions[data-v-1b5971d9]{flex-wrap:wrap;gap:4px}.batch-actions .action-btn[data-v-1b5971d9]{font-size:10px;padding:6px 8px;gap:3px}.batch-actions .action-btn svg[data-v-1b5971d9]{width:12px;height:12px}.task-table-scroll[data-v-1b5971d9]{overflow-x:auto;-webkit-overflow-scrolling:touch}.task-table[data-v-1b5971d9]{min-width:700px}.task-card-grid[data-v-1b5971d9]{grid-template-columns:1fr;gap:10px}.task-card[data-v-1b5971d9]{padding:12px;border-radius:12px}.task-card-header[data-v-1b5971d9]{gap:6px}.task-card-actions .row-action-btn[data-v-1b5971d9]{width:30px;height:30px;padding:5px}.task-card-name[data-v-1b5971d9]{font-size:14px}.task-card-time-bar[data-v-1b5971d9]{padding:6px 10px;gap:6px;font-size:12px;flex-wrap:wrap}.time-duration[data-v-1b5971d9]{margin-left:auto}.task-card-info-row[data-v-1b5971d9]{font-size:12px}.status-btn[data-v-1b5971d9]{padding:8px 14px;font-size:12px;gap:6px;border-radius:10px}.status-btn svg[data-v-1b5971d9]{width:16px;height:16px}.modal-overlay[data-v-1b5971d9]{align-items:flex-end;padding:0}.modal-content[data-v-1b5971d9]{width:100%;max-width:100%;max-height:92vh;border-radius:16px 16px 0 0}.modal-large-content[data-v-1b5971d9]{max-width:100%;max-height:95vh}.dialog-header[data-v-1b5971d9],.modal-content .dialog-header[data-v-1b5971d9]{padding:14px 16px;border-radius:16px 16px 0 0}.dialog-header h3[data-v-1b5971d9]{font-size:16px}.modal-body[data-v-1b5971d9]{padding:14px 16px}.modal-body-large[data-v-1b5971d9]{max-height:calc(92vh - 130px)}.modal-footer[data-v-1b5971d9]{padding:12px 16px;gap:8px}.modal-footer .btn[data-v-1b5971d9]{flex:1;text-align:center;padding:10px 16px;font-size:14px}.transfer-container[data-v-1b5971d9]{flex-direction:column;gap:12px}.transfer-body[data-v-1b5971d9]{height:160px;max-height:160px}.transfer-item[data-v-1b5971d9]{padding:8px 10px;font-size:14px}.task-form-area[data-v-1b5971d9]{padding:14px}.form-grid[data-v-1b5971d9]{grid-template-columns:1fr}.form-grid input[data-v-1b5971d9],.form-grid select[data-v-1b5971d9],.task-form-area input[data-v-1b5971d9],.task-form-area select[data-v-1b5971d9],.task-form-area .form-input[data-v-1b5971d9]{font-size:16px}.device-grid[data-v-1b5971d9]{grid-template-columns:1fr;max-height:200px}.dialog-overlay[data-v-1b5971d9]{padding:0;align-items:flex-end}.dialog[data-v-1b5971d9]{max-width:100%;width:100%;max-height:92vh;border-radius:16px 16px 0 0}.dialog-body[data-v-1b5971d9]{padding:14px 16px;max-height:calc(92vh - 120px);overflow-y:auto}.dialog-header[data-v-1b5971d9]{padding:14px 16px}.dialog-header h3[data-v-1b5971d9]{font-size:15px}.dialog-footer[data-v-1b5971d9]{padding:12px 16px}.duration-display-row[data-v-1b5971d9]{flex-direction:column;gap:4px}.toggle-switch .toggle-track[data-v-1b5971d9]{width:40px;height:22px}.toggle-switch .toggle-track[data-v-1b5971d9]:after{width:18px;height:18px}.row-action-btn[data-v-1b5971d9]{width:30px;height:30px;padding:5px}.confirm-dialog[data-v-1b5971d9]{min-width:unset;width:90%;max-width:95vw}.task-form-section[data-v-1b5971d9]{gap:12px}.form-row-2[data-v-1b5971d9]{grid-template-columns:1fr;gap:10px}.form-row-4[data-v-1b5971d9]{grid-template-columns:1fr 1fr;gap:10px}.weekday-checkboxes[data-v-1b5971d9]{gap:6px}.weekday-chip[data-v-1b5971d9]{padding:5px 10px;font-size:12px}.device-select-area[data-v-1b5971d9]{padding:12px}.device-search-bar[data-v-1b5971d9]{flex-direction:column;align-items:stretch;gap:6px}.device-check-grid[data-v-1b5971d9]{grid-template-columns:1fr 1fr;gap:6px;max-height:180px}.device-check-item[data-v-1b5971d9]{padding:8px;font-size:12px}.modal-play-content[data-v-1b5971d9]{grid-template-columns:1fr;max-height:none;gap:12px}.file-selector[data-v-1b5971d9],.selected-files-panel[data-v-1b5971d9]{max-height:220px;padding:10px}.file-selector h4[data-v-1b5971d9],.selected-files-panel h4[data-v-1b5971d9]{font-size:13px;margin-bottom:8px}.file-list-content[data-v-1b5971d9],.selected-files-content[data-v-1b5971d9]{max-height:150px;min-height:50px}.file-selector .file-item[data-v-1b5971d9]{padding:8px 10px;margin-bottom:4px}.file-name[data-v-1b5971d9]{font-size:13px}.selected-file-item[data-v-1b5971d9]{padding:6px 8px;margin-bottom:4px}.file-action-btn[data-v-1b5971d9]{width:26px;height:26px;font-size:13px}.play-settings-area[data-v-1b5971d9]{padding:12px}.play-settings-grid[data-v-1b5971d9]{grid-template-columns:1fr;gap:10px}.section-title[data-v-1b5971d9]{margin:16px 0 10px;font-size:14px}.toggle-quick-btn[data-v-1b5971d9]{color:#0a84ff;background:#0a84ff1a;border-color:#0a84ff4d;padding:8px 12px;font-size:13px}.duration-presets[data-v-1b5971d9]{gap:6px;padding:6px}.duration-preset-btn[data-v-1b5971d9]{padding:6px 10px;font-size:12px;color:var(--diablo-text)}.duration-preset-btn.active[data-v-1b5971d9]{color:#fff;background:#0a84ff;border-color:#0a84ff}.copy-config-row[data-v-1b5971d9]{flex-direction:column;align-items:stretch;gap:6px}.copy-config-label[data-v-1b5971d9]{width:auto;font-size:12px}.copy-config-control[data-v-1b5971d9]{flex-wrap:wrap;gap:4px}.copy-step-btn[data-v-1b5971d9]{min-width:32px;height:32px;font-size:13px}.copy-count-input[data-v-1b5971d9]{width:48px;font-size:14px}.copy-inline-input[data-v-1b5971d9]{font-size:14px}.copy-preview-table[data-v-1b5971d9]{min-width:unset;font-size:12px}.copy-interval-unit[data-v-1b5971d9]{font-size:12px}.form-input[data-v-1b5971d9],.form-select[data-v-1b5971d9]{font-size:16px}.form-hint[data-v-1b5971d9]{font-size:11px}.advanced-toggle[data-v-1b5971d9]{padding:8px 0;font-size:13px}.date-hint[data-v-1b5971d9]{font-size:11px}.duration-display-row[data-v-1b5971d9]{font-size:12px;gap:4px;flex-wrap:wrap}.duration-label[data-v-1b5971d9]{font-size:12px}.duration-value[data-v-1b5971d9]{font-size:13px}.duration-bracket[data-v-1b5971d9]{font-size:10px}.duration-formula[data-v-1b5971d9]{font-size:10px;width:100%}}@media (max-width: 480px){.task-manage[data-v-1b5971d9]{padding:6px}.page-title[data-v-1b5971d9]{font-size:16px}.task-form-area[data-v-1b5971d9]{padding:10px}.group-actions .action-btn[data-v-1b5971d9]{min-width:calc(50% - 3px);font-size:10px;padding:6px 4px}.task-card[data-v-1b5971d9]{padding:10px}.task-card-name[data-v-1b5971d9]{font-size:13px}.task-card-time-bar[data-v-1b5971d9]{font-size:11px;padding:5px 8px}.device-check-grid[data-v-1b5971d9]{grid-template-columns:1fr}.file-selector[data-v-1b5971d9],.selected-files-panel[data-v-1b5971d9]{max-height:180px}.file-list-content[data-v-1b5971d9],.selected-files-content[data-v-1b5971d9]{max-height:120px}}
@@ -0,0 +1 @@
1
+ import{f as a,o as s,n as t,u as i,F as l,y as e,A as c,M as n,J as o,c as d,I as r,t as v}from"./vue-vendor-BaBirIg_.js";import{u,d as h,a as b}from"./index-BuEwLgbU.js";import{x as p,y as g}from"./api-C3Fyph-A.js";import{_ as k}from"./_plugin-vue_export-helper-BCo6x5W8.js";const m={class:"dashboard"},y={class:"page-title diablo-title"},x={class:"stats-grid"},w=["innerHTML"],M={class:"stat-content"},f={class:"stat-label"},C={class:"stat-value"},T=["innerHTML"],H={class:"stat-content"},L={class:"stat-label"},B={class:"stat-value online"},A={class:"stat-card diablo-card"},_=["innerHTML"],D={class:"stat-content"},G={class:"stat-label"},j={class:"stat-value"},z={class:"stat-card diablo-card"},V=["innerHTML"],q={class:"stat-content"},N={class:"stat-label"},I={class:"stat-value"},S={class:"quick-actions"},F={class:"section-title"},J={class:"actions-grid"},P=["innerHTML"],U=["innerHTML"],E=["innerHTML"],K=["innerHTML"],O=["innerHTML"],Q=["innerHTML"],R={class:"mobile-header"},W={class:"mobile-greeting"},X={class:"mobile-subtitle"},Y={class:"mobile-stats-scroll"},Z={class:"mobile-stat-num"},$={class:"mobile-stat-label"},aa={class:"mobile-stat-num"},sa={class:"mobile-stat-label"},ta={class:"mobile-stat-card",style:{background:"linear-gradient(135deg, #5856d6, #3634a3)"}},ia={class:"mobile-stat-num"},la={class:"mobile-stat-label"},ea={class:"mobile-stat-card",style:{background:"linear-gradient(135deg, #ff9500, #cc7700)"}},ca={class:"mobile-stat-num"},na={class:"mobile-stat-label"},oa={class:"mobile-actions"},da={class:"mobile-section-title"},ra={class:"mobile-actions-grid"},va=k(a({__name:"index",setup(a){var k,va;const{t:ua}=u(),ha=o(),ba=h(),pa=b(),ga="undefined"!=typeof window&&!!(null==(va=null==(k=window.Capacitor)?void 0:k.isNativePlatform)?void 0:va.call(k)),ka=d(()=>pa.username||"User"),ma=d(()=>ba.getStats()),ya=r({totalGroups:0,totalTasks:0});function xa(a){return{devices:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="3" width="20" height="14" rx="2"/><line x1="8" y1="21" x2="16" y2="21"/><line x1="12" y1="17" x2="12" y2="21"/></svg>',online:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7z"/><circle cx="12" cy="12" r="3"/></svg>',groups:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>',tasks:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="18" rx="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/><path d="M8 14l2 2 4-4"/></svg>',add:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><line x1="12" y1="8" x2="12" y2="16"/><line x1="8" y1="12" x2="16" y2="12"/></svg>',broadcast:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"/><path d="M19 10v2a7 7 0 0 1-14 0v-2"/><line x1="12" y1="19" x2="12" y2="23"/><line x1="8" y1="23" x2="16" y2="23"/></svg>',alarm:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.73 21a2 2 0 0 1-3.46 0"/></svg>',account:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/></svg>'}[a]||""}return s(async()=>{await ba.fetchDeviceList();try{const a=await p();a.res&&Array.isArray(a.list)&&(ya.totalGroups=a.list.length)}catch{}try{const a=await g();a.res&&Array.isArray(a.taskary)&&(ya.totalTasks=a.taskary.length)}catch{}}),(a,s)=>(v(),t("div",m,[i(ga)?(v(),t(l,{key:1},[e("div",R,[e("div",W,c(i(ua)("dashboard.welcome")||"你好")+","+c(ka.value),1),e("div",X,"ST"+c(i(ua)("common.appName")||"广播系统"),1)]),e("div",Y,[e("div",{class:"mobile-stat-card",style:{background:"linear-gradient(135deg, #0a84ff, #0066cc)"},onClick:s[8]||(s[8]=a=>i(ha).push("/devices"))},[e("div",Z,c(ma.value.totalDevices),1),e("div",$,c(i(ua)("devices.list")),1)]),e("div",{class:"mobile-stat-card",style:{background:"linear-gradient(135deg, #34c759, #248a3d)"},onClick:s[9]||(s[9]=a=>i(ha).push("/devices"))},[e("div",aa,c(ma.value.onlineDevices),1),e("div",sa,c(i(ua)("devices.online")),1)]),e("div",ta,[e("div",ia,c(ya.totalGroups),1),e("div",la,c(i(ua)("groups.list")),1)]),e("div",ea,[e("div",ca,c(ya.totalTasks),1),e("div",na,c(i(ua)("tasks.list")),1)])]),e("div",oa,[e("div",da,c(i(ua)("dashboard.quickActions")),1),e("div",ra,[e("button",{class:"mobile-action-item",onClick:s[10]||(s[10]=a=>i(ha).push("/devices"))},[s[17]||(s[17]=n('<div class="mobile-action-icon" style="background:linear-gradient(135deg, #0a84ff, #0066cc);" data-v-6d90ca45><svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" data-v-6d90ca45><rect x="2" y="3" width="20" height="14" rx="2" data-v-6d90ca45></rect><line x1="8" y1="21" x2="16" y2="21" data-v-6d90ca45></line><line x1="12" y1="17" x2="12" y2="21" data-v-6d90ca45></line></svg></div>',1)),e("span",null,c(i(ua)("menu.devices")),1)]),e("button",{class:"mobile-action-item",onClick:s[11]||(s[11]=a=>i(ha).push("/groups"))},[s[18]||(s[18]=e("div",{class:"mobile-action-icon",style:{background:"linear-gradient(135deg, #5856d6, #3634a3)"}},[e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"white","stroke-width":"2"},[e("path",{d:"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"})])],-1)),e("span",null,c(i(ua)("menu.groups")),1)]),e("button",{class:"mobile-action-item",onClick:s[12]||(s[12]=a=>i(ha).push("/tasks"))},[s[19]||(s[19]=n('<div class="mobile-action-icon" style="background:linear-gradient(135deg, #ff9500, #cc7700);" data-v-6d90ca45><svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" data-v-6d90ca45><rect x="3" y="4" width="18" height="18" rx="2" data-v-6d90ca45></rect><line x1="16" y1="2" x2="16" y2="6" data-v-6d90ca45></line><line x1="8" y1="2" x2="8" y2="6" data-v-6d90ca45></line><line x1="3" y1="10" x2="21" y2="10" data-v-6d90ca45></line></svg></div>',1)),e("span",null,c(i(ua)("menu.tasks")),1)]),e("button",{class:"mobile-action-item",onClick:s[13]||(s[13]=a=>i(ha).push("/broadcast"))},[s[20]||(s[20]=n('<div class="mobile-action-icon" style="background:linear-gradient(135deg, #ff2d55, #cc0033);" data-v-6d90ca45><svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" data-v-6d90ca45><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z" data-v-6d90ca45></path><path d="M19 10v2a7 7 0 0 1-14 0v-2" data-v-6d90ca45></path><line x1="12" y1="19" x2="12" y2="23" data-v-6d90ca45></line><line x1="8" y1="23" x2="16" y2="23" data-v-6d90ca45></line></svg></div>',1)),e("span",null,c(i(ua)("menu.broadcast")),1)]),e("button",{class:"mobile-action-item",onClick:s[14]||(s[14]=a=>i(ha).push("/media"))},[s[21]||(s[21]=n('<div class="mobile-action-icon" style="background:linear-gradient(135deg, #34c759, #248a3d);" data-v-6d90ca45><svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" data-v-6d90ca45><path d="M9 18V5l12-2v13" data-v-6d90ca45></path><circle cx="6" cy="18" r="3" data-v-6d90ca45></circle><circle cx="18" cy="16" r="3" data-v-6d90ca45></circle></svg></div>',1)),e("span",null,c(i(ua)("menu.media")),1)]),e("button",{class:"mobile-action-item",onClick:s[15]||(s[15]=a=>i(ha).push("/alarm"))},[s[22]||(s[22]=e("div",{class:"mobile-action-icon",style:{background:"linear-gradient(135deg, #ff3b30, #cc2b22)"}},[e("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"white","stroke-width":"2"},[e("path",{d:"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"}),e("path",{d:"M13.73 21a2 2 0 0 1-3.46 0"})])],-1)),e("span",null,c(i(ua)("menu.alarm")),1)]),e("button",{class:"mobile-action-item",onClick:s[16]||(s[16]=a=>i(ha).push("/account"))},[s[23]||(s[23]=n('<div class="mobile-action-icon" style="background:linear-gradient(135deg, #8e8e93, #636366);" data-v-6d90ca45><svg viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" data-v-6d90ca45><path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" data-v-6d90ca45></path><circle cx="9" cy="7" r="4" data-v-6d90ca45></circle><path d="M23 21v-2a4 4 0 0 0-3-3.87" data-v-6d90ca45></path><path d="M16 3.13a4 4 0 0 1 0 7.75" data-v-6d90ca45></path></svg></div>',1)),e("span",null,c(i(ua)("menu.account")),1)])])])],64)):(v(),t(l,{key:0},[e("h2",y,c(i(ua)("dashboard.title")),1),e("div",x,[e("div",{class:"stat-card diablo-card clickable",onClick:s[0]||(s[0]=a=>i(ha).push("/devices"))},[e("div",{class:"stat-icon",innerHTML:xa("devices")},null,8,w),e("div",M,[e("div",f,c(i(ua)("devices.list")),1),e("div",C,c(ma.value.totalDevices),1)])]),e("div",{class:"stat-card diablo-card clickable",onClick:s[1]||(s[1]=a=>i(ha).push("/devices"))},[e("div",{class:"stat-icon online",innerHTML:xa("online")},null,8,T),e("div",H,[e("div",L,c(i(ua)("devices.online")),1),e("div",B,c(ma.value.onlineDevices),1)])]),e("div",A,[e("div",{class:"stat-icon",innerHTML:xa("groups")},null,8,_),e("div",D,[e("div",G,c(i(ua)("groups.list")),1),e("div",j,c(ya.totalGroups),1)])]),e("div",z,[e("div",{class:"stat-icon",innerHTML:xa("tasks")},null,8,V),e("div",q,[e("div",N,c(i(ua)("tasks.list")),1),e("div",I,c(ya.totalTasks),1)])])]),e("div",S,[e("h3",F,c(i(ua)("dashboard.quickActions")),1),e("div",J,[e("button",{class:"action-card diablo-card",onClick:s[2]||(s[2]=a=>i(ha).push("/devices"))},[e("span",{class:"action-icon",innerHTML:xa("add")},null,8,P),e("span",null,c(i(ua)("dashboard.addDevice")),1)]),e("button",{class:"action-card diablo-card",onClick:s[3]||(s[3]=a=>i(ha).push("/groups"))},[e("span",{class:"action-icon",innerHTML:xa("groups")},null,8,U),e("span",null,c(i(ua)("dashboard.createGroup")),1)]),e("button",{class:"action-card diablo-card",onClick:s[4]||(s[4]=a=>i(ha).push("/tasks"))},[e("span",{class:"action-icon",innerHTML:xa("tasks")},null,8,E),e("span",null,c(i(ua)("dashboard.scheduleTask")),1)]),e("button",{class:"action-card diablo-card",onClick:s[5]||(s[5]=a=>i(ha).push("/broadcast"))},[e("span",{class:"action-icon",innerHTML:xa("broadcast")},null,8,K),e("span",null,c(i(ua)("dashboard.broadcastNow")),1)]),e("button",{class:"action-card diablo-card",onClick:s[6]||(s[6]=a=>i(ha).push("/alarm"))},[e("span",{class:"action-icon",innerHTML:xa("alarm")},null,8,O),e("span",null,c(i(ua)("menu.alarm")),1)]),e("button",{class:"action-card diablo-card",onClick:s[7]||(s[7]=a=>i(ha).push("/account"))},[e("span",{class:"action-icon",innerHTML:xa("account")},null,8,Q),e("span",null,c(i(ua)("menu.account")),1)])])])],64))]))}}),[["__scopeId","data-v-6d90ca45"]]);export{va as default};
@@ -0,0 +1 @@
1
+ .account-page[data-v-c678c4d8]{padding:20px;min-height:100vh}.page-header[data-v-c678c4d8]{margin-bottom:24px}.page-title[data-v-c678c4d8]{font-size:20px;font-weight:600;color:var(--diablo-text);margin:0}.glass-section[data-v-c678c4d8]{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:14px;padding:20px;margin-bottom:20px;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow)}.section-title[data-v-c678c4d8]{font-size:15px;font-weight:600;color:var(--diablo-text);margin:0 0 16px}.section-header[data-v-c678c4d8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header .section-title[data-v-c678c4d8]{margin:0}.toolbar-btn[data-v-c678c4d8]{padding:6px 12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;color:var(--diablo-text-muted);font-size:12px;cursor:pointer;transition:all .2s ease}.toolbar-btn[data-v-c678c4d8]:hover{background:var(--glass-bg-hover);color:var(--diablo-text);border-color:var(--glass-border-hover)}.config-grid[data-v-c678c4d8]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:16px}.config-field[data-v-c678c4d8]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.config-field label[data-v-c678c4d8]{font-size:12px;color:var(--diablo-text-muted);font-weight:500}.form-input[data-v-c678c4d8]{padding:8px 12px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--diablo-text);font-size:13px;transition:all .2s ease;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light))}.form-input[data-v-c678c4d8]:hover{border-color:var(--glass-border-hover)}.form-input[data-v-c678c4d8]:focus{outline:none;border-color:var(--glass-border-glow);box-shadow:0 0 8px var(--glass-border-glow)}.mask-input[data-v-c678c4d8]{font-family:monospace;letter-spacing:1px}.register-area[data-v-c678c4d8]{display:flex;justify-content:flex-end;margin-top:16px}.register-btn[data-v-c678c4d8]{padding:10px 28px;background:#0a84ff1f;border:1px solid var(--diablo-primary);border-radius:10px;color:var(--diablo-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.register-btn[data-v-c678c4d8]:hover:not(:disabled){background:#0a84ff33}.register-btn[data-v-c678c4d8]:disabled{opacity:.5;cursor:not-allowed}.table-wrap[data-v-c678c4d8]{overflow:auto;max-height:calc(100vh - 200px)}.data-table[data-v-c678c4d8]{width:100%;border-collapse:collapse;font-size:13px}.data-table th[data-v-c678c4d8]{text-align:left;padding:10px 12px;font-size:12px;font-weight:500;color:var(--diablo-text-muted);border-bottom:1px solid var(--glass-border);white-space:nowrap}.data-table td[data-v-c678c4d8]{padding:10px 12px;color:var(--diablo-text);border-bottom:1px solid var(--glass-border);white-space:nowrap}.data-table tr:last-child td[data-v-c678c4d8]{border-bottom:none}.td-pass[data-v-c678c4d8]{max-width:160px}.pass-cell[data-v-c678c4d8]{display:inline-flex;align-items:center;gap:6px}.pass-text[data-v-c678c4d8]{font-family:monospace;font-size:12px;color:var(--diablo-text-muted);letter-spacing:1px}.eye-btn[data-v-c678c4d8]{background:none;border:none;color:var(--diablo-text-muted);cursor:pointer;padding:2px;display:flex;align-items:center;opacity:.5;transition:opacity .2s}.eye-btn[data-v-c678c4d8]:hover{opacity:1;color:var(--diablo-primary)}.td-time[data-v-c678c4d8]{font-size:11px;color:var(--diablo-text-muted)}.action-btns[data-v-c678c4d8]{display:flex;gap:4px;flex-wrap:nowrap}.act-btn[data-v-c678c4d8]{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid transparent;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;background:transparent;opacity:.7}.act-btn[data-v-c678c4d8]:hover{opacity:1}.act-btn svg[data-v-c678c4d8]{flex-shrink:0}.act-btn-blue[data-v-c678c4d8]{color:var(--diablo-primary);border-color:#0a84ff26;background:#0a84ff0f}.act-btn-blue[data-v-c678c4d8]:hover{background:#0a84ff1f;border-color:#0a84ff4d}.act-btn-orange[data-v-c678c4d8]{color:#ff9f0a;border-color:#ff9f0a26;background:#ff9f0a0f}.act-btn-orange[data-v-c678c4d8]:hover{background:#ff9f0a1f;border-color:#ff9f0a4d}.act-btn-red[data-v-c678c4d8]{color:#ff453a;border-color:#ff453a26;background:#ff453a0f}.act-btn-red[data-v-c678c4d8]:hover{background:#ff453a1f;border-color:#ff453a4d}.status-dot[data-v-c678c4d8]{font-size:12px;padding:2px 8px;border-radius:4px}.status-normal[data-v-c678c4d8]{background:#27ae601a;color:#27ae60}.status-disabled[data-v-c678c4d8]{background:#e74c3c1a;color:#e74c3c}.empty-state[data-v-c678c4d8]{padding:30px;text-align:center;color:var(--diablo-text-muted);font-size:14px}.perm-toggle[data-v-c678c4d8]{display:inline-flex;align-items:center;cursor:pointer}.perm-toggle input[type=checkbox][data-v-c678c4d8]{width:36px;height:20px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff14;border:1px solid var(--glass-border);border-radius:10px;position:relative;cursor:pointer;transition:all .3s ease}.perm-toggle input[type=checkbox][data-v-c678c4d8]:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--diablo-text-muted);transition:all .3s ease}.perm-toggle input[type=checkbox]:checked[data-v-c678c4d8]{background:#0a84ff40;border-color:var(--diablo-primary)}.perm-toggle input[type=checkbox]:checked[data-v-c678c4d8]:after{transform:translate(16px);background:var(--diablo-primary)}.perm-grid[data-v-c678c4d8]{display:flex;gap:20px;flex-wrap:wrap}.perm-item[data-v-c678c4d8]{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--diablo-text);cursor:pointer}.perm-item input[type=checkbox][data-v-c678c4d8]{accent-color:var(--diablo-primary);width:16px;height:16px}.modal-overlay[data-v-c678c4d8]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-box[data-v-c678c4d8]{background:var(--glass-bg, rgba(20, 20, 35, .95));border:1px solid var(--glass-border, rgba(255, 255, 255, .08));border-radius:16px;padding:24px;min-width:320px;max-width:420px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #0006}.modal-body[data-v-c678c4d8]{color:var(--diablo-text, #e0e0e0);font-size:14px;line-height:1.6;margin-bottom:20px}.modal-actions[data-v-c678c4d8]{display:flex;justify-content:flex-end;gap:10px}.modal-btn[data-v-c678c4d8]{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-btn-confirm[data-v-c678c4d8]{background:#0a84ff26;border:1px solid var(--diablo-primary, #0a84ff);color:var(--diablo-primary, #0a84ff)}.modal-btn-confirm[data-v-c678c4d8]:hover{background:#0a84ff40}.modal-btn-confirm[data-v-c678c4d8]:disabled{opacity:.5;cursor:not-allowed}.modal-btn[data-v-c678c4d8]{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--diablo-text-muted)}.device-modal-box[data-v-c678c4d8]{max-width:560px;width:90vw}.modal-title[data-v-c678c4d8]{font-size:15px;font-weight:600;color:var(--diablo-text);margin-bottom:16px}.device-search-row[data-v-c678c4d8]{margin-bottom:12px}.device-search-row .form-input[data-v-c678c4d8]{width:100%;box-sizing:border-box}.device-list-scroll[data-v-c678c4d8]{max-height:360px;overflow-y:auto;border:1px solid var(--glass-border);border-radius:8px;padding:8px}.device-check-item[data-v-c678c4d8]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--diablo-text);transition:background .15s}.device-check-item[data-v-c678c4d8]:hover{background:var(--glass-bg-hover)}.device-check-item input[type=checkbox][data-v-c678c4d8]{accent-color:var(--diablo-primary);width:15px;height:15px}.small[data-v-c678c4d8]{padding:16px;font-size:13px}.mobile-card-list[data-v-c678c4d8]{display:none}@media (max-width: 768px){.account-page[data-v-c678c4d8]{padding:10px;min-height:unset}.page-header[data-v-c678c4d8]{margin-bottom:12px}.page-title[data-v-c678c4d8]{font-size:17px}.glass-section[data-v-c678c4d8]{padding:14px;border-radius:12px;margin-bottom:12px}.section-title[data-v-c678c4d8]{font-size:14px;margin-bottom:12px}.section-header[data-v-c678c4d8]{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.config-grid[data-v-c678c4d8]{grid-template-columns:1fr;gap:12px}.form-input[data-v-c678c4d8]{font-size:16px}.perm-grid[data-v-c678c4d8]{flex-direction:column;gap:12px}.perm-item input[type=checkbox][data-v-c678c4d8]{width:18px;height:18px}.register-area[data-v-c678c4d8]{justify-content:stretch}.register-btn[data-v-c678c4d8]{width:100%;text-align:center;padding:12px;font-size:14px}.desktop-table[data-v-c678c4d8]{display:none!important}.mobile-card-list[data-v-c678c4d8]{display:flex;flex-direction:column;gap:10px}.user-card[data-v-c678c4d8]{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:14px;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow)}.user-card-header[data-v-c678c4d8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--glass-border)}.user-card-name[data-v-c678c4d8]{font-size:15px;font-weight:600;color:var(--diablo-text)}.user-card-id[data-v-c678c4d8]{font-size:11px;color:var(--diablo-text-muted);background:var(--glass-bg);padding:2px 8px;border-radius:10px;border:1px solid var(--glass-border)}.user-card-body[data-v-c678c4d8]{margin-bottom:10px}.user-card-row[data-v-c678c4d8]{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px}.user-card-label[data-v-c678c4d8]{color:var(--diablo-text-muted);font-size:12px;flex-shrink:0;margin-right:12px}.user-card-value[data-v-c678c4d8]{color:var(--diablo-text);font-weight:500;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-time[data-v-c678c4d8]{font-size:11px;color:var(--diablo-text-muted)}.user-card-perms[data-v-c678c4d8]{display:flex;flex-wrap:wrap;gap:10px;padding:8px 0;margin-bottom:8px;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border)}.user-card-perms .perm-item[data-v-c678c4d8]{font-size:12px}.user-card-perms .perm-item input[type=checkbox][data-v-c678c4d8]{width:16px;height:16px}.user-card-actions[data-v-c678c4d8]{display:flex;gap:6px;flex-wrap:wrap}.user-card-actions .act-btn[data-v-c678c4d8]{flex:1;justify-content:center;min-width:0;font-size:11px;padding:7px 8px}.modal-overlay[data-v-c678c4d8]{align-items:flex-end;padding:0}.modal-box[data-v-c678c4d8]{width:100%;min-width:unset;max-width:unset;max-height:85vh;border-radius:16px 16px 0 0;padding:20px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.device-modal-box[data-v-c678c4d8]{width:100%}.modal-title[data-v-c678c4d8]{font-size:14px;margin-bottom:12px}.device-list-scroll[data-v-c678c4d8]{max-height:50vh}.device-search-row .form-input[data-v-c678c4d8]{font-size:16px}.device-check-item[data-v-c678c4d8]{padding:8px 10px}.device-check-item input[type=checkbox][data-v-c678c4d8]{width:18px;height:18px}.modal-actions[data-v-c678c4d8]{flex-direction:column;gap:8px;padding-top:12px}.modal-btn[data-v-c678c4d8]{width:100%;text-align:center;padding:12px;font-size:14px}.empty-state[data-v-c678c4d8]{padding:20px;font-size:13px}.toolbar-btn[data-v-c678c4d8]{padding:7px 12px;font-size:12px}}@media (max-width: 480px){.account-page[data-v-c678c4d8]{padding:6px}.page-title[data-v-c678c4d8]{font-size:16px}.glass-section[data-v-c678c4d8]{padding:10px;border-radius:10px;margin-bottom:10px}.user-card[data-v-c678c4d8]{padding:12px}.user-card-actions[data-v-c678c4d8]{flex-direction:column}.user-card-actions .act-btn[data-v-c678c4d8]{width:100%}}
@@ -0,0 +1 @@
1
+ import{f as e,o as a,n as l,y as s,A as i,u as n,B as t,C as c,F as r,z as o,p as u,W as d,E as v,R as m,N as g,S as f,r as p,c as b,t as h,G as k}from"./vue-vendor-BaBirIg_.js";import{u as y}from"./index-BuEwLgbU.js";import{g as w,t as C,Z as S,_ as A,$ as U,a0 as x,a1 as N,a2 as D,a3 as L,a4 as F}from"./api-C3Fyph-A.js";import{_ as P}from"./_plugin-vue_export-helper-BCo6x5W8.js";const T={class:"alarm-page"},_={class:"page-header"},V={class:"page-title"},$={class:"glass-section"},R={class:"section-title"},j={class:"device-toolbar"},I={class:"device-filter"},H=["placeholder"],B={class:"selected-count"},M={key:0,class:"device-list"},O=["value","disabled"],q={class:"device-name"},z={class:"device-sn"},E={key:1,class:"empty-state"},G={class:"glass-section"},W={class:"section-title"},Z={class:"config-grid"},J={class:"config-field"},K=["placeholder"],Q={class:"config-field"},X={class:"source-toggle"},Y={key:0,class:"config-field"},ee={value:""},ae=["value"],le={key:1,class:"config-field"},se=["placeholder"],ie={class:"register-area"},ne=["disabled"],te={class:"glass-section"},ce={class:"section-header"},re={class:"section-title"},oe={key:0,class:"alarm-table-wrap"},ue={class:"alarm-table"},de={class:"td-sn"},ve=["title"],me=["onClick"],ge={key:1,class:"empty-state"},fe={key:0,class:"glass-section"},pe={class:"section-title"},be={class:"result-list"},he={class:"result-icon"},ke={class:"result-name"},ye={class:"result-sn"},we={class:"result-msg"},Ce={class:"glass-section"},Se={class:"section-title"},Ae={class:"linkage-desc"},Ue={class:"config-grid"},xe={class:"config-field"},Ne=["placeholder"],De={class:"config-field"},Le={class:"source-toggle"},Fe={key:0,class:"config-field"},Pe={value:""},Te=["value"],_e={key:1,class:"config-field"},Ve=["placeholder"],$e={class:"config-field"},Re={class:"hint-text"},je={class:"device-toolbar"},Ie={class:"selected-count"},He={key:0,class:"device-list linkage-device-list"},Be=["value"],Me={class:"device-name"},Oe={class:"register-area"},qe=["disabled"],ze={class:"glass-section"},Ee={class:"section-header"},Ge={class:"section-title"},We={key:0,class:"alarm-table-wrap"},Ze={class:"alarm-table"},Je=["title"],Ke={class:"td-actions"},Qe=["onClick"],Xe=["onClick"],Ye={key:1,class:"empty-state"},ea={class:"glass-section"},aa={class:"section-title"},la={class:"hint-text"},sa={class:"register-area"},ia={class:"modal-box trigger-modal-box"},na={class:"modal-header"},ta={class:"modal-body"},ca={class:"hint-text"},ra={key:0,class:"trigger-device-list"},oa=["onClick"],ua=["value","checked","disabled","onChange"],da={class:"device-name"},va={class:"device-sn"},ma={key:1,class:"empty-state"},ga={class:"modal-actions"},fa=["disabled"],pa={class:"modal-box trigger-modal-box"},ba={class:"modal-header"},ha={class:"modal-body"},ka={class:"hint-text"},ya={key:0,class:"trigger-device-list"},wa=["onClick"],Ca=["value","checked","disabled","onChange"],Sa={class:"device-name"},Aa={class:"device-sn"},Ua={key:1,class:"empty-state"},xa={class:"modal-actions"},Na=["disabled"],Da={class:"modal-box"},La={class:"modal-body"},Fa={class:"modal-actions"},Pa=P(e({__name:"index",setup(e){const{t:P}=y(),Pa=p([]),Ta=p([]),_a=p(""),Va=p(""),$a=p("file"),Ra=p(""),ja=p(""),Ia=p(!1),Ha=p([]),Ba=p([]),Ma=p([]),Oa=p(""),qa=p("file"),za=p(""),Ea=p(""),Ga=p([]),Wa=p(!1),Za=p([]),Ja=p({show:!1,pltid:0,planName:"",selectedSn:"",loading:!1}),Ka=p({show:!1,selectedSn:"",loading:!1}),Qa=p({show:!1,type:"alert",message:"",resolve:null});function Xa(e){return new Promise(a=>{Qa.value={show:!0,type:"alert",message:e,resolve:()=>a()}})}function Ya(e){return new Promise(a=>{Qa.value={show:!0,type:"confirm",message:e,resolve:a}})}function el(){Qa.value.show=!1,Qa.value.resolve&&("confirm"===Qa.value.type?Qa.value.resolve(!0):Qa.value.resolve(),Qa.value.resolve=null)}const al=b(()=>{if(!_a.value.trim())return Pa.value;const e=_a.value.trim().toLowerCase();return Pa.value.filter(a=>{const l=ll(a).toLowerCase(),s=sl(a).toLowerCase();return l.includes(e)||s.includes(e)})});function ll(e){return e.devname||e.device_name||e.name||sl(e)}function sl(e){return e.device_seed||e.sn||""}function il(e){return 1===e.status||2===e.status||1===e.online}function nl(){Ta.value=Pa.value.filter(e=>il(e)).map(sl)}function tl(){Ta.value=[]}function cl(){Ga.value=Pa.value.filter(e=>il(e)).map(sl)}function rl(){Ga.value=[]}async function ol(){if(0===Ta.value.length)return void(await Xa(P("alarm.noDevicesSelected")));let e="",a="";if("file"===$a.value){if(!Ra.value)return void(await Xa(P("alarm.noAudioConfigured")));const l=Ha.value.find(e=>e.id===Ra.value);if(l&&(e=l.url||"",a=l.filename||l.name||""),!e)return void(await Xa(P("alarm.noAudioConfigured")))}else{if(!ja.value.trim())return void(await Xa(P("alarm.noAudioConfigured")));e=ja.value.trim(),a=e.split("/").pop()||"audio"}const l=Va.value.trim()||a;Ia.value=!0,Ba.value=[];for(const i of Ta.value){const n=Pa.value.find(e=>sl(e)===i),t=n?ll(n):i;try{const s=await S({url:e,filename:a,sn:i,dname:l,fb:"1"});!0===s.res?Ba.value.push({name:t,sn:i,success:!0}):Ba.value.push({name:t,sn:i,success:!1,msg:s.msg||s.error||""})}catch(s){Ba.value.push({name:t,sn:i,success:!1,msg:s.message||""})}}Ia.value=!1,ul()}async function ul(){try{const e=await A();!0===e.res&&Array.isArray(e.ary)&&(Ma.value=e.ary)}catch(e){console.error("获取报警列表失败:",e)}}async function dl(){try{const e=await U();(!0===e.res&&Array.isArray(e.list)||Array.isArray(e.list))&&(Za.value=e.list)}catch(e){console.error("获取联动方案失败:",e)}}async function vl(){if(!Oa.value.trim())return void(await Xa(P("alarm.linkagePlanNameRequired")));if(0===Ga.value.length)return void(await Xa(P("alarm.linkageNoDevices")));let e="";if("file"===qa.value){if(!za.value)return void(await Xa(P("alarm.linkageNoAudio")));const a=Ha.value.find(e=>e.id===za.value);if(a&&(e=a.url||""),!e)return void(await Xa(P("alarm.linkageNoAudio")))}else{if(!Ea.value.trim())return void(await Xa(P("alarm.linkageNoAudio")));e=Ea.value.trim()}const a=Ga.value.join("|");Wa.value=!0;try{const l=await x({url:e,plantname:Oa.value.trim(),snlist:a});!0===l.res?(await Xa(P("alarm.addLinkageSuccess")),Oa.value="",Ga.value=[],za.value="",Ea.value="",dl()):await Xa(l.info||P("alarm.addLinkageFailed"))}catch{await Xa(P("alarm.addLinkageFailed"))}Wa.value=!1}async function ml(){if(Ja.value.selectedSn){Ja.value.loading=!0;try{const e=await N({pltid:Ja.value.pltid,sn:Ja.value.selectedSn,dname:Ja.value.planName,fb:"1"});!0===e.res?(Ja.value.show=!1,await Xa(P("alarm.registerTriggerSuccess"))):await Xa(e.msg||e.info||P("alarm.registerTriggerFailed"))}catch{await Xa(P("alarm.registerTriggerFailed"))}Ja.value.loading=!1}else await Xa(P("alarm.linkageNoTriggerDevice"))}function gl(){Ka.value={show:!0,selectedSn:"",loading:!1}}async function fl(){if(Ka.value.selectedSn){Ka.value.loading=!0;try{const e=await D({sn:Ka.value.selectedSn,fb:"1"});!0===e.res?(Ka.value.show=!1,await Xa(P("alarm.forceUnregSuccess")),ul()):await Xa(e.msg||e.info||P("alarm.forceUnregFailed"))}catch{await Xa(P("alarm.forceUnregFailed"))}Ka.value.loading=!1}else await Xa(P("alarm.linkageNoTriggerDevice"))}return a(()=>{!async function(){try{const e=await w();!0===e.res&&Array.isArray(e.results)?Pa.value=e.results:!0===e.res&&Array.isArray(e.list)&&(Pa.value=e.list)}catch(e){console.error("获取设备列表失败:",e)}}(),async function(){try{const e=await C();!0===e.res&&Array.isArray(e.filelist)&&(Ha.value=e.filelist)}catch(e){console.error("获取文件列表失败:",e)}}(),ul(),dl()}),(e,a)=>(h(),l("div",T,[s("div",_,[s("h2",V,i(n(P)("alarm.title")),1)]),s("div",$,[s("h3",R,i(n(P)("alarm.selectDevices")),1),s("div",j,[s("div",I,[a[19]||(a[19]=s("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"14",height:"14"},[s("circle",{cx:"11",cy:"11",r:"8"}),s("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})],-1)),t(s("input",{"onUpdate:modelValue":a[0]||(a[0]=e=>_a.value=e),class:"filter-input",placeholder:n(P)("alarm.searchDevice")+"..."},null,8,H),[[c,_a.value]])]),s("button",{class:"toolbar-btn",onClick:nl},i(n(P)("alarm.selectAllOnline")),1),s("button",{class:"toolbar-btn",onClick:tl},i(n(P)("alarm.clearSelection")),1),s("span",B,i(n(P)("alarm.selectedCount",{count:Ta.value.length})),1)]),al.value.length>0?(h(),l("div",M,[(h(!0),l(r,null,o(al.value,e=>(h(),l("label",{key:sl(e),class:u(["device-item",{"device-offline":!il(e),"device-disabled":!il(e)}])},[t(s("input",{type:"checkbox",value:sl(e),"onUpdate:modelValue":a[1]||(a[1]=e=>Ta.value=e),disabled:!il(e)},null,8,O),[[k,Ta.value]]),s("span",q,i(ll(e)),1),s("span",z,i(sl(e)),1),s("span",{class:u(["device-status-dot",il(e)?"online":"offline"])},null,2)],2))),128))])):(h(),l("div",E,i(0===Pa.value.length?n(P)("alarm.noDevices"):n(P)("alarm.noMatch")),1))]),s("div",G,[s("h3",W,i(n(P)("alarm.alarmConfig")),1),s("div",Z,[s("div",J,[s("label",null,i(n(P)("alarm.alarmName")),1),t(s("input",{"onUpdate:modelValue":a[2]||(a[2]=e=>Va.value=e),class:"form-input",placeholder:n(P)("alarm.alarmNamePlaceholder")},null,8,K),[[c,Va.value]])]),s("div",Q,[s("label",null,i(n(P)("alarm.audioSource")),1),s("div",X,[s("button",{class:u(["toggle-btn",{active:"file"===$a.value}]),onClick:a[3]||(a[3]=e=>$a.value="file")},i(n(P)("alarm.selectFile")),3),s("button",{class:u(["toggle-btn",{active:"url"===$a.value}]),onClick:a[4]||(a[4]=e=>$a.value="url")},i(n(P)("alarm.inputUrl")),3)])])]),"file"===$a.value?(h(),l("div",Y,[t(s("select",{"onUpdate:modelValue":a[5]||(a[5]=e=>Ra.value=e),class:"form-input"},[s("option",ee,i(n(P)("alarm.selectFilePlaceholder")),1),(h(!0),l(r,null,o(Ha.value,e=>(h(),l("option",{key:e.id,value:e.id},i(e.filename||e.name||`ID:${e.id}`),9,ae))),128))],512),[[d,Ra.value]])])):(h(),l("div",le,[t(s("input",{"onUpdate:modelValue":a[6]||(a[6]=e=>ja.value=e),class:"form-input",placeholder:n(P)("alarm.urlPlaceholder")},null,8,se),[[c,ja.value]])])),s("div",ie,[s("button",{class:"register-btn",disabled:Ia.value,onClick:ol},i(Ia.value?n(P)("alarm.registering"):n(P)("alarm.registerAlarm")),9,ne)])]),s("div",te,[s("div",ce,[s("h3",re,i(n(P)("alarm.registeredList")),1),s("button",{class:"toolbar-btn",onClick:ul},i(n(P)("alarm.refreshList")),1)]),Ma.value.length>0?(h(),l("div",oe,[s("table",ue,[s("thead",null,[s("tr",null,[a[20]||(a[20]=s("th",null,"ID",-1)),s("th",null,i(n(P)("alarm.deviceName")),1),s("th",null,i(n(P)("alarm.deviceSn")),1),s("th",null,i(n(P)("alarm.fileName")),1),a[21]||(a[21]=s("th",null,"URL",-1)),s("th",null,i(n(P)("common.actions")),1)])]),s("tbody",null,[(h(!0),l(r,null,o(Ma.value,e=>(h(),l("tr",{key:e.id},[s("td",null,i(e.id),1),s("td",null,i(e.devname||"-"),1),s("td",de,i(e.sn),1),s("td",null,i(e.filename||"-"),1),s("td",{class:"td-url",title:e.url},i(e.url||"-"),9,ve),s("td",null,[s("button",{class:"unregister-btn",onClick:a=>async function(e){if(await Ya(`${P("alarm.unregisterConfirm")} ${e.devname||e.sn}?`))try{const a=await L({sn:e.sn,fb:String(e.fb),rgid:e.id});!0===a.res?Ma.value=Ma.value.filter(a=>a.id!==e.id):await Xa(a.msg||P("alarm.unregisterFailed"))}catch{await Xa(P("alarm.unregisterFailed"))}}(e)},i(n(P)("alarm.unregisterAlarm")),9,me)])]))),128))])])])):(h(),l("div",ge,i(n(P)("alarm.noRegistered")),1))]),Ba.value.length>0?(h(),l("div",fe,[s("h3",pe,i(n(P)("alarm.registerResult")),1),s("div",be,[(h(!0),l(r,null,o(Ba.value,(e,a)=>(h(),l("div",{key:a,class:u(["result-item",e.success?"result-success":"result-fail"])},[s("span",he,i(e.success?"✅":"❌"),1),s("span",ke,i(e.name),1),s("span",ye,i(e.sn),1),s("span",we,i(e.success?n(P)("alarm.registerSuccess"):e.msg||n(P)("alarm.registerFailed")),1)],2))),128))])])):v("",!0),s("div",Ce,[s("h3",Se,i(n(P)("alarm.linkageTitle")),1),s("p",Ae,i(n(P)("alarm.linkageDesc")),1),s("div",Ue,[s("div",xe,[s("label",null,i(n(P)("alarm.linkagePlanName")),1),t(s("input",{"onUpdate:modelValue":a[7]||(a[7]=e=>Oa.value=e),class:"form-input",placeholder:n(P)("alarm.linkagePlanNamePlaceholder")},null,8,Ne),[[c,Oa.value]])]),s("div",De,[s("label",null,i(n(P)("alarm.audioSource")),1),s("div",Le,[s("button",{class:u(["toggle-btn",{active:"file"===qa.value}]),onClick:a[8]||(a[8]=e=>qa.value="file")},i(n(P)("alarm.selectFile")),3),s("button",{class:u(["toggle-btn",{active:"url"===qa.value}]),onClick:a[9]||(a[9]=e=>qa.value="url")},i(n(P)("alarm.inputUrl")),3)])])]),"file"===qa.value?(h(),l("div",Fe,[t(s("select",{"onUpdate:modelValue":a[10]||(a[10]=e=>za.value=e),class:"form-input"},[s("option",Pe,i(n(P)("alarm.selectFilePlaceholder")),1),(h(!0),l(r,null,o(Ha.value,e=>(h(),l("option",{key:e.id,value:e.id},i(e.filename||e.name||`ID:${e.id}`),9,Te))),128))],512),[[d,za.value]])])):(h(),l("div",_e,[t(s("input",{"onUpdate:modelValue":a[11]||(a[11]=e=>Ea.value=e),class:"form-input",placeholder:n(P)("alarm.urlPlaceholder")},null,8,Ve),[[c,Ea.value]])])),s("div",$e,[s("label",null,i(n(P)("alarm.linkageDevices")),1),s("p",Re,i(n(P)("alarm.linkageDevicesHint")),1),s("div",je,[s("button",{class:"toolbar-btn",onClick:cl},i(n(P)("alarm.selectAllOnline")),1),s("button",{class:"toolbar-btn",onClick:rl},i(n(P)("alarm.clearSelection")),1),s("span",Ie,i(n(P)("alarm.selectedCount",{count:Ga.value.length})),1)]),Pa.value.length>0?(h(),l("div",He,[(h(!0),l(r,null,o(Pa.value,e=>(h(),l("label",{key:"lg-"+sl(e),class:u(["device-item",{"device-offline":!il(e)}])},[t(s("input",{type:"checkbox",value:sl(e),"onUpdate:modelValue":a[12]||(a[12]=e=>Ga.value=e)},null,8,Be),[[k,Ga.value]]),s("span",Me,i(ll(e)),1),s("span",{class:u(["device-status-dot",il(e)?"online":"offline"])},null,2)],2))),128))])):v("",!0)]),s("div",Oe,[s("button",{class:"register-btn",disabled:Wa.value,onClick:vl},i(Wa.value?n(P)("alarm.adding"):n(P)("alarm.addLinkagePlan")),9,qe)])]),s("div",ze,[s("div",Ee,[s("h3",Ge,i(n(P)("alarm.linkageList")),1),s("button",{class:"toolbar-btn",onClick:dl},i(n(P)("alarm.refreshList")),1)]),Za.value.length>0?(h(),l("div",We,[s("table",Ze,[s("thead",null,[s("tr",null,[a[22]||(a[22]=s("th",null,"ID",-1)),s("th",null,i(n(P)("alarm.linkagePlanName")),1),s("th",null,i(n(P)("alarm.linkageDeviceCount")),1),a[23]||(a[23]=s("th",null,"URL",-1)),s("th",null,i(n(P)("common.actions")),1)])]),s("tbody",null,[(h(!0),l(r,null,o(Za.value,e=>(h(),l("tr",{key:e.id},[s("td",null,i(e.id),1),s("td",null,i(e.name),1),s("td",null,i(e.snids?e.snids.split("|").length:0),1),s("td",{class:"td-url",title:e.url},i(e.url),9,Je),s("td",Ke,[s("button",{class:"register-trigger-btn",onClick:a=>function(e){Ja.value={show:!0,pltid:e.id,planName:e.name,selectedSn:"",loading:!1}}(e)},i(n(P)("alarm.registerTrigger")),9,Qe),s("button",{class:"unregister-btn",onClick:a=>async function(e){if(await Ya(`${P("alarm.deleteLinkageConfirm")} "${e.name}"?`))try{const a=await F(e.id);!0===a.res?Za.value=Za.value.filter(a=>a.id!==e.id):await Xa(a.info||P("alarm.deleteLinkageFailed"))}catch{await Xa(P("alarm.deleteLinkageFailed"))}}(e)},i(n(P)("common.delete")),9,Xe)])]))),128))])])])):(h(),l("div",Ye,i(n(P)("alarm.noLinkagePlans")),1))]),s("div",ea,[s("h3",aa,i(n(P)("alarm.forceUnregTitle")),1),s("p",la,i(n(P)("alarm.forceUnregHint")),1),s("div",sa,[s("button",{class:"force-unreg-btn",onClick:gl},i(n(P)("alarm.forceUnregButton")),1)])]),(h(),m(f,{to:"body"},[Ja.value.show?(h(),l("div",{key:0,class:"modal-overlay",onClick:a[14]||(a[14]=g(e=>Ja.value.show=!1,["self"]))},[s("div",ia,[s("div",na,i(n(P)("alarm.registerTriggerTitle"))+" — "+i(Ja.value.planName),1),s("div",ta,[s("p",ca,i(n(P)("alarm.linkageTriggerDeviceHint")),1),Pa.value.length>0?(h(),l("div",ra,[(h(!0),l(r,null,o(Pa.value,e=>(h(),l("label",{key:"tm-"+sl(e),class:u(["device-item trigger-device-item",{"device-offline":!il(e),selected:Ja.value.selectedSn===sl(e)}]),onClick:g(a=>il(e)&&(Ja.value.selectedSn=sl(e)),["prevent"])},[s("input",{type:"radio",value:sl(e),checked:Ja.value.selectedSn===sl(e),disabled:!il(e),onChange:a=>Ja.value.selectedSn=sl(e)},null,40,ua),s("span",da,i(ll(e)),1),s("span",va,i(sl(e).substring(0,8))+"...",1),s("span",{class:u(["device-status-dot",il(e)?"online":"offline"])},null,2)],10,oa))),128))])):(h(),l("div",ma,i(n(P)("alarm.noDevices")),1))]),s("div",ga,[s("button",{class:"modal-btn modal-btn-cancel",onClick:a[13]||(a[13]=e=>Ja.value.show=!1)},i(n(P)("common.cancel")),1),s("button",{class:"modal-btn modal-btn-confirm",disabled:!Ja.value.selectedSn||Ja.value.loading,onClick:ml},i(Ja.value.loading?n(P)("alarm.registering"):n(P)("alarm.registerTrigger")),9,fa)])])])):v("",!0)])),(h(),m(f,{to:"body"},[Ka.value.show?(h(),l("div",{key:0,class:"modal-overlay",onClick:a[16]||(a[16]=g(e=>Ka.value.show=!1,["self"]))},[s("div",pa,[s("div",ba,i(n(P)("alarm.forceUnregTitle")),1),s("div",ha,[s("p",ka,i(n(P)("alarm.forceUnregModalHint")),1),Pa.value.length>0?(h(),l("div",ya,[(h(!0),l(r,null,o(Pa.value,e=>(h(),l("label",{key:"fu-"+sl(e),class:u(["device-item trigger-device-item",{"device-offline":!il(e),selected:Ka.value.selectedSn===sl(e)}]),onClick:g(a=>il(e)&&(Ka.value.selectedSn=sl(e)),["prevent"])},[s("input",{type:"radio",value:sl(e),checked:Ka.value.selectedSn===sl(e),disabled:!il(e),onChange:a=>Ka.value.selectedSn=sl(e)},null,40,Ca),s("span",Sa,i(ll(e)),1),s("span",Aa,i(sl(e).substring(0,8))+"...",1),s("span",{class:u(["device-status-dot",il(e)?"online":"offline"])},null,2)],10,wa))),128))])):(h(),l("div",Ua,i(n(P)("alarm.noDevices")),1))]),s("div",xa,[s("button",{class:"modal-btn modal-btn-cancel",onClick:a[15]||(a[15]=e=>Ka.value.show=!1)},i(n(P)("common.cancel")),1),s("button",{class:"modal-btn modal-btn-confirm force-confirm-btn",disabled:!Ka.value.selectedSn||Ka.value.loading,onClick:fl},i(Ka.value.loading?n(P)("alarm.registering"):n(P)("alarm.forceUnregConfirm")),9,Na)])])])):v("",!0)])),(h(),m(f,{to:"body"},[Qa.value.show?(h(),l("div",{key:0,class:"modal-overlay",onClick:a[18]||(a[18]=g(e=>Qa.value.show=!1,["self"]))},[s("div",Da,[s("div",La,i(Qa.value.message),1),s("div",Fa,["confirm"===Qa.value.type?(h(),l("button",{key:0,class:"modal-btn modal-btn-cancel",onClick:a[17]||(a[17]=e=>Qa.value.show=!1)},i(n(P)("common.cancel")),1)):v("",!0),s("button",{class:"modal-btn modal-btn-confirm",onClick:el},i(n(P)("common.confirm")),1)])])])):v("",!0)]))]))}}),[["__scopeId","data-v-b3fcff72"]]);export{Pa as default};
@@ -0,0 +1 @@
1
+ .alarm-page[data-v-b3fcff72]{padding:20px;min-height:100vh;height:100vh;overflow:auto;box-sizing:border-box}.page-header[data-v-b3fcff72]{margin-bottom:24px}.page-title[data-v-b3fcff72]{font-size:20px;font-weight:600;color:var(--diablo-text);margin:0}.glass-section[data-v-b3fcff72]{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:14px;padding:20px;margin-bottom:20px;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light));box-shadow:var(--glass-shadow),var(--glass-inner-glow)}.section-title[data-v-b3fcff72]{font-size:15px;font-weight:600;color:var(--diablo-text);margin:0 0 16px}.hint-text[data-v-b3fcff72]{font-size:11px;color:var(--diablo-text-muted);margin:0 0 8px;opacity:.7}.device-toolbar[data-v-b3fcff72]{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.toolbar-btn[data-v-b3fcff72]{padding:6px 12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;color:var(--diablo-text-muted);font-size:12px;cursor:pointer;transition:all .2s ease}.toolbar-btn[data-v-b3fcff72]:hover{background:var(--glass-bg-hover);color:var(--diablo-text);border-color:var(--glass-border-hover)}.selected-count[data-v-b3fcff72]{font-size:12px;color:var(--diablo-text-muted);margin-left:auto}.device-filter[data-v-b3fcff72]{display:flex;align-items:center;gap:6px;padding:4px 10px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px}.device-filter svg[data-v-b3fcff72]{color:var(--diablo-text-muted);flex-shrink:0}.device-filter .filter-input[data-v-b3fcff72]{border:none;background:transparent;padding:2px 0;font-size:12px;color:var(--diablo-text);width:160px}.device-filter .filter-input[data-v-b3fcff72]:focus{outline:none;box-shadow:none}.device-list[data-v-b3fcff72]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;max-height:280px;overflow-y:auto}.device-item[data-v-b3fcff72]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:13px;color:var(--diablo-text)}.device-item[data-v-b3fcff72]:hover{background:var(--glass-bg-hover);border-color:var(--glass-border-hover)}.device-item.device-offline[data-v-b3fcff72]{opacity:.5}.device-item.device-disabled[data-v-b3fcff72]{cursor:not-allowed;pointer-events:none}.device-item.device-disabled input[type=checkbox][data-v-b3fcff72]{pointer-events:auto;cursor:not-allowed}.device-item input[type=checkbox][data-v-b3fcff72]{accent-color:var(--diablo-primary);flex-shrink:0}.device-name[data-v-b3fcff72]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-sn[data-v-b3fcff72]{font-size:11px;color:var(--diablo-text-muted);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-status-dot[data-v-b3fcff72]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.device-status-dot.online[data-v-b3fcff72]{background:#27ae60;box-shadow:0 0 6px #27ae6099}.device-status-dot.offline[data-v-b3fcff72]{background:#95a5a6}.config-grid[data-v-b3fcff72]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:16px}.config-field[data-v-b3fcff72]{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.config-field label[data-v-b3fcff72]{font-size:12px;color:var(--diablo-text-muted);font-weight:500}.source-toggle[data-v-b3fcff72]{display:flex;gap:0;border:1px solid var(--glass-border);border-radius:8px;overflow:hidden}.toggle-btn[data-v-b3fcff72]{flex:1;padding:6px 12px;background:var(--glass-bg);border:none;color:var(--diablo-text-muted);font-size:12px;cursor:pointer;transition:all .2s ease}.toggle-btn[data-v-b3fcff72]:not(:last-child){border-right:1px solid var(--glass-border)}.toggle-btn.active[data-v-b3fcff72]{background:#0a84ff1f;color:var(--diablo-primary)}.toggle-btn[data-v-b3fcff72]:hover:not(.active){background:var(--glass-bg-hover)}.form-input[data-v-b3fcff72]{padding:8px 12px;border:1px solid var(--glass-border);border-radius:8px;background:var(--glass-bg);color:var(--diablo-text);font-size:13px;transition:all .2s ease;-webkit-backdrop-filter:blur(var(--glass-blur-light));backdrop-filter:blur(var(--glass-blur-light))}.form-input[data-v-b3fcff72]:hover{border-color:var(--glass-border-hover)}.form-input[data-v-b3fcff72]:focus{outline:none;border-color:var(--glass-border-glow);box-shadow:0 0 8px var(--glass-border-glow)}.register-area[data-v-b3fcff72]{display:flex;justify-content:flex-end;margin-top:16px}.register-btn[data-v-b3fcff72]{padding:10px 28px;background:#0a84ff1f;border:1px solid var(--diablo-primary);border-radius:10px;color:var(--diablo-primary);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.register-btn[data-v-b3fcff72]:hover:not(:disabled){background:#0a84ff33}.register-btn[data-v-b3fcff72]:disabled{opacity:.5;cursor:not-allowed}.force-unreg-btn[data-v-b3fcff72]{padding:10px 28px;background:#ff3b301a;border:1px solid rgba(255,59,48,.4);border-radius:10px;color:#ff3b30;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.force-unreg-btn[data-v-b3fcff72]:hover{background:#ff3b3033;border-color:#ff3b3099}.force-confirm-btn[data-v-b3fcff72]{background:#ff3b301f;border-color:#ff3b3066;color:#ff3b30}.force-confirm-btn[data-v-b3fcff72]:hover:not(:disabled){background:#ff3b3033}.result-list[data-v-b3fcff72]{display:flex;flex-direction:column;gap:8px}.result-item[data-v-b3fcff72]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;font-size:13px}.result-success[data-v-b3fcff72]{background:#27ae6014;border:1px solid rgba(39,174,96,.2);color:#27ae60}.result-fail[data-v-b3fcff72]{background:#e74c3c14;border:1px solid rgba(231,76,60,.2);color:#e74c3c}.result-icon[data-v-b3fcff72]{flex-shrink:0}.result-name[data-v-b3fcff72]{font-weight:500;min-width:80px}.result-sn[data-v-b3fcff72]{color:var(--diablo-text-muted);font-size:11px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-msg[data-v-b3fcff72]{flex:1;text-align:right}.empty-state[data-v-b3fcff72]{padding:30px;text-align:center;color:var(--diablo-text-muted);font-size:14px}.section-header[data-v-b3fcff72]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header .section-title[data-v-b3fcff72]{margin:0}.alarm-table-wrap[data-v-b3fcff72]{overflow:auto;max-height:calc(100vh - 320px)}.alarm-table[data-v-b3fcff72]{width:100%;border-collapse:collapse;font-size:13px}.alarm-table th[data-v-b3fcff72]{text-align:left;padding:10px 12px;font-size:12px;font-weight:500;color:var(--diablo-text-muted);border-bottom:1px solid var(--glass-border);white-space:nowrap}.alarm-table td[data-v-b3fcff72]{padding:10px 12px;color:var(--diablo-text);border-bottom:1px solid var(--glass-border);white-space:nowrap}.alarm-table tr:last-child td[data-v-b3fcff72]{border-bottom:none}.td-sn[data-v-b3fcff72]{font-size:11px;color:var(--diablo-text-muted);max-width:160px;overflow:hidden;text-overflow:ellipsis}.td-url[data-v-b3fcff72]{max-width:220px;overflow:hidden;text-overflow:ellipsis;color:var(--diablo-text-muted)}.unregister-btn[data-v-b3fcff72]{padding:4px 10px;background:#e74c3c1a;border:1px solid rgba(231,76,60,.3);border-radius:6px;color:#e74c3c;font-size:12px;cursor:pointer;transition:all .2s ease}.unregister-btn[data-v-b3fcff72]:hover{background:#e74c3c33}.td-actions[data-v-b3fcff72]{display:flex;gap:6px;align-items:center}.register-trigger-btn[data-v-b3fcff72]{padding:4px 10px;background:#0a84ff1a;border:1px solid rgba(10,132,255,.3);border-radius:6px;color:var(--diablo-primary);font-size:12px;cursor:pointer;transition:all .2s ease}.register-trigger-btn[data-v-b3fcff72]:hover{background:#0a84ff33}.trigger-modal-box[data-v-b3fcff72]{max-width:480px;min-width:380px}.modal-header[data-v-b3fcff72]{font-size:15px;font-weight:600;color:var(--diablo-text);margin-bottom:12px}.trigger-device-list[data-v-b3fcff72]{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}.trigger-device-item[data-v-b3fcff72]{cursor:pointer}.trigger-device-item.selected[data-v-b3fcff72]{background:#0a84ff1a;border-color:#0a84ff66}.trigger-device-item.device-offline[data-v-b3fcff72]{opacity:.4;cursor:not-allowed}.trigger-device-item input[type=radio][data-v-b3fcff72]{accent-color:var(--diablo-primary);flex-shrink:0}.modal-overlay[data-v-b3fcff72]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-box[data-v-b3fcff72]{background:var(--glass-bg, rgba(20, 20, 35, .95));border:1px solid var(--glass-border, rgba(255, 255, 255, .08));border-radius:16px;padding:24px;min-width:320px;max-width:420px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 8px 32px #0006}.modal-body[data-v-b3fcff72]{color:var(--diablo-text, #e0e0e0);font-size:14px;line-height:1.6;margin-bottom:20px}.modal-actions[data-v-b3fcff72]{display:flex;justify-content:flex-end;gap:10px}.modal-btn[data-v-b3fcff72]{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.modal-btn-cancel[data-v-b3fcff72]{background:var(--glass-bg, rgba(255, 255, 255, .05));border:1px solid var(--glass-border, rgba(255, 255, 255, .1));color:var(--diablo-text-muted, #888)}.modal-btn-cancel[data-v-b3fcff72]:hover{background:var(--glass-bg-hover, rgba(255, 255, 255, .08))}.modal-btn-confirm[data-v-b3fcff72]{background:#0a84ff26;border:1px solid var(--diablo-primary, #0a84ff);color:var(--diablo-primary, #0a84ff)}.modal-btn-confirm[data-v-b3fcff72]:hover{background:#0a84ff40}@media (max-width: 768px){.alarm-page[data-v-b3fcff72]{padding:10px;min-height:unset}.page-header[data-v-b3fcff72]{margin-bottom:12px}.page-title[data-v-b3fcff72]{font-size:17px}.glass-section[data-v-b3fcff72]{padding:14px;border-radius:12px;margin-bottom:12px}.section-title[data-v-b3fcff72]{font-size:14px;margin-bottom:12px}.section-header[data-v-b3fcff72]{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:12px}.device-toolbar[data-v-b3fcff72]{flex-wrap:wrap;gap:6px}.device-filter[data-v-b3fcff72]{order:-1;width:100%;padding:8px 12px}.device-filter .filter-input[data-v-b3fcff72]{font-size:16px;width:100%}.selected-count[data-v-b3fcff72]{margin-left:0;width:100%;text-align:center;order:-2;padding:6px 12px;font-size:12px}.toolbar-btn[data-v-b3fcff72]{padding:7px 12px;font-size:12px}.device-list[data-v-b3fcff72]{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;max-height:240px}.linkage-device-list[data-v-b3fcff72]{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));max-height:200px}.device-item[data-v-b3fcff72]{padding:8px 10px;gap:6px;font-size:12px}.device-item input[type=checkbox][data-v-b3fcff72]{width:18px;height:18px}.device-sn[data-v-b3fcff72]{display:none}.config-grid[data-v-b3fcff72]{grid-template-columns:1fr;gap:12px;margin-bottom:12px}.config-field[data-v-b3fcff72]{margin-bottom:10px}.config-field label[data-v-b3fcff72]{font-size:12px}.form-input[data-v-b3fcff72]{font-size:16px}.source-toggle[data-v-b3fcff72]{border-radius:10px}.source-toggle .toggle-btn[data-v-b3fcff72]{padding:8px 14px;font-size:13px}.source-toggle .toggle-btn.active[data-v-b3fcff72]{color:#0a84ff;background:#0a84ff1f}.hint-text[data-v-b3fcff72]{font-size:11px}.register-area[data-v-b3fcff72]{justify-content:stretch}.register-btn[data-v-b3fcff72],.force-unreg-btn[data-v-b3fcff72]{width:100%;text-align:center;padding:12px;font-size:14px}.result-item[data-v-b3fcff72]{flex-wrap:wrap;padding:10px 12px;font-size:12px;gap:6px}.result-name[data-v-b3fcff72]{min-width:unset}.result-sn[data-v-b3fcff72]{max-width:unset;font-size:10px}.result-msg[data-v-b3fcff72]{flex-basis:100%;text-align:left}.alarm-table-wrap[data-v-b3fcff72]{overflow-x:auto;-webkit-overflow-scrolling:touch}.alarm-table[data-v-b3fcff72]{font-size:12px;min-width:500px}.alarm-table th[data-v-b3fcff72],.alarm-table td[data-v-b3fcff72]{padding:8px;font-size:11px}.td-actions[data-v-b3fcff72]{flex-direction:column;gap:4px}.unregister-btn[data-v-b3fcff72],.register-trigger-btn[data-v-b3fcff72]{padding:5px 8px;font-size:11px}.modal-overlay[data-v-b3fcff72]{align-items:flex-end;padding:0}.modal-box[data-v-b3fcff72]{width:100%;min-width:unset;max-width:unset;max-height:85vh;border-radius:16px 16px 0 0;padding:20px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch}.trigger-modal-box[data-v-b3fcff72]{min-width:unset;max-width:unset;width:100%}.trigger-device-list[data-v-b3fcff72]{max-height:280px}.trigger-device-item[data-v-b3fcff72]{padding:10px 12px}.trigger-device-item .device-sn[data-v-b3fcff72]{display:inline;font-size:10px}.trigger-device-item input[type=radio][data-v-b3fcff72]{width:18px;height:18px}.modal-actions[data-v-b3fcff72]{flex-direction:column;gap:8px;padding-top:12px}.modal-btn[data-v-b3fcff72]{width:100%;text-align:center;padding:12px;font-size:14px}.empty-state[data-v-b3fcff72]{padding:20px;font-size:13px}}@media (max-width: 480px){.alarm-page[data-v-b3fcff72]{padding:6px}.page-title[data-v-b3fcff72]{font-size:16px}.glass-section[data-v-b3fcff72]{padding:10px;border-radius:10px;margin-bottom:10px}.device-list[data-v-b3fcff72],.linkage-device-list[data-v-b3fcff72]{grid-template-columns:1fr 1fr}.device-item[data-v-b3fcff72]{padding:7px 8px;font-size:11px}.toolbar-btn[data-v-b3fcff72]{padding:6px 10px;font-size:11px}.register-btn[data-v-b3fcff72],.force-unreg-btn[data-v-b3fcff72]{padding:10px;font-size:13px}}
@@ -0,0 +1 @@
1
+ import{f as e,o as l,n as a,y as t,A as i,u as o,p as n,M as s,H as d,E as r,N as c,F as u,L as v,B as h,C as m,G as p,z as f,W as y,r as w,c as b,X as k,t as g}from"./vue-vendor-BaBirIg_.js";import{a as x,u as C}from"./index-BuEwLgbU.js";import{t as M,U as B,V as F,W as V,X as U}from"./api-C3Fyph-A.js";import{_ as S}from"./_plugin-vue_export-helper-BCo6x5W8.js";const z={class:"media-manage"},T={class:"page-header"},$={class:"page-title"},L={class:"header-actions"},N={class:"view-mode-toggle"},_=["title"],D=["title"],H=["disabled","title"],A={class:"drop-zone-sub"},P={class:"drop-zone-actions"},R={key:1,class:"upload-inline-progress"},j={class:"upload-progress-track"},W={class:"filter-section"},q={class:"search-bar"},I=["placeholder"],E={class:"search-stats"},X={key:1,class:"batch-toolbar"},G={class:"batch-toolbar-label"},K={class:"batch-actions"},O={class:"file-list-container"},J={key:0,class:"file-table-scroll"},Q={class:"file-table"},Y={class:"col-checkbox"},Z={class:"col-index"},ee={class:"col-name"},le={class:"col-duration"},ae={class:"col-size"},te={class:"col-actions"},ie={key:0},oe={colspan:"6",class:"empty-cell"},ne={class:"empty-state"},se=["onClick"],de=["value"],re={class:"col-index"},ce={class:"col-name"},ue={class:"file-name-cell"},ve={class:"file-name-text"},he={key:0,class:"playing-badge"},me={class:"col-duration"},pe={class:"col-size"},fe={class:"action-btn-group"},ye=["onClick","title"],we={key:0,viewBox:"0 0 24 24",fill:"currentColor",width:"14",height:"14"},be={key:1,viewBox:"0 0 24 24",fill:"currentColor",width:"14",height:"14"},ke=["href","download","title"],ge=["onClick","title"],xe={key:1,class:"card-scroll"},Ce={key:0,class:"empty-state"},Me={class:"file-card-grid"},Be=["onClick"],Fe={class:"file-card-header"},Ve=["onClick","title"],Ue={key:0,viewBox:"0 0 24 24",fill:"currentColor",width:"14",height:"14"},Se={key:1,viewBox:"0 0 24 24",fill:"currentColor",width:"14",height:"14"},ze=["href","download","title"],Te=["onClick","title"],$e={class:"file-card-name"},Le={class:"file-card-meta"},Ne={class:"meta-duration"},_e={class:"meta-size"},De={key:2,class:"audio-player"},He={class:"player-info"},Ae={class:"player-name"},Pe=["src"],Re=["title"],je={class:"dialog-header"},We={class:"modal-body"},qe={class:"modal-footer"},Ie={class:"dialog-header"},Ee={class:"tts-body"},Xe={class:"tts-field"},Ge={class:"tts-label"},Ke=["placeholder"],Oe={class:"tts-row"},Je={class:"tts-field tts-field-half"},Qe={class:"tts-label"},Ye=["value"],Ze={class:"tts-field tts-field-half"},el={class:"tts-label"},ll={value:35},al={value:50},tl={value:65},il={class:"tts-field"},ol={class:"tts-label"},nl=["placeholder"],sl={class:"tts-char-count"},dl={class:"modal-footer"},rl=["disabled"],cl={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"14",height:"14",class:"spin-icon"},ul={class:"dialog-header"},vl={class:"radio-body"},hl={class:"radio-field"},ml={class:"radio-label"},pl=["placeholder"],fl={class:"radio-field"},yl={class:"radio-label"},wl={class:"radio-field"},bl={class:"radio-label"},kl={class:"radio-presets"},gl=["placeholder"],xl={class:"modal-footer"},Cl=["disabled"],Ml={key:0,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"14",height:"14",class:"spin-icon"},Bl=S(e({__name:"index",setup(e){var S,Bl;const Fl=x(),{t:Vl}=C(),Ul=w(!1),Sl=w(!1),zl=w(0),Tl=w(""),$l=w([]),Ll=w([]),Nl=w(!1),_l=window.innerWidth<=768||"undefined"!=typeof window&&!!(null==(Bl=null==(S=window.Capacitor)?void 0:S.isNativePlatform)?void 0:Bl.call(S)),Dl=w(_l?"card":"list"),Hl=w(""),Al=w(!1),Pl=w(null),Rl=w(null),jl=w(null),Wl=w(null),ql=w(!1),Il=w(!1),El=w(""),Xl=w("xiaoyan"),Gl=w(50),Kl=w(""),Ol=w(!1),Jl=w(!1),Ql=w(""),Yl=w(""),Zl=w(1800),ea=w(!1),la=[{value:"xiaoxiao",label:"晓晓 - 女声,自然亲切"},{value:"yunxi",label:"云希 - 男声,年轻活力"},{value:"yunjian",label:"云健 - 男声,成熟稳重"},{value:"xiaoyi",label:"晓伊 - 女声,温柔甜美"},{value:"yunxia",label:"云夏 - 男童声"},{value:"xiaochen",label:"晓辰 - 女声,新闻播报风格"},{value:"xiaohan",label:"晓涵 - 女声,温暖"},{value:"xiaomeng",label:"晓梦 - 女声,活泼"},{value:"xiaomo",label:"晓墨 - 女声,知性"},{value:"xiaoqiu",label:"晓秋 - 女声,温和"},{value:"xiaorui",label:"晓睿 - 女童声"},{value:"xiaoshuang",label:"晓双 - 女童声"},{value:"xiaoxuan",label:"晓萱 - 女声"},{value:"xiaoyan",label:"晓妍 - 女声"},{value:"xiaoyou",label:"悠悠 - 女童声"},{value:"yunfeng",label:"云枫 - 男声"},{value:"yunhao",label:"云皓 - 男声"},{value:"yunxiang",label:"云翔 - 男声"},{value:"yunyang",label:"云扬 - 男声"}],aa=w({show:!1,text:"",type:"success"});function ta(e,l="success"){aa.value={show:!0,text:e,type:l},setTimeout(()=>{aa.value.show=!1},3e3)}const ia=b(()=>{if(!Hl.value.trim())return $l.value;const e=Hl.value.trim().toLowerCase();return $l.value.filter(l=>(l.filename||l.name||"").toLowerCase().includes(e))});async function oa(){Ul.value=!0;try{const e=await M();e.res&&($l.value=e.filelist||[])}catch(e){console.error("获取文件列表失败:",e)}finally{Ul.value=!1}}function na(){const e=Wl.value||document.getElementById("media-file-input");e&&(e.value="",e.click())}async function sa(e){var l;const a=e.target;(null==(l=a.files)?void 0:l.length)&&(await ca(Array.from(a.files)),a.value="")}async function da(e){var l;Al.value=!1;const a=null==(l=e.dataTransfer)?void 0:l.files;if(!(null==a?void 0:a.length))return;const t=Array.from(a).filter(e=>{var l;return"mp3"===(null==(l=e.name.split(".").pop())?void 0:l.toLowerCase())});0!==t.length?await ca(t):ta(Vl("media.onlyMp3"),"error")}function ra(e){return new Promise(l=>setTimeout(l,e))}async function ca(e){const l=[...e].sort((e,l)=>e.name.localeCompare(l.name));Sl.value=!0,zl.value=0,Tl.value="",await k();const a=l.length;let t=0,i=0;for(let o=0;o<l.length;o++){const e=l[o];if(e.size/1024/1024>40)ta(`${e.name}: ${Vl("media.fileTooLarge")}`,"error"),i++,zl.value=Math.round(i/a*100),await k();else{Tl.value=`(${i+1}/${a}) ${e.name}`,zl.value=Math.round(i/a*100),await k();try{const l=await B(e);l.res?t++:ta(`${e.name}: ${l.info||Vl("media.uploadFailed")}`,"error")}catch{ta(`${e.name}: ${Vl("media.uploadFailed")}`,"error")}i++,zl.value=Math.round(i/a*100),await k(),o<l.length-1&&await ra(500)}}zl.value=100,Tl.value=Vl("media.uploadDone")||"完成",await k(),t>0&&(ta(Vl("media.uploadSuccess",{count:t})),await oa()),setTimeout(()=>{Sl.value=!1,Tl.value=""},800)}async function ua(e){if(confirm(Vl("media.deleteSingleConfirm")+` ${e.filename||e.name}?`))try{const l=await F({id:e.id});l.res?(ta(Vl("media.deleteSuccess")),Pl.value===e.id&&fa(),await oa()):ta(l.info||Vl("media.deleteFailed"),"error")}catch{ta(Vl("media.deleteFailed"),"error")}}async function va(){try{const e=[...Ll.value];let l=0;for(const a of e)try{(await F({id:a})).res&&l++}catch{}ta(Vl("media.batchDeleteSuccess",{count:l})),Pl.value&&e.includes(Pl.value)&&fa(),Ll.value=[],Nl.value=!1,ql.value=!1,await oa()}catch{ta(Vl("media.deleteFailed"),"error")}}function ha(){Ll.value=Nl.value?ia.value.map(e=>e.id):[]}function ma(e){const l=Ll.value.indexOf(e);l>-1?Ll.value.splice(l,1):Ll.value.push(e)}function pa(e){Pl.value!==e.id?(Rl.value=e,Pl.value=e.id):fa()}function fa(){Rl.value=null,Pl.value=null}function ya(){Pl.value=null}function wa(e){const l=Number(e)||0;if(l<=0)return"--:--";return`${Math.floor(l/60)}:${String(l%60).padStart(2,"0")}`}function ba(e){const l=Number(e)||0;return l<=0?"-":l<1024?l+"B":l<1048576?(l/1024).toFixed(1)+"KB":(l/1024/1024).toFixed(1)+"MB"}async function ka(){if(!Kl.value.trim()||Kl.value.trim().length<3)ta(Vl("media.ttsTextTooShort")||"Text too short","error");else{Ol.value=!0;try{const e=await V({text:Kl.value,fileName:El.value||void 0,voice:Xl.value,speed:Gl.value,vol:100});e.res?(ta(Vl("media.ttsSuccess")||"TTS file created"),Il.value=!1,Kl.value="",El.value="",await oa()):ta(e.info||Vl("media.ttsFailed")||"TTS failed","error")}catch{ta(Vl("media.ttsFailed")||"TTS failed","error")}finally{Ol.value=!1}}}async function ga(){if(Ql.value.trim())if(Yl.value.trim())if(Yl.value.startsWith("http")&&Yl.value.toLowerCase().endsWith(".mp3"))if(!Zl.value||Zl.value<1)ta(Vl("media.radioDurationRequired"),"error");else{ea.value=!0;try{const e=await U({name:Ql.value.trim(),url:Yl.value.trim(),len:Zl.value});e.res?(ta(Vl("media.radioAddSuccess")),Jl.value=!1,Ql.value="",Yl.value="",Zl.value=1800,await oa()):ta(e.msg||Vl("media.radioAddFailed"),"error")}catch{ta(Vl("media.radioAddFailed"),"error")}finally{ea.value=!1}}else ta(Vl("media.radioUrlInvalid"),"error");else ta(Vl("media.radioUrlRequired"),"error");else ta(Vl("media.radioNameRequired"),"error")}return l(()=>{oa()}),(e,l)=>(g(),a("div",z,[t("div",T,[t("h2",$,i(o(Vl)("media.title")),1),t("div",L,[t("div",N,[t("button",{class:n(["view-mode-btn",{active:"list"===Dl.value}]),onClick:l[0]||(l[0]=e=>Dl.value="list"),title:o(Vl)("devices.listView")},[...l[36]||(l[36]=[s('<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="18" height="18" data-v-ff8fe5a0><line x1="8" y1="6" x2="21" y2="6" data-v-ff8fe5a0></line><line x1="8" y1="12" x2="21" y2="12" data-v-ff8fe5a0></line><line x1="8" y1="18" x2="21" y2="18" data-v-ff8fe5a0></line><line x1="3" y1="6" x2="3.01" y2="6" data-v-ff8fe5a0></line><line x1="3" y1="12" x2="3.01" y2="12" data-v-ff8fe5a0></line><line x1="3" y1="18" x2="3.01" y2="18" data-v-ff8fe5a0></line></svg>',1)])],10,_),t("button",{class:n(["view-mode-btn",{active:"card"===Dl.value}]),onClick:l[1]||(l[1]=e=>Dl.value="card"),title:o(Vl)("devices.cardView")},[...l[37]||(l[37]=[s('<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" width="18" height="18" data-v-ff8fe5a0><rect x="3" y="3" width="7" height="7" data-v-ff8fe5a0></rect><rect x="14" y="3" width="7" height="7" data-v-ff8fe5a0></rect><rect x="3" y="14" width="7" height="7" data-v-ff8fe5a0></rect><rect x="14" y="14" width="7" height="7" data-v-ff8fe5a0></rect></svg>',1)])],10,D)]),t("button",{class:"refresh-btn",onClick:oa,disabled:Ul.value,title:o(Vl)("common.refresh")},[...l[38]||(l[38]=[t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"18",height:"18"},[t("polyline",{points:"23 4 23 10 17 10"}),t("polyline",{points:"1 20 1 14 7 14"}),t("path",{d:"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"})],-1)])],8,H),o(Fl).canUploadFile?(g(),a("button",{key:0,class:"add-btn",onClick:na},[l[39]||(l[39]=t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[t("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),t("polyline",{points:"17 8 12 3 7 8"}),t("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1)),d(" "+i(o(Vl)("media.upload")),1)])):r("",!0),o(Fl).canUploadFile?(g(),a("button",{key:1,class:"tts-btn",onClick:l[2]||(l[2]=e=>Il.value=!0)},[l[40]||(l[40]=s('<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" data-v-ff8fe5a0><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z" data-v-ff8fe5a0></path><path d="M19 10v2a7 7 0 0 1-14 0v-2" data-v-ff8fe5a0></path><line x1="12" y1="19" x2="12" y2="23" data-v-ff8fe5a0></line><line x1="8" y1="23" x2="16" y2="23" data-v-ff8fe5a0></line></svg>',1)),d(" "+i(o(Vl)("media.tts")),1)])):r("",!0),o(Fl).canUploadFile?(g(),a("button",{key:2,class:"radio-btn",onClick:l[3]||(l[3]=e=>Jl.value=!0)},[l[41]||(l[41]=t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[t("circle",{cx:"12",cy:"12",r:"2"}),t("path",{d:"M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.83a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14"})],-1)),d(" "+i(o(Vl)("media.radio")),1)])):r("",!0),o(Fl).canUploadFile?(g(),a("input",{key:3,id:"media-file-input",ref_key:"fileInputRef",ref:Wl,type:"file",accept:".mp3,.MP3",multiple:"",onChange:sa,class:"hidden-input"},null,544)):r("",!0)])]),o(Fl).canUploadFile?(g(),a("div",{key:0,class:n(["upload-drop-zone",{"drop-active":Al.value,uploading:Sl.value}]),onDragover:l[4]||(l[4]=c(e=>Al.value=!0,["prevent"])),onDragleave:l[5]||(l[5]=c(e=>Al.value=!1,["prevent"])),onDrop:c(da,["prevent"])},[Sl.value?(g(),a("div",R,[l[43]||(l[43]=t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"24",height:"24",class:"spin-icon"},[t("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"})],-1)),t("span",null,i(o(Vl)("media.uploading"))+" "+i(zl.value)+"% ("+i(Tl.value)+")",1),t("div",j,[t("div",{class:"upload-progress-fill",style:v({width:zl.value+"%"})},null,4)])])):(g(),a(u,{key:0},[l[42]||(l[42]=t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5",width:"32",height:"32"},[t("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),t("polyline",{points:"17 8 12 3 7 8"}),t("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1)),t("span",null,i(o(Vl)("media.dropHint")),1),t("span",A,i(o(Vl)("media.dropSub")),1),t("div",P,[t("button",{class:"drop-zone-btn",onClick:na},i(o(Vl)("media.selectFiles")),1)])],64))],34)):r("",!0),t("div",W,[t("div",q,[l[44]||(l[44]=t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"16",height:"16"},[t("circle",{cx:"11",cy:"11",r:"8"}),t("line",{x1:"21",y1:"21",x2:"16.65",y2:"16.65"})],-1)),h(t("input",{"onUpdate:modelValue":l[6]||(l[6]=e=>Hl.value=e),type:"text",class:"search-input form-input",placeholder:o(Vl)("common.search")+"..."},null,8,I),[[m,Hl.value]]),t("span",E,i(ia.value.length)+" / "+i($l.value.length),1)])]),Ll.value.length>0&&o(Fl).canUploadFile?(g(),a("div",X,[t("span",G,i(o(Vl)("media.selectedCount",{count:Ll.value.length})),1),t("div",K,[t("button",{onClick:l[7]||(l[7]=e=>ql.value=!0),class:"action-btn action-btn-danger"},[l[45]||(l[45]=t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[t("polyline",{points:"3 6 5 6 21 6"}),t("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})],-1)),d(" "+i(o(Vl)("media.batchDelete")),1)])])])):r("",!0),t("div",O,["list"===Dl.value?(g(),a("div",J,[t("table",Q,[t("thead",null,[t("tr",null,[t("th",Y,[h(t("input",{type:"checkbox","onUpdate:modelValue":l[8]||(l[8]=e=>Nl.value=e),onChange:ha},null,544),[[p,Nl.value]])]),t("th",Z,i(o(Vl)("common.index")),1),t("th",ee,i(o(Vl)("media.fileName")),1),t("th",le,i(o(Vl)("media.duration")),1),t("th",ae,i(o(Vl)("media.fileSize")),1),t("th",te,i(o(Vl)("common.actions")),1)])]),t("tbody",null,[0===ia.value.length?(g(),a("tr",ie,[t("td",oe,[t("div",ne,[t("p",null,i(o(Vl)("media.noFiles")),1)])])])):r("",!0),(g(!0),a(u,null,f(ia.value,(e,s)=>(g(),a("tr",{key:e.id,class:n({"row-selected":Ll.value.includes(e.id),"row-playing":Pl.value===e.id}),onClick:l=>ma(e.id)},[t("td",{class:"col-checkbox",onClick:l[10]||(l[10]=c(()=>{},["stop"]))},[h(t("input",{type:"checkbox","onUpdate:modelValue":l[9]||(l[9]=e=>Ll.value=e),value:e.id},null,8,de),[[p,Ll.value]])]),t("td",re,i(s+1),1),t("td",ce,[t("div",ue,[l[47]||(l[47]=t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"16",height:"16",class:"file-icon"},[t("path",{d:"M9 18V5l12-2v13"}),t("circle",{cx:"6",cy:"18",r:"3"}),t("circle",{cx:"18",cy:"16",r:"3"})],-1)),t("span",ve,i(e.filename||e.name||`文件${e.id}`),1),Pl.value===e.id?(g(),a("span",he,[l[46]||(l[46]=t("span",{class:"playing-dot"},null,-1)),d(i(o(Vl)("devices.playing")),1)])):r("",!0)])]),t("td",me,i(wa(e.len||e.duration)),1),t("td",pe,i(e.sizeStr||ba(e.filesize||e.size)),1),t("td",{class:"col-actions",onClick:l[11]||(l[11]=c(()=>{},["stop"]))},[t("div",fe,[t("button",{onClick:l=>pa(e),class:"row-action-btn",title:o(Vl)("media.play")},[Pl.value!==e.id?(g(),a("svg",we,[...l[48]||(l[48]=[t("polygon",{points:"5 3 19 12 5 21"},null,-1)])])):(g(),a("svg",be,[...l[49]||(l[49]=[t("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"},null,-1)])]))],8,ye),t("a",{href:e.url,download:e.filename||e.name,class:"row-action-btn",title:o(Vl)("media.download"),target:"_blank"},[...l[50]||(l[50]=[t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"14",height:"14"},[t("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),t("polyline",{points:"7 10 12 15 17 10"}),t("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)])],8,ke),o(Fl).canUploadFile?(g(),a("button",{key:0,onClick:l=>ua(e),class:"row-action-btn btn-danger",title:o(Vl)("common.delete")},[...l[51]||(l[51]=[t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"14",height:"14"},[t("polyline",{points:"3 6 5 6 21 6"}),t("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})],-1)])],8,ge)):r("",!0)])])],10,se))),128))])])])):r("",!0),"card"===Dl.value?(g(),a("div",xe,[0===ia.value.length?(g(),a("div",Ce,[t("p",null,i(o(Vl)("media.noFiles")),1)])):r("",!0),t("div",Me,[(g(!0),a(u,null,f(ia.value,e=>(g(),a("div",{key:e.id,class:n(["file-card",{"card-selected":Ll.value.includes(e.id),"card-playing":Pl.value===e.id}]),onClick:l=>ma(e.id)},[t("div",Fe,[l[56]||(l[56]=t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.5",width:"24",height:"24",class:"file-icon-large"},[t("path",{d:"M9 18V5l12-2v13"}),t("circle",{cx:"6",cy:"18",r:"3"}),t("circle",{cx:"18",cy:"16",r:"3"})],-1)),t("div",{class:"file-card-actions",onClick:l[12]||(l[12]=c(()=>{},["stop"]))},[t("button",{onClick:l=>pa(e),class:"row-action-btn",title:o(Vl)("media.play")},[Pl.value!==e.id?(g(),a("svg",Ue,[...l[52]||(l[52]=[t("polygon",{points:"5 3 19 12 5 21"},null,-1)])])):(g(),a("svg",Se,[...l[53]||(l[53]=[t("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"},null,-1)])]))],8,Ve),t("a",{href:e.url,download:e.filename||e.name,class:"row-action-btn",title:o(Vl)("media.download"),target:"_blank"},[...l[54]||(l[54]=[t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"14",height:"14"},[t("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),t("polyline",{points:"7 10 12 15 17 10"}),t("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)])],8,ze),o(Fl).canUploadFile?(g(),a("button",{key:0,onClick:l=>ua(e),class:"row-action-btn btn-danger",title:o(Vl)("common.delete")},[...l[55]||(l[55]=[t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"14",height:"14"},[t("polyline",{points:"3 6 5 6 21 6"}),t("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})],-1)])],8,Te)):r("",!0)])]),t("div",$e,i(e.filename||e.name||`文件${e.id}`),1),t("div",Le,[t("span",Ne,i(wa(e.len||e.duration)),1),t("span",_e,i(e.sizeStr||ba(e.filesize||e.size)),1)])],10,Be))),128))])])):r("",!0)]),Rl.value?(g(),a("div",De,[t("div",He,[l[57]||(l[57]=t("span",{class:"playing-dot"},null,-1)),t("span",Ae,i(Rl.value.filename||Rl.value.name),1)]),t("audio",{ref_key:"audioRef",ref:jl,src:Rl.value.url,controls:"",class:"player-controls",onEnded:ya},null,40,Pe),t("button",{class:"player-close",onClick:fa,title:o(Vl)("common.close")},[...l[58]||(l[58]=[t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"16",height:"16"},[t("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])],8,Re)])):r("",!0),ql.value?(g(),a("div",{key:3,class:"modal-overlay",onClick:l[16]||(l[16]=e=>ql.value=!1)},[t("div",{class:"modal-content",onClick:l[15]||(l[15]=c(()=>{},["stop"]))},[t("div",je,[t("h3",null,i(o(Vl)("common.deleteConfirm")),1),t("button",{class:"close-btn",onClick:l[13]||(l[13]=e=>ql.value=!1)},[...l[59]||(l[59]=[t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"20",height:"20"},[t("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])])]),t("div",We,[t("p",null,i(o(Vl)("media.selectedCount",{count:Ll.value.length})),1),t("p",null,i(o(Vl)("media.deleteConfirm")),1)]),t("div",qe,[t("button",{onClick:l[14]||(l[14]=e=>ql.value=!1),class:"btn btn-cancel"},i(o(Vl)("common.cancel")),1),t("button",{onClick:va,class:"btn btn-danger"},i(o(Vl)("common.confirm")),1)])])])):r("",!0),aa.value.show?(g(),a("div",{key:4,class:n(["message-toast",aa.value.type])},i(aa.value.text),3)):r("",!0),Il.value?(g(),a("div",{key:5,class:"modal-overlay",onClick:l[24]||(l[24]=e=>Il.value=!1)},[t("div",{class:"modal-content tts-modal",onClick:l[23]||(l[23]=c(()=>{},["stop"]))},[t("div",Ie,[t("h3",null,i(o(Vl)("media.tts")),1),t("button",{class:"close-btn",onClick:l[17]||(l[17]=e=>Il.value=!1)},[...l[60]||(l[60]=[t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"20",height:"20"},[t("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])])]),t("div",Ee,[t("div",Xe,[t("label",Ge,i(o(Vl)("media.ttsFileName")),1),h(t("input",{"onUpdate:modelValue":l[18]||(l[18]=e=>El.value=e),class:"form-input tts-input",placeholder:o(Vl)("media.ttsFileNamePlaceholder")},null,8,Ke),[[m,El.value]])]),t("div",Oe,[t("div",Je,[t("label",Qe,i(o(Vl)("media.ttsVoice")),1),h(t("select",{"onUpdate:modelValue":l[19]||(l[19]=e=>Xl.value=e),class:"form-input tts-select"},[(g(),a(u,null,f(la,e=>t("option",{key:e.value,value:e.value},i(e.label),9,Ye)),64))],512),[[y,Xl.value]])]),t("div",Ze,[t("label",el,i(o(Vl)("media.ttsSpeed")),1),h(t("select",{"onUpdate:modelValue":l[20]||(l[20]=e=>Gl.value=e),class:"form-input tts-select"},[t("option",ll,i(o(Vl)("media.ttsSpeedSlow")),1),t("option",al,i(o(Vl)("media.ttsSpeedMedium")),1),t("option",tl,i(o(Vl)("media.ttsSpeedFast")),1)],512),[[y,Gl.value]])])]),t("div",il,[t("label",ol,i(o(Vl)("media.ttsText")),1),h(t("textarea",{"onUpdate:modelValue":l[21]||(l[21]=e=>Kl.value=e),class:"form-input tts-textarea",placeholder:o(Vl)("media.ttsTextPlaceholder"),maxlength:"2000",rows:"10"},null,8,nl),[[m,Kl.value]]),t("span",sl,i(Kl.value.length)+" / 2000",1)])]),t("div",dl,[t("button",{onClick:l[22]||(l[22]=e=>Il.value=!1),class:"btn btn-cancel"},i(o(Vl)("common.cancel")),1),t("button",{onClick:ka,class:"btn btn-primary",disabled:Ol.value||!Kl.value.trim()},[Ol.value?(g(),a("svg",cl,[...l[61]||(l[61]=[t("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"},null,-1)])])):r("",!0),d(" "+i(o(Vl)("common.confirm")),1)],8,rl)])])])):r("",!0),Jl.value?(g(),a("div",{key:6,class:"modal-overlay",onClick:l[35]||(l[35]=e=>Jl.value=!1)},[t("div",{class:"modal-content radio-modal",onClick:l[34]||(l[34]=c(()=>{},["stop"]))},[t("div",ul,[t("h3",null,i(o(Vl)("media.addRadio")),1),t("button",{class:"close-btn",onClick:l[25]||(l[25]=e=>Jl.value=!1)},[...l[62]||(l[62]=[t("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"20",height:"20"},[t("path",{d:"M18 6L6 18M6 6l12 12"})],-1)])])]),t("div",vl,[t("div",hl,[t("label",ml,i(o(Vl)("media.radioName")),1),h(t("input",{"onUpdate:modelValue":l[26]||(l[26]=e=>Ql.value=e),class:"form-input radio-input",placeholder:o(Vl)("media.radioNamePlaceholder"),maxlength:"30"},null,8,pl),[[m,Ql.value]])]),t("div",fl,[t("label",yl,i(o(Vl)("media.radioUrl")),1),h(t("input",{"onUpdate:modelValue":l[27]||(l[27]=e=>Yl.value=e),class:"form-input radio-input",placeholder:"http://xxx.mp3"},null,512),[[m,Yl.value]])]),t("div",wl,[t("label",bl,i(o(Vl)("media.radioDuration")),1),t("div",kl,[t("button",{class:"preset-btn",onClick:l[28]||(l[28]=e=>Zl.value=600)},i(o(Vl)("media.radio10min")),1),t("button",{class:"preset-btn",onClick:l[29]||(l[29]=e=>Zl.value=1200)},i(o(Vl)("media.radio20min")),1),t("button",{class:"preset-btn",onClick:l[30]||(l[30]=e=>Zl.value=1800)},i(o(Vl)("media.radio30min")),1),t("button",{class:"preset-btn",onClick:l[31]||(l[31]=e=>Zl.value=3600)},i(o(Vl)("media.radio1hour")),1)]),h(t("input",{"onUpdate:modelValue":l[32]||(l[32]=e=>Zl.value=e),type:"number",class:"form-input radio-input",placeholder:o(Vl)("media.radioDurationPlaceholder")},null,8,gl),[[m,Zl.value,void 0,{number:!0}]])])]),t("div",xl,[t("button",{onClick:l[33]||(l[33]=e=>Jl.value=!1),class:"btn btn-cancel"},i(o(Vl)("common.cancel")),1),t("button",{onClick:ga,class:"btn btn-primary",disabled:ea.value},[ea.value?(g(),a("svg",Ml,[...l[63]||(l[63]=[t("path",{d:"M21 12a9 9 0 1 1-6.219-8.56"},null,-1)])])):r("",!0),d(" "+i(o(Vl)("common.add")),1)],8,Cl)])])])):r("",!0)]))}}),[["__scopeId","data-v-ff8fe5a0"]]);export{Bl as default};
@@ -0,0 +1 @@
1
+ import{f as l,o as a,n as e,y as s,A as t,u as o,B as n,W as i,F as u,z as c,E as r,R as d,N as v,S as p,r as m,t as g,H as b}from"./vue-vendor-BaBirIg_.js";import{u as y}from"./index-BuEwLgbU.js";import{ac as f}from"./api-C3Fyph-A.js";import{_ as h}from"./_plugin-vue_export-helper-BCo6x5W8.js";const w={class:"log-page"},k={class:"page-header"},x={class:"page-title"},C={class:"glass-section"},_={class:"toolbar-row"},z={class:"toolbar-left"},A=["value"],S={class:"toolbar-right"},F={key:0,class:"cache-size"},j={class:"glass-section log-table-section"},D={class:"table-scroll-wrap"},J={key:0,class:"data-table"},P={class:"td-time"},B={class:"td-num"},q=["title"],E={class:"td-action"},H=["onClick"],I={key:1,class:"empty-state"},K={key:0,class:"pagination-row"},L=["disabled"],N={class:"page-info"},O=["disabled"],Q={class:"modal-box audio-modal-box"},R={class:"modal-title"},U={class:"audio-player-wrap"},V={controls:"",autoplay:"",class:"audio-player"},W=["src"],G={class:"modal-actions"},M=h(l({__name:"index",setup(l){const{t:h}=y(),M=m([]),T=m(0),X=m([]),Y=m(0),Z=m(0),$=m(!0),ll=m(!0),al=m(0),el=m(0),sl=m(0),tl=m(!1),ol=m(0),nl=m({show:!1,url:"",filename:""});async function il(l){try{const a=new FormData;a.append("index",String(l)),a.append("selectid",String(T.value));const e=await f.post("/user/get_rizbyid.php",a);if(tl.value=!0,e.res&&Array.isArray(e.dataJson)){X.value=e.dataJson.map(l=>({time:l.time||"",infoname:l.infoname||"",len:l.len||"",filename:l.filename||"",url:l.url||void 0}));const a=e.outlableid||{};Y.value=a.index??0,Z.value=a.cou||0,al.value=a.findex??0,el.value=a.bindex??0,sl.value=a.userid||T.value,ol.value=e.nowsize||0,$.value=0===l||void 0===a.findex||a.findex===a.index,ll.value=(a.cou||0)<50}else X.value=[],$.value=!0,ll.value=!0}catch(a){console.error("查询日志失败:",a)}}function ul(){$.value||il(al.value)}function cl(){ll.value||il(el.value)}async function rl(l){try{const a=new FormData;a.append("days",String(l)),a.append("selectid",String(T.value)),await f.post("/user/cleanOldFilestmprtc.php",a),il(0)}catch(a){console.error("清除日志失败:",a)}}return a(()=>{!async function(){try{const l=new FormData,a=await f.post("/user/get_riziselect.php",l);a.res&&Array.isArray(a.dataJson)&&(M.value=a.dataJson.map(l=>({value:l.value,label:l.label})),M.value.length>0&&(T.value=M.value[0].value))}catch(l){console.error("获取用户列表失败:",l)}}()}),(l,a)=>(g(),e("div",w,[s("div",k,[s("h2",x,t(o(h)("menu.logs")),1)]),s("div",C,[s("div",_,[s("div",z,[n(s("select",{"onUpdate:modelValue":a[0]||(a[0]=l=>T.value=l),class:"form-input select-input"},[(g(!0),e(u,null,c(M.value,l=>(g(),e("option",{key:l.value,value:l.value},t(l.label),9,A))),128))],512),[[i,T.value]]),s("button",{class:"diablo-btn primary-btn",onClick:a[1]||(a[1]=l=>il(0))},t(o(h)("common.query")),1)]),s("div",S,[ol.value>0?(g(),e("span",F,t(o(h)("log.cacheSize"))+": "+t(ol.value)+"Kb",1)):r("",!0),s("button",{class:"toolbar-btn danger-btn",onClick:a[2]||(a[2]=l=>rl(30))},t(o(h)("log.clear30Days")),1),s("button",{class:"toolbar-btn danger-btn",onClick:a[3]||(a[3]=l=>rl(0))},t(o(h)("log.clearAll")),1)])])]),s("div",j,[s("div",D,[X.value.length>0?(g(),e("table",J,[s("thead",null,[s("tr",null,[s("th",null,t(o(h)("log.index")),1),s("th",null,t(o(h)("log.time")),1),s("th",null,t(o(h)("log.description")),1),s("th",null,t(o(h)("log.duration")),1),s("th",null,t(o(h)("log.filename")),1),s("th",null,t(o(h)("log.preview")),1)])]),s("tbody",null,[(g(!0),e(u,null,c(X.value,(l,n)=>(g(),e("tr",{key:n+"-"+l.time},[s("td",null,t(n+1),1),s("td",P,t(l.time),1),s("td",null,t(l.infoname),1),s("td",B,t(l.len),1),s("td",{class:"td-filename",title:l.filename},t(l.filename),9,q),s("td",E,[l.url?(g(),e("button",{key:0,class:"act-btn act-btn-play",onClick:a=>function(l){l.url&&(nl.value={show:!0,url:l.url,filename:l.filename})}(l)},[a[6]||(a[6]=s("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",width:"14",height:"14"},[s("polygon",{points:"5 3 19 12 5 21 5 3"})],-1)),b(" "+t(o(h)("log.play")),1)],8,H)):r("",!0)])]))),128))])])):(g(),e("div",I,t(tl.value?o(h)("log.noLogs"):o(h)("log.clickQuery")),1))]),tl.value?(g(),e("div",K,[s("button",{class:"page-btn",disabled:$.value,onClick:ul}," ← "+t(o(h)("log.prevPage")),9,L),s("span",N,t(o(h)("log.currentPage"))+" "+t(Y.value)+" · "+t(X.value.length)+" "+t(o(h)("log.records")),1),s("button",{class:"page-btn",disabled:ll.value,onClick:cl},t(o(h)("log.nextPage"))+" → ",9,O)])):r("",!0)]),(g(),d(p,{to:"body"},[nl.value.show?(g(),e("div",{key:0,class:"modal-overlay",onClick:a[5]||(a[5]=v(l=>nl.value.show=!1,["self"]))},[s("div",Q,[s("div",R,t(o(h)("log.preview"))+": "+t(nl.value.filename),1),s("div",U,[s("audio",V,[s("source",{src:nl.value.url,type:"audio/mpeg"},null,8,W)])]),s("div",G,[s("button",{class:"modal-btn",onClick:a[4]||(a[4]=l=>nl.value.show=!1)},t(o(h)("common.close")),1)])])])):r("",!0)]))]))}}),[["__scopeId","data-v-4f8703bd"]]);export{M as default};