feat(core): get cloud workspace usage limit from user quota (#5518)

This commit is contained in:
JimmFly 2024-01-16 07:57:23 +00:00
parent d6dd837bdb
commit baeb5cc732
No known key found for this signature in database
GPG Key ID: 14A6F56854E1BED7
3 changed files with 12 additions and 3 deletions

View File

@ -68,7 +68,11 @@ export const StorageProgress = ({
{upgradable ? (
<Tooltip
options={{ hidden: percent < 100 }}
content={t['com.affine.storage.maximum-tips']()}
content={
plan === 'Free'
? t['com.affine.storage.maximum-tips']()
: t['com.affine.storage.maximum-tips.pro']()
}
>
<span tabIndex={0}>
<Button

View File

@ -8,6 +8,7 @@ import {
import { Avatar } from '@affine/component/ui/avatar';
import { Button } from '@affine/component/ui/button';
import { useAsyncCallback } from '@affine/core/hooks/affine-async-hooks';
import { useUserQuota } from '@affine/core/hooks/use-quota';
import {
allBlobSizesQuery,
removeAvatarMutation,
@ -177,10 +178,13 @@ const StoragePanel = () => {
const [subscription] = useUserSubscription();
const plan = subscription?.plan ?? SubscriptionPlan.Free;
// TODO(@JimmFly): get limit from user usage query directly after #4720 is merged
const quota = useUserQuota();
const maxLimit = useMemo(() => {
if (quota) {
return quota.storageQuota;
}
return bytes.parse(plan === SubscriptionPlan.Free ? '10GB' : '100GB');
}, [plan]);
}, [plan, quota]);
const setSettingModalAtom = useSetAtom(openSettingModalAtom);
const onUpgrade = useCallback(() => {

View File

@ -912,6 +912,7 @@
"com.affine.storage.extend.hint": "The usage has reached its maximum capacity, AFFiNE Cloud is currently in early access phase and is not supported for upgrading, please be patient and wait for our pricing plan. ",
"com.affine.storage.extend.link": "To get more information click here.",
"com.affine.storage.maximum-tips": "You have reached the maximum capacity limit for your current account",
"com.affine.storage.maximum-tips.pro": "Pro users will have unlimited storage capacity during the alpha test period of the team version",
"com.affine.storage.plan": "Plan",
"com.affine.storage.title": "AFFiNE Cloud Storage",
"com.affine.storage.upgrade": "Upgrade",