TitleDialog: title dialog proto

This commit is contained in:
muerwre 2019-03-15 17:29:30 +07:00
parent 9d093699dd
commit ea08ab8a5e
5 changed files with 76 additions and 54 deletions

73
package-lock.json generated
View file

@ -1319,8 +1319,7 @@
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"optional": true
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"assign-symbols": {
"version": "1.0.0",
@ -2796,9 +2795,8 @@
},
"boom": {
"version": "2.10.1",
"resolved": "http://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"optional": true,
"requires": {
"hoek": "2.x.x"
}
@ -3438,7 +3436,6 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
"integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
"optional": true,
"requires": {
"delayed-stream": "~1.0.0"
}
@ -3730,7 +3727,7 @@
},
"cryptiles": {
"version": "2.0.5",
"resolved": "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"optional": true,
"requires": {
@ -4665,8 +4662,7 @@
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"optional": true
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"depd": {
"version": "1.1.2",
@ -5655,8 +5651,7 @@
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"optional": true
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-deep-equal": {
"version": "2.0.1",
@ -5989,8 +5984,7 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"aproba": {
"version": "1.2.0",
@ -6011,14 +6005,12 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@ -6033,20 +6025,17 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"core-util-is": {
"version": "1.0.2",
@ -6163,8 +6152,7 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"ini": {
"version": "1.3.5",
@ -6176,7 +6164,6 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
@ -6191,7 +6178,6 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
@ -6199,14 +6185,12 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"minipass": {
"version": "2.3.5",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "^5.1.2",
"yallist": "^3.0.0"
@ -6225,7 +6209,6 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
@ -6306,8 +6289,7 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"object-assign": {
"version": "4.1.1",
@ -6319,7 +6301,6 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"wrappy": "1"
}
@ -6405,8 +6386,7 @@
"safe-buffer": {
"version": "5.1.2",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"safer-buffer": {
"version": "2.1.2",
@ -6442,7 +6422,6 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
@ -6462,7 +6441,6 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
@ -6506,14 +6484,12 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true
"dev": true
},
"yallist": {
"version": "3.0.3",
"bundled": true,
"dev": true,
"optional": true
"dev": true
}
}
},
@ -6779,7 +6755,7 @@
},
"hawk": {
"version": "3.1.3",
"resolved": "http://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"optional": true,
"requires": {
@ -6825,9 +6801,8 @@
},
"hoek": {
"version": "2.16.3",
"resolved": "http://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"optional": true
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
},
"hoist-non-react-statics": {
"version": "2.5.5",
@ -7684,8 +7659,7 @@
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"optional": true
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
},
"jsesc": {
"version": "2.5.2",
@ -8039,7 +8013,7 @@
},
"tough-cookie": {
"version": "2.3.4",
"resolved": "http://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
"integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
"optional": true,
"requires": {
@ -11853,7 +11827,7 @@
},
"sntp": {
"version": "1.0.9",
"resolved": "http://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"optional": true,
"requires": {
@ -12750,8 +12724,7 @@
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"optional": true
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
},
"type-check": {
"version": "0.3.2",

View file

@ -0,0 +1,22 @@
import * as React from 'react';
import { bindActionCreators } from "redux";
import { connect } from 'react-redux';
interface ITitleDialogProps {
editing: boolean,
title?: string,
}
export const Component: React.FunctionComponent<ITitleDialogProps> = ({ editing, title }) => (
!editing && title &&
<div className="title-dialog">
<div className="title-dialog-pane title-dialog-name">
<h2>{title}</h2>
</div>
</div>
);
const mapStateToProps = ({ user: { editing, title } }) => ({ editing, title });
const mapDispatchToProps = dispatch => bindActionCreators({ }, dispatch);
export const TitleDialog = connect(mapStateToProps, mapDispatchToProps)(Component);

View file

@ -14,6 +14,7 @@ import { CLIENT } from '$config/frontend';
import { DIALOGS } from '$constants/dialogs';
import { IRootState } from "$redux/user/reducer";
import { Tooltip } from "$components/panels/Tooltip";
import { TitleDialog } from "$components/dialogs/TitleDialog";
interface Props extends IRootState {
userLogout: typeof userLogout,
@ -64,8 +65,6 @@ export class Component extends React.PureComponent<Props, State> {
setMenuOpened = () => this.setState({ menuOpened: !this.state.menuOpened });
openMapsDialog = () => {
// this.props.setDialog(DIALOGS.MAP_LIST);
// this.props.setDialogActive(this.props.dialog !== DIALOGS.MAP_LIST);
this.props.openMapDialog('mine');
};
@ -96,6 +95,7 @@ export class Component extends React.PureComponent<Props, State> {
return (
<div>
<TitleDialog />
<div className="panel active panel-user">
<div className="user-panel">
{

View file

@ -2,8 +2,6 @@
## BUGS
## FEATURES
todo refactor reducer to use is_ prefix for editing and etc (mb move them to status object)
todo tower sticker

View file

@ -615,3 +615,32 @@
width: 100%;
}
}
.title-dialog {
position: fixed;
left: 10px;
bottom: 68px;
width: 340px;
z-index: 2;
opacity: 0.5;
transition: opacity 500ms;
&:hover {
opacity: 1;
}
.title-dialog-pane {
padding: 10px;
background: #111111;
color: fade(white, 50%);
font-size: 13px;
h2 {
margin: 0;
padding: 0 5px 0 0;
font-weight: 400;
font-size: 1.6em;
color: white;
}
}
}