From eda72b4c701738c147cca2bfff85730dffa3b914 Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 17 Apr 2026 14:19:21 +1000 Subject: [PATCH] fixed lab + task done --- labs/lab6/src/App.tsx | 3 +- labs/lab6/src/Task.tsx | 38 ++++++++++++++++++++++++++ labs/lab6/src/components/BuildCard.tsx | 4 ++- 3 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 labs/lab6/src/Task.tsx 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 ( - +