mirror of
https://github.com/ether/etherpad-lite.git
synced 2026-04-04 05:01:16 +02:00
* chore: started with implementation * chore: finished index page * chore: started with double sided modal * chore: continue * chore: completed implementation of transfer token * chore: fixed typescript checks
246 lines
11 KiB
HTML
246 lines
11 KiB
HTML
<!doctype html>
|
|
<html>
|
|
|
|
<title><%=settings.title%></title>
|
|
<meta charset="utf-8">
|
|
<link rel="manifest" href="/manifest.json" />
|
|
<meta name="referrer" content="no-referrer">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">
|
|
<link rel="shortcut icon" href="favicon.ico">
|
|
<link rel="localizations" type="application/l10n+json" href="locales.json">
|
|
|
|
<style>
|
|
html, body {
|
|
height: 100%;
|
|
}
|
|
body {
|
|
margin: 0;
|
|
color: #333;
|
|
font: 14px helvetica, sans-serif;
|
|
background: #ddd;
|
|
background: -webkit-radial-gradient(circle,#aaa,#eee 60%) center fixed;
|
|
background: -moz-radial-gradient(circle,#aaa,#eee 60%) center fixed;
|
|
background: -ms-radial-gradient(circle,#aaa,#eee 60%) center fixed;
|
|
background: -o-radial-gradient(circle,#aaa,#eee 60%) center fixed;
|
|
border-top: 8px solid rgba(51,51,51,.8);
|
|
}
|
|
#wrapper {
|
|
border-top: 1px solid #999;
|
|
margin-top: 160px;
|
|
padding: 15px;
|
|
background: #eee;
|
|
background: -webkit-linear-gradient(#fff,#ccc);
|
|
background: -moz-linear-gradient(#fff,#ccc);
|
|
background: -ms-linear-gradient(#fff,#ccc);
|
|
background: -o-linear-gradient(#fff,#ccc);
|
|
box-shadow: 0 1px 8px rgba(0,0,0,0.3);
|
|
}
|
|
#inner {
|
|
position:relative;
|
|
max-width: 300px;
|
|
margin: 0 auto;
|
|
}
|
|
#button {
|
|
margin: 0 auto;
|
|
text-align: center;
|
|
width:300px;
|
|
border:none;
|
|
color: white;
|
|
text-shadow: 0 -1px 0 rgba(0,0,0,.8);
|
|
height: 70px;
|
|
line-height: 70px;
|
|
background: #555;
|
|
background: -webkit-linear-gradient(#5F5F5F,#565656 50%,#4C4C4C 51%,#373737);
|
|
background: -moz-linear-gradient(#5F5F5F,#565656 50%,#4C4C4C 51%,#373737);
|
|
background: -ms-linear-gradient(#5F5F5F,#565656 50%,#4C4C4C 51%,#373737);
|
|
background: -o-linear-gradient(#5F5F5F,#565656 50%,#4C4C4C 51%,#373737);
|
|
box-shadow: inset 0 1px 3px rgba(0,0,0,0.9);
|
|
}
|
|
#button:hover {
|
|
cursor: pointer;
|
|
background: #666;
|
|
background: -webkit-linear-gradient(#707070,#666666 50%,#5B5B5B 51%,#474747);
|
|
background: -moz-linear-gradient(#707070,#666666 50%,#5B5B5B 51%,#474747);
|
|
background: -ms-linear-gradient(#707070,#666666 50%,#5B5B5B 51%,#474747);
|
|
background: -o-linear-gradient(#707070,#666666 50%,#5B5B5B 51%,#474747);
|
|
}
|
|
#button:active {
|
|
box-shadow: inset 0 1px 12px rgba(0,0,0,0.9);
|
|
background: #444;
|
|
}
|
|
#label {
|
|
text-align: left;
|
|
text-shadow: 0 1px 1px #fff;
|
|
margin: 16px auto 0;
|
|
display:block;
|
|
}
|
|
#padname{
|
|
max-width:280px;
|
|
}
|
|
#go2Name {
|
|
height: 38px;
|
|
background: #fff;
|
|
border: 1px solid #bbb;
|
|
border-radius: 3px;
|
|
position: relative;
|
|
}
|
|
button, input {
|
|
font-weight: bold;
|
|
font-size: 15px;
|
|
}
|
|
input[type="text"] {
|
|
border-radius: 3px;
|
|
box-sizing: border-box;
|
|
-moz-box-sizing: border-box;
|
|
line-height:36px; /* IE8 hack */
|
|
padding: 0px 45px 0 10px;
|
|
*padding: 0; /* IE7 hack */
|
|
width: 100%;
|
|
height: 100%;
|
|
outline: none;
|
|
border: none;
|
|
position: absolute;
|
|
}
|
|
button[type="submit"] {
|
|
position: absolute;
|
|
left:253px;
|
|
}
|
|
nav, .mission-statement, .pad-datalist {
|
|
display: none;
|
|
}
|
|
|
|
.settings-button {
|
|
color: inherit;
|
|
border: none;
|
|
padding: 0;
|
|
font: inherit;
|
|
cursor: pointer;
|
|
outline: inherit;
|
|
}
|
|
|
|
#settings-dialog {
|
|
border: none;
|
|
border-radius: 8px;
|
|
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
|
|
padding: 20px;
|
|
}
|
|
|
|
@media (min-device-width: 320px) and (min-device-width: 800px) {
|
|
body {
|
|
background: #bbb;
|
|
background: -webkit-linear-gradient(#aaa,#eee 60%) center fixed;
|
|
background: -moz-linear-gradient(#aaa,#eee 60%) center fixed;
|
|
background: -ms-linear-gradient(#aaa,#eee 60%) center fixed;
|
|
}
|
|
#settings-dialog {
|
|
max-width: 50%;
|
|
}
|
|
#wrapper {
|
|
margin-top: 0;
|
|
}
|
|
#inner {
|
|
width: 95%;
|
|
}
|
|
#label {
|
|
text-align: center;
|
|
}
|
|
}
|
|
</style>
|
|
<% e.begin_block("indexCustomStyles"); %>
|
|
<link href="static/skins/<%=encodeURI(settings.skinName)%>/index.css?v=<%=settings.randomVersionString%>" rel="stylesheet">
|
|
<% e.end_block(); %>
|
|
|
|
<nav>
|
|
<div class="logo-box">
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text w-5 h-5 text-white"><path d="M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"></path><path d="M14 2v4a2 2 0 0 0 2 2h4"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg>
|
|
</div>
|
|
<h1>Etherpad</h1>
|
|
<div style="flex-grow: 1"></div>
|
|
<button class="settings-button" aria-label="Settings">
|
|
<svg width="30px" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="settings-icon">
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z" />
|
|
<path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z" />
|
|
</svg>
|
|
</button>
|
|
</nav>
|
|
|
|
|
|
<!-- Settings menu-->
|
|
<dialog id="settings-dialog">
|
|
<div id="button-bar">
|
|
<button data-l10n-id="index.transferSessionTitle" class="active-btn"></button>
|
|
<button data-l10n-id="index.receiveSessionTitle"></button>
|
|
</div>
|
|
<div>
|
|
|
|
<!-- Initial link button -->
|
|
<h3 data-l10n-id="index.transferSession"></h3>
|
|
<div data-l10n-id="index.transferSessionDescription"></div>
|
|
<button type="button" class="btn-secondary" style="margin-top: 20px" data-l10n-id="index.transferSessionNow"></button>
|
|
|
|
<!-- Copy link button -->
|
|
<div style="display: none" id="copy-link-section">
|
|
<h3 data-l10n-id="index.copyLink"></h3>
|
|
<div data-l10n-id="index.copyLinkDescription"></div>
|
|
<button type="button" class="btn-secondary" style="margin-top: 20px" data-l10n-id="index.copyLinkButton"></button>
|
|
</div>
|
|
</div>
|
|
<div id="transfer-to-system-section" style="display: none; margin-top: 30px;">
|
|
<h3 data-l10n-id="index.transferToSystem"></h3>
|
|
<div data-l10n-id="index.transferToSystemDescription"></div>
|
|
<p data-l10n-id="index.receiveSessionDescription"></p>
|
|
<div>
|
|
<label for="codeInput" data-l10n-id="index.code"></label>
|
|
<input type="text" id="codeInput"/>
|
|
</div>
|
|
|
|
<button data-l10n-id="index.transferSessionTitle" id="transferSessionButton" disabled></button>
|
|
</div>
|
|
|
|
<div>
|
|
|
|
</div>
|
|
|
|
</dialog>
|
|
|
|
<div class="body">
|
|
<div class="mission-statement">
|
|
<h2 data-l10n-id="index.createAndShareDocuments"></h2>
|
|
<p data-l10n-id="index.createAndShareDocumentsDescription"></p>
|
|
</div>
|
|
|
|
<div id="wrapper">
|
|
<% e.begin_block("indexWrapper"); %>
|
|
<div id="inner">
|
|
<% if (!settings.requireSession) { %>
|
|
<% if (settings.editOnly) { %>
|
|
<button data-l10n-id="index.openPad"></button>
|
|
<% } else {%>
|
|
<button id="button" data-l10n-id="index.generateNewPad"></button>
|
|
<% } %>
|
|
<form action="#" id="go2Name">
|
|
<label id="label" for="padname" data-l10n-id="index.labelPad"></label>
|
|
<input type="text" id="padname" maxlength="50" autofocus placeholder="Enter pad name...">
|
|
<button type="submit" data-l10n-id="index.createOpenPad"></button>
|
|
</form>
|
|
<% } %>
|
|
</div>
|
|
<% e.end_block(); %>
|
|
</div>
|
|
<div style="display: none" data-l10n-id="index.placeholderPadEnter"></div>
|
|
<% if (settings.showRecentPads) { %>
|
|
<div class="pad-datalist">
|
|
<h2 data-l10n-id="index.recentPads"></h2>
|
|
<ul id="recent-pads">
|
|
</ul>
|
|
</div>
|
|
<% } %>
|
|
</div>
|
|
<script src="<%=entrypoint%>"></script>
|
|
|
|
<% e.begin_block("indexCustomScripts"); %>
|
|
<script src="static/skins/<%=encodeURI(settings.skinName)%>/index.js?v=<%=settings.randomVersionString%>"></script>
|
|
<% e.end_block(); %>
|
|
<div style="display:none"><a href="/javascript" data-jslicense="1">JavaScript license information</a></div>
|
|
</html>
|