Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions app/layout.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
// app/layout.js
'use client'
import '/style.css';
import '/tailwind.css';
import { NextUIProvider } from "@nextui-org/react";
import PropTypes from 'prop-types'

function ClientComponent({ children }) {
return (
<NextUIProvider>
{children}
</NextUIProvider>
)
}

export default function RootLayout({ children }) {
return (
<ClientComponent>
{children}
</ClientComponent>
)
}

RootLayout.propTypes = {
children: PropTypes.node.isRequired,
}
6 changes: 6 additions & 0 deletions app/ssr.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// app/ssr.js
export const metadata = {
title: 'My Page Title',
description: 'My Page Description',
// other metadata as needed
};
14 changes: 0 additions & 14 deletions components/layout.js

This file was deleted.

2 changes: 1 addition & 1 deletion pages/history/[userId].js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { useRouter } from 'next/router';
import { doc, getDoc, collection, getDocs, query, orderBy } from 'firebase/firestore';
import { getFirebaseFirestore } from '../../app/src/firebase';
import GameHistory from '../../components/GameHistory';
import RootLayout from '../../components/layout';
import RootLayout from '../../app/layout';
import NavigationButtons from '../../components/NavigationButtons';
import { format } from 'date-fns';
import { Pagination } from '@nextui-org/react';
Expand Down
23 changes: 15 additions & 8 deletions pages/results.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,28 @@
// pages/results.js
import React from 'react';
import Head from 'next/head';
import { db } from '../firebaseAdmin';
import ChallengeSection from '../components/ChallengeSection';
import GameHistory from '../components/GameHistory';
import FinalScore from '../components/FinalScore';
import RootLayout from '../components/layout';
import RootLayout from '../app/layout';

const ResultsPage = ({ gameData, gameHistory }) => {
const metadata = {
title: `Game Results for ${gameData?.leaderboardName}`,
description: `Check out the game results for ${gameData?.leaderboardName} on DecodeMe!`,
image: '/images/shareimage.jpeg',
url: `https://deocdeme.app/results/${gameData?.id}`,
};
if (!gameData) {
// Render a loading state or return null if the server-side props are not available
return null;
}

return (
<RootLayout metadata={metadata}>
<RootLayout>
<Head>
<title>{`Game Results for ${gameData.leaderboardName}`}</title>
<meta name="description" content={`Check out the game results for ${gameData.leaderboardName} on DecodeMe!`} />
<meta property="og:title" content={`Game Results for ${gameData.leaderboardName}`} />
<meta property="og:description" content={`Check out the game results for ${gameData.leaderboardName} on DecodeMe!`} />
<meta property="og:image" content="/images/shareimage.jpeg" />
<meta property="og:url" content={`https://deocdeme.app/results/${gameData.id}`} />
</Head>
<div className="min-h-screen bg-gray-100 py-6 flex flex-col justify-center sm:py-12">
<div className="relative py-3 sm:max-w-xl sm:mx-auto">
<div className="absolute inset-0 bg-gradient-to-r from-cyan-400 to-light-blue-500 shadow-lg transform skew-y-6 sm:skew-y-0 sm:-rotate-6 sm:rounded-3xl"></div>
Expand Down