Skip to content

Commit 2566740

Browse files
Laith HarbLaith Harb
authored andcommitted
added styles
1 parent 0dc3bb8 commit 2566740

4 files changed

Lines changed: 85 additions & 8 deletions

File tree

src/App.css

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,3 +36,59 @@
3636
transform: rotate(360deg);
3737
}
3838
}
39+
40+
41+
42+
.List {
43+
list-style: none;
44+
display: flex;
45+
align-items: center;
46+
width: 50rem;
47+
margin: 0rem auto;
48+
border: 0.1rem solid rgba(0, 0, 0, 0.233);
49+
padding: 1rem;
50+
justify-content: space-between;
51+
}
52+
53+
.List-header {
54+
display: flex;
55+
align-items: center;
56+
}
57+
58+
.List-header h2 {
59+
color: rgb(37, 36, 36)
60+
}
61+
62+
.List-img {
63+
width: 4rem;
64+
height: 4rem;
65+
border-radius: 100%;
66+
margin-right: 0.5rem;
67+
}
68+
69+
.List-note {
70+
width: 30%;
71+
text-align: left;
72+
}
73+
74+
.AddToList {
75+
display: flex;
76+
flex-direction: column;
77+
width: 30rem;
78+
margin: 5rem auto
79+
}
80+
81+
.AddToList-input {
82+
padding: 0.5rem;
83+
font-size: 1rem;
84+
margin: 0.3rem 0rem
85+
}
86+
87+
.AddToList-btn {
88+
padding: 0.5rem;
89+
cursor: pointer;
90+
background-color: #0b5468;
91+
font-weight: 700;
92+
color: white;
93+
border: none
94+
}

src/App.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export interface IState {
88
people: {
99
name: string
1010
age: number
11+
img: string
1112
note?: string
1213
}[]
1314
}
@@ -19,11 +20,13 @@ function App() {
1920
{
2021
name: "LeBron James",
2122
age: 35,
22-
note: "allegeric to staying on the same team",
23+
img: "https://cdn.nba.com/headshots/nba/latest/1040x760/2544.png",
24+
note: "Allegeric to staying on the same team",
2325
},
2426
{
2527
name: "Kobe Bryant",
26-
age: 42
28+
age: 42,
29+
img: "https://fullpresscoverage.com/wp-content/uploads/2020/01/101524695-457220551.jpg"
2730
}
2831
])
2932

src/components/AddToList.tsx

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ const AddToList: React.FC<IProps> = ({setPeople, people}) => {
1111
const [input, setInput] = useState({
1212
name: "",
1313
age: "",
14-
note: ""
14+
note: "",
15+
img: ""
1516
})
1617

17-
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
18+
const handleChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
1819
setInput({
1920
...input,
2021
[e.target.name]: e.target.value
@@ -29,42 +30,55 @@ const AddToList: React.FC<IProps> = ({setPeople, people}) => {
2930
{
3031
name: input.name,
3132
age: parseInt(input.age),
33+
img: input.img,
3234
note: input.note
3335
}
3436
]);
3537

3638
setInput({
3739
name: "",
3840
age: "",
41+
img: "",
3942
note: ""
4043
})
4144
}
4245

4346
return (
44-
<div style={{display: "flex", flexDirection: "column", width: "30rem", margin: "5rem auto"}}>
47+
<div className="AddToList">
4548
<input
4649
type="text"
4750
onChange={handleChange}
51+
className="AddToList-input"
4852
name="name"
4953
value={input.name}
5054
placeholder="Name"
5155
/>
5256
<input
5357
type="text"
5458
onChange={handleChange}
59+
className="AddToList-input"
5560
name="age"
5661
value={input.age}
5762
placeholder="Age"
5863
/>
5964
<input
6065
type="text"
6166
onChange={handleChange}
67+
className="AddToList-input"
68+
name="img"
69+
value={input.img}
70+
placeholder="Image Url"
71+
/>
72+
<textarea
73+
onChange={handleChange}
74+
className="AddToList-input"
6275
name="note"
6376
value={input.note}
6477
placeholder="Note"
6578
/>
6679
<button
6780
onClick={handleClick}
81+
className="AddToList-btn"
6882
>
6983
Add to List
7084
</button>

src/components/List.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,13 @@ const List: React.FC<IProps> = ({ people }) => {
1010
const renderList = (): JSX.Element[] => {
1111
return people.map(person => {
1212
return (
13-
<li style={{listStyle: "none", margin: "3rem"}}>
14-
<h3>{person.name}</h3>
15-
<p>{person.note}</p>
13+
<li className="List">
14+
<div className="List-header">
15+
<img className="List-img" src={person.img}/>
16+
<h2>{person.name}</h2>
17+
</div>
18+
<p>{person.age} years old</p>
19+
<p className="List-note">{person.note}</p>
1620
</li>
1721
)
1822
})

0 commit comments

Comments
 (0)