Forge
csharp3407750f
1using AgentForge.Contracts;
2using AgentForge.Data.Entities;
3using AgentForge.Plugin.View;
4using AgentForge.Plugin.View.Components;
5using AgentForge.Plugin.View.Components.Artifact;
6using AgentForge.Plugin.View.Components.Diff;
7using AgentForge.Services;
8
9namespace AgentForge.Plugin.MergeRequest.Pages;
10
11internal static class ForgeMergeRequestPage
12{
13 internal static string Render(
14 string repoName,
15 int number,
16 ForgeMergeRequestEntity mergeRequest,
17 ForgeRepoEntity repo,
18 MergeRequestDiffResponse diff,
19 ForgeDiffRenderContext lens,
20 string? defaultBranch,
21 ForgeUrls urls,
22 string iopPanelHtml,
23 IReadOnlyList<CodeAnchor> anchors,
24 string? sourceTip)
25 {
26 var forgeBracket = ForgeArtifactBracket.FormatMergeRequest(repoName, number);
27 var diffHtml = ForgeViewDiffPanel.Render(diff, lens);
28 var anchorsHtml = ForgeAnchorList.Render(repoName, anchors, defaultBranch, urls);
29
30 return ForgeHtml.Fragment(
31 ForgeViewTabPanel.Render(ForgeHtml.Fragment(
32 ForgeViewArtifactMeta.Render(
33 forgeBracket,
34 urls.ViewMergeRequest(repoName, number),
35 urls.MergeRequest(repo.Name, number)),
36 ForgeViewSplitLayout.Render(
37 ForgeHtml.Fragment(
38 ForgeViewSectionHeading.Render("Diff"),
39 diffHtml,
40 anchorsHtml),
41 iopPanelHtml))),
42 ForgeViewMrRefreshScript.Render(repoName, number, sourceTip),
43 ForgeViewStatusBar.Render());
44 }
45}
46
View only · write via MCP/CIDE