My personal site cherry.computer
htmx tailwind axum askama
at main 23 lines 639 B view raw
1use std::sync::Arc; 2 3use crate::scrapers::{Media, MediaType, apple_music::AppleMusicClient, backloggd, letterboxd}; 4 5use askama::Template; 6 7#[derive(Template, Debug, Clone)] 8#[template(path = "media.html")] 9pub struct MediaTemplate { 10 pub media_type: MediaType, 11 pub media: Media, 12} 13 14pub async fn fetch_media_of_type( 15 media_type: MediaType, 16 apple_music_client: Arc<AppleMusicClient>, 17) -> Option<Media> { 18 match media_type { 19 MediaType::Game => backloggd::cached_fetch().await, 20 MediaType::Film => letterboxd::cached_fetch().await, 21 MediaType::Song => apple_music_client.cached_fetch().await, 22 } 23}