aboutsummaryrefslogtreecommitdiffstats
path: root/src/app/Views
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/Views')
-rw-r--r--src/app/Views/profile/edit.php59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/app/Views/profile/edit.php b/src/app/Views/profile/edit.php
new file mode 100644
index 0000000..45c9be9
--- /dev/null
+++ b/src/app/Views/profile/edit.php
@@ -0,0 +1,59 @@
+<?php // Profile editing page: separate forms for username, email, password, and notifications.?>
+<div class="profile-page">
+ <h1>Profile settings</h1>
+ <?php include __DIR__ . '/../partials/flash.php'; ?>
+
+ <section class="profile-section">
+ <h2>Username</h2>
+ <form method="POST" action="/profile/username" class="profile-form">
+ <?= \App\Csrf::field() ?>
+ <label for="username">Username</label>
+ <input type="text" id="username" name="username"
+ value="<?= htmlspecialchars($user['username']) ?>"
+ required pattern="[a-zA-Z0-9_]{3,20}">
+ <button type="submit">Update username</button>
+ </form>
+ </section>
+
+ <section class="profile-section">
+ <h2>Email</h2>
+ <p class="hint">Changing your email will require re-verification.</p>
+ <form method="POST" action="/profile/email" class="profile-form">
+ <?= \App\Csrf::field() ?>
+ <label for="email">Email</label>
+ <input type="email" id="email" name="email"
+ value="<?= htmlspecialchars($user['email']) ?>" required>
+ <button type="submit">Update email</button>
+ </form>
+ </section>
+
+ <section class="profile-section">
+ <h2>Password</h2>
+ <form method="POST" action="/profile/password" class="profile-form">
+ <?= \App\Csrf::field() ?>
+ <label for="current_password">Current password</label>
+ <input type="password" id="current_password" name="current_password" required>
+
+ <label for="new_password">New password</label>
+ <input type="password" id="new_password" name="new_password" required minlength="8">
+
+ <label for="new_password_confirm">Confirm new password</label>
+ <input type="password" id="new_password_confirm" name="new_password_confirm" required minlength="8">
+
+ <button type="submit">Update password</button>
+ </form>
+ </section>
+
+ <section class="profile-section">
+ <h2>Notifications</h2>
+ <form method="POST" action="/profile/notifications" class="profile-form">
+ <?= \App\Csrf::field() ?>
+ <label class="checkbox-label">
+ <input type="checkbox" name="notify_comments"
+ <?= $user['notify_comments'] ? 'checked' : '' ?>>
+ Email me when someone comments on my posts
+ </label>
+ <button type="submit">Save preferences</button>
+ </form>
+ </section>
+</div>