Add donation functionality to encourage community support, including a footer card on the home page, a highlighted "Apoiar" link in the header, and comprehensive English messages for the donation section to promote transparency and user engagement.
60 lines
1.1 KiB
TypeScript
60 lines
1.1 KiB
TypeScript
export interface DonationTier {
|
|
id: string;
|
|
amount?: number;
|
|
title: string;
|
|
description: string;
|
|
icon: "coffee" | "pizza" | "heart";
|
|
badge?: string;
|
|
highlighted?: boolean;
|
|
}
|
|
|
|
export interface DonationData {
|
|
amount: number;
|
|
donorName?: string;
|
|
donorEmail?: string;
|
|
message?: string;
|
|
}
|
|
|
|
export interface DonationResponse {
|
|
success: boolean;
|
|
billingId?: string;
|
|
pixCode?: string;
|
|
pixQrCode?: string;
|
|
expiresAt?: string;
|
|
error?: string;
|
|
}
|
|
|
|
export interface BillingStatus {
|
|
id: string;
|
|
amount: number;
|
|
status: "PENDING" | "PAID" | "EXPIRED" | "CANCELLED";
|
|
pixCode: string;
|
|
pixQrCode: string;
|
|
expiresAt: string;
|
|
createdAt: string;
|
|
}
|
|
|
|
export interface DonationStats {
|
|
totalSupporters: number;
|
|
totalRaised: number;
|
|
monthsOnline: number;
|
|
uptime: number;
|
|
}
|
|
|
|
export interface TransparencyData {
|
|
hosting: number;
|
|
development: number;
|
|
support: number;
|
|
emergency: number;
|
|
}
|
|
|
|
export interface Supporter {
|
|
id: string;
|
|
name: string;
|
|
avatar?: string;
|
|
amount: number;
|
|
message?: string;
|
|
createdAt: string;
|
|
anonymous?: boolean;
|
|
}
|