1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| {% import ( "{{{ .Package }}}/app" "{{{ .Package }}}/app/controller/cutil" "{{{ .Package }}}/app/lib/mcpserver" "{{{ .Package }}}/views/components" "{{{ .Package }}}/views/layout" ) %}
{% code type PromptDetail struct { layout.Basic Server *mcpserver.Server Prompt *mcpserver.Prompt } %}
{% func (p *PromptDetail) Body(as *app.State, ps *cutil.PageState) %} <div class="card"> <h3>{%= components.SVGIcon(p.Prompt.IconSafe(), ps) %} {%s p.Prompt.Name %}</h3> <em>{%s p.Prompt.Description %}</em> </div> <div class="card"> <h3>{%= components.SVGIcon(`file`, ps) %} Prompt Content</h3> <div class="mt"> {% code out, err := cutil.FormatLang(p.Prompt.Content, "markdown") %} {% if err == nil %} {%s= out %} {% else %} {%s p.Prompt.Content %} {% endif %} </div> </div> {% endfunc %}
{% func listPrompts(prompts mcpserver.Prompts, ps *cutil.PageState) %} {%- for idx, p := range prompts -%} <a class="link-section" href="/mcp/prompt/{%s p.Name %}"> <div class="clear mt"> <div class="left mrs">{%= components.SVGRef(p.IconSafe(), 40, 40, "", ps) %}</div> <strong class="highlight">{%s p.Name %}</strong> <div><em>{%s p.Description %}</em></div> </div> </a> {%- if idx < len(prompts) - 1 -%} <hr /> {%- endif -%} {%- endfor -%} {% endfunc %}
|