Files

88 lines
2.4 KiB
Svelte
Raw Permalink Normal View History

2023-10-02 23:10:49 +03:00
<script>
import ErrorAlert from "../common/ErrorAlert.svelte";
import SpinnerButton from "../common/SpinnerButton.svelte";
import Avatar from "./Avatar.svelte";
2026-05-07 22:50:02 +03:00
import { getContext } from "svelte";
2023-10-17 18:30:41 +03:00
import SuccessAlert from "../common/SuccessAlert.svelte";
2026-05-07 22:50:02 +03:00
import { apiPost } from "../../helpers";
2023-10-02 23:10:49 +03:00
const user = getContext("user");
2023-10-04 23:48:12 +03:00
const channel = getContext("channel");
2023-10-02 23:10:49 +03:00
let name = user.name;
let email = user.email;
let errorMessage = "";
2023-10-17 18:30:41 +03:00
let successAlert;
2023-10-02 23:10:49 +03:00
function saveName(e) {
e.preventDefault();
errorMessage = "";
2026-05-07 22:50:02 +03:00
apiPost(channel.lucentUrl + "/account/update-name", {
name: name,
})
2023-10-02 23:10:49 +03:00
.then((response) => {
2023-10-17 18:30:41 +03:00
successAlert.show();
2023-10-02 23:10:49 +03:00
})
.catch((error) => {
errorMessage = error.response?.data.error;
2026-05-07 22:50:02 +03:00
console.log({ errorMessage });
2023-10-02 23:10:49 +03:00
});
}
function saveEmail(e) {
e.preventDefault();
errorMessage = "";
2026-05-07 22:50:02 +03:00
apiPost(channel.lucentUrl + "/account/update-email", {
email: email,
})
2023-10-02 23:10:49 +03:00
.then((response) => {
2023-10-17 18:30:41 +03:00
successAlert.show();
2023-10-02 23:10:49 +03:00
})
.catch((error) => {
errorMessage = error.response?.data.error;
2026-05-07 22:50:02 +03:00
console.log({ errorMessage });
2023-10-02 23:10:49 +03:00
});
}
</script>
<div class="wrapper-tiny">
2026-05-07 22:50:02 +03:00
<ErrorAlert message={errorMessage} />
2023-10-17 18:30:41 +03:00
<SuccessAlert bind:this={successAlert} />
2023-10-02 23:10:49 +03:00
<h3 class="header-small mb-5">
2026-05-07 22:50:02 +03:00
<Avatar name={user.name} />
2023-10-02 23:10:49 +03:00
</h3>
<form on:submit={saveName}>
2024-08-17 21:10:01 +03:00
<div class="input-group mb-5">
2023-10-02 23:10:49 +03:00
<input
2026-05-07 22:50:02 +03:00
type="text"
bind:value={name}
class="form-control mb-3"
placeholder="Name"
required
2023-10-17 18:30:41 +03:00
/>
2026-05-07 22:50:02 +03:00
<SpinnerButton label="Update Name" />
2023-10-17 18:30:41 +03:00
</div>
</form>
<form on:submit={saveEmail}>
2024-08-17 21:10:01 +03:00
<div class="input-group mb-5">
2023-10-17 18:30:41 +03:00
<input
2026-05-07 22:50:02 +03:00
type="email"
bind:value={email}
class="form-control mb-3"
placeholder="Email"
required
2023-10-02 23:10:49 +03:00
/>
2026-05-07 22:50:02 +03:00
<SpinnerButton label="Update Email" />
2023-10-02 23:10:49 +03:00
</div>
</form>
<div class="list-group">
2026-05-07 22:50:02 +03:00
<a
class="list-group-item list-group-item-action"
href="{channel.lucentUrl}/logout">Logout from this device</a
>
2023-10-02 23:10:49 +03:00
</div>
</div>