2025-09-09 09:32:09 -04:00
2025-09-09 09:32:09 -04:00
.
2025-09-18 10:18:32 -04:00
2025-09-14 18:51:27 -04:00
2025-09-09 09:32:09 -04:00
2025-09-09 09:32:09 -04:00
2025-09-14 18:51:27 -04:00

Nostr_Login_Lite

Floating Tab API

Configure persistent floating tab for login/logout:

await NOSTR_LOGIN_LITE.init({
  // Set the initial theme (default: 'default')
  theme: 'dark', // Choose from 'default' or 'dark'
  
  // Standard configuration options
  methods: {
    extension: true,
    local: true,
    readonly: true,
    connect: true,
    otp: true
  },
  
  // Floating tab configuration (now uses theme-aware text icons)
  floatingTab: {
    enabled: true,
    hPosition: 0.95,        // 0.0-1.0 or '95%' from left
    vPosition: 0.5,         // 0.0-1.0 or '50%' from top
    getUserInfo: true,      // Fetch user profile name from relays
    getUserRelay: [         // Relays for profile queries
      'wss://relay.damus.io',
      'wss://nos.lol'
    ],
    appearance: {
      style: 'pill',        // 'pill', 'square', 'circle', 'minimal'
      theme: 'auto',        // 'auto' follows main theme
      icon: '[LOGIN]',      // Now uses text-based icons like [LOGIN], [KEY], [NET]
      text: 'Login'
    },
    behavior: {
      hideWhenAuthenticated: false,
      showUserInfo: true,
      autoSlide: true
    },
    animation: {
      slideDirection: 'auto' // 'auto', 'left', 'right', 'up', 'down'
    }
  }
});

// After initialization, you can switch themes dynamically:
NOSTR_LOGIN_LITE.switchTheme('dark');
NOSTR_LOGIN_LITE.switchTheme('default');

// Or customize individual theme variables:
NOSTR_LOGIN_LITE.setThemeVariable('--nl-accent-color', '#00ff00');

Control methods:

NOSTR_LOGIN_LITE.showFloatingTab();
NOSTR_LOGIN_LITE.hideFloatingTab();
NOSTR_LOGIN_LITE.updateFloatingTab(options);
NOSTR_LOGIN_LITE.destroyFloatingTab();

Embedded Modal API

Embed login interface directly into page element:

// Initialize library first
await NOSTR_LOGIN_LITE.init({
  methods: {
    extension: true,
    local: true,
    readonly: true
  }
});

// Embed into container
const modal = NOSTR_LOGIN_LITE.embed('#login-container', {
  title: 'Login',
  showHeader: true,
  seamless: false  // true = no borders/shadows, blends into page
});

Container can be CSS selector or DOM element. Modal renders inline without backdrop overlay.

Description
No description provided
Readme MIT 1,021 KiB
Languages
JavaScript 98.4%
CSS 0.9%
Shell 0.7%