From d13d3dc5d86424b9972220880f8f77401dd0a71e Mon Sep 17 00:00:00 2001 From: Wanjohi <71614375+wanjohiryan@users.noreply.github.com> Date: Fri, 30 Aug 2024 11:08:58 +0300 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20Add=20nav-progress=20bad?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 3 + apps/www/.eslintrc.cjs | 2 +- apps/www/src/routes/layout.tsx | 40 ++++++++++++- bun.lockb | Bin 384444 -> 391604 bytes packages/ui/.eslintrc.js | 2 +- packages/ui/package.json | 26 ++++++--- packages/ui/src/button.tsx | 20 ------- packages/ui/src/card.tsx | 25 --------- packages/ui/src/code.tsx | 9 --- packages/ui/src/index.ts | 1 + packages/ui/src/nav-progress/index.tsx | 43 ++++++++++++++ packages/ui/src/nav-progress/npr.css | 53 ++++++++++++++++++ packages/ui/src/types/misc.d.ts | 4 ++ packages/ui/tsconfig.json | 9 ++- packages/ui/tsconfig.lint.json | 2 +- packages/ui/turbo/generators/config.ts | 30 ---------- .../turbo/generators/templates/component.hbs | 8 --- 17 files changed, 169 insertions(+), 108 deletions(-) create mode 100644 .vscode/settings.json delete mode 100644 packages/ui/src/button.tsx delete mode 100644 packages/ui/src/card.tsx delete mode 100644 packages/ui/src/code.tsx create mode 100644 packages/ui/src/index.ts create mode 100644 packages/ui/src/nav-progress/index.tsx create mode 100644 packages/ui/src/nav-progress/npr.css create mode 100644 packages/ui/src/types/misc.d.ts delete mode 100644 packages/ui/turbo/generators/config.ts delete mode 100644 packages/ui/turbo/generators/templates/component.hbs diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..00ad71fb --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "typescript.tsdk": "node_modules\\typescript\\lib" +} \ No newline at end of file diff --git a/apps/www/.eslintrc.cjs b/apps/www/.eslintrc.cjs index 92574ffc..728e75f8 100644 --- a/apps/www/.eslintrc.cjs +++ b/apps/www/.eslintrc.cjs @@ -1,7 +1,7 @@ /** @type {import("eslint").Linter.Config} */ module.exports = { root: true, - extends: ["@nestri/eslint-config/react-internal.js"], + extends: ["@nestri/eslint-config/qwik.js"], parser: "@typescript-eslint/parser", parserOptions: { //Find some way to use the lint tsconfig diff --git a/apps/www/src/routes/layout.tsx b/apps/www/src/routes/layout.tsx index f799e429..38176ed0 100644 --- a/apps/www/src/routes/layout.tsx +++ b/apps/www/src/routes/layout.tsx @@ -1,5 +1,6 @@ import { component$, Slot } from "@builder.io/qwik"; -import type { RequestHandler } from "@builder.io/qwik-city"; +import { NavProgress } from "@nestri/ui"; +import type { DocumentHead, RequestHandler } from "@builder.io/qwik-city"; export const onGet: RequestHandler = async ({ cacheControl }) => { // Control caching for this request for best performance and to reduce hosting costs: @@ -13,5 +14,40 @@ export const onGet: RequestHandler = async ({ cacheControl }) => { }; export default component$(() => { - return ; + return ( + <> + + + + ); }); + +export const head: DocumentHead = { + title: 'Nestri – Your games. Your rules.', + meta: [ + { + name: 'description', + content: 'Nestri – Your games. Your rules.', + }, + { + name: "og:title", + content: "Nestri – Your games. Your rules.", + }, + { + name: "og:description", + content: "Play games with friends right from your browser.", + }, + { + name: "twitter:title", + content: "Nestri – Your games. Your rules.", + }, + { + name: "twitter:description", + content: "Play games with friends right from your browser.", + }, + { + name: "twitter:card", + content: "summary_large_image", + }, + ], +}; diff --git a/bun.lockb b/bun.lockb index bffc2693e0522c81f124ba324c9eb4e362950764..e269eec77edf219447ee881e37f9234da8ad6d6a 100755 GIT binary patch delta 50506 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 diff --git a/packages/ui/.eslintrc.js b/packages/ui/.eslintrc.js index 124efcbf..95d22f23 100644 --- a/packages/ui/.eslintrc.js +++ b/packages/ui/.eslintrc.js @@ -1,7 +1,7 @@ /** @type {import("eslint").Linter.Config} */ module.exports = { root: true, - extends: ["@nestri/eslint-config/react-internal.js"], + extends: ["@nestri/eslint-config/qwik.js"], parser: "@typescript-eslint/parser", parserOptions: { project: "./tsconfig.lint.json", diff --git a/packages/ui/package.json b/packages/ui/package.json index c5e6e762..f86c8a00 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -3,31 +3,39 @@ "version": "0.0.0", "private": true, "exports": { - "./button": "./src/button.tsx", - "./card": "./src/card.tsx", - "./code": "./src/code.tsx", + ".": "./src/index.ts", + "./react": "./src/react/index.ts", "./tailwind.config": "./tailwind.config.js", "./globals.css": "./globals.css", "./postcss": "./post.config.js" }, - "files": ["tailwind.config.js", "post.config.js", "globals.css", "postcss.config.js"], + "files": [ + "tailwind.config.js", + "post.config.js", + "globals.css", + "postcss.config.js" + ], "scripts": { - "lint": "eslint . --max-warnings 0", - "generate:component": "turbo gen react-component" + "lint": "eslint . --max-warnings 0" }, "devDependencies": { "@builder.io/qwik": "^1.8.0", + "@builder.io/qwik-city": "^1.8.0", "@builder.io/qwik-react": "^0.5.5", + "@fontsource/bricolage-grotesque": "^5.0.7", + "@fontsource/geist-sans": "^5.0.3", "@nestri/eslint-config": "*", "@nestri/typescript-config": "*", "@turbo/gen": "^1.12.4", - "@types/eslint": "^8.56.5", + "@types/eslint": "^9.6.1", "@types/node": "^20.11.24", + "@types/nprogress": "^0.2.3", "@types/react": "^18.3.4", "@types/react-dom": "^18.3.0", "autoprefixer": "^10.4.20", - "eslint": "^8.57.0", + "eslint": "^9.9.1", "framer-motion": "^11.3.31", + "nprogress": "^0.2.0", "postcss": "^8.4.41", "react": "^18.3.1", "react-dom": "^18.3.1", @@ -36,4 +44,4 @@ "tailwindcss": "^3.4.10", "typescript": "^5.3.3" } -} +} \ No newline at end of file diff --git a/packages/ui/src/button.tsx b/packages/ui/src/button.tsx deleted file mode 100644 index 78e5420c..00000000 --- a/packages/ui/src/button.tsx +++ /dev/null @@ -1,20 +0,0 @@ -"use client"; - -import { ReactNode } from "react"; - -interface ButtonProps { - children: ReactNode; - className?: string; - appName: string; -} - -export const Button = ({ children, className, appName }: ButtonProps) => { - return ( - - ); -}; diff --git a/packages/ui/src/card.tsx b/packages/ui/src/card.tsx deleted file mode 100644 index f69672e1..00000000 --- a/packages/ui/src/card.tsx +++ /dev/null @@ -1,25 +0,0 @@ -export function Card({ - className, - title, - children, - href, -}: { - className?: string; - title: string; - children: React.ReactNode; - href: string; -}): JSX.Element { - return ( - -

- {title} -> -

-

{children}

-
- ); -} diff --git a/packages/ui/src/code.tsx b/packages/ui/src/code.tsx deleted file mode 100644 index 769d9711..00000000 --- a/packages/ui/src/code.tsx +++ /dev/null @@ -1,9 +0,0 @@ -export function Code({ - children, - className, -}: { - children: React.ReactNode; - className?: string; -}): JSX.Element { - return {children}; -} diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts new file mode 100644 index 00000000..4ff4d92c --- /dev/null +++ b/packages/ui/src/index.ts @@ -0,0 +1 @@ +export * from "./nav-progress" \ No newline at end of file diff --git a/packages/ui/src/nav-progress/index.tsx b/packages/ui/src/nav-progress/index.tsx new file mode 100644 index 00000000..8bf19acb --- /dev/null +++ b/packages/ui/src/nav-progress/index.tsx @@ -0,0 +1,43 @@ +import { component$, useStyles$, useVisibleTask$ } from '@builder.io/qwik' +import { useLocation } from '@builder.io/qwik-city' +import type { NProgressOptions } from 'nprogress' +import nProgress from 'nprogress' +import nProgressStyles from 'nprogress/nprogress.css?inline' +import nPrStyles from './npr.css?inline' + +interface Props { + options?: Partial & + Partial<{ + color: string + height: string + }> +} + +export const NavProgress = component$(({ options = {} }: Props) => { + // const CSS_VAR_PREFIX = '--nav-progress-' + + useStyles$(nProgressStyles + nPrStyles) + + nProgress.configure({ showSpinner: false, ...options }) + + const location = useLocation() + + // eslint-disable-next-line qwik/no-use-visible-task + useVisibleTask$(({ track }) => { + const isNavigating = track(() => location.isNavigating) + if (isNavigating) nProgress.start() + else nProgress.done() + }) + + // return ( + // + // ) + return
+}) \ No newline at end of file diff --git a/packages/ui/src/nav-progress/npr.css b/packages/ui/src/nav-progress/npr.css new file mode 100644 index 00000000..05504c32 --- /dev/null +++ b/packages/ui/src/nav-progress/npr.css @@ -0,0 +1,53 @@ +#nprogress .bar { + background: theme("colors.primary.500"); + height: 2px; + z-index: 80; +} + +/* Fancy blur effect */ +#nprogress .peg { + box-shadow: 0 0 10px theme("colors.primary.500"), + 0 0 5px theme("colors.primary.500"); + z-index: 80; +} + +#nprogress .spinner-icon { + border-top-color: theme("colors.primary.500"); + border-left-color: theme("colors.primary.500"); + display: none; +} + +html.dark #nprogress .bar { + background: theme("colors.primary.500"); + height: 2px; +} + +html.dark #nprogress .peg { + box-shadow: 0 0 10px theme("colors.primary.500"), + 0 0 5px theme("colors.primary.500"); +} + +html.dark .spinner-icon { + border-top-color: theme("colors.primary.500"); + border-left-color: theme("colors.primary.500"); + display: none; +} + +@media (prefers-color-scheme: dark) { + + #nprogress .bar { + background: theme("colors.primary.500"); + height: 2px; + } + + #nprogress .peg { + box-shadow: 0 0 10px theme("colors.primary.500"), + 0 0 5px theme("colors.primary.500"); + } + + .spinner-icon { + border-top-color: theme("colors.primary.500"); + border-left-color: theme("colors.primary.500"); + display: none; + } +} \ No newline at end of file diff --git a/packages/ui/src/types/misc.d.ts b/packages/ui/src/types/misc.d.ts new file mode 100644 index 00000000..b4ac795b --- /dev/null +++ b/packages/ui/src/types/misc.d.ts @@ -0,0 +1,4 @@ +declare module '*?inline' { + const content: string; + export default content; +} \ No newline at end of file diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json index 2f7007fc..96ef040e 100644 --- a/packages/ui/tsconfig.json +++ b/packages/ui/tsconfig.json @@ -1,8 +1,13 @@ { "extends": "@nestri/typescript-config/base.json", "compilerOptions": { - "outDir": "dist" + "outDir": "tmp", + "rootDir": ".", + "allowImportingTsExtensions": true, + "paths": { + "@/*": ["./src/*"] + } }, - "include": ["src"], + "include": ["src", "./*.d.ts"], "exclude": ["node_modules", "dist"] } diff --git a/packages/ui/tsconfig.lint.json b/packages/ui/tsconfig.lint.json index cca55c95..06cf1b6e 100644 --- a/packages/ui/tsconfig.lint.json +++ b/packages/ui/tsconfig.lint.json @@ -3,6 +3,6 @@ "compilerOptions": { "outDir": "dist" }, - "include": ["src", "./*.config.js"], + "include": ["src", "./*.config.js", "./.eslintrc.js"], "exclude": ["node_modules", "dist"] } diff --git a/packages/ui/turbo/generators/config.ts b/packages/ui/turbo/generators/config.ts deleted file mode 100644 index 40100baa..00000000 --- a/packages/ui/turbo/generators/config.ts +++ /dev/null @@ -1,30 +0,0 @@ -import type { PlopTypes } from "@turbo/gen"; - -// Learn more about Turborepo Generators at https://turbo.build/repo/docs/core-concepts/monorepos/code-generation - -export default function generator(plop: PlopTypes.NodePlopAPI): void { - // A simple generator to add a new React component to the internal UI library - plop.setGenerator("react-component", { - description: "Adds a new react component", - prompts: [ - { - type: "input", - name: "name", - message: "What is the name of the component?", - }, - ], - actions: [ - { - type: "add", - path: "src/{{kebabCase name}}.tsx", - templateFile: "templates/component.hbs", - }, - { - type: "append", - path: "package.json", - pattern: /"exports": {(?)/g, - template: ' "./{{kebabCase name}}": "./src/{{kebabCase name}}.tsx",', - }, - ], - }); -} diff --git a/packages/ui/turbo/generators/templates/component.hbs b/packages/ui/turbo/generators/templates/component.hbs deleted file mode 100644 index d968b9e3..00000000 --- a/packages/ui/turbo/generators/templates/component.hbs +++ /dev/null @@ -1,8 +0,0 @@ -export const {{ pascalCase name }} = ({ children }: { children: React.ReactNode }) => { - return ( -
-

{{ pascalCase name }} Component

- {children} -
- ); -};