feat: show total sats donated today
This commit is contained in:
parent
aee51a1a4c
commit
9307f270b7
@ -21,18 +21,28 @@ interface Splits {
|
|||||||
split: number
|
split: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface TotalToday {
|
||||||
|
donations: number,
|
||||||
|
nip5: number
|
||||||
|
}
|
||||||
|
|
||||||
const DonatePage = () => {
|
const DonatePage = () => {
|
||||||
const [splits, setSplits] = useState<Splits[]>([]);
|
const [splits, setSplits] = useState<Splits[]>([]);
|
||||||
|
const [today, setSumToday] = useState<TotalToday>();
|
||||||
|
|
||||||
async function loadSplits() {
|
async function loadData() {
|
||||||
let rsp = await fetch(`${ApiHost}/api/v1/revenue/splits`);
|
let rsp = await fetch(`${ApiHost}/api/v1/revenue/splits`);
|
||||||
if(rsp.ok) {
|
if(rsp.ok) {
|
||||||
setSplits(await rsp.json());
|
setSplits(await rsp.json());
|
||||||
}
|
}
|
||||||
|
let rsp2 = await fetch(`${ApiHost}/api/v1/revenue/today`);
|
||||||
|
if(rsp2.ok) {
|
||||||
|
setSumToday(await rsp2.json());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
loadSplits().catch(console.warn);
|
loadData().catch(console.warn);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
function actions(pk: HexKey) {
|
function actions(pk: HexKey) {
|
||||||
@ -62,6 +72,7 @@ const DonatePage = () => {
|
|||||||
<div className="mr10">Lightning Donation: </div>
|
<div className="mr10">Lightning Donation: </div>
|
||||||
<ZapButton svc={"donate@snort.social"} />
|
<ZapButton svc={"donate@snort.social"} />
|
||||||
</div>
|
</div>
|
||||||
|
{today && (<small>Total today (UTC): {today.donations.toLocaleString()} sats</small>)}
|
||||||
<h3>Primary Developers</h3>
|
<h3>Primary Developers</h3>
|
||||||
{Developers.map(a => <ProfilePreview pubkey={a} key={a} actions={actions(a)} />)}
|
{Developers.map(a => <ProfilePreview pubkey={a} key={a} actions={actions(a)} />)}
|
||||||
<h4>Contributors</h4>
|
<h4>Contributors</h4>
|
||||||
|
Loading…
Reference in New Issue
Block a user