rails_error_dashboard 0.1.1 → 0.1.4
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.
- checksums.yaml +4 -4
- data/README.md +92 -21
- data/app/assets/stylesheets/rails_error_dashboard/_catppuccin_mocha.scss +107 -0
- data/app/assets/stylesheets/rails_error_dashboard/_components.scss +625 -0
- data/app/assets/stylesheets/rails_error_dashboard/_layout.scss +257 -0
- data/app/assets/stylesheets/rails_error_dashboard/_theme_variables.scss +203 -0
- data/app/assets/stylesheets/rails_error_dashboard/application.css.map +7 -0
- data/app/assets/stylesheets/rails_error_dashboard/application.scss +61 -0
- data/app/controllers/rails_error_dashboard/errors_controller.rb +135 -1
- data/app/helpers/rails_error_dashboard/application_helper.rb +80 -4
- data/app/helpers/rails_error_dashboard/backtrace_helper.rb +91 -0
- data/app/helpers/rails_error_dashboard/overview_helper.rb +78 -0
- data/app/helpers/rails_error_dashboard/user_agent_helper.rb +118 -0
- data/app/models/rails_error_dashboard/error_comment.rb +27 -0
- data/app/models/rails_error_dashboard/error_log.rb +159 -0
- data/app/views/layouts/rails_error_dashboard/application.html.erb +39 -1
- data/app/views/layouts/rails_error_dashboard.html.erb +796 -299
- data/app/views/layouts/rails_error_dashboard_old_backup.html.erb +383 -0
- data/app/views/rails_error_dashboard/errors/_error_row.html.erb +2 -0
- data/app/views/rails_error_dashboard/errors/_pattern_insights.html.erb +4 -4
- data/app/views/rails_error_dashboard/errors/_timeline.html.erb +167 -0
- data/app/views/rails_error_dashboard/errors/analytics.html.erb +439 -22
- data/app/views/rails_error_dashboard/errors/index.html.erb +127 -11
- data/app/views/rails_error_dashboard/errors/overview.html.erb +253 -0
- data/app/views/rails_error_dashboard/errors/platform_comparison.html.erb +29 -18
- data/app/views/rails_error_dashboard/errors/show.html.erb +353 -54
- data/config/routes.rb +11 -1
- data/db/migrate/20251226020000_add_workflow_fields_to_error_logs.rb +27 -0
- data/db/migrate/20251226020100_create_error_comments.rb +18 -0
- data/lib/generators/rails_error_dashboard/install/install_generator.rb +8 -2
- data/lib/generators/rails_error_dashboard/install/templates/initializer.rb +21 -0
- data/lib/generators/rails_error_dashboard/uninstall/uninstall_generator.rb +317 -0
- data/lib/rails_error_dashboard/commands/batch_delete_errors.rb +1 -1
- data/lib/rails_error_dashboard/commands/batch_resolve_errors.rb +2 -2
- data/lib/rails_error_dashboard/commands/log_error.rb +47 -9
- data/lib/rails_error_dashboard/commands/resolve_error.rb +1 -1
- data/lib/rails_error_dashboard/configuration.rb +8 -0
- data/lib/rails_error_dashboard/error_reporter.rb +4 -4
- data/lib/rails_error_dashboard/logger.rb +105 -0
- data/lib/rails_error_dashboard/middleware/error_catcher.rb +2 -2
- data/lib/rails_error_dashboard/plugin.rb +3 -3
- data/lib/rails_error_dashboard/plugin_registry.rb +2 -2
- data/lib/rails_error_dashboard/plugins/jira_integration_plugin.rb +1 -1
- data/lib/rails_error_dashboard/plugins/metrics_plugin.rb +1 -1
- data/lib/rails_error_dashboard/queries/dashboard_stats.rb +109 -1
- data/lib/rails_error_dashboard/queries/errors_list.rb +134 -7
- data/lib/rails_error_dashboard/queries/mttr_stats.rb +111 -0
- data/lib/rails_error_dashboard/queries/recurring_issues.rb +97 -0
- data/lib/rails_error_dashboard/services/backtrace_parser.rb +113 -0
- data/lib/rails_error_dashboard/version.rb +1 -1
- data/lib/rails_error_dashboard.rb +5 -0
- data/lib/tasks/rails_error_dashboard_tasks.rake +85 -4
- metadata +36 -2
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Layout & Structural Styles
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Navbar, sidebar, cards, and page structure
|
|
5
|
+
// Extracted from inline <style> block in layout template
|
|
6
|
+
// =============================================================================
|
|
7
|
+
|
|
8
|
+
@import 'catppuccin_mocha';
|
|
9
|
+
@import 'theme_variables';
|
|
10
|
+
|
|
11
|
+
// =============================================================================
|
|
12
|
+
// NAVBAR
|
|
13
|
+
// =============================================================================
|
|
14
|
+
|
|
15
|
+
.navbar {
|
|
16
|
+
background: linear-gradient(135deg, var(--primary-color), #6D28D9);
|
|
17
|
+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
|
|
18
|
+
color: white;
|
|
19
|
+
|
|
20
|
+
// Ensure all navbar text is white
|
|
21
|
+
.navbar-brand,
|
|
22
|
+
.text-white,
|
|
23
|
+
small {
|
|
24
|
+
color: white !important;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.theme-toggle {
|
|
29
|
+
cursor: pointer;
|
|
30
|
+
padding: 0.5rem 1rem;
|
|
31
|
+
border-radius: 0.5rem;
|
|
32
|
+
background-color: rgba(255, 255, 255, 0.1);
|
|
33
|
+
color: white;
|
|
34
|
+
border: none;
|
|
35
|
+
transition: background-color 0.2s;
|
|
36
|
+
|
|
37
|
+
&:hover {
|
|
38
|
+
background-color: rgba(255, 255, 255, 0.2);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// =============================================================================
|
|
43
|
+
// SIDEBAR
|
|
44
|
+
// =============================================================================
|
|
45
|
+
|
|
46
|
+
.sidebar {
|
|
47
|
+
background: var(--sidebar-bg);
|
|
48
|
+
min-height: calc(100vh - 56px);
|
|
49
|
+
box-shadow: 2px 0 4px rgba(0, 0, 0, 0.05);
|
|
50
|
+
|
|
51
|
+
.nav-link {
|
|
52
|
+
color: var(--text-color);
|
|
53
|
+
padding: 0.75rem 1.5rem;
|
|
54
|
+
border-left: 3px solid transparent;
|
|
55
|
+
transition: all 0.2s;
|
|
56
|
+
|
|
57
|
+
&:hover {
|
|
58
|
+
background-color: var(--sidebar-hover);
|
|
59
|
+
color: var(--primary-color);
|
|
60
|
+
border-left-color: var(--primary-color);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&.active {
|
|
64
|
+
background-color: var(--nav-active-bg);
|
|
65
|
+
color: var(--primary-color);
|
|
66
|
+
border-left-color: var(--primary-color);
|
|
67
|
+
font-weight: 600;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// =============================================================================
|
|
73
|
+
// STAT CARDS (Dashboard Overview)
|
|
74
|
+
// =============================================================================
|
|
75
|
+
|
|
76
|
+
.stat-card {
|
|
77
|
+
border-radius: 0.75rem;
|
|
78
|
+
border: none;
|
|
79
|
+
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
|
|
80
|
+
transition: transform 0.2s, box-shadow 0.2s;
|
|
81
|
+
|
|
82
|
+
&:hover {
|
|
83
|
+
transform: translateY(-2px);
|
|
84
|
+
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&.updated {
|
|
88
|
+
animation: statPulse 0.5s ease-out;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.stat-value {
|
|
93
|
+
font-size: 2rem;
|
|
94
|
+
font-weight: 700;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.stat-label {
|
|
98
|
+
font-size: 0.875rem;
|
|
99
|
+
text-transform: uppercase;
|
|
100
|
+
letter-spacing: 0.05em;
|
|
101
|
+
|
|
102
|
+
// Light mode
|
|
103
|
+
color: #6B7280;
|
|
104
|
+
|
|
105
|
+
// Dark mode - brighter for better visibility
|
|
106
|
+
[data-theme="dark"] & {
|
|
107
|
+
color: var(--text-secondary);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// =============================================================================
|
|
112
|
+
// ERROR STATUS
|
|
113
|
+
// =============================================================================
|
|
114
|
+
|
|
115
|
+
.error-status-resolved {
|
|
116
|
+
color: var(--success-color);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
.error-status-unresolved {
|
|
120
|
+
color: var(--danger-color);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// =============================================================================
|
|
124
|
+
// CHART CONTAINER
|
|
125
|
+
// =============================================================================
|
|
126
|
+
|
|
127
|
+
.chart-container {
|
|
128
|
+
position: relative;
|
|
129
|
+
height: 300px;
|
|
130
|
+
margin: 1rem 0;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// =============================================================================
|
|
134
|
+
// MOBILE OFFCANVAS MENU
|
|
135
|
+
// =============================================================================
|
|
136
|
+
|
|
137
|
+
[data-theme="dark"] {
|
|
138
|
+
.offcanvas {
|
|
139
|
+
background-color: var(--sidebar-bg);
|
|
140
|
+
color: var(--text-color);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.offcanvas-header {
|
|
144
|
+
border-color: var(--border-color);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.offcanvas-title {
|
|
148
|
+
color: var(--text-color);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// =============================================================================
|
|
153
|
+
// LOADING INDICATOR
|
|
154
|
+
// =============================================================================
|
|
155
|
+
|
|
156
|
+
#loading-indicator {
|
|
157
|
+
position: fixed;
|
|
158
|
+
top: 0;
|
|
159
|
+
left: 0;
|
|
160
|
+
right: 0;
|
|
161
|
+
height: 3px;
|
|
162
|
+
background: linear-gradient(90deg, #8B5CF6 0%, #6D28D9 100%);
|
|
163
|
+
transform: scaleX(0);
|
|
164
|
+
transform-origin: left;
|
|
165
|
+
transition: transform 0.3s ease;
|
|
166
|
+
z-index: 9999;
|
|
167
|
+
display: none;
|
|
168
|
+
|
|
169
|
+
&.active {
|
|
170
|
+
display: block;
|
|
171
|
+
animation: loadingProgress 2s ease-in-out forwards;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// Live indicator pulse
|
|
176
|
+
#live-indicator {
|
|
177
|
+
animation: pulse 2s ease-in-out infinite;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// =============================================================================
|
|
181
|
+
// ANIMATIONS
|
|
182
|
+
// =============================================================================
|
|
183
|
+
|
|
184
|
+
// Loading progress animation
|
|
185
|
+
@keyframes loadingProgress {
|
|
186
|
+
0% {
|
|
187
|
+
transform: scaleX(0);
|
|
188
|
+
}
|
|
189
|
+
50% {
|
|
190
|
+
transform: scaleX(0.7);
|
|
191
|
+
}
|
|
192
|
+
100% {
|
|
193
|
+
transform: scaleX(1);
|
|
194
|
+
opacity: 0;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
// Stat card pulse animation
|
|
199
|
+
@keyframes statPulse {
|
|
200
|
+
0%, 100% {
|
|
201
|
+
transform: scale(1);
|
|
202
|
+
}
|
|
203
|
+
50% {
|
|
204
|
+
transform: scale(1.05);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// Live indicator pulse
|
|
209
|
+
@keyframes pulse {
|
|
210
|
+
0%, 100% {
|
|
211
|
+
opacity: 1;
|
|
212
|
+
}
|
|
213
|
+
50% {
|
|
214
|
+
opacity: 0.5;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
// New error slide-in animation
|
|
219
|
+
@keyframes slideInFade {
|
|
220
|
+
0% {
|
|
221
|
+
transform: translateY(-20px);
|
|
222
|
+
opacity: 0;
|
|
223
|
+
background-color: #FEF3C7;
|
|
224
|
+
}
|
|
225
|
+
10% {
|
|
226
|
+
transform: translateY(0);
|
|
227
|
+
opacity: 1;
|
|
228
|
+
background-color: #FEF3C7;
|
|
229
|
+
}
|
|
230
|
+
100% {
|
|
231
|
+
background-color: transparent;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// Dark mode - adjust new error highlight color
|
|
236
|
+
[data-theme="dark"] {
|
|
237
|
+
@keyframes slideInFade {
|
|
238
|
+
0% {
|
|
239
|
+
transform: translateY(-20px);
|
|
240
|
+
opacity: 0;
|
|
241
|
+
background-color: #{ctp-opacity($ctp-yellow, 0.3)};
|
|
242
|
+
}
|
|
243
|
+
10% {
|
|
244
|
+
transform: translateY(0);
|
|
245
|
+
opacity: 1;
|
|
246
|
+
background-color: #{ctp-opacity($ctp-yellow, 0.3)};
|
|
247
|
+
}
|
|
248
|
+
100% {
|
|
249
|
+
background-color: transparent;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
// Highlight new errors in table
|
|
255
|
+
#error_list tr:first-child.new-error {
|
|
256
|
+
animation: slideInFade 3s ease-out;
|
|
257
|
+
}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Theme Variables - Semantic Color Mapping
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Maps Catppuccin Mocha colors to semantic UI purposes
|
|
5
|
+
// This file defines how Catppuccin colors are used throughout the dashboard
|
|
6
|
+
// =============================================================================
|
|
7
|
+
|
|
8
|
+
@import 'catppuccin_mocha';
|
|
9
|
+
|
|
10
|
+
// =============================================================================
|
|
11
|
+
// LIGHT THEME (Default)
|
|
12
|
+
// =============================================================================
|
|
13
|
+
// Using existing light theme colors for backward compatibility
|
|
14
|
+
// Future enhancement: Switch to Catppuccin Latte palette
|
|
15
|
+
|
|
16
|
+
:root {
|
|
17
|
+
// Semantic Colors
|
|
18
|
+
--primary-color: #8B5CF6; // Purple (Violet)
|
|
19
|
+
--success-color: #10B981; // Green (Emerald)
|
|
20
|
+
--danger-color: #EF4444; // Red
|
|
21
|
+
--warning-color: #F59E0B; // Amber
|
|
22
|
+
--info-color: #3B82F6; // Blue
|
|
23
|
+
--secondary-color: #6B7280; // Gray
|
|
24
|
+
|
|
25
|
+
// Backgrounds
|
|
26
|
+
--bg-color: #F3F4F6; // Off-white
|
|
27
|
+
--card-bg: #FFFFFF; // White
|
|
28
|
+
--sidebar-bg: #FFFFFF; // White
|
|
29
|
+
--sidebar-hover: #F9FAFB; // Very light gray
|
|
30
|
+
--nav-active-bg: #EDE9FE; // Light purple
|
|
31
|
+
--table-hover: #F9FAFB; // Light gray
|
|
32
|
+
--code-bg: #F9FAFB; // Light gray
|
|
33
|
+
|
|
34
|
+
// Text
|
|
35
|
+
--text-color: #1F2937; // Dark gray
|
|
36
|
+
--text-secondary: #4B5563; // Medium gray
|
|
37
|
+
--text-muted: #9CA3AF; // Light gray
|
|
38
|
+
--text-link: #3B82F6; // Blue
|
|
39
|
+
--text-link-hover: #2563EB; // Darker blue
|
|
40
|
+
|
|
41
|
+
// Borders
|
|
42
|
+
--border-color: #E5E7EB; // Light gray
|
|
43
|
+
--border-subtle: #F3F4F6; // Very light gray
|
|
44
|
+
|
|
45
|
+
// Platform Colors (light theme)
|
|
46
|
+
--platform-ios: #000000; // Black
|
|
47
|
+
--platform-android: #3DDC84; // Android green
|
|
48
|
+
--platform-web: #3B82F6; // Blue
|
|
49
|
+
--platform-api: #8B5CF6; // Purple
|
|
50
|
+
|
|
51
|
+
// Chart Colors (light theme - for JavaScript access)
|
|
52
|
+
--chart-line-1: #EF4444; // Red
|
|
53
|
+
--chart-line-2: #10B981; // Green
|
|
54
|
+
--chart-line-3: #F59E0B; // Yellow
|
|
55
|
+
--chart-line-4: #3B82F6; // Blue
|
|
56
|
+
--chart-line-5: #8B5CF6; // Purple
|
|
57
|
+
--chart-grid: rgba(0, 0, 0, 0.1);
|
|
58
|
+
--chart-text: #1F2937;
|
|
59
|
+
--chart-tooltip-bg: #FFFFFF;
|
|
60
|
+
|
|
61
|
+
// Bootstrap Variable Overrides (for light theme)
|
|
62
|
+
--bs-primary: #8B5CF6;
|
|
63
|
+
--bs-success: #10B981;
|
|
64
|
+
--bs-danger: #EF4444;
|
|
65
|
+
--bs-warning: #F59E0B;
|
|
66
|
+
--bs-info: #3B82F6;
|
|
67
|
+
--bs-secondary: #6B7280;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// =============================================================================
|
|
71
|
+
// DARK THEME - Catppuccin Mocha
|
|
72
|
+
// =============================================================================
|
|
73
|
+
// Applied when [data-theme="dark"] attribute is set on <html>
|
|
74
|
+
|
|
75
|
+
[data-theme="dark"] {
|
|
76
|
+
// ---------------------------------------------------------------------------
|
|
77
|
+
// Semantic Colors - Mapped to Catppuccin Mocha
|
|
78
|
+
// ---------------------------------------------------------------------------
|
|
79
|
+
--primary-color: var(--ctp-mauve); // #cba6f7 - Brand, primary actions
|
|
80
|
+
--success-color: var(--ctp-green); // #a6e3a1 - Resolved, healthy
|
|
81
|
+
--danger-color: var(--ctp-red); // #f38ba8 - Critical errors
|
|
82
|
+
--warning-color: var(--ctp-peach); // #fab387 - High priority
|
|
83
|
+
--info-color: var(--ctp-blue); // #89b4fa - Medium priority
|
|
84
|
+
--secondary-color: var(--ctp-overlay1); // #7f849c - Low priority, muted
|
|
85
|
+
|
|
86
|
+
// ---------------------------------------------------------------------------
|
|
87
|
+
// Backgrounds
|
|
88
|
+
// ---------------------------------------------------------------------------
|
|
89
|
+
--bg-color: var(--ctp-base); // #1e1e2e - Main background
|
|
90
|
+
--card-bg: var(--ctp-surface0); // #313244 - Card backgrounds
|
|
91
|
+
--sidebar-bg: var(--ctp-mantle); // #181825 - Sidebar
|
|
92
|
+
--sidebar-hover: var(--ctp-surface0); // #313244 - Sidebar hover
|
|
93
|
+
--nav-active-bg: var(--ctp-surface1); // #45475a - Active nav item
|
|
94
|
+
--table-hover: var(--ctp-surface0); // #313244 - Table row hover
|
|
95
|
+
--code-bg: var(--ctp-mantle); // #181825 - Code blocks
|
|
96
|
+
|
|
97
|
+
// ---------------------------------------------------------------------------
|
|
98
|
+
// Text Colors
|
|
99
|
+
// ---------------------------------------------------------------------------
|
|
100
|
+
--text-color: var(--ctp-text); // #cdd6f4 - Primary text
|
|
101
|
+
--text-secondary: var(--ctp-subtext1); // #bac2de - Secondary text
|
|
102
|
+
--text-muted: var(--ctp-subtext0); // #a6adc8 - Muted text
|
|
103
|
+
--text-link: var(--ctp-sky); // #89dceb - Links
|
|
104
|
+
--text-link-hover: var(--ctp-sapphire); // #74c7ec - Link hover
|
|
105
|
+
|
|
106
|
+
// ---------------------------------------------------------------------------
|
|
107
|
+
// Borders
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
109
|
+
--border-color: var(--ctp-surface2); // #585b70 - Primary borders
|
|
110
|
+
--border-subtle: var(--ctp-surface1); // #45475a - Subtle borders
|
|
111
|
+
|
|
112
|
+
// ---------------------------------------------------------------------------
|
|
113
|
+
// Platform-Specific Colors
|
|
114
|
+
// ---------------------------------------------------------------------------
|
|
115
|
+
--platform-ios: var(--ctp-text); // #cdd6f4 - iOS (light on dark)
|
|
116
|
+
--platform-android: var(--ctp-green); // #a6e3a1 - Android green
|
|
117
|
+
--platform-web: var(--ctp-blue); // #89b4fa - Web
|
|
118
|
+
--platform-api: var(--ctp-sapphire); // #74c7ec - API
|
|
119
|
+
|
|
120
|
+
// ---------------------------------------------------------------------------
|
|
121
|
+
// Severity-Specific Colors
|
|
122
|
+
// ---------------------------------------------------------------------------
|
|
123
|
+
--severity-critical: var(--ctp-red); // #f38ba8 - Critical errors
|
|
124
|
+
--severity-high: var(--ctp-peach); // #fab387 - High priority
|
|
125
|
+
--severity-medium: var(--ctp-blue); // #89b4fa - Medium priority
|
|
126
|
+
--severity-low: var(--ctp-overlay1); // #7f849c - Low priority
|
|
127
|
+
|
|
128
|
+
// ---------------------------------------------------------------------------
|
|
129
|
+
// Chart Colors (for Chart.js - accessible via JavaScript)
|
|
130
|
+
// ---------------------------------------------------------------------------
|
|
131
|
+
--chart-line-1: var(--ctp-red); // #f38ba8
|
|
132
|
+
--chart-line-2: var(--ctp-green); // #a6e3a1
|
|
133
|
+
--chart-line-3: var(--ctp-yellow); // #f9e2af
|
|
134
|
+
--chart-line-4: var(--ctp-blue); // #89b4fa
|
|
135
|
+
--chart-line-5: var(--ctp-mauve); // #cba6f7
|
|
136
|
+
--chart-line-6: var(--ctp-teal); // #94e2d5
|
|
137
|
+
--chart-line-7: var(--ctp-pink); // #f5c2e7
|
|
138
|
+
--chart-line-8: var(--ctp-lavender); // #b4befe
|
|
139
|
+
|
|
140
|
+
--chart-grid: #{ctp-opacity($ctp-surface2, 0.3)}; // Subtle grid lines
|
|
141
|
+
--chart-text: var(--ctp-text); // Chart labels
|
|
142
|
+
--chart-tooltip-bg: var(--ctp-surface0); // Tooltip background
|
|
143
|
+
|
|
144
|
+
// ---------------------------------------------------------------------------
|
|
145
|
+
// Bootstrap Variable Overrides (for dark theme)
|
|
146
|
+
// ---------------------------------------------------------------------------
|
|
147
|
+
// Override Bootstrap's default color variables to use Catppuccin palette
|
|
148
|
+
--bs-primary: var(--ctp-mauve);
|
|
149
|
+
--bs-success: var(--ctp-green);
|
|
150
|
+
--bs-danger: var(--ctp-red);
|
|
151
|
+
--bs-warning: var(--ctp-peach);
|
|
152
|
+
--bs-info: var(--ctp-blue);
|
|
153
|
+
--bs-secondary: var(--ctp-overlay1);
|
|
154
|
+
--bs-light: var(--ctp-surface1);
|
|
155
|
+
--bs-dark: var(--ctp-mantle);
|
|
156
|
+
|
|
157
|
+
// Bootstrap component colors
|
|
158
|
+
--bs-body-bg: var(--ctp-base);
|
|
159
|
+
--bs-body-color: var(--ctp-text);
|
|
160
|
+
--bs-border-color: var(--ctp-surface2);
|
|
161
|
+
--bs-link-color: var(--ctp-sky);
|
|
162
|
+
--bs-link-hover-color: var(--ctp-sapphire);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// =============================================================================
|
|
166
|
+
// Backward Compatibility
|
|
167
|
+
// =============================================================================
|
|
168
|
+
// Support for .dark-mode class (used by JavaScript toggle)
|
|
169
|
+
|
|
170
|
+
.dark-mode {
|
|
171
|
+
// Inherit all dark theme variables
|
|
172
|
+
@extend [data-theme="dark"];
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// =============================================================================
|
|
176
|
+
// SCSS Utility Variables
|
|
177
|
+
// =============================================================================
|
|
178
|
+
// For use in SCSS calculations and mixins
|
|
179
|
+
|
|
180
|
+
// Spacing scale
|
|
181
|
+
$spacing-xs: 0.25rem; // 4px
|
|
182
|
+
$spacing-sm: 0.5rem; // 8px
|
|
183
|
+
$spacing-md: 1rem; // 16px
|
|
184
|
+
$spacing-lg: 1.5rem; // 24px
|
|
185
|
+
$spacing-xl: 2rem; // 32px
|
|
186
|
+
|
|
187
|
+
// Border radius
|
|
188
|
+
$radius-sm: 0.25rem; // 4px
|
|
189
|
+
$radius-md: 0.375rem; // 6px
|
|
190
|
+
$radius-lg: 0.5rem; // 8px
|
|
191
|
+
$radius-xl: 0.75rem; // 12px
|
|
192
|
+
|
|
193
|
+
// Transitions
|
|
194
|
+
$transition-fast: 150ms ease;
|
|
195
|
+
$transition-normal: 300ms ease;
|
|
196
|
+
$transition-slow: 500ms ease;
|
|
197
|
+
|
|
198
|
+
// Z-index scale
|
|
199
|
+
$z-dropdown: 1000;
|
|
200
|
+
$z-sticky: 1020;
|
|
201
|
+
$z-fixed: 1030;
|
|
202
|
+
$z-modal: 1050;
|
|
203
|
+
$z-tooltip: 1070;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"mappings": "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",
|
|
4
|
+
"sources": ["_catppuccin_mocha.scss","_theme_variables.scss","_components.scss","_layout.scss","application.scss"],
|
|
5
|
+
"names": [],
|
|
6
|
+
"file": "application.css"
|
|
7
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Rails Error Dashboard - Main Stylesheet
|
|
3
|
+
// =============================================================================
|
|
4
|
+
// Theme: Catppuccin Mocha (Dark) / Traditional Light
|
|
5
|
+
//
|
|
6
|
+
// This is the main manifest file for Rails Error Dashboard styles.
|
|
7
|
+
// All Catppuccin theming and component styles are imported here.
|
|
8
|
+
//
|
|
9
|
+
// Color Palette: https://github.com/catppuccin/catppuccin
|
|
10
|
+
// =============================================================================
|
|
11
|
+
|
|
12
|
+
// Import Catppuccin Mocha color palette
|
|
13
|
+
// Defines all 24 Catppuccin colors as SCSS variables and CSS custom properties
|
|
14
|
+
@import 'catppuccin_mocha';
|
|
15
|
+
|
|
16
|
+
// Import semantic theme variables
|
|
17
|
+
// Maps Catppuccin colors to dashboard purposes (primary, success, danger, etc.)
|
|
18
|
+
@import 'theme_variables';
|
|
19
|
+
|
|
20
|
+
// Import component-specific styles
|
|
21
|
+
// Badges, cards, tables, forms, buttons, etc. with Catppuccin theming
|
|
22
|
+
@import 'components';
|
|
23
|
+
|
|
24
|
+
// Import layout and structural styles
|
|
25
|
+
// Navbar, sidebar, animations, and page structure
|
|
26
|
+
@import 'layout';
|
|
27
|
+
|
|
28
|
+
// =============================================================================
|
|
29
|
+
// Global Styles
|
|
30
|
+
// =============================================================================
|
|
31
|
+
|
|
32
|
+
body {
|
|
33
|
+
background-color: var(--bg-color);
|
|
34
|
+
color: var(--text-color);
|
|
35
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
|
|
36
|
+
transition: background-color 300ms ease, color 300ms ease;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Links
|
|
40
|
+
a {
|
|
41
|
+
color: var(--text-link);
|
|
42
|
+
text-decoration: none;
|
|
43
|
+
transition: color 150ms ease;
|
|
44
|
+
|
|
45
|
+
&:hover {
|
|
46
|
+
color: var(--text-link-hover);
|
|
47
|
+
text-decoration: underline;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Smooth transitions for theme switching
|
|
52
|
+
* {
|
|
53
|
+
transition-property: background-color, border-color, color;
|
|
54
|
+
transition-duration: 300ms;
|
|
55
|
+
transition-timing-function: ease;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
// Disable transitions during initial page load
|
|
59
|
+
.no-transition * {
|
|
60
|
+
transition: none !important;
|
|
61
|
+
}
|