1
0
Fork 0
mirror of https://git.sr.ht/~roxwize/mipilin synced 2025-01-31 02:53:36 +00:00
mipilin/views/dashboard.pug
roxwize 961d963677
Some iprovements idfk
Signed-off-by: roxwize <rae@roxwize.xyz>
2025-01-27 23:34:46 -05:00

75 lines
2.5 KiB
Text

extends site.pug
include _util.pug
block head
link(rel="stylesheet", href="/css/dashboard.css")
style
| #content { margin-left: 256px; }
block page
#sidebar
h1 Profile
form#dashboard-profile(action=`/users/${user.name}/edit`, method="post")
textarea(placeholder="bio (max 1024 chars)", maxlength="1024", name="bio", rows=5)= user.bio
input(type="url", name="website", placeholder="website", value=user.website)
button(type="submit") Edit
h1(style="margin-top:1em;") Mood history
ul#dashboard-mood-history
for mood of moodHistory
li
strong= mood.mood
|
| #{mood.date}
block content
p
a(href="#feed") Feed
| /
a(href="#invite-codes") Invite codes
p This is where you "MIPILIN"! That is all you need to know!!!
p If onlookers notice your actions and inquire about what you are doing, you MUST tell them that you are mipilining all over the place, and then PROMPTLY SCROLL DOWN AND GENERATE AN INVITE CODE SO THAT THEY CAN MIPILIN TOO. If you do not do this I will cry.
form#dashboard-update-form(action="/update/mood", method="post", onsubmit="disable(this);")
select(name="mood", required)
//- Maybe put the index of the mood in the value of the option element
//- so that indexOf (slow) wont have to be used everytime mood is updated
for mood of moodsSorted
option= mood
textarea(name="desc", placeholder="mood description (max 512 chars)", rows="5", maxlength="512")
button(type="submit") Update
h1#feed(style="margin-top:0.5em;") Feed
include _feed.pug
+feed(recentUpdates)
h1#invite-codes(style="margin-top:1em;") Invite codes
p Invite your friends to the mipilin beta! You can create up to five invite codes every month, and they all expire within a week.
p
| Your current invite codes (
strong= codesUsed
| /5):
if codes.length > 0
table
tbody
tr
th Token
th Expires
for code of codes
tr
td= code.token
+invite_code_expiration(code)
else
.subtle You have no currently active invite codes.
br
form(action="/codes/create", method="post")
button(type="submit", disabled=codesUsed>=5) Generate
script(nonce=nonce).
function disable(form) {
form.preventDefault();
const btn = form.querySelector("button");
btn.preventDefault();
btn.setAttribute("disabled", true);
setTimeout(() => {
btn.removeAttribute("disabled");
}, 3000)
}