~jan0sch/smederee
Showing details for patch 7ba223b7cc2883952a1492af5523ab32d6cfd6af.
diff -rN -u old-smederee/modules/hub/src/main/scala/de/smederee/hub/LandingPageRoutes.scala new-smederee/modules/hub/src/main/scala/de/smederee/hub/LandingPageRoutes.scala --- old-smederee/modules/hub/src/main/scala/de/smederee/hub/LandingPageRoutes.scala 2025-02-01 18:49:41.827612500 +0000 +++ new-smederee/modules/hub/src/main/scala/de/smederee/hub/LandingPageRoutes.scala 2025-02-01 18:49:41.831612505 +0000 @@ -43,57 +43,95 @@ // The URL that shall be used in the `action` field of the form. private val signupUri = linkConfig.createFullUri(uri"/signup") - private val contact: HttpRoutes[F] = HttpRoutes.of { case req @ GET -> Root / "contact" => + private val contact: AuthedRoutes[Account, F] = AuthedRoutes.of { case ar @ GET -> Root / "contact" as user => + for { + csrf <- Sync[F].delay(ar.req.getCsrfToken) + resp <- Ok(views.html.contact(baseUri)(csrf, "Smederee - Contact".some, user.some)) + } yield resp + } + + private val contactForGuests: HttpRoutes[F] = HttpRoutes.of { case req @ GET -> Root / "contact" => for { csrf <- Sync[F].delay(req.getCsrfToken) resp <- Ok(views.html.contact(baseUri)(csrf, "Smederee - Contact".some)) } yield resp } - private val imprint: HttpRoutes[F] = HttpRoutes.of { case req @ GET -> Root / "imprint" => + private val imprint: AuthedRoutes[Account, F] = AuthedRoutes.of { case ar @ GET -> Root / "imprint" as user => + for { + csrf <- Sync[F].delay(ar.req.getCsrfToken) + resp <- Ok(views.html.imprint(baseUri)(csrf, "Smederee - Imprint / Impressum".some, user.some)) + } yield resp + } + + private val imprintForGuests: HttpRoutes[F] = HttpRoutes.of { case req @ GET -> Root / "imprint" => for { csrf <- Sync[F].delay(req.getCsrfToken) resp <- Ok(views.html.imprint(baseUri)(csrf, "Smederee - Imprint / Impressum".some)) } yield resp } - private val mainSiteForLoggedInUsers: AuthedRoutes[Account, F] = AuthedRoutes.of { case ar @ GET -> Root as user => + private val mainSite: AuthedRoutes[Account, F] = AuthedRoutes.of { case ar @ GET -> Root as user => for { csrf <- Sync[F].delay(ar.req.getCsrfToken) resp <- Ok(views.html.index(baseUri)()(signupUri, csrf, "Welcome to the Smederee!".some, user.some)) } yield resp } - private val mainSite: HttpRoutes[F] = HttpRoutes.of { case req @ GET -> Root => + private val mainSiteForGuests: HttpRoutes[F] = HttpRoutes.of { case req @ GET -> Root => for { csrf <- Sync[F].delay(req.getCsrfToken) resp <- Ok(views.html.index(baseUri)()(signupUri, csrf, "Welcome to the Smederee!".some)) } yield resp } - private val privacyPolicy: HttpRoutes[F] = HttpRoutes.of { case req @ GET -> Root / "privacy-policy" => + private val privacyPolicy: AuthedRoutes[Account, F] = AuthedRoutes.of { + case ar @ GET -> Root / "privacy-policy" as user => + for { + csrf <- Sync[F].delay(ar.req.getCsrfToken) + resp <- Ok(views.html.privacyPolicy(baseUri)(csrf, "Smederee - Privacy Policy".some, user.some)) + } yield resp + } + + private val privacyPolicyForGuests: HttpRoutes[F] = HttpRoutes.of { case req @ GET -> Root / "privacy-policy" => for { csrf <- Sync[F].delay(req.getCsrfToken) resp <- Ok(views.html.privacyPolicy(baseUri)(csrf, "Smederee - Privacy Policy".some)) } yield resp } - private val publicAlpha: HttpRoutes[F] = HttpRoutes.of { case req @ GET -> Root / "public-alpha" => + private val publicAlpha: AuthedRoutes[Account, F] = AuthedRoutes.of { + case ar @ GET -> Root / "public-alpha" as user => + for { + csrf <- Sync[F].delay(ar.req.getCsrfToken) + resp <- Ok(views.html.publicAlpha(baseUri)(csrf, "Smederee - Details about our public alpha.".some, user.some)) + } yield resp + } + + private val publicAlphaForGuests: HttpRoutes[F] = HttpRoutes.of { case req @ GET -> Root / "public-alpha" => for { csrf <- Sync[F].delay(req.getCsrfToken) resp <- Ok(views.html.publicAlpha(baseUri)(csrf, "Smederee - Details about our public alpha.".some)) } yield resp } - private val termsOfUse: HttpRoutes[F] = HttpRoutes.of { case req @ GET -> Root / "terms-of-use" => + private val termsOfUse: AuthedRoutes[Account, F] = AuthedRoutes.of { case ar @ GET -> Root / "terms-of-use" as user => + for { + csrf <- Sync[F].delay(ar.req.getCsrfToken) + resp <- Ok(views.html.termsOfUse(baseUri)(csrf, "Smederee - Terms of Use".some, user.some)) + } yield resp + } + + private val termsOfUseForGuests: HttpRoutes[F] = HttpRoutes.of { case req @ GET -> Root / "terms-of-use" => for { csrf <- Sync[F].delay(req.getCsrfToken) resp <- Ok(views.html.termsOfUse(baseUri)(csrf, "Smederee - Terms of Use".some)) } yield resp } - val protectedRoutes = mainSiteForLoggedInUsers + val protectedRoutes = contact <+> imprint <+> privacyPolicy <+> publicAlpha <+> termsOfUse <+> mainSite - val routes = contact <+> imprint <+> privacyPolicy <+> publicAlpha <+> termsOfUse <+> mainSite + val routes = + contactForGuests <+> imprintForGuests <+> privacyPolicyForGuests <+> publicAlphaForGuests <+> termsOfUseForGuests <+> mainSiteForGuests } diff -rN -u old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/contact.scala.html new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/contact.scala.html --- old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/contact.scala.html 2025-02-01 18:49:41.827612500 +0000 +++ new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/contact.scala.html 2025-02-01 18:49:41.831612505 +0000 @@ -1,4 +1,4 @@ -@(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"))(csrf: Option[CsrfToken] = None, title: Option[String] = None) +@(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"))(csrf: Option[CsrfToken] = None, title: Option[String] = None, user: Option[Account] = None) @myHeaders = { <link rel="stylesheet" href="@{baseUri.addPath("assets/css/landingpage.css")}" /> <style> @@ -23,7 +23,7 @@ </footer> } } -@main(baseUri, lang)(customFooters = myFooters, customHeaders = myHeaders)(csrf, title) { +@main(baseUri, lang)(customFooters = myFooters, customHeaders = myHeaders)(csrf, title, user) { @defining(lang.toLocale) { implicit locale => <div class="content"> <div class="pure-g"> diff -rN -u old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/imprint.scala.html new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/imprint.scala.html --- old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/imprint.scala.html 2025-02-01 18:49:41.827612500 +0000 +++ new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/imprint.scala.html 2025-02-01 18:49:41.831612505 +0000 @@ -1,4 +1,4 @@ -@(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"))(csrf: Option[CsrfToken] = None, title: Option[String] = None) +@(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"))(csrf: Option[CsrfToken] = None, title: Option[String] = None, user: Option[Account] = None) @myHeaders = { <link rel="stylesheet" href="@{baseUri.addPath("assets/css/landingpage.css")}" /> <style> @@ -23,7 +23,7 @@ </footer> } } -@main(baseUri, lang)(customFooters = myFooters, customHeaders = myHeaders)(csrf, title) { +@main(baseUri, lang)(customFooters = myFooters, customHeaders = myHeaders)(csrf, title, user) { @defining(lang.toLocale) { implicit locale => <div class="content"> <div class="pure-g"> diff -rN -u old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/login.scala.html new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/login.scala.html --- old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/login.scala.html 2025-02-01 18:49:41.827612500 +0000 +++ new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/login.scala.html 2025-02-01 18:49:41.831612505 +0000 @@ -1,7 +1,7 @@ @import LoginForm._ @(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"))(action: Uri, csrf: Option[CsrfToken] = None, title: Option[String] = None)(formData: Map[String, String] = Map.empty, formErrors: FormErrors = FormErrors.empty) -@main(baseUri, lang)()(csrf, title) { +@main(baseUri, lang)()(csrf, title, user = None) { @defining(lang.toLocale) { implicit locale => <div class="content"> <div class="pure-g"> diff -rN -u old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/main.scala.html new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/main.scala.html --- old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/main.scala.html 2025-02-01 18:49:41.827612500 +0000 +++ new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/main.scala.html 2025-02-01 18:49:41.831612505 +0000 @@ -1,4 +1,4 @@ -@(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"), tags: MetaTags = MetaTags.empty)(customFooters: Html = Html(""), customHeaders: Html = Html(""))(csrf: Option[CsrfToken] = None, title: Option[String] = None, user: Option[Account] = None)(content: Html) +@(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"), tags: MetaTags = MetaTags.empty)(customFooters: Html = Html(""), customHeaders: Html = Html(""))(csrf: Option[CsrfToken], title: Option[String], user: Option[Account])(content: Html) @defining(lang.toLocale) { implicit locale => <!DOCTYPE html> <html lang="@lang"> diff -rN -u old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/privacyPolicy.scala.html new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/privacyPolicy.scala.html --- old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/privacyPolicy.scala.html 2025-02-01 18:49:41.827612500 +0000 +++ new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/privacyPolicy.scala.html 2025-02-01 18:49:41.831612505 +0000 @@ -1,4 +1,4 @@ -@(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"))(csrf: Option[CsrfToken] = None, title: Option[String] = None) +@(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"))(csrf: Option[CsrfToken] = None, title: Option[String] = None, user: Option[Account] = None) @myHeaders = { <link rel="stylesheet" href="@{baseUri.addPath("assets/css/landingpage.css")}" /> <style> @@ -23,7 +23,7 @@ </footer> } } -@main(baseUri, lang)(customFooters = myFooters, customHeaders = myHeaders)(csrf, title) { +@main(baseUri, lang)(customFooters = myFooters, customHeaders = myHeaders)(csrf, title, user) { @defining(lang.toLocale) { implicit locale => <div class="content"> <div class="pure-g"> diff -rN -u old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/publicAlpha.scala.html new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/publicAlpha.scala.html --- old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/publicAlpha.scala.html 2025-02-01 18:49:41.827612500 +0000 +++ new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/publicAlpha.scala.html 2025-02-01 18:49:41.831612505 +0000 @@ -1,4 +1,4 @@ -@(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"))(csrf: Option[CsrfToken] = None, title: Option[String] = None) +@(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"))(csrf: Option[CsrfToken] = None, title: Option[String] = None, user: Option[Account] = None) @myHeaders = { <link rel="stylesheet" href="@{baseUri.addPath("assets/css/landingpage.css")}" /> <style> @@ -23,7 +23,7 @@ </footer> } } -@main(baseUri, lang)(customFooters = myFooters, customHeaders = myHeaders)(csrf, title) { +@main(baseUri, lang)(customFooters = myFooters, customHeaders = myHeaders)(csrf, title, user) { @defining(lang.toLocale) { implicit locale => <div class="content"> <div class="pure-g"> diff -rN -u old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/signup.scala.html new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/signup.scala.html --- old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/signup.scala.html 2025-02-01 18:49:41.831612505 +0000 +++ new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/signup.scala.html 2025-02-01 18:49:41.831612505 +0000 @@ -1,7 +1,7 @@ @import SignupForm._ @(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"))(action: Uri, csrf: Option[CsrfToken] = None, title: Option[String] = None)(formData: Map[String, String] = Map.empty, formErrors: FormErrors = FormErrors.empty) -@main(baseUri, lang)()(csrf, title) { +@main(baseUri, lang)()(csrf, title, user = None) { @defining(lang.toLocale) { implicit locale => <div class="content"> <div class="pure-g"> diff -rN -u old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/termsOfUse.scala.html new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/termsOfUse.scala.html --- old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/termsOfUse.scala.html 2025-02-01 18:49:41.831612505 +0000 +++ new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/termsOfUse.scala.html 2025-02-01 18:49:41.831612505 +0000 @@ -1,4 +1,4 @@ -@(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"))(csrf: Option[CsrfToken] = None, title: Option[String] = None) +@(baseUri: Uri = Uri(path = Uri.Path.Root), lang: LanguageCode = LanguageCode("en"))(csrf: Option[CsrfToken] = None, title: Option[String] = None, user: Option[Account] = None) @myHeaders = { <link rel="stylesheet" href="@{baseUri.addPath("assets/css/landingpage.css")}" /> <style> @@ -23,7 +23,7 @@ </footer> } } -@main(baseUri, lang)(customFooters = myFooters, customHeaders = myHeaders)(csrf, title) { +@main(baseUri, lang)(customFooters = myFooters, customHeaders = myHeaders)(csrf, title, user) { @defining(lang.toLocale) { implicit locale => <div class="content"> <div class="pure-g"> diff -rN -u old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/welcome.scala.html new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/welcome.scala.html --- old-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/welcome.scala.html 2025-02-01 18:49:41.831612505 +0000 +++ new-smederee/modules/hub/src/main/twirl/de/smederee/hub/views/welcome.scala.html 2025-02-01 18:49:41.831612505 +0000 @@ -1,5 +1,5 @@ @(baseUri: Uri, lang: LanguageCode = LanguageCode("en"))(csrf: Option[CsrfToken] = None, title: Option[String] = None) -@main(baseUri, lang)()(csrf, title) { +@main(baseUri, lang)()(csrf, title, user = None) { @defining(lang.toLocale) { implicit locale => <div class="content"> <h1 class="content-head is-center" style="color: #34495e; text-align: center;">@Messages("landingpage.welcome.title")</h2>