// PocketBase auth bootstrap shared by pages
(function (global) {
  const pb = new PocketBase('https://pocketbase.ccllc.pro');

  function authHeaders() {
    if (pb.authStore.isValid && pb.authStore.token) {
      return { Authorization: `Bearer ${pb.authStore.token}` };
    }
    return {};
  }

  function getDisplayName() {
    const model = pb.authStore.model || {};
    return (
      model.display_name ||
      model.name ||
      model.email ||
      model.username ||
      'Unknown'
    );
  }

  function getEmail() {
    const model = pb.authStore.model || {};
    // Prefer email, but fall back to username if email missing
    return model.email || model.username || null;
  }

  async function ensureAuth() {
    if (pb.authStore.isValid) return true;
    const path = new URL(window.location.href).pathname;
    if (!path.endsWith('signin.html')) {
      window.location.href = 'signin.html';
    }
    return false;
  }

  global.Auth = { pb, authHeaders, ensureAuth, getDisplayName, getEmail };
})(window);
