Repository: Learnathon-By-Geeky-Solutions/team-synergy
Pull request #11: set theme light & dark to auto, set theme data, fix splash screen to …
Author: login: feedofmri
Created: 2025-03-24T11:11:00Z | Merged: 2025-03-24T11:15:02Z

…system theme color


Diff:
diff --git a/sohojogi/assets/fonts/Poppins-Bold.ttf b/sohojogi/assets/fonts/Poppins-Bold.ttf
new file mode 100644
index 0000000..00559ee
Binary files /dev/null and b/sohojogi/assets/fonts/Poppins-Bold.ttf differ
diff --git a/sohojogi/assets/fonts/Poppins-Light.ttf b/sohojogi/assets/fonts/Poppins-Light.ttf
new file mode 100644
index 0000000..bc36bcc
Binary files /dev/null and b/sohojogi/assets/fonts/Poppins-Light.ttf differ
diff --git a/sohojogi/assets/fonts/Poppins-Medium.ttf b/sohojogi/assets/fonts/Poppins-Medium.ttf
new file mode 100644
index 0000000..6bcdcc2
Binary files /dev/null and b/sohojogi/assets/fonts/Poppins-Medium.ttf differ
diff --git a/sohojogi/assets/fonts/Poppins-Regular.ttf b/sohojogi/assets/fonts/Poppins-Regular.ttf
new file mode 100644
index 0000000..9f0c71b
Binary files /dev/null and b/sohojogi/assets/fonts/Poppins-Regular.ttf differ
diff --git a/sohojogi/assets/lottie/splash_dark.json b/sohojogi/assets/lottie/splash_dark.json
new file mode 100644
index 0000000..9a237a5
--- /dev/null
+++ b/sohojogi/assets/lottie/splash_dark.json
@@ -0,0 +1 @@
+{"v":"5.6.6","ip":0,"op":80,"fr":60,"w":242,"h":242,"layers":[{"ind":2051,"nm":"surface11369","ao":0,"ip":0,"op":80,"st":0,"ty":4,"ks":{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"a":0,"k":[0,0,0],"ix":2},"a":{"k":[0,0]},"s":{"k":[133.33,133.33]},"sk":{"k":0},"sa":{"k":0}},"shapes":[{"ty":"gr","hd":false,"nm":"surface11369","it":[{"ty":"gr","hd":false,"it":[{"ty":"gr","hd":false,"it":[{"ty":"sh","ks":{"k":{"i":[[0,0],[1.82,-0.04],[0.11,-1.15],[-0.14,-3.85],[-1.15,-0.03],[-1.64,0],[-2.71,-8.47],[-3.12,0.04],[-2.74,1.55],[-4.72,-5.83],[8.47,0.21],[4.86,-0.42],[5.97,3.96]],"o":[[-1.89,-0.11],[-1.15,0.02],[-0.38,3.86],[0.04,1.15],[1.49,0.04],[4.45,-3.33],[3.69,-0.02],[1.36,-7.81],[4.27,-2.41],[-1.39,-13.34],[-5.88,-0.14],[-2.08,2.64],[0,0]],"v":[[68.31,78.86],[63.59,78.84],[61.08,80.9],[61.02,92.22],[64.14,94.34],[68.59,94.45],[82.8,100.8],[95.8,100.8],[101.95,88.07],[118.45,95.25],[96.5,76.84],[80.67,76.77],[68.31,78.86]],"c":false}}},{"ty":"fl","o":{"k":100},"c":{"k":[0.91,0.92,0.93,1]}},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"gr","hd":false,"it":[{"ty":"gr","hd":false,"it":[{"ty":"sh","ks":{"k":{"i":[[0,0],[0,0],[0,-0.91],[0,0],[-0.91,0],[0,0],[0,0.91],[0,0],[0.91,0]],"o":[[0,0],[-0.91,0],[0,0],[0,0.91],[0,0],[0.91,0],[0,0],[0,-0.91],[0,0]],"v":[[95.94,134.84],[83.36,134.84],[81.72,136.48],[81.72,179.14],[83.36,180.78],[95.94,180.78],[97.58,179.14],[97.58,136.48],[95.94,134.84]],"c":false}}},{"ty":"fl","o":{"k":100},"c":{"k":[0.91,0.92,0.93,1]}},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"gr","hd":false,"it":[{"ty":"sh","ks":{"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[94.64,132.23],[84.66,132.23],[84.66,103.49],[94.64,103.49],[94.64,132.23]],"c":false}}},{"ty":"fl","o":{"k":100},"c":{"k":[0.91,0.92,0.93,1]}},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"gr","hd":false,"it":[{"ty":"gr","hd":false,"it":[{"ty":"sh","ks":{"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[178.83,164.25],[178.83,180.8],[118.47,180.8],[118.47,164.25]],"c":true}}},{"ty":"fl","o":{"k":100},"c":{"k":[0.98,0.8,0,1]}},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"gr","hd":false,"it":[{"ty":"gr","hd":false,"it":[{"ty":"gr","hd":false,"it":[{"ty":"sh","ks":{"k":{"i":[[0,0],[0,0],[0,0],[-1.26,0],[0,-1.26],[0,0]],"o":[[0,0],[0,0],[0,-1.26],[1.26,0],[0,0],[0,0]],"v":[[51.11,152.08],[46.55,152.08],[46.55,106.86],[48.83,104.58],[51.11,106.86],[51.11,152.08]],"c":false}}},{"ty":"fl","o":{"k":100},"c":{"k":[0.91,0.92,0.93,1]}},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"gr","hd":false,"it":[{"ty":"gr","hd":false,"it":[{"ty":"gr","hd":false,"it":[{"ty":"sh","ks":{"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[54.7,155.27],[42.96,155.27],[42.96,152.08],[54.7,152.08],[54.7,155.27]],"c":false}}},{"ty":"fl","o":{"k":100},"c":{"k":[0.91,0.92,0.93,1]}},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"gr","hd":false,"it":[{"ty":"gr","hd":false,"it":[{"ty":"gr","hd":false,"it":[{"ty":"sh","ks":{"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[34.99,180.75],[36.8,171.09],[36.47,180.76],[39.05,180.76],[40.3,169.01],[40.53,180.76],[43.54,180.76],[44.59,172.07],[45.01,180.76],[47.35,180.76],[48.17,168.05],[48.82,180.76],[51.93,180.76],[52.45,170.03],[53.4,180.76],[55.73,180.76],[56.1,172.79],[57.2,180.76],[60.43,180.76],[60.52,172.07],[61.91,180.76],[65.09,180.76],[61.02,160.64],[36.64,160.64],[32.58,180.76],[35.04,180.76],[34.99,180.75]],"c":false}}},{"ty":"fl","o":{"k":100},"c":{"k":[0.91,0.92,0.93,1]}},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"gr","hd":false,"it":[{"ty":"gr","hd":false,"it":[{"ty":"gr","hd":false,"it":[{"ty":"sh","ks":{"k":{"i":[[0,0],[0,0],[0,0.58],[0,0],[-0.58,0],[0,0],[0,-0.57],[0,0],[0.57,0]],"o":[[0,0],[-0.58,0],[0,0],[0,-0.57],[0,0],[0.57,0],[0,0],[0,0.58],[0,0]],"v":[[60.41,159.18],[37.26,159.18],[36.21,158.12],[36.21,156.32],[37.26,155.27],[60.41,155.27],[61.45,156.32],[61.45,158.12],[60.41,159.18]],"c":false}}},{"ty":"fl","o":{"k":100},"c":{"k":[0.91,0.92,0.93,1]}},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"gr","hd":false,"it":[{"ty":"gr","hd":false,"it":[{"ty":"sh","ks":{"k":{"i":[[0,0],[5,2.67],[0,0],[1.56,0],[0,0],[0,1.55],[0,0],[0,-6],[-5.56,-2.56],[0,0],[-1.55,0],[0,0],[0,1.55],[0,0],[0,6.45]],"o":[[0,-6.12],[0,0],[0,1.55],[0,0],[-1.55,0],[0,0],[-5,2.78],[0,6.45],[0,0],[0,1.55],[0,0],[1.56,0],[0,0],[5.56,-2.56],[0,0]],"v":[[141.26,120.59],[132.92,106.46],[132.92,120.36],[130.03,123.25],[120.25,123.25],[117.36,120.36],[117.36,106.46],[109.02,120.59],[118.36,135.15],[118.36,188.4],[121.25,191.29],[129.03,191.29],[131.92,188.4],[131.92,135.15],[141.26,120.59]],"c":true}}},{"ty":"fl","o":{"k":100},"c":{"k":[0.98,0.8,0,1]}},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"gr","hd":false,"it":[{"ty":"gr","hd":false,"it":[{"ty":"sh","ks":{"k":{"i":[[0,0],[0,0],[0.27,0.03],[0.26,0.05],[0.25,0.08],[0.25,0.1],[0.23,0.12],[0.22,0.15],[0.21,0.17],[0.19,0.19],[0.17,0.21],[0.15,0.23],[0.12,0.23],[0.11,0.25],[0.08,0.26],[0.05,0.26],[0.03,0.27],[0,0.27],[0,0],[-0.42,1],[-0.77,0.77],[0,0],[-0.21,0.17],[-0.22,0.15],[-0.24,0.12],[-0.25,0.1],[-0.26,0.07],[-0.26,0.05],[-0.27,0.03],[-0.27,0],[-0.27,-0.02],[-0.26,-0.05],[-0.26,-0.08],[-0.25,-0.1],[-0.24,-0.13],[-0.22,-0.15],[-0.21,-0.17],[-0.19,-0.19],[0,0],[-0.41,-1],[0,-1.09],[0,0],[0.02,-0.27],[0.05,-0.26],[0.08,-0.26],[0.1,-0.25],[0.12,-0.24],[0.15,-0.22],[0.17,-0.21],[0.19,-0.19],[0.21,-0.17],[0.22,-0.15],[0.24,-0.12],[0.25,-0.1],[0.25,-0.07],[0.26,-0.05],[0.27,-0.02],[0.27,0]],"o":[[0,0],[-0.27,0],[-0.27,-0.02],[-0.27,-0.05],[-0.26,-0.07],[-0.25,-0.1],[-0.24,-0.12],[-0.22,-0.15],[-0.21,-0.17],[-0.19,-0.19],[-0.17,-0.21],[-0.15,-0.22],[-0.13,-0.24],[-0.1,-0.25],[-0.08,-0.26],[-0.05,-0.26],[-0.03,-0.27],[0,0],[0,-1.09],[0.41,-1],[0,0],[0.19,-0.19],[0.21,-0.17],[0.22,-0.15],[0.23,-0.13],[0.25,-0.1],[0.25,-0.08],[0.26,-0.05],[0.27,-0.02],[0.27,0],[0.27,0.03],[0.27,0.05],[0.26,0.07],[0.25,0.1],[0.24,0.12],[0.23,0.15],[0.21,0.17],[0,0],[0.77,0.77],[0.42,1],[0,0],[0,0.27],[-0.03,0.27],[-0.05,0.26],[-0.08,0.26],[-0.11,0.25],[-0.13,0.23],[-0.15,0.23],[-0.17,0.21],[-0.19,0.19],[-0.21,0.17],[-0.22,0.15],[-0.23,0.12],[-0.25,0.1],[-0.26,0.08],[-0.26,0.05],[-0.27,0.03],[0,0]],"v":[[172.45,213.88],[8.55,213.88],[7.75,213.84],[6.96,213.72],[6.18,213.53],[5.42,213.26],[4.69,212.91],[4,212.5],[3.36,212.02],[2.76,211.48],[2.22,210.89],[1.74,210.24],[1.33,209.55],[0.98,208.82],[0.71,208.07],[0.52,207.29],[0.4,206.49],[0.36,205.69],[0.36,90.96],[0.98,87.82],[2.76,85.17],[84.71,3.22],[85.3,2.68],[85.95,2.2],[86.64,1.79],[87.36,1.45],[88.12,1.18],[88.9,0.98],[89.7,0.86],[90.5,0.82],[91.3,0.86],[92.1,0.98],[92.88,1.18],[93.64,1.45],[94.36,1.79],[95.05,2.2],[95.7,2.68],[96.29,3.22],[178.24,85.17],[180.02,87.82],[180.64,90.96],[180.64,205.69],[180.61,206.49],[180.48,207.29],[180.29,208.07],[180.02,208.82],[179.68,209.55],[179.26,210.24],[178.78,210.89],[178.24,211.48],[177.64,212.02],[177,212.5],[176.31,212.91],[175.58,213.26],[174.83,213.53],[174.05,213.72],[173.25,213.84],[172.45,213.88]],"c":true}}},{"ty":"sh","ks":{"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[16.75,197.49],[164.25,197.49],[164.25,94.36],[90.5,20.6],[16.75,94.36]],"c":true}}},{"ty":"fl","o":{"k":100},"c":{"k":[0.98,0.8,0,1]}},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tr","o":{"k":100},"r":{"k":0},"p":{"k":[0,0]},"a":{"k":[0,0]},"s":{"k":[100,100]},"sk":{"k":0},"sa":{"k":0},"hd":false}]},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":1,"k":[{"i":{"x":[0.35],"y":[1]},"o":{"x":[0.17],"y":[0.17]},"t":0,"s":[25]},{"t":55,"s":[100]}],"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false}]}],"meta":{"g":"LF SVG to Lottie"},"assets":[]}
\ No newline at end of file
diff --git a/sohojogi/lib/constants/colors.dart b/sohojogi/lib/constants/colors.dart
new file mode 100644
index 0000000..1f1db7e
--- /dev/null
+++ b/sohojogi/lib/constants/colors.dart
@@ -0,0 +1,7 @@
+import 'dart:ui';
+
+const Color primaryColor = Color(0x00FACC01);
+const Color secondaryColor = Color(0x00FCB72A);
+const Color lightColor = Color(0x00FFFFFF);
+const Color darkColor = Color(0x002B2921);
+const Color grayColor = Color(0x00434545);
\ No newline at end of file
diff --git a/sohojogi/lib/main.dart b/sohojogi/lib/main.dart
index 2b155ea..593879d 100644
--- a/sohojogi/lib/main.dart
+++ b/sohojogi/lib/main.dart
@@ -1,5 +1,5 @@
-import 'package:animated_splash_screen/animated_splash_screen.dart';
 import 'package:flutter/material.dart';
+import 'package:sohojogi/constants/colors.dart';
 import 'package:sohojogi/screens/splash/splash_screen.dart';
 
 void main() {
@@ -9,12 +9,104 @@ void main() {
 class MyApp extends StatelessWidget {
   const MyApp({super.key});
 
-  // This widget is the root of your application.
   @override
   Widget build(BuildContext context) {
     return MaterialApp(
+      // Disable the debug banner
       debugShowCheckedModeBanner: false,
-      home: const SplashScreen()
+
+      // Light theme configuration
+      theme: ThemeData(
+        brightness: Brightness.light,
+        primaryColor: primaryColor,
+        hintColor: secondaryColor,
+        scaffoldBackgroundColor: lightColor,
+
+        // Configure color scheme for light mode
+        colorScheme: ColorScheme.light(
+          primary: primaryColor,
+          secondary: secondaryColor,
+          surface: lightColor,
+          // Ensure text is legible on light surfaces
+          onPrimary: Colors.white,
+          onSecondary: Colors.white,
+          onSurface: Colors.black,
+        ),
+
+        // AppBar theme to maintain consistency
+        appBarTheme: AppBarTheme(
+          backgroundColor: primaryColor,
+          foregroundColor: Colors.white,
+        ),
+
+        // Text theme configuration
+        textTheme: const TextTheme(
+          bodyLarge: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.normal),
+          bodyMedium: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.normal),
+          bodySmall: TextStyle(fontFamily: 'Poppins', fontSize: 12, fontWeight: FontWeight.normal),
+
+          headlineLarge: TextStyle(fontFamily: 'Poppins', fontSize: 24, fontWeight: FontWeight.bold),
+          headlineMedium: TextStyle(fontFamily: 'Poppins', fontSize: 20, fontWeight: FontWeight.w600),
+          headlineSmall: TextStyle(fontFamily: 'Poppins', fontSize: 18, fontWeight: FontWeight.w600),
+
+          titleLarge: TextStyle(fontFamily: 'Poppins', fontSize: 22, fontWeight: FontWeight.bold),
+          titleMedium: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.w600),
+          titleSmall: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.w600),
+
+          labelLarge: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.w500),
+          labelMedium: TextStyle(fontFamily: 'Poppins', fontSize: 12, fontWeight: FontWeight.w500),
+          labelSmall: TextStyle(fontFamily: 'Poppins', fontSize: 10, fontWeight: FontWeight.w500),
+        ),
+      ),
+
+      // Dark theme configuration
+      darkTheme: ThemeData(
+        brightness: Brightness.dark,
+        primaryColor: darkColor,
+        hintColor: secondaryColor,
+        scaffoldBackgroundColor: grayColor,
+
+        // Configure color scheme for dark mode
+        colorScheme: ColorScheme.dark(
+          primary: darkColor,
+          secondary: secondaryColor,
+          surface: grayColor,
+          // Ensure text is legible on dark surfaces
+          onPrimary: Colors.white,
+          onSecondary: Colors.white,
+          onSurface: Colors.white,
+        ),
+
+        // AppBar theme for dark mode
+        appBarTheme: AppBarTheme(
+          backgroundColor: darkColor,
+          foregroundColor: Colors.white,
+        ),
+
+        // Text theme configuration remains consistent
+        textTheme: const TextTheme(
+          bodyLarge: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.normal),
+          bodyMedium: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.normal),
+          bodySmall: TextStyle(fontFamily: 'Poppins', fontSize: 12, fontWeight: FontWeight.normal),
+
+          headlineLarge: TextStyle(fontFamily: 'Poppins', fontSize: 24, fontWeight: FontWeight.bold),
+          headlineMedium: TextStyle(fontFamily: 'Poppins', fontSize: 20, fontWeight: FontWeight.w600),
+          headlineSmall: TextStyle(fontFamily: 'Poppins', fontSize: 18, fontWeight: FontWeight.w600),
+
+          titleLarge: TextStyle(fontFamily: 'Poppins', fontSize: 22, fontWeight: FontWeight.bold),
+          titleMedium: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.w600),
+          titleSmall: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.w600),
+
+          labelLarge: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.w500),
+          labelMedium: TextStyle(fontFamily: 'Poppins', fontSize: 12, fontWeight: FontWeight.w500),
+          labelSmall: TextStyle(fontFamily: 'Poppins', fontSize: 10, fontWeight: FontWeight.w500),
+        ),
+      ),
+
+      // Automatically switch between light and dark themes based on system settings
+      themeMode: ThemeMode.system,
+
+      home: const SplashScreen(),
     );
   }
-}
\ No newline at end of file
+}
diff --git a/sohojogi/lib/screens/splash/splash_screen.dart b/sohojogi/lib/screens/splash/splash_screen.dart
index b4a24d7..733f9c1 100644
--- a/sohojogi/lib/screens/splash/splash_screen.dart
+++ b/sohojogi/lib/screens/splash/splash_screen.dart
@@ -9,17 +9,25 @@ class SplashScreen extends StatelessWidget {
 
   @override
   Widget build(BuildContext context) {
+    // Detect the current brightness (light or dark mode)
+    final brightness = MediaQuery.of(context).platformBrightness;
+    final isDarkMode = brightness == Brightness.dark;
+
     return AnimatedSplashScreen(
       splash: Center(
         child: SizedBox(
           width: 125,
           height: 125,
-          child: LottieBuilder.asset('assets/lottie/splash.json'),
+          // Load different assets based on the brightness
+          child: LottieBuilder.asset(
+            isDarkMode ? 'assets/lottie/splash_dark.json' : 'assets/lottie/splash.json',
+          ),
         ),
       ),
       nextScreen: const HomeScreen(),
       splashIconSize: 400,
-      backgroundColor: Colors.white,
+      // Set the background color based on the brightness
+      backgroundColor: isDarkMode ? Colors.black : Colors.white,
       duration: 2000,
     );
   }
diff --git a/sohojogi/pubspec.yaml b/sohojogi/pubspec.yaml
index a6b5e45..32c729d 100644
--- a/sohojogi/pubspec.yaml
+++ b/sohojogi/pubspec.yaml
@@ -66,6 +66,7 @@ flutter:
   assets:
     - assets/
     - assets/lottie/splash.json
+    - assets/lottie/splash_dark.json
 
   # An image asset can refer to one or more resolution-specific "variants", see
   # https://flutter.dev/to/resolution-aware-images
@@ -78,8 +79,16 @@ flutter:
   # "family" key with the font family name, and a "fonts" key with a
   # list giving the asset and other descriptors for the font. For
   # example:
-  # fonts:
-  #   - family: Schyler
+  fonts:
+     - family: Poppins
+       fonts:
+         - asset: assets/fonts/Poppins-Regular.ttf
+         - asset: assets/fonts/Poppins-Bold.ttf
+           weight: 700
+         - asset: assets/fonts/Poppins-Medium.ttf
+           weight: 500
+         - asset: assets/fonts/Poppins-Light.ttf
+           weight: 300
   #     fonts:
   #       - asset: fonts/Schyler-Regular.ttf
   #       - asset: fonts/Schyler-Italic.ttf


Reviews:
user: login: coderabbitai[bot]
body: **Actionable comments posted: 3**

<details>
<summary>📜 Review details</summary>

**Configuration used: CodeRabbit UI**
**Review profile: ASSERTIVE**
**Plan: Pro**

<details>
<summary>📥 Commits</summary>

Reviewing files that changed from the base of the PR and between a8591b3de53e2b9aaf947b50ebccdefee024f33b and 4393f64276534f5ad2be6a26eda8645862b83980.

</details>

<details>
<summary>⛔ Files ignored due to path filters (4)</summary>

* `sohojogi/assets/fonts/Poppins-Bold.ttf` is excluded by `!**/*.ttf`
* `sohojogi/assets/fonts/Poppins-Light.ttf` is excluded by `!**/*.ttf`
* `sohojogi/assets/fonts/Poppins-Medium.ttf` is excluded by `!**/*.ttf`
* `sohojogi/assets/fonts/Poppins-Regular.ttf` is excluded by `!**/*.ttf`

</details>

<details>
<summary>📒 Files selected for processing (5)</summary>

* `sohojogi/assets/lottie/splash_dark.json` (1 hunks)
* `sohojogi/lib/constants/colors.dart` (1 hunks)
* `sohojogi/lib/main.dart` (2 hunks)
* `sohojogi/lib/screens/splash/splash_screen.dart` (1 hunks)
* `sohojogi/pubspec.yaml` (2 hunks)

</details>

<details>
<summary>🧰 Additional context used</summary>

<details>
<summary>🪛 YAMLlint (1.35.1)</summary>

<details>
<summary>sohojogi/pubspec.yaml</summary>

[error] 83-83: wrong indentation: expected 4 but found 5

(indentation)

</details>

</details>

</details>

<details>
<summary>🔇 Additional comments (9)</summary><blockquote>

<details>
<summary>sohojogi/lib/screens/splash/splash_screen.dart (3)</summary>

`12-14`: **THEME DETECTION IMPLEMENTATION: FUNCTIONAL.**

SYSTEM BRIGHTNESS DETECTION LOGIC CORRECTLY IMPLEMENTED. USING MEDIAQUERY TO OBTAIN PLATFORM BRIGHTNESS IS OPTIMAL APPROACH.

---

`21-24`: **CONDITIONAL ASSET LOADING: CORRECTLY EXECUTED.**

ASSET SELECTION LOGIC OPERATES BASED ON DETECTED THEME. TERNARY OPERATOR EFFICIENTLY TOGGLES BETWEEN LIGHT AND DARK ANIMATIONS.

---

`29-30`: **BACKGROUND COLOR ADAPTATION: PROPERLY IMPLEMENTED.**

BACKGROUND COLOR SUCCESSFULLY MODIFIED TO ADAPT TO SYSTEM THEME. BLACK FOR DARK MODE AND WHITE FOR LIGHT MODE PROVIDES OPTIMAL CONTRAST.

</details>
<details>
<summary>sohojogi/pubspec.yaml (1)</summary>

`69-69`: **DARK MODE ASSET ADDITION: CORRECTLY CONFIGURED.**

NEW LOTTIE ANIMATION FOR DARK MODE PROPERLY ADDED TO ASSET LIST.

</details>
<details>
<summary>sohojogi/assets/lottie/splash_dark.json (1)</summary>

`1-1`: **LOTTIE ANIMATION JSON: CORRECTLY STRUCTURED.**

NEW DARK MODE ANIMATION FILE PROPERLY FORMATTED WITH REQUIRED LOTTIE PROPERTIES. JSON STRUCTURE IS VALID AND CONTAINS NECESSARY ANIMATION PARAMETERS.

</details>
<details>
<summary>sohojogi/lib/main.dart (4)</summary>

`2-2`: **IMPORT DETECTED: COLOR CONSTANTS INITIALIZATION.**

ANALYZING IMPORT STATEMENT. IMPORT OF COLORS.DART FILE IS LOGICAL FOR THEME CONFIGURATION PURPOSES. PRIMARY AND SECONDARY COLORS WILL BE UTILIZED THROUGHOUT APPLICATION INTERFACE.

---

`15-60`: **LIGHT THEME CONFIGURATION: PARAMETERS ACCEPTABLE.**

LIGHT THEME CONFIGURATION ANALYSIS COMPLETE. STRUCTURE FOLLOWS FLUTTER BEST PRACTICES WITH:
- APPROPRIATE BRIGHTNESS SETTING
- COLOR SCHEME IMPLEMENTATION 
- CONSISTENT APPBAR THEMING
- COMPREHENSIVE TEXT HIERARCHY

DETECTED ORGANIZED APPROACH TO TYPOGRAPHY WITH CONSISTENT FONT FAMILY 'POPPINS' ACROSS ALL TEXT STYLES. THIS PROMOTES UI CONSISTENCY.

---

`106-107`: **AUTOMATIC THEME SWITCHING: FUNCTIONALITY CONFIRMED.**

THEMEMODE.SYSTEM IMPLEMENTATION DETECTED. THIS SETTING WILL ENABLE AUTOMATIC SWITCHING BETWEEN LIGHT AND DARK THEMES BASED ON USER'S SYSTEM PREFERENCES. FUNCTIONALITY ALIGNS WITH PR OBJECTIVES.

---

`109-109`: **HOME ROUTE CONFIGURATION: SPLASH SCREEN DETECTED.**

SPLASH SCREEN SET AS INITIAL ROUTE. EXPECTING SPLASH SCREEN TO HANDLE CONDITIONAL LOADING OF APPROPRIATE LOTTIE ANIMATION BASED ON CURRENT THEME MODE.

</details>

</blockquote></details>

</details>

<!-- This is an auto-generated comment by CodeRabbit for review status -->
state: COMMENTED
author_association: NONE
submitted_at: 2025-03-24T11:14:46Z

Review comments:
diff_hunk: @@ -0,0 +1,7 @@
+import 'dart:ui';
+
+const Color primaryColor = Color(0x00FACC01);
+const Color secondaryColor = Color(0x00FCB72A);
+const Color lightColor = Color(0x00FFFFFF);
+const Color darkColor = Color(0x002B2921);
+const Color grayColor = Color(0x00434545);
path: sohojogi/lib/constants/colors.dart
user: login: coderabbitai[bot]
body: _⚠️ Potential issue_

**ERROR DETECTED: ALPHA CHANNEL VALUE INCORRECT.**

COLOR CONSTANTS DEFINED WITH INVALID ALPHA VALUE. CURRENT FORMAT 0x00XXXXXX RESULTS IN FULLY TRANSPARENT COLORS. ALPHA CHANNEL VALUE MUST BE MODIFIED.


APPLY THIS CORRECTION:

```diff
-const Color primaryColor = Color(0x00FACC01);
-const Color secondaryColor = Color(0x00FCB72A);
-const Color lightColor = Color(0x00FFFFFF);
-const Color darkColor = Color(0x002B2921);
-const Color grayColor = Color(0x00434545);
+const Color primaryColor = Color(0xFFFACC01);
+const Color secondaryColor = Color(0xFFFCB72A);
+const Color lightColor = Color(0xFFFFFFFF);
+const Color darkColor = Color(0xFF2B2921);
+const Color grayColor = Color(0xFF434545);
```


<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

`````suggestion
const Color primaryColor = Color(0xFFFACC01);
const Color secondaryColor = Color(0xFFFCB72A);
const Color lightColor = Color(0xFFFFFFFF);
const Color darkColor = Color(0xFF2B2921);
const Color grayColor = Color(0xFF434545);
`````

</details>

<!-- suggestion_end -->

<!-- This is an auto-generated comment by CodeRabbit -->
created_at: 2025-03-24T11:14:45Z
author_association: NONE
diff_hunk: @@ -78,8 +79,16 @@ flutter:
   # "family" key with the font family name, and a "fonts" key with a
   # list giving the asset and other descriptors for the font. For
   # example:
-  # fonts:
-  #   - family: Schyler
+  fonts:
+     - family: Poppins
+       fonts:
+         - asset: assets/fonts/Poppins-Regular.ttf
+         - asset: assets/fonts/Poppins-Bold.ttf
+           weight: 700
+         - asset: assets/fonts/Poppins-Medium.ttf
+           weight: 500
+         - asset: assets/fonts/Poppins-Light.ttf
+           weight: 300
path: sohojogi/pubspec.yaml
user: login: coderabbitai[bot]
body: _⚠️ Potential issue_

**FONT CONFIGURATION: FUNCTIONAL BUT REQUIRES INDENTATION FIX.**

POPPINS FONT FAMILY CORRECTLY CONFIGURED WITH MULTIPLE WEIGHTS. HOWEVER, YAML INDENTATION ERROR DETECTED.


CORRECT INDENTATION FOR LINE 83 FROM 5 SPACES TO 4 SPACES:

```diff
  fonts:
-     - family: Poppins
+    - family: Poppins
       fonts:
         - asset: assets/fonts/Poppins-Regular.ttf
         - asset: assets/fonts/Poppins-Bold.ttf
           weight: 700
         - asset: assets/fonts/Poppins-Medium.ttf
           weight: 500
         - asset: assets/fonts/Poppins-Light.ttf
           weight: 300
```


<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

`````suggestion
  fonts:
    - family: Poppins
       fonts:
         - asset: assets/fonts/Poppins-Regular.ttf
         - asset: assets/fonts/Poppins-Bold.ttf
           weight: 700
         - asset: assets/fonts/Poppins-Medium.ttf
           weight: 500
         - asset: assets/fonts/Poppins-Light.ttf
           weight: 300
`````

</details>

<!-- suggestion_end -->

<details>
<summary>🧰 Tools</summary>

<details>
<summary>🪛 YAMLlint (1.35.1)</summary>

[error] 83-83: wrong indentation: expected 4 but found 5

(indentation)

</details>

</details>

<!-- This is an auto-generated comment by CodeRabbit -->
created_at: 2025-03-24T11:14:46Z
author_association: NONE
diff_hunk: @@ -9,12 +9,104 @@ void main() {
 class MyApp extends StatelessWidget {
   const MyApp({super.key});
 
-  // This widget is the root of your application.
   @override
   Widget build(BuildContext context) {
     return MaterialApp(
+      // Disable the debug banner
       debugShowCheckedModeBanner: false,
-      home: const SplashScreen()
+
+      // Light theme configuration
+      theme: ThemeData(
+        brightness: Brightness.light,
+        primaryColor: primaryColor,
+        hintColor: secondaryColor,
+        scaffoldBackgroundColor: lightColor,
+
+        // Configure color scheme for light mode
+        colorScheme: ColorScheme.light(
+          primary: primaryColor,
+          secondary: secondaryColor,
+          surface: lightColor,
+          // Ensure text is legible on light surfaces
+          onPrimary: Colors.white,
+          onSecondary: Colors.white,
+          onSurface: Colors.black,
+        ),
+
+        // AppBar theme to maintain consistency
+        appBarTheme: AppBarTheme(
+          backgroundColor: primaryColor,
+          foregroundColor: Colors.white,
+        ),
+
+        // Text theme configuration
+        textTheme: const TextTheme(
+          bodyLarge: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.normal),
+          bodyMedium: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.normal),
+          bodySmall: TextStyle(fontFamily: 'Poppins', fontSize: 12, fontWeight: FontWeight.normal),
+
+          headlineLarge: TextStyle(fontFamily: 'Poppins', fontSize: 24, fontWeight: FontWeight.bold),
+          headlineMedium: TextStyle(fontFamily: 'Poppins', fontSize: 20, fontWeight: FontWeight.w600),
+          headlineSmall: TextStyle(fontFamily: 'Poppins', fontSize: 18, fontWeight: FontWeight.w600),
+
+          titleLarge: TextStyle(fontFamily: 'Poppins', fontSize: 22, fontWeight: FontWeight.bold),
+          titleMedium: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.w600),
+          titleSmall: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.w600),
+
+          labelLarge: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.w500),
+          labelMedium: TextStyle(fontFamily: 'Poppins', fontSize: 12, fontWeight: FontWeight.w500),
+          labelSmall: TextStyle(fontFamily: 'Poppins', fontSize: 10, fontWeight: FontWeight.w500),
+        ),
+      ),
+
+      // Dark theme configuration
+      darkTheme: ThemeData(
+        brightness: Brightness.dark,
+        primaryColor: darkColor,
+        hintColor: secondaryColor,
+        scaffoldBackgroundColor: grayColor,
+
+        // Configure color scheme for dark mode
+        colorScheme: ColorScheme.dark(
+          primary: darkColor,
+          secondary: secondaryColor,
+          surface: grayColor,
+          // Ensure text is legible on dark surfaces
+          onPrimary: Colors.white,
+          onSecondary: Colors.white,
+          onSurface: Colors.white,
+        ),
+
+        // AppBar theme for dark mode
+        appBarTheme: AppBarTheme(
+          backgroundColor: darkColor,
+          foregroundColor: Colors.white,
+        ),
+
+        // Text theme configuration remains consistent
+        textTheme: const TextTheme(
+          bodyLarge: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.normal),
+          bodyMedium: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.normal),
+          bodySmall: TextStyle(fontFamily: 'Poppins', fontSize: 12, fontWeight: FontWeight.normal),
+
+          headlineLarge: TextStyle(fontFamily: 'Poppins', fontSize: 24, fontWeight: FontWeight.bold),
+          headlineMedium: TextStyle(fontFamily: 'Poppins', fontSize: 20, fontWeight: FontWeight.w600),
+          headlineSmall: TextStyle(fontFamily: 'Poppins', fontSize: 18, fontWeight: FontWeight.w600),
+
+          titleLarge: TextStyle(fontFamily: 'Poppins', fontSize: 22, fontWeight: FontWeight.bold),
+          titleMedium: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.w600),
+          titleSmall: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.w600),
+
+          labelLarge: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.w500),
+          labelMedium: TextStyle(fontFamily: 'Poppins', fontSize: 12, fontWeight: FontWeight.w500),
+          labelSmall: TextStyle(fontFamily: 'Poppins', fontSize: 10, fontWeight: FontWeight.w500),
+        ),
+      ),
path: sohojogi/lib/main.dart
user: login: coderabbitai[bot]
body: _🧹 Nitpick (assertive)_

**DARK THEME CONFIGURATION: PARAMETERS ACCEPTABLE.**

DARK THEME CONFIGURATION ANALYSIS COMPLETE. STRUCTURE MIRRORS LIGHT THEME WITH APPROPRIATE COLOR ADJUSTMENTS FOR LOW-LIGHT VIEWING CONDITIONS.

OBSERVATION: TEXT THEME CONFIGURATION IS DUPLICATED BETWEEN LIGHT AND DARK THEMES.


```diff
// Create a shared text theme
+ final TextTheme _sharedTextTheme = const TextTheme(
+   bodyLarge: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.normal),
+   bodyMedium: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.normal),
+   // ... other text styles
+ );

// Light theme configuration
theme: ThemeData(
  // ... other properties
-  textTheme: const TextTheme(
-    bodyLarge: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.normal),
-    // ... other text styles
-  ),
+  textTheme: _sharedTextTheme,
),

// Dark theme configuration
darkTheme: ThemeData(
  // ... other properties
-  textTheme: const TextTheme(
-    bodyLarge: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.normal),
-    // ... other text styles
-  ),
+  textTheme: _sharedTextTheme,
),
```


<!-- suggestion_start -->

<details>
<summary>📝 Committable suggestion</summary>

> ‼️ **IMPORTANT**
> Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

`````suggestion
// Create a shared text theme
final TextTheme _sharedTextTheme = const TextTheme(
  bodyLarge: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.normal),
  bodyMedium: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.normal),
  bodySmall: TextStyle(fontFamily: 'Poppins', fontSize: 12, fontWeight: FontWeight.normal),

  headlineLarge: TextStyle(fontFamily: 'Poppins', fontSize: 24, fontWeight: FontWeight.bold),
  headlineMedium: TextStyle(fontFamily: 'Poppins', fontSize: 20, fontWeight: FontWeight.w600),
  headlineSmall: TextStyle(fontFamily: 'Poppins', fontSize: 18, fontWeight: FontWeight.w600),

  titleLarge: TextStyle(fontFamily: 'Poppins', fontSize: 22, fontWeight: FontWeight.bold),
  titleMedium: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.w600),
  titleSmall: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.w600),

  labelLarge: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.w500),
  labelMedium: TextStyle(fontFamily: 'Poppins', fontSize: 12, fontWeight: FontWeight.w500),
  labelSmall: TextStyle(fontFamily: 'Poppins', fontSize: 10, fontWeight: FontWeight.w500),
);

// Dark theme configuration
darkTheme: ThemeData(
  brightness: Brightness.dark,
  primaryColor: darkColor,
  hintColor: secondaryColor,
  scaffoldBackgroundColor: grayColor,

  // Configure color scheme for dark mode
  colorScheme: ColorScheme.dark(
    primary: darkColor,
    secondary: secondaryColor,
    surface: grayColor,
    // Ensure text is legible on dark surfaces
    onPrimary: Colors.white,
    onSecondary: Colors.white,
    onSurface: Colors.white,
  ),

  // AppBar theme for dark mode
  appBarTheme: AppBarTheme(
    backgroundColor: darkColor,
    foregroundColor: Colors.white,
  ),

  // Text theme configuration remains consistent
- textTheme: const TextTheme(
-   bodyLarge: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.normal),
-   bodyMedium: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.normal),
-   bodySmall: TextStyle(fontFamily: 'Poppins', fontSize: 12, fontWeight: FontWeight.normal),
-
-   headlineLarge: TextStyle(fontFamily: 'Poppins', fontSize: 24, fontWeight: FontWeight.bold),
-   headlineMedium: TextStyle(fontFamily: 'Poppins', fontSize: 20, fontWeight: FontWeight.w600),
-   headlineSmall: TextStyle(fontFamily: 'Poppins', fontSize: 18, fontWeight: FontWeight.w600),
-
-   titleLarge: TextStyle(fontFamily: 'Poppins', fontSize: 22, fontWeight: FontWeight.bold),
-   titleMedium: TextStyle(fontFamily: 'Poppins', fontSize: 16, fontWeight: FontWeight.w600),
-   titleSmall: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.w600),
-
-   labelLarge: TextStyle(fontFamily: 'Poppins', fontSize: 14, fontWeight: FontWeight.w500),
-   labelMedium: TextStyle(fontFamily: 'Poppins', fontSize: 12, fontWeight: FontWeight.w500),
-   labelSmall: TextStyle(fontFamily: 'Poppins', fontSize: 10, fontWeight: FontWeight.w500),
- ),
+ textTheme: _sharedTextTheme,
),
`````

</details>

<!-- suggestion_end -->

<!-- This is an auto-generated comment by CodeRabbit -->
created_at: 2025-03-24T11:14:46Z
author_association: NONE

PR comments:
user: login: coderabbitai[bot]
created_at: 2025-03-24T11:11:09Z
body: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
<!-- walkthrough_start -->

<details>
<summary>📝 Walkthrough</summary>

## Summary by CodeRabbit

- **New Features**
	- Adaptive splash screen now displays a light or dark animation based on the system theme, with matching background colors.
	- Enhanced theming delivers coordinated color schemes for both light and dark modes, ensuring a refined and consistent UI.
	- A modern custom font has been integrated to elevate the overall app aesthetics.
## Walkthrough
This update introduces a new dark mode splash screen along with enhanced theming and asset management. A Lottie animation JSON file for dark mode is added, and new color constants are defined. The main application now supports light and dark themes that adjust automatically based on the system setting. The splash screen conditionally loads the appropriate Lottie animation and background color. Additionally, the asset list and font configurations in the pubspec are updated.

## Changes

| File(s)                                             | Change Summary |
|-----------------------------------------------------|----------------|
| `sohojogi/assets/lottie/splash_dark.json`           | Added new Lottie animation file for dark mode splash screen with keyframe and shape data. |
| `sohojogi/lib/constants/colors.dart`                | Introduced a new file defining five constant colors (primary, secondary, light, dark, gray). |
| `sohojogi/lib/main.dart`                            | Updated MaterialApp with comprehensive light and dark ThemeData configurations, including themeMode set to system. |
| `sohojogi/lib/screens/splash/splash_screen.dart`    | Modified splash screen to detect platform brightness and load the corresponding splash animation and background color. |
| `sohojogi/pubspec.yaml`                             | Added new asset for splash_dark.json and activated Poppins font configuration with various weights. |

## Sequence Diagram(s)

```mermaid
sequenceDiagram
  participant U as User
  participant SS as SplashScreen
  participant MQ as MediaQuery
  participant LA as LottieLoader

  U->>SS: Launch App
  SS->>MQ: Retrieve platform brightness
  MQ-->>SS: Return brightness value
  alt Dark Mode
    SS->>LA: Load "splash_dark.json"
    SS->>SS: Set background color to black
  else Light Mode
    SS->>LA: Load "splash.json"
    SS->>SS: Set background color to white
  end
  SS->>U: Display Splash Screen with Theme
```

## Poem
> In circuits and code, the themes align,  
> A splash of dark or light, so divine.  
> Lottie dances with vectors in rhythmic display,  
> Colors and fonts guide our digital ballet.  
> With each new line, our app sings in style,  
> Geeky Bot approves with a robotic smile!  
> 🚀🤖 Happy coding!

</details>

<!-- walkthrough_end -->
<!-- internal state start -->


<!-- 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= -->

<!-- internal state end -->
<!-- tips_start -->

---

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

<details>
<summary>❤️ Share</summary>

- [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai)
- [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai)
- [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai)
- [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

</details>

<details>
<summary>🪧 Tips</summary>

### Chat

There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=Learnathon-By-Geeky-Solutions/team-synergy&utm_content=11):

- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
  - `I pushed a fix in commit <commit_id>, please review it.`
  - `Generate unit testing code for this file.`
  - `Open a follow-up GitHub issue for this discussion.`
- Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
  - `@coderabbitai generate unit testing code for this file.`
  -	`@coderabbitai modularize this function.`
- PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
  - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
  - `@coderabbitai read src/utils.ts and generate unit testing code.`
  - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
  - `@coderabbitai help me debug CodeRabbit configuration file.`

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

### CodeRabbit Commands (Invoked using PR comments)

- `@coderabbitai pause` to pause the reviews on a PR.
- `@coderabbitai resume` to resume the paused reviews.
- `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
- `@coderabbitai full review` to do a full review from scratch and review all the files again.
- `@coderabbitai summary` to regenerate the summary of the PR.
- `@coderabbitai generate docstrings` to [generate docstrings](https://docs.coderabbit.ai/finishing-touches/docstrings) for this PR.
- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
- `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
- `@coderabbitai help` to get help.

### Other keywords and placeholders

- Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
- Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
- Add `@coderabbitai` anywhere in the PR title to generate the title automatically.

### CodeRabbit Configuration File (`.coderabbit.yaml`)

- You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository.
- Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information.
- If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json`

### Documentation and Community

- Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.

</details>

<!-- tips_end -->
author_association: NONE
user: login: Warhammer4000
created_at: 2025-03-24T11:11:12Z
body: ![](https://res.cloudinary.com/snyk/image/upload/r-d/scm-platform/snyk-pull-requests/pr-banner-default.svg)

### :tada: **Snyk checks have passed. No issues have been found so far.**

:white_check_mark: **security/snyk** check is complete. No issues have been found. [(View Details)](https://app.snyk.io/org/warhammer4000/pr-checks/669436e9-2f6d-4067-9f9d-b5e2d99be586?refs=4393f64276534f5ad2be6a26eda8645862b83980&source=prChecksComment)



author_association: CONTRIBUTOR
user: login: sonarqubecloud[bot]
created_at: 2025-03-24T11:11:36Z
body: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=Learnathon-By-Geeky-Solutions_team-synergy&pullRequest=11) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=Learnathon-By-Geeky-Solutions_team-synergy&pullRequest=11&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=Learnathon-By-Geeky-Solutions_team-synergy&pullRequest=11&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=Learnathon-By-Geeky-Solutions_team-synergy&pullRequest=11&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=Learnathon-By-Geeky-Solutions_team-synergy&pullRequest=11&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=Learnathon-By-Geeky-Solutions_team-synergy&pullRequest=11&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=Learnathon-By-Geeky-Solutions_team-synergy&pullRequest=11)


author_association: NONE