Skip to content

Commit 07e000a

Browse files
Page embed (#90)
* page embed started * lifeline values saved * commit' * commit * commit * making changes * styling being fixed * css for header added * changes * empty value bug fixed * logs removed * changes * remove header bug * changes * color * stacking and side-by-side ranges added, newsfeed bug fixed * font sizes enlargened * value font size modified * font size for stacking made smaller * unused css removed * fullscreen logic uncommented * fullscreen in App.tsx removed, comments removed * trying to find bug * infinite warning gone * page embed fixed * removed warnings * removed dependency array warning * added embed.html for testing Co-authored-by: daniel-moon32 <[email protected]>
1 parent 744da5c commit 07e000a

File tree

4 files changed

+45
-26
lines changed

4 files changed

+45
-26
lines changed

client/src/components/embed/ClockEmbed.tsx

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,32 @@ const ClockContainer = styled.div`
3939
}
4040
`
4141

42+
const Value = styled.div`
43+
margin-left: 1vw;
44+
@media only screen and (max-height: 700px) {
45+
font-size: max(7vh, min(2.75rem, 12vw));
46+
}
47+
48+
// code for stacking
49+
@media only screen and (max-width: 1024px) {
50+
font-size: max(5.5vh, min(2.25rem, 12.5vw));
51+
}
52+
`
53+
54+
const Unit = styled.div`
55+
margin-left: 0.5vw;
56+
@media only screen and (max-height: 700px) {
57+
font-size: max(3.5vh, min(1.5rem, 5vw));
58+
margin-bottom: -7.5vh;
59+
}
60+
61+
// code for stacking
62+
@media only screen and (max-width: 1024px) {
63+
font-size: max(4vh, min(1.5rem, 5vw));
64+
margin-bottom: -5vh;
65+
}
66+
`
67+
4268
function Clock({ timestamp, labels, flavor }: ModuleResInterface) {
4369
const [timeLeft, setTimeLeft] = useState(0)
4470
const [years, setYears] = useState('')
@@ -69,9 +95,9 @@ function Clock({ timestamp, labels, flavor }: ModuleResInterface) {
6995
themeColor={({ theme }) => theme.red}
7096
/>
7197
<ClockSection>
72-
<h3>{years ? years : '0'}</h3> <h2>YRS</h2>
73-
<h3>{days ? days : '000'}</h3> <h2>DAYS</h2>
74-
<h3>{time ? time : '00:00:00'}</h3>
98+
<Value>{years ? years : '0'}</Value> <Unit>YRS</Unit>
99+
<Value>{days ? days : '000'}</Value> <Unit>DAYS</Unit>
100+
<Value>{time ? time : '00:00:00'}</Value>
75101
</ClockSection>
76102
</ClockContainer>
77103
)

client/src/components/embed/LifelineEmbed.tsx

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,6 @@ function Lifeline({
9797
!value ? cleanedRate : value + cleanedRate,
9898
)
9999

100-
useEffect(() => {
101-
if ((value !== 0 || cleanedRate !== 0) && llVal === 0) {
102-
setLLVal(!value ? cleanedRate : value + cleanedRate)
103-
}
104-
}, [llVal, value, cleanedRate])
105-
106100
/* update lifeline value within interval */
107101
useEffect(() => {
108102
const interval = setInterval(() => {
@@ -113,14 +107,9 @@ function Lifeline({
113107

114108
return () => {
115109
clearInterval(interval)
116-
}
117-
})
118-
119-
useEffect(() => {
120-
return () => {
121110
updateSavedValue(lifelineIndex, llVal)
122111
}
123-
}, [updateSavedValue, lifelineIndex, llVal])
112+
}, [cleanedRate, lifelineIndex, llVal, updateSavedValue])
124113

125114
return (
126115
<Container>

client/src/components/embed/LifelinesEmbed.tsx

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ export default function LifelinesEmbed({
2525
const lifelineDisplayNum = displayNum
2626
const [lifelineIndex, setLifelineIndex] = useState<number>(0)
2727
const LIFELINE_DURATION = 2 // seconds displayed per lifeline
28-
const [lifelineSavedValues, setLifelineSavedValues] = useState<
29-
(number | undefined)[]
30-
>(Array(lifelineDisplayNum)) // saved lifeline values after set time duration
28+
const [lifelineSavedValues, setLifelineSavedValues] = useState<number[]>(
29+
Array(lifelineDisplayNum).fill(0),
30+
) // saved lifeline values after set time duration
3131

3232
useEffect(() => {
3333
const interval = setInterval(() => {
@@ -41,20 +41,19 @@ export default function LifelinesEmbed({
4141
}
4242
}, [lifelineDisplayNum])
4343

44-
useEffect(() => {
45-
for (let i = 0; i < lifelineDisplayNum; i++) {
46-
if (lifeLineData[i]) lifelineSavedValues[i] = lifeLineData[i]['initial']
47-
}
48-
setLifelineSavedValues([...lifelineSavedValues])
49-
}, [lifeLineData, lifelineDisplayNum, lifelineSavedValues])
50-
5144
/* used to update saved values to continue for next time duration */
5245
const updateSavedValue = (index: number, value: number) => {
5346
const newLifelineSavedValues = lifelineSavedValues
5447
newLifelineSavedValues[index] = value
5548
setLifelineSavedValues(newLifelineSavedValues)
5649
}
5750

51+
const returnValue = (lifelineIndex: number) => {
52+
if (lifelineSavedValues[lifelineIndex] > 0)
53+
return lifelineSavedValues[lifelineIndex]
54+
return lifeLineData[lifelineIndex]['initial']
55+
}
56+
5857
return (
5958
<>
6059
{lifeLineData.slice(lifelineIndex, lifelineIndex + 1).map((module) => {
@@ -65,7 +64,7 @@ export default function LifelinesEmbed({
6564
lifelineIndex={lifelineIndex}
6665
title={returnFirstString(module['labels'])}
6766
module_type={toUpperCase(module['flavor'])}
68-
value={lifelineSavedValues[lifelineIndex]}
67+
value={returnValue(lifelineIndex)}
6968
unit={returnFirstString(module['unit_labels'])}
7069
rate={module['rate']}
7170
resolution={module['resolution']}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<iframe src="http://localhost:3000/embed" style="width:1024px;" frameborder="0"></iframe>
4+
<body></body>
5+
</html>

0 commit comments

Comments
 (0)