Skip to content

Commit 8b1137a

Browse files
committed
Create button in ground control enable/disable token counter
1 parent 9d4282d commit 8b1137a

File tree

2 files changed

+36
-8
lines changed

2 files changed

+36
-8
lines changed

src/pages/academy/groundControl/subcomponents/GroundControlDropzone.tsx

+31-7
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ const MaterialDropzone: React.FunctionComponent<DropzoneProps> = props => {
2222
const [file, setFile] = React.useState<File | undefined>(undefined);
2323
const [isWarningShown, setPromptShown] = React.useState<boolean>(false);
2424
const [forceUpdate, setForceUpdate] = React.useState<boolean>(false);
25+
const [hasTokenCounter, setHasTokenCounter] = React.useState<boolean>(false);
2526
const [assessmentConfigId, setAssessmentConfigId] = React.useState<number>(-1);
2627

2728
React.useEffect(() => {
@@ -83,21 +84,21 @@ const MaterialDropzone: React.FunctionComponent<DropzoneProps> = props => {
8384
);
8485
}, [isFocused, isDragActive, isDragAccept, isDragReject]);
8586

86-
const handleSwitchOnChange = React.useCallback(() => {
87+
const handleForceUpdateSwitchOnChange = React.useCallback(() => {
8788
if (!forceUpdate) {
8889
setPromptShown(true);
8990
} else {
9091
setForceUpdate(false);
9192
}
9293
}, [forceUpdate, setPromptShown, setForceUpdate]);
9394

94-
const toggleButton = React.useMemo(
95+
const forceUpdateToggleButton = React.useMemo(
9596
() => (
9697
<div className="toggle-button-wrapper">
97-
<Switch checked={forceUpdate} onChange={handleSwitchOnChange} />
98+
<Switch checked={forceUpdate} onChange={handleForceUpdateSwitchOnChange} />
9899
</div>
99100
),
100-
[forceUpdate, handleSwitchOnChange]
101+
[forceUpdate, handleForceUpdateSwitchOnChange]
101102
);
102103

103104
const handleConfirmForceUpdate = React.useCallback(() => {
@@ -108,6 +109,23 @@ const MaterialDropzone: React.FunctionComponent<DropzoneProps> = props => {
108109
setPromptShown(false);
109110
}, [setPromptShown]);
110111

112+
const handleHasTokenCounterSwitchOnChange = React.useCallback(() => {
113+
if (!hasTokenCounter) {
114+
setHasTokenCounter(true);
115+
} else {
116+
setHasTokenCounter(false);
117+
}
118+
}, [hasTokenCounter, setHasTokenCounter]);
119+
120+
const tokenCounterToggleButton = React.useMemo(
121+
() => (
122+
<div className="toggle-button-wrapper">
123+
<Switch checked={hasTokenCounter} onChange={handleHasTokenCounterSwitchOnChange} />
124+
</div>
125+
),
126+
[hasTokenCounter, handleHasTokenCounterSwitchOnChange]
127+
);
128+
111129
const confirmationPrompt = React.useMemo(
112130
() => (
113131
<div className="dropzone-controls">
@@ -160,9 +178,15 @@ const MaterialDropzone: React.FunctionComponent<DropzoneProps> = props => {
160178
options={{ minimal: false }}
161179
/>
162180
</div>
163-
<div className="dropzone-controls">
164-
<p>Force update opened assessment</p>
165-
{toggleButton}
181+
<div className="toggle-buttons">
182+
<div className="dropzone-controls">
183+
<p>Force update opened assessment</p>
184+
{forceUpdateToggleButton}
185+
</div>
186+
<div className="dropzone-controls">
187+
<p>Enable token counter notification&nbsp;</p>
188+
{tokenCounterToggleButton}
189+
</div>
166190
</div>
167191
</>
168192
)}

src/styles/_groundcontrol.scss

+5-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
.dropzone-prompt {
3737
& > * {
38-
margin-top: 12px;
38+
margin-top: 5px;
3939
}
4040
}
4141

@@ -54,6 +54,10 @@
5454
}
5555
}
5656

57+
.toggle-buttons {
58+
margin-top: 15px;
59+
}
60+
5761
.date-cell-text {
5862
margin-right: 4px;
5963
}

0 commit comments

Comments
 (0)