|
|
@@ -11,11 +11,15 @@ Prend en paramètre une liste de ItemMenu et les met en forme
|
|
|
class="theme-secondary main-menu"
|
|
|
>
|
|
|
<div
|
|
|
- v-if="organizationProfile.isArtist && (accessProfile.isCaMember || accessProfile.isAdmin)"
|
|
|
+ v-if="(organizationProfile.isArtistProduct || organizationProfile.isTrialActive) && (accessProfile.isCaMember || accessProfile.isAdmin)"
|
|
|
class="btn_trial"
|
|
|
:class="{['btn_mini'] : isRail}"
|
|
|
@click="trialAction()"
|
|
|
- ><v-icon icon="fa fa-ticket" /> <span v-if="!isRail">{{btnLabel}}</span></div>
|
|
|
+ >
|
|
|
+ <v-icon icon="fa fa-ticket" />
|
|
|
+ <span v-if="organizationProfile.isTrialActive && !isRail"><strong>J-{{organizationProfile.trialCountDown}}</strong><br/></span>
|
|
|
+ <span v-if="!isRail">{{btnLabel}}</span>
|
|
|
+ </div>
|
|
|
|
|
|
<template #prepend>
|
|
|
<slot name="title"></slot>
|
|
|
@@ -120,6 +124,9 @@ const isRail = computed(() => {
|
|
|
})
|
|
|
|
|
|
const btnLabel = computed(() => {
|
|
|
+ if(organizationProfile.isTrialActive){
|
|
|
+ return i18n.t('trial_started')
|
|
|
+ }
|
|
|
return organizationProfile.principalType === 'ARTISTIC_PRACTICE_ONLY' ? i18n.t('try_premium') : i18n.t('discover_offer')
|
|
|
})
|
|
|
|
|
|
@@ -138,14 +145,18 @@ onUnmounted(() => {
|
|
|
* Lorsque l'on appuie sur le bouton pour démarrer l'essai / découvrir les offres
|
|
|
*/
|
|
|
const trialAction = async () => {
|
|
|
- if(organizationProfile.principalType === 'ARTISTIC_PRACTICE_ONLY'){
|
|
|
+ const v1BaseURL = runtimeConfig.baseUrlAdminLegacy || runtimeConfig.public.baseUrlAdminLegacy
|
|
|
+
|
|
|
+ if(organizationProfile.isTrialActive){
|
|
|
+ await navigateTo(UrlUtils.join(v1BaseURL, '#', 'trial/subscribe'), {
|
|
|
+ external: true
|
|
|
+ })
|
|
|
+ }else if(organizationProfile.principalType === 'ARTISTIC_PRACTICE_ONLY'){
|
|
|
try{
|
|
|
const apiV1BaseURL = runtimeConfig.baseUrlLegacy || runtimeConfig.public.baseUrlLegacy
|
|
|
await apiRequestService.get(
|
|
|
UrlUtils.join(apiV1BaseURL, '/api/trial/is_available')
|
|
|
)
|
|
|
-
|
|
|
- const v1BaseURL = runtimeConfig.baseUrlAdminLegacy || runtimeConfig.public.baseUrlAdminLegacy
|
|
|
await navigateTo(UrlUtils.join(v1BaseURL, '#', 'trial'), {
|
|
|
external: true
|
|
|
})
|
|
|
@@ -254,6 +265,7 @@ function getItems(menu: MenuGroup|MenuItem|null) : Array<MenuGroup | MenuItem>{
|
|
|
padding-left: 10px;
|
|
|
padding-right: 10px;
|
|
|
cursor: pointer;
|
|
|
+ white-space: pre-line;
|
|
|
.v-icon{
|
|
|
font-size: 15px;
|
|
|
color:#000;
|