Skip to content

Commit

Permalink
feat: added site metadata and link preview
Browse files Browse the repository at this point in the history
  • Loading branch information
yougotwill committed Jul 9, 2024
1 parent 71dc68b commit 57ff1dc
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 11 deletions.
13 changes: 13 additions & 0 deletions apps/staking/app/faucet/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import { siteMetadata } from '@/lib/metadata';
import { ReactNode } from 'react';

export async function generateMetadata() {
return siteMetadata({
title: 'Faucet',
description: 'Claim test SENT to participate in the Session Testnet Incentive Program.',
});
}

export default async function FaucetLayout({ children }: { children: ReactNode }) {
return children;
}
8 changes: 5 additions & 3 deletions apps/staking/app/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import { NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID } from '@/lib/env';
import { getLocalizationData } from '@/lib/locale-server';
import { siteMetadata as metadata, wagmiMetadata } from '@/lib/metadata';
import { Toaster } from '@session/ui/components/ui/sonner';
import { AtypDisplay, AtypText, MonumentExtended } from '@session/ui/fonts';

import { DevSheet } from '@/components/DevSheet';
import { siteMetadata, wagmiMetadata } from '@/lib/metadata';
import FeatureFlagProvider from '@/providers/feature-flag-provider';
import LocalizationProvider from '@/providers/localization-provider';
import '@session/ui/styles';
Expand All @@ -23,6 +23,10 @@ const wagmiConfig = createWagmiConfig({
metadata: wagmiMetadata,
});

export async function generateMetadata() {
return siteMetadata({});
}

export default async function RootLayout({ children }: { children: React.ReactNode }) {
const { locale, direction, messages } = await getLocalizationData();
const initialWagmiState = cookieToInitialState(wagmiConfig, headers().get('cookie'));
Expand Down Expand Up @@ -57,5 +61,3 @@ export default async function RootLayout({ children }: { children: React.ReactNo
</html>
);
}

export { metadata };
8 changes: 8 additions & 0 deletions apps/staking/app/mystakes/page.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { siteMetadata } from '@/lib/metadata';
import { ModuleGrid } from '@session/ui/components/ModuleGrid';
import BalanceModule from './modules/BalanceModule';
import ClaimTokensModule from './modules/ClaimTokensModule';
Expand All @@ -7,6 +8,13 @@ import StakedNodesModule from './modules/StakedNodesModule';
import TotalRewardsModule from './modules/TotalRewardsModule';
import UnclaimedTokensModule from './modules/UnclaimedTokensModule';

export async function generateMetadata() {
return siteMetadata({
title: 'My Stakes',
description: 'View your Session stakes and claim rewards.',
});
}

export default function Page() {
return (
<ModuleGrid size="lg" className="h-full px-4 md:px-10 xl:auto-rows-auto">
Expand Down
8 changes: 8 additions & 0 deletions apps/staking/app/stake/page.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
import { URL } from '@/lib/constants';
import { siteMetadata } from '@/lib/metadata';
import { ButtonDataTestId } from '@/testing/data-test-ids';
import { ModuleGridInfoContent } from '@session/ui/components/ModuleGrid';
import { Button } from '@session/ui/ui/button';
import { useTranslations } from 'next-intl';
import Link from 'next/link';
import ActionModule from './ActionModule';

export async function generateMetadata() {
return siteMetadata({
title: 'Stake Now',
description: 'Browse open Session Nodes to stake to.',
});
}

export default function Page() {
const dictionary = useTranslations('modules.openNodes');
return (
Expand Down
32 changes: 24 additions & 8 deletions apps/staking/lib/metadata.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,34 @@
import { getEnvironmentTaggedDomain } from '@session/util/env';
import type { WagmiMetadata } from '@session/wallet/lib/wagmi';
import type { Metadata } from 'next';

// TODO - Fill out all require site metadata fields
export const siteMetadata: Metadata = {
title: 'Session Staking',
description: 'Session Staking',
const SITE_TITLE = 'Session Staking Portal';
const SITE_DESCRIPTION = 'Stake and get rewarded for securing the Session Network.';
const SITE_IMAGE = '/images/link_preview.png';
const SITE_ICON = '/images/icon.png';

export const siteMetadata = (props: { title?: string; description?: string; image?: string }) => {
const { title, description = SITE_DESCRIPTION, image = SITE_IMAGE } = props;
return {
metadataBase: new URL('https://stake.getsession.org'),
title: `${title ? `${title} | ` : ''}${SITE_TITLE}`,
description,
openGraph: {
title,
description,
images: [
{
url: image,
},
],
},
};
};

const url = `https://${getEnvironmentTaggedDomain('stake')}.getsession.org`;

export const wagmiMetadata: WagmiMetadata = {
name: 'Session Staking',
description: 'Session Staking',
name: SITE_TITLE,
description: SITE_DESCRIPTION,
url,
icons: [`${url}/images/icon.png`],
icons: [`${url}${SITE_ICON}`],
};
Binary file added apps/staking/public/images/link_preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 57ff1dc

Please sign in to comment.