From a15ae9e54157d232ca6249670f974575f6e85992 Mon Sep 17 00:00:00 2001 From: ansengarvin <45224464+ansengarvin@users.noreply.github.com> Date: Fri, 26 Apr 2024 10:31:32 -0700 Subject: [PATCH] Locking some article pages behind login (#249) * Locked new upload page, article creation page, and article edit page behind login * Locked article edit page behind login --- frontend/src/routes/Article.svelte | 6 ++++++ frontend/src/routes/EditArticle.svelte | 8 ++++++++ frontend/src/routes/Upload.svelte | 11 +++++++++++ frontend/src/routes/UploadArticle.svelte | 10 ++++++++++ 4 files changed, 35 insertions(+) diff --git a/frontend/src/routes/Article.svelte b/frontend/src/routes/Article.svelte index 1b7b6a3a..99d367d2 100644 --- a/frontend/src/routes/Article.svelte +++ b/frontend/src/routes/Article.svelte @@ -29,6 +29,12 @@ let article: Article; let notFound = false; onMount(async () => { + if (editMode && !$user.loggedIn) { + alert( + "You are not logged in. You are being redirected to home. TODO: Make this better." + ); + navigate("/"); + } await refreshArticle(); }); diff --git a/frontend/src/routes/EditArticle.svelte b/frontend/src/routes/EditArticle.svelte index 27992ff8..ab4fff3c 100644 --- a/frontend/src/routes/EditArticle.svelte +++ b/frontend/src/routes/EditArticle.svelte @@ -3,6 +3,7 @@ import { navigate } from "svelte-routing"; import { Backend, setToken, type Article } from "../lib/backend"; import { onMount } from "svelte"; + import { user } from "../lib/stores/user"; export let articleTitle: string; let title: string = ""; @@ -13,6 +14,13 @@ let error = false; let article: Article; onMount(async () => { + if (!$user.loggedIn) { + alert( + "You are not logged in. You are being redirected to home. TODO: Make this better." + ); + navigate("/"); + } + try { article = await Backend.getArticle(articleTitle); } catch (e) { diff --git a/frontend/src/routes/Upload.svelte b/frontend/src/routes/Upload.svelte index 18ae3782..4b0f9efd 100644 --- a/frontend/src/routes/Upload.svelte +++ b/frontend/src/routes/Upload.svelte @@ -7,6 +7,17 @@ UploadSolid, } from "flowbite-svelte-icons"; import { navigate } from "svelte-routing"; + import { onMount } from "svelte"; + import { user } from "../lib/stores/user"; + + onMount(async () => { + if (!$user.loggedIn) { + alert( + "You are not logged in. You are being redirected to home. TODO: Make this better." + ); + navigate("/"); + } + })
diff --git a/frontend/src/routes/UploadArticle.svelte b/frontend/src/routes/UploadArticle.svelte index 97e18d25..927b39b1 100644 --- a/frontend/src/routes/UploadArticle.svelte +++ b/frontend/src/routes/UploadArticle.svelte @@ -2,9 +2,19 @@ import { Label, Input, Button, Helper } from "flowbite-svelte"; import { navigate } from "svelte-routing"; import { Backend, setToken } from "../lib/backend"; + import { onMount } from "svelte"; + import { user } from "../lib/stores/user"; let title: string = ""; let description: string = ""; let error = false; + onMount(async () => { + if (!$user.loggedIn) { + alert( + "You are not logged in. You are being redirected to home. TODO: Make this better." + ); + navigate("/"); + } + })