diff --git a/labs/lab6/src/App.tsx b/labs/lab6/src/App.tsx
index e4509de..63ab554 100644
--- a/labs/lab6/src/App.tsx
+++ b/labs/lab6/src/App.tsx
@@ -2,7 +2,7 @@ import NavBar from './components/Navbar'
import Gallery from "./components/Gallery";
import Content from "./components/Content";
import CustomFooter from "./components/CustomFooter";
-
+import Task from "./Task"
import './styles/App.css'
@@ -13,6 +13,7 @@ function App() {
+
>
)
}
diff --git a/labs/lab6/src/Task.tsx b/labs/lab6/src/Task.tsx
new file mode 100644
index 0000000..2d18d57
--- /dev/null
+++ b/labs/lab6/src/Task.tsx
@@ -0,0 +1,38 @@
+import { useState,useEffect } from "react"
+import type {ReactElement} from "react"
+const lines = [
+ "Ночь, улица, фонарь, аптека,",
+ "Бессмыссленный и тусклый свет.",
+ "Живи ещё хоть четверть века - ",
+ "Всё будет так. Исхода нет.",
+ "Умрёшь - начнёшь опять сначала",
+ "И повториться всё как встарь:",
+ "Ночь, ледяная рябь канала",
+ "Аптека, Улица, фонарь."
+];
+
+interface ComponentProps {
+ Inputinterval: number
+}
+
+
+const Task = ({Inputinterval}:ComponentProps): ReactElement =>{
+ const [interval, updateInterval] = useState(Inputinterval);
+ const [lineIdx, updateLineIdx] = useState(0);
+ const updateLine = ():void =>{
+ updateLineIdx((lineIdx+1)%lines.length);
+ }
+ useEffect(()=>{
+ const intervalId = setInterval(updateLine,Number(interval));
+ return ()=>{ clearInterval(intervalId)}
+ })
+ return(
+ <>
+ {updateInterval(Number(event.target.value))}}>
+
+
{lines[lineIdx]}
+
+ >
+ )
+}
+export default Task;
\ No newline at end of file
diff --git a/labs/lab6/src/components/BuildCard.tsx b/labs/lab6/src/components/BuildCard.tsx
index 61c1afa..0ab533f 100644
--- a/labs/lab6/src/components/BuildCard.tsx
+++ b/labs/lab6/src/components/BuildCard.tsx
@@ -24,8 +24,10 @@ interface ComponentProps {
function BuildCard({ building,cardNum} : ComponentProps) {
+ const reverseModifier = cardNum % 2 == 0 ? "-reverse" : "";
+
return (
-
+