MCPcopy Index your code
hub / github.com/Waishnav/devspace / render

Function render

src/ui/workspace-app.tsx:140–210  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

138}
139
140function render(): void {
141 unmountPayload();
142
143 if (connectionError) {
144 renderEmpty(connectionError, "error");
145 return;
146 }
147
148 if (!connected) {
149 renderEmpty("Connecting to host...");
150 return;
151 }
152
153 if (!card) {
154 renderEmpty(errorMessage ?? "Waiting for a tool result.", errorMessage ? "error" : "muted");
155 return;
156 }
157
158 const display = getToolDisplay(card);
159 if (isReviewTool(card.tool)) {
160 renderReviewCard(card, display);
161 return;
162 }
163
164 const expandable = isExpandableCard(card);
165 const main = element("main", { className: "shell" });
166 const section = element("section", { className: `tool-card ${display.tone}` });
167 const button = element("button", {
168 className: "tool-header",
169 type: "button",
170 ariaExpanded: String(expanded),
171 disabled: !expandable,
172 });
173
174 if (expandable) {
175 button.addEventListener("click", () => {
176 expanded = !expanded;
177 render();
178 });
179 }
180
181 const icon = element("span", { className: "tool-icon", ariaHidden: "true" });
182 icon.innerHTML = display.icon;
183
184 const toolMain = element("span", { className: "tool-main" });
185 const title = element("span", { className: "tool-title", text: display.title });
186 const label = element("span", {
187 className: "tool-label",
188 text: display.label,
189 title: display.label,
190 });
191 toolMain.append(title, label);
192
193 button.append(
194 icon,
195 toolMain,
196 renderSummaryBadge(card),
197 renderChevron(expanded, expandable),

Callers 2

bootFunction · 0.85
renderReviewCardFunction · 0.85

Calls 11

unmountPayloadFunction · 0.85
renderEmptyFunction · 0.85
getToolDisplayFunction · 0.85
isReviewToolFunction · 0.85
renderReviewCardFunction · 0.85
isExpandableCardFunction · 0.85
elementFunction · 0.85
renderSummaryBadgeFunction · 0.85
renderChevronFunction · 0.85
renderPayloadIfNeededFunction · 0.85
appendMethod · 0.45

Tested by

no test coverage detected