Browse Source

more TODOs, IP basis section

binwiederhier 3 years ago
parent
commit
2f567af80b
2 changed files with 9 additions and 3 deletions
  1. 3 1
      server/server.go
  2. 6 2
      web/src/components/Account.js

+ 3 - 1
server/server.go

@@ -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

+ 6 - 2
web/src/components/Account.js

@@ -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