mirror of
https://github.com/LemmyNet/lemmy-ui.git
synced 2024-11-27 08:16:20 +00:00
Adding websocket error and reconnect toasts. Fixes #129
This commit is contained in:
parent
153f6222b8
commit
00e24fd772
|
@ -81,6 +81,8 @@ export class Navbar extends Component<NavbarProps, NavbarState> {
|
|||
componentDidMount() {
|
||||
// Subscribe to jwt changes
|
||||
if (isBrowser()) {
|
||||
this.websocketEvents();
|
||||
|
||||
this.searchTextField = createRef();
|
||||
console.log(`isLoggedIn = ${this.state.isLoggedIn}`);
|
||||
|
||||
|
@ -393,6 +395,7 @@ export class Navbar extends Component<NavbarProps, NavbarState> {
|
|||
}
|
||||
return;
|
||||
} else if (msg.reconnect) {
|
||||
toast(i18n.t("websocket_reconnected"), "success");
|
||||
WebSocketService.Instance.send(
|
||||
wsClient.userJoin({
|
||||
auth: authField(),
|
||||
|
@ -530,11 +533,19 @@ export class Navbar extends Component<NavbarProps, NavbarState> {
|
|||
}
|
||||
|
||||
get canCreateCommunity(): boolean {
|
||||
let adminOnly = this.props.site_res.site_view?.site
|
||||
.community_creation_admin_only;
|
||||
let adminOnly =
|
||||
this.props.site_res.site_view?.site.community_creation_admin_only;
|
||||
return !adminOnly || this.canAdmin;
|
||||
}
|
||||
|
||||
/// Listens for some websocket errors
|
||||
websocketEvents() {
|
||||
let msg = i18n.t("websocket_disconnected");
|
||||
WebSocketService.Instance.closeEventListener(() => {
|
||||
toast(msg, "danger");
|
||||
});
|
||||
}
|
||||
|
||||
requestNotificationPermission() {
|
||||
if (UserService.Instance.localUserView) {
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
|
|
|
@ -56,6 +56,10 @@ export class WebSocketService {
|
|||
this.ws.send(data);
|
||||
}
|
||||
|
||||
public closeEventListener(listener: (event: CloseEvent) => void) {
|
||||
this.ws.addEventListener("close", listener);
|
||||
}
|
||||
|
||||
public static get Instance() {
|
||||
return this._instance || (this._instance = new this());
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue