summaryrefslogtreecommitdiff
path: root/web/templates/agent-context.html
diff options
context:
space:
mode:
Diffstat (limited to 'web/templates/agent-context.html')
-rw-r--r--web/templates/agent-context.html121
1 files changed, 121 insertions, 0 deletions
diff --git a/web/templates/agent-context.html b/web/templates/agent-context.html
new file mode 100644
index 0000000..3a4778a
--- /dev/null
+++ b/web/templates/agent-context.html
@@ -0,0 +1,121 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>Agent Context - {{.AgentName}}</title>
+ <style>
+ body { font-family: system-ui, sans-serif; max-width: 800px; margin: 40px auto; padding: 20px; background: #1a1a2e; color: #eee; }
+ .card { background: #16213e; border-radius: 8px; padding: 24px; margin-bottom: 20px; }
+ h1 { color: #e94560; margin-top: 0; }
+ h2 { color: #0f3460; font-size: 1.2em; margin-top: 24px; }
+ .label { color: #888; font-size: 0.9em; margin-bottom: 4px; }
+ .value { font-family: monospace; background: #0f0f23; padding: 8px 12px; border-radius: 4px; word-break: break-all; margin-bottom: 16px; }
+ .summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; margin-bottom: 20px; }
+ .summary-item { background: #0f3460; padding: 12px; border-radius: 6px; text-align: center; }
+ .summary-value { font-size: 1.5em; font-weight: bold; color: #e94560; }
+ .summary-label { font-size: 0.8em; color: #888; }
+ table { width: 100%; border-collapse: collapse; margin-top: 16px; }
+ th, td { padding: 10px; text-align: left; border-bottom: 1px solid #333; }
+ th { background: #0f3460; color: #fff; }
+ tr:hover { background: #1a1a2e; }
+ .source { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 0.8em; }
+ .source-todoist { background: #e44332; color: #fff; }
+ .source-trello { background: #0079bf; color: #fff; }
+ .source-plantoeat { background: #5cb85c; color: #fff; }
+ .due-overdue { color: #dc3545; }
+ .due-today { color: #ffc107; }
+ .due-future { color: #28a745; }
+ a { color: #4da6ff; }
+ </style>
+</head>
+<body>
+ <script type="application/json" id="agent-data">
+{
+ "generated_at": "{{.GeneratedAt}}",
+ "range": {
+ "start": "{{.RangeStart}}",
+ "end": "{{.RangeEnd}}"
+ },
+ "summary": {
+ "total_items": {{with .Summary}}{{.total_items}}{{else}}0{{end}},
+ "overdue": {{with .Summary}}{{.overdue}}{{else}}0{{end}},
+ "today": {{with .Summary}}{{.today}}{{else}}0{{end}}
+ },
+ "timeline": [{{range $i, $item := .Timeline}}{{if $i}},{{end}}
+ {
+ "id": "{{$item.ID}}",
+ "source": "{{$item.Source}}",
+ "type": "{{$item.Type}}",
+ "title": "{{$item.Title}}",
+ "description": "{{$item.Description}}",
+ "due": {{if $item.Due}}"{{$item.Due.Format "2006-01-02T15:04:05Z07:00"}}"{{else}}null{{end}},
+ "priority": {{$item.Priority}},
+ "completable": {{$item.Completable}},
+ "url": "{{$item.URL}}"
+ }{{end}}
+ ]
+}
+ </script>
+
+ <div class="card">
+ <h1>Agent Context</h1>
+ <p>Timeline data for <strong>{{.AgentName}}</strong></p>
+
+ <div class="label">Generated At</div>
+ <div class="value">{{.GeneratedAt}}</div>
+
+ <div class="label">Date Range</div>
+ <div class="value">{{.RangeStart}} to {{.RangeEnd}}</div>
+ </div>
+
+ <div class="card">
+ <h2>Summary</h2>
+ <div class="summary">
+ <div class="summary-item">
+ <div class="summary-value">{{with .Summary}}{{.total_items}}{{else}}0{{end}}</div>
+ <div class="summary-label">Total Items</div>
+ </div>
+ <div class="summary-item">
+ <div class="summary-value">{{with .Summary}}{{.overdue}}{{else}}0{{end}}</div>
+ <div class="summary-label">Overdue</div>
+ </div>
+ <div class="summary-item">
+ <div class="summary-value">{{with .Summary}}{{.today}}{{else}}0{{end}}</div>
+ <div class="summary-label">Due Today</div>
+ </div>
+ </div>
+ </div>
+
+ <div class="card">
+ <h2>Timeline</h2>
+ {{if .Timeline}}
+ <table>
+ <thead>
+ <tr>
+ <th>Source</th>
+ <th>Title</th>
+ <th>Due</th>
+ <th>Type</th>
+ </tr>
+ </thead>
+ <tbody>
+ {{range .Timeline}}
+ <tr>
+ <td><span class="source source-{{.Source}}">{{.Source}}</span></td>
+ <td>
+ {{if .URL}}<a href="{{.URL}}" target="_blank">{{.Title}}</a>{{else}}{{.Title}}{{end}}
+ {{if .Description}}<br><small style="color: #888;">{{.Description}}</small>{{end}}
+ </td>
+ <td>{{if .Due}}{{.Due.Format "Jan 2, 3:04 PM"}}{{else}}-{{end}}</td>
+ <td>{{.Type}}</td>
+ </tr>
+ {{end}}
+ </tbody>
+ </table>
+ {{else}}
+ <p>No items in the timeline for this date range.</p>
+ {{end}}
+ </div>
+</body>
+</html>