apps/web: support dark theme in tma
This commit is contained in:
parent
d8704aa4b5
commit
f3cb557ab0
@ -2,11 +2,13 @@
|
||||
'use client';
|
||||
import { getTelegramUser } from '@/mocks/get-telegram-user';
|
||||
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();
|
||||
useTheme();
|
||||
|
||||
useEffect(() => {
|
||||
if (status === 'authenticated') {
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
'use client';
|
||||
import { initData, isMiniAppDark, useSignal } from '@telegram-apps/sdk-react';
|
||||
import { signIn, useSession } from 'next-auth/react';
|
||||
import { useTheme } from 'next-themes';
|
||||
import { redirect } from 'next/navigation';
|
||||
import { useEffect } from 'react';
|
||||
|
||||
@ -8,8 +9,11 @@ export default function Auth() {
|
||||
const initDataUser = useSignal(initData.user);
|
||||
const isDark = isMiniAppDark();
|
||||
const { data: session, status } = useSession();
|
||||
const { setTheme } = useTheme();
|
||||
|
||||
useEffect(() => {
|
||||
setTheme(isDark ? 'dark' : 'light');
|
||||
|
||||
if (status === 'authenticated') {
|
||||
redirect('/profile');
|
||||
}
|
||||
@ -21,7 +25,7 @@ export default function Auth() {
|
||||
telegramId: String(initDataUser.id),
|
||||
});
|
||||
}
|
||||
}, [initDataUser, status]);
|
||||
}, [initDataUser, isDark, setTheme, status]);
|
||||
|
||||
if (status === 'loading') {
|
||||
return <div>Loading Auth...</div>;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
'use client';
|
||||
import { ThemeProvider as NextThemesProvider, useTheme } from 'next-themes';
|
||||
import { ThemeProvider as NextThemesProvider } from 'next-themes';
|
||||
import { type ComponentProps, useEffect, useState } from 'react';
|
||||
|
||||
/**
|
||||
@ -10,7 +10,6 @@ export function ThemeProvider({
|
||||
...props
|
||||
}: Readonly<ComponentProps<typeof NextThemesProvider>>) {
|
||||
const [mounted, setMounted] = useState(false);
|
||||
useTheme();
|
||||
|
||||
useEffect(() => {
|
||||
setMounted(true);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user