From f0f9e620b58efa33a64edf99a69ec69d37dc90fa Mon Sep 17 00:00:00 2001 From: DefectingCat Date: Mon, 20 Mar 2023 16:00:43 +0800 Subject: [PATCH] Add app directory --- .vscode/settings.json | 6 +- app/layout.tsx | 29 + app/page.tsx | 32 + app/theme-provider.tsx | 22 + layouts/common/blog-list.tsx | 24 - layouts/common/main-layout.tsx | 22 - next.config.mjs | 3 +- package.json | 40 +- pages/_app.tsx | 53 -- pages/_document.tsx | 30 - pages/about.tsx | 207 ----- pages/api/hello.ts | 13 - pages/api/posts.ts | 20 - pages/blog/[page].tsx | 91 --- pages/blog/index.tsx | 75 -- pages/g/[id].tsx | 132 ---- pages/gists/[p].tsx | 125 --- pages/gists/index.tsx | 87 --- pages/index.tsx | 187 ----- pages/p/[slug].tsx | 102 --- pages/projects.tsx | 182 ----- pnpm-lock.yaml | 1317 +++++++++++++++++--------------- tsconfig.json | 24 +- 23 files changed, 836 insertions(+), 1987 deletions(-) create mode 100644 app/layout.tsx create mode 100644 app/page.tsx create mode 100644 app/theme-provider.tsx delete mode 100644 layouts/common/blog-list.tsx delete mode 100644 layouts/common/main-layout.tsx delete mode 100644 pages/_app.tsx delete mode 100644 pages/_document.tsx delete mode 100644 pages/about.tsx delete mode 100644 pages/api/hello.ts delete mode 100644 pages/api/posts.ts delete mode 100644 pages/blog/[page].tsx delete mode 100644 pages/blog/index.tsx delete mode 100644 pages/g/[id].tsx delete mode 100644 pages/gists/[p].tsx delete mode 100644 pages/gists/index.tsx delete mode 100644 pages/index.tsx delete mode 100644 pages/p/[slug].tsx delete mode 100644 pages/projects.tsx diff --git a/.vscode/settings.json b/.vscode/settings.json index 57f397c..c27ad7d 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,5 @@ { - "svn.ignoreMissingSvnWarning": true -} + "svn.ignoreMissingSvnWarning": true, + "typescript.tsdk": "node_modules/.pnpm/typescript@5.0.2/node_modules/typescript/lib", + "typescript.enablePromptUseWorkspaceTsdk": true +} \ No newline at end of file diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..45c8c1a --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,29 @@ +import 'styles/globals.css'; +import RUAThemeProvider from './theme-provider'; + +export const metadata = { + title: 'RUA', +}; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + + + + + + + {children} + + + ); +} diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 0000000..8773ca7 --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,32 @@ +import clsx from 'clsx'; +import { gltfLoader, manager } from 'lib/gltf-loader'; +import { getMousePosition } from 'lib/utils'; +import dynamic from 'next/dynamic'; +import Head from 'next/head'; +import Image from 'next/image'; +import { Suspense, useCallback } from 'react'; +import { InitFn, THREE, useThree } from 'rua-three'; +import styles from 'styles/index/index.module.css'; +import { GLTF } from 'three/examples/jsm/loaders/GLTFLoader'; + +export default function Page() { + return ( +
+
+

+ + Hi there + + + hands + +

+
+
+ ); +} diff --git a/app/theme-provider.tsx b/app/theme-provider.tsx new file mode 100644 index 0000000..b3031c9 --- /dev/null +++ b/app/theme-provider.tsx @@ -0,0 +1,22 @@ +'use client'; + +import { ThemeProvider } from 'next-themes'; +import { ReactNode } from 'react'; + +export default function RUAThemeProvider({ + children, +}: { + children: ReactNode; +}) { + return ( + + {children} + + ); +} diff --git a/layouts/common/blog-list.tsx b/layouts/common/blog-list.tsx deleted file mode 100644 index 9258782..0000000 --- a/layouts/common/blog-list.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import clsx from 'clsx'; - -type Props = { - children: React.ReactElement | React.ReactElement[]; -}; - -const BlogList = ({ children }: Props) => { - return ( - <> -

- Blog posts -

- -
{children}
- - ); -}; - -export default BlogList; diff --git a/layouts/common/main-layout.tsx b/layouts/common/main-layout.tsx deleted file mode 100644 index e3a4277..0000000 --- a/layouts/common/main-layout.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import dynamic from 'next/dynamic'; - -const Footer = dynamic(() => import('components/footer')); -const HeadBar = dynamic(() => import('components/nav-bar')); -const BackToTop = dynamic(() => import('components/common/back-to-top')); - -type Props = { - children: React.ReactNode; -}; - -const MainLayout = ({ children }: Props) => { - return ( - <> - - {children} -