gamerTheme function

ThemeData gamerTheme()

The unified theme for the omniversify apps, more themes are coming soon

Implementation

ThemeData gamerTheme() => ThemeData.dark().copyWith(
      useMaterial3: true,
      colorScheme: ThemeData.dark().colorScheme.copyWith(
            secondary: Colors.grey[900],
            background: Colors.black,
            primary: Colors.grey[100],
            tertiary: Colors.red[900],
            brightness: Brightness.dark,
            surface: Colors.red[900]!.withAlpha(40),
            onError: Colors.red[900],
            onSurface: Colors.green[900],
          ),
      visualDensity: VisualDensity.adaptivePlatformDensity,
      focusColor: Colors.blue[400],
      floatingActionButtonTheme: FloatingActionButtonThemeData(
          backgroundColor: Colors.red[900]!.withAlpha(40),
          foregroundColor: Colors.red[900]!,
          shape: RoundedRectangleBorder(
              borderRadius: BorderRadius.circular(20),
              side: BorderSide(color: Colors.red[900]!)),
          extendedTextStyle:
              TextStyle(inherit: false, color: Colors.grey[100], fontSize: 14)),
      dialogBackgroundColor: Colors.grey[900],
      scaffoldBackgroundColor: Colors.black,
      textTheme: GoogleFonts.tajawalTextTheme(TextTheme(
          displayLarge: TextStyle(color: Colors.grey[100]),
          displayMedium: TextStyle(color: Colors.grey[100]),
          displaySmall: TextStyle(color: Colors.grey[100]),
          headlineLarge: TextStyle(color: Colors.grey[100]),
          headlineMedium: TextStyle(color: Colors.grey[100]),
          headlineSmall: TextStyle(color: Colors.grey[100]),
          titleLarge: TextStyle(color: Colors.grey[100]),
          titleMedium: TextStyle(color: Colors.grey[300]),
          titleSmall: TextStyle(color: Colors.grey[500]),
          bodyLarge: TextStyle(color: Colors.grey[100]),
          bodyMedium: TextStyle(color: Colors.grey[100]),
          bodySmall: TextStyle(color: Colors.grey[800]),
          labelLarge: TextStyle(color: Colors.grey[800]),
          labelMedium: TextStyle(color: Colors.grey[100]),
          labelSmall: TextStyle(color: Colors.grey[100]))),
      navigationBarTheme: NavigationBarThemeData(
        backgroundColor: Colors.red[900]!.withAlpha(40),
        indicatorColor: Colors.red[900]!.withAlpha(40),
        surfaceTintColor: Colors.black,
        indicatorShape: RoundedRectangleBorder(
            borderRadius: BorderRadius.circular(30),
            side: BorderSide(color: Colors.red[900]!)),
        iconTheme: MaterialStateProperty.resolveWith(getOverlayIcon),
        labelTextStyle: MaterialStateProperty.all(
          GoogleFonts.tajawal(
              fontSize: 16,
              height: 1.5,
              fontWeight: FontWeight.w600,
              color: Colors.grey[100]),
        ),
      ),
      bottomNavigationBarTheme: BottomNavigationBarThemeData(
          backgroundColor: Colors.red[900]!.withAlpha(40),
          landscapeLayout: BottomNavigationBarLandscapeLayout.centered),
      navigationRailTheme: NavigationRailThemeData(
        selectedLabelTextStyle: GoogleFonts.tajawal(
            fontSize: 16,
            height: 2,
            fontWeight: FontWeight.w600,
            color: Colors.grey[100]),
        unselectedLabelTextStyle: GoogleFonts.tajawal(
            fontSize: 16,
            height: 2,
            fontWeight: FontWeight.w600,
            color: Colors.grey[100]),
        useIndicator: true,
        minWidth: 80,
        minExtendedWidth: 200,
        backgroundColor: Colors.red[900]!.withAlpha(40),
        indicatorColor: Colors.red[900]!.withAlpha(80),
        selectedIconTheme: IconThemeData(color: Colors.grey[100]),
        unselectedIconTheme: IconThemeData(color: Colors.grey[100]),
      ),
      drawerTheme: DrawerThemeData(backgroundColor: Colors.grey[800]),
      listTileTheme: const ListTileThemeData(),
      radioTheme: RadioThemeData(
          fillColor: MaterialStateColor.resolveWith(getOverlayColor)),
      outlinedButtonTheme: OutlinedButtonThemeData(
          style: ButtonStyle(
              backgroundColor: MaterialStateColor.resolveWith(getColor),
              foregroundColor: MaterialStateColor.resolveWith(getOverlayColor),
              side: MaterialStateBorderSide.resolveWith(getBorderIcon),
              shape: MaterialStateProperty.all<OutlinedBorder>(
                  RoundedRectangleBorder(
                      borderRadius: BorderRadius.circular(30))))),
      elevatedButtonTheme: ElevatedButtonThemeData(
          style: ButtonStyle(
              backgroundColor: MaterialStateColor.resolveWith(getColor),
              foregroundColor: MaterialStateColor.resolveWith(getOverlayColor),
              shape: MaterialStateProperty.all<OutlinedBorder>(
                  RoundedRectangleBorder(
                      borderRadius: BorderRadius.circular(30))))),
    );