Add auth form

This commit is contained in:
Paul Mathieu 2022-09-07 19:32:48 +02:00
parent 235d9272ed
commit 419e991562

View File

@ -4,7 +4,7 @@ const backend_api = {
'dev': 'http://scrawny.local:3000', 'dev': 'http://scrawny.local:3000',
}[config]; }[config];
const token = localStorage.getItem('token'); let token = localStorage.getItem('token');
async function getBandz() { async function getBandz() {
const uri = `${backend_api}/bandz`; const uri = `${backend_api}/bandz`;
@ -23,6 +23,16 @@ async function wrapAChikin(req) {
return res.chikinId; return res.chikinId;
} }
async function authenticate(password) {
const uri = `${backend_api}/toktok`;
const res = await $.ajax(uri, {
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({password}),
});
return res;
}
function printLabel(chikinId) { function printLabel(chikinId) {
const uri = `${backend_api}/print`; const uri = `${backend_api}/print`;
$.ajax(uri, { $.ajax(uri, {
@ -56,10 +66,10 @@ $(document).ready(() => {
const action = $('<div class="section">') const action = $('<div class="section">')
.append( .append(
$('<a class="btn">wrap-a-chikin<i class="material-icons right">send</i></a>') $('<a class="btn" id="send">wrap-a-chikin<i class="material-icons right">send</i></a>')
.click(async () => { .click(async () => {
loader.show(); loader.show();
$('.btn').addClass("disabled"); $('#send').addClass("disabled");
const req = { const req = {
bandId: $('select').val(), bandId: $('select').val(),
@ -73,7 +83,7 @@ $(document).ready(() => {
} finally { } finally {
loader.hide(); loader.hide();
$('#weight').val(''); $('#weight').val('');
$('.btn').removeClass('disabled'); $('#send').removeClass('disabled');
} }
}) })
); );
@ -97,6 +107,36 @@ $(document).ready(() => {
$('select').formSelect(); $('select').formSelect();
}); });
const authBlock = $('<div id="authBlock">').hide()
.append(
$('<div class="input-field col s12">')
.append('<input type="password" id="password">')
.append('<label>password</label>')
)
.append(
$('<div class="input-field col s12">').append(
$('<a class="btn">authenticate</a>')
.click(async () => {
const {token:tok} = await authenticate($('#password').val());
localStorage.setItem('token', tok);
token = tok;
$('#authBlock').hide();
})
)
);
appbody.append(authBlock);
let tapped = 0;
$('.page-footer').click(() => {
tapped += 1;
if (tapped >= 7) {
tapped = 0;
$('#authBlock').show();
}
});
$('select').formSelect(); $('select').formSelect();
$('.datepicker').datepicker({setDefaultDate: true, defaultDate: new Date()}); $('.datepicker').datepicker({setDefaultDate: true, defaultDate: new Date()});
}); });