diff --git a/frontend/src/components/SetBearerTokenDialog/SetBearerTokenDialog.js b/frontend/src/components/SetBearerTokenDialog/SetBearerTokenDialog.js
index 4c75ac67..ce0632c8 100644
--- a/frontend/src/components/SetBearerTokenDialog/SetBearerTokenDialog.js
+++ b/frontend/src/components/SetBearerTokenDialog/SetBearerTokenDialog.js
@@ -37,7 +37,10 @@ export default function SetBearerTokenDialog({
const handleResponse = (response) => {
// goToProfilePage(history, response.getProfileId());
// TODO
- reloadBearerTokenFn();
+
+ if (reloadBearerTokenFn) {
+ reloadBearerTokenFn();
+ }
};
const handleErr = (err) => {
diff --git a/frontend/src/pages/twitter/Twitter.js b/frontend/src/pages/twitter/Twitter.js
index 8f99895e..8ea5f3cc 100644
--- a/frontend/src/pages/twitter/Twitter.js
+++ b/frontend/src/pages/twitter/Twitter.js
@@ -8,7 +8,6 @@ import {
Box,
CircularProgress,
Typography,
- TextField,
} from '@material-ui/core';
// styles
@@ -22,17 +21,19 @@ import SetBearerTokenDialog from '../../components/SetBearerTokenDialog';
import AddTwitterAccountDialog from '../../components/AddTwitterAccountDialog';
import TwitterAccountListItem from '../../components/TwitterAccountListItem';
+import CloudIcon from '@mui/icons-material/Cloud';
+import CloudOffIcon from '@mui/icons-material/CloudOff';
+
import {
- getTwitterBearerTokenRequest,
getTwitterAccountsRequest,
+ getTwitterStreamStatusRequest,
} from '../../squeakclient/requests';
export default function Twitter() {
const classes = useStyles();
- const [bearerToken, setBearerToken] = useState('');
const [accounts, setAccounts] = useState([]);
- const [waitingForBearerToken, setWaitingForBearerToken] = useState(false);
+ const [streamStatus, setStreamStatus] = useState(null);
const [waitingForAccounts, setWaitingForAccounts] = useState(false);
const [setBearerTokenDialogOpen, setSetBearerTokenDialogOpen] = useState(false);
const [addAccountDialogOpen, setAddAccountDialogOpen] = useState(false);
@@ -45,14 +46,6 @@ export default function Twitter() {
};
}
- const getBearerToken = () => {
- setWaitingForBearerToken(true);
- getTwitterBearerTokenRequest((resp) => {
- setWaitingForBearerToken(false);
- setBearerToken(resp);
- });
- };
-
const getAccounts = () => {
setWaitingForAccounts(true);
getTwitterAccountsRequest((resp) => {
@@ -61,6 +54,12 @@ export default function Twitter() {
});
};
+ const getStreamStatus = () => {
+ getTwitterStreamStatusRequest((resp) => {
+ setStreamStatus(resp);
+ });
+ };
+
const handleClickOpenSetBearerTokenDialog = () => {
setSetBearerTokenDialogOpen(true);
};
@@ -78,10 +77,10 @@ export default function Twitter() {
};
useEffect(() => {
- getBearerToken();
+ getAccounts();
}, []);
useEffect(() => {
- getAccounts();
+ getStreamStatus();
}, []);
function TabPanel(props) {
@@ -104,29 +103,44 @@ export default function Twitter() {
);
}
- function BearerTokenSummary() {
- const bearerTokenText = (bearerToken ? bearerToken : 'not configured')
+ function StreamStatusSummary() {
+ const isStreamActive = (streamStatus ? streamStatus.getIsStreamActive() : false);
return (
=p&&f<=h}else{for(;f>p;)f-=360;for(;f 0?i=i.charAt(0)+"."+i.slice(1)+C(r):o>1&&(i=i.charAt(0)+"."+i.slice(1)),i=i+(a<0?"e":"e+")+a):a<0?(i="0."+C(-a-1)+i,n&&(r=n-o)>0&&(i+=C(r))):a>=o?(i+=C(a+1-o),n&&(r=n-a-1)>0&&(i=i+"."+C(r))):((r=a+1)0;--a)c[s++]=0;for(a=p.length;a>o;){if(c[--a]=l)return-1;if(37===(a=t.charCodeAt(o++))){if(a=t.charAt(o++),!(i=E[a in ot?t.charAt(o++):a])||(r=i(e,n,r))<0)return-1}else if(a!=n.charCodeAt(r++))return-1}return r}return b.x=S(n,b),b.X=S(r,b),b.c=S(t,b),y.x=S(n,y),y.X=S(r,y),y.c=S(t,y),{format:function(e){var t=S(e+="",b);return t.toString=function(){return e},t},parse:function(e){var t=x(e+="",!1);return t.toString=function(){return e},t},utcFormat:function(e){var t=S(e+="",y);return t.toString=function(){return e},t},utcParse:function(e){var t=x(e+="",!0);return t.toString=function(){return e},t}}}({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),at=rt.format,rt.parse,it=rt.utcFormat,rt.utcParse;var Rn=n(313),Nn=n(1768);function Mn(){var e,t,n,r,a,i=0,o=1,s=u.c,l=!1;function c(t){return null==t||isNaN(t=+t)?a:s(0===n?.5:(t=(r(t)-e)*n,l?Math.max(0,Math.min(1,t)):t))}function d(e){return function(t){var n,r,a,i;return arguments.length?(n=t,a=(r=Object(G.a)(n,2))[0],i=r[1],s=e(a,i),c):[s(0),s(1)]}}return c.domain=function(a){var s,l;return arguments.length?(s=a,l=Object(G.a)(s,2),i=l[0],o=l[1],e=r(i=+i),t=r(o=+o),n=e===t?0:1/(t-e),c):[i,o]},c.clamp=function(e){return arguments.length?(l=!!e,c):l},c.interpolator=function(e){return arguments.length?(s=e,c):s},c.range=d(Rn.a),c.rangeRound=d(Nn.a),c.unknown=function(e){return arguments.length?(a=e,c):a},function(a){return r=a,e=a(i),t=a(o),n=e===t?0:1/(t-e),c}}function In(e,t){return t.domain(e.domain()).interpolator(e.interpolator()).clamp(e.clamp()).unknown(e.unknown())}function Ln(){var e=Object(a.b)(Mn()(u.c));return e.copy=function(){return In(e,Ln())},d.a.apply(e,arguments)}function Dn(){var e=v(Mn()).domain([1,10]);return e.copy=function(){return In(e,Dn()).base(e.base())},d.a.apply(e,arguments)}function kn(){var e=S(Mn());return e.copy=function(){return In(e,kn()).constant(e.constant())},d.a.apply(e,arguments)}function Pn(){var e=A(Mn());return e.copy=function(){return In(e,Pn()).exponent(e.exponent())},d.a.apply(e,arguments)}function jn(){return Pn.apply(null,arguments).exponent(.5)}function zn(){var e=[],t=u.c;function n(n){if(null!=n&&!isNaN(n=+n))return t((Object(V.a)(e,n,1)-1)/(e.length-1))}return n.domain=function(t){if(!arguments.length)return e.slice();e=[];var r,a=Object(D.a)(t);try{for(a.s();!(r=a.n()).done;){var i=r.value;null==i||isNaN(i=+i)||e.push(i)}}catch(o){a.e(o)}finally{a.f()}return e.sort(j.a),n},n.interpolator=function(e){return arguments.length?(t=e,n):t},n.range=function(){return e.map((function(n,r){return t(r/(e.length-1))}))},n.quantiles=function(t){return Array.from({length:t+1},(function(n,r){return U(e,r/t)}))},n.copy=function(){return zn(t).domain(e)},d.a.apply(n,arguments)}function Fn(e,t){void 0===t&&(t=e,e=Rn.a);for(var n=0,r=t.length-1,a=t[0],i=new Array(r<0?0:r);n