-
Notifications
You must be signed in to change notification settings - Fork 0
/
script.js
191 lines (180 loc) Β· 9.4 KB
/
script.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
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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
var audio = new Audio("assets/sentmessage.mp3");
var contactString =
"<div class='social'> <a href='mailto:[email protected]'> <div class='socialItem'><img class='socialItemI' src='images/gmail.svg' alt=''></div> </a> <a target='_blank' href='https://github.com/arvind2602'> <div class='socialItem'><img class='socialItemI' src='images/github.svg' alt=''></div> </a> <a href='https://www.linkedin.com/in/arvind-gupta-147ba0184/' target='_blank' rel='noopener noreferrer'> <div class='socialItem'><img class='socialItemI' src='images/linkedin.svg' alt=''></div> </a> </div>";
var resumeString =
"<div class='downloadSpace'><div class='pdfname'><img src='images/pdf.png'><label>Arvind Gupta Resume.pdf</label></div><a href='assets/Resume-Arvinds.pdf' download='ArvindGupta-Resume.pdf'><img class='download' src='images/downloadIcon.svg'></a></div>";
var addressString =
"<div class='mapview'><iframe src='https://www.google.com/maps/embed?pb=!1m10!1m8!1m3!1d15070.62729294561!2d72.8633633!3d19.210185700000018!3m2!1i1024!2i768!4f13.1!5e0!3m2!1sen!2sin!4v1676359432015!5m2!1sen!2sin' class='map'></iframe></div><label class='add'><address>Mumbai, Maharashtra, INDIA 400101</address>";
function startFunction() {
setLastSeen();
waitAndResponce("intro");
}
function setLastSeen() {
var date = new Date();
var lastSeen = document.getElementById("lastseen");
lastSeen.innerText =
"last seen today at " + date.getHours() + ":" + date.getMinutes();
}
function closeFullDP() {
var x = document.getElementById("fullScreenDP");
if (x.style.display === "flex") {
x.style.display = "none";
} else {
x.style.display = "flex";
}
}
function openFullScreenDP() {
var x = document.getElementById("fullScreenDP");
if (x.style.display === "flex") {
x.style.display = "none";
} else {
x.style.display = "flex";
}
}
function isEnter(event) {
if (event.keyCode == 13) {
sendMsg();
}
}
function sendMsg() {
var input = document.getElementById("inputMSG");
var ti = input.value;
if (input.value == "") {
return;
}
var date = new Date();
var myLI = document.createElement("li");
var myDiv = document.createElement("div");
var greendiv = document.createElement("div");
var dateLabel = document.createElement("label");
dateLabel.innerText = date.getHours() + ":" + date.getMinutes();
myDiv.setAttribute("class", "sent");
greendiv.setAttribute("class", "green");
dateLabel.setAttribute("class", "dateLabel");
greendiv.innerText = input.value;
myDiv.appendChild(greendiv);
myLI.appendChild(myDiv);
greendiv.appendChild(dateLabel);
document.getElementById("listUL").appendChild(myLI);
var s = document.getElementById("chatting");
s.scrollTop = s.scrollHeight;
setTimeout(function () {
waitAndResponce(ti);
}, 1500);
input.value = "";
playSound();
}
function waitAndResponce(inputText) {
var lastSeen = document.getElementById("lastseen");
lastSeen.innerText = "typing...";
switch (inputText.toLowerCase().trim()) {
case "intro":
setTimeout(() => {
sendTextMessage(
"Hello there ππ»,<br><br>My name is <span class='bold'><a class='alink'>Arvind Guptaπ</a>.</span><br><br>I am a <span class='bold'>aspiring Software Engineer π»</span><br><br>I am eager to hear about potential career opportunities, so I would be pleased to chat about job openings in the engineering sphere. π<br><br>Send <span class='bold'>'help'</span> to know more about me.<br>"
);
}, 2000);
break;
case "help":
sendTextMessage(
"<span class='sk'>Send Keyword to get what you want to know about me...<br>e.g<br><span class='bold'>'skills'</span> - to know my skills<br><span class='bold'>'experiences'</span> - to know my experiences<br><span class='bold'>'resume'</span> - to get my resume<br><span class='bold'>'achievements'</span> - to get my education details<br><span class='bold'>'address'</span> - to get my address<br><span class='bold'>'contact'</span> - to get ways to connect with me<br><span class='bold'>'projects'</span> - to get details of my projects<br><span class='bold'>'clear'</span> - to clear conversation<br><span class='bold'>'about'</span> - to know about this site</span>"
);
break;
case "resume":
sendTextMessage(resumeString);
break;
case "skills":
sendTextMessage(
"<span class='sk'>I am currently pursuing BE in Information Technology<br><br>I can comfortably write code in following languages :<br><span class='bold'>Python<br>C/C++<br>CSS<br>HTML<br>Javascript<br>SQL<br></span><br>I've experiance with following frameworks :<span class='bold'><br>Flask<br>Django<br>NodeJs<br>ReactJs<br>NumPy<br>Pandas<br>Matplotlib<br>Bootstrap</span><br><br>I have experience with <br><span class='bold'>AWS services<br>Docker<br>Linux<br>Figma<br></span><br>Favourite IDE:<span class='bold'>VSCode</span></span>"
);
break;
case "experiences":
sendTextMessage(
"<span class='sk'><span id='new'>π¨βπ»CodeClause | Web developer | Intern Remote from April 2023π¨βπ»</span><br><br> Directed and shaped a URL Shortener Website, using HTML5, CSS3 and ReactJS.Developed a blogging Website with Django, and ReactJs.</span><br><br><span class='sk'><span id='new'>Sort and Literary Club | Technical Head: From May 2022 </span><br><br>Managing a team of 4 developers and ensuring the successful completion of technical operations of the clubπ€π».Developed the official website of <a href='https://sort.tcetmumbai.in/ target='blank' id='new'>clubs website</a> using HTML, CSS3 and JS</span>"
);
break;
case "achievements":
sendTextMessage(
"I emerged victorious (Winner) π₯ in the esteemed <span class='bold' 'sk'>Smart India Hackathon</span> of 2022! πβ¨ My team and I put our minds to work, solving complex challenges and crafting innovative solutions. πͺπ‘ <br> <br> ππ I also had the honor of being a finalist π in the <span class='bold' 'sk'> UNESCO Indian Africa International Hackathon</span>, where talented minds from 25 different countries came together to tackle global issues. ππͺ"
);
break;
case "address":
sendTextMessage(addressString);
break;
case "clear":
clearChat();
break;
case "about":
sendTextMessage(
"π οΈπ» This portfolio website is built using HTML, CSS and JavaScript from SCRATCH!<br><br>π¨π»βπ» Designed and Developed by <a class='alink' target='_blank' href='https://www.linkedin.com/in/arvind-gupta-147ba0184/'><span class='bold'>Arvind Gupta</a> with β€οΈ</span>"
);
break;
case "contact":
sendTextMessage(contactString);
break;
case "projects":
sendTextMessage(
"You want to check my projects? Then just jump into my Github Account.<br><br><div class='social'><a target='_blank' href='https://github.com/arvind2602'> <div class='socialItem'><img class='socialItemI' src='images/github.svg' alt=''></div> </a></div>"
);
break;
case "new":
sendTextMessage(addressString);
break;
default:
setTimeout(() => {
sendTextMessage(
"Hey I couldn't catch you...π’<br>Send 'help' to know more about usage."
);
}, 2000);
break;
}
}
function clearChat() {
document.getElementById("listUL").innerHTML = "";
waitAndResponce("intro");
}
function sendTextMessage(textToSend) {
setTimeout(setLastSeen, 1000);
var date = new Date();
var myLI = document.createElement("li");
var myDiv = document.createElement("div");
var greendiv = document.createElement("div");
var dateLabel = document.createElement("label");
dateLabel.setAttribute("id", "sentlabel");
dateLabel.id = "sentlabel";
dateLabel.innerText = date.getHours() + ":" + date.getMinutes();
myDiv.setAttribute("class", "received");
greendiv.setAttribute("class", "grey");
greendiv.innerHTML = textToSend;
myDiv.appendChild(greendiv);
myLI.appendChild(myDiv);
greendiv.appendChild(dateLabel);
document.getElementById("listUL").appendChild(myLI);
var s = document.getElementById("chatting");
s.scrollTop = s.scrollHeight;
playSound();
}
function sendResponse() {
setTimeout(setLastSeen, 1000);
var date = new Date();
var myLI = document.createElement("li");
var myDiv = document.createElement("div");
var greendiv = document.createElement("div");
var dateLabel = document.createElement("label");
dateLabel.innerText = date.getHours() + ":" + date.getMinutes();
myDiv.setAttribute("class", "received");
greendiv.setAttribute("class", "grey");
dateLabel.setAttribute("class", "dateLabel");
greendiv.innerText =
"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. ";
myDiv.appendChild(greendiv);
myLI.appendChild(myDiv);
greendiv.appendChild(dateLabel);
document.getElementById("listUL").appendChild(myLI);
var s = document.getElementById("chatting");
s.scrollTop = s.scrollHeight;
playSound();
}
function playSound() {
audio.play();
}