notherbase-fs 4.0.22 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -6
- package/controllers/creation.js +171 -147
- package/controllers/spirit-world.js +174 -174
- package/controllers/user.js +240 -240
- package/controllers/util.js +64 -64
- package/models/index.js +33 -33
- package/models/send-mail.js +58 -58
- package/models/spirit.js +234 -234
- package/notherbase-fs.js +114 -112
- package/package.json +40 -40
- package/public/js/base.js +222 -227
- package/public/js/chat-box.js +120 -120
- package/test/coast/tall-beach/nono-cove/index.css +17 -17
- package/test/coast/tall-beach/nono-cove/index.ejs +29 -29
- package/test/coast/tall-beach/nono-cove/nono-og/add-gold.js +15 -15
- package/test/coast/tall-beach/nono-cove/nono-og/index.ejs +46 -46
- package/test/coast/tall-beach/nono-cove/nono-og/nono.css +88 -88
- package/test/coast/tall-beach/nono-cove/nono-og/nono.js +207 -207
- package/test/pages/test-page/emailTime.js +8 -8
- package/test/pages/test-page/index.ejs +104 -104
- package/test/pages/void/index.ejs +35 -35
- package/test/pages/void/void.css +2 -2
- package/test/public/styles/main.css +792 -792
- package/test/the-front/add-gold.js +13 -13
- package/test/the-front/check/_preprocess/saved.js +9 -0
- package/test/the-front/check/check.css +2 -2
- package/test/the-front/check/emailTime.js +9 -9
- package/test/the-front/check/flip.js +9 -9
- package/test/the-front/check/index.ejs +55 -54
- package/test/the-front/check/save-input.js +7 -7
- package/test/the-front/index.ejs +116 -99
- package/test/the-front/keeper/clipboards.js +133 -133
- package/test/the-front/keeper/index.ejs +80 -80
- package/test/the-front/keeper/keeper.css +157 -157
- package/test/the-front/keeper/keeper.js +140 -140
- package/test-index.js +19 -19
- package/test2/pages/test-page/emailTime.js +8 -8
- package/test2/pages/test-page/index.ejs +104 -104
- package/test2/pages/void/index.ejs +35 -35
- package/test2/pages/void/void.css +2 -2
- package/test2/public/styles/main.css +792 -792
- package/test2/the-front/add-gold.js +13 -13
- package/test2/the-front/check/check.css +2 -2
- package/test2/the-front/check/emailTime.js +9 -9
- package/test2/the-front/check/flip.js +9 -9
- package/test2/the-front/check/index.ejs +54 -54
- package/test2/the-front/check/save-input.js +7 -7
- package/test2/the-front/index.ejs +99 -99
- package/test2/the-front/keeper/clipboards.js +133 -133
- package/test2/the-front/keeper/index.ejs +80 -80
- package/test2/the-front/keeper/keeper.css +157 -157
- package/test2/the-front/keeper/keeper.js +140 -140
- package/views/explorer.ejs +82 -82
- package/views/footer.ejs +9 -9
- package/views/head.ejs +17 -17
|
@@ -1,134 +1,134 @@
|
|
|
1
|
-
let $clipboard = $(".clipboard");
|
|
2
|
-
let $loginButton = $("#login-button");
|
|
3
|
-
let $loginInfo = $("#login-info");
|
|
4
|
-
let $resetInfo = $("#reset-info");
|
|
5
|
-
let $setInfo = $("#set-info");
|
|
6
|
-
let $registerButton = $("#register-button");
|
|
7
|
-
let $registerInfo = $("#register-info");
|
|
8
|
-
let $resetForm = $("#reset-form");
|
|
9
|
-
let $setForm = $("#set-form");
|
|
10
|
-
let $loginForm = $("#login-form");
|
|
11
|
-
let $changeButton = $("#change-button");
|
|
12
|
-
let $resetButton = $("#reset-button");
|
|
13
|
-
let $setButton = $("#set-button");
|
|
14
|
-
let $returnButtons = $(".return-button");
|
|
15
|
-
|
|
16
|
-
//try to login
|
|
17
|
-
$loginButton.on("click", async (e) => {
|
|
18
|
-
let response = await base.attemptLogin($("#login-email").val(), $("#login-pass").val());
|
|
19
|
-
|
|
20
|
-
if (response.status === "success") {
|
|
21
|
-
//Dialogue.addGlobalFlag("logged-in");
|
|
22
|
-
closeClipboard("for-login");
|
|
23
|
-
keeper.interrupt();
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
$loginInfo.text(response.message);
|
|
27
|
-
}
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
//try to register an account
|
|
31
|
-
$registerButton.on("click", async function () {
|
|
32
|
-
let response = await base.attemptRegister(
|
|
33
|
-
$("#register-email").val(),
|
|
34
|
-
$("#register-user").val(),
|
|
35
|
-
$("#register-pass").val()
|
|
36
|
-
);
|
|
37
|
-
|
|
38
|
-
if (response.status === "success") {
|
|
39
|
-
$registerInfo.text("You hear a nod from deep within the shack. Your new account has been registered.");
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
$registerInfo.text(response.message);
|
|
43
|
-
}
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
$changeButton.on("click", function () {
|
|
47
|
-
goToReset("");
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
$resetButton.on("click", async function () {
|
|
51
|
-
let response = await base.resetPassword($("#reset-email").val(), true);
|
|
52
|
-
|
|
53
|
-
if (response.status === "success") {
|
|
54
|
-
goToSet("");
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
goToReset(response.message);
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
$setButton.on("click", async function () {
|
|
62
|
-
let response = await base.changePassword(
|
|
63
|
-
$("#change-token").val(),
|
|
64
|
-
$("#change-email").val(),
|
|
65
|
-
$("#change-password").val(),
|
|
66
|
-
$("#change-confirmation").val()
|
|
67
|
-
);
|
|
68
|
-
|
|
69
|
-
if (response.status === "success") {
|
|
70
|
-
goToLogin("Password changed successfully.");
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
goToReset("Change Error: " + response.message);
|
|
74
|
-
}
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
$returnButtons.on("click", function () {
|
|
78
|
-
goToLogin("");
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
let goToLogin = function goToLogin(info) {
|
|
82
|
-
$loginInfo.text(info);
|
|
83
|
-
$resetForm.addClass("invisible");
|
|
84
|
-
$setForm.addClass("invisible");
|
|
85
|
-
$loginForm.removeClass("invisible");
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
let goToReset = function goToReset(info) {
|
|
89
|
-
$resetInfo.text(info);
|
|
90
|
-
$setForm.addClass("invisible");
|
|
91
|
-
$loginForm.addClass("invisible");
|
|
92
|
-
$resetForm.removeClass("invisible");
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
let goToSet = function goToSet(info) {
|
|
96
|
-
$setInfo.text(info);
|
|
97
|
-
$resetForm.addClass("invisible");
|
|
98
|
-
$loginForm.addClass("invisible");
|
|
99
|
-
$setForm.removeClass("invisible");
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
let clickClose = function clickClose(e) {
|
|
103
|
-
e.stopPropagation();
|
|
104
|
-
let $currentClipboard = $(e.currentTarget).parent();
|
|
105
|
-
|
|
106
|
-
if (!$currentClipboard.hasClass("on-counter")) {
|
|
107
|
-
$currentClipboard.addClass("on-counter");
|
|
108
|
-
$currentClipboard.find(".scribbles").removeClass("invisible");
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
let closeClipboard = function closeClipboard(which) {
|
|
113
|
-
let $currentClipboard = $(`.${which}`);
|
|
114
|
-
|
|
115
|
-
if (!$currentClipboard.hasClass("on-counter")) {
|
|
116
|
-
$currentClipboard.addClass("on-counter");
|
|
117
|
-
$currentClipboard.find(".scribbles").removeClass("invisible");
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
//pick up a clipboard
|
|
122
|
-
$clipboard.on("click", function clickClipboard(e) {
|
|
123
|
-
let $currentClipboard = $(e.currentTarget);
|
|
124
|
-
|
|
125
|
-
if ($currentClipboard.hasClass("on-counter")) {
|
|
126
|
-
$clipboard.addClass("on-counter");
|
|
127
|
-
$clipboard.find(".scribbles").removeClass("invisible");
|
|
128
|
-
$currentClipboard.removeClass("on-counter");
|
|
129
|
-
$currentClipboard.find(".scribbles").addClass("invisible");
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
//put down a clipboard
|
|
1
|
+
let $clipboard = $(".clipboard");
|
|
2
|
+
let $loginButton = $("#login-button");
|
|
3
|
+
let $loginInfo = $("#login-info");
|
|
4
|
+
let $resetInfo = $("#reset-info");
|
|
5
|
+
let $setInfo = $("#set-info");
|
|
6
|
+
let $registerButton = $("#register-button");
|
|
7
|
+
let $registerInfo = $("#register-info");
|
|
8
|
+
let $resetForm = $("#reset-form");
|
|
9
|
+
let $setForm = $("#set-form");
|
|
10
|
+
let $loginForm = $("#login-form");
|
|
11
|
+
let $changeButton = $("#change-button");
|
|
12
|
+
let $resetButton = $("#reset-button");
|
|
13
|
+
let $setButton = $("#set-button");
|
|
14
|
+
let $returnButtons = $(".return-button");
|
|
15
|
+
|
|
16
|
+
//try to login
|
|
17
|
+
$loginButton.on("click", async (e) => {
|
|
18
|
+
let response = await base.attemptLogin($("#login-email").val(), $("#login-pass").val());
|
|
19
|
+
|
|
20
|
+
if (response.status === "success") {
|
|
21
|
+
//Dialogue.addGlobalFlag("logged-in");
|
|
22
|
+
closeClipboard("for-login");
|
|
23
|
+
keeper.interrupt();
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
$loginInfo.text(response.message);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
//try to register an account
|
|
31
|
+
$registerButton.on("click", async function () {
|
|
32
|
+
let response = await base.attemptRegister(
|
|
33
|
+
$("#register-email").val(),
|
|
34
|
+
$("#register-user").val(),
|
|
35
|
+
$("#register-pass").val()
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
if (response.status === "success") {
|
|
39
|
+
$registerInfo.text("You hear a nod from deep within the shack. Your new account has been registered.");
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
$registerInfo.text(response.message);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
$changeButton.on("click", function () {
|
|
47
|
+
goToReset("");
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
$resetButton.on("click", async function () {
|
|
51
|
+
let response = await base.resetPassword($("#reset-email").val(), true);
|
|
52
|
+
|
|
53
|
+
if (response.status === "success") {
|
|
54
|
+
goToSet("");
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
goToReset(response.message);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
$setButton.on("click", async function () {
|
|
62
|
+
let response = await base.changePassword(
|
|
63
|
+
$("#change-token").val(),
|
|
64
|
+
$("#change-email").val(),
|
|
65
|
+
$("#change-password").val(),
|
|
66
|
+
$("#change-confirmation").val()
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
if (response.status === "success") {
|
|
70
|
+
goToLogin("Password changed successfully.");
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
goToReset("Change Error: " + response.message);
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
$returnButtons.on("click", function () {
|
|
78
|
+
goToLogin("");
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
let goToLogin = function goToLogin(info) {
|
|
82
|
+
$loginInfo.text(info);
|
|
83
|
+
$resetForm.addClass("invisible");
|
|
84
|
+
$setForm.addClass("invisible");
|
|
85
|
+
$loginForm.removeClass("invisible");
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
let goToReset = function goToReset(info) {
|
|
89
|
+
$resetInfo.text(info);
|
|
90
|
+
$setForm.addClass("invisible");
|
|
91
|
+
$loginForm.addClass("invisible");
|
|
92
|
+
$resetForm.removeClass("invisible");
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
let goToSet = function goToSet(info) {
|
|
96
|
+
$setInfo.text(info);
|
|
97
|
+
$resetForm.addClass("invisible");
|
|
98
|
+
$loginForm.addClass("invisible");
|
|
99
|
+
$setForm.removeClass("invisible");
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
let clickClose = function clickClose(e) {
|
|
103
|
+
e.stopPropagation();
|
|
104
|
+
let $currentClipboard = $(e.currentTarget).parent();
|
|
105
|
+
|
|
106
|
+
if (!$currentClipboard.hasClass("on-counter")) {
|
|
107
|
+
$currentClipboard.addClass("on-counter");
|
|
108
|
+
$currentClipboard.find(".scribbles").removeClass("invisible");
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
let closeClipboard = function closeClipboard(which) {
|
|
113
|
+
let $currentClipboard = $(`.${which}`);
|
|
114
|
+
|
|
115
|
+
if (!$currentClipboard.hasClass("on-counter")) {
|
|
116
|
+
$currentClipboard.addClass("on-counter");
|
|
117
|
+
$currentClipboard.find(".scribbles").removeClass("invisible");
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
//pick up a clipboard
|
|
122
|
+
$clipboard.on("click", function clickClipboard(e) {
|
|
123
|
+
let $currentClipboard = $(e.currentTarget);
|
|
124
|
+
|
|
125
|
+
if ($currentClipboard.hasClass("on-counter")) {
|
|
126
|
+
$clipboard.addClass("on-counter");
|
|
127
|
+
$clipboard.find(".scribbles").removeClass("invisible");
|
|
128
|
+
$currentClipboard.removeClass("on-counter");
|
|
129
|
+
$currentClipboard.find(".scribbles").addClass("invisible");
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
//put down a clipboard
|
|
134
134
|
$(".close").on("click", clickClose);
|
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
<style>
|
|
2
|
-
<%- include("./keeper.css"); %>
|
|
3
|
-
</style>
|
|
4
|
-
|
|
5
|
-
<div class="shack">
|
|
6
|
-
<div class="dialogue" id="keeper"></div>
|
|
7
|
-
|
|
8
|
-
<div class="counter">
|
|
9
|
-
<div class="clipboard on-counter for-login">
|
|
10
|
-
<button class="close">X</button>
|
|
11
|
-
<div class="application">
|
|
12
|
-
<div class="auth-form" id="login-form">
|
|
13
|
-
<h5>NotherBase</h5>
|
|
14
|
-
<h6>Login to Your Account</h6>
|
|
15
|
-
<input type="email" name="email" placeholder="e@mail.com" id="login-email">
|
|
16
|
-
<input type="password" name="password" placeholder="password" id="login-pass">
|
|
17
|
-
<button id="login-button">Login</button>
|
|
18
|
-
<button class="subtle" id="change-button">Change Your Password</button>
|
|
19
|
-
<p id="login-info"></p>
|
|
20
|
-
</div>
|
|
21
|
-
<div class="auth-form invisible" id="reset-form">
|
|
22
|
-
<h5>NotherBase</h5>
|
|
23
|
-
<h6>Reset Your Password</h6>
|
|
24
|
-
<input type="email" name="email" placeholder="e@mail.com" id="reset-email">
|
|
25
|
-
<button id="reset-button">Send Reset Code to Your Email</button>
|
|
26
|
-
<button class="subtle return-button">Return to Login</button>
|
|
27
|
-
<p id="reset-info"></p>
|
|
28
|
-
</div>
|
|
29
|
-
<div class="auth-form invisible" id="set-form">
|
|
30
|
-
<h5>NotherBase</h5>
|
|
31
|
-
<h6>Change Your Password</h6>
|
|
32
|
-
<p>Reset code sent to your email.</p>
|
|
33
|
-
<input type="email" name="email" placeholder="e@mail.com" id="change-email">
|
|
34
|
-
<input type="number" name="token" placeholder="0000" id="change-token">
|
|
35
|
-
<input type="password" name="password" placeholder="new password" id="change-password">
|
|
36
|
-
<input type="password" name="confirmation" placeholder="new password again" id="change-confirmation">
|
|
37
|
-
<button id="set-button">Set Password</button>
|
|
38
|
-
<button class="subtle return-button">Return to Login</button>
|
|
39
|
-
<p id="set-info"></p>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
<div ></div>
|
|
43
|
-
<div class="clamp"></div>
|
|
44
|
-
<div class="scribbles" id="login-scribbles">Login<br><br>If you can read this you're a nerd.</div>
|
|
45
|
-
</div>
|
|
46
|
-
|
|
47
|
-
<div class="clipboard on-counter for-register">
|
|
48
|
-
<button class="close">X</button>
|
|
49
|
-
<div class="application">
|
|
50
|
-
<div class="auth-form" id="register-form">
|
|
51
|
-
<h5>NotherBase</h5>
|
|
52
|
-
<h6>Register a New Account</h6>
|
|
53
|
-
<input type="email" name="email" placeholder="e@mail.com" id="register-email">
|
|
54
|
-
<input type="text" name="username" placeholder="username" id="register-user">
|
|
55
|
-
<input type="password" name="password" placeholder="password" id="register-pass">
|
|
56
|
-
<input type="password" name="confirmation" placeholder="password again" id="register-confirmation">
|
|
57
|
-
<button id="register-button">Register</button>
|
|
58
|
-
<p id="register-info"></p>
|
|
59
|
-
</div>
|
|
60
|
-
</div>
|
|
61
|
-
<div class="clamp"></div>
|
|
62
|
-
<div class="scribbles" id="register-scribbles">Register<br><br>If you can read this you're a nerd.</div>
|
|
63
|
-
</div>
|
|
64
|
-
</div>
|
|
65
|
-
</div>
|
|
66
|
-
|
|
67
|
-
<hr>
|
|
68
|
-
|
|
69
|
-
<a class="to gate" href="/the-front/gate">
|
|
70
|
-
Go to the Fence Gate
|
|
71
|
-
</a>
|
|
72
|
-
|
|
73
|
-
<hr>
|
|
74
|
-
|
|
75
|
-
<a class="return" href="/the-front">
|
|
76
|
-
Back Away
|
|
77
|
-
</a>
|
|
78
|
-
|
|
79
|
-
<script>
|
|
80
|
-
<%- include("./clipboards.js"); %>
|
|
1
|
+
<style>
|
|
2
|
+
<%- include("./keeper.css"); %>
|
|
3
|
+
</style>
|
|
4
|
+
|
|
5
|
+
<div class="shack">
|
|
6
|
+
<div class="dialogue" id="keeper"></div>
|
|
7
|
+
|
|
8
|
+
<div class="counter">
|
|
9
|
+
<div class="clipboard on-counter for-login">
|
|
10
|
+
<button class="close">X</button>
|
|
11
|
+
<div class="application">
|
|
12
|
+
<div class="auth-form" id="login-form">
|
|
13
|
+
<h5>NotherBase</h5>
|
|
14
|
+
<h6>Login to Your Account</h6>
|
|
15
|
+
<input type="email" name="email" placeholder="e@mail.com" id="login-email">
|
|
16
|
+
<input type="password" name="password" placeholder="password" id="login-pass">
|
|
17
|
+
<button id="login-button">Login</button>
|
|
18
|
+
<button class="subtle" id="change-button">Change Your Password</button>
|
|
19
|
+
<p id="login-info"></p>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="auth-form invisible" id="reset-form">
|
|
22
|
+
<h5>NotherBase</h5>
|
|
23
|
+
<h6>Reset Your Password</h6>
|
|
24
|
+
<input type="email" name="email" placeholder="e@mail.com" id="reset-email">
|
|
25
|
+
<button id="reset-button">Send Reset Code to Your Email</button>
|
|
26
|
+
<button class="subtle return-button">Return to Login</button>
|
|
27
|
+
<p id="reset-info"></p>
|
|
28
|
+
</div>
|
|
29
|
+
<div class="auth-form invisible" id="set-form">
|
|
30
|
+
<h5>NotherBase</h5>
|
|
31
|
+
<h6>Change Your Password</h6>
|
|
32
|
+
<p>Reset code sent to your email.</p>
|
|
33
|
+
<input type="email" name="email" placeholder="e@mail.com" id="change-email">
|
|
34
|
+
<input type="number" name="token" placeholder="0000" id="change-token">
|
|
35
|
+
<input type="password" name="password" placeholder="new password" id="change-password">
|
|
36
|
+
<input type="password" name="confirmation" placeholder="new password again" id="change-confirmation">
|
|
37
|
+
<button id="set-button">Set Password</button>
|
|
38
|
+
<button class="subtle return-button">Return to Login</button>
|
|
39
|
+
<p id="set-info"></p>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
<div ></div>
|
|
43
|
+
<div class="clamp"></div>
|
|
44
|
+
<div class="scribbles" id="login-scribbles">Login<br><br>If you can read this you're a nerd.</div>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<div class="clipboard on-counter for-register">
|
|
48
|
+
<button class="close">X</button>
|
|
49
|
+
<div class="application">
|
|
50
|
+
<div class="auth-form" id="register-form">
|
|
51
|
+
<h5>NotherBase</h5>
|
|
52
|
+
<h6>Register a New Account</h6>
|
|
53
|
+
<input type="email" name="email" placeholder="e@mail.com" id="register-email">
|
|
54
|
+
<input type="text" name="username" placeholder="username" id="register-user">
|
|
55
|
+
<input type="password" name="password" placeholder="password" id="register-pass">
|
|
56
|
+
<input type="password" name="confirmation" placeholder="password again" id="register-confirmation">
|
|
57
|
+
<button id="register-button">Register</button>
|
|
58
|
+
<p id="register-info"></p>
|
|
59
|
+
</div>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="clamp"></div>
|
|
62
|
+
<div class="scribbles" id="register-scribbles">Register<br><br>If you can read this you're a nerd.</div>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<hr>
|
|
68
|
+
|
|
69
|
+
<a class="to gate" href="/the-front/gate">
|
|
70
|
+
Go to the Fence Gate
|
|
71
|
+
</a>
|
|
72
|
+
|
|
73
|
+
<hr>
|
|
74
|
+
|
|
75
|
+
<a class="return" href="/the-front">
|
|
76
|
+
Back Away
|
|
77
|
+
</a>
|
|
78
|
+
|
|
79
|
+
<script>
|
|
80
|
+
<%- include("./clipboards.js"); %>
|
|
81
81
|
</script>
|