feat: fucking explode i hate this
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
All checks were successful
ci/woodpecker/push/build-and-publish Pipeline was successful
This commit is contained in:
parent
622abc9155
commit
0ddddd210e
2 changed files with 25 additions and 33 deletions
|
@ -1,5 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
|
<input id="hidden-pfp-uploader" type="file" accept="image/*" style="display: none;">
|
||||||
<h1>My Account</h1>
|
<h1>My Account</h1>
|
||||||
|
|
||||||
<div class="profile-and-user-data-fields">
|
<div class="profile-and-user-data-fields">
|
||||||
|
@ -52,21 +53,18 @@ const saveChanges = async () => {
|
||||||
try {
|
try {
|
||||||
const formData = new FormData()
|
const formData = new FormData()
|
||||||
|
|
||||||
if (new_pfp_file) {
|
const upload_field = document.getElementById("hidden-pfp-uploader")
|
||||||
formData.append('avatar', new_pfp_file, new_pfp_file.name)
|
if (upload_field.files?.length && upload_field.files.length > 0) {
|
||||||
new_pfp_file = null
|
console.log(upload_field.files[0])
|
||||||
|
formData.append("avatar", upload_field.files[0])
|
||||||
}
|
}
|
||||||
|
|
||||||
// oh lord praise deep seek v3
|
const bytes = new TextEncoder().encode(JSON.stringify({
|
||||||
const jsonBlob = new Blob(
|
|
||||||
[JSON.stringify({
|
|
||||||
display_name: user.display_name,
|
display_name: user.display_name,
|
||||||
username: user.username,
|
username: user.username,
|
||||||
pronouns: user.pronouns,
|
pronouns: user.pronouns,
|
||||||
})],
|
}));
|
||||||
{ type: 'application/json' }
|
formData.append("json", new Blob([bytes], { type: "application/json" }));
|
||||||
);
|
|
||||||
formData.append('json', jsonBlob, 'data.json');
|
|
||||||
|
|
||||||
await fetchWithApi("/me", {
|
await fetchWithApi("/me", {
|
||||||
method: "PATCH",
|
method: "PATCH",
|
||||||
|
@ -91,29 +89,23 @@ const removeAvatar = async () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const changeAvatar = async () => {
|
const changeAvatar = async () => {
|
||||||
try {
|
const upload_field: HTMLInputElement = document.getElementById("hidden-pfp-uploader")
|
||||||
let input = document.createElement('input');
|
|
||||||
input.type = 'file';
|
|
||||||
input.accept = 'image/*';
|
|
||||||
|
|
||||||
input.onchange = async(e) => {
|
// upload_field.onchange = async(e) => {
|
||||||
const file = e.target.files?.[0];
|
// console.log(upload_field.files)
|
||||||
if (!file) return;
|
// if (upload_field.files?.length && upload_field.files.length > 0) {
|
||||||
|
// const file = upload_field.files[0];
|
||||||
|
// if (!file) return;
|
||||||
|
|
||||||
new_pfp_file = file;
|
// const reader = new FileReader();
|
||||||
|
// reader.onload = (e) => {
|
||||||
|
// user.avatar = e?.target?.result;
|
||||||
|
// };
|
||||||
|
// reader.readAsDataURL(file);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
const reader = new FileReader();
|
upload_field?.click()
|
||||||
reader.onload = (e) => {
|
|
||||||
user.avatar = e?.target?.result;
|
|
||||||
};
|
|
||||||
reader.readAsDataURL(file);
|
|
||||||
}
|
|
||||||
|
|
||||||
input.oncancel = () => alert("cancelled upload!");
|
|
||||||
input.click();
|
|
||||||
} catch (err) {
|
|
||||||
console.error('User canceled or error:', err);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const resetPassword = async () => {
|
const resetPassword = async () => {
|
||||||
|
|
|
@ -4,14 +4,14 @@
|
||||||
<div id="sidebar">
|
<div id="sidebar">
|
||||||
<h4>(Search bar here)</h4>
|
<h4>(Search bar here)</h4>
|
||||||
<ul>
|
<ul>
|
||||||
<template v-for="category in categories" :key="category.display_name">
|
<div v-for="category in categories" :key="category.display_name">
|
||||||
<h2>{{ category.display_name }}</h2>
|
<h2>{{ category.display_name }}</h2>
|
||||||
<li v-for="page in category.pages" :key="page.display_name" @click="selectCategory(category, page)"
|
<li v-for="page in category.pages" :key="page.display_name" @click="selectCategory(category, page)"
|
||||||
:class="{ 'sidebar-focus': selectedPage === page.display_name }">
|
:class="{ 'sidebar-focus': selectedPage === page.display_name }">
|
||||||
{{ page.display_name }}
|
{{ page.display_name }}
|
||||||
</li>
|
</li>
|
||||||
<span class="spacer"></span>
|
<span class="spacer"></span>
|
||||||
</template>
|
</div>
|
||||||
|
|
||||||
<ButtonScary text="Log Out" :callback=logout></ButtonScary>
|
<ButtonScary text="Log Out" :callback=logout></ButtonScary>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue