fix(fe): refactor fe to support visitor accessing
This commit is contained in:
parent
2ccdf0e287
commit
9501bed740
3 changed files with 38 additions and 65 deletions
|
@ -2,7 +2,7 @@ import * as React from "react";
|
|||
import { Set, Map } from "immutable";
|
||||
|
||||
import { updater } from "./state_updater";
|
||||
import { roleAdmin, roleVisitor } from "../client";
|
||||
import { roleAdmin, roleUser, roleVisitor } from "../client";
|
||||
import { ICoreState, MsgProps } from "./core_state";
|
||||
import { PaneSettings } from "./pane_settings";
|
||||
import { AdminPane, AdminProps } from "./pane_admin";
|
||||
|
@ -35,40 +35,43 @@ export class Panes extends React.Component<Props, State, {}> {
|
|||
|
||||
render() {
|
||||
let displaying = this.props.panes.displaying;
|
||||
// if (!this.props.login.authed) {
|
||||
// TODO: use constant instead
|
||||
// TODO: control this with props
|
||||
// displaying = "login";
|
||||
// }
|
||||
|
||||
let panesMap: Map<string, JSX.Element> = Map({});
|
||||
if (this.props.login.userRole !== roleVisitor) {
|
||||
panesMap = panesMap.set(
|
||||
"settings",
|
||||
const settingsPane = (
|
||||
<PaneSettings
|
||||
login={this.props.login}
|
||||
msg={this.props.msg}
|
||||
update={this.props.update}
|
||||
/>
|
||||
);
|
||||
panesMap = panesMap.set(
|
||||
"login",
|
||||
const loginPane = (
|
||||
<AuthPane
|
||||
login={this.props.login}
|
||||
update={this.props.update}
|
||||
msg={this.props.msg}
|
||||
/>
|
||||
);
|
||||
}
|
||||
if (this.props.login.userRole === roleAdmin) {
|
||||
panesMap = panesMap.set(
|
||||
"admin",
|
||||
const adminPane = (
|
||||
<AdminPane
|
||||
admin={this.props.admin}
|
||||
msg={this.props.msg}
|
||||
update={this.props.update}
|
||||
/>
|
||||
);
|
||||
|
||||
switch(this.props.login.userRole) {
|
||||
case roleAdmin:
|
||||
panesMap = panesMap.set("settings", settingsPane);
|
||||
panesMap = panesMap.set("admin", adminPane);
|
||||
panesMap = panesMap.set("login", loginPane);
|
||||
break;
|
||||
case roleUser:
|
||||
panesMap = panesMap.set("settings", settingsPane);
|
||||
panesMap = panesMap.set("login", loginPane);
|
||||
break;
|
||||
default:
|
||||
panesMap = panesMap.set("login", loginPane);
|
||||
break;
|
||||
}
|
||||
|
||||
const panes = panesMap.keySeq().map((paneName: string): JSX.Element => {
|
||||
|
|
|
@ -65,7 +65,6 @@ export class TopBar extends React.Component<Props, State, {}> {
|
|||
className="h5"
|
||||
>
|
||||
Quickshare
|
||||
{/* <RiGithubFill size="2rem" className="grey4-font margin-r-m" /> */}
|
||||
</a>,
|
||||
|
||||
<Flexbox
|
||||
|
@ -98,35 +97,6 @@ export class TopBar extends React.Component<Props, State, {}> {
|
|||
{ justifyContent: "flex-end", alignItems: "center" },
|
||||
])}
|
||||
/>
|
||||
{/* <div className="flex-2col-parent">
|
||||
<a
|
||||
href="https://github.com/ihexxa/quickshare"
|
||||
className="flex-13col h5"
|
||||
>
|
||||
Quickshare
|
||||
</a>
|
||||
<span className="flex-23col text-right">
|
||||
<span className="grey3-font font-s">
|
||||
{this.props.login.userName}
|
||||
</span>
|
||||
-
|
||||
<span className="grey0-font font-s margin-r-m">
|
||||
{this.props.login.userRole}
|
||||
</span>
|
||||
<button
|
||||
onClick={this.showSettings}
|
||||
className="grey3-bg grey4-font margin-r-m"
|
||||
>
|
||||
{this.props.msg.pkg.get("settings")}
|
||||
</button>
|
||||
{adminBtn}
|
||||
|
||||
<RiGithubFill
|
||||
size="2rem"
|
||||
className="grey4-font margin-r-m"
|
||||
/>
|
||||
</span>
|
||||
</div> */}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
@ -25,8 +25,8 @@ const (
|
|||
defaultSpaceLimit = 1024 * 1024 * 1024 // 1GB
|
||||
defaultUploadSpeedLimit = 50 * 1024 * 1024 // 50MB
|
||||
defaultDownloadSpeedLimit = 50 * 1024 * 1024 // 50MB
|
||||
visitorUploadSpeedLimit = 10 * 1024 * 1024 // 50MB
|
||||
visitorDownloadSpeedLimit = 10 * 1024 * 1024 // 50MB
|
||||
visitorUploadSpeedLimit = 10 * 1024 * 1024 // 10MB
|
||||
visitorDownloadSpeedLimit = 10 * 1024 * 1024 // 10MB
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue