|
|
@@ -43,6 +43,7 @@ type Props = {
|
|
|
integrityStakingPublishers: ComponentProps<
|
|
|
typeof OracleIntegrityStaking
|
|
|
>["publishers"];
|
|
|
+ restrictedMode?: boolean | undefined;
|
|
|
};
|
|
|
|
|
|
export const Dashboard = ({
|
|
|
@@ -57,6 +58,7 @@ export const Dashboard = ({
|
|
|
integrityStakingPublishers,
|
|
|
unlockSchedule,
|
|
|
yieldRate,
|
|
|
+ restrictedMode,
|
|
|
}: Props) => {
|
|
|
const [tab, setTab] = useState<TabId>(TabIds.Empty);
|
|
|
|
|
|
@@ -126,7 +128,11 @@ export const Dashboard = ({
|
|
|
}, [tab]);
|
|
|
|
|
|
return (
|
|
|
- <main className="flex w-full flex-col gap-8 xl:px-4 xl:py-6">
|
|
|
+ <main
|
|
|
+ className={clsx("flex w-full flex-col gap-8 xl:px-4 xl:py-6", {
|
|
|
+ "sm:gap-0": restrictedMode,
|
|
|
+ })}
|
|
|
+ >
|
|
|
<AccountSummary
|
|
|
api={api}
|
|
|
locked={locked}
|
|
|
@@ -137,66 +143,80 @@ export const Dashboard = ({
|
|
|
availableToWithdraw={availableToWithdraw}
|
|
|
availableRewards={availableRewards}
|
|
|
expiringRewards={expiringRewards}
|
|
|
+ restrictedMode={restrictedMode}
|
|
|
/>
|
|
|
- <Tabs
|
|
|
- selectedKey={tab}
|
|
|
- onSelectionChange={setTab}
|
|
|
- className="group border-neutral-600/50 data-[empty]:my-[5dvh] data-[empty]:border data-[empty]:bg-white/10 data-[empty]:p-4 sm:p-4 data-[empty]:sm:my-0 data-[empty]:sm:border-0 data-[empty]:sm:bg-transparent data-[empty]:sm:p-0"
|
|
|
- {...(tab === TabIds.Empty && { "data-empty": true })}
|
|
|
- >
|
|
|
- <h1 className="my-4 hidden text-center text-xl/tight font-light group-data-[empty]:mb-10 group-data-[empty]:block sm:mb-6 sm:text-3xl group-data-[empty]:sm:mb-6 lg:my-14 lg:text-5xl">
|
|
|
- Choose Your Journey
|
|
|
- </h1>
|
|
|
- <TabList className="sticky top-header-height z-10 flex flex-row items-stretch justify-center group-data-[empty]:mx-auto group-data-[empty]:max-w-7xl group-data-[empty]:flex-col group-data-[empty]:gap-8 group-data-[empty]:sm:flex-row group-data-[empty]:sm:gap-2">
|
|
|
- <Tab id={TabIds.Empty} className="hidden" />
|
|
|
- <Journey
|
|
|
- longText="Oracle Integrity Staking (OIS)"
|
|
|
- shortText="OIS"
|
|
|
- image={ois}
|
|
|
- id={TabIds.IntegrityStaking}
|
|
|
- >
|
|
|
- <span>Secure the Oracle</span>
|
|
|
- <br />
|
|
|
- <span className="font-semibold">to Earn Rewards</span>
|
|
|
- </Journey>
|
|
|
- <Journey
|
|
|
- longText="Pyth Governance"
|
|
|
- shortText="Governance"
|
|
|
- image={governanceImage}
|
|
|
- id={TabIds.Governance}
|
|
|
- >
|
|
|
- <span>Gain Voting Power</span>
|
|
|
- <br />
|
|
|
- <span className="font-semibold">for Governance</span>
|
|
|
- </Journey>
|
|
|
- </TabList>
|
|
|
- <TabPanel id={TabIds.Empty}></TabPanel>
|
|
|
- <TabPanel id={TabIds.IntegrityStaking}>
|
|
|
- <OracleIntegrityStaking
|
|
|
- api={api}
|
|
|
- currentEpoch={currentEpoch}
|
|
|
- availableToStake={availableToStakeIntegrity}
|
|
|
- locked={locked}
|
|
|
- warmup={integrityStakingWarmup}
|
|
|
- staked={integrityStakingStaked}
|
|
|
- cooldown={integrityStakingCooldown}
|
|
|
- cooldown2={integrityStakingCooldown2}
|
|
|
- publishers={integrityStakingPublishers}
|
|
|
- yieldRate={yieldRate}
|
|
|
- />
|
|
|
- </TabPanel>
|
|
|
- <TabPanel id={TabIds.Governance}>
|
|
|
- <Governance
|
|
|
- api={api}
|
|
|
- currentEpoch={currentEpoch}
|
|
|
- availableToStake={availableToStakeGovernance}
|
|
|
- warmup={governance.warmup}
|
|
|
- staked={governance.staked}
|
|
|
- cooldown={governance.cooldown}
|
|
|
- cooldown2={governance.cooldown2}
|
|
|
- />
|
|
|
- </TabPanel>
|
|
|
- </Tabs>
|
|
|
+ {restrictedMode ? (
|
|
|
+ <Governance
|
|
|
+ api={api}
|
|
|
+ currentEpoch={currentEpoch}
|
|
|
+ availableToStake={availableToStakeGovernance}
|
|
|
+ warmup={governance.warmup}
|
|
|
+ staked={governance.staked}
|
|
|
+ cooldown={governance.cooldown}
|
|
|
+ cooldown2={governance.cooldown2}
|
|
|
+ restrictedMode
|
|
|
+ />
|
|
|
+ ) : (
|
|
|
+ <Tabs
|
|
|
+ selectedKey={tab}
|
|
|
+ onSelectionChange={setTab}
|
|
|
+ className="group border-neutral-600/50 data-[empty]:my-[5dvh] data-[empty]:border data-[empty]:bg-white/10 data-[empty]:p-4 sm:p-4 data-[empty]:sm:my-0 data-[empty]:sm:border-0 data-[empty]:sm:bg-transparent data-[empty]:sm:p-0"
|
|
|
+ {...(tab === TabIds.Empty && { "data-empty": true })}
|
|
|
+ >
|
|
|
+ <h1 className="my-4 hidden text-center text-xl/tight font-light group-data-[empty]:mb-10 group-data-[empty]:block sm:mb-6 sm:text-3xl group-data-[empty]:sm:mb-6 lg:my-14 lg:text-5xl">
|
|
|
+ Choose Your Journey
|
|
|
+ </h1>
|
|
|
+ <TabList className="sticky top-header-height z-10 flex flex-row items-stretch justify-center group-data-[empty]:mx-auto group-data-[empty]:max-w-7xl group-data-[empty]:flex-col group-data-[empty]:gap-8 group-data-[empty]:sm:flex-row group-data-[empty]:sm:gap-2">
|
|
|
+ <Tab id={TabIds.Empty} className="hidden" />
|
|
|
+ <Journey
|
|
|
+ longText="Oracle Integrity Staking (OIS)"
|
|
|
+ shortText="OIS"
|
|
|
+ image={ois}
|
|
|
+ id={TabIds.IntegrityStaking}
|
|
|
+ >
|
|
|
+ <span>Secure the Oracle</span>
|
|
|
+ <br />
|
|
|
+ <span className="font-semibold">to Earn Rewards</span>
|
|
|
+ </Journey>
|
|
|
+ <Journey
|
|
|
+ longText="Pyth Governance"
|
|
|
+ shortText="Governance"
|
|
|
+ image={governanceImage}
|
|
|
+ id={TabIds.Governance}
|
|
|
+ >
|
|
|
+ <span>Gain Voting Power</span>
|
|
|
+ <br />
|
|
|
+ <span className="font-semibold">for Governance</span>
|
|
|
+ </Journey>
|
|
|
+ </TabList>
|
|
|
+ <TabPanel id={TabIds.Empty}></TabPanel>
|
|
|
+ <TabPanel id={TabIds.IntegrityStaking}>
|
|
|
+ <OracleIntegrityStaking
|
|
|
+ api={api}
|
|
|
+ currentEpoch={currentEpoch}
|
|
|
+ availableToStake={availableToStakeIntegrity}
|
|
|
+ locked={locked}
|
|
|
+ warmup={integrityStakingWarmup}
|
|
|
+ staked={integrityStakingStaked}
|
|
|
+ cooldown={integrityStakingCooldown}
|
|
|
+ cooldown2={integrityStakingCooldown2}
|
|
|
+ publishers={integrityStakingPublishers}
|
|
|
+ yieldRate={yieldRate}
|
|
|
+ />
|
|
|
+ </TabPanel>
|
|
|
+ <TabPanel id={TabIds.Governance}>
|
|
|
+ <Governance
|
|
|
+ api={api}
|
|
|
+ currentEpoch={currentEpoch}
|
|
|
+ availableToStake={availableToStakeGovernance}
|
|
|
+ warmup={governance.warmup}
|
|
|
+ staked={governance.staked}
|
|
|
+ cooldown={governance.cooldown}
|
|
|
+ cooldown2={governance.cooldown2}
|
|
|
+ />
|
|
|
+ </TabPanel>
|
|
|
+ </Tabs>
|
|
|
+ )}
|
|
|
</main>
|
|
|
);
|
|
|
};
|