-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmsgscript.js
More file actions
79 lines (71 loc) · 2.1 KB
/
msgscript.js
File metadata and controls
79 lines (71 loc) · 2.1 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
// Get HTML elements
const newMessageForm = document.getElementById('new-message-form');
const newMessageTextarea = document.getElementById('new-message-textarea');
const messageList = document.getElementById('message-list');
// Array to store threads and messages
let threads = [
{
id: 1,
name: 'John Doe',
messages: [
{
body: 'Hey, how are you?',
timestamp: '2023-03-30T18:45:00Z',
sent: false
},
{
body: 'I\'m doing well, thanks! How about you?',
timestamp: '2023-03-30T19:00:00Z',
sent: true
}
]
},
{
id: 2,
name: 'Jane Smith',
messages: [
{
body: 'Hi there!',
timestamp: '2023-03-30T20:00:00Z',
sent: false
}
]
}
];
// Render message list for a given thread
function renderMessageList(threadId) {
// Find thread with given ID
let thread = threads.find(thread => thread.id === threadId);
// Render message list
messageList.innerHTML = '';
thread.messages.forEach(message => {
let li = document.createElement('li');
li.className = message.sent ? 'sent' : 'received';
li.textContent = message.body;
messageList.appendChild(li);
});
}
// Handle new message form submit event
newMessageForm.addEventListener('submit', function(event) {
event.preventDefault();
if (!newMessageTextarea.value) return;
let currentThreadId = parseInt(localStorage.getItem('currentThreadId'));
let thread = threads.find(thread => thread.id === currentThreadId);
thread.messages.push({
body: newMessageTextarea.value,
timestamp: new Date().toISOString(),
sent: true
});
renderMessageList(currentThreadId);
newMessageTextarea.value = '';
});
// Initialize messaging page
function initMessagingPage() {
// Set current thread ID
let currentThreadId = 1;
localStorage.setItem('currentThreadId', currentThreadId);
// Render initial message list
renderMessageList(currentThreadId);
}
// Call initMessagingPage when page is loaded
window.addEventListener('load', initMessagingPage);