Server: Thumbnail view for front page
This commit is contained in:
parent
8fbf77cfe4
commit
04c5524a4e
2 changed files with 15 additions and 13 deletions
|
@ -1,7 +1,7 @@
|
|||
use crate::{
|
||||
error::Error,
|
||||
extensions::{ProfileExt, SubmissionExt},
|
||||
images::IconImage,
|
||||
images::ThumbnailImage,
|
||||
middleware::UserProfile,
|
||||
nav::NavState,
|
||||
pagination::{
|
||||
|
@ -13,7 +13,7 @@ use crate::{
|
|||
};
|
||||
use actix_web::{web, HttpRequest, HttpResponse};
|
||||
use hyaenidae_accounts::User;
|
||||
use hyaenidae_toolkit::{Button, IndicatorColor, Tile};
|
||||
use hyaenidae_toolkit::{Button, IndicatorColor, Thumbnail};
|
||||
use uuid::Uuid;
|
||||
|
||||
pub(crate) async fn home(
|
||||
|
@ -82,7 +82,7 @@ impl ViewHomeState {
|
|||
Ok(state)
|
||||
}
|
||||
|
||||
pub(crate) fn submissions(&self) -> Vec<Tile> {
|
||||
pub(crate) fn submissions(&self) -> Vec<Thumbnail> {
|
||||
self.submissions
|
||||
.iter()
|
||||
.filter_map(move |submission_id| {
|
||||
|
@ -94,18 +94,20 @@ impl ViewHomeState {
|
|||
let file = self.cache.file_map.get(&file_id)?;
|
||||
let key = file.pictrs_key()?;
|
||||
|
||||
let tile = Tile::new(IconImage::new(key, &submission.title_text()))
|
||||
.title(&submission.title_text())
|
||||
.description(&author.name())
|
||||
.link(&submission.view_path());
|
||||
let thumb = Thumbnail::new(
|
||||
ThumbnailImage::new(key, &submission.title_text()),
|
||||
&submission.view_path(),
|
||||
)
|
||||
.title(&submission.title_text())
|
||||
.author(&author.name(), &author.view_path());
|
||||
|
||||
if submission.files().len() > 1 {
|
||||
Some(tile.indicator(
|
||||
Some(thumb.indicator(
|
||||
&format!("+{}", submission.files().len() - 1),
|
||||
IndicatorColor::White,
|
||||
))
|
||||
} else {
|
||||
Some(tile)
|
||||
Some(thumb)
|
||||
}
|
||||
})
|
||||
.collect()
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
@use crate::templates::layouts::home;
|
||||
@use hyaenidae_toolkit::templates::button_group;
|
||||
@use hyaenidae_toolkit::{templates::{card, card_body, card_section, card_title}, Card};
|
||||
@use hyaenidae_toolkit::{templates::{tile, tiles}, Tiles};
|
||||
@use hyaenidae_toolkit::templates::{thumbnail, thumbnails};
|
||||
|
||||
@(home_view: &ViewHomeState, nav_state: &NavState)
|
||||
|
||||
|
@ -11,9 +11,9 @@
|
|||
@:card(&Card::full_width().dark(nav_state.dark()), {
|
||||
@:card_title({ Submissions })
|
||||
@:card_section({
|
||||
@:tiles(&Tiles::new(), {
|
||||
@for t in home_view.submissions() {
|
||||
@:tile(&t)
|
||||
@:thumbnails({
|
||||
@for thumb in home_view.submissions() {
|
||||
@:thumbnail(&thumb)
|
||||
}
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Reference in a new issue