From 06566f504bd40255ad7f61fee96aefb95b5882ad Mon Sep 17 00:00:00 2001 From: Fabio Manganiello <fabio@manganiello.tech> Date: Thu, 6 Mar 2025 23:55:27 +0100 Subject: [PATCH] Added `Remember me` checkbox on login page. --- frontend/src/views/Login.vue | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/frontend/src/views/Login.vue b/frontend/src/views/Login.vue index de0969c..15b7115 100644 --- a/frontend/src/views/Login.vue +++ b/frontend/src/views/Login.vue @@ -22,6 +22,13 @@ v-model="password" /> </div> + <div class="row remember"> + <input type="checkbox" + v-model="remember" + :disabled="loading" /> + <label for="remember">Remember me</label> + </div> + <div class="row"> <button type="submit" :disabled="loading"> <font-awesome-icon icon="sign-in-alt" /> @@ -47,6 +54,7 @@ export default { loading: false, username: '', password: '', + remember: false, }; }, @@ -63,6 +71,7 @@ export default { const sessionToken = await this.login({ username: this.username, password: this.password, + expiresAt: this.remember ? new Date(Date.now() + 1000 * 60 * 60 * 24 * 30) : undefined, }); if (sessionToken?.length) { @@ -118,6 +127,18 @@ form { justify-content: center; width: 100%; padding: 0.5em; + + &.remember { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + padding: 0.5em; + + input { + margin-right: 0.75em; + } + } } } </style>