Feature/autocomplete search * wip autocomplete search * add skeletons to loading * Using aumlauts/accents when searching will still give results remove unused reducer sort autocomplete results * remove testcode * Add tests for autocomplete * cleanup tests * use node@20 * use node 22 * use node22 * merge fix: search button outside of viewport * merge * remove more unused code * fix: error message when empty search field in booking widget * fix: don't display empty white box when search field is empty and no searchHistory is present * merge * fix: set height of shimmer for search skeleton * rename autocomplete trpc -> destinationsAutocomplete * more accute cache key naming * fix: able to control wether bookingwidget is visible on startPage fix: sticky booking widget under alert * remove unused code * fix: skeletons fix: error overlay on search startpage * remove extra .nvmrc * merge Approved-by: Linus Flood
55 lines
1.0 KiB
CSS
55 lines
1.0 KiB
CSS
.shimmer.dark {
|
|
--shimmer-background: rgba(255, 255, 255, 0.1);
|
|
--shimmer: linear-gradient(
|
|
120deg,
|
|
rgba(255, 255, 255, 0) 0,
|
|
rgba(255, 255, 255, 0.1) 40%,
|
|
rgba(255, 255, 255, 0.1) 60%,
|
|
rgba(255, 255, 255, 0) 100%
|
|
);
|
|
}
|
|
.shimmer.light {
|
|
--shimmer-background: rgba(217, 217, 217, 0.5);
|
|
--shimmer: linear-gradient(
|
|
90deg,
|
|
rgba(255, 255, 255, 0) 0,
|
|
rgba(255, 255, 255, 0.2) 20%,
|
|
rgba(255, 255, 255, 0.5) 60%,
|
|
rgba(255, 255, 255, 0) 100%
|
|
);
|
|
|
|
background-color: var(--shimmer-background);
|
|
position: relative;
|
|
overflow: hidden;
|
|
display: inline-block;
|
|
border-radius: 4px;
|
|
min-height: 1em;
|
|
min-width: 2ch;
|
|
}
|
|
.shimmer::after {
|
|
position: absolute;
|
|
top: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
transform: translateX(-100%);
|
|
background-image: var(--shimmer);
|
|
animation: shimmer 3s infinite;
|
|
content: "";
|
|
}
|
|
.shimmer span {
|
|
visibility: hidden;
|
|
}
|
|
@keyframes shimmer {
|
|
100% {
|
|
transform: translateX(100%);
|
|
}
|
|
}
|
|
|
|
.block {
|
|
display: block;
|
|
}
|
|
.inlineBlock {
|
|
display: inline-block;
|
|
}
|