summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcurly <curly@infernal.garden>2024-07-17 14:27:04 -0600
committercurly <curly@infernal.garden>2024-07-17 14:27:04 -0600
commitcc46857b4361c356e079b48d23a16b0fccaa7a61 (patch)
tree3c2d2f08d6decd6d7f4a369e84ae195c5b33651f
parent339ed00eb7496fc44ec5113b0520838305062039 (diff)
downloadpoko_web-cc46857b4361c356e079b48d23a16b0fccaa7a61.tar.gz
poko_web-cc46857b4361c356e079b48d23a16b0fccaa7a61.tar.bz2
poko_web-cc46857b4361c356e079b48d23a16b0fccaa7a61.zip
separate user update forms. require password for deletion
-rw-r--r--src/favicon.icobin0 -> 9662 bytes
-rw-r--r--src/favicon.svg46
-rw-r--r--src/index.html4
-rw-r--r--src/login/index.html4
-rw-r--r--src/main.css10
-rw-r--r--src/main.js26
-rw-r--r--src/register/index.html4
-rw-r--r--src/user/delete/index.html6
-rw-r--r--src/user/index.html4
-rw-r--r--src/user/transfer/index.html4
-rw-r--r--src/user/update/index.html19
11 files changed, 101 insertions, 26 deletions
diff --git a/src/favicon.ico b/src/favicon.ico
index e69de29..9efc4f9 100644
--- a/src/favicon.ico
+++ b/src/favicon.ico
Binary files differ
diff --git a/src/favicon.svg b/src/favicon.svg
new file mode 100644
index 0000000..2c131bd
--- /dev/null
+++ b/src/favicon.svg
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ width="48"
+ height="48"
+ viewBox="0 0 12.7 12.7"
+ version="1.1"
+ id="svg1"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg">
+ <defs
+ id="defs1" />
+ <g
+ id="layer2">
+ <path
+ style="fill:#f2f2ec;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-dasharray:none"
+ id="path4"
+ d="M 12.699999,6.2915255e-7 C 13.826135,1.1261365 11.548211,2.4730161 12.157672,3.9443835 c 0.60946,1.4713675 3.172583,0.8130198 3.172583,2.4056164 0,1.5925967 -2.563123,0.934249 -3.172583,2.4056164 -0.609461,1.4713677 1.668463,2.8182467 0.542327,3.9443827 -1.126136,1.126136 -2.473015,-1.151788 -3.9443827,-0.542327 -1.4713675,0.60946 -0.8130198,3.172583 -2.4056164,3.172583 -1.5925967,0 -0.934249,-2.563123 -2.4056164,-3.172583 C 2.473016,11.548211 1.1261365,13.826135 5.8600496e-7,12.699999 -1.1261353,11.573863 1.1517885,10.226984 0.54232816,8.7556163 -0.06713219,7.2842488 -2.6302552,7.9425965 -2.6302552,6.3499999 c 0,-1.5925967 2.56312302,-0.934249 3.17258337,-2.4056164 C 1.1517885,2.473016 -1.1261353,1.1261365 6.2915255e-7,5.8600496e-7 1.1261365,-1.1261353 2.4730161,1.1517885 3.9443835,0.54232816 5.415751,-0.06713219 4.7574033,-2.6302552 6.3499999,-2.6302552 c 1.5925967,0 0.934249,2.56312302 2.4056164,3.17258337 C 10.226984,1.1517885 11.573863,-1.1261353 12.699999,6.2915255e-7 Z" />
+ </g>
+ <g
+ id="layer1">
+ <g
+ id="g4"
+ transform="translate(0.45189774,0.13285223)">
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.76111px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:proportional-nums;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-dasharray:none"
+ x="1.128885"
+ y="6.0398397"
+ id="text1"><tspan
+ id="tspan3"
+ x="1.128885"
+ y="6.0398397">PO</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.76111px;font-family:'Liberation Mono';-inkscape-font-specification:'Liberation Mono, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:proportional-nums;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.3;stroke-dasharray:none"
+ x="1.128885"
+ y="11.510422"
+ id="text1-0"><tspan
+ id="tspan4"
+ x="1.128885"
+ y="11.510422">KO</tspan></text>
+ </g>
+ </g>
+</svg>
diff --git a/src/index.html b/src/index.html
index 5beafaf..9a38dca 100644
--- a/src/index.html
+++ b/src/index.html
@@ -17,12 +17,12 @@
<center class="button navbutton">REGISTER</center>
</a>
</header>
- <div id="page">
+ <div class="page">
<center>
<h2>POKO</h2>
</center>
<hr>
- <div id="content">
+ <div class="content">
<div class="halfbox">
<p>
Welcome to POKO! Just a little server and web interface to exchange POKO tokens.
diff --git a/src/login/index.html b/src/login/index.html
index ac01fd3..461b040 100644
--- a/src/login/index.html
+++ b/src/login/index.html
@@ -17,12 +17,12 @@
<center class="button navbutton">REGISTER</center>
</a>
</header>
- <div id="page">
+ <div class="page">
<center>
<h2>LOGIN</h2>
</center>
<hr>
- <div id="content">
+ <div class="content">
<form action="javascript:login_form()" class="formbox" accept-charset=utf-8>
<label for="id">ID</label>
<input type="text" id="id" minlength="4" maxlength="4" pattern="[0123456789abcedfABCDEF]{4}" required>
diff --git a/src/main.css b/src/main.css
index a5c93bd..20b8531 100644
--- a/src/main.css
+++ b/src/main.css
@@ -21,7 +21,7 @@ body {
height: 100vh;
width: 100vw;
}
-#page {
+.page {
flex-grow: 1;
max-width: 65vw;
min-width: 45vw;
@@ -37,7 +37,7 @@ hr {
color: var(--text-primary);
width: 100%;
}
-#content {
+.content {
flex-grow: 1;
display: flex;
flex-direction: row;
@@ -122,7 +122,7 @@ form > select.button {
align-self: start;
}
-#page > center > h2 {
+.page > center > h2 {
margin-top: 12px;
margin-bottom: 12px;
}
@@ -153,11 +153,11 @@ header > a, header > a:visited, header > a:link {
}
@media screen and (max-width: 800px) {
- #page {
+ .page {
max-width: 100vw;
min-width: 90vw;
}
- #content > div {
+ .content > div {
width: 100%;
max-width: unset;
}
diff --git a/src/main.js b/src/main.js
index 28013cd..f970abc 100644
--- a/src/main.js
+++ b/src/main.js
@@ -276,15 +276,29 @@ async function update_form_onload() {
}
}
-async function update_form() {
+async function update_password_form() {
const id = get_id();
const session = get_session();
- const name = document.getElementById("name").value;
const old_password = document.getElementById("old_password").value;
const new_password = document.getElementById("new_password").value;
- const url = server + "/user/update/info"
- const body = {"id": id, "session": session, "name": name, "old_password": old_password, "new_password": new_password};
+ const url = server + "/user/update/password"
+ const body = {"id": id, "session": session, "old_password": old_password, "new_password": new_password};
+ const req = await xhttp_post(url, body);
+
+ if (req.status == 200) {
+ window.location.href = host + "/user/"
+ } else {
+ alert(req.status + ": " + req.body)
+ }
+}
+async function update_name_form() {
+ const id = get_id();
+ const session = get_session();
+ const name = document.getElementById("name").value;
+
+ const url = server + "/user/update/name"
+ const body = {"id": id, "session": session, "name": name};
const req = await xhttp_post(url, body);
if (req.status == 200) {
@@ -292,16 +306,18 @@ async function update_form() {
} else {
alert(req.status + ": " + req.body)
}
+
}
async function delete_form() {
const id = get_id();
const session = get_session();
const is_sure = document.getElementById("is_sure").value;
+ const password = document.getElementById("password").value;
if (is_sure == "YES") {
const url = server + "/user/delete"
- const body = {"id": id, "session": session}
+ const body = {"id": id, "session": session, "password": password}
const req = await xhttp_post(url, body);
if (req.status == 200) {
diff --git a/src/register/index.html b/src/register/index.html
index d4e29c7..38bcef7 100644
--- a/src/register/index.html
+++ b/src/register/index.html
@@ -17,12 +17,12 @@
<center class="button navbutton">REGISTER</center>
</a>
</header>
- <div id="page">
+ <div class="page">
<center>
<h2>REGISTER</h2>
</center>
<hr>
- <div id="content">
+ <div class="content">
<form action="javascript:register()" class="formbox" accept-charset=utf-8>
<label for="username">USERNAME</label>
<input type="text" id="username" minlength="1" required>
diff --git a/src/user/delete/index.html b/src/user/delete/index.html
index 7d202f3..1b083c3 100644
--- a/src/user/delete/index.html
+++ b/src/user/delete/index.html
@@ -23,18 +23,20 @@
<center class="button navbutton">LOGOUT</center>
</a>
</header>
- <div id="page">
+ <div class="page">
<center>
<h2>DELETE</h2>
</center>
<hr>
- <div id="content">
+ <div class="content">
<form action="javascript:delete_form()" class="formbox", id="form" accept-charset=utf-8>
<label for="is_sure">ARE YOU SURE?</label>
<select id="is_sure" class="button" required form="form">
<option selected>NO</option>
<option>YES</option>
</select>
+ <label for="password">PASSWORD</label>
+ <input id="password" type="password" required>
<input type="submit" class="button formbutton" value="PERMANENTELY DELETE USER">
</form>
</div>
diff --git a/src/user/index.html b/src/user/index.html
index 72cee0d..12fd680 100644
--- a/src/user/index.html
+++ b/src/user/index.html
@@ -23,12 +23,12 @@
<center class="button navbutton">LOGOUT</center>
</a>
</header>
- <div id="page">
+ <div class="page">
<center>
<h2>USER</h2>
</center>
<hr>
- <div id="content">
+ <div class="content">
<div id="userinfo" class="halfbox">
<h3>User Info</h3>
<p id="user.name"></p>
diff --git a/src/user/transfer/index.html b/src/user/transfer/index.html
index 80dfa3b..479ff13 100644
--- a/src/user/transfer/index.html
+++ b/src/user/transfer/index.html
@@ -23,12 +23,12 @@
<center class="button navbutton">LOGOUT</center>
</a>
</header>
- <div id="page">
+ <div class="page">
<center>
<h2>TRANSFER</h2>
</center>
<hr>
- <div id="content">
+ <div class="content">
<form action="javascript:transfer_form()" class="formbox", id="transferform" accept-charset=utf-8>
<label for="to_id">RECIPIENT ID</label>
<input type="text" id="to_id" minlength="4" maxlength="4" pattern="[0123456789abcedfABCDEF]{4}" required>
diff --git a/src/user/update/index.html b/src/user/update/index.html
index 30d938b..0ec244b 100644
--- a/src/user/update/index.html
+++ b/src/user/update/index.html
@@ -23,15 +23,26 @@
<center class="button navbutton">LOGOUT</center>
</a>
</header>
- <div id="page">
+ <div class="page">
<center>
- <h2>UPDATE INFO</h2>
+ <h2>UPDATE NAME</h2>
</center>
<hr>
- <div id="content">
- <form action="javascript:update_form()" class="formbox", id="transferform" accept-charset=utf-8>
+ <div class="content">
+ <form action="javascript:update_name_form()" class="formbox", id="nameform" accept-charset=utf-8>
<label for="name">USERNAME</label>
<input type="text" id="name">
+ <input type="submit" class="button formbutton" value="UPDATE">
+ </form>
+ </div>
+ </div>
+ <div class="page">
+ <center>
+ <h2>UPDATE PASSWORD</h2>
+ </center>
+ <hr>
+ <div class="content">
+ <form action="javascript:update_password_form()" class="formbox", id="password_form" accept-charset="utf-8">
<label for="old_password">OLD PASSWORD</label>
<input type="password" id="old_password" minlength="4" maxlength="8" required>
<label for="new_password">NEW PASSWORD</label>