From e1d0cc61707c25c5ce75cf083f7ee2777bf82e0d Mon Sep 17 00:00:00 2001 From: Craig Mayhew Date: Wed, 21 Feb 2024 12:19:45 +0000 Subject: [PATCH] simplified code block for prev/next links --- src/pages/archive/fibonacci.rs | 37 +++++++++++++++------------------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/src/pages/archive/fibonacci.rs b/src/pages/archive/fibonacci.rs index ffcf72c..83deb87 100644 --- a/src/pages/archive/fibonacci.rs +++ b/src/pages/archive/fibonacci.rs @@ -57,32 +57,24 @@ pub fn render(slug: String) -> Node { )]); } - let href_prev: String; - let prev_link: Vec>; - if slug_int <= 1 { - prev_link = vec![]; + let prev_link: Vec> = if slug_int <= 1 { + Vec::new() } else if slug_int <= 25 { - href_prev = "/archive/fibonacci/1/".to_string(); - prev_link = vec![a![ + vec![a![ "back to 1st fibonacci numbers", - attrs! {At::Class => "link", At::Href => href_prev} - ]]; + attrs! {At::Class => "link", At::Href => "/archive/fibonacci/1/".to_string()} + ]] } else { - href_prev = format!( - "/archive/fibonacci/{}/", - &(slug_int - numbers_per_page).to_string() - ); - prev_link = vec![a![ + vec![a![ "previous ", numbers_per_page.to_string(), " fibonacci numbers", - attrs! {At::Class => "link", At::Href => href_prev} - ]]; - } - let href_next: String = format!( - "/archive/fibonacci/{}/", - &(slug_int + numbers_per_page).to_string() - ); + attrs! {At::Class => "link", At::Href => format!( + "/archive/fibonacci/{}/", + &(slug_int - numbers_per_page).to_string() + )} + ]] + }; div![ h1!["The Fibonacci Numbers"], @@ -102,7 +94,10 @@ pub fn render(slug: String) -> Node { "next ", numbers_per_page.to_string(), " fibonacci numbers", - attrs! {At::Class => "link", At::Href => href_next} + attrs! {At::Class => "link", At::Href => format!( + "/archive/fibonacci/{}/", + &(slug_int + numbers_per_page).to_string() + )} ], br![], br![],