many theme consistency updates per marcia

This commit is contained in:
erinn 2022-12-05 16:06:33 -08:00
parent ada351f778
commit 65b0ecc0c3
13 changed files with 217 additions and 150 deletions

View File

@ -45,37 +45,37 @@ class CwtchDark extends OpaqueThemeType {
get theme => cwtch_theme; get theme => cwtch_theme;
get mode => mode_dark; get mode => mode_dark;
get backgroundHilightElementColor => deepPurple;
get backgroundMainColor => background; // darkGreyPurple; get backgroundMainColor => background; // darkGreyPurple;
get backgroundPaneColor => header; //darkGreyPurple; get backgroundPaneColor => header; //darkGreyPurple;
get topbarColor => header; //darkGreyPurple;
get backgroundHilightElementColor => deepPurple;
get mainTextColor => font; //whiteishPurple;
get sendHintTextColor => mauvePurple;
get hilightElementColor => purple;
get defaultButtonColor => accent; //hotPink; get defaultButtonColor => accent; //hotPink;
get defaultButtonTextColor => whiteishPurple;
get defaultButtonDisabledColor => lightGrey; get defaultButtonDisabledColor => lightGrey;
get defaultButtonDisabledTextColor => darkGreyPurple; get defaultButtonDisabledTextColor => darkGreyPurple;
get textfieldBackgroundColor => deepPurple; get defaultButtonTextColor => whiteishPurple;
get textfieldBorderColor => deepPurple;
get textfieldHintColor => mainTextColor; //TODO pick
get textfieldErrorColor => hotPink;
get scrollbarDefaultColor => purple;
get portraitBackgroundColor => deepPurple;
get portraitOnlineBorderColor => whiteishPurple;
get portraitOfflineBorderColor => purple;
get portraitBlockedBorderColor => lightGrey;
get portraitBlockedTextColor => lightGrey;
get portraitContactBadgeColor => hotPink;
get portraitContactBadgeTextColor => whiteishPurple;
get portraitProfileBadgeColor => hotPink;
get portraitProfileBadgeTextColor => whiteishPurple;
get dropShadowColor => mauvePurple; get dropShadowColor => mauvePurple;
get toolbarIconColor => settings; //whiteishPurple; get hilightElementColor => purple;
get mainTextColor => font; //whiteishPurple;
get messageFromMeBackgroundColor => userBubble; // mauvePurple; get messageFromMeBackgroundColor => userBubble; // mauvePurple;
get messageFromMeTextColor => font; //whiteishPurple; get messageFromMeTextColor => font; //whiteishPurple;
get messageFromOtherBackgroundColor => peerBubble; //deepPurple; get messageFromOtherBackgroundColor => peerBubble; //deepPurple;
get messageFromOtherTextColor => font; //whiteishPurple; get messageFromOtherTextColor => font; //whiteishPurple;
get portraitBackgroundColor => deepPurple;
get portraitBlockedBorderColor => lightGrey;
get portraitBlockedTextColor => lightGrey;
get portraitContactBadgeColor => hotPink;
get portraitContactBadgeTextColor => whiteishPurple;
get portraitOfflineBorderColor => purple;
get portraitOnlineBorderColor => whiteishPurple;
get portraitProfileBadgeColor => hotPink;
get portraitProfileBadgeTextColor => whiteishPurple;
get scrollbarDefaultColor => purple;
get sendHintTextColor => mauvePurple;
get textfieldBackgroundColor => deepPurple;
get textfieldBorderColor => deepPurple;
get textfieldErrorColor => hotPink;
get textfieldHintColor => mainTextColor; //TODO pick
get toolbarIconColor => settings; //whiteishPurple;
get topbarColor => header; //darkGreyPurple;
} }
class CwtchLight extends OpaqueThemeType { class CwtchLight extends OpaqueThemeType {
@ -90,34 +90,34 @@ class CwtchLight extends OpaqueThemeType {
get theme => cwtch_theme; get theme => cwtch_theme;
get mode => mode_light; get mode => mode_light;
get backgroundHilightElementColor => softPurple;
get backgroundMainColor => background; //whitePurple; get backgroundMainColor => background; //whitePurple;
get backgroundPaneColor => background; //whitePurple; get backgroundPaneColor => background; //whitePurple;
get topbarColor => header; //softPurple;
get backgroundHilightElementColor => softPurple;
get mainTextColor => settings;
get sendHintTextColor => purple;
get hilightElementColor => purple; //darkPurple; // todo shouldn't be this, too dark, makes font unreadable
get defaultButtonColor => accent; // hotPink; get defaultButtonColor => accent; // hotPink;
get defaultButtonTextColor => whitePurple; // ?
get defaultButtonDisabledColor => softGrey; get defaultButtonDisabledColor => softGrey;
get textfieldBackgroundColor => purple; get defaultButtonTextColor => whitePurple; // ?
get textfieldBorderColor => purple;
get textfieldHintColor => font; //TODO pick
get textfieldErrorColor => hotPink;
get scrollbarDefaultColor => accent;
get portraitBackgroundColor => softPurple;
get portraitOnlineBorderColor => greyPurple;
get portraitOfflineBorderColor => greyPurple;
get portraitBlockedBorderColor => softGrey;
get portraitBlockedTextColor => softGrey;
get portraitContactBadgeColor => accent;
get portraitContactBadgeTextColor => whitePurple;
get portraitProfileBadgeColor => accent;
get portraitProfileBadgeTextColor => whitePurple;
get dropShadowColor => purple; get dropShadowColor => purple;
get toolbarIconColor => settings; //darkPurple; get hilightElementColor => purple; //darkPurple; // todo shouldn't be this, too dark, makes font unreadable
get mainTextColor => settings;
get messageFromMeBackgroundColor => userBubble; //brightPurple; get messageFromMeBackgroundColor => userBubble; //brightPurple;
get messageFromMeTextColor => font; //mainTextColor; get messageFromMeTextColor => font; //mainTextColor;
get messageFromOtherBackgroundColor => peerBubble; //purple; get messageFromOtherBackgroundColor => peerBubble; //purple;
get messageFromOtherTextColor => font; //darkPurple; get messageFromOtherTextColor => font; //darkPurple;
get portraitBackgroundColor => softPurple;
get portraitBlockedBorderColor => softGrey;
get portraitBlockedTextColor => softGrey;
get portraitContactBadgeColor => accent;
get portraitContactBadgeTextColor => whitePurple;
get portraitOfflineBorderColor => greyPurple;
get portraitOnlineBorderColor => greyPurple;
get portraitProfileBadgeColor => accent;
get portraitProfileBadgeTextColor => whitePurple;
get scrollbarDefaultColor => accent;
get sendHintTextColor => purple;
get textfieldBackgroundColor => purple;
get textfieldBorderColor => purple;
get textfieldErrorColor => hotPink;
get textfieldHintColor => font; //TODO pick
get toolbarIconColor => settings; //darkPurple;
get topbarColor => header; //softPurple;
} }

View File

@ -17,53 +17,73 @@ OpaqueThemeType GetGhostTheme(String mode) {
} }
class GhostDark extends CwtchDark { class GhostDark extends CwtchDark {
static final Color darkBlue = Color(0xFF000051);
static final Color lightBlue = Color(0xFF1A237E);
static final Color background = Color(0xFF0D0D1F); static final Color background = Color(0xFF0D0D1F);
static final Color header = Color(0xFF0D0D1F); static final Color header = Color(0xFF0D0D1F);
static final Color userBubble = Color(0xFF1A237E); static final Color userBubble = lightBlue;
static final Color peerBubble = Color(0xFF000051); static final Color peerBubble = darkBlue;
static final Color font = Color(0xFFFFFFFF); static final Color font = Colors.white;
static final Color settings = Color(0xFFFDFFFD); static final Color settings = Color(0xFFFDFFFD);
static final Color accent = Color(0xFFD20070); static final Color accent = lightBlue;//Color(0xFFD20070);
get theme => ghost_theme; get theme => ghost_theme;
get mode => mode_dark; get mode => mode_dark;
get backgroundMainColor => background; // darkGreyPurple; get backgroundHilightElementColor => darkBlue;
get backgroundPaneColor => header; //darkGreyPurple; get backgroundMainColor => background;
get topbarColor => header; //darkGreyPurple; get backgroundPaneColor => header;
get mainTextColor => font; //whiteishPurple; get defaultButtonColor => accent;
get defaultButtonColor => accent; //hotPink; get dropShadowColor => GhostLight.darkBlue;
get textfieldHintColor => mainTextColor; //TODO pick get mainTextColor => font;
get toolbarIconColor => settings; //whiteishPurple; get messageFromMeBackgroundColor => userBubble;
get messageFromMeBackgroundColor => userBubble; // mauvePurple; get messageFromMeTextColor => font;
get messageFromMeTextColor => font; //whiteishPurple; get messageFromOtherBackgroundColor => peerBubble;
get messageFromOtherBackgroundColor => peerBubble; //deepPurple; get messageFromOtherTextColor => font;
get messageFromOtherTextColor => font; //whiteishPurple; get scrollbarDefaultColor => lightBlue;
get sendHintTextColor => GhostLight.darkBlue;
get textfieldBackgroundColor => peerBubble;
get textfieldBorderColor => userBubble;
get textfieldHintColor => mainTextColor;
get toolbarIconColor => settings;
get topbarColor => header;
} }
class GhostLight extends CwtchLight { class GhostLight extends CwtchLight {
static final Color darkBlue = Color(0xFFAAB6FE);
static final Color lighterDarkBlue = Color(0xFFc3ccfe);
static final Color lightBlue = Color(0xFFE8EAF6);
static final Color background = Color(0xFFFDFDFF); static final Color background = Color(0xFFFDFDFF);
static final Color header = Color(0xFFAAB6FE); static final Color header = darkBlue;
static final Color userBubble = Color(0xFFAAB6FE); static final Color userBubble = darkBlue;
static final Color peerBubble = Color(0xFFE8EAF6); static final Color peerBubble = lightBlue;
static final Color font = Color(0xFF0D0D1F); static final Color font = Color(0xFF0D0D1F);
static final Color settings = Color(0xFF0D0D1F); static final Color settings = Color(0xFF0D0D1F);
static final Color accent = Color(0xFFD20070); static final Color accent = darkBlue;
get theme => ghost_theme; get theme => ghost_theme;
get mode => mode_light; get mode => mode_light;
get backgroundMainColor => background; //whitePurple; get backgroundHilightElementColor => peerBubble;
get backgroundPaneColor => background; //whitePurple; get backgroundMainColor => background;
get topbarColor => header; //softPurple; get backgroundPaneColor => background;
get defaultButtonColor => accent;
get defaultButtonActiveColor => lighterDarkBlue;
get defaultButtonDisabledColor => peerBubble;
get dropShadowColor => darkBlue;
get mainTextColor => settings; get mainTextColor => settings;
get defaultButtonColor => accent; // hotPink; get messageFromMeBackgroundColor => userBubble;
get textfieldHintColor => font; //TODO pick get messageFromMeTextColor => font;
get scrollbarDefaultColor => accent; get messageFromOtherBackgroundColor => peerBubble;
get messageFromOtherTextColor => font;
get portraitContactBadgeColor => accent; get portraitContactBadgeColor => accent;
get toolbarIconColor => settings; //darkPurple; get scrollbarDefaultColor => accent;
get messageFromMeBackgroundColor => userBubble; //brightPurple; get sendHintTextColor => lightBlue;
get messageFromMeTextColor => font; //mainTextColor; get textfieldBackgroundColor => peerBubble;
get messageFromOtherBackgroundColor => peerBubble; //purple; get textfieldBorderColor => userBubble;
get messageFromOtherTextColor => font; //darkPurple; get textfieldHintColor => font;
get toolbarIconColor => settings;
get topbarColor => header;
} }

View File

@ -17,28 +17,34 @@ OpaqueThemeType GetMermaidTheme(String mode) {
} }
class MermaidDark extends CwtchDark { class MermaidDark extends CwtchDark {
static final Color lavender = Color(0xFFB194C1);
static final Color background = Color(0xFF102426); static final Color background = Color(0xFF102426);
static final Color header = Color(0xFF102426); static final Color header = Color(0xFF102426);
static final Color userBubble = Color(0xFF00838F); static final Color userBubble = Color(0xFF00838F);
static final Color peerBubble = Color(0xFF00363A); static final Color peerBubble = Color(0xFF00363A);
static final Color font = Color(0xFFFFFFFF); static final Color font = Colors.white;
static final Color settings = Color(0xFFF7FCFD); static final Color settings = Color(0xFFF7FCFD);
static final Color accent = Color(0xFF8E64A5); static final Color accent = Color(0xFF8E64A5);
get theme => mermaid_theme; get theme => mermaid_theme;
get mode => mode_dark; get mode => mode_dark;
get backgroundHilightElementColor => peerBubble;
get backgroundMainColor => background; // darkGreyPurple; get backgroundMainColor => background; // darkGreyPurple;
get backgroundPaneColor => header; //darkGreyPurple; get backgroundPaneColor => header; //darkGreyPurple;
get topbarColor => header; //darkGreyPurple;
get mainTextColor => font; //whiteishPurple;
get defaultButtonColor => accent; //hotPink; get defaultButtonColor => accent; //hotPink;
get textfieldHintColor => mainTextColor; //TODO pick get dropShadowColor => lavender;
get toolbarIconColor => settings; //whiteishPurple; get mainTextColor => font; //whiteishPurple;
get messageFromMeBackgroundColor => userBubble; // mauvePurple; get messageFromMeBackgroundColor => userBubble; // mauvePurple;
get messageFromMeTextColor => font; //whiteishPurple; get messageFromMeTextColor => font; //whiteishPurple;
get messageFromOtherBackgroundColor => peerBubble; //deepPurple; get messageFromOtherBackgroundColor => peerBubble; //deepPurple;
get messageFromOtherTextColor => font; //whiteishPurple; get messageFromOtherTextColor => font; //whiteishPurple;
get textfieldBackgroundColor => peerBubble;
get textfieldBorderColor => userBubble;
get textfieldHintColor => mainTextColor;
get toolbarIconColor => settings; //whiteishPurple;
get topbarColor => header; //darkGreyPurple;
} }
class MermaidLight extends CwtchLight { class MermaidLight extends CwtchLight {
@ -53,17 +59,21 @@ class MermaidLight extends CwtchLight {
get theme => mermaid_theme; get theme => mermaid_theme;
get mode => mode_light; get mode => mode_light;
get backgroundHilightElementColor => peerBubble;
get backgroundMainColor => background; //whitePurple; get backgroundMainColor => background; //whitePurple;
get backgroundPaneColor => background; //whitePurple; get backgroundPaneColor => background; //whitePurple;
get topbarColor => header; //softPurple;
get mainTextColor => settings;
get defaultButtonColor => accent; // hotPink; get defaultButtonColor => accent; // hotPink;
get textfieldHintColor => font; //TODO pick get dropShadowColor => peerBubble;
get scrollbarDefaultColor => accent; get mainTextColor => settings;
get portraitContactBadgeColor => accent;
get toolbarIconColor => settings; //darkPurple;
get messageFromMeBackgroundColor => userBubble; //brightPurple; get messageFromMeBackgroundColor => userBubble; //brightPurple;
get messageFromMeTextColor => font; //mainTextColor; get messageFromMeTextColor => font; //mainTextColor;
get messageFromOtherBackgroundColor => peerBubble; //purple; get messageFromOtherBackgroundColor => peerBubble; //purple;
get messageFromOtherTextColor => font; //darkPurple; get messageFromOtherTextColor => font; //darkPurple;
get portraitContactBadgeColor => accent;
get scrollbarDefaultColor => accent;
get textfieldBackgroundColor => peerBubble;
get textfieldBorderColor => userBubble;
get textfieldHintColor => font;
get toolbarIconColor => settings; //darkPurple;
get topbarColor => header; //softPurple;
} }

View File

@ -17,6 +17,7 @@ OpaqueThemeType GetMidnightTheme(String mode) {
} }
class MidnightDark extends CwtchDark { class MidnightDark extends CwtchDark {
static final Color accentGray = Color(0xFFE0E0E0);
static final Color background = Color(0xFF1B1B1B); static final Color background = Color(0xFF1B1B1B);
static final Color backgroundAlt = Color(0xFF494949); static final Color backgroundAlt = Color(0xFF494949);
static final Color header = Color(0xFF1B1B1B); static final Color header = Color(0xFF1B1B1B);
@ -29,24 +30,26 @@ class MidnightDark extends CwtchDark {
get theme => midnight_theme; get theme => midnight_theme;
get mode => mode_dark; get mode => mode_dark;
get backgroundHilightElementColor => backgroundAlt;
get backgroundMainColor => background; // darkGreyPurple; get backgroundMainColor => background; // darkGreyPurple;
get backgroundPaneColor => header; //darkGreyPurple; get backgroundPaneColor => header; //darkGreyPurple;
get topbarColor => header; //darkGreyPurple;
get mainTextColor => font; //whiteishPurple;
get defaultButtonColor => accent; //hotPink; get defaultButtonColor => accent; //hotPink;
get textfieldHintColor => mainTextColor; //TODO pick get dropShadowColor => accentGray;
get toolbarIconColor => settings; //whiteishPurple; get mainTextColor => font; //whiteishPurple;
get messageFromMeBackgroundColor => userBubble; // mauvePurple; get messageFromMeBackgroundColor => userBubble; // mauvePurple;
get messageFromMeTextColor => font; //whiteishPurple; get messageFromMeTextColor => font; //whiteishPurple;
get messageFromOtherBackgroundColor => peerBubble; //deepPurple; get messageFromOtherBackgroundColor => peerBubble; //deepPurple;
get messageFromOtherTextColor => font; //whiteishPurple; get messageFromOtherTextColor => font; //whiteishPurple;
get scrollbarDefaultColor => accentGray;
get textfieldBackgroundColor => peerBubble; get textfieldBackgroundColor => peerBubble;
get textfieldBorderColor => userBubble; get textfieldBorderColor => userBubble;
get backgroundHilightElementColor => backgroundAlt; get textfieldHintColor => mainTextColor;
get toolbarIconColor => settings; //whiteishPurple;
get topbarColor => header; //darkGreyPurple;
} }
class MidnightLight extends CwtchLight { class MidnightLight extends CwtchLight {
static final Color background = Color(0xFFFFFDFF); static final Color background = Color(0xFFFBFBFB);//Color(0xFFFFFDFF);
static final Color header = Color(0xFFE0E0E0); static final Color header = Color(0xFFE0E0E0);
static final Color userBubble = Color(0xFFE0E0E0); static final Color userBubble = Color(0xFFE0E0E0);
static final Color peerBubble = Color(0xFFBABDBE); static final Color peerBubble = Color(0xFFBABDBE);
@ -57,18 +60,21 @@ class MidnightLight extends CwtchLight {
get theme => midnight_theme; get theme => midnight_theme;
get mode => mode_light; get mode => mode_light;
get backgroundHilightElementColor => peerBubble;
get backgroundMainColor => background; //whitePurple; get backgroundMainColor => background; //whitePurple;
get backgroundPaneColor => background; //whitePurple; get backgroundPaneColor => background; //whitePurple;
get topbarColor => header; //softPurple;
get mainTextColor => settings;
get defaultButtonColor => accent; // hotPink; get defaultButtonColor => accent; // hotPink;
get textfieldHintColor => font; //TODO pick get mainTextColor => settings;
get scrollbarDefaultColor => accent;
get portraitContactBadgeColor => accent;
get toolbarIconColor => settings; //darkPurple;
get messageFromMeBackgroundColor => userBubble; //brightPurple; get messageFromMeBackgroundColor => userBubble; //brightPurple;
get messageFromMeTextColor => font; //mainTextColor; get messageFromMeTextColor => font; //mainTextColor;
get messageFromOtherBackgroundColor => peerBubble; //purple; get messageFromOtherBackgroundColor => peerBubble; //purple;
get messageFromOtherTextColor => font; //darkPurple; get messageFromOtherTextColor => font; //darkPurple;
get portraitContactBadgeColor => accent;
get portraitOfflineBorderColor => peerBubble;
get portraitOnlineBorderColor => font;
get scrollbarDefaultColor => accent;
get textfieldBackgroundColor => userBubble; get textfieldBackgroundColor => userBubble;
get textfieldHintColor => font;
get toolbarIconColor => settings; //darkPurple;
get topbarColor => header; //softPurple;
} }

View File

@ -30,15 +30,16 @@ class Neon1Dark extends CwtchDark {
get backgroundMainColor => background; // darkGreyPurple; get backgroundMainColor => background; // darkGreyPurple;
get backgroundPaneColor => header; //darkGreyPurple; get backgroundPaneColor => header; //darkGreyPurple;
get topbarColor => header; //darkGreyPurple;
get mainTextColor => font; //whiteishPurple;
get defaultButtonColor => accent; //hotPink; get defaultButtonColor => accent; //hotPink;
get textfieldHintColor => mainTextColor; //TODO pick get mainTextColor => font; //whiteishPurple;
get toolbarIconColor => settings; //whiteishPurple;
get messageFromMeBackgroundColor => userBubble; // mauvePurple; get messageFromMeBackgroundColor => userBubble; // mauvePurple;
get messageFromMeTextColor => font; //whiteishPurple; get messageFromMeTextColor => font; //whiteishPurple;
get messageFromOtherBackgroundColor => peerBubble; //deepPurple; get messageFromOtherBackgroundColor => peerBubble; //deepPurple;
get messageFromOtherTextColor => font; //whiteishPurple; get messageFromOtherTextColor => font; //whiteishPurple;
get scrollbarDefaultColor => accent;
get textfieldHintColor => mainTextColor;
get toolbarIconColor => settings; //whiteishPurple;
get topbarColor => header; //darkGreyPurple;
} }
class Neon1Light extends CwtchLight { class Neon1Light extends CwtchLight {
@ -55,15 +56,20 @@ class Neon1Light extends CwtchLight {
get backgroundMainColor => background; //whitePurple; get backgroundMainColor => background; //whitePurple;
get backgroundPaneColor => background; //whitePurple; get backgroundPaneColor => background; //whitePurple;
get topbarColor => header; //softPurple
get mainTextColor => settings;
get defaultButtonColor => accent; // hotPink; get defaultButtonColor => accent; // hotPink;
get textfieldHintColor => font; //TODO pick get dropShadowColor => userBubble;
get scrollbarDefaultColor => accent; get mainTextColor => settings;
get portraitContactBadgeColor => accent;
get toolbarIconColor => settings; //darkPurple;
get messageFromMeBackgroundColor => userBubble; //brightPurple; get messageFromMeBackgroundColor => userBubble; //brightPurple;
get messageFromMeTextColor => font; //mainTextColor; get messageFromMeTextColor => font; //mainTextColor;
get messageFromOtherBackgroundColor => peerBubble; //purple; get messageFromOtherBackgroundColor => peerBubble; //purple;
get messageFromOtherTextColor => font; //darkPurple; get messageFromOtherTextColor => font; //darkPurple;
get portraitContactBadgeColor => accent;
get portraitOfflineBorderColor => peerBubble;
get portraitOnlineBorderColor => font;
get scrollbarDefaultColor => accent;
get textfieldBackgroundColor => peerBubble;
get textfieldBorderColor => userBubble;
get textfieldHintColor => font;
get toolbarIconColor => settings; //darkPurple;
get topbarColor => header; //softPurple
} }

View File

@ -30,18 +30,21 @@ class Neon2Dark extends CwtchDark {
get backgroundMainColor => background; // darkGreyPurple; get backgroundMainColor => background; // darkGreyPurple;
get backgroundPaneColor => header; //darkGreyPurple; get backgroundPaneColor => header; //darkGreyPurple;
get topbarColor => header; //darkGreyPurple;
get mainTextColor => font; //whiteishPurple;
get defaultButtonColor => accent; //hotPink; get defaultButtonColor => accent; //hotPink;
get textfieldHintColor => mainTextColor; //TODO pick get mainTextColor => font; //whiteishPurple;
get toolbarIconColor => settings; //whiteishPurple;
get messageFromMeBackgroundColor => userBubble; // mauvePurple; get messageFromMeBackgroundColor => userBubble; // mauvePurple;
get messageFromMeTextColor => font; //whiteishPurple; get messageFromMeTextColor => font; //whiteishPurple;
get messageFromOtherBackgroundColor => peerBubble; //deepPurple; get messageFromOtherBackgroundColor => peerBubble; //deepPurple;
get messageFromOtherTextColor => font; //whiteishPurple; get messageFromOtherTextColor => font; //whiteishPurple;
get scrollbarDefaultColor => accent;
get textfieldHintColor => mainTextColor;
get toolbarIconColor => settings; //whiteishPurple;
get topbarColor => header; //darkGreyPurple;
} }
class Neon2Light extends CwtchLight { class Neon2Light extends CwtchLight {
static final Color paleGreen = Color(0xFFE7F6F6);
static final Color background = Color(0xFFFFFDFF); static final Color background = Color(0xFFFFFDFF);
static final Color header = Color(0xFFD8C7E1); static final Color header = Color(0xFFD8C7E1);
static final Color userBubble = Color(0xFFD8C7E1); static final Color userBubble = Color(0xFFD8C7E1);
@ -55,15 +58,20 @@ class Neon2Light extends CwtchLight {
get backgroundMainColor => background; //whitePurple; get backgroundMainColor => background; //whitePurple;
get backgroundPaneColor => background; //whitePurple; get backgroundPaneColor => background; //whitePurple;
get topbarColor => header; //softPurple;
get mainTextColor => settings;
get defaultButtonColor => accent; // hotPink; get defaultButtonColor => accent; // hotPink;
get textfieldHintColor => font; //TODO pick get dropShadowColor => userBubble;
get scrollbarDefaultColor => accent; get mainTextColor => settings;
get portraitContactBadgeColor => accent;
get toolbarIconColor => settings; //darkPurple;
get messageFromMeBackgroundColor => userBubble; //brightPurple; get messageFromMeBackgroundColor => userBubble; //brightPurple;
get messageFromMeTextColor => font; //mainTextColor; get messageFromMeTextColor => font; //mainTextColor;
get messageFromOtherBackgroundColor => peerBubble; //purple; get messageFromOtherBackgroundColor => peerBubble; //purple;
get messageFromOtherTextColor => font; //darkPurple; get messageFromOtherTextColor => font; //darkPurple;
get portraitContactBadgeColor => accent;
get portraitOfflineBorderColor => peerBubble;
get portraitOnlineBorderColor => font;
get scrollbarDefaultColor => accent;
get textfieldBackgroundColor => paleGreen;
get textfieldBorderColor => peerBubble;
get textfieldHintColor => font;
get toolbarIconColor => settings; //darkPurple;
get topbarColor => header; //softPurple;
} }

View File

@ -28,8 +28,8 @@ final themes = {
neon1_theme: {mode_light: Neon1Light(), mode_dark: Neon1Dark()}, neon1_theme: {mode_light: Neon1Light(), mode_dark: Neon1Dark()},
neon2_theme: {mode_light: Neon2Light(), mode_dark: Neon2Dark()}, neon2_theme: {mode_light: Neon2Light(), mode_dark: Neon2Dark()},
pumpkin_theme: {mode_light: PumpkinLight(), mode_dark: PumpkinDark()}, pumpkin_theme: {mode_light: PumpkinLight(), mode_dark: PumpkinDark()},
witch_theme: {mode_light: WitchLight(), mode_dark: WitchDark()},
vampire_theme: {mode_light: VampireLight(), mode_dark: VampireDark()}, vampire_theme: {mode_light: VampireLight(), mode_dark: VampireDark()},
witch_theme: {mode_light: WitchLight(), mode_dark: WitchDark()},
}; };
OpaqueThemeType getTheme(String themeId, String mode) { OpaqueThemeType getTheme(String themeId, String mode) {
@ -125,6 +125,7 @@ abstract class OpaqueThemeType {
ThemeData mkThemeData(Settings opaque) { ThemeData mkThemeData(Settings opaque) {
return ThemeData( return ThemeData(
hoverColor: opaque.current().backgroundHilightElementColor.withOpacity(0.5),
visualDensity: VisualDensity.adaptivePlatformDensity, visualDensity: VisualDensity.adaptivePlatformDensity,
primarySwatch: Colors.red, primarySwatch: Colors.red,
primaryIconTheme: IconThemeData( primaryIconTheme: IconThemeData(

View File

@ -30,15 +30,15 @@ class PumpkinDark extends CwtchDark {
get backgroundMainColor => background; // darkGreyPurple; get backgroundMainColor => background; // darkGreyPurple;
get backgroundPaneColor => header; //darkGreyPurple; get backgroundPaneColor => header; //darkGreyPurple;
get topbarColor => header; //darkGreyPurple;
get mainTextColor => font; //whiteishPurple;
get defaultButtonColor => accent; //hotPink; get defaultButtonColor => accent; //hotPink;
get textfieldHintColor => mainTextColor; //TODO pick get mainTextColor => font; //whiteishPurple;
get toolbarIconColor => settings; //whiteishPurple;
get messageFromMeBackgroundColor => userBubble; // mauvePurple; get messageFromMeBackgroundColor => userBubble; // mauvePurple;
get messageFromMeTextColor => font; //whiteishPurple; get messageFromMeTextColor => font; //whiteishPurple;
get messageFromOtherBackgroundColor => peerBubble; //deepPurple; get messageFromOtherBackgroundColor => peerBubble; //deepPurple;
get messageFromOtherTextColor => font; //whiteishPurple; get messageFromOtherTextColor => font; //whiteishPurple;
get textfieldHintColor => mainTextColor;
get toolbarIconColor => settings; //whiteishPurple;
get topbarColor => header; //darkGreyPurple;
} }
class PumpkinLight extends CwtchLight { class PumpkinLight extends CwtchLight {
@ -55,15 +55,16 @@ class PumpkinLight extends CwtchLight {
get backgroundMainColor => background; //whitePurple; get backgroundMainColor => background; //whitePurple;
get backgroundPaneColor => background; //whitePurple; get backgroundPaneColor => background; //whitePurple;
get topbarColor => header; //softPurple;
get mainTextColor => settings;
get defaultButtonColor => accent; // hotPink; get defaultButtonColor => accent; // hotPink;
get textfieldHintColor => font; //TODO pick get dropShadowColor => peerBubble;
get scrollbarDefaultColor => accent; get mainTextColor => settings;
get portraitContactBadgeColor => accent;
get toolbarIconColor => settings; //darkPurple;
get messageFromMeBackgroundColor => userBubble; //brightPurple; get messageFromMeBackgroundColor => userBubble; //brightPurple;
get messageFromMeTextColor => font; //mainTextColor; get messageFromMeTextColor => font; //mainTextColor;
get messageFromOtherBackgroundColor => peerBubble; //purple; get messageFromOtherBackgroundColor => peerBubble; //purple;
get messageFromOtherTextColor => font; //darkPurple; get messageFromOtherTextColor => font; //darkPurple;
get portraitContactBadgeColor => accent;
get scrollbarDefaultColor => accent;
get textfieldHintColor => font;
get toolbarIconColor => settings; //darkPurple;
get topbarColor => header; //softPurple;
} }

View File

@ -30,15 +30,16 @@ class VampireDark extends CwtchDark {
get backgroundMainColor => background; // darkGreyPurple; get backgroundMainColor => background; // darkGreyPurple;
get backgroundPaneColor => header; //darkGreyPurple; get backgroundPaneColor => header; //darkGreyPurple;
get topbarColor => header; //darkGreyPurple;
get mainTextColor => font; //whiteishPurple;
get defaultButtonColor => accent; //hotPink; get defaultButtonColor => accent; //hotPink;
get textfieldHintColor => mainTextColor; //TODO pick get mainTextColor => font; //whiteishPurple;
get toolbarIconColor => settings; //whiteishPurple;
get messageFromMeBackgroundColor => userBubble; // mauvePurple; get messageFromMeBackgroundColor => userBubble; // mauvePurple;
get messageFromMeTextColor => font; //whiteishPurple; get messageFromMeTextColor => font; //whiteishPurple;
get messageFromOtherBackgroundColor => peerBubble; //deepPurple; get messageFromOtherBackgroundColor => peerBubble; //deepPurple;
get messageFromOtherTextColor => font; //whiteishPurple; get messageFromOtherTextColor => font; //whiteishPurple;
get scrollbarDefaultColor => accent;
get textfieldHintColor => mainTextColor;
get toolbarIconColor => settings; //whiteishPurple;
get topbarColor => header; //darkGreyPurple;
} }
class VampireLight extends CwtchLight { class VampireLight extends CwtchLight {
@ -55,15 +56,18 @@ class VampireLight extends CwtchLight {
get backgroundMainColor => background; //whitePurple; get backgroundMainColor => background; //whitePurple;
get backgroundPaneColor => background; //whitePurple; get backgroundPaneColor => background; //whitePurple;
get topbarColor => header; //softPurple;
get mainTextColor => settings;
get defaultButtonColor => accent; // hotPink; get defaultButtonColor => accent; // hotPink;
get textfieldHintColor => font; //TODO pick get dropShadowColor => userBubble;
get scrollbarDefaultColor => accent; get mainTextColor => settings;
get portraitContactBadgeColor => accent;
get toolbarIconColor => settings; //darkPurple;
get messageFromMeBackgroundColor => userBubble; //brightPurple; get messageFromMeBackgroundColor => userBubble; //brightPurple;
get messageFromMeTextColor => font; //mainTextColor; get messageFromMeTextColor => font; //mainTextColor;
get messageFromOtherBackgroundColor => peerBubble; //purple; get messageFromOtherBackgroundColor => peerBubble; //purple;
get messageFromOtherTextColor => font; //darkPurple; get messageFromOtherTextColor => font; //darkPurple;
get portraitContactBadgeColor => accent;
get scrollbarDefaultColor => accent;
get textfieldBackgroundColor => peerBubble;
get textfieldBorderColor => userBubble;
get textfieldHintColor => font;
get toolbarIconColor => settings; //darkPurple;
get topbarColor => header; //softPurple;
} }

View File

@ -28,17 +28,21 @@ class WitchDark extends CwtchDark {
get theme => witch_theme; get theme => witch_theme;
get mode => mode_dark; get mode => mode_dark;
get backgroundHilightElementColor => peerBubble;
get backgroundMainColor => background; // darkGreyPurple; get backgroundMainColor => background; // darkGreyPurple;
get backgroundPaneColor => header; //darkGreyPurple; get backgroundPaneColor => header; //darkGreyPurple;
get topbarColor => header; //darkGreyPurple;
get mainTextColor => font; //whiteishPurple;
get defaultButtonColor => accent; //hotPink; get defaultButtonColor => accent; //hotPink;
get textfieldHintColor => mainTextColor; //TODO pick get mainTextColor => font; //whiteishPurple;
get toolbarIconColor => settings; //whiteishPurple;
get messageFromMeBackgroundColor => userBubble; // mauvePurple; get messageFromMeBackgroundColor => userBubble; // mauvePurple;
get messageFromMeTextColor => font; //whiteishPurple; get messageFromMeTextColor => font; //whiteishPurple;
get messageFromOtherBackgroundColor => peerBubble; //deepPurple; get messageFromOtherBackgroundColor => peerBubble; //deepPurple;
get messageFromOtherTextColor => font; //whiteishPurple; get messageFromOtherTextColor => font; //whiteishPurple;
get scrollbarDefaultColor => accent;
get textfieldBackgroundColor => peerBubble;
get textfieldBorderColor => userBubble;
get textfieldHintColor => mainTextColor;
get toolbarIconColor => settings; //whiteishPurple;
get topbarColor => header; //darkGreyPurple;
} }
class WitchLight extends CwtchLight { class WitchLight extends CwtchLight {
@ -53,17 +57,20 @@ class WitchLight extends CwtchLight {
get theme => witch_theme; get theme => witch_theme;
get mode => mode_light; get mode => mode_light;
get backgroundHilightElementColor => peerBubble;
get backgroundMainColor => background; //whitePurple; get backgroundMainColor => background; //whitePurple;
get backgroundPaneColor => background; //whitePurple; get backgroundPaneColor => background; //whitePurple;
get topbarColor => header; //softPurple;
get mainTextColor => settings;
get defaultButtonColor => accent; // hotPink; get defaultButtonColor => accent; // hotPink;
get textfieldHintColor => font; //TODO pick get mainTextColor => settings;
get scrollbarDefaultColor => accent;
get portraitContactBadgeColor => accent;
get toolbarIconColor => settings; //darkPurple;
get messageFromMeBackgroundColor => userBubble; //brightPurple; get messageFromMeBackgroundColor => userBubble; //brightPurple;
get messageFromMeTextColor => font; //mainTextColor; get messageFromMeTextColor => font; //mainTextColor;
get messageFromOtherBackgroundColor => peerBubble; //purple; get messageFromOtherBackgroundColor => peerBubble; //purple;
get messageFromOtherTextColor => font; //darkPurple; get messageFromOtherTextColor => font; //darkPurple;
get portraitContactBadgeColor => accent;
get scrollbarDefaultColor => accent;
get textfieldBackgroundColor => peerBubble;
get textfieldBorderColor => userBubble;
get textfieldHintColor => font;
get toolbarIconColor => settings; //darkPurple;
get topbarColor => header; //softPurple;
} }

View File

@ -85,6 +85,7 @@ void _pushMessageView(BuildContext context, int handle) {
class _ContactsViewState extends State<ContactsView> { class _ContactsViewState extends State<ContactsView> {
late TextEditingController ctrlrFilter; late TextEditingController ctrlrFilter;
bool showSearchBar = false; bool showSearchBar = false;
final scaffoldKey = GlobalKey<ScaffoldMessengerState>();
@override @override
void initState() { void initState() {
@ -94,7 +95,7 @@ class _ContactsViewState extends State<ContactsView> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return ScaffoldMessenger(key: scaffoldKey, child: Scaffold(
endDrawerEnableOpenDragGesture: false, endDrawerEnableOpenDragGesture: false,
drawerEnableOpenDragGesture: false, drawerEnableOpenDragGesture: false,
appBar: AppBar( appBar: AppBar(
@ -157,7 +158,7 @@ class _ContactsViewState extends State<ContactsView> {
color: Provider.of<Settings>(context).theme.defaultButtonTextColor, color: Provider.of<Settings>(context).theme.defaultButtonTextColor,
), ),
), ),
body: showSearchBar || Provider.of<ContactListState>(context).isFiltered ? _buildFilterable() : _buildContactList()); body: showSearchBar || Provider.of<ContactListState>(context).isFiltered ? _buildFilterable() : _buildContactList()));
} }
List<Widget> getActions(context) { List<Widget> getActions(context) {
@ -177,6 +178,7 @@ class _ContactsViewState extends State<ContactsView> {
{ {
Clipboard.setData(new ClipboardData(text: Provider.of<ProfileInfoState>(context, listen: false).onion)); Clipboard.setData(new ClipboardData(text: Provider.of<ProfileInfoState>(context, listen: false).onion));
final snackBar = SnackBar(content: Text(AppLocalizations.of(context)!.copiedToClipboardNotification)); final snackBar = SnackBar(content: Text(AppLocalizations.of(context)!.copiedToClipboardNotification));
ScaffoldMessenger.of(context).showSnackBar(snackBar); ScaffoldMessenger.of(context).showSnackBar(snackBar);
} }
break; break;
@ -206,7 +208,8 @@ class _ContactsViewState extends State<ContactsView> {
onPressed: () { onPressed: () {
Clipboard.setData(new ClipboardData(text: Provider.of<ProfileInfoState>(context, listen: false).onion)); Clipboard.setData(new ClipboardData(text: Provider.of<ProfileInfoState>(context, listen: false).onion));
final snackBar = SnackBar(content: Text(AppLocalizations.of(context)!.copiedToClipboardNotification)); final snackBar = SnackBar(content: Text(AppLocalizations.of(context)!.copiedToClipboardNotification));
ScaffoldMessenger.of(context).showSnackBar(snackBar); scaffoldKey.currentState?.showSnackBar(snackBar);
//ScaffoldMessenger.of(context).showSnackBar(snackBar);
})); }));
} }

View File

@ -46,6 +46,7 @@ class _FileSharingViewState extends State<FileSharingView> {
itemScrollController: ItemScrollController(), itemScrollController: ItemScrollController(),
itemCount: sharedFiles.length, itemCount: sharedFiles.length,
shrinkWrap: true, shrinkWrap: true,
reverse: true,
physics: BouncingScrollPhysics(), physics: BouncingScrollPhysics(),
semanticChildCount: sharedFiles.length, semanticChildCount: sharedFiles.length,
itemBuilder: (context, index) { itemBuilder: (context, index) {

View File

@ -78,7 +78,7 @@ class _MessageListState extends State<MessageList> {
fit: BoxFit.scaleDown, fit: BoxFit.scaleDown,
alignment: Alignment.center, alignment: Alignment.center,
image: AssetImage("assets/core/negative_heart_512px.png"), image: AssetImage("assets/core/negative_heart_512px.png"),
colorFilter: ColorFilter.mode(Provider.of<Settings>(context).theme.hilightElementColor, BlendMode.srcIn))), colorFilter: ColorFilter.mode(Provider.of<Settings>(context).theme.hilightElementColor.withOpacity(0.15), BlendMode.srcIn))),
// Don't load messages for syncing server... // Don't load messages for syncing server...
child: loadMessages child: loadMessages
? ScrollablePositionedList.builder( ? ScrollablePositionedList.builder(