diff --git a/README.md b/README.md index 1baadec..738852c 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ ##### BUN +- [classnames](https://github.com/JedWatson/classnames) - [barrelsby](https://github.com/bencoveney/barrelsby) - [eden](https://elysiajs.com/plugins/eden/overview.html) - [elysia](https://elysiajs.com/introduction.html) @@ -65,6 +66,9 @@ - [typefest](https://github.com/sindresorhus/type-fest) - [react waypoint](https://github.com/civiccc/react-waypoint) - [react ideal image](https://github.com/stereobooster/react-ideal-image/tree/master) +- [react aria](https://react-spectrum.adobe.com/react-aria/) +- [axe core npm](https://github.com/dequelabs/axe-core-npm) +- [axe core](https://github.com/dequelabs/axe-core) ##### NIM diff --git a/apps/apps.backend.tsconfig.json b/apps/apps.backend.tsconfig.json index 37366b8..fa50d42 100644 --- a/apps/apps.backend.tsconfig.json +++ b/apps/apps.backend.tsconfig.json @@ -1,6 +1,4 @@ { "extends": "./apps.tsconfig.json", - "compilerOptions": { - "emitDeclarationOnly": false - } + "compilerOptions": {} } diff --git a/apps/apps.frontend.tsconfig.json b/apps/apps.frontend.tsconfig.json index 84712dc..fa50d42 100644 --- a/apps/apps.frontend.tsconfig.json +++ b/apps/apps.frontend.tsconfig.json @@ -1,6 +1,4 @@ { "extends": "./apps.tsconfig.json", - "compilerOptions": { - "emitDeclarationOnly": true - } + "compilerOptions": {} } diff --git a/apps/nirvlife/dev.tsx b/apps/nirvlife/dev.tsx index 6aeecb7..6f43f2c 100644 --- a/apps/nirvlife/dev.tsx +++ b/apps/nirvlife/dev.tsx @@ -6,7 +6,6 @@ const PROJECT_ROOT = import.meta.dir; const PUBLIC_DIR = path.resolve(PROJECT_ROOT, "public"); const BUILD_DIR = path.resolve(PROJECT_ROOT, "build"); -// TODO(noah): doesnt clean dir await Bun.build({ entrypoints: ["./src/main.tsx"], outdir: "./build", diff --git a/apps/nirvlife/package.json b/apps/nirvlife/package.json index e711676..b752e89 100644 --- a/apps/nirvlife/package.json +++ b/apps/nirvlife/package.json @@ -26,8 +26,10 @@ "@tanstack/react-query-devtools": "4.29.7", "@tanstack/react-query-persist-client": "4.29.7", "@tanstack/react-table": "8.9.1", + "classnames": "^2.3.2", "ky": "0.33.3", "react": "18.2.0", + "react-aria": "^3.24.0", "react-dom": "18.2.0", "react-ideal-image": "git@github.com:noahehall/react-ideal-image.git#72d7328", "react-query-kit": "^1.4.4", @@ -38,6 +40,7 @@ "web-vitals": "3.3.1" }, "devDependencies": { + "@axe-core/react": "^4.7.1", "@types/react": "18.2.6", "@types/react-dom": "18.2.4", "@types/react-router-dom": "5.3.3", @@ -48,13 +51,16 @@ "postcss-flexbugs-fixes": "5.0.2", "prettier": "^2.8.8", "react-refresh": "0.14.0", + "turbo": "^1.9.8", "type-fest": "^3.10.0", "typescript": "beta" }, "scripts": { "barrels": "barrelsby --config ./barrels.json", - "rm:cache": "bun pm cache rm", "dev": "rm -rf build/* && bun run --watch dev.tsx", + "postdev": "bun --hot src/main.tsx", + "rm:cache": "bun pm cache rm", + "test:types": "bunx tsc", "upgrade:bun": "bun upgrade --canary", "upgrade:deps": "bunx ncu -u && bun install" } diff --git a/apps/nirvlife/public/index.html b/apps/nirvlife/public/index.html index 0b79633..365a0e6 100644 --- a/apps/nirvlife/public/index.html +++ b/apps/nirvlife/public/index.html @@ -27,17 +27,7 @@ -
- +
diff --git a/apps/nirvlife/src/Components/App/App.tsx b/apps/nirvlife/src/Components/App/App.tsx index 837824b..67e23cc 100644 --- a/apps/nirvlife/src/Components/App/App.tsx +++ b/apps/nirvlife/src/Components/App/App.tsx @@ -1,12 +1,10 @@ import { Container, CssBaseline, ThemeProvider } from "@mui/material"; import { Outlet, ScrollRestoration } from "react-router-dom"; -import { AppHeader } from "Components"; +import { AppHeader, AppFooter } from "Components"; import { APP_KEY } from "data/constants"; import { AppTheme } from "Theme"; -// logo - export const App = () => { return ( @@ -15,6 +13,7 @@ export const App = () => { + ); diff --git a/apps/nirvlife/src/Components/App/AppAbout.tsx b/apps/nirvlife/src/Components/App/AppAbout.tsx deleted file mode 100644 index d21f11a..0000000 --- a/apps/nirvlife/src/Components/App/AppAbout.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { FC } from "react"; - -export const AppAbout: FC = (props) => { - return

about this app

; -}; diff --git a/apps/nirvlife/src/Components/App/AppFooter.tsx b/apps/nirvlife/src/Components/App/AppFooter.tsx new file mode 100644 index 0000000..d0b0847 --- /dev/null +++ b/apps/nirvlife/src/Components/App/AppFooter.tsx @@ -0,0 +1,12 @@ +import { FC } from "react"; + +import { slogan } from "data"; +import { TextCopy } from "Library"; + +export const AppFooter: FC = () => ( + +); diff --git a/apps/nirvlife/src/Components/App/AppHeader.tsx b/apps/nirvlife/src/Components/App/AppHeader.tsx index 5a77744..ea813ed 100644 --- a/apps/nirvlife/src/Components/App/AppHeader.tsx +++ b/apps/nirvlife/src/Components/App/AppHeader.tsx @@ -1,7 +1,12 @@ -import React, { FC } from "react"; +import { FC } from "react"; + +import { nirvai, nirvaiRef } from "data"; +import { TextCopy } from "Library"; export const AppHeader: FC = () => (
-

Some New App

+

+ +

); diff --git a/apps/nirvlife/src/Components/App/AppLandingScreen.tsx b/apps/nirvlife/src/Components/App/AppLandingScreen.tsx index 355c8e0..cef12c4 100644 --- a/apps/nirvlife/src/Components/App/AppLandingScreen.tsx +++ b/apps/nirvlife/src/Components/App/AppLandingScreen.tsx @@ -1,16 +1,19 @@ import { useTheme } from "@mui/material"; -import { AppAbout } from "./AppAbout"; -import { Img } from "Library"; +import { Img, TextCopy } from "Library"; +import { ctaStacks, nirvaiRef, taglineRef } from "data"; +// nirvai const screenId = "app-landing-screen"; export const AppLandingScreen = () => { const theme = useTheme(); return ( -
+
{/* */} - + + +
); }; diff --git a/apps/nirvlife/src/Components/App/index.ts b/apps/nirvlife/src/Components/App/index.ts index 3aba9e6..974bf9d 100644 --- a/apps/nirvlife/src/Components/App/index.ts +++ b/apps/nirvlife/src/Components/App/index.ts @@ -3,6 +3,6 @@ */ export * from "./App"; -export * from "./AppAbout"; +export * from "./AppFooter"; export * from "./AppHeader"; export * from "./AppLandingScreen"; diff --git a/apps/nirvlife/src/Library/Clickable/Link.tsx b/apps/nirvlife/src/Library/Clickable/Link.tsx index b70544e..a891009 100644 --- a/apps/nirvlife/src/Library/Clickable/Link.tsx +++ b/apps/nirvlife/src/Library/Clickable/Link.tsx @@ -1,22 +1,59 @@ -import type { FC } from "react"; +import { + useLink, + useButton, + type AriaLinkOptions, + type AriaButtonProps, +} from "react-aria"; +import { useMemo, useRef, type FC } from "react"; +import classNames from "classnames"; +import { Link, Button, type ButtonProps, type LinkProps } from "@mui/material"; import type { CopyLinkInterface } from "data"; +export type LinkA = LinkProps & AriaLinkOptions; +export const LinkA: FC = (props) => { + const ref = useRef(null); + const { linkProps } = useLink(props, ref); + + return ; +}; + +export type LinkButton = ButtonProps & AriaButtonProps; +export const LinkButton: FC = (props) => { + let ref = useRef(); + let { buttonProps } = useButton(props, ref); + + return