diff options
| author | Sam Wilkins <samwilkins333@gmail.com> | 2019-10-14 13:38:31 -0400 |
|---|---|---|
| committer | Sam Wilkins <samwilkins333@gmail.com> | 2019-10-14 13:38:31 -0400 |
| commit | cc84f5620b3f3ef801e3b0696f817e4fb74f58fc (patch) | |
| tree | a743f02dd80daea6ea37040ec2371db7acd1b7b8 /src/client/views/MainViewNotifs.tsx | |
| parent | fb3d1a66100e9ecf573031cfcafeb983f4ad5d5b (diff) | |
| parent | 9d877a5d38a5574b6ab99c20d0c1718e0af964b5 (diff) | |
merged with master
Diffstat (limited to 'src/client/views/MainViewNotifs.tsx')
| -rw-r--r-- | src/client/views/MainViewNotifs.tsx | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/client/views/MainViewNotifs.tsx b/src/client/views/MainViewNotifs.tsx new file mode 100644 index 000000000..09fa1cb0c --- /dev/null +++ b/src/client/views/MainViewNotifs.tsx @@ -0,0 +1,32 @@ +import { action, computed, observable } from 'mobx'; +import { observer } from 'mobx-react'; +import "normalize.css"; +import * as React from 'react'; +import { Doc, DocListCast, Opt } from '../../new_fields/Doc'; +import { emptyFunction } from '../../Utils'; +import { SetupDrag } from '../util/DragManager'; +import "./MainViewNotifs.scss"; +import { CollectionDockingView } from './collections/CollectionDockingView'; + + +@observer +export class MainViewNotifs extends React.Component { + + @observable static NotifsCol: Opt<Doc>; + openNotifsCol = () => { + if (MainViewNotifs.NotifsCol) { + CollectionDockingView.AddRightSplit(MainViewNotifs.NotifsCol, undefined); + } + } + render() { + const length = MainViewNotifs.NotifsCol ? DocListCast(MainViewNotifs.NotifsCol.data).length : 0; + const notifsRef = React.createRef<HTMLDivElement>(); + const dragNotifs = action(() => MainViewNotifs.NotifsCol!); + return <div className="mainNotifs-container" ref={notifsRef}> + <button className="mainNotifs-badge" style={length > 0 ? { "display": "initial" } : { "display": "none" }} + onClick={this.openNotifsCol} onPointerDown={MainViewNotifs.NotifsCol ? SetupDrag(notifsRef, dragNotifs) : emptyFunction}> + {length} + </button> + </div>; + } +} |
