diff --git a/apps/web/app/(auth)/browser/page.tsx b/apps/web/app/(auth)/browser/page.tsx
index 518948f..a989110 100644
--- a/apps/web/app/(auth)/browser/page.tsx
+++ b/apps/web/app/(auth)/browser/page.tsx
@@ -1,13 +1,14 @@
/* eslint-disable promise/prefer-await-to-then */
'use client';
import { getTelegramUser } from '@/mocks/get-telegram-user';
+import { LoadingSpinner } from '@repo/ui/components/ui/spinner';
import { signIn, useSession } from 'next-auth/react';
import { useTheme } from 'next-themes';
import { redirect } from 'next/navigation';
import { useEffect } from 'react';
export default function Auth() {
- const { data: session, status } = useSession();
+ const { status } = useSession();
useTheme();
useEffect(() => {
@@ -26,19 +27,5 @@ export default function Auth() {
}
}, [status]);
- if (status === 'loading') {
- return
Loading Browser Auth...
;
- }
-
- return (
-
- {session ? (
-
- Browser Hello, {JSON.stringify(session)}
-
- ) : (
-
Not authenticated
- )}
-
- );
+ return ;
}
diff --git a/apps/web/app/(auth)/page.tsx b/apps/web/app/(auth)/page.tsx
index ce86f35..a8bb59c 100644
--- a/apps/web/app/(auth)/page.tsx
+++ b/apps/web/app/(auth)/page.tsx
@@ -11,6 +11,4 @@ export default function Page() {
redirect(isTG ? '/telegram' : '/browser');
});
-
- return {isTG ? 'Telegram Mode' : 'Browser Mode'}
;
}
diff --git a/apps/web/app/(auth)/telegram/page.tsx b/apps/web/app/(auth)/telegram/page.tsx
index 4ce962d..3ac0030 100644
--- a/apps/web/app/(auth)/telegram/page.tsx
+++ b/apps/web/app/(auth)/telegram/page.tsx
@@ -1,4 +1,5 @@
'use client';
+import { LoadingSpinner } from '@repo/ui/components/ui/spinner';
import { initData, isMiniAppDark, useSignal } from '@telegram-apps/sdk-react';
import { signIn, useSession } from 'next-auth/react';
import { useTheme } from 'next-themes';
@@ -8,7 +9,7 @@ import { useEffect } from 'react';
export default function Auth() {
const initDataUser = useSignal(initData.user);
const isDark = isMiniAppDark();
- const { data: session, status } = useSession();
+ const { status } = useSession();
const { setTheme } = useTheme();
useEffect(() => {
@@ -27,20 +28,5 @@ export default function Auth() {
}
}, [initDataUser, isDark, setTheme, status]);
- if (status === 'loading') {
- return Loading Auth...
;
- }
-
- return (
-
- {session ? (
-
- Hello, {JSON.stringify(session)}
- Dark: {JSON.stringify(isDark)}
-
- ) : (
-
Not authenticated
- )}
-
- );
+ return ;
}
diff --git a/packages/ui/src/components/ui/spinner.tsx b/packages/ui/src/components/ui/spinner.tsx
new file mode 100644
index 0000000..dbb582f
--- /dev/null
+++ b/packages/ui/src/components/ui/spinner.tsx
@@ -0,0 +1,21 @@
+import { cn } from '@repo/ui/lib/utils';
+import { Loader2 } from 'lucide-react';
+
+type LoadingSpinnerProps = React.HTMLAttributes & {
+ readonly size?: 'lg' | 'md' | 'sm';
+};
+
+export function LoadingSpinner({ className, size = 'md', ...props }: LoadingSpinnerProps) {
+ return (
+
+
+ Loading...
+
+ );
+}