blob: cea0c182f888e1cd51662ab49b18bf2857d78c8a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { action, computed, observable, runInAction } from "mobx";
import { observer } from "mobx-react";
import * as React from "react";
import { Doc } from "../../fields/Doc";
import { BoolCast, StrCast, Cast } from "../../fields/Types";
import { addStyleSheet, addStyleSheetRule, Utils } from "../../Utils";
import { MainViewModal } from "../views/MainViewModal";
import "./CaptureManager.scss";
import { undoBatch } from "./UndoManager";
const higflyout = require("@hig/flyout");
export const { anchorPoints } = higflyout;
export const Flyout = higflyout.default;
@observer
export class CaptureManager extends React.Component<{}> {
public static Instance: CaptureManager;
static _settingsStyle = addStyleSheet();
@observable _document: any;
@observable isOpen: boolean = false; // whether the CaptureManager is to be displayed or not.
constructor(props: {}) {
super(props);
CaptureManager.Instance = this;
}
public close = action(() => this.isOpen = false);
public open = action((doc: Doc) => {
this.isOpen = true;
this._document = doc;
});
@computed get visibilityContent() {
return <div className="capture-block">
<div className="capture-block-title">Visibility
<div className="visibility-radio">
<input type="radio" value="private" name="visibility" /> Private
<input type="radio" value="public" name="visibility" /> Public
</div>
</div>
</div>;
}
@computed get linksContent() {
return <div className="capture-block">
<div className="capture-block-title">Links</div>
</div>;
}
private get captureInterface() {
return <div className="capture-interface">
<div className="capture-t1">
<div className="recordButtonOutline" style={{}}>
<div className="recordButtonInner" style={{}}>
</div>
</div>
Conversation Capture
</div>
<div className="capture-t2">
</div>
{this.visibilityContent}
{this.linksContent}
<div className="close-button" onClick={this.close}>
<FontAwesomeIcon icon={"times"} color="black" size={"lg"} />
</div>
</div>;
}
render() {
return <MainViewModal
contents={this.captureInterface}
isDisplayed={this.isOpen}
interactive={true}
closeOnExternalClick={this.close}
dialogueBoxStyle={{ width: "500px", height: "300px", border: "none", background: Cast(Doc.SharingDoc().userColor, "string", null) }}
overlayStyle={{ background: "black" }}
overlayDisplayedOpacity={0.6}
/>
}
}
|