Packages
@lia-labs/sdk-vue
Copy page
Vue 3 composables for the Lia SDK. Lia's state as read-only refs, and buttons driven by refs or getters.
npm install @lia-labs/sdk @lia-labs/sdk-vueVue 3.3 or later. Everything from @lia-labs/sdk is re-exported. Each composable stops listening when its component (or effect scope) goes away.
#An app
<script setup lang="ts">
import { computed, ref, watch } from 'vue';
import { isLia, mockLia, pay, ready, useBackButton, useClosingConfirmation, useInit, useLanguage, useMainButton } from '@lia-labs/sdk-vue';
if (!isLia()) mockLia();
const lia = useInit();
const language = useLanguage();
const playing = ref(false);
watch(lia.status, (status) => status === 'ready' && ready());
useMainButton(() => !playing.value && { text: 'Buy extra lives', onClick: () => pay('extra-lives') });
useBackButton(computed(() => (playing.value ? () => (playing.value = false) : null)));
useClosingConfirmation(playing);
</script>
<template>
<h1 v-if="lia.status.value === 'ready'">Hello, @{{ lia.result.value?.player.name }} ({{ language }})</h1>
</template>#Composables
| Composable | Gives you |
|---|---|
useInit(options?) | { status, result, error } as refs. Calls init() once. |
useSignal(value) | Any SDK value as a read-only ref. |
usePlayer(), useMode(), useLanguage(), useRtl(), useColorScheme(), useThemeParams(), useViewport(), useSafeArea(), useContentSafeArea(), useIsFullscreen(), useStartParam(), useSoundOn(), useNotificationsAllowed() | Lia's state as read-only refs. |
useLiaEvent(event, handler) | Listens to one of Lia's events. |
useMainButton(options), useSecondaryButton(options) | Shows the button. options can be an object, a ref or a getter, and the button follows it; null or false hides it. |
useBackButton(onBack), useSettingsButton(onOpen) | Shows the header button. Pass a function, or a ref to one (null hides it). |
useClosingConfirmation(enabled?), useVerticalSwipesDisabled(disabled?) | enabled can be a boolean, a ref or a getter. |