Skip to content

Commit e2fa63a

Browse files
authored
Merge pull request #480 from STEM-C/charlietestin
Images Button
2 parents 01b240d + c2c887f commit e2fa63a

File tree

35 files changed

+1785
-2629
lines changed

35 files changed

+1785
-2629
lines changed

client/package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,19 @@
44
"private": true,
55
"dependencies": {
66
"@loadable/component": "^5.15.2",
7-
"@vitejs/plugin-react": "^3.1.0",
8-
"antd": "^4.23.6",
9-
"axios": "^1.3.2",
7+
"antd": "^4.24.8",
8+
"axios": "^1.3.4",
109
"cross-env": "^7.0.3",
1110
"emoji-picker-react": "^3.6.1",
1211
"http-server": "^0.12.3",
1312
"less": "^4.1.3",
1413
"react": "^18.2.0",
1514
"react-dom": "^18.2.0",
16-
"react-hooks-global-state": "^2.0.0",
15+
"react-hooks-global-state": "^2.1.0",
1716
"react-papaparse": "^3.17.1",
18-
"react-router-dom": "^6.4.2",
19-
"recharts": "^2.1.16",
20-
"vite": "^4.1.1",
17+
"react-router-dom": "^6.9.0",
18+
"recharts": "^2.5.0",
19+
"vite": "^4.2.0",
2120
"yarn": "^1.22.10"
2221
},
2322
"scripts": {
@@ -43,6 +42,7 @@
4342
},
4443
"devDependencies": {
4544
"@types/w3c-web-serial": "^1.0.3",
45+
"@vitejs/plugin-react-swc": "^3.2.0",
4646
"parse-full-name": "^1.2.6"
4747
}
4848
}

client/src/Utils/requests.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -455,7 +455,9 @@ export const updateLearningStandard = async (
455455
export const updateDayDetails = async (
456456
id,
457457
description,
458+
//template,
458459
TekS,
460+
images,
459461
link,
460462
scienceComponents,
461463
makingComponents,
@@ -466,7 +468,9 @@ export const updateDayDetails = async (
466468
path: `${server}/days/${id}`,
467469
data: {
468470
description,
471+
//template,
469472
TekS,
473+
images,
470474
link,
471475
scienceComponents,
472476
makingComponents,

client/src/assets/style.css

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,3 @@ h3, p {
7777
height: auto;
7878
}
7979

80-

client/src/components/DayPanels/BlocklyCanvasPanel/canvas/ContentCreatorCanvas.jsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import ConsoleModal from '../modals/ConsoleModal';
1313
import PlotterModal from '../modals/PlotterModal';
1414
import StudentToolboxMenu from '../modals/StudentToolboxMenu';
1515
import LoadWorkspaceModal from '../modals/LoadWorkspaceModal';
16+
import DisplayDiagramModal from '../modals/DisplayDiagramModal'
1617
import {
1718
connectToPort,
1819
handleCloseConnection,
@@ -409,7 +410,9 @@ export default function ContentCreatorCanvas({
409410
Upload to Arduino
410411
</div>
411412
)}
412-
413+
<DisplayDiagramModal
414+
image={day.images}
415+
/>
413416
<i
414417
onClick={() => handleConsole()}
415418
className='fas fa-terminal hvr-info'

client/src/components/DayPanels/BlocklyCanvasPanel/canvas/MentorCanvas.jsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import ConsoleModal from '../modals/ConsoleModal';
88
import PlotterModal from '../modals/PlotterModal';
99
import LoadWorkspaceModal from '../modals/LoadWorkspaceModal';
1010
import SaveAsModal from '../modals/SaveAsModal';
11+
import DisplayDiagramModal from '../modals/DisplayDiagramModal'
1112
import {
1213
connectToPort,
1314
handleCloseConnection,
@@ -332,7 +333,9 @@ export default function MentorCanvas({ day, isSandbox, setDay }) {
332333
Upload to Arduino
333334
</div>
334335
)}
335-
336+
<DisplayDiagramModal
337+
image={day.images}
338+
/>
336339
<i
337340
onClick={() => handleConsole()}
338341
className='fas fa-terminal hvr-info'

client/src/components/DayPanels/BlocklyCanvasPanel/canvas/StudentCanvas.jsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { getSaves } from '../../../../Utils/requests';
66
import CodeModal from '../modals/CodeModal';
77
import ConsoleModal from '../modals/ConsoleModal';
88
import PlotterModal from '../modals/PlotterModal';
9+
import DisplayDiagramModal from '../modals/DisplayDiagramModal'
910
import VersionHistoryModal from '../modals/VersionHistoryModal';
1011
import {
1112
connectToPort,
@@ -23,6 +24,7 @@ export default function StudentCanvas({ day }) {
2324
const [hoverUndo, setHoverUndo] = useState(false);
2425
const [hoverRedo, setHoverRedo] = useState(false);
2526
const [hoverCompile, setHoverCompile] = useState(false);
27+
const [hoverImage, setHoverImage] = useState(false);
2628
const [hoverConsole, setHoverConsole] = useState(false);
2729
const [showConsole, setShowConsole] = useState(false);
2830
const [showPlotter, setShowPlotter] = useState(false);
@@ -296,7 +298,6 @@ export default function StudentCanvas({ day }) {
296298
setShowPlotter(false);
297299
}
298300
};
299-
300301
const handleCompile = async () => {
301302
if (showConsole || showPlotter) {
302303
message.warning(
@@ -471,7 +472,9 @@ export default function StudentCanvas({ day }) {
471472
Upload to Arduino
472473
</div>
473474
)}
474-
475+
<DisplayDiagramModal
476+
image={day.images}
477+
/>
475478
<i
476479
onClick={() => handleConsole()}
477480
className='fas fa-terminal hvr-info'
@@ -508,7 +511,7 @@ export default function StudentCanvas({ day }) {
508511
plotData={plotData}
509512
setPlotData={setPlotData}
510513
plotId={plotId}
511-
/>
514+
/>
512515
</div>
513516

514517
{/* This xml is for the blocks' menu we will provide. Here are examples on how to include categories and subcategories */}
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
import { Modal, Button } from "antd"
2+
import React, { useState } from "react"
3+
4+
export default function DisplayDiagramModal(props) {
5+
const [visible, setVisible] = useState(false)
6+
const { image } = props
7+
const [hover, setHover] = useState(false)
8+
const showModal = () => {
9+
setVisible(true)
10+
}
11+
const onHover = () => {
12+
setHover(true)
13+
}
14+
const onLeave = () => {
15+
setHover(false)
16+
}
17+
const handleCancel = () => {
18+
setVisible(false)
19+
}
20+
21+
const handleOk = () => {
22+
setVisible(false)
23+
}
24+
25+
const links = new String(image)
26+
let items = links.split("\n").filter(item => item != "" || item != " ")
27+
let width = items.length * 700
28+
return (
29+
<div
30+
id="display-diagram-modal"
31+
onMouseEnter={onHover}
32+
onMouseLeave={onLeave}
33+
>
34+
{hover ? <div className="popup ModalCompile">Diagrams</div> : ""}
35+
<Button id="link">
36+
<svg
37+
width="25"
38+
height="20px"
39+
viewBox="0 -3.8 20 20"
40+
version="1.1"
41+
fill="none"
42+
onClick={showModal}
43+
xmlns="http://www.w3.org/2000/svg"
44+
>
45+
<defs></defs>
46+
<g
47+
id="image"
48+
stroke="none"
49+
stroke-width="1"
50+
fill="none"
51+
fill-rule="evenodd"
52+
>
53+
<g
54+
id="Dribbble-Light-Preview"
55+
transform="translate(-380.000000, -3881.000000)"
56+
fill="#000000"
57+
>
58+
<g id="image" transform="translate(56.000000, 160.000000)">
59+
<path
60+
d="M336,3725.5 C336,3724.948 336.448,3724.5 337,3724.5 C337.552,3724.5 338,3724.948 338,3725.5 C338,3726.052 337.552,3726.5 337,3726.5 C336.448,3726.5 336,3726.052 336,3725.5 L336,3725.5 Z M340,3733 L328,3733 L332.518,3726.812 L335.354,3730.625 L336.75,3728.75 L340,3733 Z M326,3735 L342,3735 L342,3723 L326,3723 L326,3735 Z M324,3737 L344,3737 L344,3721 L324,3721 L324,3737 Z"
61+
id="image_picture-[#972]"
62+
></path>
63+
</g>
64+
</g>
65+
</g>
66+
</svg>
67+
</Button>
68+
<Modal
69+
title={"Diagrams"}
70+
visible={visible}
71+
onCancel={handleCancel}
72+
width={width}
73+
footer={[
74+
<Button key="ok" type="primary" onClick={handleOk}>
75+
OK
76+
</Button>,
77+
]}
78+
>
79+
<div id="code-display-text">
80+
{items.map(src => (
81+
<img
82+
src={src}
83+
display="block"
84+
position="relative"
85+
alt=""
86+
width="auto"
87+
height="300"
88+
/>
89+
))}
90+
</div>
91+
</Modal>
92+
</div>
93+
)
94+
}

client/src/components/DayPanels/BlocklyCanvasPanel/modals/StudentToolboxMenu.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ export default function StudentToolboxMenu(props) {
155155
<img
156156
height='95%'
157157
width='95%'
158-
src={process.env.PUBLIC_URL + block.image_url}
158+
src={block.image_url}
159159
alt={block.name}
160160
/>
161161
);

client/src/components/DayPanels/DayPanels.less

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,7 @@ p {
305305
#link {
306306
background: none !important;
307307
border: none;
308+
box-shadow: none;
308309
padding: 0 !important;
309310
color: #colors[primary];
310311
text-align: center;

client/src/index.less

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,9 @@ code {
1515
font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
1616
monospace;
1717
}
18+
19+
.blocklyTreeRow {
20+
border-radius: 4px;
21+
text-align: center;
22+
line-height: initial!important;
23+
}

0 commit comments

Comments
 (0)