overleaf/services/web/frontend/stylesheets/bootstrap-5/pages/editor/loading-screen.scss
Antoine Clausse 2e080a3a34 [web] Migrate IDE page loading screen to BS5 (#20896)
* [web] Add `.loading-screen` style

* [web] Add `.loading-screen-error` style

* [web] Nest styles in `.loading-screen`

* [web] Simplify code, make a more valuable Storybook

* [web] Add a reusable bootstrap-switcher argument to loading.stories.tsx

* [web] Make `isBootstrap5()` work in storybook

* [web] Revert unrelated changes around `ConnectionError` type

* [web] Remove comment about unhandled error codes

https://github.com/overleaf/internal/pull/20896/files#r1790572314

* [web] Don't repeat the `errorCode` prop type

* [web] Remove unused CSS and magic padding

* [web] Fixup SCSS division

* [storybook] Revert Storybook changes (moved to another branch)

* [web] Fixup SCSS division again (lint)

* [web] Render with `Boolean(errorCode) && ...` instead of `errorCode && ...`

* [web] Remove importants; use spacing var

Addresses Tim's comments

GitOrigin-RevId: e8b5623f4bb9aa72a255851f46b45b652a0dbb16
2024-10-14 11:07:50 +00:00

75 lines
1.4 KiB
SCSS

@use 'sass:math';
@keyframes blink {
0% {
opacity: 0.2;
}
20% {
opacity: 1;
}
100% {
opacity: 0.2;
}
}
.loading-screen {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
background-color: #fff;
.loading-screen-brand-container {
min-width: 200px;
}
.loading-screen-brand {
position: relative;
padding-top: math.percentage(math.div(150, 130)); // dimensions of the SVG
height: 0;
background: url(../../../../../public/img/ol-brand/overleaf-o-grey.svg)
no-repeat bottom / 100%;
&::after {
content: '';
position: absolute;
height: inherit;
right: 0;
bottom: 0;
left: 0;
background: url(../../../../../public/img/ol-brand/overleaf-o.svg)
no-repeat bottom / 100%;
transition: height 0.5s;
}
}
.loading-screen-label {
margin: 0;
padding-top: var(--spacing-09);
font-family: $font-family-serif;
font-size: var(--font-size-07);
color: var(--content-secondary);
}
.loading-screen-ellip {
animation: blink 1.4s both infinite;
&:nth-child(2) {
animation-delay: 0.2s;
}
&:nth-child(3) {
animation-delay: 0.4s;
}
}
.loading-screen-error {
margin: 0;
padding-top: var(--spacing-06);
color: var(--content-danger);
}
}