mirror of
https://github.com/foss42/apidash.git
synced 2025-08-18 09:26:50 +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) {
|
if (brightness == Brightness.dark) {
|
||||||
col = getDarkModeColor(col);
|
col = col.toDark;
|
||||||
}
|
}
|
||||||
return col;
|
return col;
|
||||||
}
|
}
|
||||||
@ -38,7 +38,7 @@ Color getAPIColor(
|
|||||||
APIType.graphql => kColorGQL,
|
APIType.graphql => kColorGQL,
|
||||||
};
|
};
|
||||||
if (brightness == Brightness.dark) {
|
if (brightness == Brightness.dark) {
|
||||||
col = getDarkModeColor(col);
|
col = col.toDark;
|
||||||
}
|
}
|
||||||
return col;
|
return col;
|
||||||
}
|
}
|
||||||
@ -57,13 +57,6 @@ Color getHTTPMethodColor(HTTPVerb? method) {
|
|||||||
return col;
|
return col;
|
||||||
}
|
}
|
||||||
|
|
||||||
Color getDarkModeColor(Color col) {
|
|
||||||
return Color.alphaBlend(
|
|
||||||
col.withValues(alpha: kOpacityDarkModeBlend),
|
|
||||||
kColorWhite,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
double? getJsonPreviewerMaxRootNodeWidth(double w) {
|
double? getJsonPreviewerMaxRootNodeWidth(double w) {
|
||||||
if (w < 300) {
|
if (w < 300) {
|
||||||
return 150;
|
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';
|
export 'context_extensions.dart';
|
||||||
|
@ -13,8 +13,7 @@ void main() {
|
|||||||
expect(getResponseStatusCodeColor(statusCode1), kColorStatusCode200);
|
expect(getResponseStatusCodeColor(statusCode1), kColorStatusCode200);
|
||||||
});
|
});
|
||||||
|
|
||||||
Color colStatusCode1DarkModeExpected =
|
Color colStatusCode1DarkModeExpected = kColorStatusCode200.toDark;
|
||||||
getDarkModeColor(kColorStatusCode200);
|
|
||||||
test('Testing getResponseStatusCodeColor for statusCode 200 dark mode', () {
|
test('Testing getResponseStatusCodeColor for statusCode 200 dark mode', () {
|
||||||
expect(getResponseStatusCodeColor(statusCode1, brightness: dark),
|
expect(getResponseStatusCodeColor(statusCode1, brightness: dark),
|
||||||
colStatusCode1DarkModeExpected);
|
colStatusCode1DarkModeExpected);
|
||||||
@ -25,8 +24,7 @@ void main() {
|
|||||||
expect(getResponseStatusCodeColor(statusCode2), kColorStatusCode300);
|
expect(getResponseStatusCodeColor(statusCode2), kColorStatusCode300);
|
||||||
});
|
});
|
||||||
|
|
||||||
Color colStatusCode2DarkModeExpected =
|
Color colStatusCode2DarkModeExpected = kColorStatusCode300.toDark;
|
||||||
getDarkModeColor(kColorStatusCode300);
|
|
||||||
test('Testing getResponseStatusCodeColor for statusCode 300 dark mode', () {
|
test('Testing getResponseStatusCodeColor for statusCode 300 dark mode', () {
|
||||||
expect(getResponseStatusCodeColor(statusCode2, brightness: dark),
|
expect(getResponseStatusCodeColor(statusCode2, brightness: dark),
|
||||||
colStatusCode2DarkModeExpected);
|
colStatusCode2DarkModeExpected);
|
||||||
@ -37,8 +35,7 @@ void main() {
|
|||||||
expect(getResponseStatusCodeColor(statusCode3), kColorStatusCode400);
|
expect(getResponseStatusCodeColor(statusCode3), kColorStatusCode400);
|
||||||
});
|
});
|
||||||
|
|
||||||
Color colStatusCode3DarkModeExpected =
|
Color colStatusCode3DarkModeExpected = kColorStatusCode400.toDark;
|
||||||
getDarkModeColor(kColorStatusCode400);
|
|
||||||
test('Testing getResponseStatusCodeColor for statusCode 404 dark mode', () {
|
test('Testing getResponseStatusCodeColor for statusCode 404 dark mode', () {
|
||||||
expect(getResponseStatusCodeColor(statusCode3, brightness: dark),
|
expect(getResponseStatusCodeColor(statusCode3, brightness: dark),
|
||||||
colStatusCode3DarkModeExpected);
|
colStatusCode3DarkModeExpected);
|
||||||
@ -50,8 +47,7 @@ void main() {
|
|||||||
expect(getResponseStatusCodeColor(statusCode4), kColorStatusCode500);
|
expect(getResponseStatusCodeColor(statusCode4), kColorStatusCode500);
|
||||||
});
|
});
|
||||||
|
|
||||||
Color colStatusCode4DarkModeExpected =
|
Color colStatusCode4DarkModeExpected = kColorStatusCode500.toDark;
|
||||||
getDarkModeColor(kColorStatusCode500);
|
|
||||||
test('Testing getResponseStatusCodeColor for statusCode 503 dark mode', () {
|
test('Testing getResponseStatusCodeColor for statusCode 503 dark mode', () {
|
||||||
expect(getResponseStatusCodeColor(statusCode4, brightness: dark),
|
expect(getResponseStatusCodeColor(statusCode4, brightness: dark),
|
||||||
colStatusCode4DarkModeExpected);
|
colStatusCode4DarkModeExpected);
|
||||||
@ -63,8 +59,7 @@ void main() {
|
|||||||
expect(getResponseStatusCodeColor(statusCode5), kColorStatusCodeDefault);
|
expect(getResponseStatusCodeColor(statusCode5), kColorStatusCodeDefault);
|
||||||
});
|
});
|
||||||
|
|
||||||
Color colStatusCode5DarkModeExpected =
|
Color colStatusCode5DarkModeExpected = kColorStatusCodeDefault.toDark;
|
||||||
getDarkModeColor(kColorStatusCodeDefault);
|
|
||||||
test('Testing getResponseStatusCodeColor for statusCode 101 dark mode', () {
|
test('Testing getResponseStatusCodeColor for statusCode 101 dark mode', () {
|
||||||
expect(getResponseStatusCodeColor(statusCode5, brightness: dark),
|
expect(getResponseStatusCodeColor(statusCode5, brightness: dark),
|
||||||
colStatusCode5DarkModeExpected);
|
colStatusCode5DarkModeExpected);
|
||||||
@ -73,7 +68,7 @@ void main() {
|
|||||||
|
|
||||||
group("Testing getAPIColor function", () {
|
group("Testing getAPIColor function", () {
|
||||||
HTTPVerb methodGet = HTTPVerb.get;
|
HTTPVerb methodGet = HTTPVerb.get;
|
||||||
Color colMethodGetDarkModeExpected = getDarkModeColor(kColorHttpMethodGet);
|
Color colMethodGetDarkModeExpected = kColorHttpMethodGet.toDark;
|
||||||
test('Test getAPIColor for GET method dark mode', () {
|
test('Test getAPIColor for GET method dark mode', () {
|
||||||
expect(
|
expect(
|
||||||
getAPIColor(
|
getAPIColor(
|
||||||
@ -85,8 +80,7 @@ void main() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
HTTPVerb methodHead = HTTPVerb.head;
|
HTTPVerb methodHead = HTTPVerb.head;
|
||||||
Color colMethodHeadDarkModeExpected =
|
Color colMethodHeadDarkModeExpected = kColorHttpMethodHead.toDark;
|
||||||
getDarkModeColor(kColorHttpMethodHead);
|
|
||||||
test('Test getHTTPMethodColor for HEAD Method dark mode', () {
|
test('Test getHTTPMethodColor for HEAD Method dark mode', () {
|
||||||
expect(
|
expect(
|
||||||
getAPIColor(
|
getAPIColor(
|
||||||
@ -98,8 +92,7 @@ void main() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
HTTPVerb methodPatch = HTTPVerb.patch;
|
HTTPVerb methodPatch = HTTPVerb.patch;
|
||||||
Color colMethodPatchDarkModeExpected =
|
Color colMethodPatchDarkModeExpected = kColorHttpMethodPatch.toDark;
|
||||||
getDarkModeColor(kColorHttpMethodPatch);
|
|
||||||
test('Test getHTTPMethodColor for PATCH Method dark mode', () {
|
test('Test getHTTPMethodColor for PATCH Method dark mode', () {
|
||||||
expect(
|
expect(
|
||||||
getAPIColor(
|
getAPIColor(
|
||||||
@ -111,7 +104,7 @@ void main() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
HTTPVerb methodPut = HTTPVerb.put;
|
HTTPVerb methodPut = HTTPVerb.put;
|
||||||
Color colMethodPutDarkModeExpected = getDarkModeColor(kColorHttpMethodPut);
|
Color colMethodPutDarkModeExpected = kColorHttpMethodPut.toDark;
|
||||||
test('Test getHTTPMethodColor for PUT Method dark mode', () {
|
test('Test getHTTPMethodColor for PUT Method dark mode', () {
|
||||||
expect(
|
expect(
|
||||||
getAPIColor(
|
getAPIColor(
|
||||||
@ -123,8 +116,7 @@ void main() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
HTTPVerb methodPost = HTTPVerb.post;
|
HTTPVerb methodPost = HTTPVerb.post;
|
||||||
Color colMethodPostDarkModeExpected =
|
Color colMethodPostDarkModeExpected = kColorHttpMethodPost.toDark;
|
||||||
getDarkModeColor(kColorHttpMethodPost);
|
|
||||||
test('Test getHTTPMethodColor for POST Method dark mode', () {
|
test('Test getHTTPMethodColor for POST Method dark mode', () {
|
||||||
expect(
|
expect(
|
||||||
getAPIColor(
|
getAPIColor(
|
||||||
@ -136,8 +128,7 @@ void main() {
|
|||||||
});
|
});
|
||||||
|
|
||||||
HTTPVerb methodDelete = HTTPVerb.delete;
|
HTTPVerb methodDelete = HTTPVerb.delete;
|
||||||
Color colMethodDeleteDarkModeExpected =
|
Color colMethodDeleteDarkModeExpected = kColorHttpMethodDelete.toDark;
|
||||||
getDarkModeColor(kColorHttpMethodDelete);
|
|
||||||
test('Test getHTTPMethodColor for DELETE Method dark mode', () {
|
test('Test getHTTPMethodColor for DELETE Method dark mode', () {
|
||||||
expect(
|
expect(
|
||||||
getAPIColor(
|
getAPIColor(
|
||||||
|
@ -49,7 +49,7 @@ void main() {
|
|||||||
expect(find.byType(SizedBox), findsOneWidget);
|
expect(find.byType(SizedBox), findsOneWidget);
|
||||||
expect(find.text('DEL'), findsOneWidget);
|
expect(find.text('DEL'), findsOneWidget);
|
||||||
expect(find.text('GET'), findsNothing);
|
expect(find.text('GET'), findsNothing);
|
||||||
Color colDelDarkMode = getDarkModeColor(kColorHttpMethodDelete);
|
Color colDelDarkMode = kColorHttpMethodDelete.toDark;
|
||||||
final delTextWithColor = find.byWidgetPredicate(
|
final delTextWithColor = find.byWidgetPredicate(
|
||||||
(widget) => widget is Text && widget.style!.color == colDelDarkMode);
|
(widget) => widget is Text && widget.style!.color == colDelDarkMode);
|
||||||
expect(delTextWithColor, findsOneWidget);
|
expect(delTextWithColor, findsOneWidget);
|
||||||
|
Reference in New Issue
Block a user