0.1.38 • Published 1 year ago

@verida/vue-account v0.1.38

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

verida user account component

Open Source Vue Components for Verida

  • This component can be customized to suit your application styles and themes .

NB: This supports vue 3 only

Usage

yarn add  @verida/vue-account3

The @verida/vue-account component library registration enables the vda-account and vda-login` component to be accessed across your application and share some global state.

main.js

import { createApp } from 'vue';
import App from './App.vue';
import Account from '@verida/vue-account';


const app = createApp(App);

app.use(Account);

app.mount('#app');
  • NOTE : You can retrieve the user application context from the parameter of the onSuccess function passed as a prop .

This works for both the vda-login and vda-account

Using the vda-login component

This component is used to handle SSO (Single Sign on) login it leverages our @verida/client-ts and @verida/account-web-vault packages under the hood.

<template>
  <div id="app">
    <vda-login
      @onError="onError"
      @onSuccess="onSuccess"
      @onLogout="onLogout"
      :contextName="contextName"
      :openUrl="openUrl"
      :logo="logo"
      :loginText: 'LOGIN_TEXT',
    />
  </div>
</template>

<script lang="ts">
import { defineComponent } from "vue";

export default defineComponent({
  name: "Login",
  data() {
    return {
      contextName: "Verida: Account Component",
      logo: "https://assets.verida.io/verida_login_request_logo_170x170.png",
      openUrl: "http://172.20.10.3:8081/",
    };
  },
  methods: {
    onSuccess(response: any) {
      console.log(response)
      
    },
    onError(error: Error) {
      console.log("Login Error", error);
    },
  },
});
</script>

Using the vda-account component

This component is used to display a logged-in user profile details such as name , didand avatar this happens after the vda-login component has been used for performing and SSO (Single Sign on) Login.

  • You can add a custom button in your application and call the veridaConnect() in the window object

  • You can listen for an event connected after a successful SSO Login , see example code below

  • Example code :

<template>
  <div id="app">
    <vda-account 
      :logo="logo"
      :contextName="contextName"
      :openUrl="openUrl"
      @onLogout="onLogout" 
      @onError="onError"
      @onSuccess="onSuccess"
    />
    <button @click="handleConnectButtonClick">Connect</button>
  </div>
</template>

<script lang="ts">
import { defineComponent } from "vue";

export default defineComponent({
  name: "Login",
  data() {
    return {
      contextName: "Verida: Account Component",
      logo: "https://assets.verida.io/verida_login_request_logo_170x170.png",
      openUrl: "http://172.20.10.3:8081/",
    };
  },
  async created() {
    this.$VeridaHelper.on("connected", (context) => {
        console.log("App context", context);
    });
  },
  methods: {
    async handleConnectButtonClick() {
      if (window.veridaConnect) {
        await window.veridaConnect();
      }
    },
    onLogout() {
      console.log("hello");
    },
    onSuccess(response: any) {
      // The response is the application context of the connected user..
      console.log(response)
    },
    onError(error) {
      console.log("Login Error", error);
    },
  },
});
</script>

Props

  1. vda-account
PropsTypeRequiredDescription
stylesstringfalse
loaderIconColorstringfalsea Hexa-decimal color e.g (#0000)
logostringfalse170x170 png file
contextNamestringtrueapplication name e.g Verida : My APP
onLogoutfunctiontruea callback function to perform logout action
navItemsarray of objecttruean array of object that has list of additional navItems that can be added to the original navItems
  • navitems interface
      {
          title:string;
          img: string;
          link: string;
        }
  1. vda-login
PropsTypeRequiredDescription
onErrorfunctiontruea callback function that log errors
logostringfalse170x170 png file
contextNamestringtrueapplication name e.g Verida : My APP
loginTextstringfalseLogin Screen Text
0.1.38

1 year ago

0.1.37

2 years ago

0.1.34

2 years ago

0.1.35

2 years ago

0.1.30

2 years ago

0.1.31

2 years ago

0.1.32

2 years ago

0.1.33

2 years ago

0.1.27

2 years ago

0.1.28

2 years ago

0.1.29

2 years ago

0.1.26

2 years ago

0.1.22

2 years ago

0.1.20

2 years ago

0.1.21

2 years ago

0.1.15

2 years ago

0.1.16

2 years ago

0.1.17

2 years ago

0.1.18

2 years ago

0.1.19

2 years ago

0.1.14

2 years ago

0.1.11

2 years ago

0.1.10

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago