Noah Petherbridge
16b148fc92
Add support for your website to apply chat moderation rules to users as they log onto the chat room.
74 lines
2.9 KiB
HTML
74 lines
2.9 KiB
HTML
{{define "index"}}
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<link rel="icon" href="/favicon.ico">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<link rel="stylesheet" type="text/css" href="/static/css/bulma.min.css?{{.CacheHash}}">
|
|
<link rel="stylesheet" href="/static/fontawesome-free-6.1.2-web/css/all.css">
|
|
<link rel="stylesheet" type="text/css" href="/static/css/chat.css?{{.CacheHash}}">
|
|
<title>{{.Config.Title}}</title>
|
|
</head>
|
|
<body>
|
|
|
|
<!-- Photo Detail Modal -->
|
|
<div class="modal" id="photo-modal">
|
|
<div class="modal-background" onclick="document.querySelector('#photo-modal').classList.remove('is-active')"></div>
|
|
<div class="modal-content photo-modal">
|
|
<div class="image is-fullwidth">
|
|
<img id="modalImage" oncontextmenu="return false">
|
|
</div>
|
|
</div>
|
|
<button class="modal-close is-large" aria-label="close" onclick="document.querySelector('#photo-modal').classList.remove('is-active')"></button>
|
|
</div>
|
|
|
|
<div id="app"></div>
|
|
|
|
<!-- BareRTC constants injected by IndexPage route -->
|
|
<script type="text/javascript">
|
|
const Branding = {{.Config.Branding}};
|
|
const PublicChannels = {{.Config.GetChannels}};
|
|
const DMDisclaimer = {{.Config.DirectMessageHistory.DisclaimerMessage}};
|
|
const WebsiteURL = "{{.Config.WebsiteURL}}";
|
|
const PermitNSFW = {{AsJS .Config.PermitNSFW}};
|
|
const TURN = {{.Config.TURN}};
|
|
const WebhookURLs = {{.Config.WebhookURLs}};
|
|
const VIP = {{.Config.VIP}};
|
|
const UserJWTToken = {{.JWTTokenString}};
|
|
const UserJWTValid = {{if .JWTAuthOK}}true{{else}}false{{end}};
|
|
const UserJWTClaims = {{.JWTClaims.ToJSON}};
|
|
const UserJWTRules = {{.JWTClaims.Rules.ToDict}};
|
|
const CachedBlocklist = {{.CachedBlocklist}};
|
|
const CacheHash = {{.CacheHash}};
|
|
|
|
// Show the photo detail modal.
|
|
function setModalImage(url) {
|
|
let $modalImg = document.querySelector("#modalImage"),
|
|
$modal = document.querySelector("#photo-modal");
|
|
$modalImg.src = url;
|
|
$modal.classList.add("is-active");
|
|
return false;
|
|
}
|
|
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
// Add global body click to hide the hamburger menu for chat settings.
|
|
const settingsMenu = document.querySelector("#chat-settings-hamburger-menu");
|
|
settingsMenu.addEventListener('click', (e) => {
|
|
settingsMenu.classList.toggle('is-active');
|
|
e.stopPropagation();
|
|
});
|
|
|
|
document.body.addEventListener('click', () => {
|
|
if (settingsMenu != undefined && settingsMenu.classList.contains("is-active")) {
|
|
settingsMenu.classList.remove('is-active');
|
|
}
|
|
})
|
|
});
|
|
</script>
|
|
|
|
<script type="module" src="/src/main.js"></script>
|
|
</body>
|
|
</html>
|
|
{{end}}
|