fix(branding): add SuperAdmin-only notice on upgrade gates (#278)
* fix(branding): add SuperAdmin-only notice on upgrade gates Some upgrade prompts (Kanban paywall, group creation form, group-disabled banner in conversation view) are rendered only to SuperAdmins and link to fazer.ai. Admins viewing those screens were worried that the fazer.ai link was also being shown to their agents, even though it is not. Add a discreet "Only system administrators can see this message" line under each SuperAdmin-only block to make the audience explicit. * fix(branding): inline SuperAdmin notice into Banner component The notice was being rendered as a standalone <p> below the conversation banner, which made it easy to miss. Add an optional noticeMessage prop to the Banner component and render it inside the banner with italic + reduced opacity styling, then pass it from the groups-disabled branch of the MessagesView banner.
This commit is contained in:
parent
8b663342c2
commit
b5757eea5d
@ -167,20 +167,25 @@ defineExpose({ resetForm });
|
|||||||
<div class="flex-1 divide-y divide-n-strong overflow-visible">
|
<div class="flex-1 divide-y divide-n-strong overflow-visible">
|
||||||
<div
|
<div
|
||||||
v-if="isGroupsDisabled"
|
v-if="isGroupsDisabled"
|
||||||
class="flex items-center gap-2 mx-4 mt-3 px-3 py-2 rounded-lg text-sm text-n-amber-11 bg-n-amber-2"
|
class="flex items-start gap-2 mx-4 mt-3 px-3 py-2 rounded-lg text-sm text-n-amber-11 bg-n-amber-2"
|
||||||
>
|
>
|
||||||
<span class="i-lucide-triangle-alert text-base flex-shrink-0" />
|
<span class="i-lucide-triangle-alert text-base flex-shrink-0 mt-0.5" />
|
||||||
<span v-if="isSuperAdmin">
|
<div v-if="isSuperAdmin" class="flex flex-col gap-0.5">
|
||||||
{{ t('GROUP.CREATE.GROUPS_DISABLED') }}
|
<span>
|
||||||
<a
|
{{ t('GROUP.CREATE.GROUPS_DISABLED') }}
|
||||||
:href="wootConstants.FAZER_AI_GUIDES_URL"
|
<a
|
||||||
target="_blank"
|
:href="wootConstants.FAZER_AI_GUIDES_URL"
|
||||||
rel="noopener noreferrer"
|
target="_blank"
|
||||||
class="underline font-medium"
|
rel="noopener noreferrer"
|
||||||
>
|
class="underline font-medium"
|
||||||
{{ t('GROUP.CREATE.GROUPS_DISABLED_CTA') }}
|
>
|
||||||
</a>
|
{{ t('GROUP.CREATE.GROUPS_DISABLED_CTA') }}
|
||||||
</span>
|
</a>
|
||||||
|
</span>
|
||||||
|
<span class="text-xs opacity-70">
|
||||||
|
{{ t('GENERAL_SETTINGS.SUPER_ADMIN_ONLY_NOTICE') }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<span v-else>
|
<span v-else>
|
||||||
{{ t('GROUP.CREATE.GROUPS_DISABLED_NON_ADMIN') }}
|
{{ t('GROUP.CREATE.GROUPS_DISABLED_NON_ADMIN') }}
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@ -42,6 +42,10 @@ export default {
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
noticeMessage: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
emits: ['primaryAction', 'close'],
|
emits: ['primaryAction', 'close'],
|
||||||
computed: {
|
computed: {
|
||||||
@ -92,6 +96,9 @@ export default {
|
|||||||
>
|
>
|
||||||
{{ hrefLinkText }}
|
{{ hrefLinkText }}
|
||||||
</a>
|
</a>
|
||||||
|
<span v-if="noticeMessage" class="banner-notice">
|
||||||
|
{{ noticeMessage }}
|
||||||
|
</span>
|
||||||
</span>
|
</span>
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<NextButton
|
<NextButton
|
||||||
@ -155,6 +162,10 @@ export default {
|
|||||||
@apply inline;
|
@apply inline;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.banner-notice {
|
||||||
|
@apply ml-2 italic opacity-70;
|
||||||
|
}
|
||||||
|
|
||||||
.actions {
|
.actions {
|
||||||
@apply flex gap-1 right-3;
|
@apply flex gap-1 right-3;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -693,6 +693,7 @@ export default {
|
|||||||
color-scheme="warning"
|
color-scheme="warning"
|
||||||
class="mx-2 mt-2 overflow-hidden rounded-lg"
|
class="mx-2 mt-2 overflow-hidden rounded-lg"
|
||||||
:banner-message="$t('CONVERSATION.GROUPS_DISABLED_BANNER')"
|
:banner-message="$t('CONVERSATION.GROUPS_DISABLED_BANNER')"
|
||||||
|
:notice-message="$t('GENERAL_SETTINGS.SUPER_ADMIN_ONLY_NOTICE')"
|
||||||
has-action-button
|
has-action-button
|
||||||
:action-button-label="$t('CONVERSATION.GROUPS_DISABLED_CTA')"
|
:action-button-label="$t('CONVERSATION.GROUPS_DISABLED_CTA')"
|
||||||
@primary-action="onOpenGroupsEnabledLink"
|
@primary-action="onOpenGroupsEnabledLink"
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
"SUBMIT": "Update settings",
|
"SUBMIT": "Update settings",
|
||||||
"BACK": "Back",
|
"BACK": "Back",
|
||||||
"DISMISS": "Dismiss",
|
"DISMISS": "Dismiss",
|
||||||
|
"SUPER_ADMIN_ONLY_NOTICE": "Only system administrators can see this message.",
|
||||||
"UPDATE": {
|
"UPDATE": {
|
||||||
"ERROR": "Could not update settings, try again!",
|
"ERROR": "Could not update settings, try again!",
|
||||||
"SUCCESS": "Successfully updated account settings"
|
"SUCCESS": "Successfully updated account settings"
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
"SUBMIT": "Atualizar configurações",
|
"SUBMIT": "Atualizar configurações",
|
||||||
"BACK": "Anterior",
|
"BACK": "Anterior",
|
||||||
"DISMISS": "Recusar",
|
"DISMISS": "Recusar",
|
||||||
|
"SUPER_ADMIN_ONLY_NOTICE": "Esta mensagem só é visível para administradores do sistema.",
|
||||||
"UPDATE": {
|
"UPDATE": {
|
||||||
"ERROR": "Não foi possível atualizar as configurações, tente novamente!",
|
"ERROR": "Não foi possível atualizar as configurações, tente novamente!",
|
||||||
"SUCCESS": "Configurações de conta atualizadas com sucesso"
|
"SUCCESS": "Configurações de conta atualizadas com sucesso"
|
||||||
|
|||||||
@ -60,6 +60,9 @@ const upgradeUrl = 'https://fazer.ai/kanban';
|
|||||||
{{ t('KANBAN.PAYWALL.UPGRADE_NOW') }}
|
{{ t('KANBAN.PAYWALL.UPGRADE_NOW') }}
|
||||||
</Button>
|
</Button>
|
||||||
</a>
|
</a>
|
||||||
|
<p v-if="isSuperAdmin" class="mt-3 text-xs text-center text-n-slate-10">
|
||||||
|
{{ t('GENERAL_SETTINGS.SUPER_ADMIN_ONLY_NOTICE') }}
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user