mirror of https://github.com/zulip/zulip.git
50 lines
1.6 KiB
TypeScript
50 lines
1.6 KiB
TypeScript
// Module for displaying the modal asking spectators to log in when
|
|
// attempting to do things that are not possible as a spectator (like
|
|
// add an emoji reaction, star a message, etc.). While in many cases,
|
|
// we will prefer to hide menu options that don't make sense for
|
|
// spectators, this modal is useful for everything that doesn't make
|
|
// sense to remove from a design perspective.
|
|
|
|
import $ from "jquery";
|
|
|
|
import render_login_to_access_modal from "../templates/login_to_access.hbs";
|
|
|
|
import * as browser_history from "./browser_history";
|
|
import * as modals from "./modals";
|
|
import {page_params} from "./page_params";
|
|
|
|
export function current_hash_as_next(): string {
|
|
return `next=/${encodeURIComponent(window.location.hash)}`;
|
|
}
|
|
|
|
export function build_login_link(): string {
|
|
let login_link = "/login/?" + current_hash_as_next();
|
|
if (page_params.development_environment) {
|
|
login_link = "/devlogin/?" + current_hash_as_next();
|
|
}
|
|
return login_link;
|
|
}
|
|
|
|
export function login_to_access(empty_narrow?: boolean): void {
|
|
// Hide all overlays, popover and go back to the previous hash if the
|
|
// hash has changed.
|
|
const login_link = build_login_link();
|
|
const realm_name = page_params.realm_name;
|
|
|
|
$("body").append(
|
|
render_login_to_access_modal({
|
|
signup_link: "/register/",
|
|
login_link,
|
|
empty_narrow,
|
|
realm_name,
|
|
}),
|
|
);
|
|
|
|
modals.open("login_to_access_modal", {
|
|
autoremove: true,
|
|
on_hide() {
|
|
browser_history.return_to_web_public_hash();
|
|
},
|
|
});
|
|
}
|