feat: Add frontend changes for Captain limits (#10749)
This PR introduces several improvements to the Captain AI dashboard section: - New billing page, with new colors, layout and meters for Captain usage - Updated the base paywall component to use new colors - Updated PageLayout.vue, it's more generic and can be used for other pages as well - Use flags to toggle empty state and loading state - Add prop for `featureFlag` to show the paywall slot based on feature enabled on account - Update `useAccount` to add a `isCloudFeatureEnabled` - **Removed feature flag checks from captain route definitions**, so the captain entry will always be visible on the sidebar - Add banner to Captain pages for the following cases - Responses usage is over 80% - Documents limit is fully exhausted ### Screenshots <details><summary>Free plan</summary> <p>   </p> </details> <details><summary>Paid plan</summary> <p>   </p> </details> --------- Co-authored-by: Sojan Jose <sojan@pepalo.com> Co-authored-by: Pranav <pranav@chatwoot.com> Co-authored-by: Muhsin Keloth <muhsinkeramam@gmail.com>
This commit is contained in:
co-authored by
Sojan Jose
Pranav
Muhsin Keloth
parent
b429ce0ad5
commit
ef7bf66476
@@ -13,10 +13,14 @@ export function useAccount() {
|
||||
*/
|
||||
const route = useRoute();
|
||||
const getAccountFn = useMapGetter('accounts/getAccount');
|
||||
const isOnChatwootCloud = useMapGetter('globalConfig/isOnChatwootCloud');
|
||||
const isFeatureEnabledonAccount = useMapGetter(
|
||||
'accounts/isFeatureEnabledonAccount'
|
||||
);
|
||||
|
||||
const accountId = computed(() => {
|
||||
return Number(route.params.accountId);
|
||||
});
|
||||
|
||||
const currentAccount = computed(() => getAccountFn.value(accountId.value));
|
||||
|
||||
/**
|
||||
@@ -28,6 +32,10 @@ export function useAccount() {
|
||||
return `/app/accounts/${accountId.value}/${url}`;
|
||||
};
|
||||
|
||||
const isCloudFeatureEnabled = feature => {
|
||||
return isFeatureEnabledonAccount.value(currentAccount.value.id, feature);
|
||||
};
|
||||
|
||||
const accountScopedRoute = (name, params, query) => {
|
||||
return {
|
||||
name,
|
||||
@@ -42,5 +50,7 @@ export function useAccount() {
|
||||
currentAccount,
|
||||
accountScopedUrl,
|
||||
accountScopedRoute,
|
||||
isCloudFeatureEnabled,
|
||||
isOnChatwootCloud,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user