oSumAtrIX 806a5de320
feat: add donation page (#117)
* feat: add donation page

* fix: add src to `AnimatedImage` (#139)

* feat: redesign page

* feat: use api for donations, add QR code

* tweak qr code modal and team member design

* make team look better at different screen sizes

* feat: use api for donations

* fix: filled button comes first

* feat: use better QR lib

* list of crypto instead of table

* feat: make crypto card expandable

* feat: add donate back to footer-bottom

* feat: add expand animation to crypto card

* feat: accept an array of queries for prefetch

* feat: use api for friendly crypto names

* refactor: currency_codes are already uppercase

* fix: capitalize crypto icon filenames

* feat: use generic crypto icon when no icon is available

* feat: add the pulsating heart animated image back

* feat: improve animation of pulsating image

* feat: decrease donation page top margin

* feat: use preferred field to determine button type

* use cards for donation methods

* optimize images, improve accessibility, add crypto icon to dialogue

* update cryptocurrencies modal title

* clean up and add comments

* add card image fallback

* feat: dont hide heart on phones

* feat: improve top margin on main class

* GRAHH

* feat: improve animations

* add webp images with png fallbacks

---------

Co-authored-by: ᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠᅠ <29128703+milksense@users.noreply.github.com>
Co-authored-by: afn <hey@afn.im>
Co-authored-by: Ushie <ushiekane@gmail.com>
2023-08-09 13:05:08 -04:00

164 lines
3.1 KiB
SCSS

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@200;300;400;500;600;700;800&family=Source+Code+Pro:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
* {
box-sizing: inherit;
margin: 0;
padding: 0;
font-family: var(--main-font);
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
html {
margin: 0;
padding: 0;
font-size: 100%;
box-sizing: border-box;
overflow-y: scroll;
}
body {
margin: 0;
padding: 0;
background-color: var(--bg-color);
}
html,
body {
max-width: 100%;
}
.wrapper {
margin-inline: auto;
width: min(90%, 80rem);
margin-top: 7rem;
}
:root {
/* TODO properly name these */
--main-font: 'Manrope', sans-serif;
--mono-font: ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace;
--white: hsl(206, 100%, 94%);
--accent-color: hsl(206, 100%, 81%);
--accent-color-two: hsl(208, 75%, 82%);
--accent-low-opacity: hsla(205, 91%, 69%, 0.15);
--bg-color: hsl(252, 10%, 11%);
--grey-one: hsl(210, 14%, 17%);
--grey-two: hsl(212, 19%, 19%);
--grey-three: hsl(221, 17%, 26%);
--grey-four: hsl(226, 48%, 18%);
--grey-five: hsl(208, 30%, 75%);
--grey-six: hsl(230, 9%, 13%);
--grey-seven: hsl(240, 9%, 13.5%);
--grey-eight: hsla(207, 30%, 75%, 0.577);
--grey-nine: hsla(240, 6%, 7%, 0.3);
--grey-ten: hsl(230, 9.5%, 17.5%);
--grey-eleven: hsl(208, 10%, 40%);
--red-one: hsl(333, 84%, 62%);
--bezier-one: cubic-bezier(0.25, 0.46, 0.45, 0.94);
--drop-shadow-one: 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12),
0px 2px 4px -1px rgba(0, 0, 0, 0.2);
}
::selection {
background-color: var(--accent-low-opacity);
}
/*-----headings-----*/
h1 {
color: var(--white);
line-height: 4rem;
font-size: 3.5rem;
font-weight: 700;
letter-spacing: -0.025em;
}
h2 {
color: var(--grey-five);
font-size: 2.5rem;
letter-spacing: -0.04rem;
font-weight: 600;
}
h3 {
font-size: 1.25rem;
color: var(--accent-color-two);
font-weight: 600;
}
h4 {
color: var(--accent-color-two);
font-weight: 400;
font-size: 1rem;
letter-spacing: 0.02rem;
line-height: 2rem;
}
h5 {
color: var(--grey-five);
font-weight: 400;
font-size: 0.9rem;
letter-spacing: 0.02rem;
}
h6 {
color: var(--grey-five);
font-weight: 500;
font-size: 0.85rem;
}
p {
color: var(--grey-five);
font-weight: 400;
font-size: 1rem;
letter-spacing: 0.02rem;
line-height: 1.75rem;
}
@media screen and (max-width: 767px) {
h1 {
font-size: 2.6rem;
line-height: 3.75rem;
}
h2 {
font-size: 2rem;
}
}
/*---------------*/
::-webkit-scrollbar {
width: 5px;
background-color: transparent;
}
::-webkit-scrollbar-thumb {
background-color: var(--accent-color);
background-clip: content-box;
border-radius: 100px;
}
::-webkit-scrollbar-thumb:hover {
background-color: var(--grey-three);
}
hr {
display: block;
height: 1px;
border: 0;
border-top: 1px solid var(--grey-three);
}
input {
padding: 1rem;
border-radius: 12px;
border: 1px solid var(--grey-three);
background-color: transparent;
color: var(--accent-color-two);
}
input:focus {
outline: 1px solid var(--accent-color);
}