diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2022-11-16 17:49:54 +0100 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2022-11-16 17:49:54 +0100 |
| commit | d949d7aa8b877c25dbd31f09ceb0ddd03e0d055d (patch) | |
| tree | cd2d787b24805456576b566857e6084897b6d49f /src/Pages/Index.cshtml.cs | |
| parent | 9ba3cf736fa0c83e6a9850b31d43521cabe8a016 (diff) | |
| download | lettnytt-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.cs | 34 |
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(); |
