@studiocubics/next 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/NextErrorPage/NextErrorPage.d.ts +6 -0
- package/dist/NextErrorPage/NextErrorPage.js +10 -0
- package/dist/NextErrorPage/NextErrorPage.js.map +1 -0
- package/dist/NextErrorPage/NextErrorPage.module.css.js +4 -0
- package/dist/NextErrorPage/NextErrorPage.module.css.js.map +1 -0
- package/dist/NextLoadingPage.d.ts +1 -0
- package/dist/NextLoadingPage.js +15 -0
- package/dist/NextLoadingPage.js.map +1 -0
- package/dist/NextSSRPagination.d.ts +7 -0
- package/dist/NextSSRPagination.js +21 -0
- package/dist/NextSSRPagination.js.map +1 -0
- package/dist/NextSSRThemeToggle.d.ts +1 -0
- package/dist/NextSSRThemeToggle.js +26 -0
- package/dist/NextSSRThemeToggle.js.map +1 -0
- package/{src/NextErrorPage/NextErrorPage.module.css → dist/index.css} +4 -4
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/package.json +8 -8
- package/rollup.config.js +1 -1
- package/.turbo/turbo-build.log +0 -7
- package/CHANGELOG.md +0 -9
- package/eslint.config.js +0 -21
- package/src/NextErrorPage/NextErrorPage.tsx +0 -31
- package/src/NextLoadingPage.tsx +0 -16
- package/src/NextSSRPagination.tsx +0 -30
- package/src/NextSSRThemeToggle.tsx +0 -105
- package/src/declaration.d.ts +0 -4
- package/tsconfig.json +0 -32
- /package/{src/index.ts → dist/index.d.ts} +0 -0
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { GlassCard, Button } from '@studiocubics/components';
|
|
3
|
+
import styles from './NextErrorPage.module.css.js';
|
|
4
|
+
|
|
5
|
+
function NextErrorPage({ error, reset, }) {
|
|
6
|
+
return (jsxs("div", { className: styles.root, children: [jsx("h1", { children: "Oops!" }), jsx("p", { className: styles.message, children: error.message || "Something went wrong!" }), jsx("p", { className: styles.tip, children: "Try refreshing the page from your browser, or contact an admin if the retry button below doesnt work!" }), jsx(GlassCard, { style: { "--glass-tint": "var(--color-error)" }, children: jsx(Button, { color: "error", onClick: () => reset(), children: "Retry" }) })] }));
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { NextErrorPage };
|
|
10
|
+
//# sourceMappingURL=NextErrorPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextErrorPage.js","sources":["../../src/NextErrorPage/NextErrorPage.tsx"],"sourcesContent":["import { Button, GlassCard } from \"@studiocubics/components\";\nimport styles from \"./NextErrorPage.module.css\";\nimport type { CSSProperties } from \"react\";\n\nexport function NextErrorPage({\n error,\n reset,\n}: {\n error: Error & { digest?: string };\n reset: () => void;\n}) {\n return (\n <div className={styles.root}>\n <h1>Oops!</h1>\n <p className={styles.message}>\n {error.message || \"Something went wrong!\"}\n </p>\n <p className={styles.tip}>\n Try refreshing the page from your browser, or contact an admin if the\n retry button below doesnt work!\n </p>\n <GlassCard\n style={{ \"--glass-tint\": \"var(--color-error)\" } as CSSProperties}\n >\n <Button color=\"error\" onClick={() => reset()}>\n Retry\n </Button>\n </GlassCard>\n </div>\n );\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;;;SAIgB,aAAa,CAAC,EAC5B,KAAK,EACL,KAAK,GAIN,EAAA;AACC,IAAA,QACEA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,IAAI,EAAA,QAAA,EAAA,CACzBC,GAAA,CAAA,IAAA,EAAA,EAAA,QAAA,EAAA,OAAA,EAAA,CAAc,EACdA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAE,MAAM,CAAC,OAAO,EAAA,QAAA,EACzB,KAAK,CAAC,OAAO,IAAI,uBAAuB,EAAA,CACvC,EACJA,GAAA,CAAA,GAAA,EAAA,EAAG,SAAS,EAAE,MAAM,CAAC,GAAG,EAAA,QAAA,EAAA,uGAAA,EAAA,CAGpB,EACJA,GAAA,CAAC,SAAS,EAAA,EACR,KAAK,EAAE,EAAE,cAAc,EAAE,oBAAoB,EAAmB,EAAA,QAAA,EAEhEA,GAAA,CAAC,MAAM,EAAA,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAE,MAAM,KAAK,EAAE,EAAA,QAAA,EAAA,OAAA,EAAA,CAEnC,EAAA,CACC,CAAA,EAAA,CACR;AAEV;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextErrorPage.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function NextLoadingPage(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Spinner } from '@studiocubics/components';
|
|
3
|
+
|
|
4
|
+
function NextLoadingPage() {
|
|
5
|
+
return (jsx("div", { style: {
|
|
6
|
+
width: "100%",
|
|
7
|
+
height: "100%",
|
|
8
|
+
display: "flex",
|
|
9
|
+
justifyContent: "center",
|
|
10
|
+
alignItems: "center",
|
|
11
|
+
}, children: jsx(Spinner, { width: 48, height: 48 }) }));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { NextLoadingPage };
|
|
15
|
+
//# sourceMappingURL=NextLoadingPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextLoadingPage.js","sources":["../src/NextLoadingPage.tsx"],"sourcesContent":["import { Spinner } from \"@studiocubics/components\";\nexport function NextLoadingPage() {\n return (\n <div\n style={{\n width: \"100%\",\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n }}\n >\n <Spinner width={48} height={48} />\n </div>\n );\n}\n"],"names":["_jsx"],"mappings":";;;SACgB,eAAe,GAAA;IAC7B,QACEA,GAAA,CAAA,KAAA,EAAA,EACE,KAAK,EAAE;AACL,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,cAAc,EAAE,QAAQ;AACxB,YAAA,UAAU,EAAE,QAAQ;AACrB,SAAA,EAAA,QAAA,EAEDA,GAAA,CAAC,OAAO,EAAA,EAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAA,CAAI,EAAA,CAC9B;AAEV;;;;"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { Pagination } from '@studiocubics/components';
|
|
4
|
+
import { useRouter, useSearchParams } from 'next/navigation';
|
|
5
|
+
|
|
6
|
+
function NextSSRPagination({ page, total, limit, paramKey = "page", }) {
|
|
7
|
+
const router = useRouter();
|
|
8
|
+
const params = useSearchParams();
|
|
9
|
+
const pageCount = Math.ceil(total / limit);
|
|
10
|
+
const handleChange = (value) => {
|
|
11
|
+
const sp = new URLSearchParams(params.toString());
|
|
12
|
+
sp.set(paramKey, String(value));
|
|
13
|
+
router.push(`?${sp.toString()}`);
|
|
14
|
+
};
|
|
15
|
+
if (pageCount == 1)
|
|
16
|
+
return;
|
|
17
|
+
return jsx(Pagination, { count: pageCount, page: page, onChange: handleChange });
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { NextSSRPagination };
|
|
21
|
+
//# sourceMappingURL=NextSSRPagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextSSRPagination.js","sources":["../src/NextSSRPagination.tsx"],"sourcesContent":["\"use client\";\n\nimport { Pagination } from \"@studiocubics/components\";\nimport { useRouter, useSearchParams } from \"next/navigation\";\n\nexport type PaginationParams = {\n page: number;\n total: number;\n limit: number;\n paramKey?: string;\n};\nexport function NextSSRPagination({\n page,\n total,\n limit,\n paramKey = \"page\",\n}: PaginationParams) {\n const router = useRouter();\n const params = useSearchParams();\n\n const pageCount = Math.ceil(total / limit);\n\n const handleChange = (value: number) => {\n const sp = new URLSearchParams(params.toString());\n sp.set(paramKey, String(value));\n router.push(`?${sp.toString()}`);\n };\n if (pageCount == 1) return;\n return <Pagination count={pageCount} page={page} onChange={handleChange} />;\n}\n"],"names":["_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function NextSSRThemeToggle(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { useState, useEffect } from 'react';
|
|
4
|
+
import { useTheme } from 'next-themes';
|
|
5
|
+
import { Tooltip, Button } from '@studiocubics/components';
|
|
6
|
+
|
|
7
|
+
const Moon = (props) => {
|
|
8
|
+
return (jsx("svg", { ...props, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", children: jsx("path", { d: "M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401" }) }));
|
|
9
|
+
};
|
|
10
|
+
const Sun = (props) => {
|
|
11
|
+
return (jsxs("svg", { ...props, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", children: [jsx("circle", { cx: "12", cy: "12", r: "4" }), jsx("path", { d: "M12 2v2" }), jsx("path", { d: "M12 20v2" }), jsx("path", { d: "m4.93 4.93 1.41 1.41" }), jsx("path", { d: "m17.66 17.66 1.41 1.41" }), jsx("path", { d: "M2 12h2" }), jsx("path", { d: "M20 12h2" }), jsx("path", { d: "m6.34 17.66-1.41 1.41" }), jsx("path", { d: "m19.07 4.93-1.41 1.41" })] }));
|
|
12
|
+
};
|
|
13
|
+
const SunMoon = (props) => {
|
|
14
|
+
return (jsxs("svg", { ...props, xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round", children: [jsx("path", { d: "M12 2v2" }), jsx("path", { d: "M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715" }), jsx("path", { d: "M16 12a4 4 0 0 0-4-4" }), jsx("path", { d: "m19 5-1.256 1.256" }), jsx("path", { d: "M20 12h2" })] }));
|
|
15
|
+
};
|
|
16
|
+
function NextSSRThemeToggle() {
|
|
17
|
+
const [mounted, setMounted] = useState(false);
|
|
18
|
+
const { theme, setTheme } = useTheme();
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
setMounted(true);
|
|
21
|
+
}, []);
|
|
22
|
+
return (jsx(Tooltip, { renderArrow: true, title: theme == "light" ? "Licht" : theme == "dark" ? "Donker" : "Systeem", children: jsx(Button, { square: true, onClick: () => setTheme(theme == "system" ? "dark" : theme == "dark" ? "light" : "system"), children: mounted ? (theme == "dark" ? (jsx(Sun, {})) : theme == "light" ? (jsx(Moon, {})) : (jsx(SunMoon, {}))) : (jsx(Moon, { opacity: 0.5 })) }) }));
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { NextSSRThemeToggle };
|
|
26
|
+
//# sourceMappingURL=NextSSRThemeToggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NextSSRThemeToggle.js","sources":["../src/NextSSRThemeToggle.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useState, type ComponentProps } from \"react\";\nimport { useTheme } from \"next-themes\";\nimport { Tooltip, Button } from \"@studiocubics/components\";\n\nconst Moon = (props: ComponentProps<\"svg\">) => {\n return (\n <svg\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\" />\n </svg>\n );\n};\nconst Sun = (props: ComponentProps<\"svg\">) => {\n return (\n <svg\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <circle cx=\"12\" cy=\"12\" r=\"4\" />\n <path d=\"M12 2v2\" />\n <path d=\"M12 20v2\" />\n <path d=\"m4.93 4.93 1.41 1.41\" />\n <path d=\"m17.66 17.66 1.41 1.41\" />\n <path d=\"M2 12h2\" />\n <path d=\"M20 12h2\" />\n <path d=\"m6.34 17.66-1.41 1.41\" />\n <path d=\"m19.07 4.93-1.41 1.41\" />\n </svg>\n );\n};\nconst SunMoon = (props: ComponentProps<\"svg\">) => {\n return (\n <svg\n {...props}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n >\n <path d=\"M12 2v2\" />\n <path d=\"M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715\" />\n <path d=\"M16 12a4 4 0 0 0-4-4\" />\n <path d=\"m19 5-1.256 1.256\" />\n <path d=\"M20 12h2\" />\n </svg>\n );\n};\n\nexport function NextSSRThemeToggle() {\n const [mounted, setMounted] = useState(false);\n const { theme, setTheme } = useTheme();\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n return (\n <Tooltip\n renderArrow\n title={\n theme == \"light\" ? \"Licht\" : theme == \"dark\" ? \"Donker\" : \"Systeem\"\n }\n >\n <Button\n square\n onClick={() =>\n setTheme(\n theme == \"system\" ? \"dark\" : theme == \"dark\" ? \"light\" : \"system\",\n )\n }\n >\n {mounted ? (\n theme == \"dark\" ? (\n <Sun />\n ) : theme == \"light\" ? (\n <Moon />\n ) : (\n <SunMoon />\n )\n ) : (\n <Moon opacity={0.5} />\n )}\n </Button>\n </Tooltip>\n );\n}\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.
|
|
1
|
+
.NextErrorPage-module_root__sQ4Rl {
|
|
2
2
|
width: 100%;
|
|
3
3
|
height: 100%;
|
|
4
4
|
display: flex;
|
|
@@ -13,18 +13,18 @@
|
|
|
13
13
|
color: var(--color-background);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
.
|
|
16
|
+
.NextErrorPage-module_message__Z8x-N {
|
|
17
17
|
max-width: 100%;
|
|
18
18
|
font-weight: bold;
|
|
19
19
|
text-align: center;
|
|
20
20
|
}
|
|
21
|
-
.
|
|
21
|
+
.NextErrorPage-module_tip__ev8E7 {
|
|
22
22
|
max-width: 100%;
|
|
23
23
|
font-size: var(--fs-body2);
|
|
24
24
|
color: var(--color-on-background-faint);
|
|
25
25
|
}
|
|
26
26
|
@media (min-width: 600px) {
|
|
27
|
-
.
|
|
27
|
+
.NextErrorPage-module_root__sQ4Rl {
|
|
28
28
|
& > h1 {
|
|
29
29
|
font-size: 10vw;
|
|
30
30
|
}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { NextErrorPage } from './NextErrorPage/NextErrorPage.js';
|
|
2
|
+
export { NextLoadingPage } from './NextLoadingPage.js';
|
|
3
|
+
export { NextSSRPagination } from './NextSSRPagination.js';
|
|
4
|
+
export { NextSSRThemeToggle } from './NextSSRThemeToggle.js';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
7
|
"private": false,
|
|
8
|
-
"version": "0.0.
|
|
8
|
+
"version": "0.0.2",
|
|
9
9
|
"keywords": [
|
|
10
10
|
"@studiocubics",
|
|
11
11
|
"cubics",
|
|
@@ -31,15 +31,15 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"next-themes": "^0.4.6",
|
|
34
|
-
"@studiocubics/
|
|
34
|
+
"@studiocubics/components": "^0.0.2"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@eslint/js": "^9.39.1",
|
|
38
38
|
"@rollup/plugin-terser": "^0.4.4",
|
|
39
39
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
40
40
|
"@types/node": "^24.10.1",
|
|
41
|
-
"@types/react": "^19
|
|
42
|
-
"@types/react-dom": "^19
|
|
41
|
+
"@types/react": "^19",
|
|
42
|
+
"@types/react-dom": "^19",
|
|
43
43
|
"eslint": "^9.39.1",
|
|
44
44
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
45
45
|
"globals": "^16.5.0",
|
|
@@ -56,10 +56,10 @@
|
|
|
56
56
|
"typescript": "^5.9.3"
|
|
57
57
|
},
|
|
58
58
|
"peerDependencies": {
|
|
59
|
-
"babel-plugin-react-compiler": ">= 1
|
|
60
|
-
"next": ">= 16
|
|
61
|
-
"react": ">= 19
|
|
62
|
-
"react-dom": ">= 19
|
|
59
|
+
"babel-plugin-react-compiler": ">= 1",
|
|
60
|
+
"next": ">= 16",
|
|
61
|
+
"react": ">= 19",
|
|
62
|
+
"react-dom": ">= 19",
|
|
63
63
|
"typescript": ">= 5"
|
|
64
64
|
},
|
|
65
65
|
"scripts": {
|
package/rollup.config.js
CHANGED
package/.turbo/turbo-build.log
DELETED
package/CHANGELOG.md
DELETED
package/eslint.config.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import js from "@eslint/js";
|
|
2
|
-
import globals from "globals";
|
|
3
|
-
import reactHooks from "eslint-plugin-react-hooks";
|
|
4
|
-
import tseslint from "typescript-eslint";
|
|
5
|
-
import { defineConfig, globalIgnores } from "eslint/config";
|
|
6
|
-
|
|
7
|
-
export default defineConfig([
|
|
8
|
-
globalIgnores(["dist"]),
|
|
9
|
-
{
|
|
10
|
-
files: ["**/*.{ts,tsx}"],
|
|
11
|
-
extends: [
|
|
12
|
-
js.configs.recommended,
|
|
13
|
-
tseslint.configs.recommended,
|
|
14
|
-
reactHooks.configs.flat.recommended,
|
|
15
|
-
],
|
|
16
|
-
languageOptions: {
|
|
17
|
-
ecmaVersion: 2020,
|
|
18
|
-
globals: globals.browser,
|
|
19
|
-
},
|
|
20
|
-
},
|
|
21
|
-
]);
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Button, GlassCard } from "@studiocubics/ui";
|
|
2
|
-
import styles from "./NextErrorPage.module.css";
|
|
3
|
-
import type { CSSProperties } from "react";
|
|
4
|
-
|
|
5
|
-
export function NextErrorPage({
|
|
6
|
-
error,
|
|
7
|
-
reset,
|
|
8
|
-
}: {
|
|
9
|
-
error: Error & { digest?: string };
|
|
10
|
-
reset: () => void;
|
|
11
|
-
}) {
|
|
12
|
-
return (
|
|
13
|
-
<div className={styles.root}>
|
|
14
|
-
<h1>Oops!</h1>
|
|
15
|
-
<p className={styles.message}>
|
|
16
|
-
{error.message || "Something went wrong!"}
|
|
17
|
-
</p>
|
|
18
|
-
<p className={styles.tip}>
|
|
19
|
-
Try refreshing the page from your browser, or contact an admin if the
|
|
20
|
-
retry button below doesnt work!
|
|
21
|
-
</p>
|
|
22
|
-
<GlassCard
|
|
23
|
-
style={{ "--glass-tint": "var(--color-error)" } as CSSProperties}
|
|
24
|
-
>
|
|
25
|
-
<Button color="error" onClick={() => reset()}>
|
|
26
|
-
Retry
|
|
27
|
-
</Button>
|
|
28
|
-
</GlassCard>
|
|
29
|
-
</div>
|
|
30
|
-
);
|
|
31
|
-
}
|
package/src/NextLoadingPage.tsx
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Spinner } from "@studiocubics/ui";
|
|
2
|
-
export function NextLoadingPage() {
|
|
3
|
-
return (
|
|
4
|
-
<div
|
|
5
|
-
style={{
|
|
6
|
-
width: "100%",
|
|
7
|
-
height: "100%",
|
|
8
|
-
display: "flex",
|
|
9
|
-
justifyContent: "center",
|
|
10
|
-
alignItems: "center",
|
|
11
|
-
}}
|
|
12
|
-
>
|
|
13
|
-
<Spinner width={48} height={48} />
|
|
14
|
-
</div>
|
|
15
|
-
);
|
|
16
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { Pagination } from "@studiocubics/ui";
|
|
4
|
-
import { useRouter, useSearchParams } from "next/navigation";
|
|
5
|
-
|
|
6
|
-
export type PaginationParams = {
|
|
7
|
-
page: number;
|
|
8
|
-
total: number;
|
|
9
|
-
limit: number;
|
|
10
|
-
paramKey?: string;
|
|
11
|
-
};
|
|
12
|
-
export function NextSSRPagination({
|
|
13
|
-
page,
|
|
14
|
-
total,
|
|
15
|
-
limit,
|
|
16
|
-
paramKey = "page",
|
|
17
|
-
}: PaginationParams) {
|
|
18
|
-
const router = useRouter();
|
|
19
|
-
const params = useSearchParams();
|
|
20
|
-
|
|
21
|
-
const pageCount = Math.ceil(total / limit);
|
|
22
|
-
|
|
23
|
-
const handleChange = (value: number) => {
|
|
24
|
-
const sp = new URLSearchParams(params.toString());
|
|
25
|
-
sp.set(paramKey, String(value));
|
|
26
|
-
router.push(`?${sp.toString()}`);
|
|
27
|
-
};
|
|
28
|
-
if (pageCount == 1) return;
|
|
29
|
-
return <Pagination count={pageCount} page={page} onChange={handleChange} />;
|
|
30
|
-
}
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
|
|
3
|
-
import { useEffect, useState, type ComponentProps } from "react";
|
|
4
|
-
import { useTheme } from "next-themes";
|
|
5
|
-
import { Tooltip, Button } from "@studiocubics/ui";
|
|
6
|
-
|
|
7
|
-
const Moon = (props: ComponentProps<"svg">) => {
|
|
8
|
-
return (
|
|
9
|
-
<svg
|
|
10
|
-
{...props}
|
|
11
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
12
|
-
viewBox="0 0 24 24"
|
|
13
|
-
fill="none"
|
|
14
|
-
stroke="currentColor"
|
|
15
|
-
stroke-width="2"
|
|
16
|
-
stroke-linecap="round"
|
|
17
|
-
stroke-linejoin="round"
|
|
18
|
-
>
|
|
19
|
-
<path d="M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401" />
|
|
20
|
-
</svg>
|
|
21
|
-
);
|
|
22
|
-
};
|
|
23
|
-
const Sun = (props: ComponentProps<"svg">) => {
|
|
24
|
-
return (
|
|
25
|
-
<svg
|
|
26
|
-
{...props}
|
|
27
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
28
|
-
viewBox="0 0 24 24"
|
|
29
|
-
fill="none"
|
|
30
|
-
stroke="currentColor"
|
|
31
|
-
stroke-width="2"
|
|
32
|
-
stroke-linecap="round"
|
|
33
|
-
stroke-linejoin="round"
|
|
34
|
-
>
|
|
35
|
-
<circle cx="12" cy="12" r="4" />
|
|
36
|
-
<path d="M12 2v2" />
|
|
37
|
-
<path d="M12 20v2" />
|
|
38
|
-
<path d="m4.93 4.93 1.41 1.41" />
|
|
39
|
-
<path d="m17.66 17.66 1.41 1.41" />
|
|
40
|
-
<path d="M2 12h2" />
|
|
41
|
-
<path d="M20 12h2" />
|
|
42
|
-
<path d="m6.34 17.66-1.41 1.41" />
|
|
43
|
-
<path d="m19.07 4.93-1.41 1.41" />
|
|
44
|
-
</svg>
|
|
45
|
-
);
|
|
46
|
-
};
|
|
47
|
-
const SunMoon = (props: ComponentProps<"svg">) => {
|
|
48
|
-
return (
|
|
49
|
-
<svg
|
|
50
|
-
{...props}
|
|
51
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
52
|
-
viewBox="0 0 24 24"
|
|
53
|
-
fill="none"
|
|
54
|
-
stroke="currentColor"
|
|
55
|
-
stroke-width="2"
|
|
56
|
-
stroke-linecap="round"
|
|
57
|
-
stroke-linejoin="round"
|
|
58
|
-
>
|
|
59
|
-
<path d="M12 2v2" />
|
|
60
|
-
<path d="M14.837 16.385a6 6 0 1 1-7.223-7.222c.624-.147.97.66.715 1.248a4 4 0 0 0 5.26 5.259c.589-.255 1.396.09 1.248.715" />
|
|
61
|
-
<path d="M16 12a4 4 0 0 0-4-4" />
|
|
62
|
-
<path d="m19 5-1.256 1.256" />
|
|
63
|
-
<path d="M20 12h2" />
|
|
64
|
-
</svg>
|
|
65
|
-
);
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
export function NextSSRThemeToggle() {
|
|
69
|
-
const [mounted, setMounted] = useState(false);
|
|
70
|
-
const { theme, setTheme } = useTheme();
|
|
71
|
-
|
|
72
|
-
useEffect(() => {
|
|
73
|
-
setMounted(true);
|
|
74
|
-
}, []);
|
|
75
|
-
|
|
76
|
-
return (
|
|
77
|
-
<Tooltip
|
|
78
|
-
renderArrow
|
|
79
|
-
title={
|
|
80
|
-
theme == "light" ? "Licht" : theme == "dark" ? "Donker" : "Systeem"
|
|
81
|
-
}
|
|
82
|
-
>
|
|
83
|
-
<Button
|
|
84
|
-
square
|
|
85
|
-
onClick={() =>
|
|
86
|
-
setTheme(
|
|
87
|
-
theme == "system" ? "dark" : theme == "dark" ? "light" : "system",
|
|
88
|
-
)
|
|
89
|
-
}
|
|
90
|
-
>
|
|
91
|
-
{mounted ? (
|
|
92
|
-
theme == "dark" ? (
|
|
93
|
-
<Sun />
|
|
94
|
-
) : theme == "light" ? (
|
|
95
|
-
<Moon />
|
|
96
|
-
) : (
|
|
97
|
-
<SunMoon />
|
|
98
|
-
)
|
|
99
|
-
) : (
|
|
100
|
-
<Moon opacity={0.5} />
|
|
101
|
-
)}
|
|
102
|
-
</Button>
|
|
103
|
-
</Tooltip>
|
|
104
|
-
);
|
|
105
|
-
}
|
package/src/declaration.d.ts
DELETED
package/tsconfig.json
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"compilerOptions": {
|
|
3
|
-
"tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
|
|
4
|
-
"target": "ES2022",
|
|
5
|
-
"useDefineForClassFields": true,
|
|
6
|
-
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
7
|
-
"module": "ESNext",
|
|
8
|
-
"resolveJsonModule": true,
|
|
9
|
-
"allowJs": true,
|
|
10
|
-
"skipLibCheck": true,
|
|
11
|
-
|
|
12
|
-
/* Bundler mode */
|
|
13
|
-
"moduleResolution": "bundler",
|
|
14
|
-
"verbatimModuleSyntax": true,
|
|
15
|
-
"moduleDetection": "force",
|
|
16
|
-
"noEmit": true,
|
|
17
|
-
"jsx": "react-jsx",
|
|
18
|
-
// Output
|
|
19
|
-
"declaration": true,
|
|
20
|
-
"outDir": "./dist",
|
|
21
|
-
"rootDir": "./src",
|
|
22
|
-
|
|
23
|
-
/* Linting */
|
|
24
|
-
"strict": true,
|
|
25
|
-
"noUnusedLocals": true,
|
|
26
|
-
"noUnusedParameters": true,
|
|
27
|
-
"erasableSyntaxOnly": true,
|
|
28
|
-
"noFallthroughCasesInSwitch": true,
|
|
29
|
-
"noUncheckedSideEffectImports": true
|
|
30
|
-
},
|
|
31
|
-
"include": ["./src"]
|
|
32
|
-
}
|
|
File without changes
|