Add eternity-wasteland-v2 theme

This commit is contained in:
2026-09-19 13:08:41 +03:00
parent 393c333794
commit b8fce3cacb
8 changed files with 673 additions and 0 deletions
@@ -0,0 +1,57 @@
<roundcube:add_label name="back" />
<roundcube:add_label name="errortitle" />
<roundcube:add_label name="options" />
<roundcube:add_label name="plaintoggle" />
<roundcube:add_label name="htmltoggle" />
<roundcube:add_label name="previous" />
<roundcube:add_label name="next" />
<roundcube:add_label name="select" />
<roundcube:add_label name="close" />
<roundcube:add_label name="browse" />
<roundcube:add_label name="choosefile" />
<roundcube:add_label name="choosefiles" />
<roundcube:object name="doctype" value="html5" />
<roundcube:if condition="!env:framed || env:extwin" />
<html>
<roundcube:else />
<html class="iframe">
<roundcube:endif />
<head>
<script>
(function () {
try {
if (localStorage.getItem('ep-theme') === 'dark') {
document.documentElement.setAttribute('data-theme', 'dark');
}
} catch (error) { }
}());
</script>
<roundcube:object name="meta" />
<roundcube:object name="links" />
<link rel="icon" type="image/svg+xml" href="/images/favicon.svg">
<link rel="shortcut icon" type="image/svg+xml" href="/images/favicon.svg">
<link rel="stylesheet" href="/deps/bootstrap.min.css">
<roundcube:if condition="config:devel_mode" />
<link rel="stylesheet/less" href="/styles/styles.less">
<roundcube:link rel="stylesheet/less" href="/styles/print.less" condition="env:action == 'print'" />
<script src="/deps/less.min.js" data-env="development"></script>
<roundcube:else />
<link rel="stylesheet" href="/styles/styles.css">
<roundcube:link rel="stylesheet" href="/styles/print.css" condition="env:action == 'print'" />
<roundcube:endif />
<roundcube:if condition="env:action != 'print' && !config:devel_mode && config:dark_mode_support" />
<script>
try {
if (document.cookie.indexOf('colorMode=dark') > -1
|| (document.cookie.indexOf('colorMode=light') === -1 && window.matchMedia('(prefers-color-scheme: dark)').matches)
) {
document.documentElement.className += ' dark-mode';
}
} catch (error) { }
</script>
<roundcube:endif />
</head>
<body class="task-<roundcube:exp expression="env:error_task ?: env:task ?: 'error'"> action-<roundcube:exp expression="asciiwords(env:action, true, '-') ?: 'none'">">
<roundcube:if condition="!env:framed || env:extwin" />
<div id="<roundcube:exp expression="env:action == 'print' ? 'print-' : ''">layout">
<roundcube:endif />
@@ -0,0 +1,62 @@
<roundcube:include file="includes/layout.html" />
<script>
(function () {
try {
if (localStorage.getItem('ep-theme') === 'dark') {
document.documentElement.setAttribute('data-theme', 'dark');
}
} catch (error) { }
}());
</script>
<h1 class="voice"><roundcube:object name="productname" /> <roundcube:label name="login" /></h1>
<div id="layout-content" class="selected no-navbar" role="main">
<roundcube:object name="logo" src="/images/logo.svg" id="logo" alt="Logo" />
<roundcube:form id="login-form" name="login-form" method="post" class="propform">
<roundcube:object name="loginform" form="login-form" size="40" submit=true class="form-control" />
<button type="button" class="theme-toggle" id="theme-toggle" aria-pressed="false"></button>
<div id="login-footer" role="contentinfo">
<roundcube:object name="productname" condition="config:display_product_info &gt; 0" />
<roundcube:object name="version" condition="config:display_product_info == 2" />
<roundcube:if condition="config:support_url" />
&nbsp;&bull;&nbsp; <a href="<roundcube:var name='config:support_url' />" target="_blank" rel="noopener" class="support-link"><roundcube:label name="support" /></a>
<roundcube:endif />
<roundcube:container name="loginfooter" id="login-footer" />
</div>
</roundcube:form>
</div>
<script>
(function () {
var root = document.documentElement;
var button = document.getElementById('theme-toggle');
function updateButton() {
var dark = root.getAttribute('data-theme') === 'dark';
button.textContent = dark ? 'DAYLIGHT' : 'WASTELAND';
button.setAttribute('aria-pressed', dark ? 'true' : 'false');
}
updateButton();
button.addEventListener('click', function () {
var dark = root.getAttribute('data-theme') === 'dark';
if (dark) {
root.removeAttribute('data-theme');
} else {
root.setAttribute('data-theme', 'dark');
}
try {
localStorage.setItem('ep-theme', dark ? 'light' : 'dark');
} catch (error) { }
updateButton();
});
}());
</script>
<noscript>
<p class="noscriptwarning"><roundcube:label name="noscriptwarning" /></p>
</noscript>
<roundcube:include file="includes/footer.html" />