Skip to content

Commit 4cec339

Browse files
committed
Debug
1 parent 3af2281 commit 4cec339

File tree

3 files changed

+73
-36
lines changed

3 files changed

+73
-36
lines changed

TodoList/index.html

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="UTF-8">
55
<meta name="viewport" content="width=device-width, initial-scale=1.0">
66
<link rel="stylesheet" href="./asserts/font/bootstrap-icons.css">
7-
<link rel="stylesheet" href="style.css">
7+
<link rel="stylesheet" href="./style.css">
88
<script src="script.js" defer></script>
99
<title>TodoList</title>
1010
</head>
@@ -22,7 +22,43 @@ <h1 class="nav-bar__t">TodoList</h1>
2222
<div class="content">
2323

2424
<!-- item -->
25-
25+
<!--
26+
<div class="content__item item" data-id="${item.id}">
27+
<div class="item__image">
28+
<img src="./asserts/images/blue.webp" alt="Item Image">
29+
</div>
30+
<div class="item__infos">
31+
<h1>${item.title}</h1>
32+
<p>${item.description}</p>
33+
<div class="item__infos__btns">
34+
<button class="btn">Details</button>
35+
<div class="item__infos__icons">
36+
<i class="bi bi-pen"></i>
37+
<i class="bi bi-trash"></i>
38+
<div class="alert-content"></div>
39+
</div>
40+
</div>
41+
</div>
42+
</div>
43+
<div class="content__item item" data-id="${item.id}">
44+
<div class="item__image">
45+
<img src="./asserts/images/blue.webp" alt="Item Image">
46+
</div>
47+
<div class="item__infos">
48+
<h1>${item.title}</h1>
49+
<p>${item.description}</p>
50+
<div class="item__infos__btns">
51+
<button class="btn">Details</button>
52+
<div class="item__infos__icons">
53+
<i class="bi bi-pen"></i>
54+
<i class="bi bi-trash"></i>
55+
<div class="alert-content"></div>
56+
</div>
57+
</div>
58+
</div>
59+
</div> -->
60+
61+
2662
<!-- End item -->
2763

2864
</div>
@@ -46,9 +82,6 @@ <h1>Add card</h1>
4682
</label>
4783
</div>
4884
<div class="modal__form__inputs">
49-
<div>
50-
<input type="text" placeholder="">
51-
</div>
5285
<div>
5386
<input type="text" id="title" placeholder="title">
5487
</div>

TodoList/script.js

Lines changed: 23 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ function formValid(img, title, description){
3737
return true;
3838
}
3939

40+
// Script to load file
41+
4042
function loadFile(event){
4143
const file = event.target.files[0];
4244

@@ -54,6 +56,8 @@ function loadFile(event){
5456

5557
document.getElementById("imageInput").addEventListener('change', loadFile);
5658

59+
// Script to verify form and add item
60+
5761
modalBtn.addEventListener('click', (e)=>{
5862
e.preventDefault();
5963

@@ -98,6 +102,8 @@ modalBtn.addEventListener('click', (e)=>{
98102
reader.readAsDataURL(imgInput);
99103
})
100104

105+
// Function to insert data in the content element
106+
101107
function addItem(id, imgFile, title, description){
102108

103109
const content = document.querySelector('.content');
@@ -107,7 +113,6 @@ function addItem(id, imgFile, title, description){
107113
<div class="content__item item" data-id="${id}">
108114
<div class="item__image">
109115
<img src="${imgFile}" alt="Card Image">
110-
<p>Lorem ipsum dolor site amet</p>
111116
</div>
112117
<div class="item__infos">
113118
<h1>${title}</h1>
@@ -126,29 +131,28 @@ function addItem(id, imgFile, title, description){
126131
`
127132
}
128133

129-
function removeItem(){
130-
document.querySelector(".content").addEventListener("click", (e)=>{
131-
console.log(e.target);
132-
if(e.target.classList.contains("bi-trash")){
133-
const item = e.target.closest(".item");
134-
item.remove();
134+
// Script to remove item
135135

136-
let storageData = JSON.parse(localStorage.getItem("content")) || [];
137-
const itemId = item.dataset.id;
136+
document.querySelector(".content").addEventListener("click", (e)=>{
138137

139-
const index = storageData.findIndex(item => item.id === itemId);
140-
console.log(index)
138+
if(e.target.classList.contains("bi-trash")){
139+
const item = e.target.closest(".item");
140+
item.remove();
141141

142-
if(index !== -1){
143-
storageData.splice(index, 1);
144-
localStorage.setItem("content", JSON.stringify(storageData));
145-
}
146-
142+
let storageData = JSON.parse(localStorage.getItem("content")) || [];
143+
const itemId = Number(item.dataset.id);
144+
145+
const index = storageData.findIndex(item => item.id === itemId);
146+
147+
if(index !== -1){
148+
storageData.splice(index, 1);
149+
localStorage.setItem("content", JSON.stringify(storageData));
147150
}
148-
})
149-
}
150-
removeItem()
151+
152+
}
153+
})
151154

155+
// Script to take all data in localStorage after reload page
152156

153157
window.onload = ()=>{
154158
itemData = JSON.parse(localStorage.getItem("content"));
@@ -165,7 +169,6 @@ window.onload = ()=>{
165169
<div class="content__item item" data-id="${item.id}">
166170
<div class="item__image">
167171
<img src="${item.imgFile}" alt="Item Image">
168-
<p>Lorem ipsum dolor site amet</p>
169172
</div>
170173
<div class="item__infos">
171174
<h1>${item.title}</h1>

TodoList/style.css

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929

3030
h1{
3131
color: var(--bs-black);
32+
word-wrap: break-word;
3233
}
3334
.btn{
3435
text-wrap: nowrap;
@@ -87,18 +88,19 @@ header{
8788

8889
.content{
8990
display: grid;
90-
grid-template-columns: repeat(4, 1fr);
91-
gap: 15px;
92-
justify-items: center;
91+
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
92+
gap: 20px 10px;
93+
justify-content: center;
94+
9395
}
9496
.content__item{
9597
border-radius: 3px;
9698
background: var(--bs-white);
97-
9899
}
100+
99101
.item__image{
100102
position: relative;
101-
103+
height: 200px;
102104
}
103105
.item__image img{
104106
width: 100%;
@@ -111,19 +113,18 @@ header{
111113
.item__image img:hover{
112114
transform: scale(1.05)
113115
}
114-
.item__image p{
115-
position: absolute;
116-
bottom: 1.2em;
117-
left: 0.5em;
118-
color: var(--bs-gray-300);
119-
}
120116
.item__infos{
121117
padding: 10px 7px;
122118
}
119+
.item__infos h1{
120+
font-size: clamp(17px, 5vw, 20px);
121+
}
123122
.item__infos p{
124123
margin: 17px 0;
125124
line-height: 23px;
125+
font-size: clamp(12px, 5vw, 15px);
126126
color: var(--bs-black-300);
127+
word-wrap: break-word;
127128
}
128129
.item__infos__btns{
129130
display: flex;

0 commit comments

Comments
 (0)