import React, { useState, useEffect } from "react";
// import logo from "./logo.svg";
import "./App.css";
const Spoiler = ({ header = "+", open, children }) => {
const [state, setState] = useState(open);
return (
<>
setState(!state)}>{header}
{/* */}
{state && children}
>
//
);
};
const RangeInput = (props) => {
const [text, setText] = useState("RangeInput");
return (
RangeInput:
props.max ? "#FAA" : "",
}}
onChange={(e) => setText(e.target.value)}
/>
);
};
const PasswordConfirm = (props) => {
const [password, setPassword] = useState("Password");
const [confirmPassword, setConfirnPassword] = useState("PasswordConfirm");
return (
Password:
setPassword(e.target.value)}
/>
ConfirmPassword:
setConfirnPassword(e.target.value)}
/>
);
};
const LifeCycle = ({ onDelete }) => {
const [counter, setCounter] = useState(0);
useEffect(() => {
let intervalID = setInterval(() => {
setCounter((c) => c + 1);
}, 1000);
return () => clearInterval(intervalID);
// console.log(intervalID + "intervalID bye-bye")
}, []);
return (
{counter}
x
);
};
const LifeStyles = () => {
const [count, setCount] = useState(1);
return (
<>
{[..." ".repeat(count)].map(() => (
setCount(count - 1)} />
))}
setCount(count + 1)}>+
>
);
};
const Timer = (props) => {
const [time, setTime] = useState(props.sec);
// console.log("props.sec: ", props.sec);
const [pause, setPause] = useState(true);
let seconds = time % 60;
let minutes = Math.floor((time / 60) % 60);
let hours = Math.floor(time / 3600);
let interval;
useEffect(() => {
interval = setInterval(() => {
if (!pause) {
setTime((time) => time - 1);
// console.log("interval: " + interval);
}
}, props.refresh);
return () => clearInterval(interval);
}, [pause]);
return (
Timer: {hours}:{minutes}:{Math.trunc(seconds)}
setPause(!pause)}>
{/* ❚❚ */}
{pause ? "\u25BA" : "\u275A\u275A"}
);
};
// const MyComponents = {
// Timer: (props) => {
// const [time, setTime] = useState(props.sec);
// const [pause, setPause] = useState(false);
// const [minute, setMinute] = useState(props.min);
// const [hour, setHour] = useState(props.hours);
// {
// if (!pause) {
// return (
//
//
// Timer: {hour}:{minute}:{time}
//
// setPause(!pause)}>
// ►
//
//
// );
// }
// }
// {
// setTimeout(function () {
// if (minute < 0) {
// setMinute(59);
// setHour(hour - 1);
// }
// if (time === 0 || time === "00") {
// setTime(60);
// setMinute(minute - 1);
// } else {
// setTime(time - 1);
// }
// }, 1000);
// }
// return (
//
//
// Timer: {hour}:{minute}:{time}
//
// setPause(!pause)}>
// ❚❚
//
//
// );
// },
// };
const TimerControl = (props) => {
const [state, setState] = useState(false);
const [hours, setHours] = useState(0);
const [minutes, setMinutes] = useState(0);
const [seconds, setSeconds] = useState(0);
let sum = +hours * 3600 + +minutes * 60 + +seconds;
{
if (state) {
return (
setState(!state)}>Start
{/* */}
{ }
);
}
}
return (
setHours(e.target.value)}
/>
setMinutes(e.target.value)}
/>
setSeconds(e.target.value)}
/>
setState(!state)}>Start
);
};
const LCD = (props) => {
for (let key in props) {
console.log("props.key in LCD: " + key);
}
return (
<>
LCD
>
);
};
const TimerContainer = ({ seconds, refresh, render: Render }) => {
const [text, setText] = useState();
const [t0, setT0] = useState(performance.now());
// const [forget, setForget] = useState();
// let interval;
// useEffect(() => {
// interval = setInterval(() => {
// // if (!pause) {
// setForget((forget) => !forget);
// // }
// }, refresh);
// return () => clearInterval(interval);
// }, [forget]);
console.log(text);
return (
<>
TimerContainer
{
let value = e;
if (e && e.target && "value" in e.target) {
value = e.target.value;
}
setText(value);
}}
/>
>
);
};
const SecondsTimer = ({ sec: seconds }) => {seconds} ;
const App = () => (
);
export default App;