// lib/device.js — Script clásico (NO módulo). Expone helpers en window:
//   getDeviceId() → id de dispositivo persistente (uno por perfil de navegador)
//   deviceLabel(collabName) → etiqueta amigable "Chrome · Mac · Nicole"
// Incluir con <script src="../lib/device.js"></script> ANTES de license.js / app.js.

(function () {
  async function getDeviceId() {
    const s = await chrome.storage.local.get('skoop_device_id').catch(() => ({}));
    if (s && s.skoop_device_id) return s.skoop_device_id;
    const id = (self.crypto && crypto.randomUUID)
      ? crypto.randomUUID()
      : 'dev-' + Math.random().toString(36).slice(2) + Date.now().toString(36);
    await chrome.storage.local.set({ skoop_device_id: id });
    return id;
  }

  function deviceLabel(collabName) {
    const ua = navigator.userAgent || '';
    const os = /Mac/.test(ua) ? 'Mac' : /Win/.test(ua) ? 'Windows' : /Linux/.test(ua) ? 'Linux' : 'PC';
    const browser = /Edg/.test(ua) ? 'Edge' : /Chrome/.test(ua) ? 'Chrome' : 'Navegador';
    return [browser, os, collabName].filter(Boolean).join(' · ');
  }

  window.getDeviceId = getDeviceId;
  window.deviceLabel = deviceLabel;
})();
