more TODOs, IP basis section
parent
0b3cfdce32
commit
2f567af80b
|
@ -36,13 +36,15 @@ import (
|
||||||
|
|
||||||
/*
|
/*
|
||||||
TODO
|
TODO
|
||||||
return rate limit information in account stats
|
persist user stats in user table
|
||||||
expire tokens
|
expire tokens
|
||||||
auto-refresh tokens from UI
|
auto-refresh tokens from UI
|
||||||
reserve topics
|
reserve topics
|
||||||
rate limit for signup (2 per 24h)
|
rate limit for signup (2 per 24h)
|
||||||
handle invalid session token
|
handle invalid session token
|
||||||
update disallowed topics
|
update disallowed topics
|
||||||
|
purge accounts that were not logged into in X
|
||||||
|
sync subscription display name
|
||||||
Pages:
|
Pages:
|
||||||
- Home
|
- Home
|
||||||
- Password reset
|
- Password reset
|
||||||
|
|
|
@ -88,7 +88,7 @@ const Stats = () => {
|
||||||
</div>
|
</div>
|
||||||
<LinearProgress variant="determinate" value={account.limits.emails > 0 ? normalize(account.stats.emails, account.limits.emails) : 100} />
|
<LinearProgress variant="determinate" value={account.limits.emails > 0 ? normalize(account.stats.emails, account.limits.emails) : 100} />
|
||||||
</Pref>
|
</Pref>
|
||||||
<Pref labelId={"attachments"} title={t("Attachment storage")}>
|
<Pref labelId={"attachments"} title={t("Attachment storage")} subtitle={t("5 MB per file")}>
|
||||||
<div>
|
<div>
|
||||||
<Typography variant="body2" sx={{float: "left"}}>{formatBytes(account.stats.attachment_total_size)}</Typography>
|
<Typography variant="body2" sx={{float: "left"}}>{formatBytes(account.stats.attachment_total_size)}</Typography>
|
||||||
<Typography variant="body2" sx={{float: "right"}}>{account.limits.attachment_total_size > 0 ? t("of {{limit}}", { limit: formatBytes(account.limits.attachment_total_size) }) : t("Unlimited")}</Typography>
|
<Typography variant="body2" sx={{float: "right"}}>{account.limits.attachment_total_size > 0 ? t("of {{limit}}", { limit: formatBytes(account.limits.attachment_total_size) }) : t("Unlimited")}</Typography>
|
||||||
|
@ -96,6 +96,10 @@ const Stats = () => {
|
||||||
<LinearProgress variant="determinate" value={account.limits.attachment_total_size > 0 ? normalize(account.stats.attachment_total_size, account.limits.attachment_total_size) : 100} />
|
<LinearProgress variant="determinate" value={account.limits.attachment_total_size > 0 ? normalize(account.stats.attachment_total_size, account.limits.attachment_total_size) : 100} />
|
||||||
</Pref>
|
</Pref>
|
||||||
</PrefGroup>
|
</PrefGroup>
|
||||||
|
{account.limits.basis === "ip" && <Typography variant="body1">
|
||||||
|
<em>Usage stats and limits for this account are based on your IP address, so they may be shared
|
||||||
|
with other users.</em>
|
||||||
|
</Typography>}
|
||||||
</Card>
|
</Card>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -320,7 +324,7 @@ const Pref = (props) => {
|
||||||
paddingRight: '30px'
|
paddingRight: '30px'
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div><b>{props.title}</b></div>
|
<div><b>{props.title}</b>{props.subtitle && <em> ({props.subtitle})</em>}</div>
|
||||||
{props.description && <div><em>{props.description}</em></div>}
|
{props.description && <div><em>{props.description}</em></div>}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
|
Loading…
Reference in New Issue