Shopping list (WIP)
This commit is contained in:
parent
ce3821b94e
commit
084be9fb00
16 changed files with 296 additions and 90 deletions
35
frontend/src/shopping_list.rs
Normal file
35
frontend/src/shopping_list.rs
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
use chrono::{Datelike, Days, Months, NaiveDate};
|
||||
use common::ron_api;
|
||||
use gloo::storage::{LocalStorage, Storage};
|
||||
use ron::ser::{to_string_pretty, PrettyConfig};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use thiserror::Error;
|
||||
|
||||
use crate::{calendar, request};
|
||||
|
||||
#[derive(Error, Debug)]
|
||||
pub enum Error {
|
||||
#[error("Request error: {0}")]
|
||||
Request(#[from] request::Error),
|
||||
}
|
||||
|
||||
type Result<T> = std::result::Result<T, Error>;
|
||||
|
||||
#[derive(Clone, Copy)]
|
||||
pub struct ShoppingList {
|
||||
is_local: bool,
|
||||
}
|
||||
|
||||
impl ShoppingList {
|
||||
pub fn new(is_local: bool) -> Self {
|
||||
Self { is_local }
|
||||
}
|
||||
|
||||
pub async fn get_items(&self) -> Result<Vec<ron_api::ShoppingListItem>> {
|
||||
if self.is_local {
|
||||
Ok(vec![]) // TODO
|
||||
} else {
|
||||
Ok(request::get("shopping_list/get_list", ()).await?)
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue