2
0
Files
gitcaddy-server/templates/admin/ai_learning_edit.tmpl
logikonline 5eff305c74
Some checks failed
Build and Release / Create Release (push) Has been skipped
Build and Release / Unit Tests (push) Successful in 3m22s
Build and Release / Build Binaries (amd64, darwin, macos) (push) Has been cancelled
Build and Release / Build Binaries (amd64, linux, linux-latest) (push) Has been cancelled
Build and Release / Build Binaries (amd64, windows, windows-latest) (push) Has been cancelled
Build and Release / Build Binaries (arm64, darwin, macos) (push) Has been cancelled
Build and Release / Build Binary (linux/arm64) (push) Has been cancelled
Build and Release / Lint (push) Has been cancelled
Build and Release / Integration Tests (PostgreSQL) (push) Has been cancelled
feat(api): add plugin information to version endpoint
Include loaded plugin details (name, version, description) in /api/v2/version response when plugins are enabled. Also add page class to AI learning admin templates for consistent styling.
2026-01-27 21:02:37 -05:00

101 lines
5.1 KiB
Handlebars

{{template "admin/layout_head" (dict "ctxData" . "pageClass" "admin ai-learning")}}
<div class="admin ai-learning-edit">
<h4 class="ui top attached header">
{{ctx.Locale.Tr "admin.ai_learning.edit"}} - {{.Pattern.Pattern}}
</h4>
<div class="ui attached segment">
<form class="ui form" method="post" action="{{AppSubUrl}}/-/admin/ai-learning/{{.Pattern.ID}}">
{{.CsrfTokenHtml}}
<div class="two fields">
<div class="field">
<label>{{ctx.Locale.Tr "admin.ai_learning.pattern"}}</label>
<input type="text" name="pattern" value="{{.Pattern.Pattern}}" required>
<small>{{ctx.Locale.Tr "admin.ai_learning.pattern_help"}}</small>
</div>
<div class="field">
<label>{{ctx.Locale.Tr "admin.ai_learning.pattern_regex"}}</label>
<input type="text" name="pattern_regex" value="{{.Pattern.PatternRegex}}">
<small>{{ctx.Locale.Tr "admin.ai_learning.pattern_regex_help"}}</small>
</div>
</div>
<div class="three fields">
<div class="field">
<label>{{ctx.Locale.Tr "admin.ai_learning.runner_type"}}</label>
<select class="ui dropdown" name="runner_type">
<option value="any" {{if or (eq .Pattern.RunnerType "") (eq .Pattern.RunnerType "any")}}selected{{end}}>Any</option>
<option value="linux" {{if eq .Pattern.RunnerType "linux"}}selected{{end}}>Linux</option>
<option value="windows" {{if eq .Pattern.RunnerType "windows"}}selected{{end}}>Windows</option>
<option value="macos" {{if eq .Pattern.RunnerType "macos"}}selected{{end}}>macOS</option>
</select>
</div>
<div class="field">
<label>{{ctx.Locale.Tr "admin.ai_learning.project_type"}}</label>
<input type="text" name="project_type" value="{{.Pattern.ProjectType}}" placeholder="e.g., dotnet-maui, go, node">
</div>
<div class="field">
<label>{{ctx.Locale.Tr "admin.ai_learning.framework"}}</label>
<input type="text" name="framework" value="{{.Pattern.Framework}}" placeholder="e.g., net10.0-android">
</div>
</div>
<div class="field">
<label>{{ctx.Locale.Tr "admin.ai_learning.error_message"}}</label>
<textarea name="error_message" rows="3" placeholder="Full error message example">{{.Pattern.ErrorMessage}}</textarea>
</div>
<div class="field">
<label>{{ctx.Locale.Tr "admin.ai_learning.diagnosis"}}</label>
<textarea name="diagnosis" rows="3" placeholder="What this error means">{{.Pattern.Diagnosis}}</textarea>
</div>
<div class="field">
<label>{{ctx.Locale.Tr "admin.ai_learning.solution"}}</label>
<textarea name="solution" rows="4" placeholder="How to fix this error">{{.Pattern.Solution}}</textarea>
</div>
<div class="field">
<label>{{ctx.Locale.Tr "admin.ai_learning.solution_diff"}}</label>
<textarea name="solution_diff" rows="6" placeholder="Code/config changes that fix it">{{.Pattern.SolutionDiff}}</textarea>
</div>
<!-- Stats Tiles -->
<div style="display: flex; gap: 15px; margin: 20px 0;">
<div style="flex: 1; padding: 15px; background: var(--color-box-body); border: 1px solid var(--color-secondary); border-radius: 8px; text-align: center;">
<div style="font-size: 1.8em; font-weight: bold; color: #6435c9;">{{.Pattern.OccurrenceCount}}</div>
<div style="color: var(--color-text-light); font-size: 0.9em;">{{ctx.Locale.Tr "admin.ai_learning.occurrences"}}</div>
</div>
<div style="flex: 1; padding: 15px; background: var(--color-box-body); border: 1px solid var(--color-secondary); border-radius: 8px; text-align: center;">
<div style="font-size: 1.8em; font-weight: bold; color: #21ba45;">{{.Pattern.SuccessCount}}</div>
<div style="color: var(--color-text-light); font-size: 0.9em;">{{ctx.Locale.Tr "admin.ai_learning.successes"}}</div>
</div>
<div style="flex: 1; padding: 15px; background: var(--color-box-body); border: 1px solid var(--color-secondary); border-radius: 8px; text-align: center;">
<div style="font-size: 1.1em; font-weight: bold; color: var(--color-text);">{{DateUtils.TimeSince .Pattern.CreatedUnix}}</div>
<div style="color: var(--color-text-light); font-size: 0.9em;">{{ctx.Locale.Tr "admin.ai_learning.created"}}</div>
</div>
<div style="flex: 1; padding: 15px; background: var(--color-box-body); border: 1px solid var(--color-secondary); border-radius: 8px; text-align: center;">
<div style="font-size: 1.1em; font-weight: bold; color: var(--color-text);">{{DateUtils.TimeSince .Pattern.UpdatedUnix}}</div>
<div style="color: var(--color-text-light); font-size: 0.9em;">{{ctx.Locale.Tr "admin.ai_learning.updated"}}</div>
</div>
</div>
<div class="ui divider"></div>
<button class="ui primary button" type="submit">
{{svg "octicon-check" 14}} {{ctx.Locale.Tr "save"}}
</button>
<a class="ui button" href="{{AppSubUrl}}/-/admin/ai-learning">
{{ctx.Locale.Tr "cancel"}}
</a>
<button class="ui red button right floated link-action" type="button"
data-url="{{AppSubUrl}}/-/admin/ai-learning/{{.Pattern.ID}}/delete"
data-modal-confirm="{{ctx.Locale.Tr "admin.ai_learning.delete_confirm"}}">
{{svg "octicon-trash" 14}} {{ctx.Locale.Tr "delete"}}
</button>
</form>
</div>
</div>
{{template "admin/layout_footer" .}}