-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathopenApp.js
98 lines (81 loc) · 2.58 KB
/
openApp.js
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
// ouvrir app
function openApp(appId, appIcon) {
var app = document.getElementById(appId);
app.style.display = "flex";
addTaskbarApp(appId, appIcon);
}
// fermer app
function closeApp(appId) {
var app = document.getElementById(appId);
app.style.display = "none";
removeTaskbarApp(appId); // enelever du taskbar
}
// minimiser app + ajouter au taskbar
function minimizeApp(appId, appIcon) {
var app = document.getElementById(appId);
app.style.display = "none";
}
// toggle fullscreen
function toggleFullscreen(appId) {
var app = document.getElementById(appId);
app.classList.toggle("fullscreen");
}
// ajout du minimized app au taskbar
function addTaskbarApp(appId, appIcon) {
var taskbar = document.getElementById("taskbar-apps");
// si app dans taskbar
if (!document.getElementById("task-" + appId)) {
var task = document.createElement("div");
task.className = "task";
task.id = "task-" + appId;
// ajouter icon
var icon = document.createElement("img");
icon.src = appIcon;
task.appendChild(icon);
// Click pour restorer app
task.onclick = function () {
restoreApp(appId);
};
taskbar.appendChild(task);
}
}
// enlever app du taskbar quand on ferme
function removeTaskbarApp(appId) {
var task = document.getElementById("task-" + appId);
if (task) {
task.remove();
}
}
// restorer app du taskbar
function restoreApp(appId) {
var app = document.getElementById(appId);
app.style.display = "flex";
}
// update time!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
function updateTime() {
const timeElement = document.getElementById("taskbar-time");
const now = new Date();
const hours = now.getHours().toString().padStart(2, "0");
const minutes = now.getMinutes().toString().padStart(2, "0");
timeElement.textContent = `${hours}:${minutes}`;
}
setInterval(updateTime, 1000);
updateTime();
// carrousel pour projets !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
function prochaine(direction, btn) {
const carousel = btn.parentElement.querySelector(".carousel-inner");
const images = carousel.querySelectorAll("img");
let currentIndex;
// trouver img active
images.forEach((img, index) => {
if (img.classList.contains("active")) {
currentIndex = index;
}
});
// enlever classe active
images[currentIndex].classList.remove("active");
// calculer prochaine img
const nextIndex = (currentIndex + direction + images.length) % images.length;
// ajouter classe active
images[nextIndex].classList.add("active");
}