Skip to content

Commit 55ae065

Browse files
Merge pull request #685 from aXenDeveloper/feat/progress_bar
feat: Add progress bar
2 parents 2a6e0db + 184a737 commit 55ae065

File tree

6 files changed

+71
-24
lines changed

6 files changed

+71
-24
lines changed

apps/docs/src/examples/tooltip.tsx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,21 @@ import { Button } from "@vitnode/core/components/ui/button";
44
import {
55
Tooltip,
66
TooltipContent,
7+
TooltipProvider,
78
TooltipTrigger,
89
} from "@vitnode/core/components/ui/tooltip";
910

1011
export default function TooltipDemo() {
1112
return (
12-
<Tooltip>
13-
<TooltipTrigger asChild>
14-
<Button variant="outline">Hover</Button>
15-
</TooltipTrigger>
16-
<TooltipContent>
17-
<p>Add to library</p>
18-
</TooltipContent>
19-
</Tooltip>
13+
<TooltipProvider>
14+
<Tooltip>
15+
<TooltipTrigger asChild>
16+
<Button variant="outline">Hover</Button>
17+
</TooltipTrigger>
18+
<TooltipContent>
19+
<p>Add to library</p>
20+
</TooltipContent>
21+
</Tooltip>
22+
</TooltipProvider>
2023
);
2124
}

packages/vitnode/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@
109109
},
110110
"type": "module",
111111
"dependencies": {
112+
"@bprogress/next": "^3.2.12",
112113
"@dnd-kit/core": "^6.3.1",
113114
"@hono/swagger-ui": "^0.5.2",
114115
"@react-email/preview-server": "^5.0.4",

packages/vitnode/src/views/layouts/provider.tsx

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"use client";
22

3+
import { ProgressProvider } from "@bprogress/next/app";
34
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
45
import { ThemeProvider } from "next-themes";
56
import React from "react";
@@ -13,16 +14,11 @@ import { Toaster } from "../../components/ui/sonner";
1314

1415
export const RootProvider = ({
1516
children,
16-
theme,
1717
toaster,
18-
debug,
18+
config: { debug, theme, progressBar },
1919
}: {
2020
children: React.ReactNode;
21-
debug?: VitNodeConfig["debug"];
22-
theme?: Omit<
23-
React.ComponentProps<typeof ThemeProvider>,
24-
"attribute" | "disableTransitionOnChange" | "enableSystem"
25-
>;
21+
config: VitNodeConfig;
2622
toaster?: React.ComponentProps<typeof Toaster>;
2723
}) => {
2824
React.useEffect(() => {
@@ -59,7 +55,18 @@ export const RootProvider = ({
5955
position={toaster?.position ?? "top-center"}
6056
{...toaster}
6157
/>
62-
{children}
58+
<ProgressProvider
59+
{...progressBar}
60+
color={progressBar?.color ?? "var(--primary)"}
61+
height={progressBar?.height ?? "4px"}
62+
shallowRouting={progressBar?.shallowRouting ?? true}
63+
options={{
64+
showSpinner: false,
65+
...progressBar?.options,
66+
}}
67+
>
68+
{children}
69+
</ProgressProvider>
6370
</ThemeProvider>
6471
</QueryClientProvider>
6572
);

packages/vitnode/src/views/layouts/root-layout.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@ export const RootLayout = async ({
4040

4141
return (
4242
<I18nProvider namespaces={[]}>
43-
<RootProvider debug={config.debug} theme={config.theme}>
44-
{children}
45-
</RootProvider>
43+
<RootProvider config={config}>{children}</RootProvider>
4644
</I18nProvider>
4745
);
4846
};

packages/vitnode/src/vitnode.config.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import type { ProgressProvider } from "@bprogress/next/app";
12
import type { drizzle } from "drizzle-orm/postgres-js";
23
import type { ThemeProvider } from "next-themes";
34
import type { IRateLimiterOptions } from "rate-limiter-flexible";
5+
import type React from "react";
46

57
import type { CronAdapter } from "./api/lib/cron";
68
import type { BuildPluginApiReturn } from "./api/lib/plugin";
@@ -26,6 +28,7 @@ export interface VitNodeConfig<
2628
};
2729
metadata: VitNodeApiConfig["metadata"];
2830
plugins: BuildPluginReturn[];
31+
progressBar?: React.ComponentProps<typeof ProgressProvider>;
2932
theme?: Omit<
3033
React.ComponentProps<typeof ThemeProvider>,
3134
"attribute" | "disableTransitionOnChange" | "enableSystem"

pnpm-lock.yaml

Lines changed: 40 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)