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

70 lines
1.1 KiB
TypeScript

export interface Contributor {
login: string;
avatar_url: string;
html_url: string;
}
export interface Repository {
name: string;
contributors: Contributor[];
}
export interface Patch {
name: string;
description: string;
version: string;
excluded: boolean;
dependencies: string[];
options: PatchOption[];
compatiblePackages: CompatiblePackage[];
}
export interface CompatiblePackage {
name: string;
versions: string[];
}
export interface PatchOption {
key: string;
title: string;
description: string;
required: boolean;
choices: string[];
}
export interface Asset {
name: string;
content_type: string;
browser_download_url: string;
}
export interface Metadata {
tag_name: string;
name: string;
draft: boolean;
prerelease: boolean;
created_at: string;
published_at: string;
body: string;
}
export interface TeamMember {
login: string;
avatar_url: string;
html_url: string;
bio?: string;
}
export interface CryptoWallet {
network: string;
currency_code: string;
address: string;
preferred: boolean;
}
export interface DonationPlatform {
name: string;
url: string;
preferred: boolean;
}