<template>
  <q-page padding class="flex flex-center">
    <div style="max-width:520px;text-align:center">
      <q-icon name="cancel" color="warning" size="80px" />
      <div class="text-h5 text-weight-bold q-mt-lg">Paiement annule</div>
      <div class="text-body1 text-grey-7 q-mt-sm">
        Votre paiement n'a pas ete complete. Aucun montant n'a ete debite.
      </div>
      <div v-if="invoiceName" class="text-body2 text-grey-6 q-mt-sm">
        Facture: <strong>{{ invoiceName }}</strong>
      </div>

      <!-- Authenticated -->
      <div v-if="auth.authenticated" class="q-mt-xl q-gutter-sm">
        <q-btn v-if="invoiceName" color="primary" unelevated label="Reessayer" icon="refresh"
          @click="$router.push(`/invoices/${invoiceName}`)" />
        <q-btn outline color="primary" label="Mes factures" icon="list" @click="$router.push('/invoices')" />
        <q-btn flat color="grey-7" label="Accueil" icon="home" @click="$router.push('/')" />
      </div>

      <!-- Not authenticated -->
      <div v-else class="q-mt-xl">
        <q-banner rounded class="bg-blue-1 q-mb-md">
          <template #avatar><q-icon name="info" color="primary" /></template>
          <div class="text-body2">
            Connectez-vous pour reessayer le paiement ou voir vos factures.
          </div>
        </q-banner>
        <q-btn color="primary" unelevated label="Se connecter" icon="login" @click="goToLogin" />
      </div>
    </div>
  </q-page>
</template>

<script setup>
import { useRoute, useRouter } from 'vue-router'
import { useMagicToken } from 'src/composables/useMagicToken'

const route = useRoute()
const router = useRouter()
const auth = useMagicToken()
const invoiceName = route.query.invoice || ''

function goToLogin () {
  router.push({ name: 'login' })
}
</script>
