Kanban is a popular Lean workflow management method for defining, managing, and improving services that deliver knowledge work. It helps you visualize work, maximize efficiency, and improve continuously. Work is represented on Kanban boards, allowing you to optimize work delivery across multiple teams and handle even the most complex projects in a single environment.
import"./styles.css";import{useState}from"react";import{Box,TextField,Button}from"@mui/material";exportdefaultfunctionApp(){const[formData,setFormData]=useState({username: {value: "",err: false,errMsg: "User should be at least 4 chars long",validate: (value: string)=>{constregex=/^[A-Za-z]{4,}$/;returnregex.test(value);}},password: {value: "",err: false,errMsg: "Password should be at least 6 chars long",validate: (value: string)=>{constregex=/^[A-Za-z0-9_]{6,}$/;returnregex.test(value);}}});functionhandleChange(evt: React.ChangeEvent<HTMLTextAreaElement|HTMLInputElement>){const{ name, value }=evt.target;setFormData((prevData)=>{constnewData={ ...prevData};constkey: keyoftypeofnewData=name;newData[key].value=value;returnnewData;});}functionhandleSubmit(evt: React.FormEvent<HTMLFormElement>){evt.preventDefault();setFormData((prevData)=>{constnewData={ ...prevData};for(letkeyinnewData){// const input = newData[key];constvalue=newData[key].value;newData[key].err=!newData[key].validate(value);}console.log(newData);returnnewData;});}return(<><Boxcomponent="form"noValidateonSubmit={handleSubmit}sx={{display: "flex"}}flexDirection="column"gap={2}><TextFieldlabel="Username"name="username"onChange={handleChange}value={formData.username.value}error={formData.username.err}helperText="Username should be at least 2 chars long"/><TextFieldlabel="Password"name="password"onChange={handleChange}value={formData.password.value}error={formData.password.err}helperText="Password should be at least 2 chars long"/><Buttontype="submit"variant="contained">
Submit
</Button></Box></>);}
All tasks should be shown using grid layout.
Grid layout will consist of 4 cols(in desktop layout) namely To-do, In Development/Working, QA, Done/Completed.
On mobile layout, we'll have a single column for above using accordion.