Svelte

Integrate DotPassport widgets with Svelte.

Installation

npm install @dotpassport/sdk

Basic Component

<!-- DotPassportWidget.svelte -->
<script lang="ts">
  import { onMount, onDestroy } from 'svelte';
  import { createWidget, type WidgetConfig } from '@dotpassport/sdk';

  export let address: string;
  export let type: WidgetConfig['type'] = 'reputation';
  export let theme: 'light' | 'dark' | 'auto' = 'light';

  let container: HTMLDivElement;
  let widget: ReturnType<typeof createWidget>;

  onMount(() => {
    widget = createWidget({
      apiKey: import.meta.env.VITE_DOTPASSPORT_API_KEY,
      address,
      type,
      theme
    });
    widget.mount(container);
  });

  onDestroy(() => {
    widget?.destroy();
  });

  // Reactive updates
  $: if (widget) {
    widget.update({ address, theme });
  }
</script>

<div bind:this={container}></div>

Usage


Reputation Widget Component

Usage


Badge Widget Component


Svelte Store Integration


Dashboard with Multiple Widgets


SvelteKit Integration


Theme Toggle with Svelte


Last updated