diff --git a/services/frontend/bun.lockb b/services/frontend/bun.lockb
index 2c7d5b0..33f5a81 100644
Binary files a/services/frontend/bun.lockb and b/services/frontend/bun.lockb differ
diff --git a/services/frontend/eslint.config.js b/services/frontend/eslint.config.js
index 092408a..faa2e37 100644
--- a/services/frontend/eslint.config.js
+++ b/services/frontend/eslint.config.js
@@ -1,28 +1,25 @@
-import js from '@eslint/js'
-import globals from 'globals'
-import reactHooks from 'eslint-plugin-react-hooks'
-import reactRefresh from 'eslint-plugin-react-refresh'
-import tseslint from 'typescript-eslint'
+import js from "@eslint/js";
+import globals from "globals";
+import reactHooks from "eslint-plugin-react-hooks";
+import reactRefresh from "eslint-plugin-react-refresh";
+import tseslint from "typescript-eslint";
export default tseslint.config(
- { ignores: ['dist'] },
+ { ignores: ["dist"] },
{
extends: [js.configs.recommended, ...tseslint.configs.recommended],
- files: ['**/*.{ts,tsx}'],
+ files: ["**/*.{ts,tsx}"],
languageOptions: {
ecmaVersion: 2020,
globals: globals.browser,
},
plugins: {
- 'react-hooks': reactHooks,
- 'react-refresh': reactRefresh,
+ "react-hooks": reactHooks,
+ "react-refresh": reactRefresh,
},
rules: {
...reactHooks.configs.recommended.rules,
- 'react-refresh/only-export-components': [
- 'warn',
- { allowConstantExport: true },
- ],
+ "react-refresh/only-export-components": null,
},
},
-)
+);
diff --git a/services/frontend/package.json b/services/frontend/package.json
index b216311..59286e8 100644
--- a/services/frontend/package.json
+++ b/services/frontend/package.json
@@ -18,6 +18,7 @@
"ofetch": "^1.4.1",
"react": "^19.0.0",
"react-dom": "^19.0.0",
+ "react-router": "^7.2.0",
"tailwind-merge": "^3.0.2",
"tailwindcss": "^4.0.9",
"tailwindcss-animate": "^1.0.7"
diff --git a/services/frontend/src/App.tsx b/services/frontend/src/App.tsx
index d429bd4..daf09bc 100644
--- a/services/frontend/src/App.tsx
+++ b/services/frontend/src/App.tsx
@@ -1,3 +1,6 @@
+import { Routes } from "react-router";
+import "./styles/globals.css";
+
export default function App() {
- return <>Hello world yopta>;
+ return ;
}
diff --git a/services/frontend/src/components/ui/button.tsx b/services/frontend/src/components/ui/button.tsx
index e1b5d8a..49dcad9 100644
--- a/services/frontend/src/components/ui/button.tsx
+++ b/services/frontend/src/components/ui/button.tsx
@@ -1,8 +1,8 @@
-import * as React from "react"
-import { Slot } from "@radix-ui/react-slot"
-import { cva, type VariantProps } from "class-variance-authority"
+import * as React from "react";
+import { Slot } from "@radix-ui/react-slot";
+import { cva, type VariantProps } from "class-variance-authority";
-import { cn } from "@/lib/utils"
+import { cn } from "@/shared/lib/utils";
const buttonVariants = cva(
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-[color,box-shadow] disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
@@ -31,8 +31,8 @@ const buttonVariants = cva(
variant: "default",
size: "default",
},
- }
-)
+ },
+);
function Button({
className,
@@ -42,9 +42,9 @@ function Button({
...props
}: React.ComponentProps<"button"> &
VariantProps & {
- asChild?: boolean
+ asChild?: boolean;
}) {
- const Comp = asChild ? Slot : "button"
+ const Comp = asChild ? Slot : "button";
return (
- )
+ );
}
-export { Button, buttonVariants }
+export { Button, buttonVariants };
diff --git a/services/frontend/src/main.tsx b/services/frontend/src/main.tsx
index d0a91b1..f046499 100644
--- a/services/frontend/src/main.tsx
+++ b/services/frontend/src/main.tsx
@@ -1,10 +1,12 @@
import { StrictMode } from "react";
import { createRoot } from "react-dom/client";
-import "./styles/globals.css";
+import { BrowserRouter } from "react-router";
import App from "./App.tsx";
createRoot(document.getElementById("root")!).render(
-
+
+
+
,
);
diff --git a/services/frontend/src/pages/.gitkeep b/services/frontend/src/pages/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/services/frontend/src/lib/utils.ts b/services/frontend/src/shared/lib/utils.ts
similarity index 100%
rename from services/frontend/src/lib/utils.ts
rename to services/frontend/src/shared/lib/utils.ts