Skip to content

Commit

Permalink
WIP opr: many String's are now Rc<String>
Browse files Browse the repository at this point in the history
FIXME:
- more Rc::clone
- Relies on IntoView implementation for Rc<String> in leptos-rs/leptos#2462
  • Loading branch information
ydirson committed Mar 24, 2024
1 parent 46f2cce commit d8d47f4
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 28 deletions.
89 changes: 67 additions & 22 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 6 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,18 @@ leptos_meta = { version = "0.6.0", features = ["csr"] }
leptos_router = { version = "0.6.0", features = ["csr"] }
serde = { version = "1.0.0" }

[patch.crates-io]
# PR for Rc<String>
leptos = { git = "https://github.com/leptos-rs/leptos", rev = "refs/pull/2462/head" }

[build-dependencies.opr-test-data]
git = "https://github.com/ydirson/opr-rs"
optional = true
rev = "238c2d658ecf7feb1af5a3aea506171d6515bc1f"
rev = "d4cf9fba5c6d9971783c730a4a4ff5cfb1bfa15c"
#path = "../opr-rs/opr-test-data"
[dependencies.opr]
git = "https://github.com/ydirson/opr-rs"
rev = "238c2d658ecf7feb1af5a3aea506171d6515bc1f"
rev = "d4cf9fba5c6d9971783c730a4a4ff5cfb1bfa15c"
#path = "../opr-rs/opr"

[dependencies.web-sys]
Expand Down
8 changes: 4 additions & 4 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ fn ArmyList(army: Army,
};
view! {
{move || {
let name = name.clone();
let name = Rc::clone(&name);
let url = format!("{}?id={}",
opr::ARMYFORGE_SHARE_URL,
army.army_id.get());
Expand Down Expand Up @@ -405,7 +405,7 @@ fn UnitUpgradesList(loadout_list: Vec<Rc<opr::UnitLoadout>>) -> impl IntoView {
let opr::UnitUpgrade{name, ref content, ..} = upgrade;
view! {
{move || if i > 0 { ", " } else { "" }}
{name} " (" <SpecialRulesList special_rules={content.clone()} /> ")"
{Rc::clone(name)} " (" <SpecialRulesList special_rules={content.clone()} /> ")"
}
} else {
panic!();
Expand Down Expand Up @@ -575,8 +575,8 @@ fn rules_descriptions_from_list_for_unit(unit: Rc<opr::Unit>,
let opr::SpecialRuleDef{ref name, ref description} = **rule_def;
view!{
<p>
<rule-name>{name}</rule-name> ": "
{description}
<rule-name>{Rc::clone(name)}</rule-name> ": "
{Rc::clone(description)}
</p>
}.into_view()
} else {view!{}.into_view()}})
Expand Down

0 comments on commit d8d47f4

Please sign in to comment.