mirror of
https://github.com/git-touch/git-touch
synced 2025-02-22 06:17:40 +01:00
refactor: css color parse
This commit is contained in:
parent
cac6385e6e
commit
08f70164f4
@ -1,17 +1,19 @@
|
||||
import 'package:universal_io/io.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:git_touch/models/theme.dart';
|
||||
import 'package:git_touch/widgets/border_view.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:primer/primer.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:tuple/tuple.dart';
|
||||
import 'package:universal_io/io.dart';
|
||||
import 'package:url_launcher/url_launcher.dart';
|
||||
export 'extensions.dart';
|
||||
|
||||
export 'package:flutter_vector_icons/flutter_vector_icons.dart'
|
||||
show Octicons, Ionicons;
|
||||
|
||||
export 'extensions.dart';
|
||||
|
||||
class StorageKeys {
|
||||
@deprecated
|
||||
static const account = 'account';
|
||||
@ -40,20 +42,6 @@ class CommonStyle {
|
||||
static final monospace = Platform.isIOS ? 'Menlo' : 'monospace'; // FIXME:
|
||||
}
|
||||
|
||||
Color convertColor(String? cssHex) {
|
||||
if (cssHex == null) {
|
||||
return const Color(0xffededed); // Default color
|
||||
}
|
||||
|
||||
if (cssHex.startsWith('#')) {
|
||||
cssHex = cssHex.substring(1);
|
||||
}
|
||||
if (cssHex.length == 3) {
|
||||
cssHex = cssHex.split('').map((char) => char + char).join('');
|
||||
}
|
||||
return Color(int.tryParse('ff$cssHex', radix: 16) ?? 0);
|
||||
}
|
||||
|
||||
Color getFontColorByBrightness(Color color) {
|
||||
var grayscale = color.red * 0.3 + color.green * 0.59 + color.blue * 0.11;
|
||||
// Fimber.d('color: $color, $grayscale');
|
||||
|
@ -1,6 +1,7 @@
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:from_css_color/from_css_color.dart';
|
||||
import 'package:git_touch/models/theme.dart';
|
||||
import 'package:git_touch/utils/utils.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
@ -86,10 +87,10 @@ class ContributionWidget extends StatelessWidget {
|
||||
height: 10,
|
||||
child: DecoratedBox(
|
||||
decoration: BoxDecoration(
|
||||
color: convertColor(
|
||||
color: fromCssColor(
|
||||
theme.brightness == Brightness.dark
|
||||
? darkMapper[day.hexColor!]
|
||||
: day.hexColor,
|
||||
? darkMapper[day.hexColor!]!
|
||||
: day.hexColor!,
|
||||
),
|
||||
borderRadius: BorderRadius.circular(2)),
|
||||
),
|
||||
|
@ -1,11 +1,12 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:from_css_color/from_css_color.dart';
|
||||
import 'package:git_touch/models/theme.dart';
|
||||
import 'package:git_touch/utils/utils.dart';
|
||||
import 'package:git_touch/widgets/avatar.dart';
|
||||
import 'package:git_touch/widgets/link.dart';
|
||||
import 'package:github/github.dart' as github;
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:timeago/timeago.dart' as timeago;
|
||||
import 'package:github/github.dart' as github;
|
||||
|
||||
class GistsItem extends StatelessWidget {
|
||||
final String? description;
|
||||
@ -102,8 +103,8 @@ class GistsItem extends StatelessWidget {
|
||||
width: 12,
|
||||
height: 12,
|
||||
decoration: BoxDecoration(
|
||||
color: convertColor(
|
||||
github.languageColors[language!]),
|
||||
color: fromCssColor(
|
||||
github.languageColors[language!]!),
|
||||
shape: BoxShape.circle,
|
||||
),
|
||||
),
|
||||
|
@ -1,6 +1,6 @@
|
||||
import 'package:antd_mobile/antd_mobile.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:git_touch/utils/utils.dart';
|
||||
import 'package:from_css_color/from_css_color.dart';
|
||||
|
||||
class HexColorTag extends StatelessWidget {
|
||||
final String name;
|
||||
@ -16,7 +16,7 @@ class HexColorTag extends StatelessWidget {
|
||||
Widget build(BuildContext context) {
|
||||
return AntTag(
|
||||
round: true,
|
||||
color: convertColor(color),
|
||||
color: fromCssColor(color),
|
||||
child: Text(name),
|
||||
);
|
||||
}
|
||||
|
@ -1,8 +1,9 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:from_css_color/from_css_color.dart';
|
||||
import 'package:git_touch/models/theme.dart';
|
||||
import 'package:git_touch/utils/utils.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:github/github.dart' as github;
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class LanguageBarItem {
|
||||
String? name;
|
||||
@ -45,7 +46,7 @@ class LanguageBar extends StatelessWidget {
|
||||
const SizedBox(width: 1),
|
||||
items
|
||||
.map((lang) => Container(
|
||||
color: convertColor(lang.hexColor),
|
||||
color: fromCssColor(lang.hexColor!),
|
||||
width: langWidth * lang.ratio!))
|
||||
.toList(),
|
||||
),
|
||||
@ -73,7 +74,7 @@ class LanguageBar extends StatelessWidget {
|
||||
width: 18,
|
||||
height: 18,
|
||||
decoration: BoxDecoration(
|
||||
color: convertColor(edge.hexColor),
|
||||
color: fromCssColor(edge.hexColor!),
|
||||
shape: BoxShape.circle,
|
||||
),
|
||||
),
|
||||
|
@ -1,5 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:from_css_color/from_css_color.dart';
|
||||
import 'package:git_touch/graphql/__generated__/github.data.gql.dart';
|
||||
import 'package:git_touch/models/bitbucket.dart';
|
||||
import 'package:git_touch/models/gitlab.dart';
|
||||
@ -8,9 +9,9 @@ import 'package:git_touch/models/theme.dart';
|
||||
import 'package:git_touch/utils/utils.dart';
|
||||
import 'package:git_touch/widgets/avatar.dart';
|
||||
import 'package:git_touch/widgets/link.dart';
|
||||
import 'package:github/github.dart' as github;
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:timeago/timeago.dart' as timeago;
|
||||
import 'package:github/github.dart' as github;
|
||||
|
||||
class RepositoryItem extends StatelessWidget {
|
||||
final String? owner;
|
||||
@ -224,8 +225,8 @@ class RepositoryItem extends StatelessWidget {
|
||||
width: 12,
|
||||
height: 12,
|
||||
decoration: BoxDecoration(
|
||||
color: convertColor(primaryLanguageColor ??
|
||||
github.languageColors[primaryLanguageName!]),
|
||||
color: fromCssColor(primaryLanguageColor ??
|
||||
github.languageColors[primaryLanguageName!]!),
|
||||
shape: BoxShape.circle,
|
||||
),
|
||||
),
|
||||
|
@ -322,6 +322,13 @@ packages:
|
||||
description: flutter
|
||||
source: sdk
|
||||
version: "0.0.0"
|
||||
from_css_color:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: from_css_color
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "2.0.0"
|
||||
frontend_server_client:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -67,6 +67,7 @@ dependencies:
|
||||
pub_semver:
|
||||
google_fonts:
|
||||
go_router:
|
||||
from_css_color:
|
||||
antd_mobile:
|
||||
path: ../ant-design-mobile-flutter
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user