support for showing the number of subscribers

This commit is contained in:
or-else
2025-09-29 20:51:51 +03:00
parent a74ad9dd63
commit 8ca7f5cd3e
26 changed files with 723 additions and 39 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+162 -7
View File
@@ -9501,7 +9501,10 @@ const messages = (0,react_intl__WEBPACK_IMPORTED_MODULE_1__.defineMessages)({
id: "last_seen_timestamp",
defaultMessage: [{
"type": 0,
"value": "Last seen"
"value": "Last seen: "
}, {
"type": 1,
"value": "timestamp"
}]
},
not_found: {
@@ -9564,6 +9567,148 @@ const messages = (0,react_intl__WEBPACK_IMPORTED_MODULE_1__.defineMessages)({
"type": 0,
"value": "Saved messages"
}]
},
subscriber_count: {
id: "subscriber_count",
defaultMessage: [{
"type": 6,
"value": "count",
"options": {
"one": {
"value": [{
"type": 2,
"value": "count",
"style": null
}, {
"type": 0,
"value": " subscriber"
}]
},
"two": {
"value": [{
"type": 2,
"value": "count",
"style": null
}, {
"type": 0,
"value": " subscribers"
}]
},
"three": {
"value": [{
"type": 2,
"value": "count",
"style": null
}, {
"type": 0,
"value": " subscribers"
}]
},
"few": {
"value": [{
"type": 2,
"value": "count",
"style": null
}, {
"type": 0,
"value": " subscribers"
}]
},
"many": {
"value": [{
"type": 2,
"value": "count",
"style": null
}, {
"type": 0,
"value": " subscribers"
}]
},
"other": {
"value": [{
"type": 2,
"value": "count",
"style": null
}, {
"type": 0,
"value": " subscribers"
}]
}
},
"offset": 0,
"pluralType": "cardinal"
}]
},
member_count: {
id: "member_count",
defaultMessage: [{
"type": 6,
"value": "count",
"options": {
"one": {
"value": [{
"type": 2,
"value": "count",
"style": null
}, {
"type": 0,
"value": " member"
}]
},
"two": {
"value": [{
"type": 2,
"value": "count",
"style": null
}, {
"type": 0,
"value": " members"
}]
},
"three": {
"value": [{
"type": 2,
"value": "count",
"style": null
}, {
"type": 0,
"value": " members"
}]
},
"few": {
"value": [{
"type": 2,
"value": "count",
"style": null
}, {
"type": 0,
"value": " members"
}]
},
"many": {
"value": [{
"type": 2,
"value": "count",
"style": null
}, {
"type": 0,
"value": " members"
}]
},
"other": {
"value": [{
"type": 2,
"value": "count",
"style": null
}, {
"type": 0,
"value": " members"
}]
}
},
"offset": 0,
"pluralType": "cardinal"
}]
}
});
function isUnconfirmed(acs) {
@@ -10935,14 +11080,24 @@ class MessagesView extends (react__WEBPACK_IMPORTED_MODULE_0___default().Compone
});
let lastSeen = null;
if (isChannel) {
lastSeen = formatMessage(messages.channel);
lastSeen = formatMessage(messages.subscriber_count, {
count: topic.subcnt
});
} else {
const cont = this.props.tinode.getMeTopic().getContact(this.state.topic);
if (cont && tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Tinode.isP2PTopicName(cont.topic)) {
if (cont.online) {
lastSeen = formatMessage(messages.online_now);
} else if (cont.seen) {
lastSeen = formatMessage(messages.last_seen) + ": " + (0,_lib_strformat_js__WEBPACK_IMPORTED_MODULE_22__.shortDateFormat)(cont.seen.when, this.props.intl.locale);
if (cont) {
if (tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Tinode.isP2PTopicName(cont.topic)) {
if (cont.online) {
lastSeen = formatMessage(messages.online_now);
} else if (cont.seen) {
lastSeen = formatMessage(messages.last_seen, {
timestamp: (0,_lib_strformat_js__WEBPACK_IMPORTED_MODULE_22__.shortDateFormat)(cont.seen.when, this.props.intl.locale)
});
}
} else if (tinode_sdk__WEBPACK_IMPORTED_MODULE_2__.Tinode.isGroupTopicName(cont.topic)) {
lastSeen = formatMessage(messages.member_count, {
count: topic.subcnt
});
}
}
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+18
View File
@@ -709,6 +709,24 @@ class InfoView extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component)
className: "group"
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_widgets_badge_list_jsx__WEBPACK_IMPORTED_MODULE_4__["default"], {
trustedBadges: this.state.trustedBadges
})) : null, this.state.groupTopic && topic.subcnt > 0 ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
className: "group"
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
className: "small"
}, this.state.channel ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__.FormattedMessage, {
id: "label_subscriber_count",
defaultMessage: [{
"type": 0,
"value": "Subscribers:"
}]
}) : react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__.FormattedMessage, {
id: "label_member_count",
defaultMessage: [{
"type": 0,
"value": "Members:"
}]
})), "\xA0", react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_intl__WEBPACK_IMPORTED_MODULE_1__.FormattedNumber, {
value: topic.subcnt
})) : null, this.state.description ? react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
className: "group"
}, react__WEBPACK_IMPORTED_MODULE_0___default().createElement("label", {
File diff suppressed because one or more lines are too long