claude-code-templates 1.21.12 β 1.22.0
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.
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
|
+
<title>Claude Code Plugin Dashboard</title>
|
|
7
|
+
<link rel="stylesheet" href="styles.css">
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
<div class="app-container">
|
|
11
|
+
<!-- Sidebar Navigation -->
|
|
12
|
+
<aside class="sidebar" id="sidebar">
|
|
13
|
+
<div class="sidebar-header">
|
|
14
|
+
<div class="sidebar-logo">
|
|
15
|
+
<span class="logo-icon">π</span>
|
|
16
|
+
<span class="logo-text">Plugin Manager</span>
|
|
17
|
+
</div>
|
|
18
|
+
<button class="sidebar-toggle" id="sidebarToggle" aria-label="Toggle sidebar">
|
|
19
|
+
<span class="toggle-icon">β°</span>
|
|
20
|
+
</button>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<div class="sidebar-stats">
|
|
24
|
+
<div class="sidebar-stat">
|
|
25
|
+
<span class="stat-number" id="sidebarTotalPlugins">-</span>
|
|
26
|
+
<span class="stat-text">Total Plugins</span>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="sidebar-stat">
|
|
29
|
+
<span class="stat-number" id="sidebarEnabledPlugins">-</span>
|
|
30
|
+
<span class="stat-text">Enabled</span>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
<div class="sidebar-section">
|
|
35
|
+
<div class="sidebar-section-header">
|
|
36
|
+
<span class="section-title">Marketplaces</span>
|
|
37
|
+
<span class="section-count" id="marketplaceCount">0</span>
|
|
38
|
+
</div>
|
|
39
|
+
<div class="marketplace-filters">
|
|
40
|
+
<button class="marketplace-filter-btn active" data-filter="all">
|
|
41
|
+
All
|
|
42
|
+
</button>
|
|
43
|
+
<button class="marketplace-filter-btn" data-filter="enabled">
|
|
44
|
+
Enabled
|
|
45
|
+
</button>
|
|
46
|
+
<button class="marketplace-filter-btn" data-filter="disabled">
|
|
47
|
+
Disabled
|
|
48
|
+
</button>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
<nav class="sidebar-nav" id="marketplaceNav">
|
|
53
|
+
<div class="sidebar-loading">
|
|
54
|
+
<div class="spinner"></div>
|
|
55
|
+
<span>Loading...</span>
|
|
56
|
+
</div>
|
|
57
|
+
</nav>
|
|
58
|
+
|
|
59
|
+
<div class="sidebar-footer">
|
|
60
|
+
<a href="https://aitmpl.com/plugins" target="_blank" class="sidebar-link">
|
|
61
|
+
<span class="link-icon">π</span>
|
|
62
|
+
<span class="link-text">Browse More</span>
|
|
63
|
+
</a>
|
|
64
|
+
<a href="https://docs.aitmpl.com" target="_blank" class="sidebar-link">
|
|
65
|
+
<span class="link-icon">π</span>
|
|
66
|
+
<span class="link-text">Documentation</span>
|
|
67
|
+
</a>
|
|
68
|
+
</div>
|
|
69
|
+
</aside>
|
|
70
|
+
|
|
71
|
+
<!-- Main Content Area -->
|
|
72
|
+
<main class="main-content">
|
|
73
|
+
<!-- Top Bar -->
|
|
74
|
+
<header class="top-bar">
|
|
75
|
+
<div class="top-bar-left">
|
|
76
|
+
<h1 class="page-title">
|
|
77
|
+
<span class="title-icon" id="currentMarketplaceIcon">π§©</span>
|
|
78
|
+
<span id="currentMarketplaceName">All Plugins</span>
|
|
79
|
+
</h1>
|
|
80
|
+
<div class="breadcrumb" id="breadcrumb"></div>
|
|
81
|
+
</div>
|
|
82
|
+
<div class="top-bar-right">
|
|
83
|
+
<div class="search-box">
|
|
84
|
+
<span class="search-icon">π</span>
|
|
85
|
+
<input
|
|
86
|
+
type="text"
|
|
87
|
+
id="pluginSearch"
|
|
88
|
+
placeholder="Search plugins..."
|
|
89
|
+
class="search-input"
|
|
90
|
+
>
|
|
91
|
+
</div>
|
|
92
|
+
<div class="view-controls">
|
|
93
|
+
<button class="refresh-btn" id="refreshBtn" title="Refresh data">
|
|
94
|
+
<span class="refresh-icon">π</span>
|
|
95
|
+
</button>
|
|
96
|
+
<button class="view-btn active" data-view="grid" title="Grid view">
|
|
97
|
+
<span class="view-icon">β¦</span>
|
|
98
|
+
</button>
|
|
99
|
+
<button class="view-btn" data-view="list" title="List view">
|
|
100
|
+
<span class="view-icon">β°</span>
|
|
101
|
+
</button>
|
|
102
|
+
</div>
|
|
103
|
+
</div>
|
|
104
|
+
</header>
|
|
105
|
+
|
|
106
|
+
<!-- Filters Bar -->
|
|
107
|
+
<div class="filters-bar">
|
|
108
|
+
<div class="filter-group">
|
|
109
|
+
<button class="filter-chip active" data-filter="all">
|
|
110
|
+
All Plugins
|
|
111
|
+
<span class="chip-badge" id="countAll">0</span>
|
|
112
|
+
</button>
|
|
113
|
+
<button class="filter-chip" data-filter="enabled">
|
|
114
|
+
<span class="status-dot enabled"></span>
|
|
115
|
+
Enabled
|
|
116
|
+
<span class="chip-badge" id="countEnabled">0</span>
|
|
117
|
+
</button>
|
|
118
|
+
<button class="filter-chip" data-filter="disabled">
|
|
119
|
+
<span class="status-dot disabled"></span>
|
|
120
|
+
Disabled
|
|
121
|
+
<span class="chip-badge" id="countDisabled">0</span>
|
|
122
|
+
</button>
|
|
123
|
+
</div>
|
|
124
|
+
<div class="sort-controls">
|
|
125
|
+
<label for="sortSelect" class="sort-label">Sort by:</label>
|
|
126
|
+
<select id="sortSelect" class="sort-select">
|
|
127
|
+
<option value="name">Name</option>
|
|
128
|
+
<option value="components">Components</option>
|
|
129
|
+
<option value="status">Status</option>
|
|
130
|
+
</select>
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
|
|
134
|
+
<!-- Plugins Grid/List -->
|
|
135
|
+
<div class="plugins-container" id="pluginsContainer">
|
|
136
|
+
<div class="content-loading">
|
|
137
|
+
<div class="spinner-large"></div>
|
|
138
|
+
<p class="loading-text">Loading plugins...</p>
|
|
139
|
+
</div>
|
|
140
|
+
</div>
|
|
141
|
+
|
|
142
|
+
<!-- Empty State -->
|
|
143
|
+
<div class="empty-state-container" id="emptyState" style="display: none;">
|
|
144
|
+
<div class="empty-state">
|
|
145
|
+
<div class="empty-icon">π¦</div>
|
|
146
|
+
<h2 class="empty-title">No plugins found</h2>
|
|
147
|
+
<p class="empty-description" id="emptyDescription">
|
|
148
|
+
Try adjusting your filters or search terms
|
|
149
|
+
</p>
|
|
150
|
+
<button class="btn-primary" id="clearFiltersBtn" style="display: none;">
|
|
151
|
+
Clear Filters
|
|
152
|
+
</button>
|
|
153
|
+
</div>
|
|
154
|
+
</div>
|
|
155
|
+
</main>
|
|
156
|
+
</div>
|
|
157
|
+
|
|
158
|
+
<!-- Plugin Details Modal -->
|
|
159
|
+
<div class="modal-overlay" id="pluginModal">
|
|
160
|
+
<div class="modal-container">
|
|
161
|
+
<div class="modal-header">
|
|
162
|
+
<div class="modal-title-section">
|
|
163
|
+
<h2 class="modal-title" id="modalPluginName"></h2>
|
|
164
|
+
<div class="modal-badges">
|
|
165
|
+
<span class="modal-badge version-badge" id="modalPluginVersion"></span>
|
|
166
|
+
<span class="modal-badge status-badge" id="modalPluginStatus"></span>
|
|
167
|
+
</div>
|
|
168
|
+
</div>
|
|
169
|
+
<button class="modal-close-btn" id="modalCloseBtn" aria-label="Close modal">
|
|
170
|
+
<span class="close-icon">β</span>
|
|
171
|
+
</button>
|
|
172
|
+
</div>
|
|
173
|
+
|
|
174
|
+
<div class="modal-body">
|
|
175
|
+
<div class="modal-section">
|
|
176
|
+
<p class="modal-description" id="modalPluginDescription"></p>
|
|
177
|
+
</div>
|
|
178
|
+
|
|
179
|
+
<div class="modal-section">
|
|
180
|
+
<h3 class="modal-section-title">Components</h3>
|
|
181
|
+
<div class="modal-components-grid" id="modalComponents"></div>
|
|
182
|
+
</div>
|
|
183
|
+
|
|
184
|
+
<div class="modal-section">
|
|
185
|
+
<h3 class="modal-section-title">Plugin Information</h3>
|
|
186
|
+
<div class="modal-details-grid">
|
|
187
|
+
<div class="detail-card">
|
|
188
|
+
<span class="detail-label">Marketplace</span>
|
|
189
|
+
<span class="detail-value" id="modalMarketplace"></span>
|
|
190
|
+
</div>
|
|
191
|
+
<div class="detail-card" id="modalAuthorCard">
|
|
192
|
+
<span class="detail-label">Author</span>
|
|
193
|
+
<span class="detail-value" id="modalAuthor"></span>
|
|
194
|
+
</div>
|
|
195
|
+
<div class="detail-card" id="modalCategoryCard">
|
|
196
|
+
<span class="detail-label">Category</span>
|
|
197
|
+
<span class="detail-value" id="modalCategory"></span>
|
|
198
|
+
</div>
|
|
199
|
+
<div class="detail-card" id="modalLicenseCard">
|
|
200
|
+
<span class="detail-label">License</span>
|
|
201
|
+
<span class="detail-value" id="modalLicense"></span>
|
|
202
|
+
</div>
|
|
203
|
+
</div>
|
|
204
|
+
</div>
|
|
205
|
+
|
|
206
|
+
<div class="modal-section" id="modalKeywordsSection">
|
|
207
|
+
<h3 class="modal-section-title">Keywords</h3>
|
|
208
|
+
<div class="keywords-container" id="modalKeywords"></div>
|
|
209
|
+
</div>
|
|
210
|
+
|
|
211
|
+
<div class="modal-section" id="modalHomepageSection">
|
|
212
|
+
<a id="modalHomepage" target="_blank" class="btn-secondary btn-block">
|
|
213
|
+
<span class="btn-icon">π</span>
|
|
214
|
+
Visit Homepage
|
|
215
|
+
</a>
|
|
216
|
+
</div>
|
|
217
|
+
|
|
218
|
+
<!-- Plugin Actions -->
|
|
219
|
+
<div class="modal-section">
|
|
220
|
+
<h3 class="modal-section-title">Plugin Actions</h3>
|
|
221
|
+
<div class="plugin-actions-grid" id="modalActions">
|
|
222
|
+
<!-- Actions will be dynamically inserted here -->
|
|
223
|
+
</div>
|
|
224
|
+
</div>
|
|
225
|
+
|
|
226
|
+
<!-- Command Reference -->
|
|
227
|
+
<div class="modal-section">
|
|
228
|
+
<h3 class="modal-section-title">Command Reference</h3>
|
|
229
|
+
<div class="command-list">
|
|
230
|
+
<div class="command-item">
|
|
231
|
+
<div class="command-header">
|
|
232
|
+
<span class="command-icon">π₯</span>
|
|
233
|
+
<span class="command-title">Install Plugin</span>
|
|
234
|
+
</div>
|
|
235
|
+
<div class="command-code" id="installCommand">
|
|
236
|
+
/plugin install plugin-name@marketplace-name
|
|
237
|
+
</div>
|
|
238
|
+
<button class="command-copy-btn" onclick="window.dashboard.copyCommand('install')" title="Copy command">
|
|
239
|
+
π
|
|
240
|
+
</button>
|
|
241
|
+
</div>
|
|
242
|
+
<div class="command-item">
|
|
243
|
+
<div class="command-header">
|
|
244
|
+
<span class="command-icon">β
</span>
|
|
245
|
+
<span class="command-title">Enable Plugin</span>
|
|
246
|
+
</div>
|
|
247
|
+
<div class="command-code" id="enableCommand">
|
|
248
|
+
/plugin enable plugin-name@marketplace-name
|
|
249
|
+
</div>
|
|
250
|
+
<button class="command-copy-btn" onclick="window.dashboard.copyCommand('enable')" title="Copy command">
|
|
251
|
+
π
|
|
252
|
+
</button>
|
|
253
|
+
</div>
|
|
254
|
+
<div class="command-item">
|
|
255
|
+
<div class="command-header">
|
|
256
|
+
<span class="command-icon">βΈοΈ</span>
|
|
257
|
+
<span class="command-title">Disable Plugin</span>
|
|
258
|
+
</div>
|
|
259
|
+
<div class="command-code" id="disableCommand">
|
|
260
|
+
/plugin disable plugin-name@marketplace-name
|
|
261
|
+
</div>
|
|
262
|
+
<button class="command-copy-btn" onclick="window.dashboard.copyCommand('disable')" title="Copy command">
|
|
263
|
+
π
|
|
264
|
+
</button>
|
|
265
|
+
</div>
|
|
266
|
+
<div class="command-item">
|
|
267
|
+
<div class="command-header">
|
|
268
|
+
<span class="command-icon">ποΈ</span>
|
|
269
|
+
<span class="command-title">Uninstall Plugin</span>
|
|
270
|
+
</div>
|
|
271
|
+
<div class="command-code" id="uninstallCommand">
|
|
272
|
+
/plugin uninstall plugin-name@marketplace-name
|
|
273
|
+
</div>
|
|
274
|
+
<button class="command-copy-btn" onclick="window.dashboard.copyCommand('uninstall')" title="Copy command">
|
|
275
|
+
π
|
|
276
|
+
</button>
|
|
277
|
+
</div>
|
|
278
|
+
</div>
|
|
279
|
+
</div>
|
|
280
|
+
</div>
|
|
281
|
+
</div>
|
|
282
|
+
</div>
|
|
283
|
+
|
|
284
|
+
<!-- Command Copied Toast -->
|
|
285
|
+
<div class="toast" id="commandToast">
|
|
286
|
+
<span class="toast-icon">β
</span>
|
|
287
|
+
<span class="toast-message">Command copied to clipboard!</span>
|
|
288
|
+
</div>
|
|
289
|
+
|
|
290
|
+
<script src="app.js"></script>
|
|
291
|
+
</body>
|
|
292
|
+
</html>
|