Repository navigation
Expand file tree
/
Copy pathmain.js
More file actions
114 lines (102 loc) · 3.69 KB
/
Copy pathmain.js
File metadata and controls
114 lines (102 loc) · 3.69 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
document.getElementById('buttonId').addEventListener('click', getText);
document.addEventListener('input', autoResize);
document.addEventListener('input', charCount);
document.addEventListener('click', charCount);
function getText(event) {
event.preventDefault();
let userText = document.getElementById('insert-text').value.trim();
document.getElementById('insert-text').value = '';
document.getElementsByClassName('main-sections')[1].classList.remove('hide');
postText(userText);
disableEnableButton();
charCountClean();
autoResize();
}
function postText(text) {
let paragraph = document.createElement('div');
paragraph.className = 'tweetParagraph display-flex';
let tweet = document.createTextNode(text);
let hr = document.createElement('hr');
paragraph.appendChild(tweet);
document.getElementById('feedId').appendChild(hr);
document.getElementById("feedId").appendChild(paragraph);
createProfileInfo();
createHourText();
}
function createProfileInfo() {
let sectionUser = document.createElement('section');
sectionUser.className = 'class-profile display-flex';
let profilePic = document.createElement('div');
profilePic.className = 'profile-pic pic-tweets';
let userDiv = document.createElement('div');
userDiv.className = 'div-user';
let userName = document.createTextNode('@crazycatlady:');
let listDisplayFlex = document.getElementsByClassName('class-profile');
userDiv.appendChild(userName);
document.getElementById('feedId').appendChild(sectionUser);
document.getElementsByClassName('class-profile')[listDisplayFlex.length - 1].appendChild(profilePic);
document.getElementsByClassName('class-profile')[listDisplayFlex.length - 1].appendChild(userDiv);
}
function createHourText() {
let hourMinutePost = document.createElement('div');
let hourMinuteText = document.createTextNode(hour());
hourMinutePost.className = 'hourMinute';
let tweetParagraph = document.getElementsByClassName('tweetParagraph');
hourMinutePost.appendChild(hourMinuteText);
tweetParagraph[tweetParagraph.length - 1].appendChild(hourMinutePost);
}
function hour() {
let datePost = new Date();
let hourPost = datePost.getHours();
let minutesPost = datePost.getMinutes();
let hourString = hourPost.toString();
let minutesString = minutesPost.toString();
if (minutesString.length < 2) {
minutesString = '0' + minutesString;
}
if (hourString.length < 2) {
hourString = '0' + hourString;
}
let hourMinutePost = hourString + 'h' + minutesString;
return hourMinutePost;
}
function autoResize() {
field = document.getElementById('insert-text');
field.style.height = '4vw';
field.style.height = field.scrollHeight + 'px';
}
function disableEnableButton() {
if (document.getElementById('insert-text').value.match(/\S+/)) {
document.getElementById('buttonId').disabled = false;
} else {
document.getElementById('buttonId').disabled = true;
}
}
function charCountClean() {
document.getElementById('remainingChar').innerHTML = '';
}
function charCount() {
disableEnableButton();
let max = 140;
let current = document.getElementById('insert-text').value.length;
let value = max - current;
changeColorCount(value);
}
function changeColorCount(value) {
let counter = document.getElementById('remainingChar');
if (value >= 0) {
counter.className = 'blackCounter';
if (value <= 20 && value > 10) {
counter.className = 'yellowCounter';
} else if (value <= 10 && value >= 0) {
counter.className = 'orangeCounter';
} else {
counter.className = 'blackCounter';
}
counter.innerHTML = value;
} else {
document.getElementById('buttonId').disabled = true;
counter.className = 'redCounter';
counter.innerHTML = value;
}
}