+
+ Show
+
+
+ {startElement}-{endElement} of {totalElements} units
+
+
+
+
+
+
+
+ {Array.from({ length: totalPages }, (_, i) => (
+
+ )).slice(Math.max(0, currentPage - 1), Math.min(totalPages, currentPage + 2))}
+
+
+
+
+
+ );
+};
+
+export default Pagination;
diff --git a/counter-frontend/src/index.css b/counter-frontend/src/index.css
new file mode 100644
index 00000000..52267e03
--- /dev/null
+++ b/counter-frontend/src/index.css
@@ -0,0 +1,8 @@
+@import "tailwindcss";
+
+@theme {
+ --color-primary: #231651;
+ --color-secondary: #64748b;
+ --color-background: #f8fafc;
+ --font-inter: "Inter", sans-serif;
+}
diff --git a/counter-frontend/src/main.tsx b/counter-frontend/src/main.tsx
new file mode 100644
index 00000000..bef5202a
--- /dev/null
+++ b/counter-frontend/src/main.tsx
@@ -0,0 +1,10 @@
+import { StrictMode } from 'react'
+import { createRoot } from 'react-dom/client'
+import './index.css'
+import App from './App.tsx'
+
+createRoot(document.getElementById('root')!).render(
+