98 lines
3.7 KiB
HTML
98 lines
3.7 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>LinkLog Profile</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<link rel="stylesheet" href="/static/style.css" />
|
|
</head>
|
|
<body>
|
|
<header class="site-header">
|
|
<div class="container">
|
|
<div class="header-row">
|
|
<h1>Profile</h1>
|
|
<div class="header-actions">
|
|
<button class="menu-toggle" type="button" aria-expanded="false" aria-controls="auth-menu">Menu</button>
|
|
<nav id="auth-menu" class="auth-menu hidden" aria-label="Account menu">
|
|
<a id="auth-home-link" href="/">Home</a>
|
|
<a id="auth-login-button" href="/login">Sign in</a>
|
|
<a id="auth-profile-link" class="hidden" href="/profile">Profile</a>
|
|
<a id="auth-admin-link" class="hidden" href="/admin">Admin</a>
|
|
<div id="auth-session" class="auth-session hidden">
|
|
<a id="auth-username" class="user-name" href="/"></a>
|
|
</div>
|
|
<button id="logout-button" class="logout-button hidden" type="button">Sign out</button>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
|
|
<main class="container">
|
|
<section class="link-item settings-panel">
|
|
<h2>Profile Settings</h2>
|
|
<form id="profile-form">
|
|
<label>
|
|
Username
|
|
<output id="username" class="readonly-value">Loading...</output>
|
|
</label>
|
|
<label>
|
|
Email
|
|
<input id="email" name="email" type="email" required />
|
|
</label>
|
|
<label>
|
|
Bio
|
|
<textarea id="bio" name="bio" rows="4"></textarea>
|
|
</label>
|
|
<label>
|
|
Avatar image
|
|
<input id="avatar-file" name="avatar" type="file" accept="image/png,image/jpeg,image/gif,image/webp" />
|
|
</label>
|
|
<img id="avatar-preview" class="profile-avatar-preview hidden" alt="Avatar preview" />
|
|
<button type="submit">Save profile</button>
|
|
<p id="profile-status" class="status" role="status"></p>
|
|
</form>
|
|
</section>
|
|
|
|
<section class="link-item settings-panel">
|
|
<h2>Password</h2>
|
|
<form id="password-form">
|
|
<label>
|
|
Current password
|
|
<input name="current_password" type="password" autocomplete="current-password" required />
|
|
</label>
|
|
<label>
|
|
New password
|
|
<input name="new_password" type="password" minlength="8" autocomplete="new-password" required />
|
|
</label>
|
|
<button type="submit">Change password</button>
|
|
<p id="password-status" class="status" role="status"></p>
|
|
</form>
|
|
</section>
|
|
|
|
<section class="link-item settings-panel">
|
|
<h2>Mastodon</h2>
|
|
<form id="mastodon-form">
|
|
<label>
|
|
Instance
|
|
<input id="mastodon-instance" name="instance" type="text" value="mastodon.social" placeholder="mastodon.social" />
|
|
</label>
|
|
<label>
|
|
Access token
|
|
<input id="mastodon-access-token" name="access_token" type="password" autocomplete="off" />
|
|
</label>
|
|
<label>
|
|
Post prefix
|
|
<input id="mastodon-post-prefix" name="post_prefix" type="text" value="From my #LinkLog: "" />
|
|
</label>
|
|
<button type="submit">Save Mastodon settings</button>
|
|
<p id="mastodon-status" class="status" role="status"></p>
|
|
</form>
|
|
</section>
|
|
</main>
|
|
<script src="/static/auth-header.js?v=3"></script>
|
|
<script src="/static/logout.js?v=2"></script>
|
|
<script src="/static/profile.js?v=2"></script>
|
|
</body>
|
|
</html>
|