Skip to content

Commit 6cce46f

Browse files
committed
Convert to spinner overlaid on results
1 parent 412908e commit 6cce46f

File tree

1 file changed

+35
-38
lines changed

1 file changed

+35
-38
lines changed

app/assets/stylesheets/partials/_loading_spinner.scss

Lines changed: 35 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -6,47 +6,44 @@
66
}
77
}
88

9-
// Show loading state in tab area
10-
.tab-navigation {
9+
// Results overlay when loading
10+
[busy]:not([no-spinner]) {
1111
position: relative;
12-
13-
// When busy, hide tabs and show spinner
14-
&.loading {
15-
.tab-link {
16-
visibility: hidden;
17-
}
12+
min-height: 400px;
13+
display: block;
1814

19-
// Overlay to cover both tab areas
20-
&::after {
21-
content: '';
22-
position: absolute;
23-
top: 0;
24-
left: 0;
25-
width: 12rem;
26-
bottom: 0;
27-
background-color: $color-gray-100;
28-
border-radius: 0.25rem;
29-
z-index: 10;
30-
}
15+
> * {
16+
opacity: 0.3;
17+
}
3118

32-
// Centered spinner within the overlay
33-
&::before {
34-
content: '';
35-
position: absolute;
36-
top: calc(50% - 0.75rem);
37-
left: calc(6rem - 0.75rem); // Center in 12rem wide overlay
38-
width: 1.5rem;
39-
height: 1.5rem;
40-
border-radius: 50%;
41-
border: 0.2rem solid rgba($color-red-500, 0.3);
42-
border-top-color: $color-red-500;
43-
animation: spinner 0.6s linear infinite;
44-
z-index: 11;
45-
}
19+
// Loading text
20+
&::before {
21+
content: 'Loading results...';
22+
position: absolute;
23+
top: 5.5rem;
24+
left: 50%;
25+
margin-left: -6rem; // Center the text box (12rem / 2)
26+
width: 12rem;
27+
font-size: $fs-small;
28+
font-weight: $fw-semibold;
29+
color: $color-black;
30+
text-align: center;
31+
z-index: 1001;
4632
}
47-
}
4833

49-
// Dim results content when loading
50-
[busy]:not([no-spinner]) > * {
51-
opacity: 0.5;
34+
// Spinner positioned above text
35+
&::after {
36+
content: '';
37+
position: absolute;
38+
top: 1rem;
39+
left: 50%;
40+
margin-left: -2rem;
41+
width: 3rem;
42+
height: 3rem;
43+
border-radius: 50%;
44+
border: 0.3rem solid $color-gray-200;
45+
border-top-color: $color-red-500;
46+
animation: spinner 1s linear infinite;
47+
z-index: 1000;
48+
}
5249
}

0 commit comments

Comments
 (0)