ExamplesVue/Nuxt

Vue / Nuxt Examples

Vue and Nuxt patterns for BrandQL logos, including dark mode and strict fallbacks.

Vue / Nuxt

Use a small component for clean reuse, or drop in the URL directly.

If you need strict behavior, set fallback=false and handle a 404.

<script setup lang="ts">
const props = defineProps<{
  domain: string
  size?: number
  variant?: 'default' | 'dark' | 'light' | 'transparent'
  format?: 'png' | 'jpg' | 'webp' | 'avif' | 'svg'
  fallback?: boolean
}>()

const size = props.size ?? 64
const variant = props.variant ?? 'default'
const fallback = props.fallback ?? true

const params = new URLSearchParams()
if (variant !== 'default') params.set('variant', variant)
if (props.format) params.set('format', props.format)
if (size) params.set('size', String(size))
if (!fallback) params.set('fallback', 'false')

const query = params.toString()
const src = `https://api.brandql.com/logo/${props.domain}${query ? `?${query}` : ''}`
</script>

<template>
  <img :src="src" :alt="domain" :width="size" :height="size" />
</template>
Was this page helpful?