MCPcopy
hub / github.com/github/awesome-copilot / renderExternalPluginModal

Function renderExternalPluginModal

website/src/scripts/modal.ts:1178–1280  ·  view source on GitHub ↗

* Render modal content for an external plugin (no local files)

(
  plugin: Plugin,
  modalContent: HTMLElement
)

Source from the content-addressed store, hash-verified

1176 * Render modal content for an external plugin (no local files)
1177 */
1178function renderExternalPluginModal(
1179 plugin: Plugin,
1180 modalContent: HTMLElement
1181): void {
1182 const authorHtml = plugin.author?.name
1183 ? `<div class="external-plugin-meta-row">
1184 <span class="external-plugin-meta-label">Author</span>
1185 <span class="external-plugin-meta-value">${
1186 plugin.author.url
1187 ? `<a href="${sanitizeUrl(
1188 plugin.author.url
1189 )}" target="_blank" rel="noopener noreferrer">${escapeHtml(
1190 plugin.author.name
1191 )}</a>`
1192 : escapeHtml(plugin.author.name)
1193 }</span>
1194 </div>`
1195 : "";
1196
1197 const repoHtml = plugin.repository
1198 ? `<div class="external-plugin-meta-row">
1199 <span class="external-plugin-meta-label">Repository</span>
1200 <span class="external-plugin-meta-value"><a href="${sanitizeUrl(
1201 plugin.repository
1202 )}" target="_blank" rel="noopener noreferrer">${escapeHtml(
1203 plugin.repository
1204 )}</a></span>
1205 </div>`
1206 : "";
1207
1208 const homepageHtml =
1209 plugin.homepage && plugin.homepage !== plugin.repository
1210 ? `<div class="external-plugin-meta-row">
1211 <span class="external-plugin-meta-label">Homepage</span>
1212 <span class="external-plugin-meta-value"><a href="${sanitizeUrl(
1213 plugin.homepage
1214 )}" target="_blank" rel="noopener noreferrer">${escapeHtml(
1215 plugin.homepage
1216 )}</a></span>
1217 </div>`
1218 : "";
1219
1220 const licenseHtml = plugin.license
1221 ? `<div class="external-plugin-meta-row">
1222 <span class="external-plugin-meta-label">License</span>
1223 <span class="external-plugin-meta-value">${escapeHtml(
1224 plugin.license
1225 )}</span>
1226 </div>`
1227 : "";
1228
1229 const sourceHtml = plugin.source?.repo
1230 ? `<div class="external-plugin-meta-row">
1231 <span class="external-plugin-meta-label">Source</span>
1232 <span class="external-plugin-meta-value">GitHub: ${escapeHtml(
1233 plugin.source.repo
1234 )}${
1235 plugin.source.path ? ` (${escapeHtml(plugin.source.path)})` : ""

Callers 1

openPluginModalFunction · 0.85

Calls 3

sanitizeUrlFunction · 0.90
escapeHtmlFunction · 0.90
getExternalPluginUrlFunction · 0.70

Tested by

no test coverage detected