diff --git a/lib/event_ds.dart b/lib/event_ds.dart index 5c45c88..6280b1b 100644 --- a/lib/event_ds.dart +++ b/lib/event_ds.dart @@ -316,7 +316,7 @@ class EventData { int effectiveNameFieldLen = gNameLengthInPost + 3; // get this before name is mangled by color - String nameColor = getNameColor(name); + String nameColor = getNameColor(pubkey); // odd len names need an extra dash // if( name.length %2 == 1 ) name = name + nameInside; @@ -425,7 +425,7 @@ class EventData { // get name in color and pad it too String nameToPrint = name.padLeft(nameWidth).substring(0, nameWidth); - nameToPrint = getStrInColor(nameToPrint, getNameColor(name)); + nameToPrint = getStrInColor(nameToPrint, getNameColor(pubkey)); String dateToPrint = strDate.padLeft(gSpacesPerDepth * timeWidthDepth).substring(0, gSpacesPerDepth * timeWidthDepth); diff --git a/lib/settings.dart b/lib/settings.dart index f84d1cc..b655f88 100644 --- a/lib/settings.dart +++ b/lib/settings.dart @@ -137,17 +137,42 @@ String gWarningColor = redColor; // red const String gColorEndMarker = "\x1B[0m"; // blue is too bright +/* +e & f are red +c & d are pink +a & b are orange +8 & 9 are yellow +6 & 7 are green +4 & 5 are light blue +2 & 3 are blue +0 & 1 are purple + + List nameColorPalette = [brightGreenColor, brightCyanColor, brightYellowColor, brightMagentaColor, brightBlueColor, brightRedColor, brightBlackColor, brightWhiteColor, yellowColor, magentaColor, redColor ]; +*/ + +Map pubkeyColor = { '0': brightMagentaColor, '1': brightMagentaColor, + '2': brightBlueColor, '3': brightBlueColor, + '4': brightCyanColor, '5': brightCyanColor, + '6': brightGreenColor, '7': brightGreenColor, + '8': brightYellowColor,'9': brightYellowColor, + 'a': brightRedColor, 'b': brightRedColor, + 'c': yellowColor, 'd': yellowColor, + 'e': redColor, 'f': redColor + }; + +List nameColorPalette = [brightMagentaColor, brightBlueColor, brightCyanColor, brightGreenColor, + brightYellowColor, brightRedColor, yellowColor, redColor ]; -String getNameColor( String name) { - if( name.length == 0) +String getNameColor( String pubkey) { + if( pubkey.length == 0) return nameColorPalette[0]; - int offset = name.substring(0, 1).toLowerCase().codeUnits[0] % nameColorPalette.length; - return nameColorPalette[offset]; + String firstChar = pubkey.substring(0, 1).toLowerCase(); + return pubkeyColor[firstChar]??brightMagentaColor; }