Files
mirotalk/public/views/customizeRoom.html
T
2026-02-03 17:05:41 +01:00

176 lines
7.9 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<title id="title">MiroTalk - Custom Room.</title>
<link id="icon" rel="shortcut icon" href="../images/logo.svg" />
<link id="appleTouchIcon" rel="apple-touch-icon" href="../images/logo.svg" />
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- https://ogp.me -->
<meta property="og:type" content="{{OG_TYPE}}" />
<meta property="og:site_name" content="{{OG_SITE_NAME}}" />
<meta property="og:title" content="{{OG_TITLE}}" />
<meta property="og:description" content="{{OG_DESCRIPTION}}" />
<meta property="og:image" content="{{OG_IMAGE}}" />
<meta property="og:url" content="{{OG_URL}}" />
<link rel="stylesheet" type="text/css" href="../css/customizeRoom.css" />
<!-- xss (provides filterXSS) -->
<script src="https://cdn.jsdelivr.net/npm/xss/dist/xss.min.js"></script>
</head>
<body>
<a class="cr-home" href="/" aria-label="Back to home" title="Back to home">
<img src="../images/logo.svg" alt="MiroTalk P2P" width="32" height="32" />
</a>
<main class="cr-page">
<section class="cr-card" aria-label="Join a MiroTalk room">
<h1 class="cr-title">Join a MiroTalk Room</h1>
<form id="customizeRoomForm" class="cr-form" autocomplete="off">
<div class="cr-field">
<label class="cr-label" for="room">Room</label>
<input
id="room"
name="room"
class="cr-input"
type="text"
inputmode="text"
placeholder="room123"
maxlength="64"
/>
</div>
<div class="cr-field">
<label class="cr-label" for="name">Name</label>
<input
id="name"
name="name"
class="cr-input"
type="text"
inputmode="text"
placeholder="Your display name"
maxlength="64"
/>
</div>
<div class="cr-field">
<label class="cr-label" for="avatar">Avatar URL</label>
<input
id="avatar"
name="avatar"
class="cr-input"
type="url"
inputmode="url"
placeholder="https://..."
maxlength="512"
/>
<p class="cr-hint">Leave empty to disable avatar (uses avatar=0).</p>
</div>
<div class="cr-field">
<label class="cr-label" for="token">Token</label>
<input
id="token"
name="token"
class="cr-input"
type="text"
inputmode="text"
placeholder="JWT token"
maxlength="2048"
/>
<p class="cr-hint">Required when Host Protected or User Auth is enabled.</p>
</div>
<div class="cr-toggle-grid" aria-label="Join options">
<label class="cr-toggle" for="audio">
<span class="cr-toggle-text">Audio</span>
<span class="cr-switch-wrap">
<input id="audio" name="audio" type="checkbox" />
<span class="cr-switch" aria-hidden="true"></span>
</span>
</label>
<label class="cr-toggle" for="video">
<span class="cr-toggle-text">Video</span>
<span class="cr-switch-wrap">
<input id="video" name="video" type="checkbox" />
<span class="cr-switch" aria-hidden="true"></span>
</span>
</label>
<label class="cr-toggle" for="screen">
<span class="cr-toggle-text">Screen</span>
<span class="cr-switch-wrap">
<input id="screen" name="screen" type="checkbox" />
<span class="cr-switch" aria-hidden="true"></span>
</span>
</label>
<label class="cr-toggle" for="chat">
<span class="cr-toggle-text">Chat</span>
<span class="cr-switch-wrap">
<input id="chat" name="chat" type="checkbox" />
<span class="cr-switch" aria-hidden="true"></span>
</span>
</label>
<label class="cr-toggle" for="hide">
<span class="cr-toggle-text">Hide me</span>
<span class="cr-switch-wrap">
<input id="hide" name="hide" type="checkbox" />
<span class="cr-switch" aria-hidden="true"></span>
</span>
</label>
<label class="cr-toggle" for="notify">
<span class="cr-toggle-text">Share</span>
<span class="cr-switch-wrap">
<input id="notify" name="notify" type="checkbox" />
<span class="cr-switch" aria-hidden="true"></span>
</span>
</label>
</div>
<div class="cr-field">
<label class="cr-label" for="duration">Duration (optional)</label>
<input
id="duration"
name="duration"
class="cr-input"
type="text"
inputmode="numeric"
placeholder="12:30:00"
pattern="^\d{2}:\d{2}:\d{2}$"
maxlength="8"
/>
<p class="cr-hint">Format HH:MM:SS. Leave empty for unlimited (uses duration=unlimited).</p>
</div>
<div class="cr-field">
<label class="cr-label" for="crPreviewUrl">Join link</label>
<div class="cr-preview-row">
<input id="crPreviewUrl" class="cr-input cr-preview" type="text" readonly />
<button id="crCopy" class="cr-copy" type="button" aria-label="Copy join link">
<span class="cr-copy-icon" aria-hidden="true"></span>
<span>Copy</span>
</button>
</div>
<p id="crStatus" class="cr-hint" role="status" aria-live="polite"></p>
</div>
<p id="crError" class="cr-error" hidden></p>
<button class="cr-submit" type="submit">Join room</button>
</form>
</section>
</main>
<script defer src="../js/customizeRoom.js"></script>
</body>
</html>