WIP calls, remove SMS
This commit is contained in:
parent
d4767caf30
commit
f99159ee5b
16 changed files with 132 additions and 301 deletions
|
@ -12,7 +12,6 @@ var config = {
|
|||
enable_signup: true,
|
||||
enable_payments: true,
|
||||
enable_reservations: true,
|
||||
enable_sms: true,
|
||||
enable_calls: true,
|
||||
billing_contact: "",
|
||||
disallowed_topics: ["docs", "static", "file", "app", "account", "settings", "signup", "login", "v1"]
|
||||
|
|
|
@ -127,9 +127,6 @@
|
|||
"publish_dialog_email_label": "Email",
|
||||
"publish_dialog_email_placeholder": "Address to forward the notification to, e.g. phil@example.com",
|
||||
"publish_dialog_email_reset": "Remove email forward",
|
||||
"publish_dialog_sms_label": "SMS",
|
||||
"publish_dialog_sms_placeholder": "Phone number to send SMS to, e.g. +12223334444",
|
||||
"publish_dialog_sms_reset": "Remove SMS message",
|
||||
"publish_dialog_call_label": "Phone call",
|
||||
"publish_dialog_call_placeholder": "Phone number to call with the message, e.g. +12223334444",
|
||||
"publish_dialog_call_reset": "Remove phone call",
|
||||
|
@ -144,7 +141,6 @@
|
|||
"publish_dialog_other_features": "Other features:",
|
||||
"publish_dialog_chip_click_label": "Click URL",
|
||||
"publish_dialog_chip_email_label": "Forward to email",
|
||||
"publish_dialog_chip_sms_label": "Send SMS",
|
||||
"publish_dialog_chip_call_label": "Phone call",
|
||||
"publish_dialog_chip_attach_url_label": "Attach file by URL",
|
||||
"publish_dialog_chip_attach_file_label": "Attach local file",
|
||||
|
@ -190,6 +186,8 @@
|
|||
"account_basics_password_dialog_confirm_password_label": "Confirm password",
|
||||
"account_basics_password_dialog_button_submit": "Change password",
|
||||
"account_basics_password_dialog_current_password_incorrect": "Password incorrect",
|
||||
"account_basics_phone_numbers_title": "Phone numbers",
|
||||
"account_basics_phone_numbers_description": "For phone call notifications",
|
||||
"account_usage_title": "Usage",
|
||||
"account_usage_of_limit": "of {{limit}}",
|
||||
"account_usage_unlimited": "Unlimited",
|
||||
|
@ -211,8 +209,6 @@
|
|||
"account_basics_tier_manage_billing_button": "Manage billing",
|
||||
"account_usage_messages_title": "Published messages",
|
||||
"account_usage_emails_title": "Emails sent",
|
||||
"account_usage_sms_title": "SMS sent",
|
||||
"account_usage_sms_none": "No SMS can be sent with this account",
|
||||
"account_usage_calls_title": "Phone calls made",
|
||||
"account_usage_calls_none": "No phone calls can be made with this account",
|
||||
"account_usage_reservations_title": "Reserved topics",
|
||||
|
@ -244,9 +240,6 @@
|
|||
"account_upgrade_dialog_tier_features_messages_other": "{{messages}} daily messages",
|
||||
"account_upgrade_dialog_tier_features_emails_one": "{{emails}} daily email",
|
||||
"account_upgrade_dialog_tier_features_emails_other": "{{emails}} daily emails",
|
||||
"account_upgrade_dialog_tier_features_sms_one": "{{sms}} daily SMS",
|
||||
"account_upgrade_dialog_tier_features_sms_other": "{{sms}} daily SMS",
|
||||
"account_upgrade_dialog_tier_features_no_sms": "No daily SMS",
|
||||
"account_upgrade_dialog_tier_features_calls_one": "{{calls}} daily phone calls",
|
||||
"account_upgrade_dialog_tier_features_calls_other": "{{calls}} daily phone calls",
|
||||
"account_upgrade_dialog_tier_features_no_calls": "No daily phone calls",
|
||||
|
|
|
@ -3,7 +3,7 @@ import {useContext, useState} from 'react';
|
|||
import {
|
||||
Alert,
|
||||
CardActions,
|
||||
CardContent,
|
||||
CardContent, Chip,
|
||||
FormControl,
|
||||
LinearProgress,
|
||||
Link,
|
||||
|
@ -52,6 +52,7 @@ import MenuItem from "@mui/material/MenuItem";
|
|||
import DialogContentText from "@mui/material/DialogContentText";
|
||||
import {IncorrectPasswordError, UnauthorizedError} from "../app/errors";
|
||||
import {ProChip} from "./SubscriptionPopup";
|
||||
import AddIcon from "@mui/icons-material/Add";
|
||||
|
||||
const Account = () => {
|
||||
if (!session.exists()) {
|
||||
|
@ -80,6 +81,7 @@ const Basics = () => {
|
|||
<PrefGroup>
|
||||
<Username/>
|
||||
<ChangePassword/>
|
||||
<PhoneNumbers/>
|
||||
<AccountType/>
|
||||
</PrefGroup>
|
||||
</Card>
|
||||
|
@ -320,6 +322,40 @@ const AccountType = () => {
|
|||
)
|
||||
};
|
||||
|
||||
const PhoneNumbers = () => {
|
||||
const { t } = useTranslation();
|
||||
const { account } = useContext(AccountContext);
|
||||
const labelId = "prefPhoneNumbers";
|
||||
|
||||
const handleAdd = () => {
|
||||
|
||||
};
|
||||
|
||||
const handleClick = () => {
|
||||
|
||||
};
|
||||
|
||||
const handleDelete = () => {
|
||||
|
||||
};
|
||||
|
||||
return (
|
||||
<Pref labelId={labelId} title={t("account_basics_phone_numbers_title")} description={t("account_basics_phone_numbers_description")}>
|
||||
<div aria-labelledby={labelId}>
|
||||
{account?.phone_numbers.map(p =>
|
||||
<Chip
|
||||
label={p.number}
|
||||
variant="outlined"
|
||||
onClick={() => navigator.clipboard.writeText(p.number)}
|
||||
onDelete={() => handleDelete(p.number)}
|
||||
/>
|
||||
)}
|
||||
<IconButton onClick={() => handleAdd()}><AddIcon/></IconButton>
|
||||
</div>
|
||||
</Pref>
|
||||
)
|
||||
};
|
||||
|
||||
const Stats = () => {
|
||||
const { t } = useTranslation();
|
||||
const { account } = useContext(AccountContext);
|
||||
|
@ -380,23 +416,6 @@ const Stats = () => {
|
|||
value={account.role === Role.USER ? normalize(account.stats.emails, account.limits.emails) : 100}
|
||||
/>
|
||||
</Pref>
|
||||
{(account.role === Role.ADMIN || account.limits.sms > 0) &&
|
||||
<Pref title={
|
||||
<>
|
||||
{t("account_usage_sms_title")}
|
||||
<Tooltip title={t("account_usage_limits_reset_daily")}><span><InfoIcon/></span></Tooltip>
|
||||
</>
|
||||
}>
|
||||
<div>
|
||||
<Typography variant="body2" sx={{float: "left"}}>{account.stats.sms.toLocaleString()}</Typography>
|
||||
<Typography variant="body2" sx={{float: "right"}}>{account.role === Role.USER ? t("account_usage_of_limit", { limit: account.limits.sms.toLocaleString() }) : t("account_usage_unlimited")}</Typography>
|
||||
</div>
|
||||
<LinearProgress
|
||||
variant="determinate"
|
||||
value={account.role === Role.USER && account.limits.sms > 0 ? normalize(account.stats.sms, account.limits.sms) : 100}
|
||||
/>
|
||||
</Pref>
|
||||
}
|
||||
{(account.role === Role.ADMIN || account.limits.calls > 0) &&
|
||||
<Pref title={
|
||||
<>
|
||||
|
@ -410,7 +429,7 @@ const Stats = () => {
|
|||
</div>
|
||||
<LinearProgress
|
||||
variant="determinate"
|
||||
value={account.role === Role.USER && account.limits.sms > 0 ? normalize(account.stats.calls, account.limits.calls) : 100}
|
||||
value={account.role === Role.USER && account.limits.calls > 0 ? normalize(account.stats.calls, account.limits.calls) : 100}
|
||||
/>
|
||||
</Pref>
|
||||
}
|
||||
|
@ -439,11 +458,6 @@ const Stats = () => {
|
|||
<em>{t("account_usage_reservations_none")}</em>
|
||||
</Pref>
|
||||
}
|
||||
{config.enable_sms && account.role === Role.USER && account.limits.sms === 0 &&
|
||||
<Pref title={<>{t("account_usage_sms_title")}{config.enable_payments && <ProChip/>}</>}>
|
||||
<em>{t("account_usage_sms_none")}</em>
|
||||
</Pref>
|
||||
}
|
||||
{config.enable_calls && account.role === Role.USER && account.limits.calls === 0 &&
|
||||
<Pref title={<>{t("account_usage_calls_title")}{config.enable_payments && <ProChip/>}</>}>
|
||||
<em>{t("account_usage_calls_none")}</em>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue