-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
120 lines (106 loc) · 3.4 KB
/
script.js
File metadata and controls
120 lines (106 loc) · 3.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
window.onload = () => {
const name = prompt("What is your first name?");
const greetingElement = document.querySelector(".todo-app__greeting");
const hour = new Date().getHours();
let greeting ;
if(hour < 6){
greeting = "Good morning";
} else if(hour <12){
greeting = "Good Afternoon";
} else if(hour<18){
greeting = "Good Evening";
} else if(hour<24){
greeting = "Good Night";
}
greetingElement.textContent = greeting+", "+name+"👋";
}
const formatDate = (date) => {
const currentDate = document.querySelector(".todo-app__date");
const day = date.toLocaleString('en-US', { weekday: 'short' });
const dateNum = date.getDate();
const month = date.toLocaleString('en-US', { month: 'long' });
const year = date.getFullYear();
const suffix = (dateNum) => {
if (dateNum === 1 || dateNum === 21 || dateNum === 31) return 'st';
if (dateNum === 2 || dateNum === 22) return 'nd';
if (dateNum === 3 || dateNum === 23) return 'rd';
return 'th';
};
const formattedDate = ` Today, ${day} ${dateNum}${suffix(dateNum)} ${month} ${year}`;
currentDate.textContent = formattedDate;
return formattedDate;
};
formatDate(new Date());
const formatTime = () =>{
const timeElement = document.querySelector(".todo-app__time");
const hour = new Date().getHours();
const minite = new Date().getMinutes();
let newhour;
let lap;
if(hour>12){
newhour = hour - 12;
}else if(hour == 0){
newhour = 12
}else{
newhour=hour
}
if(0<hour<12){
lap = "A.M.";
} else {
lap = "P.M";
}
timeElement.textContent = newhour+" : "+minite+" "+lap;
}
formatTime();
const todoCreateButton = document.querySelector(".todo__create__button");
const todoInput = document.querySelector(".todo__input");
const todoContainer = document.querySelector(".todo__container");
const todoValues = [];
let todoElements = [];
todoCreateButton.addEventListener("click", () => {
const value = todoInput.value;
if (value === "") {
return;
}
todoValues.push(value);
console.log(todoValues);
todoInput.value = "";
renderTodos();
});
const renderTodos = () => {
todoElements = todoValues.map((val, index) => {
return `<div class="todo__item" data-index="${index}">
<div class="todo__item__left">
<input type="checkbox" id="completed" name="completed" />
<span>${val}</span>
</div>
<div class="todo__item__right">
<svg
class="todo__delete__button"
xmlns="http://www.w3.org/2000/svg"
width="20"
height="20"
viewBox="0 0 24 24"
fill="none"
stroke="red"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3 6h18" />
<path d="M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6" />
<path d="M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2" />
</svg>
</div>
</div>`;
});
todoContainer.innerHTML = todoElements.join(" ");
};
todoContainer.addEventListener("click", (e) => {
if (e.target.closest(".todo__delete__button")) {
const todoItem = e.target.closest(".todo__item");
const index = todoItem.dataset.index;
todoValues.splice(index, 1);
renderTodos();
}
});