Skip to repository content

tenant.openagents/omega

No repository description is available.

OpenAgents Git authority 2026-07-28T06:50:42.914Z Public web read
NIP-34 coordinate30617:7649603503856e5148d571eac2766b288a8ff1e9e35d380337a1d2b0015b4f92:omega
MaintainersHidden in public view
References2 branches · 1 tag
Read-only clonegit clone https://openagents.com/git/tenant.openagents/omega.git
Browse files

extension_card.rs

62 lines · 1.9 KB · rust
1use gpui::{AnyElement, prelude::*};
2use smallvec::SmallVec;
3use ui::prelude::*;
4
5#[derive(IntoElement)]
6pub struct ExtensionCard {
7    overridden_by_dev_extension: bool,
8    children: SmallVec<[AnyElement; 2]>,
9}
10
11impl ExtensionCard {
12    pub fn new() -> Self {
13        Self {
14            overridden_by_dev_extension: false,
15            children: SmallVec::new(),
16        }
17    }
18
19    pub fn overridden_by_dev_extension(mut self, overridden: bool) -> Self {
20        self.overridden_by_dev_extension = overridden;
21        self
22    }
23}
24
25impl ParentElement for ExtensionCard {
26    fn extend(&mut self, elements: impl IntoIterator<Item = AnyElement>) {
27        self.children.extend(elements)
28    }
29}
30
31impl RenderOnce for ExtensionCard {
32    fn render(self, _window: &mut Window, cx: &mut App) -> impl IntoElement {
33        div().w_full().child(
34            v_flex()
35                .mt_4()
36                .w_full()
37                .h(rems_from_px(110.))
38                .p_3()
39                .gap_2()
40                .bg(cx.theme().colors().elevated_surface_background.opacity(0.5))
41                .border_1()
42                .border_color(cx.theme().colors().border_variant)
43                .rounded_md()
44                .children(self.children)
45                .when(self.overridden_by_dev_extension, |card| {
46                    card.child(
47                        h_flex()
48                            .absolute()
49                            .top_0()
50                            .left_0()
51                            .block_mouse_except_scroll()
52                            .cursor_default()
53                            .size_full()
54                            .justify_center()
55                            .bg(cx.theme().colors().elevated_surface_background.alpha(0.8))
56                            .child(Label::new("Overridden by dev extension.")),
57                    )
58                }),
59        )
60    }
61}
62
Served at tenant.openagents/omega Member data and write actions are omitted.