├── .eslintignore ├── screenshot.png ├── public ├── favicon.ico ├── favicon-16x16.png ├── favicon-32x32.png ├── apple-touch-icon.png ├── assets │ ├── placeholder.avif │ ├── icon-play.svg │ ├── icon-nav-tv-series.svg │ ├── icon-category-tv.svg │ ├── logo.svg │ ├── icon-search.svg │ ├── icon-nav-home.svg │ ├── icon-nav-movies.svg │ ├── icon-nav-bookmark.svg │ ├── icon-category-movie.svg │ ├── icon-bookmark-full.svg │ └── icon-bookmark-empty.svg ├── android-chrome-192x192.png ├── android-chrome-512x512.png └── site.webmanifest ├── lib ├── rawg.ts ├── helpers │ └── index.ts ├── types │ └── index.ts ├── animations │ └── index.ts └── routes.tsx ├── postcss.config.js ├── components ├── PageHeading.tsx ├── PageList.tsx ├── GameDetail.tsx ├── GamesListContainer.tsx ├── Footer.tsx ├── Logo.tsx ├── Description.tsx ├── Banner.tsx ├── FollowButton.tsx ├── Divider.tsx ├── Message.tsx ├── PageItem.tsx ├── SignOutButton.tsx ├── SignInButton.tsx ├── MessangerInput.tsx ├── GameSeriesList.tsx ├── Layout.tsx ├── MainNav.tsx ├── PagesNav.tsx ├── LoadingCard.tsx ├── ErrorCard.tsx ├── TrendingGamesList.tsx ├── Drawer.tsx ├── TrendingGameCard.tsx ├── Screenshots.tsx ├── MessangerUsers.tsx ├── ScreenshotModal.tsx ├── FollowersTab.tsx ├── CollectionsDropdown.tsx ├── UserProfile.tsx ├── Navbar.tsx ├── CollectionItem.tsx ├── GameCard.tsx ├── GamesList.tsx └── SearchResults.tsx ├── next-env.d.ts ├── pages ├── api │ └── hello.ts ├── index.tsx ├── _app.tsx ├── genres │ └── index.tsx ├── stores │ └── index.tsx ├── bookmarks │ └── index.tsx ├── _document.tsx ├── tags │ └── index.tsx ├── platforms │ └── index.tsx ├── publishers │ └── index.tsx ├── developers │ └── index.tsx ├── tag │ └── [slug].tsx ├── genre │ └── [slug].tsx ├── store │ └── [slug].tsx ├── publisher │ └── [slug].tsx ├── platform │ └── [slug].tsx ├── developer │ └── [slug].tsx ├── messages │ └── index.tsx └── collections │ └── index.tsx ├── styles └── globals.css ├── hooks ├── useUsers.ts ├── useAuth.ts ├── useClickOutside.ts ├── useMediaQuery.ts ├── useUserBookmarks.ts ├── useUser.ts ├── useBookmarkMutation.ts ├── useFollow.ts ├── useCollections.ts └── useMessages.ts ├── .gitignore ├── next.config.js ├── tsconfig.json ├── firebase └── firebase.config.js ├── .eslintrc.json ├── tailwind.config.js ├── package.json └── README.md /.eslintignore: -------------------------------------------------------------------------------- 1 | *.config.js -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kens-visuals/game-zone/HEAD/screenshot.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kens-visuals/game-zone/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kens-visuals/game-zone/HEAD/public/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kens-visuals/game-zone/HEAD/public/favicon-32x32.png -------------------------------------------------------------------------------- /public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kens-visuals/game-zone/HEAD/public/apple-touch-icon.png -------------------------------------------------------------------------------- /public/assets/placeholder.avif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kens-visuals/game-zone/HEAD/public/assets/placeholder.avif -------------------------------------------------------------------------------- /lib/rawg.ts: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | 3 | export default axios.create({ baseURL: `https://api.rawg.io/api/` }); 4 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kens-visuals/game-zone/HEAD/public/android-chrome-192x192.png -------------------------------------------------------------------------------- /public/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kens-visuals/game-zone/HEAD/public/android-chrome-512x512.png -------------------------------------------------------------------------------- /components/PageHeading.tsx: -------------------------------------------------------------------------------- 1 | interface Props { 2 | heading: string; 3 | } 4 | 5 | export default function PageHeading({ heading }: Props) { 6 | return
32 | {message.message} 33 | {time && {time}} 34 |
35 |49 | {collection.description} 50 |
51 |