aboutsummaryrefslogtreecommitdiffstats
path: root/src/Pages/Index.cshtml.cs
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-11-16 17:49:54 +0100
committerivarlovlie <git@ivarlovlie.no>2022-11-16 17:49:54 +0100
commitd949d7aa8b877c25dbd31f09ceb0ddd03e0d055d (patch)
treecd2d787b24805456576b566857e6084897b6d49f /src/Pages/Index.cshtml.cs
parent9ba3cf736fa0c83e6a9850b31d43521cabe8a016 (diff)
downloadlettnytt-d949d7aa8b877c25dbd31f09ceb0ddd03e0d055d.tar.xz
lettnytt-d949d7aa8b877c25dbd31f09ceb0ddd03e0d055d.zip
refactor: Move reader into index page
Diffstat (limited to 'src/Pages/Index.cshtml.cs')
-rw-r--r--src/Pages/Index.cshtml.cs34
1 files changed, 27 insertions, 7 deletions
diff --git a/src/Pages/Index.cshtml.cs b/src/Pages/Index.cshtml.cs
index 80b0ed0..666c75e 100644
--- a/src/Pages/Index.cshtml.cs
+++ b/src/Pages/Index.cshtml.cs
@@ -13,16 +13,36 @@ public class IndexModel : PageModel
_grabber = grabber;
}
- public NewsSource Source { get; set; }
+ public NewsSource FrontPage { get; set; }
+ public NewsArticle Article { get; set; }
+ public string PageTitle { get; set; }
- public async Task<ActionResult> OnGet(string site) {
- Source = site switch {
- "nrk" => await _grabber.GrabNrkAsync(),
- _ => default
+ public async Task<ActionResult> OnGet([FromRoute] string site, [FromQuery] string url = default) {
+ PageTitle = site switch {
+ "nrk" => "NRK",
+ _ => ""
};
- if (Source == default) {
- return Redirect("/nrk");
+ if (url.IsNullOrWhiteSpace()) {
+ FrontPage = site switch {
+ "nrk" => await _grabber.GrabNrkAsync(),
+ _ => default
+ };
+
+ if (FrontPage == default) {
+ return Redirect("/nrk");
+ }
+ } else {
+ Article = site switch {
+ "nrk" => await _grabber.GrabNrkArticleAsync(url),
+ _ => default
+ };
+
+ if (Article == default) {
+ return Redirect(url);
+ }
+
+ PageTitle = PageTitle + " - " + Article.Title;
}
return Page();