refactor(techdemo): scope card handles to partials

Move board card and lane actions onto their reusable partial templates, register the scoped generated handles directly, and remove hidden shell-level handle anchors and manual handle fields from the rendered view data.

req: component/003

req: view/001

req: examples/001
This commit is contained in:
slhx agent
2026-06-01 21:58:40 +02:00
parent c69eb9932c
commit 4319dea171
7 changed files with 22 additions and 33 deletions
+7 -7
View File
@@ -116,32 +116,32 @@ fn product_is_e2e_working_over_http() {
let move_to_lane = post(
"/",
&format!("__h={}&work_id=4&lane=runtime", ui::control_center::handles::move_to_lane),
&format!("__h={}&work_id=4&lane=runtime", ui::issue_lane::handles::move_to_lane),
);
assert_effect_response(&move_to_lane);
let move_to_lane_batch = move_to_lane.batch();
assert_card(&move_to_lane_batch, "Design hero moment", "Runtime", "Active", "width:99%");
assert_payload_contains(&move_to_lane_batch, "Drag-and-drop move persisted");
let inspect = post("/", "__h=3112123592&work_id=4");
let inspect = post("/", &format!("__h={}&work_id=4", ui::issue_card::handles::spotlight_work));
assert_effect_response(&inspect);
let inspect_batch = inspect.batch();
assert_payload_contains(&inspect_batch, "Design hero moment · lane=Runtime");
assert_payload_contains(&inspect_batch, "Inspector focused");
let advance = post("/", "__h=4085043678&work_id=4");
let advance = post("/", &format!("__h={}&work_id=4", ui::issue_card::handles::advance_work));
assert_effect_response(&advance);
let advance_batch = advance.batch();
assert_payload_contains(&advance_batch, "Pipeline advanced");
assert_payload_contains(&advance_batch, "<span class=\"pill\">Active</span>");
let advance_default = post("/", "__h=4085043678&work_id=5");
let advance_default = post("/", &format!("__h={}&work_id=5", ui::issue_card::handles::advance_work));
assert_effect_response(&advance_default);
let advance_default_batch = advance_default.batch();
assert_payload_contains(&advance_default_batch, "Default impact");
assert_card(&advance_default_batch, "Default impact", "Compiler", "Active", "width:55%");
let ship_default = post("/", "__h=4085043678&work_id=5");
let ship_default = post("/", &format!("__h={}&work_id=5", ui::issue_card::handles::advance_work));
assert_effect_response(&ship_default);
let ship_default_batch = ship_default.batch();
assert_card(&ship_default_batch, "Default impact", "Product", "Shipped", "width:55%");
@@ -154,12 +154,12 @@ fn product_is_e2e_working_over_http() {
assert_payload_contains(&push_batch, "Simulated push event produced the same EffectBatch shape");
assert_emit(&push_batch, "slhx:island-orbit", "activity rows");
let delete_missing = post("/", "__h=165211725&work_id=999");
let delete_missing = post("/", &format!("__h={}&work_id=999", ui::issue_card::handles::delete_work));
assert_effect_response(&delete_missing);
let delete_missing_batch = delete_missing.batch();
assert_payload_not_contains(&delete_missing_batch, "Deleted card #999");
let delete = post("/", "__h=165211725&work_id=4");
let delete = post("/", &format!("__h={}&work_id=4", ui::issue_card::handles::delete_work));
assert_effect_response(&delete);
let delete_batch = delete.batch();
assert_payload_contains(&delete_batch, "Card removed");