use super::*; #[derive(Boilerplate)] pub(crate) struct InscriptionsBlockHtml { pub(crate) block: u32, pub(crate) inscriptions: Vec, pub(crate) prev_block: Option, pub(crate) next_block: Option, pub(crate) prev_page: Option, pub(crate) next_page: Option, } impl InscriptionsBlockHtml { pub(crate) fn new( block: u32, current_blockheight: u32, inscriptions: Vec, page_index: usize, ) -> Result { let num_inscriptions = inscriptions.len(); let start = page_index * 100; let end = usize::min(start + 100, num_inscriptions); if start > num_inscriptions || start > end { return Err(anyhow!("page index {page_index} exceeds inscription count")); } let inscriptions = inscriptions[start..end].to_vec(); Ok(Self { block, inscriptions, prev_block: block.checked_sub(1), next_block: if current_blockheight > block { Some(block + 1) } else { None }, prev_page: if page_index > 0 {