mirror of
https://github.com/wassname/talk.git
synced 2026-08-03 13:20:59 +08:00
Merge branch 'master' into sort-enhancements
This commit is contained in:
@@ -4,6 +4,7 @@ import PropTypes from 'prop-types';
|
||||
export default class Popup extends Component {
|
||||
ref = null;
|
||||
detectCloseInterval = null;
|
||||
resetCallbackInterval = null;
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
@@ -41,16 +42,26 @@ export default class Popup extends Component {
|
||||
this.ref.onunload = () => {
|
||||
this.onUnload();
|
||||
|
||||
const interval = setInterval(() => {
|
||||
if (this.resetCallbackInterval) {
|
||||
clearInterval(this.resetCallbackInterval);
|
||||
}
|
||||
|
||||
this.resetCallbackInterval = setInterval(() => {
|
||||
if (this.ref && this.ref.onload === null) {
|
||||
clearInterval(this.resetCallbackInterval);
|
||||
this.resetCallbackInterval = null;
|
||||
this.setCallbacks();
|
||||
clearInterval(interval);
|
||||
}
|
||||
}, 50);
|
||||
|
||||
if (this.detectCloseInterval) {
|
||||
clearInterval(this.detectCloseInterval);
|
||||
}
|
||||
|
||||
this.detectCloseInterval = setInterval(() => {
|
||||
if (!this.ref || this.ref.closed) {
|
||||
clearInterval(this.detectCloseInterval);
|
||||
this.detectCloseInterval = null;
|
||||
this.onClose();
|
||||
}
|
||||
}, 50);
|
||||
|
||||
@@ -185,10 +185,15 @@ export function getShallowChanges(a, b) {
|
||||
.filter((key) => a[key] !== b[key]);
|
||||
}
|
||||
|
||||
// TODO: replace with something less fragile.
|
||||
// NOT_REACTION_TYPES are the action summaries that are not reactions.
|
||||
const NOT_REACTION_TYPES = [
|
||||
'FlagActionSummary',
|
||||
'DontAgreeActionSummary',
|
||||
];
|
||||
|
||||
export function getTotalReactionsCount(actionSummaries) {
|
||||
return actionSummaries
|
||||
.filter((s) => s.__typename !== 'FlagActionSummary')
|
||||
.reduce((total, summary) => {
|
||||
return total + summary.count;
|
||||
}, 0);
|
||||
.filter(({__typename}) => !NOT_REACTION_TYPES.includes(__typename))
|
||||
.reduce((total, {count}) => total + count, 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user