/* 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 { status } = useSession();
  useTheme();

  useEffect(() => {
    if (status === 'authenticated') {
      redirect('/profile');
    }

    if (status === 'unauthenticated' && process.env.NODE_ENV === 'development') {
      getTelegramUser().then((user) => {
        signIn('telegram', {
          callbackUrl: '/profile',
          redirect: false,
          telegramId: user?.id,
        });
      });
    }
  }, [status]);

  return <LoadingSpinner />;
}
