@agenticmail/enterprise 0.4.3 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +608 -923
- package/dashboards/django/app.py +12 -0
- package/dashboards/django/static/styles.css +449 -246
- package/dashboards/django/templates/activity.html +130 -0
- package/dashboards/django/templates/approvals.html +115 -0
- package/dashboards/django/templates/community-skills.html +89 -0
- package/dashboards/django/templates/domain-status.html +59 -0
- package/dashboards/django/templates/knowledge-contributions.html +58 -0
- package/dashboards/django/templates/knowledge.html +104 -0
- package/dashboards/django/templates/layout.html +161 -36
- package/dashboards/django/templates/skill-connections.html +73 -0
- package/dashboards/django/templates/workforce.html +116 -0
- package/dashboards/django/views/__init__.py +14 -0
- package/dashboards/django/views/new_pages.py +38 -0
- package/dashboards/dotnet/Program.cs +8 -0
- package/dashboards/dotnet/Routes/ActivityRoutes.cs +35 -0
- package/dashboards/dotnet/Routes/ApprovalRoutes.cs +36 -0
- package/dashboards/dotnet/Routes/CommunitySkillRoutes.cs +36 -0
- package/dashboards/dotnet/Routes/DomainStatusRoutes.cs +49 -0
- package/dashboards/dotnet/Routes/KnowledgeContributionRoutes.cs +42 -0
- package/dashboards/dotnet/Routes/KnowledgeRoutes.cs +40 -0
- package/dashboards/dotnet/Routes/SkillConnectionRoutes.cs +52 -0
- package/dashboards/dotnet/Routes/WorkforceRoutes.cs +55 -0
- package/dashboards/dotnet/Services/HtmlBuilder.cs +17 -8
- package/dashboards/dotnet/wwwroot/styles.css +508 -246
- package/dashboards/express/app.js +8 -0
- package/dashboards/express/public/styles.css +163 -272
- package/dashboards/express/routes/activity.js +101 -0
- package/dashboards/express/routes/approvals.js +100 -0
- package/dashboards/express/routes/community-skills.js +83 -0
- package/dashboards/express/routes/domain-status.js +78 -0
- package/dashboards/express/routes/knowledge-contributions.js +85 -0
- package/dashboards/express/routes/knowledge.js +83 -0
- package/dashboards/express/routes/skill-connections.js +86 -0
- package/dashboards/express/routes/workforce.js +126 -0
- package/dashboards/express/views/layout.js +54 -33
- package/dashboards/go/handlers/activity.go +30 -0
- package/dashboards/go/handlers/approvals.go +31 -0
- package/dashboards/go/handlers/community_skills.go +32 -0
- package/dashboards/go/handlers/domain_status.go +62 -0
- package/dashboards/go/handlers/knowledge.go +35 -0
- package/dashboards/go/handlers/knowledge_contributions.go +37 -0
- package/dashboards/go/handlers/skill_connections.go +59 -0
- package/dashboards/go/handlers/workforce.go +60 -0
- package/dashboards/go/main.go +8 -0
- package/dashboards/go/static/styles.css +508 -246
- package/dashboards/go/templates/layout.go +16 -11
- package/dashboards/html/index.html +136 -15
- package/dashboards/html/public/styles.css +531 -134
- package/dashboards/html/src/pages/activity.js +137 -0
- package/dashboards/html/src/pages/approvals.js +155 -0
- package/dashboards/html/src/pages/community-skills.js +236 -0
- package/dashboards/html/src/pages/domain-status.js +182 -0
- package/dashboards/html/src/pages/knowledge-contributions.js +319 -0
- package/dashboards/html/src/pages/knowledge.js +251 -0
- package/dashboards/html/src/pages/skill-connections.js +293 -0
- package/dashboards/html/src/pages/workforce.js +418 -0
- package/dashboards/html/src/router.js +51 -0
- package/dashboards/java/AgenticMailDashboard.java +8 -0
- package/dashboards/java/handlers/ActivityHandler.java +42 -0
- package/dashboards/java/handlers/ApprovalsHandler.java +43 -0
- package/dashboards/java/handlers/CommunitySkillsHandler.java +45 -0
- package/dashboards/java/handlers/DomainStatusHandler.java +58 -0
- package/dashboards/java/handlers/KnowledgeContributionsHandler.java +51 -0
- package/dashboards/java/handlers/KnowledgeHandler.java +49 -0
- package/dashboards/java/handlers/SkillConnectionsHandler.java +61 -0
- package/dashboards/java/handlers/WorkforceHandler.java +64 -0
- package/dashboards/java/static/styles.css +508 -250
- package/dashboards/java/templates/Layout.java +14 -6
- package/dashboards/laravel/controllers/ActivityController.php +18 -0
- package/dashboards/laravel/controllers/ApprovalsController.php +18 -0
- package/dashboards/laravel/controllers/CommunitySkillsController.php +18 -0
- package/dashboards/laravel/controllers/DomainStatusController.php +18 -0
- package/dashboards/laravel/controllers/KnowledgeContributionsController.php +18 -0
- package/dashboards/laravel/controllers/KnowledgeController.php +18 -0
- package/dashboards/laravel/controllers/SkillConnectionsController.php +18 -0
- package/dashboards/laravel/controllers/WorkforceController.php +18 -0
- package/dashboards/laravel/index.php +56 -0
- package/dashboards/laravel/public/styles.css +163 -279
- package/dashboards/laravel/views/activity.php +127 -0
- package/dashboards/laravel/views/approvals.php +152 -0
- package/dashboards/laravel/views/community-skills.php +131 -0
- package/dashboards/laravel/views/domain-status.php +167 -0
- package/dashboards/laravel/views/knowledge-contributions.php +185 -0
- package/dashboards/laravel/views/knowledge.php +167 -0
- package/dashboards/laravel/views/layout.php +54 -41
- package/dashboards/laravel/views/skill-connections.php +192 -0
- package/dashboards/laravel/views/workforce.php +265 -0
- package/dashboards/php/components/layout.php +21 -16
- package/dashboards/php/index.php +1 -1
- package/dashboards/php/pages/activity.php +35 -0
- package/dashboards/php/pages/approvals.php +36 -0
- package/dashboards/php/pages/community-skills.php +39 -0
- package/dashboards/php/pages/domain-status.php +87 -0
- package/dashboards/php/pages/knowledge-contributions.php +47 -0
- package/dashboards/php/pages/knowledge.php +43 -0
- package/dashboards/php/pages/skill-connections.php +94 -0
- package/dashboards/php/pages/workforce.php +89 -0
- package/dashboards/php/public/styles.css +168 -74
- package/dashboards/python/app.py +16 -0
- package/dashboards/python/routes/activity.py +11 -0
- package/dashboards/python/routes/approvals.py +11 -0
- package/dashboards/python/routes/community_skills.py +11 -0
- package/dashboards/python/routes/domain_status.py +11 -0
- package/dashboards/python/routes/knowledge.py +11 -0
- package/dashboards/python/routes/knowledge_contributions.py +11 -0
- package/dashboards/python/routes/skill_connections.py +11 -0
- package/dashboards/python/routes/workforce.py +11 -0
- package/dashboards/python/static/styles.css +163 -276
- package/dashboards/python/templates/activity.html +87 -0
- package/dashboards/python/templates/approvals.html +86 -0
- package/dashboards/python/templates/community-skills.html +69 -0
- package/dashboards/python/templates/domain-status.html +64 -0
- package/dashboards/python/templates/knowledge-contributions.html +71 -0
- package/dashboards/python/templates/knowledge.html +69 -0
- package/dashboards/python/templates/layout.html +103 -68
- package/dashboards/python/templates/skill-connections.html +72 -0
- package/dashboards/python/templates/workforce.html +112 -0
- package/dashboards/rails/app.rb +8 -0
- package/dashboards/rails/public/styles.css +506 -259
- package/dashboards/rails/routes/activity.rb +10 -0
- package/dashboards/rails/routes/approvals.rb +10 -0
- package/dashboards/rails/routes/community_skills.rb +11 -0
- package/dashboards/rails/routes/domain_status.rb +16 -0
- package/dashboards/rails/routes/knowledge.rb +11 -0
- package/dashboards/rails/routes/knowledge_contributions.rb +12 -0
- package/dashboards/rails/routes/skill_connections.rb +15 -0
- package/dashboards/rails/routes/workforce.rb +16 -0
- package/dashboards/rails/views/activity.erb +56 -0
- package/dashboards/rails/views/approvals.erb +60 -0
- package/dashboards/rails/views/community_skills.erb +69 -0
- package/dashboards/rails/views/domain_status.erb +75 -0
- package/dashboards/rails/views/knowledge.erb +67 -0
- package/dashboards/rails/views/knowledge_contributions.erb +70 -0
- package/dashboards/rails/views/layout.erb +23 -15
- package/dashboards/rails/views/skill_connections.erb +109 -0
- package/dashboards/rails/views/workforce.erb +124 -0
- package/dashboards/ruby/app.rb +8 -0
- package/dashboards/ruby/public/styles.css +506 -254
- package/dashboards/ruby/routes/activity.rb +10 -0
- package/dashboards/ruby/routes/approvals.rb +10 -0
- package/dashboards/ruby/routes/community_skills.rb +11 -0
- package/dashboards/ruby/routes/domain_status.rb +16 -0
- package/dashboards/ruby/routes/knowledge.rb +11 -0
- package/dashboards/ruby/routes/knowledge_contributions.rb +12 -0
- package/dashboards/ruby/routes/skill_connections.rb +15 -0
- package/dashboards/ruby/routes/workforce.rb +16 -0
- package/dashboards/ruby/views/activity.erb +56 -0
- package/dashboards/ruby/views/approvals.erb +60 -0
- package/dashboards/ruby/views/community_skills.erb +69 -0
- package/dashboards/ruby/views/domain_status.erb +75 -0
- package/dashboards/ruby/views/knowledge.erb +67 -0
- package/dashboards/ruby/views/knowledge_contributions.erb +70 -0
- package/dashboards/ruby/views/layout.erb +22 -13
- package/dashboards/ruby/views/skill_connections.erb +109 -0
- package/dashboards/ruby/views/workforce.erb +124 -0
- package/dashboards/shared/styles.css +505 -281
- package/dashboards/shared-styles.css +534 -45
- package/package.json +1 -1
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{% extends "layout.html" %}
|
|
2
|
+
|
|
3
|
+
{% block content %}
|
|
4
|
+
<div class="stat-grid">
|
|
5
|
+
<div class="stat-card">
|
|
6
|
+
<div class="stat-label">Available Skills</div>
|
|
7
|
+
<div class="stat-value">1,247</div>
|
|
8
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">+23 this week</div>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="stat-card">
|
|
11
|
+
<div class="stat-label">Installed</div>
|
|
12
|
+
<div class="stat-value">18</div>
|
|
13
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">+2 this month</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="stat-card">
|
|
16
|
+
<div class="stat-label">Updates Available</div>
|
|
17
|
+
<div class="stat-value">3</div>
|
|
18
|
+
<div style="color: var(--warning); font-size: 12px; margin-top: 4px;">Action needed</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div class="card">
|
|
23
|
+
<div class="card-header">
|
|
24
|
+
<h3>Skill Marketplace</h3>
|
|
25
|
+
<div style="display: flex; gap: 8px;">
|
|
26
|
+
<input type="text" class="input" placeholder="Search skills..." style="width: 200px;">
|
|
27
|
+
<select class="input" style="width: auto;">
|
|
28
|
+
<option>All Categories</option>
|
|
29
|
+
<option>Communication</option>
|
|
30
|
+
<option>Data Analysis</option>
|
|
31
|
+
<option>Integration</option>
|
|
32
|
+
<option>Automation</option>
|
|
33
|
+
</select>
|
|
34
|
+
<button class="btn btn-primary">Browse All</button>
|
|
35
|
+
</div>
|
|
36
|
+
</div>
|
|
37
|
+
<div class="card-body">
|
|
38
|
+
<div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px;">
|
|
39
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;">
|
|
40
|
+
<div style="display: flex; justify-content: space-between; align-items: start; margin-bottom: 8px;">
|
|
41
|
+
<h4 style="font-size: 14px; font-weight: 600;">Advanced Email Analytics</h4>
|
|
42
|
+
<span class="badge badge-success">Popular</span>
|
|
43
|
+
</div>
|
|
44
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
45
|
+
Analyze email performance, engagement metrics, and delivery statistics with advanced reporting.
|
|
46
|
+
</p>
|
|
47
|
+
<div style="display: flex; justify-content: space-between; align-items: center;">
|
|
48
|
+
<span class="badge badge-primary">Communication</span>
|
|
49
|
+
<button class="btn btn-sm btn-primary">Install</button>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
|
|
53
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;">
|
|
54
|
+
<div style="display: flex; justify-content: space-between; align-items: start; margin-bottom: 8px;">
|
|
55
|
+
<h4 style="font-size: 14px; font-weight: 600;">CRM Integration Suite</h4>
|
|
56
|
+
<span class="badge badge-warning">New</span>
|
|
57
|
+
</div>
|
|
58
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
59
|
+
Connect with Salesforce, HubSpot, and other CRM systems for seamless data sync.
|
|
60
|
+
</p>
|
|
61
|
+
<div style="display: flex; justify-content: space-between; align-items: center;">
|
|
62
|
+
<span class="badge badge-info">Integration</span>
|
|
63
|
+
<button class="btn btn-sm btn-primary">Install</button>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
{% endblock %}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{% extends "layout.html" %}
|
|
2
|
+
|
|
3
|
+
{% block content %}
|
|
4
|
+
<div class="stat-grid">
|
|
5
|
+
<div class="stat-card">
|
|
6
|
+
<div class="stat-label">Domain Health</div>
|
|
7
|
+
<div class="stat-value" style="color: var(--success);">Healthy</div>
|
|
8
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">All checks pass</div>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="stat-card">
|
|
11
|
+
<div class="stat-label">Email Deliverability</div>
|
|
12
|
+
<div class="stat-value">98.7%</div>
|
|
13
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">+0.3% this week</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="stat-card">
|
|
16
|
+
<div class="stat-label">Security Score</div>
|
|
17
|
+
<div class="stat-value" style="color: var(--success);">A+</div>
|
|
18
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">Excellent</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div class="card">
|
|
23
|
+
<div class="card-header">
|
|
24
|
+
<h3>DNS Configuration</h3>
|
|
25
|
+
<button class="btn btn-secondary">Refresh</button>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="card-body">
|
|
28
|
+
<table>
|
|
29
|
+
<thead>
|
|
30
|
+
<tr>
|
|
31
|
+
<th>Record Type</th>
|
|
32
|
+
<th>Name</th>
|
|
33
|
+
<th>Value</th>
|
|
34
|
+
<th>Status</th>
|
|
35
|
+
<th>Last Checked</th>
|
|
36
|
+
</tr>
|
|
37
|
+
</thead>
|
|
38
|
+
<tbody>
|
|
39
|
+
<tr>
|
|
40
|
+
<td><code>SPF</code></td>
|
|
41
|
+
<td>company.com</td>
|
|
42
|
+
<td>v=spf1 include:agenticmail.io ~all</td>
|
|
43
|
+
<td><span class="badge badge-success">✓ Valid</span></td>
|
|
44
|
+
<td>2 mins ago</td>
|
|
45
|
+
</tr>
|
|
46
|
+
<tr>
|
|
47
|
+
<td><code>DKIM</code></td>
|
|
48
|
+
<td>agenticmail._domainkey</td>
|
|
49
|
+
<td>k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA...</td>
|
|
50
|
+
<td><span class="badge badge-success">✓ Valid</span></td>
|
|
51
|
+
<td>2 mins ago</td>
|
|
52
|
+
</tr>
|
|
53
|
+
<tr>
|
|
54
|
+
<td><code>DMARC</code></td>
|
|
55
|
+
<td>_dmarc</td>
|
|
56
|
+
<td>v=DMARC1; p=quarantine; rua=mailto:dmarc@company.com</td>
|
|
57
|
+
<td><span class="badge badge-success">✓ Valid</span></td>
|
|
58
|
+
<td>2 mins ago</td>
|
|
59
|
+
</tr>
|
|
60
|
+
</tbody>
|
|
61
|
+
</table>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
{% endblock %}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{% extends "layout.html" %}
|
|
2
|
+
|
|
3
|
+
{% block content %}
|
|
4
|
+
<div class="stat-grid">
|
|
5
|
+
<div class="stat-card">
|
|
6
|
+
<div class="stat-label">Your Contributions</div>
|
|
7
|
+
<div class="stat-value">12</div>
|
|
8
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">+3 this month</div>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="stat-card">
|
|
11
|
+
<div class="stat-label">Community Points</div>
|
|
12
|
+
<div class="stat-value">1,847</div>
|
|
13
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">+127 this week</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="stat-card">
|
|
16
|
+
<div class="stat-label">Reputation Score</div>
|
|
17
|
+
<div class="stat-value">4.8</div>
|
|
18
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">Top 10% contributor</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div class="card">
|
|
23
|
+
<div class="card-header">
|
|
24
|
+
<h3>Knowledge Hub</h3>
|
|
25
|
+
<div style="display: flex; gap: 8px;">
|
|
26
|
+
<button class="btn btn-primary">+ Share Knowledge</button>
|
|
27
|
+
<button class="btn btn-secondary">My Contributions</button>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="card-body">
|
|
31
|
+
<div style="display: flex; gap: 16px; margin-bottom: 20px;">
|
|
32
|
+
<input type="text" class="input" placeholder="Search knowledge..." style="flex: 1;">
|
|
33
|
+
<select class="input" style="width: auto;">
|
|
34
|
+
<option>All Categories</option>
|
|
35
|
+
<option>Best Practices</option>
|
|
36
|
+
<option>Troubleshooting</option>
|
|
37
|
+
<option>Integration</option>
|
|
38
|
+
<option>Automation</option>
|
|
39
|
+
</select>
|
|
40
|
+
</div>
|
|
41
|
+
|
|
42
|
+
<div style="display: flex; flex-direction: column; gap: 16px;">
|
|
43
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;">
|
|
44
|
+
<div style="display: flex; justify-content: space-between; align-items: start; margin-bottom: 8px;">
|
|
45
|
+
<h4 style="font-size: 14px; font-weight: 600;">Optimizing Email Deliverability</h4>
|
|
46
|
+
<div style="display: flex; gap: 8px; align-items: center;">
|
|
47
|
+
<span class="badge badge-success">Best Practice</span>
|
|
48
|
+
<div style="display: flex; align-items: center; gap: 4px; font-size: 12px;">
|
|
49
|
+
<span>⭐</span>
|
|
50
|
+
<span style="color: var(--text-secondary);">4.9 (23)</span>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
55
|
+
Comprehensive guide on improving email deliverability rates through proper DNS configuration and sender reputation management.
|
|
56
|
+
</p>
|
|
57
|
+
<div style="display: flex; justify-content: space-between; align-items: center;">
|
|
58
|
+
<div style="display: flex; align-items: center; gap: 12px; font-size: 11px; color: var(--text-muted);">
|
|
59
|
+
<span>by <strong>EmailExpert</strong></span>
|
|
60
|
+
<span>•</span>
|
|
61
|
+
<span>2 days ago</span>
|
|
62
|
+
<span>•</span>
|
|
63
|
+
<span>156 views</span>
|
|
64
|
+
</div>
|
|
65
|
+
<button class="btn btn-sm btn-secondary">Read More</button>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
{% endblock %}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{% extends "layout.html" %}
|
|
2
|
+
|
|
3
|
+
{% block content %}
|
|
4
|
+
<div class="stat-grid">
|
|
5
|
+
<div class="stat-card">
|
|
6
|
+
<div class="stat-label">Knowledge Bases</div>
|
|
7
|
+
<div class="stat-value">7</div>
|
|
8
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">+1 this month</div>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="stat-card">
|
|
11
|
+
<div class="stat-label">Total Documents</div>
|
|
12
|
+
<div class="stat-value">1,247</div>
|
|
13
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">+89 this week</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="stat-card">
|
|
16
|
+
<div class="stat-label">Storage Used</div>
|
|
17
|
+
<div class="stat-value">2.3GB</div>
|
|
18
|
+
<div style="color: var(--text-muted); font-size: 12px; margin-top: 4px;">of 10GB</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div class="card">
|
|
23
|
+
<div class="card-header">
|
|
24
|
+
<h3>Knowledge Bases</h3>
|
|
25
|
+
<button class="btn btn-primary">+ New Knowledge Base</button>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="card-body">
|
|
28
|
+
<div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px;">
|
|
29
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;">
|
|
30
|
+
<div style="display: flex; justify-content: space-between; align-items: start; margin-bottom: 8px;">
|
|
31
|
+
<h4 style="font-size: 14px; font-weight: 600;">Customer Support</h4>
|
|
32
|
+
<span class="badge badge-success">Active</span>
|
|
33
|
+
</div>
|
|
34
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
35
|
+
FAQs, troubleshooting guides, and customer service procedures for support agents.
|
|
36
|
+
</p>
|
|
37
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; font-size: 12px; color: var(--text-muted);">
|
|
38
|
+
<span>347 documents</span>
|
|
39
|
+
<span>Updated 2 hours ago</span>
|
|
40
|
+
</div>
|
|
41
|
+
<div style="display: flex; justify-content: space-between; align-items: center;">
|
|
42
|
+
<div>
|
|
43
|
+
<span style="font-size: 11px; color: var(--text-muted);">Used by:</span>
|
|
44
|
+
<span style="font-size: 11px; font-weight: 600;">Alice, Bob, Charlie</span>
|
|
45
|
+
</div>
|
|
46
|
+
<button class="btn btn-sm btn-secondary">Manage</button>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;">
|
|
51
|
+
<div style="display: flex; justify-content: space-between; align-items: start; margin-bottom: 8px;">
|
|
52
|
+
<h4 style="font-size: 14px; font-weight: 600;">Product Documentation</h4>
|
|
53
|
+
<span class="badge badge-success">Active</span>
|
|
54
|
+
</div>
|
|
55
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
56
|
+
Technical documentation, API references, and integration guides for developers.
|
|
57
|
+
</p>
|
|
58
|
+
<div style="display: flex; justify-content: space-between; align-items: center;">
|
|
59
|
+
<div>
|
|
60
|
+
<span style="font-size: 11px; color: var(--text-muted);">Used by:</span>
|
|
61
|
+
<span style="font-size: 11px; font-weight: 600;">Diana, Eve</span>
|
|
62
|
+
</div>
|
|
63
|
+
<button class="btn btn-sm btn-secondary">Manage</button>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
{% endblock %}
|
|
@@ -7,78 +7,113 @@
|
|
|
7
7
|
<link rel="stylesheet" href="{{ url_for('static', filename='styles.css') }}">
|
|
8
8
|
</head>
|
|
9
9
|
<body>
|
|
10
|
-
<div class="
|
|
11
|
-
<div class="sidebar
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
<div class="layout">
|
|
11
|
+
<div class="sidebar">
|
|
12
|
+
<div class="sidebar-header">
|
|
13
|
+
<h2>AgenticMail</h2>
|
|
14
|
+
<p>Enterprise Dashboard</p>
|
|
15
|
+
</div>
|
|
16
|
+
<nav class="nav">
|
|
17
|
+
<div class="nav-section">Overview</div>
|
|
18
|
+
<a href="{{ url_for('dashboard_bp.dashboard') }}" class="nav-item {{ 'active' if active_page == 'dashboard' }}">
|
|
19
|
+
<span>📊</span> <span>Dashboard</span>
|
|
20
|
+
</a>
|
|
21
|
+
|
|
22
|
+
<div class="nav-section">Management</div>
|
|
23
|
+
<a href="{{ url_for('agents_bp.agents') }}" class="nav-item {{ 'active' if active_page == 'agents' }}">
|
|
24
|
+
<span>🤖</span> <span>Agents</span>
|
|
25
|
+
</a>
|
|
26
|
+
<a href="{{ url_for('skills_bp.skills') }}" class="nav-item {{ 'active' if active_page == 'skills' }}">
|
|
27
|
+
<span>⚡</span> <span>Skills</span>
|
|
28
|
+
</a>
|
|
29
|
+
<a href="{{ url_for('community_skills_bp.community_skills') }}" class="nav-item {{ 'active' if active_page == 'community_skills' }}">
|
|
30
|
+
<span>🏪</span> <span>Community Skills</span>
|
|
31
|
+
</a>
|
|
32
|
+
<a href="{{ url_for('skill_connections_bp.skill_connections') }}" class="nav-item {{ 'active' if active_page == 'skill_connections' }}">
|
|
33
|
+
<span>🔗</span> <span>Skill Connections</span>
|
|
34
|
+
</a>
|
|
35
|
+
<a href="{{ url_for('knowledge_bp.knowledge') }}" class="nav-item {{ 'active' if active_page == 'knowledge' }}">
|
|
36
|
+
<span>📚</span> <span>Knowledge Bases</span>
|
|
37
|
+
</a>
|
|
38
|
+
<a href="{{ url_for('knowledge_contributions_bp.knowledge_contributions') }}" class="nav-item {{ 'active' if active_page == 'knowledge_contributions' }}">
|
|
39
|
+
<span>🧠</span> <span>Knowledge Hub</span>
|
|
40
|
+
</a>
|
|
41
|
+
<a href="{{ url_for('approvals_bp.approvals') }}" class="nav-item {{ 'active' if active_page == 'approvals' }}">
|
|
42
|
+
<span>✅</span> <span>Approvals</span>
|
|
43
|
+
</a>
|
|
44
|
+
|
|
45
|
+
<div class="nav-section">Management</div>
|
|
46
|
+
<a href="{{ url_for('workforce_bp.workforce') }}" class="nav-item {{ 'active' if active_page == 'workforce' }}">
|
|
47
|
+
<span>⏰</span> <span>Workforce</span>
|
|
48
|
+
</a>
|
|
49
|
+
<a href="{{ url_for('activity_bp.activity') }}" class="nav-item {{ 'active' if active_page == 'activity' }}">
|
|
50
|
+
<span>📊</span> <span>Activity</span>
|
|
51
|
+
</a>
|
|
52
|
+
<a href="{{ url_for('messages_bp.messages') }}" class="nav-item {{ 'active' if active_page == 'messages' }}">
|
|
53
|
+
<span>💬</span> <span>Messages</span>
|
|
54
|
+
</a>
|
|
55
|
+
<a href="{{ url_for('guardrails_bp.guardrails') }}" class="nav-item {{ 'active' if active_page == 'guardrails' }}">
|
|
56
|
+
<span>🛡️</span> <span>Guardrails</span>
|
|
57
|
+
</a>
|
|
58
|
+
<a href="{{ url_for('journal_bp.journal') }}" class="nav-item {{ 'active' if active_page == 'journal' }}">
|
|
59
|
+
<span>📝</span> <span>Journal</span>
|
|
60
|
+
</a>
|
|
61
|
+
|
|
62
|
+
<div class="nav-section">Administration</div>
|
|
63
|
+
<a href="{{ url_for('dlp_bp.dlp') }}" class="nav-item {{ 'active' if active_page == 'dlp' }}">
|
|
64
|
+
<span>🔍</span> <span>DLP</span>
|
|
65
|
+
</a>
|
|
66
|
+
<a href="{{ url_for('compliance_bp.compliance') }}" class="nav-item {{ 'active' if active_page == 'compliance' }}">
|
|
67
|
+
<span>✔️</span> <span>Compliance</span>
|
|
68
|
+
</a>
|
|
69
|
+
<a href="{{ url_for('domain_status_bp.domain_status') }}" class="nav-item {{ 'active' if active_page == 'domain_status' }}">
|
|
70
|
+
<span>🛡️</span> <span>Domain</span>
|
|
71
|
+
</a>
|
|
72
|
+
<a href="{{ url_for('users_bp.users') }}" class="nav-item {{ 'active' if active_page == 'users' }}">
|
|
73
|
+
<span>👥</span> <span>Users</span>
|
|
74
|
+
</a>
|
|
75
|
+
<a href="{{ url_for('vault_bp.vault') }}" class="nav-item {{ 'active' if active_page == 'vault' }}">
|
|
76
|
+
<span>🔐</span> <span>Vault</span>
|
|
77
|
+
</a>
|
|
78
|
+
<a href="{{ url_for('audit_bp.audit') }}" class="nav-item {{ 'active' if active_page == 'audit' }}">
|
|
79
|
+
<span>📋</span> <span>Audit Log</span>
|
|
80
|
+
</a>
|
|
81
|
+
<a href="{{ url_for('settings_bp.settings') }}" class="nav-item {{ 'active' if active_page == 'settings' }}">
|
|
82
|
+
<span>⚙️</span> <span>Settings</span>
|
|
83
|
+
</a>
|
|
84
|
+
</nav>
|
|
14
85
|
</div>
|
|
15
|
-
<nav class="sidebar-nav">
|
|
16
|
-
<a href="{{ url_for('dashboard_bp.dashboard') }}" class="{{ 'active' if active_page == 'dashboard' }}">
|
|
17
|
-
<span>Dashboard</span>
|
|
18
|
-
</a>
|
|
19
|
-
<a href="{{ url_for('agents_bp.agents') }}" class="{{ 'active' if active_page == 'agents' }}">
|
|
20
|
-
<span>Agents</span>
|
|
21
|
-
</a>
|
|
22
|
-
<a href="{{ url_for('users_bp.users') }}" class="{{ 'active' if active_page == 'users' }}">
|
|
23
|
-
<span>Users</span>
|
|
24
|
-
</a>
|
|
25
|
-
<a href="{{ url_for('api_keys_bp.api_keys') }}" class="{{ 'active' if active_page == 'api_keys' }}">
|
|
26
|
-
<span>API Keys</span>
|
|
27
|
-
</a>
|
|
28
|
-
<a href="{{ url_for('vault_bp.vault') }}" class="{{ 'active' if active_page == 'vault' }}">
|
|
29
|
-
<span>Vault</span>
|
|
30
|
-
</a>
|
|
31
|
-
<a href="{{ url_for('skills_bp.skills') }}" class="{{ 'active' if active_page == 'skills' }}">
|
|
32
|
-
<span>Skills</span>
|
|
33
|
-
</a>
|
|
34
|
-
<a href="{{ url_for('audit_bp.audit') }}" class="{{ 'active' if active_page == 'audit' }}">
|
|
35
|
-
<span>Audit Log</span>
|
|
36
|
-
</a>
|
|
37
|
-
<a href="{{ url_for('dlp_bp.dlp') }}" class="{{ 'active' if active_page == 'dlp' }}">
|
|
38
|
-
<span>DLP</span>
|
|
39
|
-
</a>
|
|
40
|
-
<a href="{{ url_for('compliance_bp.compliance') }}" class="{{ 'active' if active_page == 'compliance' }}">
|
|
41
|
-
<span>Compliance</span>
|
|
42
|
-
</a>
|
|
43
86
|
|
|
44
|
-
|
|
45
|
-
<
|
|
46
|
-
<
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
<
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
{% for m in messages %}
|
|
69
|
-
{% if 'Key created:' in m %}
|
|
70
|
-
<div class="key-banner">
|
|
71
|
-
Save this key now — it will not be shown again!
|
|
72
|
-
<code>{{ m.replace('Key created: ', '').replace(' — SAVE THIS NOW!', '') }}</code>
|
|
73
|
-
</div>
|
|
74
|
-
{% else %}
|
|
75
|
-
<div class="flash flash-success">{{ m }}</div>
|
|
87
|
+
<div class="main-content">
|
|
88
|
+
<div class="topbar">
|
|
89
|
+
<div class="topbar-left">
|
|
90
|
+
<div class="topbar-title">AgenticMail Enterprise</div>
|
|
91
|
+
</div>
|
|
92
|
+
<div class="topbar-right">
|
|
93
|
+
<span>{{ user.name or user.email }}</span>
|
|
94
|
+
<a href="{{ url_for('auth_bp.logout') }}" class="btn btn-secondary btn-sm">Sign Out</a>
|
|
95
|
+
<button class="btn btn-secondary btn-sm" onclick="toggleTheme()" title="Toggle theme">🌙</button>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
98
|
+
<div class="page-content">
|
|
99
|
+
{% with messages = get_flashed_messages() %}
|
|
100
|
+
{% if messages %}
|
|
101
|
+
{% for m in messages %}
|
|
102
|
+
{% if 'Key created:' in m %}
|
|
103
|
+
<div class="key-banner">
|
|
104
|
+
Save this key now — it will not be shown again!
|
|
105
|
+
<code>{{ m.replace('Key created: ', '').replace(' — SAVE THIS NOW!', '') }}</code>
|
|
106
|
+
</div>
|
|
107
|
+
{% else %}
|
|
108
|
+
<div class="flash flash-success">{{ m }}</div>
|
|
109
|
+
{% endif %}
|
|
110
|
+
{% endfor %}
|
|
76
111
|
{% endif %}
|
|
77
|
-
{%
|
|
78
|
-
{% endif %}
|
|
79
|
-
{% endwith %}
|
|
112
|
+
{% endwith %}
|
|
80
113
|
|
|
81
|
-
|
|
114
|
+
{% block content %}{% endblock %}
|
|
115
|
+
</div>
|
|
116
|
+
</div>
|
|
82
117
|
</div>
|
|
83
118
|
|
|
84
119
|
{% block scripts %}{% endblock %}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{% extends "layout.html" %}
|
|
2
|
+
|
|
3
|
+
{% block content %}
|
|
4
|
+
<div class="stat-grid">
|
|
5
|
+
<div class="stat-card">
|
|
6
|
+
<div class="stat-label">Active Connections</div>
|
|
7
|
+
<div class="stat-value">14</div>
|
|
8
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">All healthy</div>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="stat-card">
|
|
11
|
+
<div class="stat-label">Data Flows</div>
|
|
12
|
+
<div class="stat-value">267</div>
|
|
13
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">+23 this week</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="stat-card">
|
|
16
|
+
<div class="stat-label">Failed Connections</div>
|
|
17
|
+
<div class="stat-value">1</div>
|
|
18
|
+
<div style="color: var(--danger); font-size: 12px; margin-top: 4px;">Needs attention</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div class="card">
|
|
23
|
+
<div class="card-header">
|
|
24
|
+
<h3>Skill Network</h3>
|
|
25
|
+
<div style="display: flex; gap: 8px;">
|
|
26
|
+
<button class="btn btn-primary">+ New Connection</button>
|
|
27
|
+
<button class="btn btn-secondary">View Map</button>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="card-body">
|
|
31
|
+
<div style="background: var(--bg-tertiary); border-radius: var(--radius); padding: 20px; margin-bottom: 20px; text-align: center;">
|
|
32
|
+
<div style="font-size: 48px; margin-bottom: 12px; color: var(--text-muted);">🔗</div>
|
|
33
|
+
<p style="color: var(--text-muted); font-size: 13px;">Interactive skill network visualization will be displayed here</p>
|
|
34
|
+
<p style="color: var(--text-muted); font-size: 12px; margin-top: 4px;">Showing connections between skills, data flows, and dependencies</p>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px;">
|
|
38
|
+
<div style="border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 16px;">
|
|
39
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;">
|
|
40
|
+
<h4 style="font-size: 14px; font-weight: 600;">Email → CRM Sync</h4>
|
|
41
|
+
<span class="badge badge-success">Active</span>
|
|
42
|
+
</div>
|
|
43
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
44
|
+
Automatically sync email interactions with CRM contact records
|
|
45
|
+
</p>
|
|
46
|
+
<div style="display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 12px;">
|
|
47
|
+
<span style="background: var(--accent-soft); color: var(--accent-text); padding: 2px 6px; border-radius: 4px;">Email Processing</span>
|
|
48
|
+
<span>→</span>
|
|
49
|
+
<span style="background: var(--success-soft); color: var(--success); padding: 2px 6px; border-radius: 4px;">CRM Integration</span>
|
|
50
|
+
</div>
|
|
51
|
+
<div style="font-size: 11px; color: var(--text-muted);">
|
|
52
|
+
Last sync: 2 mins ago • 47 records processed
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
|
|
56
|
+
<div style="border: 1px solid var(--danger); border-radius: var(--radius-lg); padding: 16px;">
|
|
57
|
+
<div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;">
|
|
58
|
+
<h4 style="font-size: 14px; font-weight: 600;">Slack → Notifications</h4>
|
|
59
|
+
<span class="badge badge-danger">Failed</span>
|
|
60
|
+
</div>
|
|
61
|
+
<p style="font-size: 12px; color: var(--text-muted); margin-bottom: 12px;">
|
|
62
|
+
Send agent notifications to Slack channels
|
|
63
|
+
</p>
|
|
64
|
+
<div style="font-size: 11px; color: var(--danger); margin-bottom: 8px;">
|
|
65
|
+
Error: Invalid webhook URL
|
|
66
|
+
</div>
|
|
67
|
+
<button class="btn btn-sm btn-danger">Fix Connection</button>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
{% endblock %}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
{% extends "layout.html" %}
|
|
2
|
+
|
|
3
|
+
{% block content %}
|
|
4
|
+
<div class="stat-grid">
|
|
5
|
+
<div class="stat-card">
|
|
6
|
+
<div class="stat-label">Total Agents</div>
|
|
7
|
+
<div class="stat-value">23</div>
|
|
8
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">+2 this month</div>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="stat-card">
|
|
11
|
+
<div class="stat-label">Active Now</div>
|
|
12
|
+
<div class="stat-value">18</div>
|
|
13
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">78% utilization</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="stat-card">
|
|
16
|
+
<div class="stat-label">Tasks Completed</div>
|
|
17
|
+
<div class="stat-value">1,847</div>
|
|
18
|
+
<div style="color: var(--success); font-size: 12px; margin-top: 4px;">+12% vs yesterday</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
|
|
22
|
+
<div class="card">
|
|
23
|
+
<div class="card-header">
|
|
24
|
+
<h3>Agent Status</h3>
|
|
25
|
+
<div style="display: flex; gap: 8px;">
|
|
26
|
+
<input type="text" class="input" placeholder="Search agents..." style="width: 200px;">
|
|
27
|
+
<select class="input" style="width: auto;">
|
|
28
|
+
<option>All Agents</option>
|
|
29
|
+
<option>Active</option>
|
|
30
|
+
<option>Idle</option>
|
|
31
|
+
<option>Offline</option>
|
|
32
|
+
</select>
|
|
33
|
+
<button class="btn btn-primary">Schedule Task</button>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="card-body">
|
|
37
|
+
<table>
|
|
38
|
+
<thead>
|
|
39
|
+
<tr>
|
|
40
|
+
<th>Agent</th>
|
|
41
|
+
<th>Status</th>
|
|
42
|
+
<th>Current Task</th>
|
|
43
|
+
<th>Workload</th>
|
|
44
|
+
<th>Performance</th>
|
|
45
|
+
<th>Next Available</th>
|
|
46
|
+
<th>Actions</th>
|
|
47
|
+
</tr>
|
|
48
|
+
</thead>
|
|
49
|
+
<tbody>
|
|
50
|
+
<tr>
|
|
51
|
+
<td>
|
|
52
|
+
<div style="display: flex; align-items: center; gap: 8px;">
|
|
53
|
+
<div style="width: 24px; height: 24px; border-radius: 50%; background: var(--accent-soft); color: var(--accent-text); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;">A</div>
|
|
54
|
+
<span style="font-weight: 500;">Alice</span>
|
|
55
|
+
</div>
|
|
56
|
+
</td>
|
|
57
|
+
<td><span class="badge badge-success">Active</span></td>
|
|
58
|
+
<td>
|
|
59
|
+
<div style="font-size: 12px;">Processing customer inquiry</div>
|
|
60
|
+
<div style="font-size: 10px; color: var(--text-muted);">Started 15 mins ago</div>
|
|
61
|
+
</td>
|
|
62
|
+
<td>
|
|
63
|
+
<div style="display: flex; align-items: center; gap: 8px;">
|
|
64
|
+
<div style="width: 40px; height: 4px; background: var(--border); border-radius: 2px; overflow: hidden;">
|
|
65
|
+
<div style="width: 75%; height: 100%; background: var(--warning);"></div>
|
|
66
|
+
</div>
|
|
67
|
+
<span style="font-size: 11px;">75%</span>
|
|
68
|
+
</div>
|
|
69
|
+
</td>
|
|
70
|
+
<td>
|
|
71
|
+
<div style="font-size: 12px; font-weight: 600; color: var(--success);">98.2%</div>
|
|
72
|
+
<div style="font-size: 10px; color: var(--text-muted);">Success rate</div>
|
|
73
|
+
</td>
|
|
74
|
+
<td>In 2 hours</td>
|
|
75
|
+
<td>
|
|
76
|
+
<button class="btn btn-sm btn-secondary">Reassign</button>
|
|
77
|
+
</td>
|
|
78
|
+
</tr>
|
|
79
|
+
<tr>
|
|
80
|
+
<td>
|
|
81
|
+
<div style="display: flex; align-items: center; gap: 8px;">
|
|
82
|
+
<div style="width: 24px; height: 24px; border-radius: 50%; background: var(--success-soft); color: var(--success); display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 600;">B</div>
|
|
83
|
+
<span style="font-weight: 500;">Bob</span>
|
|
84
|
+
</div>
|
|
85
|
+
</td>
|
|
86
|
+
<td><span class="badge badge-warning">Idle</span></td>
|
|
87
|
+
<td>
|
|
88
|
+
<div style="font-size: 12px; color: var(--text-muted);">Waiting for next task</div>
|
|
89
|
+
<div style="font-size: 10px; color: var(--text-muted);">Idle for 8 mins</div>
|
|
90
|
+
</td>
|
|
91
|
+
<td>
|
|
92
|
+
<div style="display: flex; align-items: center; gap: 8px;">
|
|
93
|
+
<div style="width: 40px; height: 4px; background: var(--border); border-radius: 2px; overflow: hidden;">
|
|
94
|
+
<div style="width: 20%; height: 100%; background: var(--success);"></div>
|
|
95
|
+
</div>
|
|
96
|
+
<span style="font-size: 11px;">20%</span>
|
|
97
|
+
</div>
|
|
98
|
+
</td>
|
|
99
|
+
<td>
|
|
100
|
+
<div style="font-size: 12px; font-weight: 600; color: var(--success);">96.7%</div>
|
|
101
|
+
<div style="font-size: 10px; color: var(--text-muted);">Success rate</div>
|
|
102
|
+
</td>
|
|
103
|
+
<td>Available now</td>
|
|
104
|
+
<td>
|
|
105
|
+
<button class="btn btn-sm btn-primary">Assign Task</button>
|
|
106
|
+
</td>
|
|
107
|
+
</tr>
|
|
108
|
+
</tbody>
|
|
109
|
+
</table>
|
|
110
|
+
</div>
|
|
111
|
+
</div>
|
|
112
|
+
{% endblock %}
|