mirror of
https://github.com/foss42/apidash.git
synced 2025-08-18 01:18:21 +08:00
Refactor dark mode color blending to extension method
Moved dark mode color blending logic to a Color extension (toDark) in the design system. Updated usages in ui_utils.dart and related tests to use the new extension. Removed the old getDarkModeColor function for cleaner and more idiomatic code organization.
This commit is contained in:
@ -21,7 +21,7 @@ Color getResponseStatusCodeColor(int? statusCode,
|
||||
}
|
||||
}
|
||||
if (brightness == Brightness.dark) {
|
||||
col = getDarkModeColor(col);
|
||||
col = col.toDark;
|
||||
}
|
||||
return col;
|
||||
}
|
||||
@ -38,7 +38,7 @@ Color getAPIColor(
|
||||
APIType.graphql => kColorGQL,
|
||||
};
|
||||
if (brightness == Brightness.dark) {
|
||||
col = getDarkModeColor(col);
|
||||
col = col.toDark;
|
||||
}
|
||||
return col;
|
||||
}
|
||||
@ -57,13 +57,6 @@ Color getHTTPMethodColor(HTTPVerb? method) {
|
||||
return col;
|
||||
}
|
||||
|
||||
Color getDarkModeColor(Color col) {
|
||||
return Color.alphaBlend(
|
||||
col.withValues(alpha: kOpacityDarkModeBlend),
|
||||
kColorWhite,
|
||||
);
|
||||
}
|
||||
|
||||
double? getJsonPreviewerMaxRootNodeWidth(double w) {
|
||||
if (w < 300) {
|
||||
return 150;
|
||||
|
@ -0,0 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import '../tokens/colors.dart';
|
||||
|
||||
extension ColorExtension on Color {
|
||||
Color get toDark => Color.alphaBlend(
|
||||
withValues(alpha: kOpacityDarkModeBlend),
|
||||
kColorWhite,
|
||||
);
|
||||
}
|
@ -1 +1,2 @@
|
||||
export 'color_extensions.dart';
|
||||
export 'context_extensions.dart';
|
||||
|
@ -13,8 +13,7 @@ void main() {
|
||||
expect(getResponseStatusCodeColor(statusCode1), kColorStatusCode200);
|
||||
});
|
||||
|
||||
Color colStatusCode1DarkModeExpected =
|
||||
getDarkModeColor(kColorStatusCode200);
|
||||
Color colStatusCode1DarkModeExpected = kColorStatusCode200.toDark;
|
||||
test('Testing getResponseStatusCodeColor for statusCode 200 dark mode', () {
|
||||
expect(getResponseStatusCodeColor(statusCode1, brightness: dark),
|
||||
colStatusCode1DarkModeExpected);
|
||||
@ -25,8 +24,7 @@ void main() {
|
||||
expect(getResponseStatusCodeColor(statusCode2), kColorStatusCode300);
|
||||
});
|
||||
|
||||
Color colStatusCode2DarkModeExpected =
|
||||
getDarkModeColor(kColorStatusCode300);
|
||||
Color colStatusCode2DarkModeExpected = kColorStatusCode300.toDark;
|
||||
test('Testing getResponseStatusCodeColor for statusCode 300 dark mode', () {
|
||||
expect(getResponseStatusCodeColor(statusCode2, brightness: dark),
|
||||
colStatusCode2DarkModeExpected);
|
||||
@ -37,8 +35,7 @@ void main() {
|
||||
expect(getResponseStatusCodeColor(statusCode3), kColorStatusCode400);
|
||||
});
|
||||
|
||||
Color colStatusCode3DarkModeExpected =
|
||||
getDarkModeColor(kColorStatusCode400);
|
||||
Color colStatusCode3DarkModeExpected = kColorStatusCode400.toDark;
|
||||
test('Testing getResponseStatusCodeColor for statusCode 404 dark mode', () {
|
||||
expect(getResponseStatusCodeColor(statusCode3, brightness: dark),
|
||||
colStatusCode3DarkModeExpected);
|
||||
@ -50,8 +47,7 @@ void main() {
|
||||
expect(getResponseStatusCodeColor(statusCode4), kColorStatusCode500);
|
||||
});
|
||||
|
||||
Color colStatusCode4DarkModeExpected =
|
||||
getDarkModeColor(kColorStatusCode500);
|
||||
Color colStatusCode4DarkModeExpected = kColorStatusCode500.toDark;
|
||||
test('Testing getResponseStatusCodeColor for statusCode 503 dark mode', () {
|
||||
expect(getResponseStatusCodeColor(statusCode4, brightness: dark),
|
||||
colStatusCode4DarkModeExpected);
|
||||
@ -63,8 +59,7 @@ void main() {
|
||||
expect(getResponseStatusCodeColor(statusCode5), kColorStatusCodeDefault);
|
||||
});
|
||||
|
||||
Color colStatusCode5DarkModeExpected =
|
||||
getDarkModeColor(kColorStatusCodeDefault);
|
||||
Color colStatusCode5DarkModeExpected = kColorStatusCodeDefault.toDark;
|
||||
test('Testing getResponseStatusCodeColor for statusCode 101 dark mode', () {
|
||||
expect(getResponseStatusCodeColor(statusCode5, brightness: dark),
|
||||
colStatusCode5DarkModeExpected);
|
||||
@ -73,7 +68,7 @@ void main() {
|
||||
|
||||
group("Testing getAPIColor function", () {
|
||||
HTTPVerb methodGet = HTTPVerb.get;
|
||||
Color colMethodGetDarkModeExpected = getDarkModeColor(kColorHttpMethodGet);
|
||||
Color colMethodGetDarkModeExpected = kColorHttpMethodGet.toDark;
|
||||
test('Test getAPIColor for GET method dark mode', () {
|
||||
expect(
|
||||
getAPIColor(
|
||||
@ -85,8 +80,7 @@ void main() {
|
||||
});
|
||||
|
||||
HTTPVerb methodHead = HTTPVerb.head;
|
||||
Color colMethodHeadDarkModeExpected =
|
||||
getDarkModeColor(kColorHttpMethodHead);
|
||||
Color colMethodHeadDarkModeExpected = kColorHttpMethodHead.toDark;
|
||||
test('Test getHTTPMethodColor for HEAD Method dark mode', () {
|
||||
expect(
|
||||
getAPIColor(
|
||||
@ -98,8 +92,7 @@ void main() {
|
||||
});
|
||||
|
||||
HTTPVerb methodPatch = HTTPVerb.patch;
|
||||
Color colMethodPatchDarkModeExpected =
|
||||
getDarkModeColor(kColorHttpMethodPatch);
|
||||
Color colMethodPatchDarkModeExpected = kColorHttpMethodPatch.toDark;
|
||||
test('Test getHTTPMethodColor for PATCH Method dark mode', () {
|
||||
expect(
|
||||
getAPIColor(
|
||||
@ -111,7 +104,7 @@ void main() {
|
||||
});
|
||||
|
||||
HTTPVerb methodPut = HTTPVerb.put;
|
||||
Color colMethodPutDarkModeExpected = getDarkModeColor(kColorHttpMethodPut);
|
||||
Color colMethodPutDarkModeExpected = kColorHttpMethodPut.toDark;
|
||||
test('Test getHTTPMethodColor for PUT Method dark mode', () {
|
||||
expect(
|
||||
getAPIColor(
|
||||
@ -123,8 +116,7 @@ void main() {
|
||||
});
|
||||
|
||||
HTTPVerb methodPost = HTTPVerb.post;
|
||||
Color colMethodPostDarkModeExpected =
|
||||
getDarkModeColor(kColorHttpMethodPost);
|
||||
Color colMethodPostDarkModeExpected = kColorHttpMethodPost.toDark;
|
||||
test('Test getHTTPMethodColor for POST Method dark mode', () {
|
||||
expect(
|
||||
getAPIColor(
|
||||
@ -136,8 +128,7 @@ void main() {
|
||||
});
|
||||
|
||||
HTTPVerb methodDelete = HTTPVerb.delete;
|
||||
Color colMethodDeleteDarkModeExpected =
|
||||
getDarkModeColor(kColorHttpMethodDelete);
|
||||
Color colMethodDeleteDarkModeExpected = kColorHttpMethodDelete.toDark;
|
||||
test('Test getHTTPMethodColor for DELETE Method dark mode', () {
|
||||
expect(
|
||||
getAPIColor(
|
||||
|
@ -49,7 +49,7 @@ void main() {
|
||||
expect(find.byType(SizedBox), findsOneWidget);
|
||||
expect(find.text('DEL'), findsOneWidget);
|
||||
expect(find.text('GET'), findsNothing);
|
||||
Color colDelDarkMode = getDarkModeColor(kColorHttpMethodDelete);
|
||||
Color colDelDarkMode = kColorHttpMethodDelete.toDark;
|
||||
final delTextWithColor = find.byWidgetPredicate(
|
||||
(widget) => widget is Text && widget.style!.color == colDelDarkMode);
|
||||
expect(delTextWithColor, findsOneWidget);
|
||||
|
Reference in New Issue
Block a user