diff --git a/android/app/capacitor.build.gradle b/android/app/capacitor.build.gradle index b115bcf..d9733c6 100644 --- a/android/app/capacitor.build.gradle +++ b/android/app/capacitor.build.gradle @@ -10,6 +10,7 @@ android { apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle" dependencies { implementation project(':capacitor-keyboard') + implementation project(':capacitor-splash-screen') } diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index b467a2d..f05581a 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,4 +1,3 @@ - diff --git a/android/app/src/main/java/com/lovable/zellyfinance/MainActivity.java b/android/app/src/main/java/com/lovable/zellyfinance/MainActivity.java index 525207d..05e0ffc 100644 --- a/android/app/src/main/java/com/lovable/zellyfinance/MainActivity.java +++ b/android/app/src/main/java/com/lovable/zellyfinance/MainActivity.java @@ -4,6 +4,7 @@ package com.lovable.zellyfinance; import android.os.Bundle; import com.getcapacitor.BridgeActivity; import com.getcapacitor.Plugin; +import com.capacitorjs.plugins.splashscreen.SplashScreenPlugin; public class MainActivity extends BridgeActivity { @Override @@ -11,6 +12,6 @@ public class MainActivity extends BridgeActivity { super.onCreate(savedInstanceState); // 스플래시 화면 처리를 위한 추가 초기화 코드 - registerPlugin(com.capacitorjs.plugins.splashscreen.SplashScreenPlugin.class); + registerPlugin(SplashScreenPlugin.class); } } diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml index 411d88b..596e912 100644 --- a/android/app/src/main/res/values/styles.xml +++ b/android/app/src/main/res/values/styles.xml @@ -1,4 +1,3 @@ - @@ -17,8 +16,9 @@ - diff --git a/android/capacitor.settings.gradle b/android/capacitor.settings.gradle index 6c2d7be..968c07c 100644 --- a/android/capacitor.settings.gradle +++ b/android/capacitor.settings.gradle @@ -4,3 +4,6 @@ project(':capacitor-android').projectDir = new File('../node_modules/@capacitor/ include ':capacitor-keyboard' project(':capacitor-keyboard').projectDir = new File('../node_modules/@capacitor/keyboard/android') + +include ':capacitor-splash-screen' +project(':capacitor-splash-screen').projectDir = new File('../node_modules/@capacitor/splash-screen/android') diff --git a/src/App.tsx b/src/App.tsx index 87631bb..37b43ff 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,5 +1,5 @@ -import React from 'react'; +import React, { useEffect } from 'react'; import { BrowserRouter as Router, Route, Routes } from 'react-router-dom'; import './App.css'; import Login from './pages/Login'; @@ -20,6 +20,7 @@ import PaymentMethods from './pages/PaymentMethods'; import Settings from './pages/Settings'; import { BudgetProvider } from './contexts/BudgetContext'; import PrivateRoute from './components/auth/PrivateRoute'; +import { SplashScreen } from '@capacitor/splash-screen'; // 전역 오류 핸들러 const handleError = (error: any) => { @@ -72,6 +73,14 @@ class ErrorBoundary extends React.Component< } function App() { + // 앱 시작 시 스플래시 화면 초기화 + useEffect(() => { + // 스플래시 화면 표시 시간 설정 (3초) + setTimeout(() => { + SplashScreen.hide(); + }, 3000); + }, []); + return (