ortoni-report 2.0.8 → 3.0.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.
@@ -1,36 +1,35 @@
1
- <nav class="navbar is-primary is-fixed-top" role="navigation" aria-label="main navigation">
2
- <div class="navbar-brand">
3
- <a class="navbar-item">
4
- {{#if logo}}
5
- <img src="{{logo}}" alt="{{projectName}}" class="logoimage">
6
- {{/if}}
7
- {{#if projectName}}
8
- <span class="ml-2 has-text-weight-bold has-text-white">{{projectName}}</span>
9
- {{/if}}
10
- </a>
11
- <a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
12
- <span aria-hidden="true"></span>
13
- <span aria-hidden="true"></span>
14
- <span aria-hidden="true"></span>
15
- </a>
16
- </div>
17
- <div class="navbar-menu">
18
- <div class="navbar-end">
19
- <div class="navbar-item">
20
- <button id="toggle-theme" class="" data-theme-status="{{preferredTheme}}">
21
- <span class="icon">
22
- <i class="" id="theme-icon"></i>
23
- </span>
24
- </button>
25
- </div>
26
- <div class="navbar-item">
27
- <figure class="image">
28
- <a href="https://www.letcode.in" target="_blank">
29
- <img
30
- src="https://raw.githubusercontent.com/ortoniKC/ortoni-report/refs/heads/main/ortoni.png" />
31
- </a>
32
- </figure>
33
- </div>
34
- </div>
35
- </div>
1
+ <nav class="navbar is-primary is-fixed-top" role="navigation" aria-label="main navigation">
2
+ <div class="navbar-brand">
3
+ <a class="navbar-item">
4
+ {{#if logo}}
5
+ <img src="{{logo}}" alt="{{projectName}}" class="logoimage" />
6
+ {{/if}}
7
+ {{#if projectName}}
8
+ <span class="ml-2 has-text-weight-bold has-text-white">{{projectName}}</span>
9
+ {{/if}}
10
+ </a>
11
+ <a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
12
+ <span aria-hidden="true"></span>
13
+ <span aria-hidden="true"></span>
14
+ <span aria-hidden="true"></span>
15
+ </a>
16
+ </div>
17
+ <div class="navbar-menu">
18
+ <div class="navbar-end">
19
+ <div class="navbar-item">
20
+ <button id="toggle-theme" class="" data-theme-status="{{preferredTheme}}">
21
+ <span class="icon">
22
+ <i class="" id="theme-icon"></i>
23
+ </span>
24
+ </button>
25
+ </div>
26
+ <div class="navbar-item">
27
+ <figure class="image">
28
+ <img src="https://raw.githubusercontent.com/ortoniKC/ortoni-report/refs/heads/main/ortoni.png" />
29
+ {{! <a href="https://www.letcode.in" target="_blank">
30
+ </a> }}
31
+ </figure>
32
+ </div>
33
+ </div>
34
+ </div>
36
35
  </nav>
@@ -1,238 +1,238 @@
1
- <style>
2
- :root {
3
- --primary-gradient: linear-gradient(135deg, #694F8E 0%, #B692C2 100%);
4
- --flaky-gradient: linear-gradient(135deg, #ffb70f 0%, #ffd65a 100%);
5
- --retry-gradient: linear-gradient(135deg, #94a3b8 0%, #c0cad9 100%);
6
- --skip-gradient: linear-gradient(135deg, #66d1ff 0%, #99e1ff 100%);
7
- --success-gradient: linear-gradient(135deg, #34d399 0%, #059669 100%);
8
- --error-gradient: linear-gradient(135deg, #dc2626 0%, #f87171 100%);
9
- --glass-bg: rgba(255, 255, 255, 0.7);
10
- --glass-border: rgba(255, 255, 255, 0.1);
11
- --shadow-sm: 0 2px 4px -1px rgba(0, 0, 0, 0.1);
12
- }
13
-
14
- .sidebar {
15
- height: 100%;
16
- overflow-y: auto;
17
- max-height: calc(100vh - 100px);
18
- padding: 0px 10px 0px 0px;
19
- }
20
-
21
- .test-group {
22
- margin-bottom: 0.5rem;
23
- border-radius: 8px;
24
- transition: all 0.2s ease;
25
- }
26
-
27
- .test-group summary {
28
- padding: 0.5rem;
29
- cursor: pointer;
30
- user-select: none;
31
- display: flex;
32
- align-items: center;
33
- gap: 0.5rem;
34
- border-radius: 8px;
35
- background: var(--primary-gradient);
36
- color: white;
37
- }
38
-
39
- .test-suite {
40
- margin: 0.35rem;
41
- border-radius: 6px;
42
- }
43
-
44
- .test-suite summary {
45
- padding: 0.35rem 0.5rem;
46
- color: inherit;
47
- background: transparent;
48
- transition: background-color 0.2s ease;
49
- }
50
-
51
- .test-case {
52
- margin: 0.35rem;
53
- border-radius: 6px;
54
- }
55
-
56
- .test-case summary {
57
- padding: 0.35rem 0.5rem;
58
- color: inherit;
59
- background: transparent;
60
- transition: background-color 0.2s ease;
61
- }
62
-
63
- .test-item {
64
- padding: 0.4rem 0.5rem;
65
- margin: 0.35rem;
66
- border-radius: 6px;
67
- display: flex;
68
- align-items: center;
69
- gap: 0.5rem;
70
- flex-wrap: wrap;
71
- }
72
-
73
- .test-item span {
74
- overflow: hidden;
75
- white-space: nowrap;
76
- text-overflow: ellipsis;
77
- max-width: 35ch;
78
- }
79
-
80
- .status-passed {
81
- background: var(--success-gradient);
82
- color: white;
83
- }
84
-
85
- .status-skipped {
86
- background: var(--skip-gradient);
87
- color: white;
88
- }
89
-
90
- .status-failed {
91
- background: var(--error-gradient);
92
- color: white;
93
- }
94
-
95
- .status-flaky {
96
- background: var(--flaky-gradient);
97
- color: white;
98
- }
99
-
100
- .icon-chevron {
101
- transition: transform 0.2s ease;
102
- width: 16px;
103
- height: 16px;
104
- }
105
-
106
- details[open]>summary .icon-chevron {
107
- transform: rotate(90deg);
108
- }
109
-
110
- .duration-tag {
111
- font-size: 0.75rem;
112
- margin-left: auto;
113
- opacity: 0.8;
114
- }
115
-
116
- @keyframes slideIn {
117
- from {
118
- opacity: 0;
119
- transform: translateX(-5px);
120
- }
121
-
122
- to {
123
- opacity: 1;
124
- transform: translateX(0);
125
- }
126
- }
127
-
128
- details[open]>.test-content {
129
- animation: slideIn 0.2s ease-out;
130
- }
131
- </style>
132
- <div class="content sidebar">
133
- {{#if showProject}}
134
- {{#each groupedResults}}
135
- <details class="test-group">
136
- <summary class="is-size-5">
137
- <div class="icon-text">
138
- <span class="icon">
139
- <svg class="icon-chevron" width="16" height="16" viewBox="0 0 24 24" fill="none"
140
- stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
141
- <polyline points="9 18 15 12 9 6" />
142
- </svg>
143
- </span>
144
- <span>{{@key}}</span>
145
- </div>
146
- </summary>
147
- <div class="test-content">
148
- {{#each this}}
149
- <details class="test-suite">
150
- <summary class="is-size-6 is-capitalized">
151
- <span class="icon is-small">
152
- <svg class="image is-16x16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
153
- <path
154
- d="M181.344 42.656v394.671C181.344 478.562 214.781 512 256 512c41.25 0 74.672-33.438 74.672-74.673V42.656H181.344z"
155
- fill="#e6e9ed" />
156
- <path
157
- d="M352 32c0 17.672-14.312 32-32 32H192c-17.656 0-32-14.328-32-32s14.344-32 32-32h128c17.688 0 32 14.328 32 32z"
158
- fill="#ccd1d9" />
159
- <path
160
- d="M181.344 192v245.327C181.344 478.562 214.781 512 256 512c41.25 0 74.672-33.438 74.672-74.673V192H181.344z"
161
- fill="#a0d468" />
162
- <g fill="#434a54">
163
- <path
164
- d="M245.344 266.655c0-5.89-4.781-10.655-10.672-10.655h-53.328v21.328h53.328c5.89 0 10.672-4.781 10.672-10.673zM234.672 319.999h-53.328v21.328h53.328c5.891 0 10.672-4.781 10.672-10.671s-4.782-10.657-10.672-10.657zM245.344 202.656c0-5.891-4.781-10.656-10.672-10.656h-53.328v21.328h53.328c5.89 0 10.672-4.781 10.672-10.672z" />
165
- </g>
166
- </svg>
167
- </span>
168
- <span>{{@key}}</span>
169
- </summary>
170
- {{#each this}}
171
- <details class="test-case">
172
- <summary>
173
- <span class="icon is-small">
174
- <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor"
175
- stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
176
- <path
177
- d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z" />
178
- </svg>
179
- </span>
180
- <span class="is-size-6">{{@key}}</span>
181
- </summary>
182
- {{#each this}}
183
- {{> testStatus}}
184
- {{/each}}
185
- </details>
186
- {{/each}}
187
- </details>
188
- {{/each}}
189
- </div>
190
- </details>
191
- {{/each}}
192
- {{else}}
193
- {{#each groupedResults}}
194
- <details class="test-group">
195
- <summary class="is-size-5">
196
- <div class="icon-text">
197
- <span class="icon">
198
- <svg class="icon-chevron" width="16" height="16" viewBox="0 0 24 24" fill="none"
199
- stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
200
- <polyline points="9 18 15 12 9 6" />
201
- </svg>
202
- </span>
203
- <span>{{@key}}</span>
204
- </div>
205
- </summary>
206
- <div class="test-content">
207
- {{#each this}}
208
- <details class="test-case">
209
- <summary>
210
- <span class="icon is-small">
211
- <svg class="image is-16x16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
212
- <path
213
- d="M181.344 42.656v394.671C181.344 478.562 214.781 512 256 512c41.25 0 74.672-33.438 74.672-74.673V42.656H181.344z"
214
- fill="#e6e9ed" />
215
- <path
216
- d="M352 32c0 17.672-14.312 32-32 32H192c-17.656 0-32-14.328-32-32s14.344-32 32-32h128c17.688 0 32 14.328 32 32z"
217
- fill="#ccd1d9" />
218
- <path
219
- d="M181.344 192v245.327C181.344 478.562 214.781 512 256 512c41.25 0 74.672-33.438 74.672-74.673V192H181.344z"
220
- fill="#a0d468" />
221
- <g fill="#434a54">
222
- <path
223
- d="M245.344 266.655c0-5.89-4.781-10.655-10.672-10.655h-53.328v21.328h53.328c5.89 0 10.672-4.781 10.672-10.673zM234.672 319.999h-53.328v21.328h53.328c5.891 0 10.672-4.781 10.672-10.671s-4.782-10.657-10.672-10.657zM245.344 202.656c0-5.891-4.781-10.656-10.672-10.656h-53.328v21.328h53.328c5.89 0 10.672-4.781 10.672-10.672z" />
224
- </g>
225
- </svg>
226
- </span>
227
- <span class="is-size-6">{{@key}}</span>
228
- </summary>
229
- {{#each this}}
230
- {{> testStatus}}
231
- {{/each}}
232
- </details>
233
- {{/each}}
234
- </div>
235
- </details>
236
- {{/each}}
237
- {{/if}}
1
+ <style>
2
+ :root {
3
+ --primary-gradient: hsl(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-l)) !important;
4
+ --flaky-gradient: hsl(var(--bulma-warning-h), var(--bulma-warning-s), var(--bulma-warning-l)) !important;
5
+ --retry-gradient: linear-gradient(135deg, #94a3b8 0%, #c0cad9 100%);
6
+ --skip-gradient: hsl(var(--bulma-info-h), var(--bulma-info-s), var(--bulma-info-l)) !important;
7
+ --success-gradient: hsl(var(--bulma-success-h), var(--bulma-success-s), var(--bulma-success-l)) !important;
8
+ --error-gradient: hsl(var(--bulma-danger-h), var(--bulma-danger-s), var(--bulma-danger-l)) !important;
9
+ }
10
+
11
+ .projectsidebar {
12
+ overflow-y: auto;
13
+ max-height: 60vh;
14
+ padding: 0px 10px 0px 0px;
15
+ }
16
+
17
+ .test-group {
18
+ margin-bottom: 0.5rem;
19
+ border-radius: 8px;
20
+ transition: all 0.2s ease;
21
+ }
22
+
23
+ .test-group summary {
24
+ padding: 0.5rem;
25
+ cursor: pointer;
26
+ user-select: none;
27
+ display: flex;
28
+ align-items: center;
29
+ gap: 0.5rem;
30
+ border-radius: 8px;
31
+ border-left: 3px solid var(--primary-gradient);
32
+ }
33
+
34
+ .test-suite {
35
+ margin: 0.35rem;
36
+ border-radius: 6px;
37
+ }
38
+
39
+ .test-suite summary {
40
+ padding: 0.35rem 0.5rem;
41
+ color: inherit;
42
+ background: transparent;
43
+ transition: background-color 0.2s ease;
44
+ }
45
+
46
+ .test-case {
47
+ margin: 0.35rem;
48
+ border-radius: 6px;
49
+ }
50
+
51
+ .test-case summary {
52
+ border-left: transparent;
53
+ padding: 0.35rem 0.5rem;
54
+ background: transparent;
55
+ transition: background-color 0.2s ease;
56
+ }
57
+
58
+ .test-item {
59
+ padding: 0.4rem 0.5rem;
60
+ margin: 0.35rem;
61
+ border-radius: 6px;
62
+ display: flex;
63
+ align-items: center;
64
+ gap: 0.5rem;
65
+ flex-wrap: wrap;
66
+ }
67
+
68
+ .test-item span {
69
+ overflow: hidden;
70
+ white-space: nowrap;
71
+ text-overflow: ellipsis;
72
+ max-width: 35ch;
73
+ }
74
+
75
+ .status-passed {
76
+ border-left: 4px solid var(--success-gradient);
77
+ }
78
+
79
+ .status-skipped {
80
+ border-left: 4px solid var(--skip-gradient);
81
+ }
82
+
83
+ .status-failed {
84
+ border-left: 4px solid var(--error-gradient);
85
+ }
86
+
87
+ .status-flaky {
88
+ border-left: 4px solid var(--flaky-gradient);
89
+ }
90
+
91
+ .status-retry {
92
+ border-left: 4px solid #69748c;
93
+ }
94
+
95
+ .icon-chevron {
96
+ transition: transform 0.2s ease;
97
+ width: 16px;
98
+ height: 16px;
99
+ }
100
+
101
+ details[open]>summary .icon-chevron {
102
+ transform: rotate(90deg);
103
+ }
104
+
105
+ .listselected {
106
+ font-weight: bold;
107
+ border-right: 4px solid var(--bulma-primary);
108
+ }
109
+
110
+ .duration-tag {
111
+ font-size: 0.75rem;
112
+ margin-left: auto;
113
+ opacity: 0.8;
114
+ }
115
+
116
+ @keyframes slideIn {
117
+ from {
118
+ opacity: 0;
119
+ transform: translateX(-5px);
120
+ }
121
+
122
+ to {
123
+ opacity: 1;
124
+ transform: translateX(0);
125
+ }
126
+ }
127
+
128
+ details[open]>.test-content {
129
+ animation: slideIn 0.2s ease-out;
130
+ }
131
+ </style>
132
+ <div class="content projectsidebar">
133
+ {{#if showProject}}
134
+ {{#each groupedResults}}
135
+ <details class="test-group">
136
+ <summary class="is-size-5">
137
+ <div class="icon-text">
138
+ <span class="icon">
139
+ <svg class="icon-chevron" width="16" height="16" viewBox="0 0 24 24" fill="none"
140
+ stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
141
+ <polyline points="9 18 15 12 9 6" />
142
+ </svg>
143
+ </span>
144
+ <span>{{@key}}</span>
145
+ </div>
146
+ </summary>
147
+ <div class="test-content">
148
+ {{#each this}}
149
+ <details class="test-suite">
150
+ <summary class="is-size-6 is-capitalized">
151
+ <span class="icon is-small">
152
+ <svg class="image is-16x16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
153
+ <path
154
+ d="M181.344 42.656v394.671C181.344 478.562 214.781 512 256 512c41.25 0 74.672-33.438 74.672-74.673V42.656H181.344z"
155
+ fill="#e6e9ed" />
156
+ <path
157
+ d="M352 32c0 17.672-14.312 32-32 32H192c-17.656 0-32-14.328-32-32s14.344-32 32-32h128c17.688 0 32 14.328 32 32z"
158
+ fill="#ccd1d9" />
159
+ <path
160
+ d="M181.344 192v245.327C181.344 478.562 214.781 512 256 512c41.25 0 74.672-33.438 74.672-74.673V192H181.344z"
161
+ fill="#a0d468" />
162
+ <g fill="#434a54">
163
+ <path
164
+ d="M245.344 266.655c0-5.89-4.781-10.655-10.672-10.655h-53.328v21.328h53.328c5.89 0 10.672-4.781 10.672-10.673zM234.672 319.999h-53.328v21.328h53.328c5.891 0 10.672-4.781 10.672-10.671s-4.782-10.657-10.672-10.657zM245.344 202.656c0-5.891-4.781-10.656-10.672-10.656h-53.328v21.328h53.328c5.89 0 10.672-4.781 10.672-10.672z" />
165
+ </g>
166
+ </svg>
167
+ </span>
168
+ <span>{{@key}}</span>
169
+ </summary>
170
+ {{#each this}}
171
+ <details class="test-case">
172
+ <summary>
173
+ <span class="icon is-small">
174
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor"
175
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
176
+ <path
177
+ d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z" />
178
+ </svg>
179
+ </span>
180
+ <span class="is-size-6">{{@key}}</span>
181
+ </summary>
182
+ {{#each this}}
183
+ {{> testStatus}}
184
+ {{/each}}
185
+ </details>
186
+ {{/each}}
187
+ </details>
188
+ {{/each}}
189
+ </div>
190
+ </details>
191
+ {{/each}}
192
+ {{else}}
193
+ {{#each groupedResults}}
194
+ <details class="test-group">
195
+ <summary class="is-size-5">
196
+ <div class="icon-text">
197
+ <span class="icon">
198
+ <svg class="icon-chevron" width="16" height="16" viewBox="0 0 24 24" fill="none"
199
+ stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
200
+ <polyline points="9 18 15 12 9 6" />
201
+ </svg>
202
+ </span>
203
+ <span>{{@key}}</span>
204
+ </div>
205
+ </summary>
206
+ <div class="test-content">
207
+ {{#each this}}
208
+ <details class="test-case">
209
+ <summary>
210
+ <span class="icon is-small">
211
+ <svg class="image is-16x16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
212
+ <path
213
+ d="M181.344 42.656v394.671C181.344 478.562 214.781 512 256 512c41.25 0 74.672-33.438 74.672-74.673V42.656H181.344z"
214
+ fill="#e6e9ed" />
215
+ <path
216
+ d="M352 32c0 17.672-14.312 32-32 32H192c-17.656 0-32-14.328-32-32s14.344-32 32-32h128c17.688 0 32 14.328 32 32z"
217
+ fill="#ccd1d9" />
218
+ <path
219
+ d="M181.344 192v245.327C181.344 478.562 214.781 512 256 512c41.25 0 74.672-33.438 74.672-74.673V192H181.344z"
220
+ fill="#a0d468" />
221
+ <g fill="#434a54">
222
+ <path
223
+ d="M245.344 266.655c0-5.89-4.781-10.655-10.672-10.655h-53.328v21.328h53.328c5.89 0 10.672-4.781 10.672-10.673zM234.672 319.999h-53.328v21.328h53.328c5.891 0 10.672-4.781 10.672-10.671s-4.782-10.657-10.672-10.657zM245.344 202.656c0-5.891-4.781-10.656-10.672-10.656h-53.328v21.328h53.328c5.89 0 10.672-4.781 10.672-10.672z" />
224
+ </g>
225
+ </svg>
226
+ </span>
227
+ <span class="is-size-6">{{@key}}</span>
228
+ </summary>
229
+ {{#each this}}
230
+ {{> testStatus}}
231
+ {{/each}}
232
+ </details>
233
+ {{/each}}
234
+ </div>
235
+ </details>
236
+ {{/each}}
237
+ {{/if}}
238
238
  </div>