@@ -1,54 +1,141 @@
1 1 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{% extends "base.html" %}
2 2 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{% load static %}
3 3 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{% block title %}Dashboard — Fossilrepo{% endblock %}
4 4 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
5 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {% block content %}
6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <div class="md:flex md:items-center md:justify-between mb-8">
7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <h1 class="text-2xl font-bold text-gray-100">Dashboard</h1>
8 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- </div>
9 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <div class="grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3">
11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {% if perms.projects.view_project %}
12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <a href="{% url 'projects:list' %}" class="group rounded-lg border border-gray-700 bg-gray-800 p-6 shadow-sm hover:shadow-md hover:border-brand transition-all">
13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <h3 class="text-lg font-semibold text-gray-100 group-hover:text-brand">Projects</h3>
14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <p class="mt-2 text-sm text-gray-400">Manage projects and their team access controls.</p>
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- </a>
16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {% endif %}
17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {% if perms.organization.view_team %}
19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <a href="{% url 'organization:team_list' %}" class="group rounded-lg border border-gray-700 bg-gray-800 p-6 shadow-sm hover:shadow-md hover:border-brand transition-all">
20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <h3 class="text-lg font-semibold text-gray-100 group-hover:text-brand">Teams</h3>
21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <p class="mt-2 text-sm text-gray-400">Organize members into teams for project access.</p>
22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- </a>
23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {% endif %}
24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {% if perms.pages.view_page %}
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <a href="{% url 'pages:list' %}" class="group rounded-lg border border-gray-700 bg-gray-800 p-6 shadow-sm hover:shadow-md hover:border-brand transition-all">
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <h3 class="text-lg font-semibold text-gray-100 group-hover:text-brand">Knowledge Base</h3>
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <p class="mt-2 text-sm text-gray-400">Org-wide guides, runbooks, and internal documentation.</p>
29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- </a>
30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {% endif %}
31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {% if perms.organization.view_organization %}
33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <a href="{% url 'organization:settings' %}" class="group rounded-lg border border-gray-700 bg-gray-800 p-6 shadow-sm hover:shadow-md hover:border-brand transition-all">
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <h3 class="text-lg font-semibold text-gray-100 group-hover:text-brand">Settings</h3>
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <p class="mt-2 text-sm text-gray-400">Organization settings, members, and configuration.</p>
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- </a>
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {% endif %}
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {% if user.is_staff %}
40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <a href="{% url 'admin:index' %}" class="group rounded-lg border border-gray-700 bg-gray-800 p-6 shadow-sm hover:shadow-md hover:border-brand transition-all">
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <h3 class="text-lg font-semibold text-gray-100 group-hover:text-brand">Admin</h3>
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <p class="mt-2 text-sm text-gray-400">Django admin for managing users, groups, and permissions.</p>
43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- </a>
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {% endif %}
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <div class="rounded-lg border border-gray-700 bg-gray-800 p-6 shadow-sm">
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <div class="flex items-center gap-4 mb-3">
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <img src="{% static 'img/fossilrepo-logo-dark.png' %}" alt="Fossilrepo" class="h-8 w-auto">
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- </div>
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <h3 class="text-lg font-semibold text-gray-100">Welcome, {{ user.get_full_name|default:user.username }}</h3>
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- <p class="mt-2 text-sm text-gray-400">Self-hosted Fossil forge with Django + HTMX management layer.</p>
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- </div>
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- </div>
5 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% block extra_head %}
6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <script src="https://cdn.jsdelivr.net/npm/[email protected] /dist/chart.umd.min.js"></script>
7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% endblock %}
8 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
9 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% block content %}
10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="mb-6">
11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <h1 class="text-2xl font-bold text-gray-100">Dashboard</h1>
12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <p class="mt-1 text-sm text-gray-400">Welcome back, {{ user.get_full_name|default:user.username }}</p>
13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <!-- Stats cards -->
16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="grid grid-cols-2 gap-4 sm:grid-cols-4 mb-6">
17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="rounded-lg bg-gray-800 border border-gray-700 p-4">
18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="text-2xl font-bold text-gray-100">{{ total_projects }}</div>
19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="text-xs text-gray-500 mt-1">Projects</div>
20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="rounded-lg bg-gray-800 border border-gray-700 p-4">
22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="text-2xl font-bold text-gray-100">{{ total_checkins|default:"0" }}</div>
23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="text-xs text-gray-500 mt-1">Total Checkins</div>
24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="rounded-lg bg-gray-800 border border-gray-700 p-4">
26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="text-2xl font-bold text-gray-100">{{ total_tickets|default:"0" }}</div>
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="text-xs text-gray-500 mt-1">Tickets</div>
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="rounded-lg bg-gray-800 border border-gray-700 p-4">
30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="text-2xl font-bold text-gray-100">{{ total_wiki|default:"0" }}</div>
31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="text-xs text-gray-500 mt-1">Wiki Pages</div>
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="grid grid-cols-1 gap-6 lg:grid-cols-3">
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <!-- Main column -->
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="lg:col-span-2 space-y-6">
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% if system_activity_json and system_activity_json != "[]" %}
39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <!-- System-wide activity chart -->
40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="rounded-lg bg-gray-800 border border-gray-700 p-4">
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <h3 class="text-sm font-medium text-gray-300 mb-3">System Activity (26 weeks)</h3>
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div style="height: 140px;">
43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <canvas id="systemChart"></canvas>
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% endif %}
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% if recent_across_all %}
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <!-- Recent activity across all projects -->
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="rounded-lg bg-gray-800 border border-gray-700">
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="px-4 py-3 border-b border-gray-700">
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <h3 class="text-sm font-medium text-gray-300">Recent Activity</h3>
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="divide-y divide-gray-700">
55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% for item in recent_across_all %}
56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="px-4 py-3 flex items-start gap-3">
57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="flex-shrink-0 mt-1">
58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="w-2.5 h-2.5 rounded-full bg-brand"></div>
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="flex-1 min-w-0">
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <a href="{% url 'fossil:checkin_detail' slug=item.project.slug checkin_uuid=item.entry.uuid %}"
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ class="text-sm text-gray-200 hover:text-brand-light">{{ item.entry.comment|truncatechars:70 }}</a>
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="mt-0.5 flex items-center gap-3 text-xs text-gray-500">
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <a href="{% url 'projects:detail' slug=item.project.slug %}" class="text-brand-light hover:text-brand">{{ item.project.name }}</a>
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <a href="{% url 'fossil:user_activity' slug=item.project.slug username=item.entry.user %}" class="hover:text-gray-300">{{ item.entry.user }}</a>
66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <a href="{% url 'fossil:checkin_detail' slug=item.project.slug checkin_uuid=item.entry.uuid %}" class="font-mono text-brand-light hover:text-brand">{{ item.entry.uuid|truncatechars:10 }}</a>
67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <span>{{ item.entry.timestamp|timesince }} ago</span>
68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% endfor %}
72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% endif %}
75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <!-- Sidebar -->
78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <div class="space-y-4">
79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <!-- Quick links -->
80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% if perms.projects.view_project %}
81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <a href="{% url 'projects:list' %}" class="block rounded-lg bg-gray-800 border border-gray-700 p-4 hover:border-brand transition-colors">
82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <h3 class="text-sm font-semibold text-gray-100">Projects</h3>
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <p class="mt-1 text-xs text-gray-500">Manage projects and team access</p>
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </a>
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% endif %}
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% if perms.organization.view_team %}
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <a href="{% url 'organization:team_list' %}" class="block rounded-lg bg-gray-800 border border-gray-700 p-4 hover:border-brand transition-colors">
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <h3 class="text-sm font-semibold text-gray-100">Teams</h3>
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <p class="mt-1 text-xs text-gray-500">Organize members into teams</p>
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </a>
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% endif %}
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% if perms.pages.view_page %}
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <a href="{% url 'pages:list' %}" class="block rounded-lg bg-gray-800 border border-gray-700 p-4 hover:border-brand transition-colors">
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <h3 class="text-sm font-semibold text-gray-100">Knowledge Base</h3>
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <p class="mt-1 text-xs text-gray-500">Guides, runbooks, documentation</p>
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </a>
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% endif %}
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% if perms.organization.view_organization %}
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <a href="{% url 'organization:settings' %}" class="block rounded-lg bg-gray-800 border border-gray-700 p-4 hover:border-brand transition-colors">
100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <h3 class="text-sm font-semibold text-gray-100">Settings</h3>
101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <p class="mt-1 text-xs text-gray-500">Organization configuration</p>
102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </a>
103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% endif %}
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% if user.is_staff %}
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <a href="{% url 'admin:index' %}" class="block rounded-lg bg-gray-800 border border-gray-700 p-4 hover:border-brand transition-colors">
106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <h3 class="text-sm font-semibold text-gray-100">Admin</h3>
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <p class="mt-1 text-xs text-gray-500">Users, groups, permissions</p>
108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </a>
109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% endif %}
110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </div>
112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% if system_activity_json and system_activity_json != "[]" %}
114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ <script>
115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ new Chart(document.getElementById('systemChart').getContext('2d'), {
116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ type: 'bar',
117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ data: {
118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ labels: {{ system_activity_json|safe }}.map((_, i) => ''),
119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ datasets: [{
120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ data: {{ system_activity_json|safe }},
121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ backgroundColor: '#DC394C',
122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ borderRadius: 2,
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ barPercentage: 0.8,
124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ categoryPercentage: 0.9,
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }]
126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ },
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ options: {
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ responsive: true,
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ maintainAspectRatio: false,
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ plugins: { legend: { display: false }, tooltip: {
131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ callbacks: { title: (items) => { const w = 25 - items[0].dataIndex; return w === 0 ? 'This week' : w + ' week' + (w > 1 ? 's' : '') + ' ago'; } }
132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }},
133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ scales: {
134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ x: { display: false, grid: { display: false } },
135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ y: { display: false, grid: { display: false }, beginAtZero: true }
136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ </script>
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {% endif %}
54 141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
{% endblock %}
55 142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
56 143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
A DDED templates/fossil/ticket_form.html