@feynmanzhang/open-party 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4327,6 +4327,19 @@ body::after{
4327
4327
  fastTimer = setInterval(fastRefresh, 3000);
4328
4328
  fullTimer = setInterval(fullRefresh, 5000);
4329
4329
 
4330
+ // Clipboard click delegation for .cmd elements
4331
+ document.addEventListener('click', function(e) {
4332
+ var cmd = e.target.closest('.cmd');
4333
+ if (!cmd) return;
4334
+ var text = cmd.getAttribute('data-clipboard');
4335
+ if (text) {
4336
+ navigator.clipboard.writeText(text).then(function() {
4337
+ var hint = cmd.querySelector('.copy-hint');
4338
+ if (hint) hint.textContent = 'Copied!';
4339
+ });
4340
+ }
4341
+ });
4342
+
4330
4343
  // Update uptime display every second
4331
4344
  setInterval(function() {
4332
4345
  if (overview && overview.server) {
@@ -4454,7 +4467,7 @@ body::after{
4454
4467
  html += '<div style="color:var(--muted);margin-bottom:6px">Install for ' + info.os + ':</div>';
4455
4468
  info.commands.forEach(function(cmd) {
4456
4469
  const display = info.needs_sudo ? 'sudo ' + cmd : cmd;
4457
- html += '<div class="cmd" onclick="navigator.clipboard.writeText('' + display.replace(/'/g, "\\'") + '').then(function(){this.querySelector('.copy-hint').textContent='Copied!'}.bind(this))">';
4470
+ html += '<div class="cmd" data-clipboard="' + display.replace(/"/g, '&quot;') + '">';
4458
4471
  html += '<code>' + display + '</code><span class="copy-hint">Click to copy</span></div>';
4459
4472
  });
4460
4473
  if (info.download_url) {