Browse Source

minor improvements to hello asso callback page

Olivier Massot 2 months ago
parent
commit
452fed6339
3 changed files with 34 additions and 10 deletions
  1. 3 1
      i18n/lang/fr/general.json
  2. 28 6
      pages/helloasso/callback.vue
  3. 3 3
      pages/helloasso/index.vue

+ 3 - 1
i18n/lang/fr/general.json

@@ -828,5 +828,7 @@
   "refresh_page": "Actualiser la page",
   "helloasso_presentation": "HelloAsso aide les associations à collecter des paiements en ligne et propose ses services gratuitement. Elle prend à sa charge tous les frais de transaction pour que vous puissiez bénéficier de la totalité des sommes versées par vos publics, sans frais. Les contributions volontaires laissées par ces derniers sont leur unique source de revenus.",
   "connect_to_helloasso": "Connecter à HelloAsso",
-  "your_helloasso_account_is_linked": "Votre compte HelloAsso a bien été lié."
+  "your_helloasso_account_is_linked": "Votre compte HelloAsso a bien été lié.",
+  "an_error_occured": "Une erreur s'est produite",
+  "please_contact_support": "Veuillez contacter le support technique pour plus d'informations."
 }

+ 28 - 6
pages/helloasso/callback.vue

@@ -1,9 +1,22 @@
+<!--
+Page cible du callback après authentification via la mire d'autorisation HelloAsso
+
+@see https://dev.helloasso.com/docs/mire-authorisation
+-->
 <template>
   <NuxtLayout name="blank">
     <v-app>
-      <div class="d-flex flex-column align-center justify-center fill-height">
+      <div
+        v-if="!error"
+        class="d-flex flex-column align-center justify-center fill-height theme-secondary"
+      >
         <v-progress-circular indeterminate size="64" />
-        <span class="mt-3">{{ $t('please_wait') }}</span>
+        <span class="mt-3"> {{ $t('please_wait') }}... </span>
+      </div>
+
+      <div v-else class="ma-4">
+        <div>{{ $t('an_error_occured')}}</div>
+        <div>{{ $t('please_contact_support')}}</div>
       </div>
     </v-app>
   </NuxtLayout>
@@ -44,9 +57,15 @@ const connectionRequest: ConnectionRequest = em.newInstance(
   },
 )
 
+const error: Ref<boolean> = ref(false)
+
 onMounted(async () => {
-  await em.persist(connectionRequest)
-  console.log('Connection request created')
+  try {
+    await em.persist(connectionRequest)
+  } catch (e) {
+    error.value = true
+    throw e
+  }
 
   // Send a event to the parent window to notify the connection request has been created (in case SSE is not available)
   window.opener?.postMessage(
@@ -57,7 +76,10 @@ onMounted(async () => {
   // Close the popup
   window.close()
 })
-
 </script>
 
-<style scoped lang="scss"></style>
+<style scoped lang="scss">
+.background {
+  background-color: var(--v-theme-secondary);
+}
+</style>

+ 3 - 3
pages/helloasso/index.vue

@@ -1,3 +1,6 @@
+<!--
+Administration de la connexion Opentalent / HelloAsso
+-->
 <template>
   <LayoutContainer>
     <v-card>
@@ -23,9 +26,6 @@
               <v-icon icon="fas fa-check" color="success" class="mr-3" />
               {{ $t('your_helloasso_account_is_linked') }}
             </v-row>
-            <v-row>
-              Token : {{ helloAssoProfile.token.slice(0, 30) }}...
-            </v-row>
           </div>
         </v-col>
       </v-row>