web-apps/apps/documenteditor/mobile/index.html

169 lines
5.9 KiB
HTML
Raw Normal View History

<!doctype html><html><head><meta charset="utf-8"><meta http-equiv="Content-Security-Policy" content="default-src * 'self' 'unsafe-inline' 'unsafe-eval' data: blob:"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no,minimal-ui,viewport-fit=cover"><meta name="theme-color" content="#007aff"><meta name="format-detection" content="telephone=no"><meta name="msapplication-tap-highlight" content="no"><title>Desktop Editor</title><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"><link rel="apple-touch-icon" href="static/icons/apple-touch-icon.png"><link rel="icon" href="static/icons/favicon.png"><style>body {
margin: 0;
}
body.theme-type-dark {
--background-navbar-ios: #232323;
--background-navbar-word: #232323;
--background-navbar-cell: #232323;
--background-navbar-slide: #232323;
}
.skl-navbar {
--box-logo-height: 26px;
--skl-navbar-height: 44px;
--skl-pixel-ratio: 1;
}
.skl-navbar--md {
--skl-navbar-height: 56px;
}
.skl-pixel-ratio--2 {
--skl-pixel-ratio: 2;
}
.skl-navbar {
height: calc(var(--skl-navbar-height) + var(--box-logo-height));
width: 100%;
position: relative;
}
.skl-navbar.skl-navbar--md {
/*height: calc(56px + 26px);*/
}
.skl-navbar.skl-navbar--ios {
background-color: var(--background-navbar-ios, #f7f7f8);
}
.skl-navbar.skl-navbar--word.skl-navbar--md {
background-color: var(--background-navbar-word, #446995);
}
.skl-navbar.skl-navbar--cell.skl-navbar--md {
background-color: var(--background-navbar-cell, #40865c);
}
.skl-navbar.skl-navbar--slide.skl-navbar--md {
background-color: var(--background-navbar-slide, #aa5252);
}
.skl-navbar::before {
content: '';
position: absolute;
width: 100%;
}
.skl-navbar:not(.skl-navbar--md)::before {
background-color: rgba(0,0,0,0.25);
display: block;
z-index: 15;
top: auto;
right: auto;
bottom: 0;
left: 0;
height: 1px;
transform-origin: 50% 100%;
transform: scaleY(calc(1 / var(--skl-pixel-ratio)));
}
.skl-navbar.skl-navbar--md::before {
right: 0;
width: 100%;
top: 100%;
bottom: auto;
height: 8px;
pointer-events: none;
background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.08) 40%, rgba(0, 0, 0, 0.04) 50%, rgba(0, 0, 0, 0) 90%, rgba(0, 0, 0, 0) 100%)
}
.skl-lines {
display: none;
}
.skl-line {
height: 15px;
margin: 30px;
background: #e2e2e2;
overflow: hidden;
position: relative;
-webkit-animation: flickerAnimation 2s infinite ease-in-out;
animation: flickerAnimation 2s infinite ease-in-out;
}
@keyframes flickerAnimation {
0% { opacity:0.1; }
50% { opacity:1; }
100% { opacity:0.1; }
}
@-o-keyframes flickerAnimation{
0% { opacity:0.1; }
50% { opacity:1; }
100% { opacity:0.1; }
}
@-moz-keyframes flickerAnimation{
0% { opacity:0.1; }
50% { opacity:1; }
100% { opacity:0.1; }
}
@-webkit-keyframes flickerAnimation{
0% { opacity:0.1; }
50% { opacity:1; }
100% { opacity:0.1; }
}</style><script defer="defer" src="dist/js/app.js"></script></head><body><script>let obj = !localStorage ? {id: 'theme-light', type: 'light'} : JSON.parse(localStorage.getItem("ui-theme"));
if ( !obj ) {
obj = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches ?
{id: 'theme-dark', type: 'dark'} : {id: 'theme-light', type: 'light'};
localStorage && localStorage.setItem("ui-theme", JSON.stringify(obj));
}
document.body.classList.add(`theme-type-${obj.type}`);</script><section class="skl-container"><div class="skl-navbar skl-navbar--word"></div><div class="skl-lines"><div class="skl-line"></div><div class="skl-line"></div><div class="skl-line"></div></div></section><script>const isAndroid = /Android/.test(navigator.userAgent);
if ( isAndroid && navigator.platform == 'Win32' )
// Framework7 doesn't set Device.android flag when navigator.platform == 'Win32', change it for debug
navigator.__defineGetter__('platform', () => 'Win32Debug');
const element_add_class = (el, cls) => (el && el.classList.add(cls));
let navbar = document.querySelector('.skl-navbar');
if ( window.devicePixelRatio ) {
element_add_class(navbar, `skl-pixel-ratio--${Math.floor(window.devicePixelRatio)}`);
}
if ( !isAndroid ) {
const ua = navigator.userAgent;
const iPad = ua.match(/(iPad).*OS\s([\d_]+)/);
const iPhone = !iPad && ua.match(/(iPhone\sOS|iOS)\s([\d_]+)/);
if ( !iPad && !iPhone ) {
Object.defineProperty(navigator, 'userAgent', {
get: function () { return `iPad; CPU OS 11_0 ${ua}`; }
});
} else {
element_add_class(navbar, `skl-navbar--ios`);
}
} else {
element_add_class(navbar, `skl-navbar--md`);
}
const getUrlParams = () => {
let e,
a = /\+/g, // Regex for replacing addition symbol with a space
r = /([^&=]+)=?([^&]*)/g,
d = s => decodeURIComponent(s.replace(a, " ")),
q = window.location.search.substring(1),
urlParams = {};
while (e = r.exec(q))
urlParams[d(e[1])] = d(e[2]);
return urlParams;
};
window.Common = {Locale: {defaultLang: "en"}};
let params = getUrlParams(),
lang = (params["lang"] || window.Common.Locale.defaultLang).split(/[\-\_]/)[0];
window.Common.Locale.currentLang = lang;
window.frameEditorId = params["frameEditorId"];
window.parentOrigin = params["parentOrigin"];</script><script src="../../../vendor/jquery/jquery.min.js"></script><div id="app"></div></body></html>