Implement non-bundled mods #125
2 changed files with 9 additions and 2 deletions
|
@ -73,6 +73,7 @@ impl From<dtmt_shared::ModDependency> for ModDependency {
|
||||||
#[derive(Clone, Data, Debug, Lens, serde::Serialize, serde::Deserialize)]
|
#[derive(Clone, Data, Debug, Lens, serde::Serialize, serde::Deserialize)]
|
||||||
pub(crate) struct NexusInfo {
|
pub(crate) struct NexusInfo {
|
||||||
pub id: u64,
|
pub id: u64,
|
||||||
|
pub name: String,
|
||||||
pub version: String,
|
pub version: String,
|
||||||
pub author: String,
|
pub author: String,
|
||||||
pub summary: Arc<String>,
|
pub summary: Arc<String>,
|
||||||
|
@ -83,6 +84,7 @@ impl From<NexusMod> for NexusInfo {
|
||||||
fn from(value: NexusMod) -> Self {
|
fn from(value: NexusMod) -> Self {
|
||||||
Self {
|
Self {
|
||||||
id: value.mod_id,
|
id: value.mod_id,
|
||||||
|
name: value.name,
|
||||||
version: value.version,
|
version: value.version,
|
||||||
author: value.author,
|
author: value.author,
|
||||||
summary: Arc::new(value.summary),
|
summary: Arc::new(value.summary),
|
||||||
|
|
|
@ -135,8 +135,13 @@ fn build_mod_list() -> impl Widget<State> {
|
||||||
})
|
})
|
||||||
.lens(lens!((usize, Arc<ModInfo>, bool), 1).then(ModInfo::enabled.in_arc()));
|
.lens(lens!((usize, Arc<ModInfo>, bool), 1).then(ModInfo::enabled.in_arc()));
|
||||||
|
|
||||||
let name =
|
let name = Label::dynamic(|info: &Arc<ModInfo>, _| {
|
||||||
Label::raw().lens(lens!((usize, Arc<ModInfo>, bool), 1).then(ModInfo::name.in_arc()));
|
info.nexus
|
||||||
|
.as_ref()
|
||||||
|
.map(|n| n.name.clone())
|
||||||
|
.unwrap_or_else(|| info.name.clone())
|
||||||
|
})
|
||||||
|
.lens(lens!((usize, Arc<ModInfo>, bool), 1));
|
||||||
|
|
||||||
let version = {
|
let version = {
|
||||||
let icon = {
|
let icon = {
|
||||||
|
|
Loading…
Add table
Reference in a new issue