Skip to content

Commit 2c6bf1a

Browse files
committed
fix: improved mapper
1 parent 93769c1 commit 2c6bf1a

File tree

10 files changed

+450
-560
lines changed

10 files changed

+450
-560
lines changed

lib/controllers/source/source_mapper.dart

Lines changed: 127 additions & 373 deletions
Large diffs are not rendered by default.

lib/controllers/theme.dart

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class ThemeProvider extends ChangeNotifier {
1818
List<String> availThemeModes = ["default", "material", "custom"];
1919

2020
ThemeProvider()
21-
: _seedColor = Colors.red,
21+
: _seedColor = Colors.indigo,
2222
isLightMode =
2323
Hive.box("themeData").get("isLightMode", defaultValue: false),
2424
isSystemMode =
@@ -37,7 +37,7 @@ class ThemeProvider extends ChangeNotifier {
3737

3838
void _determineSeedColor() {
3939
if (currentThemeMode == "default") {
40-
_seedColor = Colors.red;
40+
_seedColor = Colors.indigo;
4141
} else if (currentThemeMode == "material") {
4242
loadDynamicTheme();
4343
} else {
@@ -51,8 +51,9 @@ class ThemeProvider extends ChangeNotifier {
5151
currentThemeMode = "material";
5252
Hive.box("themeData").put("themeMode", "material");
5353
final corePalette = await DynamicColorPlugin.getCorePalette();
54-
_seedColor =
55-
corePalette != null ? Color(corePalette.primary.get(40)) : Colors.red;
54+
_seedColor = corePalette != null
55+
? Color(corePalette.primary.get(40))
56+
: Colors.indigo;
5657
_updateTheme();
5758
}
5859

@@ -93,7 +94,7 @@ class ThemeProvider extends ChangeNotifier {
9394
void setDefaultTheme() {
9495
currentThemeMode = "default";
9596
Hive.box("themeData").put("themeMode", "default");
96-
_seedColor = Colors.red;
97+
_seedColor = Colors.indigo;
9798
_updateTheme();
9899
}
99100

@@ -130,7 +131,7 @@ class ThemeProvider extends ChangeNotifier {
130131
isOled = false;
131132
selectedVariantIndex = 0;
132133
currentThemeMode = "default";
133-
_seedColor = Colors.red;
134+
_seedColor = Colors.indigo;
134135

135136
_updateTheme();
136137
notifyListeners();

lib/main.dart

Lines changed: 31 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import 'package:anymex/widgets/adaptive_wrapper.dart';
3232
import 'package:anymex/widgets/animation/more_page_transitions.dart';
3333
import 'package:anymex/widgets/common/glow.dart';
3434
import 'package:anymex/widgets/common/navbar.dart';
35+
import 'package:anymex/widgets/custom_widgets/anymex_titlebar.dart';
3536
import 'package:anymex/widgets/helper/platform_builder.dart';
3637
import 'package:anymex/widgets/non_widgets/settings_sheet.dart';
3738
import 'package:anymex/widgets/non_widgets/snackbar.dart';
@@ -53,8 +54,6 @@ import 'package:media_kit/media_kit.dart';
5354
import 'package:provider/provider.dart';
5455
import 'package:super_sliver_list/super_sliver_list.dart';
5556
import 'package:window_manager/window_manager.dart';
56-
import 'package:path_provider/path_provider.dart';
57-
import 'package:path/path.dart' as p;
5857

5958
late Isar isar;
6059
WebViewEnvironment? webViewEnvironment;
@@ -69,6 +68,9 @@ class MyHttpoverrides extends HttpOverrides {
6968

7069
class MyCustomScrollBehavior extends MaterialScrollBehavior {
7170
@override
71+
ScrollPhysics getScrollPhysics(BuildContext context) =>
72+
const BouncingScrollPhysics();
73+
@override
7274
Set<PointerDeviceKind> get dragDevices => {
7375
PointerDeviceKind.touch,
7476
PointerDeviceKind.mouse,
@@ -99,38 +101,7 @@ void main(List<String> args) async {
99101
initializeDateFormatting();
100102
MediaKit.ensureInitialized();
101103
if (!Platform.isAndroid && !Platform.isIOS) {
102-
await WindowManager.instance.ensureInitialized();
103-
try {
104-
windowManager.setTitle("AnymeX (●'◡'●)");
105-
} catch (e) {
106-
windowManager.setTitle("AnymeX");
107-
}
108-
if (defaultTargetPlatform == TargetPlatform.windows) {
109-
try {
110-
final availableVersion =
111-
await WebViewEnvironment.getAvailableVersion();
112-
if (availableVersion == null) {
113-
snackBar(
114-
"Failed to find an installed WebView2 runtime or non-stable Microsoft Edge installation.\n\n"
115-
"Try installing WebView2 runtime from:\n"
116-
"https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section",
117-
);
118-
} else {
119-
final document = await getApplicationDocumentsDirectory();
120-
webViewEnvironment = await WebViewEnvironment.create(
121-
settings: WebViewEnvironmentSettings(
122-
userDataFolder: p.join(document.path, 'flutter_inappwebview'),
123-
),
124-
);
125-
}
126-
} catch (e) {
127-
snackBar(
128-
"Error initializing WebView2: ${e.toString()}\n\n"
129-
"Try reinstalling WebView2 runtime from:\n"
130-
"https://developer.microsoft.com/en-us/microsoft-edge/webview2/#download-section",
131-
);
132-
}
133-
}
104+
await AnymexTitleBar.initialize();
134105
} else {
135106
SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
136107
SystemChrome.setSystemUIOverlayStyle(const SystemUiOverlayStyle(
@@ -232,15 +203,15 @@ class MainApp extends StatelessWidget {
232203
Navigator.pop(Get.context!);
233204
} else if (event.logicalKey == LogicalKeyboardKey.f11) {
234205
bool isFullScreen = await windowManager.isFullScreen();
235-
windowManager.setFullScreen(!isFullScreen);
206+
AnymexTitleBar.setFullScreen(!isFullScreen);
236207
} else if (event.logicalKey == LogicalKeyboardKey.enter) {
237208
final isAltPressed = HardwareKeyboard.instance.logicalKeysPressed
238209
.contains(LogicalKeyboardKey.altLeft) ||
239210
HardwareKeyboard.instance.logicalKeysPressed
240211
.contains(LogicalKeyboardKey.altRight);
241212
if (isAltPressed) {
242213
bool isFullScreen = await windowManager.isFullScreen();
243-
windowManager.setFullScreen(!isFullScreen);
214+
AnymexTitleBar.setFullScreen(!isFullScreen);
244215
}
245216
}
246217
}
@@ -257,6 +228,27 @@ class MainApp extends StatelessWidget {
257228
? ThemeMode.light
258229
: ThemeMode.dark,
259230
home: const FilterScreen(),
231+
builder: (context, child) {
232+
final isDesktop = !Platform.isAndroid && !Platform.isIOS;
233+
234+
if (isDesktop) {
235+
return Stack(
236+
children: [
237+
child!,
238+
Positioned(
239+
top: 0,
240+
left: 0,
241+
right: 0,
242+
child: Container(
243+
color: Colors.transparent,
244+
child: AnymexTitleBar.titleBar(),
245+
),
246+
),
247+
],
248+
);
249+
}
250+
return child!;
251+
},
260252
enableLog: true,
261253
logWriterCallback: (text, {isError = false}) async {
262254
Logger.d(text);
@@ -295,7 +287,7 @@ class _FilterScreenState extends State<FilterScreen> {
295287
const AnimeHomePage(),
296288
const MangaHomePage(),
297289
const MyLibrary(),
298-
const ExtensionScreen(),
290+
const ExtensionScreen(disableGlow: true),
299291
];
300292

301293
final mobileRoutes = [
@@ -361,6 +353,8 @@ class _FilterScreenState extends State<FilterScreen> {
361353
? ClipRRect(
362354
borderRadius: BorderRadius.circular(59),
363355
child: CachedNetworkImage(
356+
width: 40,
357+
height: 40,
364358
fit: BoxFit.cover,
365359
errorWidget: (context, url, error) =>
366360
const Icon(IconlyBold.profile),

lib/screens/anime/details_page.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ class _AnimeDetailsPageState extends State<AnimeDetailsPage> {
7373
// Current Anime
7474
RxDouble animeScore = 0.0.obs;
7575
RxInt animeProgress = 0.obs;
76-
RxString animeStatus = "CURRENT".obs;
76+
RxString animeStatus = "".obs;
7777

7878
Rxn<List<Comment>> comments = Rxn();
7979

@@ -134,7 +134,7 @@ class _AnimeDetailsPageState extends State<AnimeDetailsPage> {
134134
void _initListVars() {
135135
animeProgress.value = currentAnime.value?.episodeCount?.toInt() ?? 0;
136136
animeScore.value = currentAnime.value?.score?.toDouble() ?? 0.0;
137-
animeStatus.value = currentAnime.value?.watchingStatus ?? "CURRENT";
137+
animeStatus.value = currentAnime.value?.watchingStatus ?? "";
138138
setState(() {});
139139
}
140140

0 commit comments

Comments
 (0)