Skip to content

Commit 6a5bf00

Browse files
authored
Merge pull request #32 from ComputerScienceHouse/willnilges/nameless
Yell at the Guest if they don't enter a name
2 parents b6f460e + 63e7567 commit 6a5bf00

File tree

3 files changed

+41
-5
lines changed

3 files changed

+41
-5
lines changed

site/Dockerfile

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@ RUN CGO_ENABLED=0 GOOS=linux go build -a -o letmein2 .
88

99
FROM alpine:latest
1010

11-
WORKDIR /
11+
WORKDIR site
1212

1313
COPY --from=builder /build/letmein2 .
1414
#RUN mkdir /templates /static
1515
# These lines are duplicated because OKD needs you to explicitly specify `site`
1616
# but to build + test locally, you need it like this.
17-
COPY ./site/templates ./templates
18-
COPY ./site/static ./static
17+
COPY ./templates ./templates
18+
COPY ./static ./static
1919
#COPY ./templates ./templates
2020
#COPY ./static ./static
2121
ENTRYPOINT ["./letmein2"]

site/static/home.js

+32-2
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ const cancelLink = document.getElementById("request_modal_cancel_button");
88
const timeoutCounter = document.getElementById("timeout_counter");
99
const timeoutBar = document.getElementById("timeout_bar");
1010
const requestTimeoutAlert = document.getElementById("request_timeout_alert");
11+
const requestNamelessAlert = document.getElementById("request_nameless_alert");
1112
const requestAnswerAlert = document.getElementById("request_answer_alert");
1213
const requestNvmAlert = document.getElementById("request_nvm_alert");
1314
const timeoutDiv = document.getElementById("timeout_div");
1415
const requestTitle = document.getElementById("request_modal_title");
16+
const namelessTitle = document.getElementById("nameless_title");
1517

1618
// TODO: This feels janky.
1719
// Sets up the event listeners for the various doors specified by the
@@ -27,8 +29,18 @@ function homePageSetup() {
2729
}
2830

2931
function knockSocket(location) {
32+
if (nameInput.value === "") {
33+
displayNameless();
34+
return;
35+
}
36+
console.log(location.protocol);
37+
// If we're http, then we'll use an unencrypted websocket (for development)
38+
let socketProtocol = 'wss';
39+
if (location.protocol !== 'https:') {
40+
socketProtocol = 'ws';
41+
}
3042
host = window.location.host;
31-
url = `wss://${host}/knock/socket/${location}`;
43+
url = `${socketProtocol}://${host}/knock/socket/${location}`;
3244
ws = new WebSocket(url);
3345

3446
ws.onopen = function(){
@@ -70,6 +82,7 @@ function socketNevermind(ws, location) {
7082

7183
function displayAcknowledge() {
7284
requestAnswerAlert.hidden = false;
85+
requestNamelessAlert.hidden = true;
7386
timeoutDiv.hidden = true;
7487
homeLink.hidden = false;
7588
cancelLink.hidden = true;
@@ -79,6 +92,21 @@ function displayTimeout() {
7992
timeoutCounter.hidden = true;
8093
timeoutBar.hidden = true;
8194
requestTimeoutAlert.hidden = false;
95+
requestNamelessAlert.hidden = true;
96+
timeoutDiv.hidden = true;
97+
homeLink.hidden = false;
98+
cancelLink.hidden = true;
99+
}
100+
101+
function displayNameless() {
102+
requestTitle.hidden = true;
103+
namelessTitle.hidden = false;
104+
timeoutCounter.hidden = true;
105+
timeoutBar.hidden = true;
106+
requestTimeoutAlert.hidden = true;
107+
requestAnswerAlert.hidden = true;
108+
requestNvmAlert.hidden = true;
109+
requestNamelessAlert.hidden = false;
82110
timeoutDiv.hidden = true;
83111
homeLink.hidden = false;
84112
cancelLink.hidden = true;
@@ -96,13 +124,15 @@ function resetRequestModal() {
96124
// Stuff that should be hidden
97125
homeLink.hidden = true;
98126
requestTimeoutAlert.hidden = true;
127+
requestNamelessAlert.hidden = true;
99128
requestAnswerAlert.hidden = true;
100129
requestNvmAlert.hidden = true;
130+
namelessTitle.hidden = true;
101131

102132
// Stuff that should not be hidden
103133
cancelLink.hidden = false;
104134
timeoutDiv.hidden = false;
105-
135+
requestTitle.hidden = false;
106136
timeoutCounter.hidden = false;
107137
timeoutBar.hidden = false;
108138

site/templates/home.tmpl

+6
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
<div class="modal-content">
6565
<div class="modal-header" id="request_modal_header">
6666
<h5 class="modal-title" id="request_modal_title">Requesting access at: {{ .location }}</h5>
67+
<h5 class="modal-title" id="nameless_title">Wait! Who are you!?</h5>
6768
<!-- <button type="button" class="close" data-dismiss="modal" aria-label="Close">
6869
<span aria-hidden="true">&times;</span>
6970
</button> -->
@@ -74,6 +75,11 @@
7475
<strong>Request answered</strong>
7576
<p>Sit tight! Someone is coming to let you in.</p>
7677
</div>
78+
<div class="alert alert-danger" id="request_nameless_alert" style="margin-bottom: 0px;">
79+
<!-- <button type="button" class="close" data-dismiss="alert">&times;</button> -->
80+
<strong>Please enter your name!</strong>
81+
<p>"We got no names, we are <em>nameless</em>, man!"</p>
82+
</div>
7783
<div class="alert alert-danger" id="request_timeout_alert" style="margin-bottom: 0px;">
7884
<!-- <button type="button" class="close" data-dismiss="alert">&times;</button> -->
7985
<strong>Nobody could answer your request</strong>

0 commit comments

Comments
 (0)