feat: display music details
This commit is contained in:
@@ -3,8 +3,9 @@ use std::fmt::Display;
|
||||
use serde::Deserialize;
|
||||
use serde::Serialize;
|
||||
|
||||
use crate::helper::MUSIC_DB;
|
||||
use crate::helper::level_name;
|
||||
use crate::helper::query_music;
|
||||
use crate::helper::query_music_level;
|
||||
|
||||
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
@@ -150,22 +151,11 @@ impl Display for MusicRating {
|
||||
|
||||
impl MusicRating {
|
||||
pub fn music_title(&self) -> Option<String> {
|
||||
MUSIC_DB
|
||||
.as_ref()?
|
||||
.get(&self.music_id)
|
||||
.map(|music_info| music_info.name.clone())
|
||||
Some(query_music(&self.music_id).as_ref()?.name.clone())
|
||||
}
|
||||
|
||||
pub fn dx_rating(&self) -> Option<u32> {
|
||||
Some(
|
||||
MUSIC_DB
|
||||
.as_ref()?
|
||||
.get(&self.music_id)?
|
||||
.levels
|
||||
.iter()
|
||||
.find(|d| d.level == self.level)?
|
||||
.dx_rating(self.achievement),
|
||||
)
|
||||
Some(query_music_level(self.music_id, self.level)?.dx_rating(self.achievement))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user