mirror of
https://github.com/vishalxl/nostr_console.git
synced 2025-05-18 16:20:31 +02:00
improved notifications for all three in beginning
This commit is contained in:
parent
0e0b5bc048
commit
700e44dcc3
@ -673,14 +673,20 @@ Future<void> mainMenuUi(Store node) async {
|
|||||||
|
|
||||||
//Show only notifications
|
//Show only notifications
|
||||||
|
|
||||||
bool hasRepliesAndLikes (Tree t) => t.hasRepliesAndLikes(userPublicKey);
|
//bool hasRepliesAndLikes (Tree t) => t.hasRepliesAndLikes(userPublicKey);
|
||||||
node.printTree(0, DateTime.now().subtract(Duration(days:gNumLastDays)), hasRepliesAndLikes);
|
//node.printTree(0, DateTime.now().subtract(Duration(days:gNumLastDays)), hasRepliesAndLikes);
|
||||||
|
//print("\n");
|
||||||
|
|
||||||
bool showNotifications (ScrollableMessages room) => room.selectorNotifications();
|
bool showNotifications (ScrollableMessages room) => room.selectorNotifications();
|
||||||
node.printDirectRoomInfo(showNotifications);
|
int numDirectRoomsPrinted = node.printDirectRoomInfo(showNotifications);
|
||||||
|
|
||||||
node.printAllChannelsInfo(20, showNotifications);
|
if( numDirectRoomsPrinted > 0)
|
||||||
|
print("\n");
|
||||||
|
|
||||||
|
int numChannelsPrinted = node.printAllChannelsInfo(20, showNotifications);
|
||||||
|
|
||||||
|
if( numChannelsPrinted > 0)
|
||||||
|
print("\n");
|
||||||
|
|
||||||
bool userContinue = true;
|
bool userContinue = true;
|
||||||
while(userContinue) {
|
while(userContinue) {
|
||||||
|
@ -693,7 +693,11 @@ bool processKind3Event(Event newContactEvent) {
|
|||||||
// returns name by looking up global list gKindONames, which is populated by kind 0 events
|
// returns name by looking up global list gKindONames, which is populated by kind 0 events
|
||||||
String getAuthorName(String pubkey, [int len = 3]) {
|
String getAuthorName(String pubkey, [int len = 3]) {
|
||||||
String max3(String v) => v.length > len? v.substring(0,len) : v.substring(0, v.length);
|
String max3(String v) => v.length > len? v.substring(0,len) : v.substring(0, v.length);
|
||||||
String name = gKindONames[pubkey]?.name??max3(pubkey);
|
String name = "";
|
||||||
|
if( gKindONames[pubkey]?.name == null || gKindONames[pubkey]?.name?.length == 0)
|
||||||
|
name = max3(pubkey);
|
||||||
|
else
|
||||||
|
name = (gKindONames[pubkey]?.name)??max3(pubkey);
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -970,7 +970,7 @@ class Store {
|
|||||||
/**
|
/**
|
||||||
* @printAllChennelsInfo Print one line information about all channels, which are type 40 events ( class ChatRoom)
|
* @printAllChennelsInfo Print one line information about all channels, which are type 40 events ( class ChatRoom)
|
||||||
*/
|
*/
|
||||||
void printAllChannelsInfo(int numToPrint, fRoomSelector selector) {
|
int printAllChannelsInfo(int numToPrint, fRoomSelector selector) {
|
||||||
|
|
||||||
int numRoomsSelected = 0;
|
int numRoomsSelected = 0;
|
||||||
for( int j = 0; j < channels.length; j++) {
|
for( int j = 0; j < channels.length; j++) {
|
||||||
@ -979,13 +979,14 @@ class Store {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( numRoomsSelected == 0) {
|
if( numRoomsSelected == 0) {
|
||||||
return;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if selected rooms is less, then print only that
|
// if selected rooms is less, then print only that
|
||||||
if( numRoomsSelected < numToPrint)
|
if( numRoomsSelected < numToPrint)
|
||||||
numToPrint = numRoomsSelected;
|
numToPrint = numRoomsSelected;
|
||||||
|
|
||||||
|
int numChannelsActuallyPrinted = 0;
|
||||||
channels.sort(scrollableCompareTo);
|
channels.sort(scrollableCompareTo);
|
||||||
print("");
|
print("");
|
||||||
if( numToPrint < channels.length) {
|
if( numToPrint < channels.length) {
|
||||||
@ -1008,6 +1009,7 @@ class Store {
|
|||||||
|
|
||||||
int numMessages = channels[j].messageIds.length;
|
int numMessages = channels[j].messageIds.length;
|
||||||
stdout.write("${name} ${getNumSpaces(32-name.length)} $numMessages${getNumSpaces(12- numMessages.toString().length)}");
|
stdout.write("${name} ${getNumSpaces(32-name.length)} $numMessages${getNumSpaces(12- numMessages.toString().length)}");
|
||||||
|
numChannelsActuallyPrinted ++;
|
||||||
List<String> messageIds = channels[j].messageIds;
|
List<String> messageIds = channels[j].messageIds;
|
||||||
for( int i = messageIds.length - 1; i >= 0; i++) {
|
for( int i = messageIds.length - 1; i >= 0; i++) {
|
||||||
if( allChildEventsMap.containsKey(messageIds[i])) {
|
if( allChildEventsMap.containsKey(messageIds[i])) {
|
||||||
@ -1020,6 +1022,7 @@ class Store {
|
|||||||
}
|
}
|
||||||
print("");
|
print("");
|
||||||
}
|
}
|
||||||
|
return numChannelsActuallyPrinted;
|
||||||
}
|
}
|
||||||
|
|
||||||
void printChannel(Channel room, [int page = 1]) {
|
void printChannel(Channel room, [int page = 1]) {
|
||||||
@ -1081,7 +1084,7 @@ class Store {
|
|||||||
/**
|
/**
|
||||||
* @printDirectRoomInfo Print one line information about chat rooms
|
* @printDirectRoomInfo Print one line information about chat rooms
|
||||||
*/
|
*/
|
||||||
void printDirectRoomInfo(fRoomSelector roomSelector) {
|
int printDirectRoomInfo(fRoomSelector roomSelector) {
|
||||||
directRooms.sort(scrollableCompareTo);
|
directRooms.sort(scrollableCompareTo);
|
||||||
|
|
||||||
int numNotificationRooms = 0;
|
int numNotificationRooms = 0;
|
||||||
@ -1091,9 +1094,10 @@ class Store {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( numNotificationRooms == 0) {
|
if( numNotificationRooms == 0) {
|
||||||
return;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int numRoomsActuallyPrinted = 0;
|
||||||
print("\n\nDirect messages inbox:");
|
print("\n\nDirect messages inbox:");
|
||||||
printUnderlined(" From Num of Messages Latest Message ");
|
printUnderlined(" From Num of Messages Latest Message ");
|
||||||
for( int j = 0; j < directRooms.length; j++) {
|
for( int j = 0; j < directRooms.length; j++) {
|
||||||
@ -1109,6 +1113,7 @@ class Store {
|
|||||||
List<String> messageIds = room.messageIds;
|
List<String> messageIds = room.messageIds;
|
||||||
for( int i = messageIds.length - 1; i >= 0; i++) {
|
for( int i = messageIds.length - 1; i >= 0; i++) {
|
||||||
if( allChildEventsMap.containsKey(messageIds[i])) {
|
if( allChildEventsMap.containsKey(messageIds[i])) {
|
||||||
|
numRoomsActuallyPrinted++;
|
||||||
Event? e = allChildEventsMap[messageIds[i]]?.event;
|
Event? e = allChildEventsMap[messageIds[i]]?.event;
|
||||||
if( e!= null) {
|
if( e!= null) {
|
||||||
String line = e.eventData.getAsLine();
|
String line = e.eventData.getAsLine();
|
||||||
@ -1119,6 +1124,8 @@ class Store {
|
|||||||
}
|
}
|
||||||
print("");
|
print("");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return numRoomsActuallyPrinted;
|
||||||
}
|
}
|
||||||
|
|
||||||
// shows the given directRoomId, where directRoomId is prefix-id or pubkey of the other user. returns full id of other user.
|
// shows the given directRoomId, where directRoomId is prefix-id or pubkey of the other user. returns full id of other user.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user