import _ from 'lodash' import { Col } from '../components/layout/col' import { Leaderboard } from '../components/leaderboard' import { Page } from '../components/page' import { getTopCreators, getTopTraders, User } from '../lib/firebase/users' import { formatMoney } from '../../common/util/format' import { fromPropz, usePropz } from '../hooks/use-propz' import { Manaboard } from '../components/manaboard' import { Title } from '../components/title' export const getStaticProps = fromPropz(getStaticPropz) export async function getStaticPropz() { const [topTraders, topCreators] = await Promise.all([ getTopTraders().catch((_) => {}), getTopCreators().catch((_) => {}), ]) return { props: { topTraders, topCreators, }, revalidate: 60, // regenerate after a minute } } function Leaderboards(props: { topTraders: User[]; topCreators: User[] }) { props = usePropz(props, getStaticPropz) ?? { topTraders: [], topCreators: [], } const { topTraders, topCreators } = props return ( formatMoney(user.totalPnLCached), }, ]} /> formatMoney(user.creatorVolumeCached), }, ]} /> ) } function Explanation() { return (

How this works

  1. Every slot has an "assessed value": what the current holder thinks their slot is worth.
  2. Slot holders pay a continuous fee of 10% per hour to Manafold.
  3. At any time, you can pay the assessed value of a slot to buy it from the current holder.
  4. The slot is now yours! You can customize the message, or reassess it to a new value.

Note: this mechanism is known as a{' '} Harberger Tax !

) } export default function Manaboards(props: { topTraders: User[] topCreators: User[] }) { props = usePropz(props, getStaticPropz) ?? { topTraders: [], topCreators: [], } const { topTraders, topCreators } = props return ( }> <div className="prose mb-8 text-gray-600"> <p> Manafold Markets is running low on mana, so we're selling our leaderboard slots to make up the deficit. Buy one now for ephemeral glory, and help keep Manafold afloat! </p> </div> <Col className="mt-6 items-center gap-10"> <Manaboard title="🏅 Top traders" users={topTraders} /> <Manaboard title="🏅 Top creators" users={topCreators} /> </Col> </Page> ) }