Преглед изворни кода

app/wallet: improve receive page

x пре 1 месец
родитељ
комит
2ea9790470
2 измењених фајлова са 30 додато и 4 уклоњено
  1. 28 4
      bin/app/src/app/schema/wallet/receive.rs
  2. 2 0
      bin/app/src/mesh.rs

+ 28 - 4
bin/app/src/app/schema/wallet/receive.rs

@@ -22,11 +22,11 @@ use crate::{
         App,
     },
     expr,
-    mesh::COLOR_CYAN,
+    mesh::{COLOR_CYAN, COLOR_MINT_OP, COLOR_TRANSAQUA},
     prop::{PropertyAtomicGuard, PropertyFloat32, PropertyStr, Role},
     scene::{SceneNodePtr, Slot},
     shape,
-    ui::{Button, Layer, Text, VectorArt},
+    ui::{Button, Layer, Text, VectorArt, VectorShape},
     util::{clipboard, i18n::I18nBabelFish},
 };
 
@@ -76,7 +76,7 @@ pub async fn make(
         &window_scale,
         i18n_fish,
         "address",
-        "Address",
+        "Primary address",
         &mut y,
     )
     .await;
@@ -97,7 +97,7 @@ pub async fn make(
     node.set_property_str(atom, Role::App, "text", "").unwrap();
     node.set_property_enum(atom, Role::App, "overflow_wrap", "anywhere").unwrap();
     let prop = node.get_property("text_color").unwrap();
-    prop.set_default_f32_multi(&[1., 1., 1., 1.]).unwrap();
+    prop.set_default_f32_multi(&COLOR_MINT_OP).unwrap();
     node.set_property_u32(atom, Role::App, "z_index", 2).unwrap();
     let node = node
         .setup(|me| {
@@ -112,6 +112,30 @@ pub async fn make(
         .await;
     receive_layer.link(node);
 
+    // Address background
+    let addr_bg_node = create_vector_art("receive_address_bg");
+    let prop = addr_bg_node.get_property("rect").unwrap();
+    prop.set_default_f32(0, 0.).unwrap();
+    prop.set_default_f32(1, y).unwrap();
+    prop.set_default_expr(2, expr::load_var("w")).unwrap();
+    let code = cc.compile("PADDING_Y * 2 + addr_height + 1").unwrap();
+    prop.set_default_expr(3, code).unwrap();
+    prop.add_depend(Role::App, &addr_h_prop, 0, "addr_height");
+    addr_bg_node.set_property_u32(atom, Role::App, "z_index", 1).unwrap();
+    let mut shape = VectorShape::new();
+    shape.add_filled_box(
+        expr::const_f32(0.),
+        expr::const_f32(0.),
+        expr::load_var("w"),
+        expr::load_var("h"),
+        COLOR_TRANSAQUA,
+    );
+    addr_bg_node.set_property_shape(atom, Role::App, "shape", shape).unwrap();
+    let addr_bg_node = addr_bg_node
+        .setup(|me| VectorArt::new(me, app.renderer.clone(), app.redraw_trigger.clone()))
+        .await;
+    receive_layer.link(addr_bg_node);
+
     // Copy button
     let node = create_vector_art("receive_copy_btn_bg");
     let prop = node.get_property("rect").unwrap();

+ 2 - 0
bin/app/src/mesh.rs

@@ -70,6 +70,8 @@ pub const COLOR_GREY: Color = [0.5, 0.5, 0.5, 1.];
 #[allow(dead_code)]
 pub const COLOR_PALECYAN: Color = [0.6902, 1., 1., 1.];
 #[allow(dead_code)]
+pub const COLOR_TRANSAQUA: Color = [0.0353, 0.1294, 0.1333, 0.60];
+#[allow(dead_code)]
 pub const DONE_MENU_BTN_GRADIENT: [[f32; 4]; 4] =
     [[0., 0.1, 0.15, 1.], [0., 0.1, 0.15, 1.], [0., 0., 0., 1.], [0., 0., 0., 1.]];
 #[allow(dead_code)]