-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
144 lines (138 loc) · 7.16 KB
/
index.html
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>vue-boolzapp</title>
<!-- CSS -->
<link rel="stylesheet" href="./_assets/css/main.css">
<!-- CDN -->
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css' integrity='sha512-iecdLmaskl7CVkqkXNQ/ZH/XLlvWZOJyj7Yy7tcenmpD1ypASozpmT/E0iPtmFIB46ZmdtAc9eNBvH0H/ZpiBw==' crossorigin='anonymous'/>
</head>
<body>
<!-- Container vuejs -->
<div id="app">
<!-- WhatsApp Container Main App -->
<div class="wh_container_main">
<!-- MainApp -->
<div class="mainApp_wh">
<!-- wh Left -->
<div class="wh_left">
<!-- Header profile -->
<div class="header_profile">
<!-- Container profile -->
<div class="container_profile">
<div class="dot_avatar dot_avatar_profile">
<img src="./_assets/_resources/imgs/avatar_6.jpg" alt="profile image">
</div>
<span class="nameProfile">Sofia</span>
</div>
<!-- Container function -->
<div class="container_function">
<div class="box_func box_icon_header">
<i class="fa-solid fa-circle-notch"></i>
</div>
<div class="box_func box_icon_header">
<i class="fa-solid fa-message"></i>
</div>
<div class="box_func box_icon_header">
<i class="fa-solid fa-ellipsis-vertical"></i>
</div>
</div>
</div>
<!-- Alert notification -->
<div class="alert_notification">
<div class="box_func box_activated">
<i class="fa-solid fa-bell-slash"></i>
</div>
<div class="alert_text">
<h2 class="heading_alert">Ricevi notifiche di nuovi messaggi</h2>
<p class="subHeading_alert">Attiva notifiche desktop</p>
</div>
</div>
<!-- Container search -->
<div class="container_search">
<div class="box_icon_search">
<i class="fa-solid fa-magnifying-glass"></i>
</div>
<input v-model="searchQuery" @input="filterContacts" type="text" class="searchInput" placeholder="Cerca o inizia una nuova chat">
</div>
<!-- Container chats -->
<div class="container_all_chats">
<ul class="chats_lists">
<li v-for="(element, index) in contacts" :key="index" class="chat_item" :class="(indexActive == index) ? 'chat_selected' : '' " v-show="filterContacts.includes(element)" @click="chatSelect(index)">
<div class="user_avatar">
<img :src="'./_assets/_resources/imgs/' + element.avatar" :alt="'Avatar ' + element.name">
</div>
<div class="user_info">
<div class="top_line">
<span class="user_name">{{ element.name }}</span>
<span class="clock">12:00</span>
</div>
<div class="bottom_line">
<p class="last_message">Ultimo messaggio inviato</p>
</div>
</div>
</li>
</ul>
</div>
</div>
<!-- wh Right -->
<div class="wh_right">
<!-- Header chat -->
<div class="header_chat">
<!-- Container profile chat -->
<div class="container_profile">
<div class="dot_avatar">
<img :src="'./_assets/_resources/imgs/' + activeContact.avatar" :alt="activeContact.name">
</div>
<div class="user_chat_info">
<span class="nameProfile">{{ activeContact.name }}</span>
<p class="last_access">Ultimo accesso</p>
</div>
</div>
<!-- Container function chat -->
<div class="container_function">
<div class="box_func box_icon_header">
<i class="fa-solid fa-magnifying-glass"></i>
</div>
<div class="box_func box_icon_header">
<i class="fa-solid fa-paperclip"></i>
</div>
<div class="box_func box_icon_header">
<i class="fa-solid fa-ellipsis-vertical"></i>
</div>
</div>
</div>
<!-- chat -->
<div class="container_chat">
<div class="all_messages">
<div class="message" v-for="(message, index) in contacts[indexActive].messages" :key="index" class="message" :class="message.status">
<p class="message_text">{{ message.message }}
<span class="clock_message">{{ new Date().toLocaleString([], {year: 'numeric', hour: '2-digit', minute: '2-digit'}) }}</span>
</p>
</div>
</div>
</div>
<!-- message -->
<div class="container_message">
<div class="box_func">
<i class="fa-regular fa-face-smile"></i>
</div>
<div class="container_message_text">
<input v-model="textMessage" @keydown.enter="sendMessage" type="text" class="messageInput" placeholder="Scrivi un messaggio">
</div>
<div class="box_func">
<i class="fa-solid fa-microphone"></i>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- SCRIPT -->
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script src="./_assets/js/main.js"></script>
</body>
</html>