some git watched file modified
This commit is contained in:
parent
cc5ba8af0f
commit
447aeea0cb
|
@ -1,154 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="es-ES">
|
||||
<head>
|
||||
<title>Account Manager - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport" />
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link
|
||||
href="../../node_modules/materialize-css/dist/css/materialize.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/tl.css" rel="stylesheet" type="text/css" />
|
||||
<link href="../../css/userdata.css" rel="stylesheet" type="text/css" />
|
||||
<link
|
||||
href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/acct.css" rel="stylesheet" type="text/css" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<script>var pwa = false;</script> <script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/materialize-css/dist/js/materialize.js"
|
||||
></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"
|
||||
></script>
|
||||
<script>
|
||||
var misskeytoken = false
|
||||
</script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<div class="hide-first">
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"
|
||||
>Atrás</a
|
||||
><br />
|
||||
<h5>Lista de cuentas</h5>
|
||||
<div id="acct-list"></div>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
<div class="hide-second">
|
||||
<a href="setting.html">Having the exported file of TheDesk, click here to jump setting page</a>
|
||||
</div>
|
||||
<div>
|
||||
<h5>Agregar una cuenta</h5>
|
||||
<br />
|
||||
<div id="add">
|
||||
<div class="row">
|
||||
<div class="col s8">
|
||||
Fill the instance domain (like mastodon.social)<br />
|
||||
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp" />
|
||||
<div id="ins-suggest"></div>
|
||||
<button class="btn waves-effect" onclick="instance()">Login</button><br />
|
||||
<div class="pwa">
|
||||
Desmarcarlo para omitir código de pegado. (iniciar sesión en Mastodon en Windows o macOS) (Recomendado: pcheck)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="linux" />
|
||||
<span>Configuración de código</span>
|
||||
</label>
|
||||
<br />
|
||||
</div>
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="misskey" />
|
||||
<span>Iniciar sesión como Misskey</span> </label
|
||||
><br />
|
||||
</div>
|
||||
<div class="col s4 scr" aria-hidden="true">
|
||||
<span style="font-family:Open Sans;">Supports</span>
|
||||
<div id="support" class="collection transparent"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="auth" style="display:none">
|
||||
Pegar el código y cerrar el navegador web.<br />
|
||||
<input type="text" id="code" placeholder="Código" required />
|
||||
<button class="btn waves-effect" onclick="code()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup()" class="pointer">Usar el token de acceso para iniciar sesión (haga clic después de completar no el código si no el token de acceso en el casilla: avanzado)</a>
|
||||
<div id="compt" style="display:none" class="scr">
|
||||
<h5>ログイン前に必ずご確認ください</h5>
|
||||
<span id="compt-instance"></span>はバージョンが<span id="compt-ver"></span
|
||||
>のため以下の機能がご利用いただけません。
|
||||
<span id="compt-warn" style="display:none"
|
||||
>また、このインスタンスはMastodonではなくそのAPI上の互換実装であり、TheDeskでは利用を想定していないため非保証となります。</span
|
||||
>
|
||||
<ul id="compt-list"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="misskeylogin" style="display:none">
|
||||
<h5>AppSecret</h5>
|
||||
Leer <a href="https://thedesk.top/how-to-misskey-login.html">Docs(ja)</a> para iniciar sesión en Misskey.<br />
|
||||
<input type="hidden" id="misskey-url" />
|
||||
<input type="text" id="misskey-key" placeholder="Código" required />
|
||||
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup('misskey')" class="pointer">Usar el token de acceso para iniciar sesión (haga clic después de completar no el código si no el token de acceso en el casilla: avanzado)</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hide-first">
|
||||
<h5>Cuenta principal</h5>
|
||||
<div class="input-field" style="width:300px">
|
||||
<span data-trans="your_acct">Seleccionar una cuenta</span>
|
||||
<br />
|
||||
<select
|
||||
id="main-acct-sel"
|
||||
class="acct-sel"
|
||||
style="color:black"
|
||||
onchange="mainacct()"
|
||||
></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<ul id="domain-list" class="collection transparent"></ul>
|
||||
<div id="instance-data">
|
||||
Some instance data by
|
||||
<a href="https://instances.social" target="_blank">instances.social API</a><br />
|
||||
<h5 id="ins-title"></h5>
|
||||
Administered by:<a id="ins-admin"></a><br />
|
||||
<span id="ins-desc"></span><br />
|
||||
<img src="../../img/loading.svg" id="ins-prof" width="200" /><br />
|
||||
<br />
|
||||
Dominio:<span id="ins-name"></span><br />
|
||||
Servidores federados:<span id="ins-connect"></span><br />
|
||||
Toots:<span id="ins-toot"></span><br />
|
||||
Usuarios:<span id="ins-user"></span>Usuarios<br />
|
||||
Conexión:<span id="ins-per"></span>%<br />
|
||||
Versión de Mastodon:<span id="ins-ver"></span>@<span id="ins-upd"></span><br />
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/tips.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/sha256.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/instance.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/manager.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
||||
<script>$('body').addClass(localStorage.getItem('platform'))</script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -1,632 +0,0 @@
|
|||
<!doctype html>
|
||||
<html lang="es-ES" style="overflow-y:scroll">
|
||||
|
||||
<head>
|
||||
<title>Settings - TheDesk</title>
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
input {
|
||||
max-height: 3.84rem !important
|
||||
}
|
||||
|
||||
.pcr-result {
|
||||
height: 1rem !important;
|
||||
}
|
||||
|
||||
.container-after-titlebar {
|
||||
padding: 20px;
|
||||
}
|
||||
</style>
|
||||
<script>var pwa = false;</script>
|
||||
<script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" style="overflow-y:scroll" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script src="../../node_modules/json5/dist/index.min.js"></script>
|
||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
|
||||
<script type="text/javascript" src="setting.vue.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>function renderMem() { return false; }</script>
|
||||
|
||||
<h4>Preferences</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">desktop_windows</i>Preferencias del sistema
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Idiomas</h5>
|
||||
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br><br>
|
||||
<div style="display: flex;">
|
||||
<div style="width: 22rem;" id="langsel">
|
||||
<select id="langsel-sel"><option value="ja">日本語</option><option value="ja-KS">日本語(関西)</option><option value="en">English</option><option value="bg">български</option><option value="cs">Česky</option><option value="de">Deutsch</option><option value="es-AR">Español, argentina</option><option value="it-IT">italiano</option><option value="zh-CN">简体中文</option><option value="zh-TW">繁體中文(β)</option><option value="fr-FR">français(β)</option><option value="no-NO">norsk(β)</option><option value="pt-BR">Português, brasileiro(β)</option><option value="ru-RU">русский(β)</option><option value="es-ES">Español(β)</option><option value="ps">Crowdin translate system(beta)</option></select>
|
||||
</div>
|
||||
<button class="btn waves-effect" onclick="changeLang()">Cambiar</button>
|
||||
</div>
|
||||
<h5>Importación y exportación de la configuración</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
|
||||
style="width:100%; max-width:15rem;">Exportar</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3"
|
||||
style="width:100%; max-width:15rem;">Importar</button><br>
|
||||
If you got a error when you choose the file, please paste the strings printed when you open the file and click import<br>
|
||||
<input type="text" id="imp-exp" style="width: 22rem">
|
||||
<div id="envView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||
class="pointer">Prueba de notificación</a><br></template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Cambiar</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Fuente</h5>
|
||||
Select your favorite font to 'Select'(Windows/ macOS only)<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="font()">Seleccionar</button><br>
|
||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:22rem; height:40rem;"></div>
|
||||
<br>
|
||||
<input type="text" style="width:11.5rem" id="font">
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Carpeta para guardar</h5>
|
||||
TheDesk utiliza este valor cuando intenta guardar fotos o tomar capturas de pantalla.<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="savefolder()">Cambiar</button>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li class="pwa">
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">color_lens</i>Temas
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h4>Seleccionar tema</h4>
|
||||
<div style="width:22rem" id="sel-selector">
|
||||
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||
</div>
|
||||
<h4>Editar y añadir temas personalizados</h4>
|
||||
<div style="width:22rem" id="edit-selector" data-add="Add new">
|
||||
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||
<option value="add_new">Add new</option>
|
||||
</select>
|
||||
</div>
|
||||
<h5>Name</h5>
|
||||
<input type="text" style="width:22rem" id="custom_name" placeholder="Name...">
|
||||
<h5>About this theme</h5>
|
||||
<div class="input-field"><textarea style="width:22rem" id="custom_desc" class="materialize-textarea"
|
||||
placeholder="About this theme..."></textarea></div>
|
||||
<h5>Esquema de colores</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="dark" value="dark"
|
||||
checked="true" />
|
||||
<span>Dark</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="light"
|
||||
value="light" />
|
||||
<span>Light</span>
|
||||
</label><br><br />
|
||||
<button class="btn waves-effect" onclick="advanced()">Opciones avanzadas (6 colores adicionales)</button>
|
||||
<span class="advanced hide"></span>
|
||||
<div id="pickers">
|
||||
<div>
|
||||
<h5>Background</h5>Background color<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_0" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker0_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Text</h5>Text color<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_1" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker1_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Subcolor</h5>Distinguishable from background<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_2" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker2_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Accent</h5>Background of boosts<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_3" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker3_value">
|
||||
</div>
|
||||
|
||||
<div class="advanced hide">
|
||||
<h5>Modal</h5>Background of modal window<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_4" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('background','modal')">Background</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker4_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Modal Footer</h5>Background of modal window's footer<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_5" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('background','modalFooter')">Background</a>/
|
||||
<a class="pointer" onclick="copyColor('modal','modalFooter')">Modal</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker5_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>3rd Color</h5>Backgroud of tag buttons, etc(near to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_6" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','third')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker6_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>4th Color</h5>Title bar(same scheme to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_7" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','forth')">Subcolor</a>/
|
||||
<a class="pointer" onclick="copyColor('third','forth')">3rd Color</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker7_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Bottom</h5>Background of menu-bar at bottom of window<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_8" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','bottom')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker8_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>2nd Accent</h5>Emphasized toot's background<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_9" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('accent','emphasized')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker9_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Postbox</h5>Background of post-box and menu<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_10" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','postbox')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker10_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Active</h5>Background of 'active' elements<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_11" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('accent','active')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker11_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected</h5>Background of selected with arrow keys<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_12" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker12_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected with shared</h5>Background of selected with arrow keys(boosted toots)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_13" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker13_value">
|
||||
</div>
|
||||
</div><br /><br />
|
||||
<button class="btn-large waves-effect" onclick="customComp()">Cambiar</button> <button
|
||||
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">Delete</button><br><br>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_json" class="materialize-textarea"
|
||||
placeholder="JSON style" readonly><br>
|
||||
<h4>Import of custom themes</h4>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_import" class="materialize-textarea"
|
||||
placeholder="JSON/JSON5 style">
|
||||
<button class="btn waves-effect" onclick="customImp()">Importar</button><br>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">reorder</i>Timeline Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="tlView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Cambiar</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Custom sound</h5>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span
|
||||
id="c1-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span
|
||||
id="c2-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span
|
||||
id="c3-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span
|
||||
id="c4-file"></span><br>
|
||||
<h5>Volume</h5>
|
||||
0-100(default:80)<br>
|
||||
<p class="range-field"><span id="soundVolVal">80</span><br>
|
||||
<input type="range" id="soundvol" min="0" max="100" value="80" onchange="customVol()"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">send</i>Posting Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="postView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<template
|
||||
v-if="(!check.kirishima || (check.kirishima && kirishima) )&& (!check.quote || (check.quote && quoters))">
|
||||
<label><input class="with-gap" v-on:click="complete(i,check.value)"
|
||||
v-model="item.setValue" type="radio" v-bind:id="item.id+check.value"
|
||||
v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span></label>
|
||||
<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
|
||||
</template>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Cambiar</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Easy inserter</h5>
|
||||
You can insert any letters and emojis with only 3 keys<br>
|
||||
Ctrl+Shift+1:<input type="text" style="width:11.5rem" id="oks-1">
|
||||
<button onclick="oks(1)" class="btn waves-effect" style="width:7.7rem;">Save</button><br><br>
|
||||
Ctrl+Shift+2:<input type="text" style="width:11.5rem" id="oks-2">
|
||||
<button onclick="oks(2)" class="btn waves-effect" style="width:7.7rem;">Save</button><br><br>
|
||||
Ctrl+Shift+3:<input type="text" style="width:11.5rem" id="oks-3">
|
||||
<button onclick="oks(3)" class="btn waves-effect" style="width:7.7rem;">Save</button><br><br>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<img src="../../img/aiscript.svg"
|
||||
style="height: 1.5rem; margin-left: 0.4rem; margin-right: 0.4rem;">Plugins
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<a href="https://github.com/cutls/TheDesk/blob/master/plugin.md">Japanese docs of AiScript TheDesk plugins</a><br />
|
||||
<textarea id="plugin" data-id="add_new" style="height: 20rem"></textarea>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="completePlugin()">Cambiar</button>
|
||||
<button class="btn waves-effect red disabled plugin_delete" style="width:7.7rem;"
|
||||
onclick="deletePlugin()">Delete</button>
|
||||
<h5>Plugin list</h5>
|
||||
<div style="width:22rem" id="plugin-selector" data-add="Add new">
|
||||
<select id="plugin-edit-sel" class="custom-sel" onchange="pluginEdit()">
|
||||
<option value="add_new">Add new</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">bookmark</i>Mute & Emphasis Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Client Mute</h5>
|
||||
<div id="mute-cli"></div>
|
||||
<h5>Client Emphasis</h5>
|
||||
Click client name on toots to toggle mute and emphasis.
|
||||
<h5>Words Mute</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordmute" style="background-color:gray;"></div>
|
||||
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:7.7rem;">Save</button>
|
||||
<h5>Words Emphasis</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordemp" style="background-color:gray;"></div>
|
||||
<button onclick="wordempSave()" class="btn waves-effect" style="width:7.7rem;">Save</button>
|
||||
<h5>Users Emphasis</h5>
|
||||
Set on users data modals.
|
||||
<span class="emphasized"> Use this color to emphasis </span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="fab fa-spotify"></i>Spotify and NowPlaying Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Account Connection(Spotify)</h5>
|
||||
TheDesk save your data on thedesk.top server.<br>
|
||||
<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
|
||||
onclick="spotifyAuth()" class="btn waves-effect" style="width:7.7rem;">Save</button></div>
|
||||
<a onclick="spotifyConnect()" class="btn waves-effect nex"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-enable"><i
|
||||
class="fab fa-spotify left"></i>Connect</a>
|
||||
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-disable"><i
|
||||
class="fab fa-spotify left"></i>Disconnect</a>
|
||||
<h5>Account Connection(Last.fm)</h5>
|
||||
User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.<br />
|
||||
<input type="text" style="width:11.5rem" id="lastFmUser">
|
||||
<button onclick="lastFmSet()" class="btn waves-effect" style="width:7.7rem;">Save</button>
|
||||
<h5>Edit a template</h5>
|
||||
<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
|
||||
<span class="mac">>macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}</span><br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:7.7rem;">Save</button>
|
||||
<h5>Attach an Artwork of Spotify</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
|
||||
value="yes" />
|
||||
<span>Yes</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
|
||||
value="no" />
|
||||
<span>No</span>
|
||||
</label>
|
||||
<div class="mac">
|
||||
<h5>If the song has no artwork, automatic complete it(macOS)</h5>
|
||||
If you nowplaying an non-artwork song, get one which seems nice through API. If you do not like the completed artwork, you can right-click it to delete.<br />
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_yes"
|
||||
value="yes" />
|
||||
<span>Yes</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_no"
|
||||
value="no" />
|
||||
<span>No</span>
|
||||
</label>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">hearing</i>TTS(text to speech) Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>BouyomiChan connect</h5>
|
||||
Require: BouyomiChan WebSocket Plugin<a href="https://github.com/xztaityozx/BouyomiChan-WebSocket-Plugin"
|
||||
target="_blank">GitHub</a><br>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_yes"
|
||||
value="yes" />
|
||||
<span>Yes</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_no" value="no" />
|
||||
<span>No</span>
|
||||
</label>
|
||||
<h5>Speed</h5>
|
||||
1-100(default:10)<br>
|
||||
<p class="range-field"><span id="voicespeedVal">10</span><br>
|
||||
<input type="range" id="voicespeed" min="1" max="100" value="10"
|
||||
onchange="document.getElementById('voicespeedVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Pitch</h5>
|
||||
0-100(default:50)<br>
|
||||
<p class="range-field"><span id="voicepitchVal">50</span><br>
|
||||
<input type="range" id="voicepitch" min="0" max="100" value="50"
|
||||
onchange="document.getElementById('voicepitchVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Volume</h5>
|
||||
0-100(default:100)<br>
|
||||
<p class="range-field"><span id="voicevolVal">100</span><br>
|
||||
<input type="range" id="voicevol" min="0" max="100" value="100"
|
||||
onchange="document.getElementById('voicevolVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Test</h5>
|
||||
<input type="text" style="width:27rem" id="voicetxt" value="TheDesk is an open-source Mastodon client for PC.">
|
||||
<button class="btn waves-effect blue" style="width:11.5rem;" onclick="voicePlay()"
|
||||
id="testplay">Play/Stop</button><br>
|
||||
<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="voiceSettings()">Save</button>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:15rem;"><i
|
||||
class="material-icons left">undo</i>Atrás</a>
|
||||
<br>
|
||||
<br>Keyboard shortcuts
|
||||
<li>Ctrl+1-9:Jump to n(1-9)th column</li>
|
||||
<li>N:Open toot box</li>
|
||||
<li>X:Toggle toot box</li>
|
||||
<li>Ctrl+Enter:Post</li>
|
||||
<li>Ctrl+Enter+Shift:Post(secondary toot)</li>
|
||||
<li>Alt+Enter:Secondary Toot Button</li>
|
||||
<li>Ctrl+E:Make all notifications read</li>
|
||||
<li>Ctrl+U:Select the top & left(No.1 column) toot</li>
|
||||
<li>Esc:Hide toot box</li>
|
||||
<li>F5:Super Reload</li>
|
||||
<li>Ctrl+Shift+C:Clear toot box</li>
|
||||
<li>Ctrl+Shift+S:Preferences</li>
|
||||
<li>Ctrl+Shift+M:Account Manager</li>
|
||||
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
|
||||
<li>Ctrl+Shift+P:Show profile of selecting</li>
|
||||
<li>←/→:Show next or previous image</li>
|
||||
<li>Mousewheel:Zoom a image</li>
|
||||
<div class="hide kirishima">
|
||||
以下Markdownに対応したインスタンスのみ。
|
||||
<br>
|
||||
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
|
||||
When a toot is selected:
|
||||
<li>F:Favourite this toot</li>
|
||||
<li>B:Boost this toot</li>
|
||||
<li>R:Reply to this toot</li>
|
||||
</div>
|
||||
<button class="btn waves-effect red" style="width:100%; max-width:40rem;"
|
||||
onclick="if(confirm('Delete all data. You cannot undo. Continue?')){ localStorage.clear(); location.href='index.html'; }"><i
|
||||
class="material-icons left">delete</i>Reset(Danger)</button><br><br>
|
||||
<button class="btn waves-effect indigo pwa" onclick="about()" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">info</i>About TheDesk</button>
|
||||
<a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">web</i>Website</a>
|
||||
<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Support(Pixiv FANBOX)</a>
|
||||
<a href="https://www.patreon.com/cutls" class="btn waves-effect red darken-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Support(Patreon)</a>
|
||||
<a href="https://liberapay.com/cutls" class="btn waves-effect black-text"
|
||||
style="width:100%; max-width:40rem; background-color: #f6c915"><i
|
||||
class="material-icons left">trending_up</i>Support(Liberapay)</a>
|
||||
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">list</i>Help/Docs</a>
|
||||
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="fab fa-github left"></i>GitHub</a>
|
||||
<a href="index.html?mode=user&code=Cutls@cutls.com" class="btn waves-effect blue lighten-2"
|
||||
style="width:100%; max-width:40rem;"><img src="../../img/desk_full.svg" class="left" width="25"
|
||||
style="padding-top:5px;">Main author: Cutls@cutls.com</a>
|
||||
<br>
|
||||
TheDesk @ <a href="https://github.com/cutls/TheDesk/commits/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c">89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c</a> - <a
|
||||
onclick="checkupd(); return localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||
class="pointer pwa">Check update</a><br>
|
||||
<br>
|
||||
Kyash<br>
|
||||
<img src="../../img/kyash.png" width="100"><br>
|
||||
<a href="https://status.cutls.com/">
|
||||
<img src="https://status.cutls.com/badge-service?site=thedesk.top">
|
||||
</a><br>
|
||||
<h5>OSS License</h5>
|
||||
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fcutls%2FTheDesk/refs/branch/master/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c"
|
||||
alt="FOSSA Status"><img
|
||||
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcutls%2FTheDesk.svg?type=small" /></a>
|
||||
<br>
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||
href="https://thedesk.top/priv.html">Privacy
|
||||
Policy</a>
|
||||
<br>
|
||||
</span><br>
|
||||
TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br>
|
||||
タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/aiscript.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/plugin.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/logout.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
|
@ -1,756 +0,0 @@
|
|||
var yesno = [
|
||||
{
|
||||
text: 'Yes',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'No',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
var sound = [
|
||||
{
|
||||
text: 'None',
|
||||
value: 'none'
|
||||
},
|
||||
{
|
||||
text: 'Default',
|
||||
value: 'default'
|
||||
},
|
||||
{
|
||||
text: 'Custom 1',
|
||||
value: 'c1'
|
||||
},
|
||||
{
|
||||
text: 'Custom 2',
|
||||
value: 'c2'
|
||||
},
|
||||
{
|
||||
text: 'Custom 3',
|
||||
value: 'c3'
|
||||
},
|
||||
{
|
||||
text: 'Custom 4',
|
||||
value: 'c4'
|
||||
}
|
||||
]
|
||||
var envConstruction = [
|
||||
{
|
||||
id: 'popup',
|
||||
storage: 'popup',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Notificación emergente (en Windows)',
|
||||
desc: 'Ocultar para establecer "0"',
|
||||
after: 'seg'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notf',
|
||||
storage: 'nativenotf',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Notificación nativa',
|
||||
desc: 'Esto no funciona en la versión portable para Windows.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'width',
|
||||
storage: 'width',
|
||||
width: 50,
|
||||
setValue: 300,
|
||||
text: { after: 'px ~ ' }
|
||||
},
|
||||
{
|
||||
id: 'maxWidth',
|
||||
storage: 'max-width',
|
||||
width: 50,
|
||||
setValue: 600,
|
||||
text: { after: 'px' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Width of columns',
|
||||
desc: 'Scroll bar will be shown when your window size is more than ammounts of columns.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'margin',
|
||||
storage: 'margin',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Margin between timelines',
|
||||
desc: '',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'fixwidth',
|
||||
storage: 'fixwidth',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 300,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Ancho mínimo del navegador TweetDeck',
|
||||
desc: '',
|
||||
after: 'px arriba'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'size',
|
||||
storage: 'size',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 50,
|
||||
setValue: 13,
|
||||
text: {
|
||||
head: 'Tamaño de fuente',
|
||||
desc: '<span style="font-size:13px">13px(valor absoluto)</span>',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ha',
|
||||
storage: 'ha',
|
||||
checkbox: true,
|
||||
setValue: false,
|
||||
text: {
|
||||
head: 'Deshabilitar la aceleración por hardware',
|
||||
desc: 'Reinicio automático',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Yes',
|
||||
value: 'true'
|
||||
},
|
||||
{
|
||||
text: 'No',
|
||||
value: 'false'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ua',
|
||||
storage: 'ua_setting',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: '',
|
||||
width: 200,
|
||||
text: {
|
||||
head: 'Agente de usuario',
|
||||
desc: 'Reiniciar al cambiar'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'srcUrl',
|
||||
storage: 'srcUrl',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 200,
|
||||
setValue: 'https://google.com/search?q={q}',
|
||||
text: {
|
||||
head: 'Search engine',
|
||||
desc: '{q} will be replaced to query.',
|
||||
after: ''
|
||||
}
|
||||
},{
|
||||
id: 'download',
|
||||
storage: 'dl-win',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Versioning(o Windows downloader)',
|
||||
desc: 'ex: TheDesk-1.0.0-setup.exe',
|
||||
checkbox: yesno
|
||||
}
|
||||
}
|
||||
]
|
||||
var tlConstruction = [
|
||||
{
|
||||
id: 'time',
|
||||
storage: 'datetype',
|
||||
checkbox: true,
|
||||
setValue: 'absolute',
|
||||
text: {
|
||||
head: 'Time format',
|
||||
desc: 'Relative format:"1 minutes ago","3 days ago"<br>Absolute format:"23:25:21","2017/12/30 23:59:00"<br>Mixed format:toots posted today are relative-format, others are absolute-format.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Relative',
|
||||
value: 'relative'
|
||||
},
|
||||
{
|
||||
text: 'Absolute',
|
||||
value: 'absolute'
|
||||
},
|
||||
{
|
||||
text: 'Both relative and absolute',
|
||||
value: 'double'
|
||||
},
|
||||
{
|
||||
text: 'Mixed',
|
||||
value: 'medium'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ul',
|
||||
storage: 'locale',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Server\s unique locale',
|
||||
desc: 'This value is available on some Japanese servers',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'nsfw',
|
||||
storage: 'nsfw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide Mark sensitive pictures',
|
||||
desc: 'Strong blur effect',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw',
|
||||
storage: 'cw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide CW contents',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'rp',
|
||||
storage: 'replyct',
|
||||
checkbox: true,
|
||||
setValue: 'hidden',
|
||||
text: {
|
||||
head: 'Reply counter style',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Show 1+ if the replies are more than 1.',
|
||||
value: 'hidden'
|
||||
},
|
||||
{
|
||||
text: 'Show full count(1,2...)',
|
||||
value: 'all'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'gif',
|
||||
storage: 'gif',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animated GIF images animation',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'tag',
|
||||
storage: 'tag-range',
|
||||
checkbox: true,
|
||||
setValue: 'local',
|
||||
text: {
|
||||
head: 'Tag TL Search',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Use federated network',
|
||||
value: 'all'
|
||||
},
|
||||
{
|
||||
text: 'Use local network',
|
||||
value: 'local'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'via',
|
||||
storage: 'viashow',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Show via',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'mov',
|
||||
storage: 'mouseover',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Hide action buttons without mouseover',
|
||||
desc: 'You may feel \mouseover\ is unconfortable:(',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Mouseover to show',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Click to show',
|
||||
value: 'click'
|
||||
},
|
||||
{
|
||||
text: 'No',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notfm',
|
||||
storage: 'setasread',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Show Notification marker, red colored bell and counter(if you show a notification column.)',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'sentence',
|
||||
storage: 'sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'lines arriba or' }
|
||||
},
|
||||
{
|
||||
id: 'letters',
|
||||
storage: 'letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'letters arriba' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Auto folding',
|
||||
desc: 'TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img-height',
|
||||
storage: 'img-height',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 80,
|
||||
setValue: 200,
|
||||
text: {
|
||||
head: 'Height of images',
|
||||
desc: 'Option:Set "full" to uncrop.',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ticker',
|
||||
storage: 'ticker_ok',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Enable OpenSticker',
|
||||
desc: 'Show the instance name and favicon of tooters <a href="https://opensticker.0px.io">About OpenSticker</a>',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'anime',
|
||||
storage: 'animation',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animation of timelines',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'markers',
|
||||
storage: 'markers',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Markers(mark as read) on HTL and notifications',
|
||||
desc: 'Mastodon 3.0~. Shared on WebUI and third-party supported clients.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'remote_img',
|
||||
storage: 'remote_img',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Get images from the remote server',
|
||||
desc: 'All previews are got from your loginned cache server.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'bkm',
|
||||
storage: 'bookmark',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Show a bookmarking toot button',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'scroll',
|
||||
storage: 'scroll',
|
||||
checkbox: true,
|
||||
setValue: 'normalScrollBar',
|
||||
text: {
|
||||
head: 'Height of the scroll bar',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Thick',
|
||||
value: 'thickScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Normal',
|
||||
value: 'normalScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Thin',
|
||||
value: 'thinScrollBar'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'replySound',
|
||||
storage: 'replySound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Reply)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'favSound',
|
||||
storage: 'favSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Fav)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'btSound',
|
||||
storage: 'btSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Boost)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'followSound',
|
||||
storage: 'followSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Follow)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
}
|
||||
]
|
||||
var postConstruction = [
|
||||
{
|
||||
id: 'cw-text',
|
||||
storage: 'cw-text',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 150,
|
||||
setValue: '',
|
||||
text: {
|
||||
head: 'Default warining text',
|
||||
desc: '',
|
||||
after: ''
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'cw_sentence',
|
||||
storage: 'cw_sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'lines arriba or' }
|
||||
},
|
||||
{
|
||||
id: 'cw_letters',
|
||||
storage: 'cw_letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'letters arriba' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Alert before posting a long toot.',
|
||||
desc: 'Show dialog whether you make too-long text hidden.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cws',
|
||||
storage: 'always-cw',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Always CW set',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw-continue',
|
||||
storage: 'cw-continue',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: '@@cwContinue@@',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'vis',
|
||||
storage: 'vis',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Default visibility',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Public',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Unlisted',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Private',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direct',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Memory(memorized as each server)',
|
||||
value: 'memory'
|
||||
},
|
||||
{
|
||||
text: 'Default of your visibility(Set on preferences of Mastodon server)',
|
||||
value: 'useapi'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img',
|
||||
storage: 'img',
|
||||
checkbox: true,
|
||||
setValue: 'no-act',
|
||||
text: {
|
||||
head: 'Posting images preferences',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Insert media URL',
|
||||
value: 'url'
|
||||
},
|
||||
{
|
||||
text: 'Insert nothig',
|
||||
value: 'no-act'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'box',
|
||||
storage: 'box',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Action of posting-box',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Folding',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Open after posting',
|
||||
value: 'no'
|
||||
},
|
||||
{
|
||||
text: 'Absolutely open',
|
||||
value: 'absolute'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'quote',
|
||||
storage: 'quote',
|
||||
checkbox: true,
|
||||
setValue: 'nothing',
|
||||
text: {
|
||||
head: 'Quote format',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Only URL',
|
||||
value: 'simple'
|
||||
},
|
||||
{
|
||||
text: 'URL and acct(mention to the user)',
|
||||
value: 'mention'
|
||||
},
|
||||
{
|
||||
text: 'URL, text and acct(mention to the user)',
|
||||
value: 'full'
|
||||
},
|
||||
{
|
||||
text: 'API(only some instances)',
|
||||
value: 'apiQuote',
|
||||
quote: true
|
||||
},
|
||||
{
|
||||
text: 'Disabled(Hide buttons on TLs)',
|
||||
value: 'nothing'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'main',
|
||||
storage: 'mainuse',
|
||||
checkbox: true,
|
||||
setValue: 'remain',
|
||||
text: {
|
||||
head: 'Default accounts of actions',
|
||||
desc: 'Main account can be set on Account Manager.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Account you used recently',
|
||||
value: 'remain'
|
||||
},
|
||||
{
|
||||
text: 'Main account',
|
||||
value: 'main'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'sec',
|
||||
storage: 'sec',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Secondary Toot Button',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Hidden',
|
||||
value: 'nothing'
|
||||
},
|
||||
{
|
||||
text: 'Public',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Unlisted',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Private',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direct',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Local Only',
|
||||
value: 'local',
|
||||
kirishima: true,
|
||||
kirishimaText: '非対応インスタンスでは「未収載」になります。'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'zero',
|
||||
storage: 'emoji-zero-width',
|
||||
checkbox: true,
|
||||
setValue: 'normal',
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Zero-width space when inserting emojis',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},{
|
||||
id: 'uploadCrop',
|
||||
storage: 'uploadCrop',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 100,
|
||||
setValue: '0',
|
||||
text: {
|
||||
head: 'Auto scale to fit',
|
||||
desc: 'Max long-side px. Uploaded images are converted to JPEG(from JPEG) or PNG(from others). Set 0 and the images will not be resized. Notice: if you post an animated picture like GIF, it will be converted static one.',
|
||||
after: 'px'
|
||||
}
|
||||
}
|
||||
]
|
|
@ -1,302 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="es-ES">
|
||||
<head>
|
||||
<title>Update - TheDesk</title>
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans';
|
||||
-webkit-app-region: drag;
|
||||
cursor: move;
|
||||
padding: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#start {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100vw;
|
||||
height: calc(100vh - 2.5rem);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#checkbox {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
a,
|
||||
button,
|
||||
input,
|
||||
label,
|
||||
i {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
#updskip {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.skipbtn {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
border: 1px solid;
|
||||
margin-left: 5px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid #c26363;
|
||||
overflow: hidden;
|
||||
color: #c26363;
|
||||
margin-bottom: 5px;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.skipbtn:hover {
|
||||
background-color: #c26363;
|
||||
transition: all 0.3s ease-in-out;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#prog {
|
||||
font-size: 200%;
|
||||
}
|
||||
</style>
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" />
|
||||
<script>var pwa = false;</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
|
||||
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
|
||||
<!--a href="update.html">Reload</a-->
|
||||
<div id="start" style="filter: brightness(100%)">
|
||||
<div id="box" class="show">
|
||||
<h2>TheDesk</h2>
|
||||
<p>Get latest TheDesk</p>
|
||||
<span id="now"></span>→<b id="ver"></b><br />
|
||||
<a href="" id="github" class="btn waves-effect grey darken-1"><i class="fab fa-github left"></i>What is new?</a><br />
|
||||
<button class="waves-effect btn windows hide" onclick="update('install')" style="margin-left: 15px;">Installer(Recommended)</button>
|
||||
<button class="waves-effect btn windows hide" onclick="update('portable')" style="margin-left: 15px;">Portable ver.</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linux')" style="margin-left: 15px;">zip</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxdeb')" style="margin-left: 15px;">deb(Recommended on buntu, Debian)</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxsnap')" style="margin-left: 15px;">snap</button>
|
||||
<button class="waves-effect btn mac hide" onclick="update('mac')" style="margin-left: 15px;">Start</button>
|
||||
<br />
|
||||
Some problems?<br />Please download on <a href='https://thedesk.top'>Oficial HP</a>.
|
||||
</div>
|
||||
<div id="skipper" class="hide">
|
||||
<h4>Skip this update</h4>
|
||||
You may lose a cool experience!<br />
|
||||
<div id="updskip">
|
||||
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>Hidden until next TL loading</div>
|
||||
</a>
|
||||
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>Hidden until next version</div>
|
||||
</a>
|
||||
</div>
|
||||
<a class="pointer waves-effect" onclick="skipper();" style="margin-top: 5px;">Continue updating</a>
|
||||
</div>
|
||||
<div id="dlnow" class="hide" style="width: 70%;">
|
||||
<h4>Downloading...</h4>
|
||||
<h4 id="prog"></h4>
|
||||
<div class="progress">
|
||||
<div class="determinate" style="width: 0%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script>
|
||||
function skipper() {
|
||||
$('#dlnow').addClass('hide')
|
||||
$('#box').toggleClass('show')
|
||||
if ($('#box').hasClass('hide') && $('#skipper').hasClass('hide')) {
|
||||
$('#skipper').removeClass('hide')
|
||||
$('#skipper').addClass('show')
|
||||
} else {
|
||||
$('#box').toggleClass('hide')
|
||||
$('#skipper').toggleClass('hide')
|
||||
$('#skipper').toggleClass('show')
|
||||
}
|
||||
}
|
||||
verck()
|
||||
function update(sel) {
|
||||
$('#box').toggleClass('show')
|
||||
$('#box').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('show')
|
||||
$('#prog').text('')
|
||||
var bit = localStorage.getItem('bit')
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
if (sel == 'install') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup.exe'
|
||||
}
|
||||
var filesize = json.winx64_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32_size
|
||||
}
|
||||
} else if (sel == 'portable') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '.exe'
|
||||
} else {
|
||||
var file = 'TheDesk.exe'
|
||||
}
|
||||
var filesize = json.winx64p_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32p_size
|
||||
}
|
||||
} else if (sel == 'linux') {
|
||||
var url = json['linuxx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'thedesk-' + json.unique_linux + '.zip'
|
||||
} else {
|
||||
var file = 'thedesk.zip'
|
||||
}
|
||||
var filesize = json.linuxx64_size
|
||||
} else if (sel == 'linuxdeb') {
|
||||
var url = json['linuxdeb']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.deb'
|
||||
var filesize = json.linuxdeb_size
|
||||
} else if (sel == 'linuxsnap') {
|
||||
var url = json['linuxsnap']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.snap'
|
||||
var filesize = json.linuxsnap_size
|
||||
} else if (sel == 'mac') {
|
||||
var url = json['mac']
|
||||
var file = 'TheDesk-' + json.unique_mac + '.dmg'
|
||||
var filesize = json.mac_size
|
||||
}
|
||||
postMessage(['downloadButton', [url, file, filesize]], '*')
|
||||
})
|
||||
}
|
||||
function quit() {
|
||||
postMessage(['sendSinmpleIpc', 'quit'], '*')
|
||||
}
|
||||
function updateProg(arg) {
|
||||
$('.determinate').css('width', arg[0].percent * 100 + '%')
|
||||
$('#prog').html(`${Math.floor(arg[0].percent * 100)}%<br />(${Math.floor(arg[0].percent*arg[1]/1024/1024*10)/10} MB / ${Math.floor(arg[1]/1024/1024*10)/10} MB)`)
|
||||
|
||||
}
|
||||
function updateMess(arg) {
|
||||
console.log(arg)
|
||||
$('#prog').text(arg)
|
||||
}
|
||||
function verck() {
|
||||
var platform = localStorage.getItem('platform')
|
||||
var bit = localStorage.getItem('bit')
|
||||
if (platform == 'win32') {
|
||||
$('.windows').removeClass('hide')
|
||||
} else if (platform == 'linux') {
|
||||
$('.linux').removeClass('hide')
|
||||
} else if (platform == 'darwin') {
|
||||
$('.mac').removeClass('hide')
|
||||
}
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
console.log(json)
|
||||
if (platform == 'win32') {
|
||||
$('#ver').text(json.desk)
|
||||
localStorage.setItem('next-ver', json.desk)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique
|
||||
} else if (platform == 'linux') {
|
||||
$('#ver').text(json.desk_linux)
|
||||
localStorage.setItem('next-ver', json.desk_linux)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_linux
|
||||
} else if (platform == 'darwin') {
|
||||
$('#ver').text(json.desk_mac)
|
||||
localStorage.setItem('next-ver', json.desk_mac)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_mac
|
||||
}
|
||||
|
||||
$('#github').attr('href', url)
|
||||
|
||||
$('#now').text(localStorage.getItem('ver'))
|
||||
})
|
||||
}
|
||||
function nextv() {
|
||||
localStorage.setItem('new-ver-skip', 'true')
|
||||
window.close()
|
||||
}
|
||||
function enc(ver) {
|
||||
var ver = ver.replace(/\s/g, '')
|
||||
var ver = ver.replace(/\(/g, '-')
|
||||
var ver = ver.replace(/\)/g, '')
|
||||
var ver = ver.replace(/\[/g, '_')
|
||||
var ver = ver.replace(/\]/g, '')
|
||||
return ver
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,154 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr-FR">
|
||||
<head>
|
||||
<title>Account Manager - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport" />
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link
|
||||
href="../../node_modules/materialize-css/dist/css/materialize.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/tl.css" rel="stylesheet" type="text/css" />
|
||||
<link href="../../css/userdata.css" rel="stylesheet" type="text/css" />
|
||||
<link
|
||||
href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/acct.css" rel="stylesheet" type="text/css" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<script>var pwa = false;</script> <script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/materialize-css/dist/js/materialize.js"
|
||||
></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"
|
||||
></script>
|
||||
<script>
|
||||
var misskeytoken = false
|
||||
</script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<div class="hide-first">
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"
|
||||
>Retour</a
|
||||
><br />
|
||||
<h5>Liste des comptes</h5>
|
||||
<div id="acct-list"></div>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
<div class="hide-second">
|
||||
<a href="setting.html">Having the exported file of TheDesk, click here to jump setting page</a>
|
||||
</div>
|
||||
<div>
|
||||
<h5>Ajouter un compte</h5>
|
||||
<br />
|
||||
<div id="add">
|
||||
<div class="row">
|
||||
<div class="col s8">
|
||||
Fill the instance domain (like mastodon.social)<br />
|
||||
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp" />
|
||||
<div id="ins-suggest"></div>
|
||||
<button class="btn waves-effect" onclick="instance()">Login</button><br />
|
||||
<div class="pwa">
|
||||
Uncheck it to skip pasiting code.(login to Mastodon on Windows or macOS) (Recommended: pcheck)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="linux" />
|
||||
<span>Code setup</span>
|
||||
</label>
|
||||
<br />
|
||||
</div>
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="misskey" />
|
||||
<span>Login as Misskey</span> </label
|
||||
><br />
|
||||
</div>
|
||||
<div class="col s4 scr" aria-hidden="true">
|
||||
<span style="font-family:Open Sans;">Supports</span>
|
||||
<div id="support" class="collection transparent"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="auth" style="display:none">
|
||||
Paste the code and close browser.<br />
|
||||
<input type="text" id="code" placeholder="Code" required />
|
||||
<button class="btn waves-effect" onclick="code()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup()" class="pointer">Use access token to login(click after fill not code but access-token in box: Advanced)</a>
|
||||
<div id="compt" style="display:none" class="scr">
|
||||
<h5>ログイン前に必ずご確認ください</h5>
|
||||
<span id="compt-instance"></span>はバージョンが<span id="compt-ver"></span
|
||||
>のため以下の機能がご利用いただけません。
|
||||
<span id="compt-warn" style="display:none"
|
||||
>また、このインスタンスはMastodonではなくそのAPI上の互換実装であり、TheDeskでは利用を想定していないため非保証となります。</span
|
||||
>
|
||||
<ul id="compt-list"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="misskeylogin" style="display:none">
|
||||
<h5>AppSecret</h5>
|
||||
Read <a href="https://thedesk.top/how-to-misskey-login.html">Docs(ja)</a> to login Misskey.<br />
|
||||
<input type="hidden" id="misskey-url" />
|
||||
<input type="text" id="misskey-key" placeholder="Code" required />
|
||||
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup('misskey')" class="pointer">Use access token to login(click after fill not code but access-token in box: Advanced)</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hide-first">
|
||||
<h5>Main an account</h5>
|
||||
<div class="input-field" style="width:300px">
|
||||
<span data-trans="your_acct">Choisir un compte</span>
|
||||
<br />
|
||||
<select
|
||||
id="main-acct-sel"
|
||||
class="acct-sel"
|
||||
style="color:black"
|
||||
onchange="mainacct()"
|
||||
></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<ul id="domain-list" class="collection transparent"></ul>
|
||||
<div id="instance-data">
|
||||
Some instance data by
|
||||
<a href="https://instances.social" target="_blank">instances.social API</a><br />
|
||||
<h5 id="ins-title"></h5>
|
||||
Administered by:<a id="ins-admin"></a><br />
|
||||
<span id="ins-desc"></span><br />
|
||||
<img src="../../img/loading.svg" id="ins-prof" width="200" /><br />
|
||||
<br />
|
||||
Domaine:<span id="ins-name"></span><br />
|
||||
Serveur fédérées:<span id="ins-connect"></span><br />
|
||||
Pouets:<span id="ins-toot"></span><br />
|
||||
Utilisateur·rice·s:<span id="ins-user"></span>Utilisateur·rice·s<br />
|
||||
Connection:<span id="ins-per"></span>%<br />
|
||||
Version de Mastodon:<span id="ins-ver"></span>@<span id="ins-upd"></span><br />
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/tips.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/sha256.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/instance.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/manager.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
||||
<script>$('body').addClass(localStorage.getItem('platform'))</script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -1,632 +0,0 @@
|
|||
<!doctype html>
|
||||
<html lang="fr-FR" style="overflow-y:scroll">
|
||||
|
||||
<head>
|
||||
<title>Settings - TheDesk</title>
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
input {
|
||||
max-height: 3.84rem !important
|
||||
}
|
||||
|
||||
.pcr-result {
|
||||
height: 1rem !important;
|
||||
}
|
||||
|
||||
.container-after-titlebar {
|
||||
padding: 20px;
|
||||
}
|
||||
</style>
|
||||
<script>var pwa = false;</script>
|
||||
<script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" style="overflow-y:scroll" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script src="../../node_modules/json5/dist/index.min.js"></script>
|
||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
|
||||
<script type="text/javascript" src="setting.vue.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>function renderMem() { return false; }</script>
|
||||
|
||||
<h4>Paramètres</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">desktop_windows</i>Préférences système
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Langues</h5>
|
||||
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br><br>
|
||||
<div style="display: flex;">
|
||||
<div style="width: 22rem;" id="langsel">
|
||||
<select id="langsel-sel"><option value="ja">日本語</option><option value="ja-KS">日本語(関西)</option><option value="en">English</option><option value="bg">български</option><option value="cs">Česky</option><option value="de">Deutsch</option><option value="es-AR">Español, argentina</option><option value="it-IT">italiano</option><option value="zh-CN">简体中文</option><option value="zh-TW">繁體中文(β)</option><option value="fr-FR">français(β)</option><option value="no-NO">norsk(β)</option><option value="pt-BR">Português, brasileiro(β)</option><option value="ru-RU">русский(β)</option><option value="es-ES">Español(β)</option><option value="ps">Crowdin translate system(beta)</option></select>
|
||||
</div>
|
||||
<button class="btn waves-effect" onclick="changeLang()">Modifier</button>
|
||||
</div>
|
||||
<h5>Importer et exporter les préférences</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
|
||||
style="width:100%; max-width:15rem;">Exporter</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3"
|
||||
style="width:100%; max-width:15rem;">Importer</button><br>
|
||||
Si vous avez une erreur lorsque vous choisissez le fichier, veuillez coller les chaînes affichées lorsque vous ouvrez le fichier et cliquez sur Importer<br>
|
||||
<input type="text" id="imp-exp" style="width: 22rem">
|
||||
<div id="envView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||
class="pointer">Notification test</a><br></template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Modifier</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Police de caractères</h5>
|
||||
Select your favorite font to 'Select'<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="font()">Sélectionner</button><br>
|
||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:22rem; height:40rem;"></div>
|
||||
<br>
|
||||
<input type="text" style="width:11.5rem" id="font">
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="settings()">Sauvegarder</button>
|
||||
<br>
|
||||
<h5>Folder to save</h5>
|
||||
TheDesk utilise cette valeur lorsqu'il tente d'enregistrer des photos ou de prendre des captures d'écran.<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="savefolder()">Modifier</button>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li class="pwa">
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">color_lens</i>Thèmes
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h4>Sélectionner un thème</h4>
|
||||
<div style="width:22rem" id="sel-selector">
|
||||
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||
</div>
|
||||
<h4>Modifier et ajouter des thèmes</h4>
|
||||
<div style="width:22rem" id="edit-selector" data-add="Ajouter">
|
||||
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||
<option value="add_new">Ajouter</option>
|
||||
</select>
|
||||
</div>
|
||||
<h5>Nom</h5>
|
||||
<input type="text" style="width:22rem" id="custom_name" placeholder="Nom...">
|
||||
<h5>À propos de ce thème</h5>
|
||||
<div class="input-field"><textarea style="width:22rem" id="custom_desc" class="materialize-textarea"
|
||||
placeholder="À propos de ce thème..."></textarea></div>
|
||||
<h5>Jeu de couleurs</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="dark" value="dark"
|
||||
checked="true" />
|
||||
<span>Dark</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="light"
|
||||
value="light" />
|
||||
<span>Light</span>
|
||||
</label><br><br />
|
||||
<button class="btn waves-effect" onclick="advanced()">Options avancées</button>
|
||||
<span class="advanced hide"></span>
|
||||
<div id="pickers">
|
||||
<div>
|
||||
<h5>Background</h5>Couleur de l'arrière-plan<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_0" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker0_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Text</h5>Couleur du texte<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_1" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker1_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Subcolor</h5>Distinguishable from background<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_2" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker2_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Accent</h5>Background of boosts<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_3" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker3_value">
|
||||
</div>
|
||||
|
||||
<div class="advanced hide">
|
||||
<h5>Modal</h5>Background of modal window<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_4" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copier depuis:
|
||||
<a class="pointer" onclick="copyColor('background','modal')">Background</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker4_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Modal Footer</h5>Background of modal window's footer<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_5" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copier depuis:
|
||||
<a class="pointer" onclick="copyColor('background','modalFooter')">Background</a>/
|
||||
<a class="pointer" onclick="copyColor('modal','modalFooter')">Modal</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker5_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>3rd Color</h5>Backgroud of tag buttons, etc(near to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_6" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copier depuis:
|
||||
<a class="pointer" onclick="copyColor('subcolor','third')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker6_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>4th Color</h5>Title bar(same scheme to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_7" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copier depuis:
|
||||
<a class="pointer" onclick="copyColor('subcolor','forth')">Subcolor</a>/
|
||||
<a class="pointer" onclick="copyColor('third','forth')">3rd Color</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker7_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Bottom</h5>Background of menu-bar at bottom of window<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_8" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copier depuis:
|
||||
<a class="pointer" onclick="copyColor('subcolor','bottom')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker8_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>2nd Accent</h5>Emphasized toot's background<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_9" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copier depuis:
|
||||
<a class="pointer" onclick="copyColor('accent','emphasized')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker9_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Postbox</h5>Background of post-box and menu<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_10" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copier depuis:
|
||||
<a class="pointer" onclick="copyColor('subcolor','postbox')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker10_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Active</h5>Background of 'active' elements<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_11" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copier depuis:
|
||||
<a class="pointer" onclick="copyColor('accent','active')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker11_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected</h5>Background of selected with arrow keys<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_12" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker12_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected with shared</h5>Background of selected with arrow keys(boosted toots)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_13" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker13_value">
|
||||
</div>
|
||||
</div><br /><br />
|
||||
<button class="btn-large waves-effect" onclick="customComp()">Modifier</button> <button
|
||||
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">Supprimer</button><br><br>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_json" class="materialize-textarea"
|
||||
placeholder="JSON style" readonly><br>
|
||||
<h4>Import of custom themes</h4>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_import" class="materialize-textarea"
|
||||
placeholder="JSON/JSON5 style">
|
||||
<button class="btn waves-effect" onclick="customImp()">Importer</button><br>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">reorder</i>Timeline Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="tlView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Modifier</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Son personnalisé</h5>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span
|
||||
id="c1-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span
|
||||
id="c2-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span
|
||||
id="c3-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span
|
||||
id="c4-file"></span><br>
|
||||
<h5>Volume</h5>
|
||||
0-100 (par défaut:80)<br>
|
||||
<p class="range-field"><span id="soundVolVal">80</span><br>
|
||||
<input type="range" id="soundvol" min="0" max="100" value="80" onchange="customVol()"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">send</i>Posting Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="postView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<template
|
||||
v-if="(!check.kirishima || (check.kirishima && kirishima) )&& (!check.quote || (check.quote && quoters))">
|
||||
<label><input class="with-gap" v-on:click="complete(i,check.value)"
|
||||
v-model="item.setValue" type="radio" v-bind:id="item.id+check.value"
|
||||
v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span></label>
|
||||
<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
|
||||
</template>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Modifier</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Easy inserter</h5>
|
||||
You can insert any letters and emojis with only 3 keys<br>
|
||||
Ctrl+Shift+1:<input type="text" style="width:11.5rem" id="oks-1">
|
||||
<button onclick="oks(1)" class="btn waves-effect" style="width:7.7rem;">Sauvegarder</button><br><br>
|
||||
Ctrl+Shift+2:<input type="text" style="width:11.5rem" id="oks-2">
|
||||
<button onclick="oks(2)" class="btn waves-effect" style="width:7.7rem;">Sauvegarder</button><br><br>
|
||||
Ctrl+Shift+3:<input type="text" style="width:11.5rem" id="oks-3">
|
||||
<button onclick="oks(3)" class="btn waves-effect" style="width:7.7rem;">Sauvegarder</button><br><br>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<img src="../../img/aiscript.svg"
|
||||
style="height: 1.5rem; margin-left: 0.4rem; margin-right: 0.4rem;">Plugins
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<a href="https://github.com/cutls/TheDesk/blob/master/plugin.md">Japanese docs of AiScript TheDesk plugins</a><br />
|
||||
<textarea id="plugin" data-id="add_new" style="height: 20rem"></textarea>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="completePlugin()">Modifier</button>
|
||||
<button class="btn waves-effect red disabled plugin_delete" style="width:7.7rem;"
|
||||
onclick="deletePlugin()">Supprimer</button>
|
||||
<h5>Plugin list</h5>
|
||||
<div style="width:22rem" id="plugin-selector" data-add="Ajouter">
|
||||
<select id="plugin-edit-sel" class="custom-sel" onchange="pluginEdit()">
|
||||
<option value="add_new">Ajouter</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">bookmark</i>Mute & Emphasis Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Client Mute</h5>
|
||||
<div id="mute-cli"></div>
|
||||
<h5>Client Emphasis</h5>
|
||||
Click client name on toots to toggle mute and emphasis.
|
||||
<h5>Words Mute</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordmute" style="background-color:gray;"></div>
|
||||
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:7.7rem;">Sauvegarder</button>
|
||||
<h5>Words Emphasis</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordemp" style="background-color:gray;"></div>
|
||||
<button onclick="wordempSave()" class="btn waves-effect" style="width:7.7rem;">Sauvegarder</button>
|
||||
<h5>Users Emphasis</h5>
|
||||
Set on users data modals.
|
||||
<span class="emphasized"> Use this color to emphasis </span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="fab fa-spotify"></i>Spotify and NowPlaying Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Account Connection(Spotify)</h5>
|
||||
TheDesk enregistre vos données sur le serveur thedesk.top.<br>
|
||||
<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
|
||||
onclick="spotifyAuth()" class="btn waves-effect" style="width:7.7rem;">Sauvegarder</button></div>
|
||||
<a onclick="spotifyConnect()" class="btn waves-effect nex"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-enable"><i
|
||||
class="fab fa-spotify left"></i>Se connecter</a>
|
||||
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-disable"><i
|
||||
class="fab fa-spotify left"></i>Se déconnecter</a>
|
||||
<h5>Account Connection(Last.fm)</h5>
|
||||
User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.<br />
|
||||
<input type="text" style="width:11.5rem" id="lastFmUser">
|
||||
<button onclick="lastFmSet()" class="btn waves-effect" style="width:7.7rem;">Sauvegarder</button>
|
||||
<h5>Modifier un modèle</h5>
|
||||
<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
|
||||
<span class="mac">>macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}</span><br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:7.7rem;">Sauvegarder</button>
|
||||
<h5>Attach an Artwork of Spotify</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
|
||||
value="yes" />
|
||||
<span>Oui</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
|
||||
value="no" />
|
||||
<span>Non</span>
|
||||
</label>
|
||||
<div class="mac">
|
||||
<h5>Si la chanson n'a pas d'illustration, la compléter automatiquement (macOS)</h5>
|
||||
If you nowplaying an non-artwork song, get one which seems nice through API. If you do not like the completed artwork, you can right-click it to delete.<br />
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_yes"
|
||||
value="yes" />
|
||||
<span>Oui</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_no"
|
||||
value="no" />
|
||||
<span>Non</span>
|
||||
</label>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">hearing</i>TTS(text to speech) Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>BouyomiChan connect</h5>
|
||||
Require: BouyomiChan WebSocket Plugin<a href="https://github.com/xztaityozx/BouyomiChan-WebSocket-Plugin"
|
||||
target="_blank">GitHub</a><br>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_yes"
|
||||
value="yes" />
|
||||
<span>Oui</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_no" value="no" />
|
||||
<span>Non</span>
|
||||
</label>
|
||||
<h5>Vitesse</h5>
|
||||
1-100(default:10)<br>
|
||||
<p class="range-field"><span id="voicespeedVal">10</span><br>
|
||||
<input type="range" id="voicespeed" min="1" max="100" value="10"
|
||||
onchange="document.getElementById('voicespeedVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Pitch</h5>
|
||||
0-100(default:50)<br>
|
||||
<p class="range-field"><span id="voicepitchVal">50</span><br>
|
||||
<input type="range" id="voicepitch" min="0" max="100" value="50"
|
||||
onchange="document.getElementById('voicepitchVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Volume</h5>
|
||||
0-100(default:100)<br>
|
||||
<p class="range-field"><span id="voicevolVal">100</span><br>
|
||||
<input type="range" id="voicevol" min="0" max="100" value="100"
|
||||
onchange="document.getElementById('voicevolVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Test</h5>
|
||||
<input type="text" style="width:27rem" id="voicetxt" value="TheDesk est un client Mastodon open-source pour PC.">
|
||||
<button class="btn waves-effect blue" style="width:11.5rem;" onclick="voicePlay()"
|
||||
id="testplay">Jouer/Arrêter</button><br>
|
||||
<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="voiceSettings()">Sauvegarder</button>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:15rem;"><i
|
||||
class="material-icons left">undo</i>Retour</a>
|
||||
<br>
|
||||
<br>Raccourcis clavier
|
||||
<li>Ctrl+1-9:Jump to n(1-9)th column</li>
|
||||
<li>N:Open toot box</li>
|
||||
<li>X:Toggle toot box</li>
|
||||
<li>Ctrl+Enter:Publier</li>
|
||||
<li>Ctrl+Enter+Shift:Post(secondary toot)</li>
|
||||
<li>Alt+Enter:Secondary Toot Button</li>
|
||||
<li>Ctrl+E:Marquer toutes les notifications comme lues</li>
|
||||
<li>Ctrl+U:Sélectionner la colonne de toot en haut à gauche (colonne numéro 1)</li>
|
||||
<li>Esc:Hide toot box</li>
|
||||
<li>F5:Super Reload</li>
|
||||
<li>Ctrl+Shift+C:Clear toot box</li>
|
||||
<li>Ctrl+Shift+S:Paramètres</li>
|
||||
<li>Ctrl+Shift+M:Account Manager</li>
|
||||
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
|
||||
<li>Ctrl+Shift+P:Show profile of selecting</li>
|
||||
<li>←/→:Montrer l'image précédente ou suivante</li>
|
||||
<li>Molette de la souris : Zoomer sur l'image</li>
|
||||
<div class="hide kirishima">
|
||||
以下Markdownに対応したインスタンスのみ。
|
||||
<br>
|
||||
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
|
||||
Quand un toot est sélectionné :
|
||||
<li>F:Mettre ce pouet en favoris</li>
|
||||
<li>B:Booster ce pouet</li>
|
||||
<li>R:Répondre à ce pouet</li>
|
||||
</div>
|
||||
<button class="btn waves-effect red" style="width:100%; max-width:40rem;"
|
||||
onclick="if(confirm('Supprimer toutes les données. Vous ne pouvez pas annuler. Continuer ?')){ localStorage.clear(); location.href='index.html'; }"><i
|
||||
class="material-icons left">delete</i>Réinitialiser (Danger)</button><br><br>
|
||||
<button class="btn waves-effect indigo pwa" onclick="about()" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">info</i>About TheDesk</button>
|
||||
<a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">web</i>Site Web</a>
|
||||
<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Assistance(Pixiv FANBOX)</a>
|
||||
<a href="https://www.patreon.com/cutls" class="btn waves-effect red darken-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Assistance(Patreon)</a>
|
||||
<a href="https://liberapay.com/cutls" class="btn waves-effect black-text"
|
||||
style="width:100%; max-width:40rem; background-color: #f6c915"><i
|
||||
class="material-icons left">trending_up</i>Assistance(Liberapay)</a>
|
||||
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">list</i>Aide/Docs</a>
|
||||
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="fab fa-github left"></i>GitHub</a>
|
||||
<a href="index.html?mode=user&code=Cutls@cutls.com" class="btn waves-effect blue lighten-2"
|
||||
style="width:100%; max-width:40rem;"><img src="../../img/desk_full.svg" class="left" width="25"
|
||||
style="padding-top:5px;">Main author: Cutls@cutls.com</a>
|
||||
<br>
|
||||
TheDesk @ <a href="https://github.com/cutls/TheDesk/commits/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c">89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c</a> - <a
|
||||
onclick="checkupd(); return localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||
class="pointer pwa">Vérifier les mises à jour</a><br>
|
||||
<br>
|
||||
Kyash<br>
|
||||
<img src="../../img/kyash.png" width="100"><br>
|
||||
<a href="https://status.cutls.com/">
|
||||
<img src="https://status.cutls.com/badge-service?site=thedesk.top">
|
||||
</a><br>
|
||||
<h5>OSS License</h5>
|
||||
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fcutls%2FTheDesk/refs/branch/master/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c"
|
||||
alt="FOSSA Status"><img
|
||||
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcutls%2FTheDesk.svg?type=small" /></a>
|
||||
<br>
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||
href="https://thedesk.top/priv.html">Privacy
|
||||
Policy</a>
|
||||
<br>
|
||||
</span><br>
|
||||
TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br>
|
||||
タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/aiscript.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/plugin.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/logout.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
|
@ -1,756 +0,0 @@
|
|||
var yesno = [
|
||||
{
|
||||
text: 'Oui',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Non',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
var sound = [
|
||||
{
|
||||
text: 'Aucun',
|
||||
value: 'none'
|
||||
},
|
||||
{
|
||||
text: 'Par défaut',
|
||||
value: 'default'
|
||||
},
|
||||
{
|
||||
text: 'Custom 1',
|
||||
value: 'c1'
|
||||
},
|
||||
{
|
||||
text: 'Custom 2',
|
||||
value: 'c2'
|
||||
},
|
||||
{
|
||||
text: 'Custom 3',
|
||||
value: 'c3'
|
||||
},
|
||||
{
|
||||
text: 'Custom 4',
|
||||
value: 'c4'
|
||||
}
|
||||
]
|
||||
var envConstruction = [
|
||||
{
|
||||
id: 'popup',
|
||||
storage: 'popup',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Notification pop-up',
|
||||
desc: 'Hide to set "0"',
|
||||
after: 'sec'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notf',
|
||||
storage: 'nativenotf',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Native notification',
|
||||
desc: 'Cela ne fonctionne pas sur la version portable pour Windows.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'width',
|
||||
storage: 'width',
|
||||
width: 50,
|
||||
setValue: 300,
|
||||
text: { after: 'px ~ ' }
|
||||
},
|
||||
{
|
||||
id: 'maxWidth',
|
||||
storage: 'max-width',
|
||||
width: 50,
|
||||
setValue: 600,
|
||||
text: { after: 'px' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Largeur des colonnes',
|
||||
desc: 'Scroll bar will be shown when your window size is more than ammounts of columns.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'margin',
|
||||
storage: 'margin',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Marge entre les timelines',
|
||||
desc: '',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'fixwidth',
|
||||
storage: 'fixwidth',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 300,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Largeur minimale du navigateur TweetDeck',
|
||||
desc: '',
|
||||
after: 'px above'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'size',
|
||||
storage: 'size',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 50,
|
||||
setValue: 13,
|
||||
text: {
|
||||
head: 'Taille de la police de caractères',
|
||||
desc: '<span style="font-size:13px">13px(valeur absolue)</span>',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ha',
|
||||
storage: 'ha',
|
||||
checkbox: true,
|
||||
setValue: false,
|
||||
text: {
|
||||
head: 'Désactiver l\accélération matérielle',
|
||||
desc: 'Redémarrage Automatique',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Oui',
|
||||
value: 'true'
|
||||
},
|
||||
{
|
||||
text: 'Non',
|
||||
value: 'false'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ua',
|
||||
storage: 'ua_setting',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: '',
|
||||
width: 200,
|
||||
text: {
|
||||
head: 'User agent',
|
||||
desc: 'Restart when changed'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'srcUrl',
|
||||
storage: 'srcUrl',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 200,
|
||||
setValue: 'https://google.com/search?q={q}',
|
||||
text: {
|
||||
head: 'Moteur de recherche',
|
||||
desc: '{q} will be replaced to query.',
|
||||
after: ''
|
||||
}
|
||||
},{
|
||||
id: 'download',
|
||||
storage: 'dl-win',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Versioning(o Windows downloader)',
|
||||
desc: 'ex: TheDesk-1.0.0-setup.exe',
|
||||
checkbox: yesno
|
||||
}
|
||||
}
|
||||
]
|
||||
var tlConstruction = [
|
||||
{
|
||||
id: 'time',
|
||||
storage: 'datetype',
|
||||
checkbox: true,
|
||||
setValue: 'absolute',
|
||||
text: {
|
||||
head: 'Format de l’heure',
|
||||
desc: 'Relative format:"1 minutes ago","3 days ago"<br>Absolute format:"23:25:21","2017/12/30 23:59:00"<br>Mixed format:toots posted today are relative-format, others are absolute-format.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Relative',
|
||||
value: 'relative'
|
||||
},
|
||||
{
|
||||
text: 'Absolute',
|
||||
value: 'absolute'
|
||||
},
|
||||
{
|
||||
text: 'Both relative and absolute',
|
||||
value: 'double'
|
||||
},
|
||||
{
|
||||
text: 'Mixed',
|
||||
value: 'medium'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ul',
|
||||
storage: 'locale',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Server\s unique locale',
|
||||
desc: 'This value is available on some Japanese servers',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'nsfw',
|
||||
storage: 'nsfw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide NSFW pictures',
|
||||
desc: 'Strong blur effect',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw',
|
||||
storage: 'cw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide CW contents',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'rp',
|
||||
storage: 'replyct',
|
||||
checkbox: true,
|
||||
setValue: 'hidden',
|
||||
text: {
|
||||
head: 'Reply counter style',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Show 1+ if the replies are more than 1.',
|
||||
value: 'hidden'
|
||||
},
|
||||
{
|
||||
text: 'Show full count(1,2...)',
|
||||
value: 'all'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'gif',
|
||||
storage: 'gif',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animated GIF images animation',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'tag',
|
||||
storage: 'tag-range',
|
||||
checkbox: true,
|
||||
setValue: 'local',
|
||||
text: {
|
||||
head: 'Tag TL Search',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Use federated network',
|
||||
value: 'all'
|
||||
},
|
||||
{
|
||||
text: 'Utiliser le réseau local',
|
||||
value: 'local'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'via',
|
||||
storage: 'viashow',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Afficher via',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'mov',
|
||||
storage: 'mouseover',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Hide action buttons without mouseover',
|
||||
desc: 'You may feel \mouseover\ is unconfortable:(',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Mouseover to show',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Cliquez pour afficher',
|
||||
value: 'click'
|
||||
},
|
||||
{
|
||||
text: 'Non',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notfm',
|
||||
storage: 'setasread',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Show Notification marker, red colored bell and counter(if you show a notification column.)',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'sentence',
|
||||
storage: 'sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'lignes above ou' }
|
||||
},
|
||||
{
|
||||
id: 'letters',
|
||||
storage: 'letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'lettres above' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Auto folding',
|
||||
desc: 'TheDesk ne réduit pas les toots de 5 caractères ou moins. Si réduit, les retours à la ligne ne sont pas affichés. TheDesk compte uniquement les retours à la ligne comme le nombre de lignes.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img-height',
|
||||
storage: 'img-height',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 80,
|
||||
setValue: 200,
|
||||
text: {
|
||||
head: 'Hauteur des images',
|
||||
desc: 'Option:Set "full" to uncrop.',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ticker',
|
||||
storage: 'ticker_ok',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Activer OpenSticker',
|
||||
desc: 'Show colorful stickers about tooters\ server. <a href="https://cdn.weep.me/mastodon/">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'anime',
|
||||
storage: 'animation',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animation des timelines',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'markers',
|
||||
storage: 'markers',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Markers(mark as read) on HTL and notifications',
|
||||
desc: 'Mastodon 3.0~. Shared on WebUI and third-party supported clients.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'remote_img',
|
||||
storage: 'remote_img',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Récupérer les images depuis le serveur distant',
|
||||
desc: 'All previews are got from your loginned cache server.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'bkm',
|
||||
storage: 'bookmark',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Show a bookmarking toot button',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'scroll',
|
||||
storage: 'scroll',
|
||||
checkbox: true,
|
||||
setValue: 'normalScrollBar',
|
||||
text: {
|
||||
head: 'Height of the scroll bar',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Thick',
|
||||
value: 'thickScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Normal',
|
||||
value: 'normalScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Thin',
|
||||
value: 'thinScrollBar'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'replySound',
|
||||
storage: 'replySound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Son (Réponse)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'favSound',
|
||||
storage: 'favSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Son (Fav)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'btSound',
|
||||
storage: 'btSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Son (Boost)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'followSound',
|
||||
storage: 'followSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Son (Follow)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
}
|
||||
]
|
||||
var postConstruction = [
|
||||
{
|
||||
id: 'cw-text',
|
||||
storage: 'cw-text',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 150,
|
||||
setValue: '',
|
||||
text: {
|
||||
head: 'Texte d\avertissement par défaut',
|
||||
desc: '',
|
||||
after: ''
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'cw_sentence',
|
||||
storage: 'cw_sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'lignes above ou' }
|
||||
},
|
||||
{
|
||||
id: 'cw_letters',
|
||||
storage: 'cw_letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'lettres above' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Alerte avant de poster un long toot.',
|
||||
desc: 'Afficher la boîte de dialogue si vous cachez un texte trop long.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cws',
|
||||
storage: 'always-cw',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Always CW set',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw-continue',
|
||||
storage: 'cw-continue',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: '@@cwContinue@@',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'vis',
|
||||
storage: 'vis',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Visibilité par défaut',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Public',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Non listé',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Privé',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direct',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Memory(memorized as each server)',
|
||||
value: 'memory'
|
||||
},
|
||||
{
|
||||
text: 'Default of your visibility(Set on preferences of Mastodon server)',
|
||||
value: 'useapi'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img',
|
||||
storage: 'img',
|
||||
checkbox: true,
|
||||
setValue: 'no-act',
|
||||
text: {
|
||||
head: 'Posting images preferences',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Insert media URL',
|
||||
value: 'url'
|
||||
},
|
||||
{
|
||||
text: 'Insert nothig',
|
||||
value: 'no-act'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'box',
|
||||
storage: 'box',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Action of posting-box',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Folding',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Open after posting',
|
||||
value: 'no'
|
||||
},
|
||||
{
|
||||
text: 'Absolutely open',
|
||||
value: 'absolute'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'quote',
|
||||
storage: 'quote',
|
||||
checkbox: true,
|
||||
setValue: 'nothing',
|
||||
text: {
|
||||
head: 'Format des citations',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'URL uniquement',
|
||||
value: 'simple'
|
||||
},
|
||||
{
|
||||
text: 'URL and acct(mention to the user)',
|
||||
value: 'mention'
|
||||
},
|
||||
{
|
||||
text: 'URL, text and acct(mention to the user)',
|
||||
value: 'full'
|
||||
},
|
||||
{
|
||||
text: 'API (seulement certaines instances)',
|
||||
value: 'apiQuote',
|
||||
quote: true
|
||||
},
|
||||
{
|
||||
text: 'Disabled(Hide buttons on TLs)',
|
||||
value: 'nothing'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'main',
|
||||
storage: 'mainuse',
|
||||
checkbox: true,
|
||||
setValue: 'remain',
|
||||
text: {
|
||||
head: 'Default accounts of actions',
|
||||
desc: 'Main account can be set on Account Manager.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Account you used recently',
|
||||
value: 'remain'
|
||||
},
|
||||
{
|
||||
text: 'Compte principal',
|
||||
value: 'main'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'sec',
|
||||
storage: 'sec',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Secondary Toot Button',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Hidden',
|
||||
value: 'nothing'
|
||||
},
|
||||
{
|
||||
text: 'Public',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Non listé',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Privé',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direct',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Local Only',
|
||||
value: 'local',
|
||||
kirishima: true,
|
||||
kirishimaText: '非対応インスタンスでは「未収載」になります。'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'zero',
|
||||
storage: 'emoji-zero-width',
|
||||
checkbox: true,
|
||||
setValue: 'normal',
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Zero-width space when inserting emojis',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},{
|
||||
id: 'uploadCrop',
|
||||
storage: 'uploadCrop',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 100,
|
||||
setValue: '0',
|
||||
text: {
|
||||
head: 'Ajuster automatiquement la taille',
|
||||
desc: 'Max long-side px. Uploaded images are converted to JPEG(from JPEG) or PNG(from others). Set 0 and the images will not be resized. Notice: if you post an animated picture like GIF, it will be converted static one.',
|
||||
after: 'px'
|
||||
}
|
||||
}
|
||||
]
|
|
@ -1,302 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="fr-FR">
|
||||
<head>
|
||||
<title>Update - TheDesk</title>
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans';
|
||||
-webkit-app-region: drag;
|
||||
cursor: move;
|
||||
padding: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#start {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100vw;
|
||||
height: calc(100vh - 2.5rem);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#checkbox {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
a,
|
||||
button,
|
||||
input,
|
||||
label,
|
||||
i {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
#updskip {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.skipbtn {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
border: 1px solid;
|
||||
margin-left: 5px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid #c26363;
|
||||
overflow: hidden;
|
||||
color: #c26363;
|
||||
margin-bottom: 5px;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.skipbtn:hover {
|
||||
background-color: #c26363;
|
||||
transition: all 0.3s ease-in-out;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#prog {
|
||||
font-size: 200%;
|
||||
}
|
||||
</style>
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" />
|
||||
<script>var pwa = false;</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
|
||||
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
|
||||
<!--a href="update.html">Reload</a-->
|
||||
<div id="start" style="filter: brightness(100%)">
|
||||
<div id="box" class="show">
|
||||
<h2>TheDesk</h2>
|
||||
<p>Téléchargez le dernier TheDesk</p>
|
||||
<span id="now"></span>→<b id="ver"></b><br />
|
||||
<a href="" id="github" class="btn waves-effect grey darken-1"><i class="fab fa-github left"></i>What is new?</a><br />
|
||||
<button class="waves-effect btn windows hide" onclick="update('install')" style="margin-left: 15px;">Installer(Recommended)</button>
|
||||
<button class="waves-effect btn windows hide" onclick="update('portable')" style="margin-left: 15px;">Portable ver.</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linux')" style="margin-left: 15px;">zip</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxdeb')" style="margin-left: 15px;">deb(Recommended on buntu, Debian)</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxsnap')" style="margin-left: 15px;">snap</button>
|
||||
<button class="waves-effect btn mac hide" onclick="update('mac')" style="margin-left: 15px;">Démarrer</button>
|
||||
<br />
|
||||
Some problems?<br />Please download on <a href="https://thedesk.top">Oficial HP</a>.
|
||||
</div>
|
||||
<div id="skipper" class="hide">
|
||||
<h4>Ignorer cette mise à jour</h4>
|
||||
You may lose a cool experience!<br />
|
||||
<div id="updskip">
|
||||
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>Hidden until next TL loading</div>
|
||||
</a>
|
||||
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>Hidden until next version</div>
|
||||
</a>
|
||||
</div>
|
||||
<a class="pointer waves-effect" onclick="skipper();" style="margin-top: 5px;">Continue updating</a>
|
||||
</div>
|
||||
<div id="dlnow" class="hide" style="width: 70%;">
|
||||
<h4>Downloading...</h4>
|
||||
<h4 id="prog"></h4>
|
||||
<div class="progress">
|
||||
<div class="determinate" style="width: 0%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script>
|
||||
function skipper() {
|
||||
$('#dlnow').addClass('hide')
|
||||
$('#box').toggleClass('show')
|
||||
if ($('#box').hasClass('hide') && $('#skipper').hasClass('hide')) {
|
||||
$('#skipper').removeClass('hide')
|
||||
$('#skipper').addClass('show')
|
||||
} else {
|
||||
$('#box').toggleClass('hide')
|
||||
$('#skipper').toggleClass('hide')
|
||||
$('#skipper').toggleClass('show')
|
||||
}
|
||||
}
|
||||
verck()
|
||||
function update(sel) {
|
||||
$('#box').toggleClass('show')
|
||||
$('#box').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('show')
|
||||
$('#prog').text('')
|
||||
var bit = localStorage.getItem('bit')
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
if (sel == 'install') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup.exe'
|
||||
}
|
||||
var filesize = json.winx64_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32_size
|
||||
}
|
||||
} else if (sel == 'portable') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '.exe'
|
||||
} else {
|
||||
var file = 'TheDesk.exe'
|
||||
}
|
||||
var filesize = json.winx64p_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32p_size
|
||||
}
|
||||
} else if (sel == 'linux') {
|
||||
var url = json['linuxx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'thedesk-' + json.unique_linux + '.zip'
|
||||
} else {
|
||||
var file = 'thedesk.zip'
|
||||
}
|
||||
var filesize = json.linuxx64_size
|
||||
} else if (sel == 'linuxdeb') {
|
||||
var url = json['linuxdeb']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.deb'
|
||||
var filesize = json.linuxdeb_size
|
||||
} else if (sel == 'linuxsnap') {
|
||||
var url = json['linuxsnap']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.snap'
|
||||
var filesize = json.linuxsnap_size
|
||||
} else if (sel == 'mac') {
|
||||
var url = json['mac']
|
||||
var file = 'TheDesk-' + json.unique_mac + '.dmg'
|
||||
var filesize = json.mac_size
|
||||
}
|
||||
postMessage(['downloadButton', [url, file, filesize]], '*')
|
||||
})
|
||||
}
|
||||
function quit() {
|
||||
postMessage(['sendSinmpleIpc', 'quit'], '*')
|
||||
}
|
||||
function updateProg(arg) {
|
||||
$('.determinate').css('width', arg[0].percent * 100 + '%')
|
||||
$('#prog').html(`${Math.floor(arg[0].percent * 100)}%<br />(${Math.floor(arg[0].percent*arg[1]/1024/1024*10)/10} MB / ${Math.floor(arg[1]/1024/1024*10)/10} MB)`)
|
||||
|
||||
}
|
||||
function updateMess(arg) {
|
||||
console.log(arg)
|
||||
$('#prog').text(arg)
|
||||
}
|
||||
function verck() {
|
||||
var platform = localStorage.getItem('platform')
|
||||
var bit = localStorage.getItem('bit')
|
||||
if (platform == 'win32') {
|
||||
$('.windows').removeClass('hide')
|
||||
} else if (platform == 'linux') {
|
||||
$('.linux').removeClass('hide')
|
||||
} else if (platform == 'darwin') {
|
||||
$('.mac').removeClass('hide')
|
||||
}
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
console.log(json)
|
||||
if (platform == 'win32') {
|
||||
$('#ver').text(json.desk)
|
||||
localStorage.setItem('next-ver', json.desk)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique
|
||||
} else if (platform == 'linux') {
|
||||
$('#ver').text(json.desk_linux)
|
||||
localStorage.setItem('next-ver', json.desk_linux)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_linux
|
||||
} else if (platform == 'darwin') {
|
||||
$('#ver').text(json.desk_mac)
|
||||
localStorage.setItem('next-ver', json.desk_mac)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_mac
|
||||
}
|
||||
|
||||
$('#github').attr('href', url)
|
||||
|
||||
$('#now').text(localStorage.getItem('ver'))
|
||||
})
|
||||
}
|
||||
function nextv() {
|
||||
localStorage.setItem('new-ver-skip', 'true')
|
||||
window.close()
|
||||
}
|
||||
function enc(ver) {
|
||||
var ver = ver.replace(/\s/g, '')
|
||||
var ver = ver.replace(/\(/g, '-')
|
||||
var ver = ver.replace(/\)/g, '')
|
||||
var ver = ver.replace(/\[/g, '_')
|
||||
var ver = ver.replace(/\]/g, '')
|
||||
return ver
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,154 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="no-NO">
|
||||
<head>
|
||||
<title>Account Manager - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport" />
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link
|
||||
href="../../node_modules/materialize-css/dist/css/materialize.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/tl.css" rel="stylesheet" type="text/css" />
|
||||
<link href="../../css/userdata.css" rel="stylesheet" type="text/css" />
|
||||
<link
|
||||
href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/acct.css" rel="stylesheet" type="text/css" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<script>var pwa = false;</script> <script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/materialize-css/dist/js/materialize.js"
|
||||
></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"
|
||||
></script>
|
||||
<script>
|
||||
var misskeytoken = false
|
||||
</script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<div class="hide-first">
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"
|
||||
>Tilbake</a
|
||||
><br />
|
||||
<h5>Kontoliste</h5>
|
||||
<div id="acct-list"></div>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
<div class="hide-second">
|
||||
<a href="setting.html">Having the exported file of TheDesk, click here to jump setting page</a>
|
||||
</div>
|
||||
<div>
|
||||
<h5>Legg til en konto</h5>
|
||||
<br />
|
||||
<div id="add">
|
||||
<div class="row">
|
||||
<div class="col s8">
|
||||
Fill the instance domain (like mastodon.social)<br />
|
||||
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp" />
|
||||
<div id="ins-suggest"></div>
|
||||
<button class="btn waves-effect" onclick="instance()">Login</button><br />
|
||||
<div class="pwa">
|
||||
Uncheck it to skip pasiting code.(login to Mastodon on Windows or macOS) (Recommended: pcheck)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="linux" />
|
||||
<span>Kodeoppsett</span>
|
||||
</label>
|
||||
<br />
|
||||
</div>
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="misskey" />
|
||||
<span>Logg inn som Misskey</span> </label
|
||||
><br />
|
||||
</div>
|
||||
<div class="col s4 scr" aria-hidden="true">
|
||||
<span style="font-family:Open Sans;">Supports</span>
|
||||
<div id="support" class="collection transparent"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="auth" style="display:none">
|
||||
Lim inn koden og lukk nettleseren.<br />
|
||||
<input type="text" id="code" placeholder="Kode" required />
|
||||
<button class="btn waves-effect" onclick="code()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup()" class="pointer">Use access token to login(click after fill not code but access-token in box: Advanced)</a>
|
||||
<div id="compt" style="display:none" class="scr">
|
||||
<h5>ログイン前に必ずご確認ください</h5>
|
||||
<span id="compt-instance"></span>はバージョンが<span id="compt-ver"></span
|
||||
>のため以下の機能がご利用いただけません。
|
||||
<span id="compt-warn" style="display:none"
|
||||
>また、このインスタンスはMastodonではなくそのAPI上の互換実装であり、TheDeskでは利用を想定していないため非保証となります。</span
|
||||
>
|
||||
<ul id="compt-list"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="misskeylogin" style="display:none">
|
||||
<h5>AppSecret</h5>
|
||||
Read <a href="https://thedesk.top/how-to-misskey-login.html">Docs(ja)</a> to login Misskey.<br />
|
||||
<input type="hidden" id="misskey-url" />
|
||||
<input type="text" id="misskey-key" placeholder="Kode" required />
|
||||
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup('misskey')" class="pointer">Use access token to login(click after fill not code but access-token in box: Advanced)</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hide-first">
|
||||
<h5>Sett som hovedkonto</h5>
|
||||
<div class="input-field" style="width:300px">
|
||||
<span data-trans="your_acct">Velg en konto</span>
|
||||
<br />
|
||||
<select
|
||||
id="main-acct-sel"
|
||||
class="acct-sel"
|
||||
style="color:black"
|
||||
onchange="mainacct()"
|
||||
></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<ul id="domain-list" class="collection transparent"></ul>
|
||||
<div id="instance-data">
|
||||
Some instance data by
|
||||
<a href="https://instances.social" target="_blank">instances.social API</a><br />
|
||||
<h5 id="ins-title"></h5>
|
||||
Administered by:<a id="ins-admin"></a><br />
|
||||
<span id="ins-desc"></span><br />
|
||||
<img src="../../img/loading.svg" id="ins-prof" width="200" /><br />
|
||||
<br />
|
||||
Domene:<span id="ins-name"></span><br />
|
||||
Federerte tjenere:<span id="ins-connect"></span><br />
|
||||
Toots:<span id="ins-toot"></span><br />
|
||||
Brukere:<span id="ins-user"></span>Brukere<br />
|
||||
Tilkobling:<span id="ins-per"></span>%<br />
|
||||
Mastodon-versjon:<span id="ins-ver"></span>@<span id="ins-upd"></span><br />
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/tips.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/sha256.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/instance.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/manager.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
||||
<script>$('body').addClass(localStorage.getItem('platform'))</script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -1,632 +0,0 @@
|
|||
<!doctype html>
|
||||
<html lang="no-NO" style="overflow-y:scroll">
|
||||
|
||||
<head>
|
||||
<title>Settings - TheDesk</title>
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
input {
|
||||
max-height: 3.84rem !important
|
||||
}
|
||||
|
||||
.pcr-result {
|
||||
height: 1rem !important;
|
||||
}
|
||||
|
||||
.container-after-titlebar {
|
||||
padding: 20px;
|
||||
}
|
||||
</style>
|
||||
<script>var pwa = false;</script>
|
||||
<script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" style="overflow-y:scroll" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script src="../../node_modules/json5/dist/index.min.js"></script>
|
||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
|
||||
<script type="text/javascript" src="setting.vue.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>function renderMem() { return false; }</script>
|
||||
|
||||
<h4>Innstillinger</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">desktop_windows</i>System Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Språk</h5>
|
||||
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br><br>
|
||||
<div style="display: flex;">
|
||||
<div style="width: 22rem;" id="langsel">
|
||||
<select id="langsel-sel"><option value="ja">日本語</option><option value="ja-KS">日本語(関西)</option><option value="en">English</option><option value="bg">български</option><option value="cs">Česky</option><option value="de">Deutsch</option><option value="es-AR">Español, argentina</option><option value="it-IT">italiano</option><option value="zh-CN">简体中文</option><option value="zh-TW">繁體中文(β)</option><option value="fr-FR">français(β)</option><option value="no-NO">norsk(β)</option><option value="pt-BR">Português, brasileiro(β)</option><option value="ru-RU">русский(β)</option><option value="es-ES">Español(β)</option><option value="ps">Crowdin translate system(beta)</option></select>
|
||||
</div>
|
||||
<button class="btn waves-effect" onclick="changeLang()">Endre</button>
|
||||
</div>
|
||||
<h5>Import and export of preferences</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
|
||||
style="width:100%; max-width:15rem;">Eksporter</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3"
|
||||
style="width:100%; max-width:15rem;">Importer</button><br>
|
||||
If you got a error when you choose the file, please paste the strings printed when you open the file and click import<br>
|
||||
<input type="text" id="imp-exp" style="width: 22rem">
|
||||
<div id="envView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||
class="pointer">Varseltest</a><br></template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Endre</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Font</h5>
|
||||
Select your favorite font to 'Select'(Windows/ macOS only)<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="font()">Velg</button><br>
|
||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:22rem; height:40rem;"></div>
|
||||
<br>
|
||||
<input type="text" style="width:11.5rem" id="font">
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="settings()">Lagre</button>
|
||||
<br>
|
||||
<h5>Folder to save</h5>
|
||||
TheDesk uses this value when it try to save pictures or take screenshots.<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="savefolder()">Endre</button>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li class="pwa">
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">color_lens</i>Temaer
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h4>Velg tema</h4>
|
||||
<div style="width:22rem" id="sel-selector">
|
||||
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||
</div>
|
||||
<h4>Edit and add themes</h4>
|
||||
<div style="width:22rem" id="edit-selector" data-add="Legg til ny">
|
||||
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||
<option value="add_new">Legg til ny</option>
|
||||
</select>
|
||||
</div>
|
||||
<h5>Navn</h5>
|
||||
<input type="text" style="width:22rem" id="custom_name" placeholder="Navn...">
|
||||
<h5>Om dette temaet</h5>
|
||||
<div class="input-field"><textarea style="width:22rem" id="custom_desc" class="materialize-textarea"
|
||||
placeholder="Om dette temaet..."></textarea></div>
|
||||
<h5>Fargepalett</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="dark" value="dark"
|
||||
checked="true" />
|
||||
<span>Dark</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="light"
|
||||
value="light" />
|
||||
<span>Light</span>
|
||||
</label><br><br />
|
||||
<button class="btn waves-effect" onclick="advanced()">Advanced options</button>
|
||||
<span class="advanced hide"></span>
|
||||
<div id="pickers">
|
||||
<div>
|
||||
<h5>Background</h5>Background color<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_0" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker0_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Text</h5>Tekstfarge<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_1" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker1_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Subcolor</h5>Distinguishable from background<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_2" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker2_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Accent</h5>Background of boosts<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_3" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker3_value">
|
||||
</div>
|
||||
|
||||
<div class="advanced hide">
|
||||
<h5>Modal</h5>Background of modal window<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_4" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('background','modal')">Background</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker4_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Modal Footer</h5>Background of modal window's footer<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_5" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('background','modalFooter')">Background</a>/
|
||||
<a class="pointer" onclick="copyColor('modal','modalFooter')">Modal</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker5_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>3rd Color</h5>Backgroud of tag buttons, etc(near to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_6" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','third')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker6_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>4th Color</h5>Title bar(same scheme to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_7" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','forth')">Subcolor</a>/
|
||||
<a class="pointer" onclick="copyColor('third','forth')">3rd Color</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker7_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Bottom</h5>Background of menu-bar at bottom of window<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_8" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','bottom')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker8_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>2nd Accent</h5>Emphasized toot's background<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_9" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('accent','emphasized')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker9_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Postbox</h5>Background of post-box and menu<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_10" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','postbox')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker10_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Active</h5>Background of 'active' elements<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_11" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('accent','active')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker11_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected</h5>Background of selected with arrow keys<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_12" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker12_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected with shared</h5>Background of selected with arrow keys(boosted toots)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_13" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker13_value">
|
||||
</div>
|
||||
</div><br /><br />
|
||||
<button class="btn-large waves-effect" onclick="customComp()">Endre</button> <button
|
||||
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">Slett</button><br><br>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_json" class="materialize-textarea"
|
||||
placeholder="JSON style" readonly><br>
|
||||
<h4>Import of custom themes</h4>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_import" class="materialize-textarea"
|
||||
placeholder="JSON/JSON5 style">
|
||||
<button class="btn waves-effect" onclick="customImp()">Importer</button><br>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">reorder</i>Tidslinjepreferanser
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="tlView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Endre</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Custom sound</h5>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span
|
||||
id="c1-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span
|
||||
id="c2-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span
|
||||
id="c3-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span
|
||||
id="c4-file"></span><br>
|
||||
<h5>Volume</h5>
|
||||
0-100(default:80)<br>
|
||||
<p class="range-field"><span id="soundVolVal">80</span><br>
|
||||
<input type="range" id="soundvol" min="0" max="100" value="80" onchange="customVol()"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">send</i>Posting Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="postView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<template
|
||||
v-if="(!check.kirishima || (check.kirishima && kirishima) )&& (!check.quote || (check.quote && quoters))">
|
||||
<label><input class="with-gap" v-on:click="complete(i,check.value)"
|
||||
v-model="item.setValue" type="radio" v-bind:id="item.id+check.value"
|
||||
v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span></label>
|
||||
<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
|
||||
</template>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Endre</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Enkel innsetter</h5>
|
||||
You can insert any letters and emojis with only 3 keys<br>
|
||||
Ctrl+Shift+1:<input type="text" style="width:11.5rem" id="oks-1">
|
||||
<button onclick="oks(1)" class="btn waves-effect" style="width:7.7rem;">Lagre</button><br><br>
|
||||
Ctrl+Shift+2:<input type="text" style="width:11.5rem" id="oks-2">
|
||||
<button onclick="oks(2)" class="btn waves-effect" style="width:7.7rem;">Lagre</button><br><br>
|
||||
Ctrl+Shift+3:<input type="text" style="width:11.5rem" id="oks-3">
|
||||
<button onclick="oks(3)" class="btn waves-effect" style="width:7.7rem;">Lagre</button><br><br>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<img src="../../img/aiscript.svg"
|
||||
style="height: 1.5rem; margin-left: 0.4rem; margin-right: 0.4rem;">Plugins
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<a href="https://github.com/cutls/TheDesk/blob/master/plugin.md">Japanese docs of AiScript TheDesk plugins</a><br />
|
||||
<textarea id="plugin" data-id="add_new" style="height: 20rem"></textarea>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="completePlugin()">Endre</button>
|
||||
<button class="btn waves-effect red disabled plugin_delete" style="width:7.7rem;"
|
||||
onclick="deletePlugin()">Slett</button>
|
||||
<h5>Plugin list</h5>
|
||||
<div style="width:22rem" id="plugin-selector" data-add="Legg til ny">
|
||||
<select id="plugin-edit-sel" class="custom-sel" onchange="pluginEdit()">
|
||||
<option value="add_new">Legg til ny</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">bookmark</i>Mute & Emphasis Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Client Mute</h5>
|
||||
<div id="mute-cli"></div>
|
||||
<h5>Client Emphasis</h5>
|
||||
Click client name on toots to toggle mute and emphasis.
|
||||
<h5>Words Mute</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordmute" style="background-color:gray;"></div>
|
||||
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:7.7rem;">Lagre</button>
|
||||
<h5>Words Emphasis</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordemp" style="background-color:gray;"></div>
|
||||
<button onclick="wordempSave()" class="btn waves-effect" style="width:7.7rem;">Lagre</button>
|
||||
<h5>Users Emphasis</h5>
|
||||
Set on users data modals.
|
||||
<span class="emphasized"> Use this color to emphasis </span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="fab fa-spotify"></i>Spotify and NowPlaying Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Kontotilknytninger(Spotify)</h5>
|
||||
TheDesk save your data on thedesk.top server.<br>
|
||||
<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
|
||||
onclick="spotifyAuth()" class="btn waves-effect" style="width:7.7rem;">Lagre</button></div>
|
||||
<a onclick="spotifyConnect()" class="btn waves-effect nex"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-enable"><i
|
||||
class="fab fa-spotify left"></i>Koble til</a>
|
||||
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-disable"><i
|
||||
class="fab fa-spotify left"></i>Koble fra</a>
|
||||
<h5>Kontotilknytninger(Last.fm)</h5>
|
||||
User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.<br />
|
||||
<input type="text" style="width:11.5rem" id="lastFmUser">
|
||||
<button onclick="lastFmSet()" class="btn waves-effect" style="width:7.7rem;">Lagre</button>
|
||||
<h5>Endre mal</h5>
|
||||
<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
|
||||
<span class="mac">>macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}</span><br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:7.7rem;">Lagre</button>
|
||||
<h5>Attach an Artwork of Spotify</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
|
||||
value="yes" />
|
||||
<span>Ja</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
|
||||
value="no" />
|
||||
<span>Nei</span>
|
||||
</label>
|
||||
<div class="mac">
|
||||
<h5>If the song has no artwork, automatic complete it(macOS)</h5>
|
||||
If you nowplaying an non-artwork song, get one which seems nice through API. If you do not like the completed artwork, you can right-click it to delete.<br />
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_yes"
|
||||
value="yes" />
|
||||
<span>Ja</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_no"
|
||||
value="no" />
|
||||
<span>Nei</span>
|
||||
</label>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">hearing</i>TTS(text to speech) Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>BouyomiChan connect</h5>
|
||||
Require: BouyomiChan WebSocket Plugin<a href="https://github.com/xztaityozx/BouyomiChan-WebSocket-Plugin"
|
||||
target="_blank">GitHub</a><br>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_yes"
|
||||
value="yes" />
|
||||
<span>Ja</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_no" value="no" />
|
||||
<span>Nei</span>
|
||||
</label>
|
||||
<h5>Fart</h5>
|
||||
1-100(default:10)<br>
|
||||
<p class="range-field"><span id="voicespeedVal">10</span><br>
|
||||
<input type="range" id="voicespeed" min="1" max="100" value="10"
|
||||
onchange="document.getElementById('voicespeedVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Pitch</h5>
|
||||
0-100(default:50)<br>
|
||||
<p class="range-field"><span id="voicepitchVal">50</span><br>
|
||||
<input type="range" id="voicepitch" min="0" max="100" value="50"
|
||||
onchange="document.getElementById('voicepitchVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Volume</h5>
|
||||
0-100(default:100)<br>
|
||||
<p class="range-field"><span id="voicevolVal">100</span><br>
|
||||
<input type="range" id="voicevol" min="0" max="100" value="100"
|
||||
onchange="document.getElementById('voicevolVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Test</h5>
|
||||
<input type="text" style="width:27rem" id="voicetxt" value="TheDesk is an open-source Mastodon client for PC.">
|
||||
<button class="btn waves-effect blue" style="width:11.5rem;" onclick="voicePlay()"
|
||||
id="testplay">Spill av/Stopp</button><br>
|
||||
<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="voiceSettings()">Lagre</button>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:15rem;"><i
|
||||
class="material-icons left">undo</i>Tilbake</a>
|
||||
<br>
|
||||
<br>Hurtigtaster
|
||||
<li>Ctrl+1-9:Jump to n(1-9)th column</li>
|
||||
<li>N:Open toot box</li>
|
||||
<li>X:Toggle toot box</li>
|
||||
<li>Ctrl+Enter:Post</li>
|
||||
<li>Ctrl+Enter+Shift:Post(secondary toot)</li>
|
||||
<li>Alt+Enter:Secondary Toot Button</li>
|
||||
<li>Ctrl+E:Make all notifications read</li>
|
||||
<li>Ctrl+U:Select the top & left(No.1 column) toot</li>
|
||||
<li>Esc:Hide toot box</li>
|
||||
<li>F5:Super Reload</li>
|
||||
<li>Ctrl+Shift+C:Clear toot box</li>
|
||||
<li>Ctrl+Shift+S:Innstillinger</li>
|
||||
<li>Ctrl+Shift+M:Kontoadministrasjon</li>
|
||||
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
|
||||
<li>Ctrl+Shift+P:Show profile of selecting</li>
|
||||
<li>←/→:Show next or previous image</li>
|
||||
<li>Mousewheel:Zoom a image</li>
|
||||
<div class="hide kirishima">
|
||||
以下Markdownに対応したインスタンスのみ。
|
||||
<br>
|
||||
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
|
||||
When a toot is selected:
|
||||
<li>F:Favoriser denne tooten</li>
|
||||
<li>B:Boost this toot</li>
|
||||
<li>R:Svar på denne tooten</li>
|
||||
</div>
|
||||
<button class="btn waves-effect red" style="width:100%; max-width:40rem;"
|
||||
onclick="if(confirm('Slett all data. Kan ikke gjøres om. Fortsette?')){ localStorage.clear(); location.href='index.html'; }"><i
|
||||
class="material-icons left">delete</i>Reset(Danger)</button><br><br>
|
||||
<button class="btn waves-effect indigo pwa" onclick="about()" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">info</i>Om TheDesk</button>
|
||||
<a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">web</i>Nettsted</a>
|
||||
<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Støtte(Pixiv FANBOX)</a>
|
||||
<a href="https://www.patreon.com/cutls" class="btn waves-effect red darken-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Støtte(Patreon)</a>
|
||||
<a href="https://liberapay.com/cutls" class="btn waves-effect black-text"
|
||||
style="width:100%; max-width:40rem; background-color: #f6c915"><i
|
||||
class="material-icons left">trending_up</i>Støtte(Liberapay)</a>
|
||||
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">list</i>Hjelp/Docs</a>
|
||||
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="fab fa-github left"></i>GitHub</a>
|
||||
<a href="index.html?mode=user&code=Cutls@cutls.com" class="btn waves-effect blue lighten-2"
|
||||
style="width:100%; max-width:40rem;"><img src="../../img/desk_full.svg" class="left" width="25"
|
||||
style="padding-top:5px;">Main author: Cutls@cutls.com</a>
|
||||
<br>
|
||||
TheDesk @ <a href="https://github.com/cutls/TheDesk/commits/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c">89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c</a> - <a
|
||||
onclick="checkupd(); return localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||
class="pointer pwa">Se etter oppdateringer</a><br>
|
||||
<br>
|
||||
Kyash<br>
|
||||
<img src="../../img/kyash.png" width="100"><br>
|
||||
<a href="https://status.cutls.com/">
|
||||
<img src="https://status.cutls.com/badge-service?site=thedesk.top">
|
||||
</a><br>
|
||||
<h5>OSS License</h5>
|
||||
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fcutls%2FTheDesk/refs/branch/master/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c"
|
||||
alt="FOSSA Status"><img
|
||||
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcutls%2FTheDesk.svg?type=small" /></a>
|
||||
<br>
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||
href="https://thedesk.top/priv.html">Privacy
|
||||
Policy</a>
|
||||
<br>
|
||||
</span><br>
|
||||
TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br>
|
||||
タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/aiscript.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/plugin.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/logout.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
|
@ -1,756 +0,0 @@
|
|||
var yesno = [
|
||||
{
|
||||
text: 'Ja',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Nei',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
var sound = [
|
||||
{
|
||||
text: 'Ingen',
|
||||
value: 'none'
|
||||
},
|
||||
{
|
||||
text: 'Standard',
|
||||
value: 'default'
|
||||
},
|
||||
{
|
||||
text: 'Custom 1',
|
||||
value: 'c1'
|
||||
},
|
||||
{
|
||||
text: 'Custom 2',
|
||||
value: 'c2'
|
||||
},
|
||||
{
|
||||
text: 'Custom 3',
|
||||
value: 'c3'
|
||||
},
|
||||
{
|
||||
text: 'Custom 4',
|
||||
value: 'c4'
|
||||
}
|
||||
]
|
||||
var envConstruction = [
|
||||
{
|
||||
id: 'popup',
|
||||
storage: 'popup',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Popup notification',
|
||||
desc: 'Hide to set "0"',
|
||||
after: 'sec'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notf',
|
||||
storage: 'nativenotf',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Native notification',
|
||||
desc: 'This does not work on Windows Portable ver.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'width',
|
||||
storage: 'width',
|
||||
width: 50,
|
||||
setValue: 300,
|
||||
text: { after: 'px ~ ' }
|
||||
},
|
||||
{
|
||||
id: 'maxWidth',
|
||||
storage: 'max-width',
|
||||
width: 50,
|
||||
setValue: 600,
|
||||
text: { after: 'px' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Width of columns',
|
||||
desc: 'Scroll bar will be shown when your window size is more than ammounts of columns.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'margin',
|
||||
storage: 'margin',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Margin between timelines',
|
||||
desc: '',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'fixwidth',
|
||||
storage: 'fixwidth',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 300,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Minimum width of TweetDeck browser',
|
||||
desc: '',
|
||||
after: 'px above'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'size',
|
||||
storage: 'size',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 50,
|
||||
setValue: 13,
|
||||
text: {
|
||||
head: 'Font size',
|
||||
desc: '<span style="font-size:13px">13px(absolute value)</span>',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ha',
|
||||
storage: 'ha',
|
||||
checkbox: true,
|
||||
setValue: false,
|
||||
text: {
|
||||
head: 'Slå av maskinvareakselerasjon',
|
||||
desc: 'Auto restarted',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Ja',
|
||||
value: 'true'
|
||||
},
|
||||
{
|
||||
text: 'Nei',
|
||||
value: 'false'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ua',
|
||||
storage: 'ua_setting',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: '',
|
||||
width: 200,
|
||||
text: {
|
||||
head: 'Brukeragent',
|
||||
desc: 'Restart when changed'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'srcUrl',
|
||||
storage: 'srcUrl',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 200,
|
||||
setValue: 'https://google.com/search?q={q}',
|
||||
text: {
|
||||
head: 'Search engine',
|
||||
desc: '{q} will be replaced to query.',
|
||||
after: ''
|
||||
}
|
||||
},{
|
||||
id: 'download',
|
||||
storage: 'dl-win',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Versioning(o Windows downloader)',
|
||||
desc: 'ex: TheDesk-1.0.0-setup.exe',
|
||||
checkbox: yesno
|
||||
}
|
||||
}
|
||||
]
|
||||
var tlConstruction = [
|
||||
{
|
||||
id: 'time',
|
||||
storage: 'datetype',
|
||||
checkbox: true,
|
||||
setValue: 'absolute',
|
||||
text: {
|
||||
head: 'Tidsformat',
|
||||
desc: 'Relative format:"1 minutes ago","3 days ago"<br>Absolute format:"23:25:21","2017/12/30 23:59:00"<br>Mixed format:toots posted today are relative-format, others are absolute-format.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Relative',
|
||||
value: 'relative'
|
||||
},
|
||||
{
|
||||
text: 'Absolutt',
|
||||
value: 'absolute'
|
||||
},
|
||||
{
|
||||
text: 'Both relative and absolute',
|
||||
value: 'double'
|
||||
},
|
||||
{
|
||||
text: 'Blandet',
|
||||
value: 'medium'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ul',
|
||||
storage: 'locale',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Server\s unique locale',
|
||||
desc: 'Denne verdien er tilgjengelig på noen japanske servere',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'nsfw',
|
||||
storage: 'nsfw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide Mark sensitive pictures',
|
||||
desc: 'Strong blur effect',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw',
|
||||
storage: 'cw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide CW contents',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'rp',
|
||||
storage: 'replyct',
|
||||
checkbox: true,
|
||||
setValue: 'hidden',
|
||||
text: {
|
||||
head: 'Reply counter style',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Show 1+ if the replies are more than 1.',
|
||||
value: 'hidden'
|
||||
},
|
||||
{
|
||||
text: 'Show full count(1,2...)',
|
||||
value: 'all'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'gif',
|
||||
storage: 'gif',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animated GIF images animation',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'tag',
|
||||
storage: 'tag-range',
|
||||
checkbox: true,
|
||||
setValue: 'local',
|
||||
text: {
|
||||
head: 'Tag TL Search',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Use federated network',
|
||||
value: 'all'
|
||||
},
|
||||
{
|
||||
text: 'Bruk lokalt nettverk',
|
||||
value: 'local'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'via',
|
||||
storage: 'viashow',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Vis via',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'mov',
|
||||
storage: 'mouseover',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Hide action buttons without mouseover',
|
||||
desc: 'You may feel \mouseover\ is unconfortable:(',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Mouseover to show',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Klikk for å vise',
|
||||
value: 'click'
|
||||
},
|
||||
{
|
||||
text: 'Nei',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notfm',
|
||||
storage: 'setasread',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Show Notification marker, red colored bell and counter(if you show a notification column.)',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'sentence',
|
||||
storage: 'sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'linjer above eller' }
|
||||
},
|
||||
{
|
||||
id: 'letters',
|
||||
storage: 'letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'bokstaver above' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Auto folding',
|
||||
desc: 'TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img-height',
|
||||
storage: 'img-height',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 80,
|
||||
setValue: 200,
|
||||
text: {
|
||||
head: 'Bildehøyder',
|
||||
desc: 'Option:Set "full" to uncrop.',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ticker',
|
||||
storage: 'ticker_ok',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Enable OpenSticker',
|
||||
desc: 'Show the instance name and favicon of tooters <a href="https://opensticker.0px.io">About OpenSticker</a>',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'anime',
|
||||
storage: 'animation',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animation of timelines',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'markers',
|
||||
storage: 'markers',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Markers(mark as read) on HTL and notifications',
|
||||
desc: 'Mastodon 3.0~. Shared on WebUI and third-party supported clients.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'remote_img',
|
||||
storage: 'remote_img',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Get images from the remote server',
|
||||
desc: 'All previews are got from your loginned cache server.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'bkm',
|
||||
storage: 'bookmark',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Show a bookmarking toot button',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'scroll',
|
||||
storage: 'scroll',
|
||||
checkbox: true,
|
||||
setValue: 'normalScrollBar',
|
||||
text: {
|
||||
head: 'Height of the scroll bar',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Thick',
|
||||
value: 'thickScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Normal',
|
||||
value: 'normalScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Thin',
|
||||
value: 'thinScrollBar'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'replySound',
|
||||
storage: 'replySound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Reply)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'favSound',
|
||||
storage: 'favSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Fav)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'btSound',
|
||||
storage: 'btSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Boost)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'followSound',
|
||||
storage: 'followSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Lyd(Følg)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
}
|
||||
]
|
||||
var postConstruction = [
|
||||
{
|
||||
id: 'cw-text',
|
||||
storage: 'cw-text',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 150,
|
||||
setValue: '',
|
||||
text: {
|
||||
head: 'Standard advarselstekst',
|
||||
desc: '',
|
||||
after: ''
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'cw_sentence',
|
||||
storage: 'cw_sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'linjer above eller' }
|
||||
},
|
||||
{
|
||||
id: 'cw_letters',
|
||||
storage: 'cw_letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'bokstaver above' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Alert before posting a long toot.',
|
||||
desc: 'Show dialog whether you make too-long text hidden.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cws',
|
||||
storage: 'always-cw',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Always CW set',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw-continue',
|
||||
storage: 'cw-continue',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: '@@cwContinue@@',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'vis',
|
||||
storage: 'vis',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Standard synlighet',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Offentlig',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Unlisted',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Privat',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direkte',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Memory(memorized as each server)',
|
||||
value: 'memory'
|
||||
},
|
||||
{
|
||||
text: 'Default of your visibility(Set on preferences of Mastodon server)',
|
||||
value: 'useapi'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img',
|
||||
storage: 'img',
|
||||
checkbox: true,
|
||||
setValue: 'no-act',
|
||||
text: {
|
||||
head: 'Posting images preferences',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Sett inn media-URL',
|
||||
value: 'url'
|
||||
},
|
||||
{
|
||||
text: 'Ikke sett inn noe',
|
||||
value: 'no-act'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'box',
|
||||
storage: 'box',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Action of posting-box',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Folding',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Open after posting',
|
||||
value: 'no'
|
||||
},
|
||||
{
|
||||
text: 'Helt åpen',
|
||||
value: 'absolute'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'quote',
|
||||
storage: 'quote',
|
||||
checkbox: true,
|
||||
setValue: 'nothing',
|
||||
text: {
|
||||
head: 'Sitatformat',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Kun URL',
|
||||
value: 'simple'
|
||||
},
|
||||
{
|
||||
text: 'URL and acct(mention to the user)',
|
||||
value: 'mention'
|
||||
},
|
||||
{
|
||||
text: 'URL, text and acct(mention to the user)',
|
||||
value: 'full'
|
||||
},
|
||||
{
|
||||
text: 'API(kun noen instanser)',
|
||||
value: 'apiQuote',
|
||||
quote: true
|
||||
},
|
||||
{
|
||||
text: 'Disabled(Hide buttons on TLs)',
|
||||
value: 'nothing'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'main',
|
||||
storage: 'mainuse',
|
||||
checkbox: true,
|
||||
setValue: 'remain',
|
||||
text: {
|
||||
head: 'Default accounts of actions',
|
||||
desc: 'Main account can be set on Account Manager.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Konto du nylig brukte',
|
||||
value: 'remain'
|
||||
},
|
||||
{
|
||||
text: 'Hovedkonto',
|
||||
value: 'main'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'sec',
|
||||
storage: 'sec',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Secondary Toot Button',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Gjemt',
|
||||
value: 'nothing'
|
||||
},
|
||||
{
|
||||
text: 'Offentlig',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Unlisted',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Privat',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direkte',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Kun lokalt',
|
||||
value: 'local',
|
||||
kirishima: true,
|
||||
kirishimaText: '非対応インスタンスでは「未収載」になります。'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'zero',
|
||||
storage: 'emoji-zero-width',
|
||||
checkbox: true,
|
||||
setValue: 'normal',
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Zero-width space when inserting emojis',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},{
|
||||
id: 'uploadCrop',
|
||||
storage: 'uploadCrop',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 100,
|
||||
setValue: '0',
|
||||
text: {
|
||||
head: 'Auto scale to fit',
|
||||
desc: 'Max long-side px. Uploaded images are converted to JPEG(from JPEG) or PNG(from others). Set 0 and the images will not be resized. Notice: if you post an animated picture like GIF, it will be converted static one.',
|
||||
after: 'px'
|
||||
}
|
||||
}
|
||||
]
|
|
@ -1,302 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="no-NO">
|
||||
<head>
|
||||
<title>Update - TheDesk</title>
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans';
|
||||
-webkit-app-region: drag;
|
||||
cursor: move;
|
||||
padding: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#start {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100vw;
|
||||
height: calc(100vh - 2.5rem);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#checkbox {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
a,
|
||||
button,
|
||||
input,
|
||||
label,
|
||||
i {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
#updskip {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.skipbtn {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
border: 1px solid;
|
||||
margin-left: 5px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid #c26363;
|
||||
overflow: hidden;
|
||||
color: #c26363;
|
||||
margin-bottom: 5px;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.skipbtn:hover {
|
||||
background-color: #c26363;
|
||||
transition: all 0.3s ease-in-out;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#prog {
|
||||
font-size: 200%;
|
||||
}
|
||||
</style>
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" />
|
||||
<script>var pwa = false;</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
|
||||
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
|
||||
<!--a href="update.html">Reload</a-->
|
||||
<div id="start" style="filter: brightness(100%)">
|
||||
<div id="box" class="show">
|
||||
<h2>TheDesk</h2>
|
||||
<p>Hent siste TheDesk</p>
|
||||
<span id="now"></span>→<b id="ver"></b><br />
|
||||
<a href="" id="github" class="btn waves-effect grey darken-1"><i class="fab fa-github left"></i>Hva er nytt?</a><br />
|
||||
<button class="waves-effect btn windows hide" onclick="update('install')" style="margin-left: 15px;">Installerer(Anbefalt)</button>
|
||||
<button class="waves-effect btn windows hide" onclick="update('portable')" style="margin-left: 15px;">Bærbar ver.</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linux')" style="margin-left: 15px;">zip</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxdeb')" style="margin-left: 15px;">deb(Anbefalt på Ubuntu, Debian)</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxsnap')" style="margin-left: 15px;">snap</button>
|
||||
<button class="waves-effect btn mac hide" onclick="update('mac')" style="margin-left: 15px;">Start</button>
|
||||
<br />
|
||||
Problemer?<br />Please download on <a href='https://thedesk.top'>Oficial HP</a>.
|
||||
</div>
|
||||
<div id="skipper" class="hide">
|
||||
<h4>Hopp over denne oppdateringen</h4>
|
||||
Du kan gå glipp av en kul opplevelse!<br />
|
||||
<div id="updskip">
|
||||
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>Hidden until next TL loading</div>
|
||||
</a>
|
||||
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>Hidden until next version</div>
|
||||
</a>
|
||||
</div>
|
||||
<a class="pointer waves-effect" onclick="skipper();" style="margin-top: 5px;">Fortsett oppdatering</a>
|
||||
</div>
|
||||
<div id="dlnow" class="hide" style="width: 70%;">
|
||||
<h4>Laster ned...</h4>
|
||||
<h4 id="prog"></h4>
|
||||
<div class="progress">
|
||||
<div class="determinate" style="width: 0%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script>
|
||||
function skipper() {
|
||||
$('#dlnow').addClass('hide')
|
||||
$('#box').toggleClass('show')
|
||||
if ($('#box').hasClass('hide') && $('#skipper').hasClass('hide')) {
|
||||
$('#skipper').removeClass('hide')
|
||||
$('#skipper').addClass('show')
|
||||
} else {
|
||||
$('#box').toggleClass('hide')
|
||||
$('#skipper').toggleClass('hide')
|
||||
$('#skipper').toggleClass('show')
|
||||
}
|
||||
}
|
||||
verck()
|
||||
function update(sel) {
|
||||
$('#box').toggleClass('show')
|
||||
$('#box').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('show')
|
||||
$('#prog').text('')
|
||||
var bit = localStorage.getItem('bit')
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
if (sel == 'install') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup.exe'
|
||||
}
|
||||
var filesize = json.winx64_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32_size
|
||||
}
|
||||
} else if (sel == 'portable') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '.exe'
|
||||
} else {
|
||||
var file = 'TheDesk.exe'
|
||||
}
|
||||
var filesize = json.winx64p_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32p_size
|
||||
}
|
||||
} else if (sel == 'linux') {
|
||||
var url = json['linuxx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'thedesk-' + json.unique_linux + '.zip'
|
||||
} else {
|
||||
var file = 'thedesk.zip'
|
||||
}
|
||||
var filesize = json.linuxx64_size
|
||||
} else if (sel == 'linuxdeb') {
|
||||
var url = json['linuxdeb']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.deb'
|
||||
var filesize = json.linuxdeb_size
|
||||
} else if (sel == 'linuxsnap') {
|
||||
var url = json['linuxsnap']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.snap'
|
||||
var filesize = json.linuxsnap_size
|
||||
} else if (sel == 'mac') {
|
||||
var url = json['mac']
|
||||
var file = 'TheDesk-' + json.unique_mac + '.dmg'
|
||||
var filesize = json.mac_size
|
||||
}
|
||||
postMessage(['downloadButton', [url, file, filesize]], '*')
|
||||
})
|
||||
}
|
||||
function quit() {
|
||||
postMessage(['sendSinmpleIpc', 'quit'], '*')
|
||||
}
|
||||
function updateProg(arg) {
|
||||
$('.determinate').css('width', arg[0].percent * 100 + '%')
|
||||
$('#prog').html(`${Math.floor(arg[0].percent * 100)}%<br />(${Math.floor(arg[0].percent*arg[1]/1024/1024*10)/10} MB / ${Math.floor(arg[1]/1024/1024*10)/10} MB)`)
|
||||
|
||||
}
|
||||
function updateMess(arg) {
|
||||
console.log(arg)
|
||||
$('#prog').text(arg)
|
||||
}
|
||||
function verck() {
|
||||
var platform = localStorage.getItem('platform')
|
||||
var bit = localStorage.getItem('bit')
|
||||
if (platform == 'win32') {
|
||||
$('.windows').removeClass('hide')
|
||||
} else if (platform == 'linux') {
|
||||
$('.linux').removeClass('hide')
|
||||
} else if (platform == 'darwin') {
|
||||
$('.mac').removeClass('hide')
|
||||
}
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
console.log(json)
|
||||
if (platform == 'win32') {
|
||||
$('#ver').text(json.desk)
|
||||
localStorage.setItem('next-ver', json.desk)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique
|
||||
} else if (platform == 'linux') {
|
||||
$('#ver').text(json.desk_linux)
|
||||
localStorage.setItem('next-ver', json.desk_linux)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_linux
|
||||
} else if (platform == 'darwin') {
|
||||
$('#ver').text(json.desk_mac)
|
||||
localStorage.setItem('next-ver', json.desk_mac)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_mac
|
||||
}
|
||||
|
||||
$('#github').attr('href', url)
|
||||
|
||||
$('#now').text(localStorage.getItem('ver'))
|
||||
})
|
||||
}
|
||||
function nextv() {
|
||||
localStorage.setItem('new-ver-skip', 'true')
|
||||
window.close()
|
||||
}
|
||||
function enc(ver) {
|
||||
var ver = ver.replace(/\s/g, '')
|
||||
var ver = ver.replace(/\(/g, '-')
|
||||
var ver = ver.replace(/\)/g, '')
|
||||
var ver = ver.replace(/\[/g, '_')
|
||||
var ver = ver.replace(/\]/g, '')
|
||||
return ver
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,154 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="pt-BR">
|
||||
<head>
|
||||
<title>Account Manager - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport" />
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link
|
||||
href="../../node_modules/materialize-css/dist/css/materialize.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/tl.css" rel="stylesheet" type="text/css" />
|
||||
<link href="../../css/userdata.css" rel="stylesheet" type="text/css" />
|
||||
<link
|
||||
href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/acct.css" rel="stylesheet" type="text/css" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<script>var pwa = false;</script> <script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/materialize-css/dist/js/materialize.js"
|
||||
></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"
|
||||
></script>
|
||||
<script>
|
||||
var misskeytoken = false
|
||||
</script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<div class="hide-first">
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"
|
||||
>Voltar</a
|
||||
><br />
|
||||
<h5>Lista de Contas</h5>
|
||||
<div id="acct-list"></div>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
<div class="hide-second">
|
||||
<a href="setting.html">Having the exported file of TheDesk, click here to jump setting page</a>
|
||||
</div>
|
||||
<div>
|
||||
<h5>Adicionar conta</h5>
|
||||
<br />
|
||||
<div id="add">
|
||||
<div class="row">
|
||||
<div class="col s8">
|
||||
Preencha o domínio da instância (ex: mastodon.social)<br />
|
||||
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp" />
|
||||
<div id="ins-suggest"></div>
|
||||
<button class="btn waves-effect" onclick="instance()">Login</button><br />
|
||||
<div class="pwa">
|
||||
Uncheck it to skip pasiting code.(login to Mastodon on Windows or macOS) (Recommended: pcheck)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="linux" />
|
||||
<span>Code setup</span>
|
||||
</label>
|
||||
<br />
|
||||
</div>
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="misskey" />
|
||||
<span>Entrar como Misskey</span> </label
|
||||
><br />
|
||||
</div>
|
||||
<div class="col s4 scr" aria-hidden="true">
|
||||
<span style="font-family:Open Sans;">Supports</span>
|
||||
<div id="support" class="collection transparent"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="auth" style="display:none">
|
||||
Cole o código e feche o navegador.<br />
|
||||
<input type="text" id="code" placeholder="Código" required />
|
||||
<button class="btn waves-effect" onclick="code()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup()" class="pointer">Use access token to login(click after fill not code but access-token in box: Advanced)</a>
|
||||
<div id="compt" style="display:none" class="scr">
|
||||
<h5>ログイン前に必ずご確認ください</h5>
|
||||
<span id="compt-instance"></span>はバージョンが<span id="compt-ver"></span
|
||||
>のため以下の機能がご利用いただけません。
|
||||
<span id="compt-warn" style="display:none"
|
||||
>また、このインスタンスはMastodonではなくそのAPI上の互換実装であり、TheDeskでは利用を想定していないため非保証となります。</span
|
||||
>
|
||||
<ul id="compt-list"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="misskeylogin" style="display:none">
|
||||
<h5>AppSecret</h5>
|
||||
Read <a href="https://thedesk.top/how-to-misskey-login.html">Docs(ja)</a> to login Misskey.<br />
|
||||
<input type="hidden" id="misskey-url" />
|
||||
<input type="text" id="misskey-key" placeholder="Código" required />
|
||||
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup('misskey')" class="pointer">Use access token to login(click after fill not code but access-token in box: Advanced)</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hide-first">
|
||||
<h5>Main an account</h5>
|
||||
<div class="input-field" style="width:300px">
|
||||
<span data-trans="your_acct">Selecione uma conta</span>
|
||||
<br />
|
||||
<select
|
||||
id="main-acct-sel"
|
||||
class="acct-sel"
|
||||
style="color:black"
|
||||
onchange="mainacct()"
|
||||
></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<ul id="domain-list" class="collection transparent"></ul>
|
||||
<div id="instance-data">
|
||||
Some instance data by
|
||||
<a href="https://instances.social" target="_blank">instances.social API</a><br />
|
||||
<h5 id="ins-title"></h5>
|
||||
Administered by:<a id="ins-admin"></a><br />
|
||||
<span id="ins-desc"></span><br />
|
||||
<img src="../../img/loading.svg" id="ins-prof" width="200" /><br />
|
||||
<br />
|
||||
Domínio:<span id="ins-name"></span><br />
|
||||
Federated servers:<span id="ins-connect"></span><br />
|
||||
Toots:<span id="ins-toot"></span><br />
|
||||
Usuários:<span id="ins-user"></span>Usuários<br />
|
||||
Conexão:<span id="ins-per"></span>%<br />
|
||||
Versão do Mastodon:<span id="ins-ver"></span>@<span id="ins-upd"></span><br />
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/tips.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/sha256.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/instance.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/manager.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
||||
<script>$('body').addClass(localStorage.getItem('platform'))</script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -1,632 +0,0 @@
|
|||
<!doctype html>
|
||||
<html lang="pt-BR" style="overflow-y:scroll">
|
||||
|
||||
<head>
|
||||
<title>Settings - TheDesk</title>
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
input {
|
||||
max-height: 3.84rem !important
|
||||
}
|
||||
|
||||
.pcr-result {
|
||||
height: 1rem !important;
|
||||
}
|
||||
|
||||
.container-after-titlebar {
|
||||
padding: 20px;
|
||||
}
|
||||
</style>
|
||||
<script>var pwa = false;</script>
|
||||
<script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" style="overflow-y:scroll" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script src="../../node_modules/json5/dist/index.min.js"></script>
|
||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
|
||||
<script type="text/javascript" src="setting.vue.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>function renderMem() { return false; }</script>
|
||||
|
||||
<h4>Preferences</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">desktop_windows</i>System Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Languages</h5>
|
||||
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br><br>
|
||||
<div style="display: flex;">
|
||||
<div style="width: 22rem;" id="langsel">
|
||||
<select id="langsel-sel"><option value="ja">日本語</option><option value="ja-KS">日本語(関西)</option><option value="en">English</option><option value="bg">български</option><option value="cs">Česky</option><option value="de">Deutsch</option><option value="es-AR">Español, argentina</option><option value="it-IT">italiano</option><option value="zh-CN">简体中文</option><option value="zh-TW">繁體中文(β)</option><option value="fr-FR">français(β)</option><option value="no-NO">norsk(β)</option><option value="pt-BR">Português, brasileiro(β)</option><option value="ru-RU">русский(β)</option><option value="es-ES">Español(β)</option><option value="ps">Crowdin translate system(beta)</option></select>
|
||||
</div>
|
||||
<button class="btn waves-effect" onclick="changeLang()">Change</button>
|
||||
</div>
|
||||
<h5>Import and export of preferences</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
|
||||
style="width:100%; max-width:15rem;">Export</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3"
|
||||
style="width:100%; max-width:15rem;">Import</button><br>
|
||||
If you got a error when you choose the file, please paste the strings printed when you open the file and click import<br>
|
||||
<input type="text" id="imp-exp" style="width: 22rem">
|
||||
<div id="envView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||
class="pointer">Notification test</a><br></template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Change</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Font</h5>
|
||||
Select your favorite font to 'Select'(Windows/ macOS only)<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="font()">Select</button><br>
|
||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:22rem; height:40rem;"></div>
|
||||
<br>
|
||||
<input type="text" style="width:11.5rem" id="font">
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Folder to save</h5>
|
||||
TheDesk uses this value when it try to save pictures or take screenshots.<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="savefolder()">Change</button>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li class="pwa">
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">color_lens</i>Themes
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h4>Select theme</h4>
|
||||
<div style="width:22rem" id="sel-selector">
|
||||
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||
</div>
|
||||
<h4>Edit and add themes</h4>
|
||||
<div style="width:22rem" id="edit-selector" data-add="Add new">
|
||||
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||
<option value="add_new">Add new</option>
|
||||
</select>
|
||||
</div>
|
||||
<h5>Name</h5>
|
||||
<input type="text" style="width:22rem" id="custom_name" placeholder="Name...">
|
||||
<h5>About this theme</h5>
|
||||
<div class="input-field"><textarea style="width:22rem" id="custom_desc" class="materialize-textarea"
|
||||
placeholder="About this theme..."></textarea></div>
|
||||
<h5>Color scheme</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="dark" value="dark"
|
||||
checked="true" />
|
||||
<span>Dark</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="light"
|
||||
value="light" />
|
||||
<span>Light</span>
|
||||
</label><br><br />
|
||||
<button class="btn waves-effect" onclick="advanced()">Advanced options</button>
|
||||
<span class="advanced hide"></span>
|
||||
<div id="pickers">
|
||||
<div>
|
||||
<h5>Background</h5>Background color<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_0" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker0_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Text</h5>Text color<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_1" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker1_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Subcolor</h5>Distinguishable from background<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_2" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker2_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Accent</h5>Background of boosts<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_3" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker3_value">
|
||||
</div>
|
||||
|
||||
<div class="advanced hide">
|
||||
<h5>Modal</h5>Background of modal window<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_4" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('background','modal')">Background</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker4_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Modal Footer</h5>Background of modal window's footer<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_5" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('background','modalFooter')">Background</a>/
|
||||
<a class="pointer" onclick="copyColor('modal','modalFooter')">Modal</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker5_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>3rd Color</h5>Backgroud of tag buttons, etc(near to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_6" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','third')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker6_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>4th Color</h5>Title bar(same scheme to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_7" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','forth')">Subcolor</a>/
|
||||
<a class="pointer" onclick="copyColor('third','forth')">3rd Color</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker7_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Bottom</h5>Background of menu-bar at bottom of window<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_8" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','bottom')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker8_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>2nd Accent</h5>Emphasized toot's background<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_9" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('accent','emphasized')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker9_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Postbox</h5>Background of post-box and menu<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_10" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','postbox')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker10_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Active</h5>Background of 'active' elements<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_11" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('accent','active')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker11_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected</h5>Background of selected with arrow keys<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_12" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker12_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected with shared</h5>Background of selected with arrow keys(boosted toots)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_13" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker13_value">
|
||||
</div>
|
||||
</div><br /><br />
|
||||
<button class="btn-large waves-effect" onclick="customComp()">Change</button> <button
|
||||
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">Excluir</button><br><br>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_json" class="materialize-textarea"
|
||||
placeholder="JSON style" readonly><br>
|
||||
<h4>Import of custom themes</h4>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_import" class="materialize-textarea"
|
||||
placeholder="JSON/JSON5 style">
|
||||
<button class="btn waves-effect" onclick="customImp()">Import</button><br>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">reorder</i>Timeline Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="tlView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Change</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Custom sound</h5>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span
|
||||
id="c1-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span
|
||||
id="c2-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span
|
||||
id="c3-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span
|
||||
id="c4-file"></span><br>
|
||||
<h5>Volume</h5>
|
||||
0-100(default:80)<br>
|
||||
<p class="range-field"><span id="soundVolVal">80</span><br>
|
||||
<input type="range" id="soundvol" min="0" max="100" value="80" onchange="customVol()"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">send</i>Posting Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="postView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<template
|
||||
v-if="(!check.kirishima || (check.kirishima && kirishima) )&& (!check.quote || (check.quote && quoters))">
|
||||
<label><input class="with-gap" v-on:click="complete(i,check.value)"
|
||||
v-model="item.setValue" type="radio" v-bind:id="item.id+check.value"
|
||||
v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span></label>
|
||||
<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
|
||||
</template>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Change</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Easy inserter</h5>
|
||||
You can insert any letters and emojis with only 3 keys<br>
|
||||
Ctrl+Shift+1:<input type="text" style="width:11.5rem" id="oks-1">
|
||||
<button onclick="oks(1)" class="btn waves-effect" style="width:7.7rem;">Save</button><br><br>
|
||||
Ctrl+Shift+2:<input type="text" style="width:11.5rem" id="oks-2">
|
||||
<button onclick="oks(2)" class="btn waves-effect" style="width:7.7rem;">Save</button><br><br>
|
||||
Ctrl+Shift+3:<input type="text" style="width:11.5rem" id="oks-3">
|
||||
<button onclick="oks(3)" class="btn waves-effect" style="width:7.7rem;">Save</button><br><br>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<img src="../../img/aiscript.svg"
|
||||
style="height: 1.5rem; margin-left: 0.4rem; margin-right: 0.4rem;">Plugins
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<a href="https://github.com/cutls/TheDesk/blob/master/plugin.md">Japanese docs of AiScript TheDesk plugins</a><br />
|
||||
<textarea id="plugin" data-id="add_new" style="height: 20rem"></textarea>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="completePlugin()">Change</button>
|
||||
<button class="btn waves-effect red disabled plugin_delete" style="width:7.7rem;"
|
||||
onclick="deletePlugin()">Excluir</button>
|
||||
<h5>Plugin list</h5>
|
||||
<div style="width:22rem" id="plugin-selector" data-add="Add new">
|
||||
<select id="plugin-edit-sel" class="custom-sel" onchange="pluginEdit()">
|
||||
<option value="add_new">Add new</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">bookmark</i>Mute & Emphasis Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Client Mute</h5>
|
||||
<div id="mute-cli"></div>
|
||||
<h5>Client Emphasis</h5>
|
||||
Click client name on toots to toggle mute and emphasis.
|
||||
<h5>Words Mute</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordmute" style="background-color:gray;"></div>
|
||||
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:7.7rem;">Save</button>
|
||||
<h5>Words Emphasis</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordemp" style="background-color:gray;"></div>
|
||||
<button onclick="wordempSave()" class="btn waves-effect" style="width:7.7rem;">Save</button>
|
||||
<h5>Users Emphasis</h5>
|
||||
Set on users data modals.
|
||||
<span class="emphasized"> Use this color to emphasis </span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="fab fa-spotify"></i>Spotify and NowPlaying Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Account Connection(Spotify)</h5>
|
||||
TheDesk save your data on thedesk.top server.<br>
|
||||
<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
|
||||
onclick="spotifyAuth()" class="btn waves-effect" style="width:7.7rem;">Save</button></div>
|
||||
<a onclick="spotifyConnect()" class="btn waves-effect nex"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-enable"><i
|
||||
class="fab fa-spotify left"></i>Connect</a>
|
||||
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-disable"><i
|
||||
class="fab fa-spotify left"></i>Disconnect</a>
|
||||
<h5>Account Connection(Last.fm)</h5>
|
||||
User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.<br />
|
||||
<input type="text" style="width:11.5rem" id="lastFmUser">
|
||||
<button onclick="lastFmSet()" class="btn waves-effect" style="width:7.7rem;">Save</button>
|
||||
<h5>Edit a template</h5>
|
||||
<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
|
||||
<span class="mac">>macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}</span><br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:7.7rem;">Save</button>
|
||||
<h5>Attach an Artwork of Spotify</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
|
||||
value="yes" />
|
||||
<span>Sim</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
|
||||
value="no" />
|
||||
<span>Não</span>
|
||||
</label>
|
||||
<div class="mac">
|
||||
<h5>If the song has no artwork, automatic complete it(macOS)</h5>
|
||||
If you nowplaying an non-artwork song, get one which seems nice through API. If you do not like the completed artwork, you can right-click it to delete.<br />
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_yes"
|
||||
value="yes" />
|
||||
<span>Sim</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_no"
|
||||
value="no" />
|
||||
<span>Não</span>
|
||||
</label>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">hearing</i>TTS(text to speech) Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>BouyomiChan connect</h5>
|
||||
Require: BouyomiChan WebSocket Plugin<a href="https://github.com/xztaityozx/BouyomiChan-WebSocket-Plugin"
|
||||
target="_blank">GitHub</a><br>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_yes"
|
||||
value="yes" />
|
||||
<span>Sim</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_no" value="no" />
|
||||
<span>Não</span>
|
||||
</label>
|
||||
<h5>Speed</h5>
|
||||
1-100(default:10)<br>
|
||||
<p class="range-field"><span id="voicespeedVal">10</span><br>
|
||||
<input type="range" id="voicespeed" min="1" max="100" value="10"
|
||||
onchange="document.getElementById('voicespeedVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Pitch</h5>
|
||||
0-100(default:50)<br>
|
||||
<p class="range-field"><span id="voicepitchVal">50</span><br>
|
||||
<input type="range" id="voicepitch" min="0" max="100" value="50"
|
||||
onchange="document.getElementById('voicepitchVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Volume</h5>
|
||||
0-100(default:100)<br>
|
||||
<p class="range-field"><span id="voicevolVal">100</span><br>
|
||||
<input type="range" id="voicevol" min="0" max="100" value="100"
|
||||
onchange="document.getElementById('voicevolVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Test</h5>
|
||||
<input type="text" style="width:27rem" id="voicetxt" value="TheDesk is an open-source Mastodon client for PC.">
|
||||
<button class="btn waves-effect blue" style="width:11.5rem;" onclick="voicePlay()"
|
||||
id="testplay">Play/Stop</button><br>
|
||||
<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="voiceSettings()">Save</button>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:15rem;"><i
|
||||
class="material-icons left">undo</i>Voltar</a>
|
||||
<br>
|
||||
<br>Keyboard shortcuts
|
||||
<li>Ctrl+1-9:Jump to n(1-9)th column</li>
|
||||
<li>N:Open toot box</li>
|
||||
<li>X:Toggle toot box</li>
|
||||
<li>Ctrl+Enter:Post</li>
|
||||
<li>Ctrl+Enter+Shift:Post(secondary toot)</li>
|
||||
<li>Alt+Enter:Secondary Toot Button</li>
|
||||
<li>Ctrl+E:Make all notifications read</li>
|
||||
<li>Ctrl+U:Select the top & left(No.1 column) toot</li>
|
||||
<li>Esc:Hide toot box</li>
|
||||
<li>F5:Super Reload</li>
|
||||
<li>Ctrl+Shift+C:Clear toot box</li>
|
||||
<li>Ctrl+Shift+S:Preferences</li>
|
||||
<li>Ctrl+Shift+M:Account Manager</li>
|
||||
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
|
||||
<li>Ctrl+Shift+P:Show profile of selecting</li>
|
||||
<li>←/→:Show next or previous image</li>
|
||||
<li>Mousewheel:Zoom a image</li>
|
||||
<div class="hide kirishima">
|
||||
以下Markdownに対応したインスタンスのみ。
|
||||
<br>
|
||||
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
|
||||
When a toot is selected:
|
||||
<li>F:Favourite this toot</li>
|
||||
<li>B:Boost this toot</li>
|
||||
<li>R:Reply to this toot</li>
|
||||
</div>
|
||||
<button class="btn waves-effect red" style="width:100%; max-width:40rem;"
|
||||
onclick="if(confirm('Delete all data. You cannot undo. Continue?')){ localStorage.clear(); location.href='index.html'; }"><i
|
||||
class="material-icons left">delete</i>Reset(Danger)</button><br><br>
|
||||
<button class="btn waves-effect indigo pwa" onclick="about()" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">info</i>About TheDesk</button>
|
||||
<a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">web</i>Website</a>
|
||||
<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Support(Pixiv FANBOX)</a>
|
||||
<a href="https://www.patreon.com/cutls" class="btn waves-effect red darken-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Support(Patreon)</a>
|
||||
<a href="https://liberapay.com/cutls" class="btn waves-effect black-text"
|
||||
style="width:100%; max-width:40rem; background-color: #f6c915"><i
|
||||
class="material-icons left">trending_up</i>Support(Liberapay)</a>
|
||||
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">list</i>Help/Docs</a>
|
||||
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="fab fa-github left"></i>GitHub</a>
|
||||
<a href="index.html?mode=user&code=Cutls@cutls.com" class="btn waves-effect blue lighten-2"
|
||||
style="width:100%; max-width:40rem;"><img src="../../img/desk_full.svg" class="left" width="25"
|
||||
style="padding-top:5px;">Main author: Cutls@cutls.com</a>
|
||||
<br>
|
||||
TheDesk @ <a href="https://github.com/cutls/TheDesk/commits/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c">89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c</a> - <a
|
||||
onclick="checkupd(); return localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||
class="pointer pwa">Check update</a><br>
|
||||
<br>
|
||||
Kyash<br>
|
||||
<img src="../../img/kyash.png" width="100"><br>
|
||||
<a href="https://status.cutls.com/">
|
||||
<img src="https://status.cutls.com/badge-service?site=thedesk.top">
|
||||
</a><br>
|
||||
<h5>OSS License</h5>
|
||||
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fcutls%2FTheDesk/refs/branch/master/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c"
|
||||
alt="FOSSA Status"><img
|
||||
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcutls%2FTheDesk.svg?type=small" /></a>
|
||||
<br>
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||
href="https://thedesk.top/priv.html">Privacy
|
||||
Policy</a>
|
||||
<br>
|
||||
</span><br>
|
||||
TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br>
|
||||
タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/aiscript.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/plugin.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/logout.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
|
@ -1,756 +0,0 @@
|
|||
var yesno = [
|
||||
{
|
||||
text: 'Sim',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Não',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
var sound = [
|
||||
{
|
||||
text: 'Nenhum',
|
||||
value: 'none'
|
||||
},
|
||||
{
|
||||
text: 'Padrão',
|
||||
value: 'default'
|
||||
},
|
||||
{
|
||||
text: 'Custom 1',
|
||||
value: 'c1'
|
||||
},
|
||||
{
|
||||
text: 'Custom 2',
|
||||
value: 'c2'
|
||||
},
|
||||
{
|
||||
text: 'Custom 3',
|
||||
value: 'c3'
|
||||
},
|
||||
{
|
||||
text: 'Custom 4',
|
||||
value: 'c4'
|
||||
}
|
||||
]
|
||||
var envConstruction = [
|
||||
{
|
||||
id: 'popup',
|
||||
storage: 'popup',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Popup notification',
|
||||
desc: 'Hide to set "0"',
|
||||
after: 'sec'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notf',
|
||||
storage: 'nativenotf',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Native notification',
|
||||
desc: 'This does not work on Windows Portable ver.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'width',
|
||||
storage: 'width',
|
||||
width: 50,
|
||||
setValue: 300,
|
||||
text: { after: 'px ~ ' }
|
||||
},
|
||||
{
|
||||
id: 'maxWidth',
|
||||
storage: 'max-width',
|
||||
width: 50,
|
||||
setValue: 600,
|
||||
text: { after: 'px' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Width of columns',
|
||||
desc: 'Scroll bar will be shown when your window size is more than ammounts of columns.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'margin',
|
||||
storage: 'margin',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Margin between timelines',
|
||||
desc: '',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'fixwidth',
|
||||
storage: 'fixwidth',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 300,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Minimum width of TweetDeck browser',
|
||||
desc: '',
|
||||
after: 'px above'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'size',
|
||||
storage: 'size',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 50,
|
||||
setValue: 13,
|
||||
text: {
|
||||
head: 'Font size',
|
||||
desc: '<span style="font-size:13px">13px(absolute value)</span>',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ha',
|
||||
storage: 'ha',
|
||||
checkbox: true,
|
||||
setValue: false,
|
||||
text: {
|
||||
head: 'Disable hardware acceleration',
|
||||
desc: 'Auto restarted',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Sim',
|
||||
value: 'true'
|
||||
},
|
||||
{
|
||||
text: 'Não',
|
||||
value: 'false'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ua',
|
||||
storage: 'ua_setting',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: '',
|
||||
width: 200,
|
||||
text: {
|
||||
head: 'User agent',
|
||||
desc: 'Restart when changed'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'srcUrl',
|
||||
storage: 'srcUrl',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 200,
|
||||
setValue: 'https://google.com/search?q={q}',
|
||||
text: {
|
||||
head: 'Search engine',
|
||||
desc: '{q} will be replaced to query.',
|
||||
after: ''
|
||||
}
|
||||
},{
|
||||
id: 'download',
|
||||
storage: 'dl-win',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Versioning(o Windows downloader)',
|
||||
desc: 'ex: TheDesk-1.0.0-setup.exe',
|
||||
checkbox: yesno
|
||||
}
|
||||
}
|
||||
]
|
||||
var tlConstruction = [
|
||||
{
|
||||
id: 'time',
|
||||
storage: 'datetype',
|
||||
checkbox: true,
|
||||
setValue: 'absolute',
|
||||
text: {
|
||||
head: 'Time format',
|
||||
desc: 'Relative format:"1 minutes ago","3 days ago"<br>Absolute format:"23:25:21","2017/12/30 23:59:00"<br>Mixed format:toots posted today are relative-format, others are absolute-format.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Relative',
|
||||
value: 'relative'
|
||||
},
|
||||
{
|
||||
text: 'Absolute',
|
||||
value: 'absolute'
|
||||
},
|
||||
{
|
||||
text: 'Both relative and absolute',
|
||||
value: 'double'
|
||||
},
|
||||
{
|
||||
text: 'Mixed',
|
||||
value: 'medium'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ul',
|
||||
storage: 'locale',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Server\s unique locale',
|
||||
desc: 'This value is available on some Japanese servers',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'nsfw',
|
||||
storage: 'nsfw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide Mark sensitive pictures',
|
||||
desc: 'Strong blur effect',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw',
|
||||
storage: 'cw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide CW contents',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'rp',
|
||||
storage: 'replyct',
|
||||
checkbox: true,
|
||||
setValue: 'hidden',
|
||||
text: {
|
||||
head: 'Reply counter style',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Show 1+ if the replies are more than 1.',
|
||||
value: 'hidden'
|
||||
},
|
||||
{
|
||||
text: 'Show full count(1,2...)',
|
||||
value: 'all'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'gif',
|
||||
storage: 'gif',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animated GIF images animation',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'tag',
|
||||
storage: 'tag-range',
|
||||
checkbox: true,
|
||||
setValue: 'local',
|
||||
text: {
|
||||
head: 'Tag TL Search',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Use federated network',
|
||||
value: 'all'
|
||||
},
|
||||
{
|
||||
text: 'Use local network',
|
||||
value: 'local'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'via',
|
||||
storage: 'viashow',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Show via',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'mov',
|
||||
storage: 'mouseover',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Hide action buttons without mouseover',
|
||||
desc: 'You may feel \mouseover\ is unconfortable:(',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Mouseover to show',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Click to show',
|
||||
value: 'click'
|
||||
},
|
||||
{
|
||||
text: 'Não',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notfm',
|
||||
storage: 'setasread',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Show Notification marker, red colored bell and counter(if you show a notification column.)',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'sentence',
|
||||
storage: 'sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'lines above or' }
|
||||
},
|
||||
{
|
||||
id: 'letters',
|
||||
storage: 'letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'letters above' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Auto folding',
|
||||
desc: 'TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img-height',
|
||||
storage: 'img-height',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 80,
|
||||
setValue: 200,
|
||||
text: {
|
||||
head: 'Height of images',
|
||||
desc: 'Option:Set "full" to uncrop.',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ticker',
|
||||
storage: 'ticker_ok',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Enable OpenSticker',
|
||||
desc: 'Show the instance name and favicon of tooters <a href="https://opensticker.0px.io">About OpenSticker</a>',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'anime',
|
||||
storage: 'animation',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animation of timelines',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'markers',
|
||||
storage: 'markers',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Markers(mark as read) on HTL and notifications',
|
||||
desc: 'Mastodon 3.0~. Shared on WebUI and third-party supported clients.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'remote_img',
|
||||
storage: 'remote_img',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Get images from the remote server',
|
||||
desc: 'All previews are got from your loginned cache server.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'bkm',
|
||||
storage: 'bookmark',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Show a bookmarking toot button',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'scroll',
|
||||
storage: 'scroll',
|
||||
checkbox: true,
|
||||
setValue: 'normalScrollBar',
|
||||
text: {
|
||||
head: 'Height of the scroll bar',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Thick',
|
||||
value: 'thickScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Normal',
|
||||
value: 'normalScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Thin',
|
||||
value: 'thinScrollBar'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'replySound',
|
||||
storage: 'replySound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Reply)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'favSound',
|
||||
storage: 'favSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Fav)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'btSound',
|
||||
storage: 'btSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Boost)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'followSound',
|
||||
storage: 'followSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Follow)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
}
|
||||
]
|
||||
var postConstruction = [
|
||||
{
|
||||
id: 'cw-text',
|
||||
storage: 'cw-text',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 150,
|
||||
setValue: '',
|
||||
text: {
|
||||
head: 'Default warining text',
|
||||
desc: '',
|
||||
after: ''
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'cw_sentence',
|
||||
storage: 'cw_sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'lines above or' }
|
||||
},
|
||||
{
|
||||
id: 'cw_letters',
|
||||
storage: 'cw_letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'letters above' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Alert before posting a long toot.',
|
||||
desc: 'Show dialog whether you make too-long text hidden.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cws',
|
||||
storage: 'always-cw',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Always CW set',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw-continue',
|
||||
storage: 'cw-continue',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: '@@cwContinue@@',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'vis',
|
||||
storage: 'vis',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Default visibility',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Public',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Unlisted',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Private',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direct',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Memory(memorized as each server)',
|
||||
value: 'memory'
|
||||
},
|
||||
{
|
||||
text: 'Default of your visibility(Set on preferences of Mastodon server)',
|
||||
value: 'useapi'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img',
|
||||
storage: 'img',
|
||||
checkbox: true,
|
||||
setValue: 'no-act',
|
||||
text: {
|
||||
head: 'Posting images preferences',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Insert media URL',
|
||||
value: 'url'
|
||||
},
|
||||
{
|
||||
text: 'Insert nothig',
|
||||
value: 'no-act'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'box',
|
||||
storage: 'box',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Action of posting-box',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Folding',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Open after posting',
|
||||
value: 'no'
|
||||
},
|
||||
{
|
||||
text: 'Absolutely open',
|
||||
value: 'absolute'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'quote',
|
||||
storage: 'quote',
|
||||
checkbox: true,
|
||||
setValue: 'nothing',
|
||||
text: {
|
||||
head: 'Quote format',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Only URL',
|
||||
value: 'simple'
|
||||
},
|
||||
{
|
||||
text: 'URL and acct(mention to the user)',
|
||||
value: 'mention'
|
||||
},
|
||||
{
|
||||
text: 'URL, text and acct(mention to the user)',
|
||||
value: 'full'
|
||||
},
|
||||
{
|
||||
text: 'API(only some instances)',
|
||||
value: 'apiQuote',
|
||||
quote: true
|
||||
},
|
||||
{
|
||||
text: 'Disabled(Hide buttons on TLs)',
|
||||
value: 'nothing'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'main',
|
||||
storage: 'mainuse',
|
||||
checkbox: true,
|
||||
setValue: 'remain',
|
||||
text: {
|
||||
head: 'Default accounts of actions',
|
||||
desc: 'Main account can be set on Account Manager.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Account you used recently',
|
||||
value: 'remain'
|
||||
},
|
||||
{
|
||||
text: 'Main account',
|
||||
value: 'main'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'sec',
|
||||
storage: 'sec',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Secondary Toot Button',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Hidden',
|
||||
value: 'nothing'
|
||||
},
|
||||
{
|
||||
text: 'Public',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Unlisted',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Private',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direct',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Local Only',
|
||||
value: 'local',
|
||||
kirishima: true,
|
||||
kirishimaText: '非対応インスタンスでは「未収載」になります。'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'zero',
|
||||
storage: 'emoji-zero-width',
|
||||
checkbox: true,
|
||||
setValue: 'normal',
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Zero-width space when inserting emojis',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},{
|
||||
id: 'uploadCrop',
|
||||
storage: 'uploadCrop',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 100,
|
||||
setValue: '0',
|
||||
text: {
|
||||
head: 'Auto scale to fit',
|
||||
desc: 'Max long-side px. Uploaded images are converted to JPEG(from JPEG) or PNG(from others). Set 0 and the images will not be resized. Notice: if you post an animated picture like GIF, it will be converted static one.',
|
||||
after: 'px'
|
||||
}
|
||||
}
|
||||
]
|
|
@ -1,302 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="pt-BR">
|
||||
<head>
|
||||
<title>Update - TheDesk</title>
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans';
|
||||
-webkit-app-region: drag;
|
||||
cursor: move;
|
||||
padding: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#start {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100vw;
|
||||
height: calc(100vh - 2.5rem);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#checkbox {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
a,
|
||||
button,
|
||||
input,
|
||||
label,
|
||||
i {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
#updskip {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.skipbtn {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
border: 1px solid;
|
||||
margin-left: 5px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid #c26363;
|
||||
overflow: hidden;
|
||||
color: #c26363;
|
||||
margin-bottom: 5px;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.skipbtn:hover {
|
||||
background-color: #c26363;
|
||||
transition: all 0.3s ease-in-out;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#prog {
|
||||
font-size: 200%;
|
||||
}
|
||||
</style>
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" />
|
||||
<script>var pwa = false;</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
|
||||
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
|
||||
<!--a href="update.html">Reload</a-->
|
||||
<div id="start" style="filter: brightness(100%)">
|
||||
<div id="box" class="show">
|
||||
<h2>TheDesk</h2>
|
||||
<p>Obtenha o mais recente TheDesk</p>
|
||||
<span id="now"></span>→<b id="ver"></b><br />
|
||||
<a href="" id="github" class="btn waves-effect grey darken-1"><i class="fab fa-github left"></i>Quais são as novidades?</a><br />
|
||||
<button class="waves-effect btn windows hide" onclick="update('install')" style="margin-left: 15px;">Instalador (Recomendado)</button>
|
||||
<button class="waves-effect btn windows hide" onclick="update('portable')" style="margin-left: 15px;">Portable ver.</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linux')" style="margin-left: 15px;">zip</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxdeb')" style="margin-left: 15px;">deb(Recommended on buntu, Debian)</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxsnap')" style="margin-left: 15px;">snap</button>
|
||||
<button class="waves-effect btn mac hide" onclick="update('mac')" style="margin-left: 15px;">Começar</button>
|
||||
<br />
|
||||
Alguns problemas?<br />Please download on <a href='https://thedesk.top'>Oficial HP</a>.
|
||||
</div>
|
||||
<div id="skipper" class="hide">
|
||||
<h4>Ignorar esta atualização</h4>
|
||||
Você pode perder uma experiência legal!<br />
|
||||
<div id="updskip">
|
||||
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>Hidden until next TL loading</div>
|
||||
</a>
|
||||
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>Oculto até a próxima versão</div>
|
||||
</a>
|
||||
</div>
|
||||
<a class="pointer waves-effect" onclick="skipper();" style="margin-top: 5px;">Continuar atualizando</a>
|
||||
</div>
|
||||
<div id="dlnow" class="hide" style="width: 70%;">
|
||||
<h4>Baixando...</h4>
|
||||
<h4 id="prog"></h4>
|
||||
<div class="progress">
|
||||
<div class="determinate" style="width: 0%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script>
|
||||
function skipper() {
|
||||
$('#dlnow').addClass('hide')
|
||||
$('#box').toggleClass('show')
|
||||
if ($('#box').hasClass('hide') && $('#skipper').hasClass('hide')) {
|
||||
$('#skipper').removeClass('hide')
|
||||
$('#skipper').addClass('show')
|
||||
} else {
|
||||
$('#box').toggleClass('hide')
|
||||
$('#skipper').toggleClass('hide')
|
||||
$('#skipper').toggleClass('show')
|
||||
}
|
||||
}
|
||||
verck()
|
||||
function update(sel) {
|
||||
$('#box').toggleClass('show')
|
||||
$('#box').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('show')
|
||||
$('#prog').text('')
|
||||
var bit = localStorage.getItem('bit')
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
if (sel == 'install') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup.exe'
|
||||
}
|
||||
var filesize = json.winx64_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32_size
|
||||
}
|
||||
} else if (sel == 'portable') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '.exe'
|
||||
} else {
|
||||
var file = 'TheDesk.exe'
|
||||
}
|
||||
var filesize = json.winx64p_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32p_size
|
||||
}
|
||||
} else if (sel == 'linux') {
|
||||
var url = json['linuxx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'thedesk-' + json.unique_linux + '.zip'
|
||||
} else {
|
||||
var file = 'thedesk.zip'
|
||||
}
|
||||
var filesize = json.linuxx64_size
|
||||
} else if (sel == 'linuxdeb') {
|
||||
var url = json['linuxdeb']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.deb'
|
||||
var filesize = json.linuxdeb_size
|
||||
} else if (sel == 'linuxsnap') {
|
||||
var url = json['linuxsnap']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.snap'
|
||||
var filesize = json.linuxsnap_size
|
||||
} else if (sel == 'mac') {
|
||||
var url = json['mac']
|
||||
var file = 'TheDesk-' + json.unique_mac + '.dmg'
|
||||
var filesize = json.mac_size
|
||||
}
|
||||
postMessage(['downloadButton', [url, file, filesize]], '*')
|
||||
})
|
||||
}
|
||||
function quit() {
|
||||
postMessage(['sendSinmpleIpc', 'quit'], '*')
|
||||
}
|
||||
function updateProg(arg) {
|
||||
$('.determinate').css('width', arg[0].percent * 100 + '%')
|
||||
$('#prog').html(`${Math.floor(arg[0].percent * 100)}%<br />(${Math.floor(arg[0].percent*arg[1]/1024/1024*10)/10} MB / ${Math.floor(arg[1]/1024/1024*10)/10} MB)`)
|
||||
|
||||
}
|
||||
function updateMess(arg) {
|
||||
console.log(arg)
|
||||
$('#prog').text(arg)
|
||||
}
|
||||
function verck() {
|
||||
var platform = localStorage.getItem('platform')
|
||||
var bit = localStorage.getItem('bit')
|
||||
if (platform == 'win32') {
|
||||
$('.windows').removeClass('hide')
|
||||
} else if (platform == 'linux') {
|
||||
$('.linux').removeClass('hide')
|
||||
} else if (platform == 'darwin') {
|
||||
$('.mac').removeClass('hide')
|
||||
}
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
console.log(json)
|
||||
if (platform == 'win32') {
|
||||
$('#ver').text(json.desk)
|
||||
localStorage.setItem('next-ver', json.desk)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique
|
||||
} else if (platform == 'linux') {
|
||||
$('#ver').text(json.desk_linux)
|
||||
localStorage.setItem('next-ver', json.desk_linux)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_linux
|
||||
} else if (platform == 'darwin') {
|
||||
$('#ver').text(json.desk_mac)
|
||||
localStorage.setItem('next-ver', json.desk_mac)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_mac
|
||||
}
|
||||
|
||||
$('#github').attr('href', url)
|
||||
|
||||
$('#now').text(localStorage.getItem('ver'))
|
||||
})
|
||||
}
|
||||
function nextv() {
|
||||
localStorage.setItem('new-ver-skip', 'true')
|
||||
window.close()
|
||||
}
|
||||
function enc(ver) {
|
||||
var ver = ver.replace(/\s/g, '')
|
||||
var ver = ver.replace(/\(/g, '-')
|
||||
var ver = ver.replace(/\)/g, '')
|
||||
var ver = ver.replace(/\[/g, '_')
|
||||
var ver = ver.replace(/\]/g, '')
|
||||
return ver
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,154 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ru-RU">
|
||||
<head>
|
||||
<title>Account Manager - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport" />
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link
|
||||
href="../../node_modules/materialize-css/dist/css/materialize.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/tl.css" rel="stylesheet" type="text/css" />
|
||||
<link href="../../css/userdata.css" rel="stylesheet" type="text/css" />
|
||||
<link
|
||||
href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/acct.css" rel="stylesheet" type="text/css" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<script>var pwa = false;</script> <script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/materialize-css/dist/js/materialize.js"
|
||||
></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"
|
||||
></script>
|
||||
<script>
|
||||
var misskeytoken = false
|
||||
</script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<div class="hide-first">
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"
|
||||
>Назад</a
|
||||
><br />
|
||||
<h5>Список аккаунтов</h5>
|
||||
<div id="acct-list"></div>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
<div class="hide-second">
|
||||
<a href="setting.html">Having the exported file of TheDesk, click here to jump setting page</a>
|
||||
</div>
|
||||
<div>
|
||||
<h5>Добавьте аккаунт</h5>
|
||||
<br />
|
||||
<div id="add">
|
||||
<div class="row">
|
||||
<div class="col s8">
|
||||
Fill the instance domain (like mastodon.social)<br />
|
||||
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp" />
|
||||
<div id="ins-suggest"></div>
|
||||
<button class="btn waves-effect" onclick="instance()">Login</button><br />
|
||||
<div class="pwa">
|
||||
Uncheck it to skip pasiting code.(login to Mastodon on Windows or macOS) (Recommended: pcheck)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="linux" />
|
||||
<span>Настройка кода</span>
|
||||
</label>
|
||||
<br />
|
||||
</div>
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="misskey" />
|
||||
<span>Login as Misskey</span> </label
|
||||
><br />
|
||||
</div>
|
||||
<div class="col s4 scr" aria-hidden="true">
|
||||
<span style="font-family:Open Sans;">Supports</span>
|
||||
<div id="support" class="collection transparent"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="auth" style="display:none">
|
||||
Вставьте код и закройте браузер.<br />
|
||||
<input type="text" id="code" placeholder="Код" required />
|
||||
<button class="btn waves-effect" onclick="code()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup()" class="pointer">Use access token to login(click after fill not code but access-token in box: Advanced)</a>
|
||||
<div id="compt" style="display:none" class="scr">
|
||||
<h5>ログイン前に必ずご確認ください</h5>
|
||||
<span id="compt-instance"></span>はバージョンが<span id="compt-ver"></span
|
||||
>のため以下の機能がご利用いただけません。
|
||||
<span id="compt-warn" style="display:none"
|
||||
>また、このインスタンスはMastodonではなくそのAPI上の互換実装であり、TheDeskでは利用を想定していないため非保証となります。</span
|
||||
>
|
||||
<ul id="compt-list"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="misskeylogin" style="display:none">
|
||||
<h5>AppSecret</h5>
|
||||
Read <a href="https://thedesk.top/how-to-misskey-login.html">Docs(ja)</a> to login Misskey.<br />
|
||||
<input type="hidden" id="misskey-url" />
|
||||
<input type="text" id="misskey-key" placeholder="Код" required />
|
||||
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup('misskey')" class="pointer">Use access token to login(click after fill not code but access-token in box: Advanced)</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hide-first">
|
||||
<h5>Основной аккаунт</h5>
|
||||
<div class="input-field" style="width:300px">
|
||||
<span data-trans="your_acct">Выберите аккаунт</span>
|
||||
<br />
|
||||
<select
|
||||
id="main-acct-sel"
|
||||
class="acct-sel"
|
||||
style="color:black"
|
||||
onchange="mainacct()"
|
||||
></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<ul id="domain-list" class="collection transparent"></ul>
|
||||
<div id="instance-data">
|
||||
Some instance data by
|
||||
<a href="https://instances.social" target="_blank">instances.social API</a><br />
|
||||
<h5 id="ins-title"></h5>
|
||||
Administered by:<a id="ins-admin"></a><br />
|
||||
<span id="ins-desc"></span><br />
|
||||
<img src="../../img/loading.svg" id="ins-prof" width="200" /><br />
|
||||
<br />
|
||||
Домен:<span id="ins-name"></span><br />
|
||||
Федеративные серверы:<span id="ins-connect"></span><br />
|
||||
Toots:<span id="ins-toot"></span><br />
|
||||
Пользователи:<span id="ins-user"></span>Пользователи<br />
|
||||
Подключение:<span id="ins-per"></span>%<br />
|
||||
Версия Mastodon:<span id="ins-ver"></span>@<span id="ins-upd"></span><br />
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/tips.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/sha256.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/instance.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/manager.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
||||
<script>$('body').addClass(localStorage.getItem('platform'))</script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -1,632 +0,0 @@
|
|||
<!doctype html>
|
||||
<html lang="ru-RU" style="overflow-y:scroll">
|
||||
|
||||
<head>
|
||||
<title>Settings - TheDesk</title>
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
input {
|
||||
max-height: 3.84rem !important
|
||||
}
|
||||
|
||||
.pcr-result {
|
||||
height: 1rem !important;
|
||||
}
|
||||
|
||||
.container-after-titlebar {
|
||||
padding: 20px;
|
||||
}
|
||||
</style>
|
||||
<script>var pwa = false;</script>
|
||||
<script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" style="overflow-y:scroll" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script src="../../node_modules/json5/dist/index.min.js"></script>
|
||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
|
||||
<script type="text/javascript" src="setting.vue.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>function renderMem() { return false; }</script>
|
||||
|
||||
<h4>Предпочтения</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">desktop_windows</i>Системные настройки
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Языки</h5>
|
||||
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br><br>
|
||||
<div style="display: flex;">
|
||||
<div style="width: 22rem;" id="langsel">
|
||||
<select id="langsel-sel"><option value="ja">日本語</option><option value="ja-KS">日本語(関西)</option><option value="en">English</option><option value="bg">български</option><option value="cs">Česky</option><option value="de">Deutsch</option><option value="es-AR">Español, argentina</option><option value="it-IT">italiano</option><option value="zh-CN">简体中文</option><option value="zh-TW">繁體中文(β)</option><option value="fr-FR">français(β)</option><option value="no-NO">norsk(β)</option><option value="pt-BR">Português, brasileiro(β)</option><option value="ru-RU">русский(β)</option><option value="es-ES">Español(β)</option><option value="ps">Crowdin translate system(beta)</option></select>
|
||||
</div>
|
||||
<button class="btn waves-effect" onclick="changeLang()">Изменить</button>
|
||||
</div>
|
||||
<h5>Импорт и экспорт предпочтений</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
|
||||
style="width:100%; max-width:15rem;">Экспорт</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3"
|
||||
style="width:100%; max-width:15rem;">Импорт</button><br>
|
||||
If you got a error when you choose the file, please paste the strings printed when you open the file and click import<br>
|
||||
<input type="text" id="imp-exp" style="width: 22rem">
|
||||
<div id="envView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||
class="pointer">Проверка уведомлений</a><br></template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Изменить</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Шрифт</h5>
|
||||
Select your favorite font to 'Select'(Windows/ macOS only)<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="font()">Выбрать</button><br>
|
||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:22rem; height:40rem;"></div>
|
||||
<br>
|
||||
<input type="text" style="width:11.5rem" id="font">
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="settings()">Сохранить</button>
|
||||
<br>
|
||||
<h5>Папка для сохранения</h5>
|
||||
TheDesk использует это значение, когда он пытается сохранить фотографии или сделать скриншоты.<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="savefolder()">Изменить</button>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li class="pwa">
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">color_lens</i>Темы
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h4>Выбрать тему</h4>
|
||||
<div style="width:22rem" id="sel-selector">
|
||||
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||
</div>
|
||||
<h4>Редактировать и добавить пользовательские темы</h4>
|
||||
<div style="width:22rem" id="edit-selector" data-add="Добавить новое">
|
||||
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||
<option value="add_new">Добавить новое</option>
|
||||
</select>
|
||||
</div>
|
||||
<h5>Имя</h5>
|
||||
<input type="text" style="width:22rem" id="custom_name" placeholder="Имя...">
|
||||
<h5>Об этой теме</h5>
|
||||
<div class="input-field"><textarea style="width:22rem" id="custom_desc" class="materialize-textarea"
|
||||
placeholder="Об этой теме..."></textarea></div>
|
||||
<h5>Цветная схема</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="dark" value="dark"
|
||||
checked="true" />
|
||||
<span>Dark</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="light"
|
||||
value="light" />
|
||||
<span>Light</span>
|
||||
</label><br><br />
|
||||
<button class="btn waves-effect" onclick="advanced()">Дополнительные параметры (6 дополнительных цветов)</button>
|
||||
<span class="advanced hide"></span>
|
||||
<div id="pickers">
|
||||
<div>
|
||||
<h5>Background</h5>Background color<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_0" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker0_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Text</h5>Цвет текста<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_1" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker1_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Subcolor</h5>Подцвет, имеет гармонию с вторичным цветом<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_2" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker2_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Accent</h5>Background of boosts<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_3" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker3_value">
|
||||
</div>
|
||||
|
||||
<div class="advanced hide">
|
||||
<h5>Modal</h5>Background of modal window<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_4" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('background','modal')">Background</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker4_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Modal Footer</h5>Background of modal window's footer<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_5" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('background','modalFooter')">Background</a>/
|
||||
<a class="pointer" onclick="copyColor('modal','modalFooter')">Modal</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker5_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>3rd Color</h5>Backgroud of tag buttons, etc(near to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_6" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','third')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker6_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>4th Color</h5>Title bar(same scheme to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_7" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','forth')">Subcolor</a>/
|
||||
<a class="pointer" onclick="copyColor('third','forth')">3rd Color</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker7_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Bottom</h5>Фон нижней панели<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_8" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','bottom')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker8_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>2nd Accent</h5>Emphasized toot's background<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_9" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('accent','emphasized')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker9_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Postbox</h5>Background of post-box and menu<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_10" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','postbox')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker10_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Active</h5>Background of 'active' elements<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_11" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('accent','active')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker11_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected</h5>Background of selected with arrow keys<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_12" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker12_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected with shared</h5>Background of selected with arrow keys(boosted toots)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_13" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker13_value">
|
||||
</div>
|
||||
</div><br /><br />
|
||||
<button class="btn-large waves-effect" onclick="customComp()">Изменить</button> <button
|
||||
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">Delete</button><br><br>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_json" class="materialize-textarea"
|
||||
placeholder="JSON style" readonly><br>
|
||||
<h4>Импорт пользовательских тем</h4>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_import" class="materialize-textarea"
|
||||
placeholder="JSON/JSON5 style">
|
||||
<button class="btn waves-effect" onclick="customImp()">Импорт</button><br>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">reorder</i>Настройки хронологии
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="tlView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Изменить</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Пользовательский звук</h5>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span
|
||||
id="c1-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span
|
||||
id="c2-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span
|
||||
id="c3-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span
|
||||
id="c4-file"></span><br>
|
||||
<h5>Volume</h5>
|
||||
0-100(default:80)<br>
|
||||
<p class="range-field"><span id="soundVolVal">80</span><br>
|
||||
<input type="range" id="soundvol" min="0" max="100" value="80" onchange="customVol()"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">send</i>Настройки публикации
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="postView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<template
|
||||
v-if="(!check.kirishima || (check.kirishima && kirishima) )&& (!check.quote || (check.quote && quoters))">
|
||||
<label><input class="with-gap" v-on:click="complete(i,check.value)"
|
||||
v-model="item.setValue" type="radio" v-bind:id="item.id+check.value"
|
||||
v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span></label>
|
||||
<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
|
||||
</template>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Изменить</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Easy inserter</h5>
|
||||
You can insert any letters and emojis with only 3 keys<br>
|
||||
Ctrl+Shift+1:<input type="text" style="width:11.5rem" id="oks-1">
|
||||
<button onclick="oks(1)" class="btn waves-effect" style="width:7.7rem;">Сохранить</button><br><br>
|
||||
Ctrl+Shift+2:<input type="text" style="width:11.5rem" id="oks-2">
|
||||
<button onclick="oks(2)" class="btn waves-effect" style="width:7.7rem;">Сохранить</button><br><br>
|
||||
Ctrl+Shift+3:<input type="text" style="width:11.5rem" id="oks-3">
|
||||
<button onclick="oks(3)" class="btn waves-effect" style="width:7.7rem;">Сохранить</button><br><br>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<img src="../../img/aiscript.svg"
|
||||
style="height: 1.5rem; margin-left: 0.4rem; margin-right: 0.4rem;">Plugins
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<a href="https://github.com/cutls/TheDesk/blob/master/plugin.md">Japanese docs of AiScript TheDesk plugins</a><br />
|
||||
<textarea id="plugin" data-id="add_new" style="height: 20rem"></textarea>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="completePlugin()">Изменить</button>
|
||||
<button class="btn waves-effect red disabled plugin_delete" style="width:7.7rem;"
|
||||
onclick="deletePlugin()">Delete</button>
|
||||
<h5>Plugin list</h5>
|
||||
<div style="width:22rem" id="plugin-selector" data-add="Добавить новое">
|
||||
<select id="plugin-edit-sel" class="custom-sel" onchange="pluginEdit()">
|
||||
<option value="add_new">Добавить новое</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">bookmark</i>Mute & Emphasis Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Client Mute</h5>
|
||||
<div id="mute-cli"></div>
|
||||
<h5>Client Emphasis</h5>
|
||||
Click client name on toots to toggle mute and emphasis.
|
||||
<h5>Words Mute</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordmute" style="background-color:gray;"></div>
|
||||
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:7.7rem;">Сохранить</button>
|
||||
<h5>Words Emphasis</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordemp" style="background-color:gray;"></div>
|
||||
<button onclick="wordempSave()" class="btn waves-effect" style="width:7.7rem;">Сохранить</button>
|
||||
<h5>Users Emphasis</h5>
|
||||
Set on users data modals.
|
||||
<span class="emphasized"> Use this color to emphasis </span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="fab fa-spotify"></i>Spotify and NowPlaying Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Account Connection(Spotify)</h5>
|
||||
TheDesk save your data on thedesk.top server.<br>
|
||||
<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
|
||||
onclick="spotifyAuth()" class="btn waves-effect" style="width:7.7rem;">Сохранить</button></div>
|
||||
<a onclick="spotifyConnect()" class="btn waves-effect nex"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-enable"><i
|
||||
class="fab fa-spotify left"></i>Connect</a>
|
||||
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-disable"><i
|
||||
class="fab fa-spotify left"></i>Disconnect</a>
|
||||
<h5>Account Connection(Last.fm)</h5>
|
||||
User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.<br />
|
||||
<input type="text" style="width:11.5rem" id="lastFmUser">
|
||||
<button onclick="lastFmSet()" class="btn waves-effect" style="width:7.7rem;">Сохранить</button>
|
||||
<h5>Edit a template</h5>
|
||||
<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
|
||||
<span class="mac">>macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}</span><br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:7.7rem;">Сохранить</button>
|
||||
<h5>Attach an Artwork of Spotify</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
|
||||
value="yes" />
|
||||
<span>Да</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
|
||||
value="no" />
|
||||
<span>Нет</span>
|
||||
</label>
|
||||
<div class="mac">
|
||||
<h5>If the song has no artwork, automatic complete it(macOS)</h5>
|
||||
If you nowplaying an non-artwork song, get one which seems nice through API. If you do not like the completed artwork, you can right-click it to delete.<br />
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_yes"
|
||||
value="yes" />
|
||||
<span>Да</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_no"
|
||||
value="no" />
|
||||
<span>Нет</span>
|
||||
</label>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">hearing</i>TTS(text to speech) Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>BouyomiChan connect</h5>
|
||||
Require: BouyomiChan WebSocket Plugin<a href="https://github.com/xztaityozx/BouyomiChan-WebSocket-Plugin"
|
||||
target="_blank">GitHub</a><br>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_yes"
|
||||
value="yes" />
|
||||
<span>Да</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_no" value="no" />
|
||||
<span>Нет</span>
|
||||
</label>
|
||||
<h5>Speed</h5>
|
||||
1-100(default:10)<br>
|
||||
<p class="range-field"><span id="voicespeedVal">10</span><br>
|
||||
<input type="range" id="voicespeed" min="1" max="100" value="10"
|
||||
onchange="document.getElementById('voicespeedVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Pitch</h5>
|
||||
0-100(default:50)<br>
|
||||
<p class="range-field"><span id="voicepitchVal">50</span><br>
|
||||
<input type="range" id="voicepitch" min="0" max="100" value="50"
|
||||
onchange="document.getElementById('voicepitchVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Volume</h5>
|
||||
0-100(default:100)<br>
|
||||
<p class="range-field"><span id="voicevolVal">100</span><br>
|
||||
<input type="range" id="voicevol" min="0" max="100" value="100"
|
||||
onchange="document.getElementById('voicevolVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Test</h5>
|
||||
<input type="text" style="width:27rem" id="voicetxt" value="TheDesk is an open-source Mastodon client for PC.">
|
||||
<button class="btn waves-effect blue" style="width:11.5rem;" onclick="voicePlay()"
|
||||
id="testplay">Play/Stop</button><br>
|
||||
<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="voiceSettings()">Сохранить</button>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:15rem;"><i
|
||||
class="material-icons left">undo</i>Назад</a>
|
||||
<br>
|
||||
<br>Keyboard shortcuts
|
||||
<li>Ctrl+1-9:Jump to n(1-9)th column</li>
|
||||
<li>N:Open toot box</li>
|
||||
<li>X:Toggle toot box</li>
|
||||
<li>Ctrl+Enter:Post</li>
|
||||
<li>Ctrl+Enter+Shift:Post(secondary toot)</li>
|
||||
<li>Alt+Enter:Secondary Toot Button</li>
|
||||
<li>Ctrl+E:Make all notifications read</li>
|
||||
<li>Ctrl+U:Select the top & left(No.1 column) toot</li>
|
||||
<li>Esc:Hide toot box</li>
|
||||
<li>F5:Super Reload</li>
|
||||
<li>Ctrl+Shift+C:Clear toot box</li>
|
||||
<li>Ctrl+Shift+S:Предпочтения</li>
|
||||
<li>Ctrl+Shift+M:Account Manager</li>
|
||||
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
|
||||
<li>Ctrl+Shift+P:Show profile of selecting</li>
|
||||
<li>←/→:Show next or previous image</li>
|
||||
<li>Mousewheel:Zoom a image</li>
|
||||
<div class="hide kirishima">
|
||||
以下Markdownに対応したインスタンスのみ。
|
||||
<br>
|
||||
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
|
||||
When a toot is selected:
|
||||
<li>F:Favourite this toot</li>
|
||||
<li>B:Boost this toot</li>
|
||||
<li>R:Reply to this toot</li>
|
||||
</div>
|
||||
<button class="btn waves-effect red" style="width:100%; max-width:40rem;"
|
||||
onclick="if(confirm('Delete all data. You cannot undo. Continue?')){ localStorage.clear(); location.href='index.html'; }"><i
|
||||
class="material-icons left">delete</i>Reset(Danger)</button><br><br>
|
||||
<button class="btn waves-effect indigo pwa" onclick="about()" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">info</i>О TheDesk</button>
|
||||
<a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">web</i>Website</a>
|
||||
<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Support(Pixiv FANBOX)</a>
|
||||
<a href="https://www.patreon.com/cutls" class="btn waves-effect red darken-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Support(Patreon)</a>
|
||||
<a href="https://liberapay.com/cutls" class="btn waves-effect black-text"
|
||||
style="width:100%; max-width:40rem; background-color: #f6c915"><i
|
||||
class="material-icons left">trending_up</i>Support(Liberapay)</a>
|
||||
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">list</i>Help/Docs</a>
|
||||
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="fab fa-github left"></i>GitHub</a>
|
||||
<a href="index.html?mode=user&code=Cutls@cutls.com" class="btn waves-effect blue lighten-2"
|
||||
style="width:100%; max-width:40rem;"><img src="../../img/desk_full.svg" class="left" width="25"
|
||||
style="padding-top:5px;">Main author: Cutls@cutls.com</a>
|
||||
<br>
|
||||
TheDesk @ <a href="https://github.com/cutls/TheDesk/commits/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c">89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c</a> - <a
|
||||
onclick="checkupd(); return localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||
class="pointer pwa">Check update</a><br>
|
||||
<br>
|
||||
Kyash<br>
|
||||
<img src="../../img/kyash.png" width="100"><br>
|
||||
<a href="https://status.cutls.com/">
|
||||
<img src="https://status.cutls.com/badge-service?site=thedesk.top">
|
||||
</a><br>
|
||||
<h5>OSS License</h5>
|
||||
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fcutls%2FTheDesk/refs/branch/master/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c"
|
||||
alt="FOSSA Status"><img
|
||||
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcutls%2FTheDesk.svg?type=small" /></a>
|
||||
<br>
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||
href="https://thedesk.top/priv.html">Privacy
|
||||
Policy</a>
|
||||
<br>
|
||||
</span><br>
|
||||
TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br>
|
||||
タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/aiscript.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/plugin.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/logout.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
|
@ -1,756 +0,0 @@
|
|||
var yesno = [
|
||||
{
|
||||
text: 'Да',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Нет',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
var sound = [
|
||||
{
|
||||
text: 'None',
|
||||
value: 'none'
|
||||
},
|
||||
{
|
||||
text: 'Default',
|
||||
value: 'default'
|
||||
},
|
||||
{
|
||||
text: 'Custom 1',
|
||||
value: 'c1'
|
||||
},
|
||||
{
|
||||
text: 'Custom 2',
|
||||
value: 'c2'
|
||||
},
|
||||
{
|
||||
text: 'Custom 3',
|
||||
value: 'c3'
|
||||
},
|
||||
{
|
||||
text: 'Custom 4',
|
||||
value: 'c4'
|
||||
}
|
||||
]
|
||||
var envConstruction = [
|
||||
{
|
||||
id: 'popup',
|
||||
storage: 'popup',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Всплывающие уведомления (на Windows)',
|
||||
desc: 'Скрыть для установки "0"',
|
||||
after: 'сек'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notf',
|
||||
storage: 'nativenotf',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Native notification',
|
||||
desc: 'Это не работает на Windows Portable.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'width',
|
||||
storage: 'width',
|
||||
width: 50,
|
||||
setValue: 300,
|
||||
text: { after: 'px ~ ' }
|
||||
},
|
||||
{
|
||||
id: 'maxWidth',
|
||||
storage: 'max-width',
|
||||
width: 50,
|
||||
setValue: 600,
|
||||
text: { after: 'px' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Width of columns',
|
||||
desc: 'Scroll bar will be shown when your window size is more than ammounts of columns.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'margin',
|
||||
storage: 'margin',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Margin between timelines',
|
||||
desc: '',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'fixwidth',
|
||||
storage: 'fixwidth',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 300,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Минимальная ширина браузера TweetDeck',
|
||||
desc: '',
|
||||
after: 'px above'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'size',
|
||||
storage: 'size',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 50,
|
||||
setValue: 13,
|
||||
text: {
|
||||
head: 'Размер шрифта',
|
||||
desc: '<span style="font-size:13px">13px(абсолютное значение)</span>',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ha',
|
||||
storage: 'ha',
|
||||
checkbox: true,
|
||||
setValue: false,
|
||||
text: {
|
||||
head: 'Отключить аппаратное ускорение',
|
||||
desc: 'Автоперезапуск',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Да',
|
||||
value: 'true'
|
||||
},
|
||||
{
|
||||
text: 'Нет',
|
||||
value: 'false'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ua',
|
||||
storage: 'ua_setting',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: '',
|
||||
width: 200,
|
||||
text: {
|
||||
head: 'User agent',
|
||||
desc: 'Перезапустить, когда изменилось'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'srcUrl',
|
||||
storage: 'srcUrl',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 200,
|
||||
setValue: 'https://google.com/search?q={q}',
|
||||
text: {
|
||||
head: 'Search engine',
|
||||
desc: '{q} will be replaced to query.',
|
||||
after: ''
|
||||
}
|
||||
},{
|
||||
id: 'download',
|
||||
storage: 'dl-win',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Versioning(o Windows downloader)',
|
||||
desc: 'ex: TheDesk-1.0.0-setup.exe',
|
||||
checkbox: yesno
|
||||
}
|
||||
}
|
||||
]
|
||||
var tlConstruction = [
|
||||
{
|
||||
id: 'time',
|
||||
storage: 'datetype',
|
||||
checkbox: true,
|
||||
setValue: 'absolute',
|
||||
text: {
|
||||
head: 'Формат времени',
|
||||
desc: 'Относительный формат:"1 минут назад","3 дня назад"<br>Absolute format:"23:25:21","2017/12/30 23:59:00"<br>Mixed format:toots posted today are relative-format, others are absolute-format.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Relative',
|
||||
value: 'relative'
|
||||
},
|
||||
{
|
||||
text: 'Absolute',
|
||||
value: 'absolute'
|
||||
},
|
||||
{
|
||||
text: 'Both relative and absolute',
|
||||
value: 'double'
|
||||
},
|
||||
{
|
||||
text: 'Mixed',
|
||||
value: 'medium'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ul',
|
||||
storage: 'locale',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Server\s unique locale',
|
||||
desc: 'This value is available on some Japanese servers',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'nsfw',
|
||||
storage: 'nsfw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide Mark sensitive pictures',
|
||||
desc: 'Strong blur effect',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw',
|
||||
storage: 'cw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide CW contents',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'rp',
|
||||
storage: 'replyct',
|
||||
checkbox: true,
|
||||
setValue: 'hidden',
|
||||
text: {
|
||||
head: 'Reply counter style',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Show 1+ if the replies are more than 1.',
|
||||
value: 'hidden'
|
||||
},
|
||||
{
|
||||
text: 'Show full count(1,2...)',
|
||||
value: 'all'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'gif',
|
||||
storage: 'gif',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animated GIF images animation',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'tag',
|
||||
storage: 'tag-range',
|
||||
checkbox: true,
|
||||
setValue: 'local',
|
||||
text: {
|
||||
head: 'Tag TL Search',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Use federated network',
|
||||
value: 'all'
|
||||
},
|
||||
{
|
||||
text: 'Use local network',
|
||||
value: 'local'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'via',
|
||||
storage: 'viashow',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Show via',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'mov',
|
||||
storage: 'mouseover',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Hide action buttons without mouseover',
|
||||
desc: 'You may feel \mouseover\ is unconfortable:(',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Mouseover to show',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Нажмите, чтобы показать',
|
||||
value: 'click'
|
||||
},
|
||||
{
|
||||
text: 'Нет',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notfm',
|
||||
storage: 'setasread',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Show Notification marker, red colored bell and counter(if you show a notification column.)',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'sentence',
|
||||
storage: 'sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'lines above или' }
|
||||
},
|
||||
{
|
||||
id: 'letters',
|
||||
storage: 'letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'letters above' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Auto folding',
|
||||
desc: 'TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img-height',
|
||||
storage: 'img-height',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 80,
|
||||
setValue: 200,
|
||||
text: {
|
||||
head: 'Height of images',
|
||||
desc: 'Option:Set "full" to uncrop.',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ticker',
|
||||
storage: 'ticker_ok',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Enable OpenSticker',
|
||||
desc: 'Show the instance name and favicon of tooters <a href="https://opensticker.0px.io">About OpenSticker</a>',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'anime',
|
||||
storage: 'animation',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animation of timelines',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'markers',
|
||||
storage: 'markers',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Markers(mark as read) on HTL and notifications',
|
||||
desc: 'Mastodon 3.0~. Shared on WebUI and third-party supported clients.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'remote_img',
|
||||
storage: 'remote_img',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Get images from the remote server',
|
||||
desc: 'All previews are got from your loginned cache server.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'bkm',
|
||||
storage: 'bookmark',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Show a bookmarking toot button',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'scroll',
|
||||
storage: 'scroll',
|
||||
checkbox: true,
|
||||
setValue: 'normalScrollBar',
|
||||
text: {
|
||||
head: 'Height of the scroll bar',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Thick',
|
||||
value: 'thickScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Normal',
|
||||
value: 'normalScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Thin',
|
||||
value: 'thinScrollBar'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'replySound',
|
||||
storage: 'replySound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Звук (Ответить)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'favSound',
|
||||
storage: 'favSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Звук(Fav)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'btSound',
|
||||
storage: 'btSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Звук(Boost)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'followSound',
|
||||
storage: 'followSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Звук(Подписаться)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
}
|
||||
]
|
||||
var postConstruction = [
|
||||
{
|
||||
id: 'cw-text',
|
||||
storage: 'cw-text',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 150,
|
||||
setValue: '',
|
||||
text: {
|
||||
head: 'Default warining text',
|
||||
desc: '',
|
||||
after: ''
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'cw_sentence',
|
||||
storage: 'cw_sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'lines above или' }
|
||||
},
|
||||
{
|
||||
id: 'cw_letters',
|
||||
storage: 'cw_letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'letters above' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Alert before posting a long toot.',
|
||||
desc: 'Show dialog whether you make too-long text hidden.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cws',
|
||||
storage: 'always-cw',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Always CW set',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw-continue',
|
||||
storage: 'cw-continue',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: '@@cwContinue@@',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'vis',
|
||||
storage: 'vis',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Default visibility',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Public',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Unlisted',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Private',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direct',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Memory(memorized as each server)',
|
||||
value: 'memory'
|
||||
},
|
||||
{
|
||||
text: 'Default of your visibility(Set on preferences of Mastodon server)',
|
||||
value: 'useapi'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img',
|
||||
storage: 'img',
|
||||
checkbox: true,
|
||||
setValue: 'no-act',
|
||||
text: {
|
||||
head: 'Posting images preferences',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Insert media URL',
|
||||
value: 'url'
|
||||
},
|
||||
{
|
||||
text: 'Insert nothig',
|
||||
value: 'no-act'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'box',
|
||||
storage: 'box',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Action of posting-box',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Folding',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Open after posting',
|
||||
value: 'no'
|
||||
},
|
||||
{
|
||||
text: 'Absolutely open',
|
||||
value: 'absolute'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'quote',
|
||||
storage: 'quote',
|
||||
checkbox: true,
|
||||
setValue: 'nothing',
|
||||
text: {
|
||||
head: 'Quote format',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Only URL',
|
||||
value: 'simple'
|
||||
},
|
||||
{
|
||||
text: 'URL and acct(mention to the user)',
|
||||
value: 'mention'
|
||||
},
|
||||
{
|
||||
text: 'URL, text and acct(mention to the user)',
|
||||
value: 'full'
|
||||
},
|
||||
{
|
||||
text: 'API(only some instances)',
|
||||
value: 'apiQuote',
|
||||
quote: true
|
||||
},
|
||||
{
|
||||
text: 'Disabled(Hide buttons on TLs)',
|
||||
value: 'nothing'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'main',
|
||||
storage: 'mainuse',
|
||||
checkbox: true,
|
||||
setValue: 'remain',
|
||||
text: {
|
||||
head: 'Default accounts of actions',
|
||||
desc: 'Main account can be set on Account Manager.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Account you used recently',
|
||||
value: 'remain'
|
||||
},
|
||||
{
|
||||
text: 'Main account',
|
||||
value: 'main'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'sec',
|
||||
storage: 'sec',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Secondary Toot Button',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Hidden',
|
||||
value: 'nothing'
|
||||
},
|
||||
{
|
||||
text: 'Public',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Unlisted',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Private',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direct',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Local Only',
|
||||
value: 'local',
|
||||
kirishima: true,
|
||||
kirishimaText: '非対応インスタンスでは「未収載」になります。'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'zero',
|
||||
storage: 'emoji-zero-width',
|
||||
checkbox: true,
|
||||
setValue: 'normal',
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Zero-width space when inserting emojis',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},{
|
||||
id: 'uploadCrop',
|
||||
storage: 'uploadCrop',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 100,
|
||||
setValue: '0',
|
||||
text: {
|
||||
head: 'Auto scale to fit',
|
||||
desc: 'Max long-side px. Uploaded images are converted to JPEG(from JPEG) or PNG(from others). Set 0 and the images will not be resized. Notice: if you post an animated picture like GIF, it will be converted static one.',
|
||||
after: 'px'
|
||||
}
|
||||
}
|
||||
]
|
|
@ -1,302 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ru-RU">
|
||||
<head>
|
||||
<title>Update - TheDesk</title>
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans';
|
||||
-webkit-app-region: drag;
|
||||
cursor: move;
|
||||
padding: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#start {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100vw;
|
||||
height: calc(100vh - 2.5rem);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#checkbox {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
a,
|
||||
button,
|
||||
input,
|
||||
label,
|
||||
i {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
#updskip {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.skipbtn {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
border: 1px solid;
|
||||
margin-left: 5px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid #c26363;
|
||||
overflow: hidden;
|
||||
color: #c26363;
|
||||
margin-bottom: 5px;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.skipbtn:hover {
|
||||
background-color: #c26363;
|
||||
transition: all 0.3s ease-in-out;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#prog {
|
||||
font-size: 200%;
|
||||
}
|
||||
</style>
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" />
|
||||
<script>var pwa = false;</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
|
||||
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
|
||||
<!--a href="update.html">Reload</a-->
|
||||
<div id="start" style="filter: brightness(100%)">
|
||||
<div id="box" class="show">
|
||||
<h2>TheDesk</h2>
|
||||
<p>Get latest TheDesk</p>
|
||||
<span id="now"></span>→<b id="ver"></b><br />
|
||||
<a href="" id="github" class="btn waves-effect grey darken-1"><i class="fab fa-github left"></i>What is new?</a><br />
|
||||
<button class="waves-effect btn windows hide" onclick="update('install')" style="margin-left: 15px;">Installer(Recommended)</button>
|
||||
<button class="waves-effect btn windows hide" onclick="update('portable')" style="margin-left: 15px;">Portable ver.</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linux')" style="margin-left: 15px;">zip</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxdeb')" style="margin-left: 15px;">deb(Recommended on buntu, Debian)</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxsnap')" style="margin-left: 15px;">snap</button>
|
||||
<button class="waves-effect btn mac hide" onclick="update('mac')" style="margin-left: 15px;">Start</button>
|
||||
<br />
|
||||
Some problems?<br />Please download on <a href='https://thedesk.top'>Oficial HP</a>.
|
||||
</div>
|
||||
<div id="skipper" class="hide">
|
||||
<h4>Skip this update</h4>
|
||||
You may lose a cool experience!<br />
|
||||
<div id="updskip">
|
||||
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>Hidden until next TL loading</div>
|
||||
</a>
|
||||
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>Hidden until next version</div>
|
||||
</a>
|
||||
</div>
|
||||
<a class="pointer waves-effect" onclick="skipper();" style="margin-top: 5px;">Continue updating</a>
|
||||
</div>
|
||||
<div id="dlnow" class="hide" style="width: 70%;">
|
||||
<h4>Downloading...</h4>
|
||||
<h4 id="prog"></h4>
|
||||
<div class="progress">
|
||||
<div class="determinate" style="width: 0%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script>
|
||||
function skipper() {
|
||||
$('#dlnow').addClass('hide')
|
||||
$('#box').toggleClass('show')
|
||||
if ($('#box').hasClass('hide') && $('#skipper').hasClass('hide')) {
|
||||
$('#skipper').removeClass('hide')
|
||||
$('#skipper').addClass('show')
|
||||
} else {
|
||||
$('#box').toggleClass('hide')
|
||||
$('#skipper').toggleClass('hide')
|
||||
$('#skipper').toggleClass('show')
|
||||
}
|
||||
}
|
||||
verck()
|
||||
function update(sel) {
|
||||
$('#box').toggleClass('show')
|
||||
$('#box').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('show')
|
||||
$('#prog').text('')
|
||||
var bit = localStorage.getItem('bit')
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
if (sel == 'install') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup.exe'
|
||||
}
|
||||
var filesize = json.winx64_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32_size
|
||||
}
|
||||
} else if (sel == 'portable') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '.exe'
|
||||
} else {
|
||||
var file = 'TheDesk.exe'
|
||||
}
|
||||
var filesize = json.winx64p_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32p_size
|
||||
}
|
||||
} else if (sel == 'linux') {
|
||||
var url = json['linuxx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'thedesk-' + json.unique_linux + '.zip'
|
||||
} else {
|
||||
var file = 'thedesk.zip'
|
||||
}
|
||||
var filesize = json.linuxx64_size
|
||||
} else if (sel == 'linuxdeb') {
|
||||
var url = json['linuxdeb']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.deb'
|
||||
var filesize = json.linuxdeb_size
|
||||
} else if (sel == 'linuxsnap') {
|
||||
var url = json['linuxsnap']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.snap'
|
||||
var filesize = json.linuxsnap_size
|
||||
} else if (sel == 'mac') {
|
||||
var url = json['mac']
|
||||
var file = 'TheDesk-' + json.unique_mac + '.dmg'
|
||||
var filesize = json.mac_size
|
||||
}
|
||||
postMessage(['downloadButton', [url, file, filesize]], '*')
|
||||
})
|
||||
}
|
||||
function quit() {
|
||||
postMessage(['sendSinmpleIpc', 'quit'], '*')
|
||||
}
|
||||
function updateProg(arg) {
|
||||
$('.determinate').css('width', arg[0].percent * 100 + '%')
|
||||
$('#prog').html(`${Math.floor(arg[0].percent * 100)}%<br />(${Math.floor(arg[0].percent*arg[1]/1024/1024*10)/10} MB / ${Math.floor(arg[1]/1024/1024*10)/10} MB)`)
|
||||
|
||||
}
|
||||
function updateMess(arg) {
|
||||
console.log(arg)
|
||||
$('#prog').text(arg)
|
||||
}
|
||||
function verck() {
|
||||
var platform = localStorage.getItem('platform')
|
||||
var bit = localStorage.getItem('bit')
|
||||
if (platform == 'win32') {
|
||||
$('.windows').removeClass('hide')
|
||||
} else if (platform == 'linux') {
|
||||
$('.linux').removeClass('hide')
|
||||
} else if (platform == 'darwin') {
|
||||
$('.mac').removeClass('hide')
|
||||
}
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
console.log(json)
|
||||
if (platform == 'win32') {
|
||||
$('#ver').text(json.desk)
|
||||
localStorage.setItem('next-ver', json.desk)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique
|
||||
} else if (platform == 'linux') {
|
||||
$('#ver').text(json.desk_linux)
|
||||
localStorage.setItem('next-ver', json.desk_linux)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_linux
|
||||
} else if (platform == 'darwin') {
|
||||
$('#ver').text(json.desk_mac)
|
||||
localStorage.setItem('next-ver', json.desk_mac)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_mac
|
||||
}
|
||||
|
||||
$('#github').attr('href', url)
|
||||
|
||||
$('#now').text(localStorage.getItem('ver'))
|
||||
})
|
||||
}
|
||||
function nextv() {
|
||||
localStorage.setItem('new-ver-skip', 'true')
|
||||
window.close()
|
||||
}
|
||||
function enc(ver) {
|
||||
var ver = ver.replace(/\s/g, '')
|
||||
var ver = ver.replace(/\(/g, '-')
|
||||
var ver = ver.replace(/\)/g, '')
|
||||
var ver = ver.replace(/\[/g, '_')
|
||||
var ver = ver.replace(/\]/g, '')
|
||||
return ver
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,154 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<title>Account Manager - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport" />
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link
|
||||
href="../../node_modules/materialize-css/dist/css/materialize.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/tl.css" rel="stylesheet" type="text/css" />
|
||||
<link href="../../css/userdata.css" rel="stylesheet" type="text/css" />
|
||||
<link
|
||||
href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/acct.css" rel="stylesheet" type="text/css" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<script>var pwa = false;</script> <script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/materialize-css/dist/js/materialize.js"
|
||||
></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"
|
||||
></script>
|
||||
<script>
|
||||
var misskeytoken = false
|
||||
</script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<div class="hide-first">
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"
|
||||
>返回</a
|
||||
><br />
|
||||
<h5>已登录帐户</h5>
|
||||
<div id="acct-list"></div>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
<div class="hide-second">
|
||||
<a href="setting.html">Having the exported file of TheDesk, click here to jump setting page</a>
|
||||
</div>
|
||||
<div>
|
||||
<h5>添加一个帐户</h5>
|
||||
<br />
|
||||
<div id="add">
|
||||
<div class="row">
|
||||
<div class="col s8">
|
||||
Fill the instance domain (like mastodon.social)<br />
|
||||
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp" />
|
||||
<div id="ins-suggest"></div>
|
||||
<button class="btn waves-effect" onclick="instance()">Login</button><br />
|
||||
<div class="pwa">
|
||||
Windows以外的运行环境,或需要登录Pleroma,请尝试勾选下面的复选框<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="linux" />
|
||||
<span>使用授权码登录</span>
|
||||
</label>
|
||||
<br />
|
||||
</div>
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="misskey" />
|
||||
<span>使用Misskey登录</span> </label
|
||||
><br />
|
||||
</div>
|
||||
<div class="col s4 scr" aria-hidden="true">
|
||||
<span style="font-family:Open Sans;">Supports</span>
|
||||
<div id="support" class="collection transparent"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="auth" style="display:none">
|
||||
在这里粘贴授权码后即可关闭浏览器<br />
|
||||
<input type="text" id="code" placeholder="授权码" required />
|
||||
<button class="btn waves-effect" onclick="code()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup()" class="pointer">Use access token to login(click after fill not code but access-token in box: Advanced)</a>
|
||||
<div id="compt" style="display:none" class="scr">
|
||||
<h5>ログイン前に必ずご確認ください</h5>
|
||||
<span id="compt-instance"></span>はバージョンが<span id="compt-ver"></span
|
||||
>のため以下の機能がご利用いただけません。
|
||||
<span id="compt-warn" style="display:none"
|
||||
>また、このインスタンスはMastodonではなくそのAPI上の互換実装であり、TheDeskでは利用を想定していないため非保証となります。</span
|
||||
>
|
||||
<ul id="compt-list"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="misskeylogin" style="display:none">
|
||||
<h5>AppSecret</h5>
|
||||
阅读 <a href="https://thedesk.top/how-to-misskey-login.html">文档(ja)</a> 了解如何使用Misskey登录.<br />
|
||||
<input type="hidden" id="misskey-url" />
|
||||
<input type="text" id="misskey-key" placeholder="授权码" required />
|
||||
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup('misskey')" class="pointer">Use access token to login(click after fill not code but access-token in box: Advanced)</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hide-first">
|
||||
<h5>主帐户</h5>
|
||||
<div class="input-field" style="width:300px">
|
||||
<span data-trans="your_acct">选择一个帐户</span>
|
||||
<br />
|
||||
<select
|
||||
id="main-acct-sel"
|
||||
class="acct-sel"
|
||||
style="color:black"
|
||||
onchange="mainacct()"
|
||||
></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<ul id="domain-list" class="collection transparent"></ul>
|
||||
<div id="instance-data">
|
||||
Some instance data by
|
||||
<a href="https://instances.social" target="_blank">instances.social API</a><br />
|
||||
<h5 id="ins-title"></h5>
|
||||
Administered by:<a id="ins-admin"></a><br />
|
||||
<span id="ins-desc"></span><br />
|
||||
<img src="../../img/loading.svg" id="ins-prof" width="200" /><br />
|
||||
<br />
|
||||
域名:<span id="ins-name"></span><br />
|
||||
联接实例统计:<span id="ins-connect"></span><br />
|
||||
嘟嘟统计:<span id="ins-toot"></span><br />
|
||||
用户统计:<span id="ins-user"></span>用户统计<br />
|
||||
连通率:<span id="ins-per"></span>%<br />
|
||||
长毛象版本:<span id="ins-ver"></span>@<span id="ins-upd"></span><br />
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/tips.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/sha256.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/instance.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/manager.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
||||
<script>$('body').addClass(localStorage.getItem('platform'))</script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -1,631 +0,0 @@
|
|||
<!doctype html>
|
||||
<html lang="zh-CN" style="overflow-y:scroll">
|
||||
|
||||
<head>
|
||||
<title>Settings - TheDesk</title>
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
input {
|
||||
max-height: 3.84rem !important
|
||||
}
|
||||
|
||||
.pcr-result {
|
||||
height: 1rem !important;
|
||||
}
|
||||
|
||||
.container-after-titlebar {
|
||||
padding: 20px;
|
||||
}
|
||||
</style>
|
||||
<script>var pwa = false;</script>
|
||||
<script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" style="overflow-y:scroll" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script src="../../node_modules/json5/dist/index.min.js"></script>
|
||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
|
||||
<script type="text/javascript" src="setting.vue.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>function renderMem() { return false; }</script>
|
||||
|
||||
<h4>Preferences</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">desktop_windows</i>System Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Languages</h5>
|
||||
<div style="display: flex;">
|
||||
<div style="width: 22rem;" id="langsel">
|
||||
<select id="langsel-sel"><option value="ja">日本語</option><option value="ja-KS">日本語(関西)</option><option value="en">English</option><option value="bg">български</option><option value="cs">Česky</option><option value="de">Deutsch</option><option value="es-AR">Español, argentina</option><option value="it-IT">italiano</option><option value="zh-CN">简体中文</option><option value="zh-TW">繁體中文(β)</option><option value="fr-FR">français(β)</option><option value="no-NO">norsk(β)</option><option value="pt-BR">Português, brasileiro(β)</option><option value="ru-RU">русский(β)</option><option value="es-ES">Español(β)</option><option value="ps">Crowdin translate system(beta)</option></select>
|
||||
</div>
|
||||
<button class="btn waves-effect" onclick="changeLang()">Change</button>
|
||||
</div>
|
||||
<h5>Import and export of preferences</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
|
||||
style="width:100%; max-width:15rem;">Export</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3"
|
||||
style="width:100%; max-width:15rem;">Import</button><br>
|
||||
If you got a error when you choose the file, please paste the strings printed when you open the file and click import<br>
|
||||
<input type="text" id="imp-exp" style="width: 22rem">
|
||||
<div id="envView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||
class="pointer">Notification test</a><br></template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Change</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Font</h5>
|
||||
Select your favorite font to 'Select'<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="font()">Select</button><br>
|
||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:22rem; height:40rem;"></div>
|
||||
<br>
|
||||
<input type="text" style="width:11.5rem" id="font">
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Folder to save</h5>
|
||||
TheDesk uses this value when it try to save pictures or take screenshots.<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="savefolder()">Change</button>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li class="pwa">
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">color_lens</i>Themes
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h4>Select theme</h4>
|
||||
<div style="width:22rem" id="sel-selector">
|
||||
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||
</div>
|
||||
<h4>Edit and add themes</h4>
|
||||
<div style="width:22rem" id="edit-selector" data-add="Add new">
|
||||
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||
<option value="add_new">Add new</option>
|
||||
</select>
|
||||
</div>
|
||||
<h5>Name</h5>
|
||||
<input type="text" style="width:22rem" id="custom_name" placeholder="Name...">
|
||||
<h5>About this theme</h5>
|
||||
<div class="input-field"><textarea style="width:22rem" id="custom_desc" class="materialize-textarea"
|
||||
placeholder="About this theme..."></textarea></div>
|
||||
<h5>Color scheme</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="dark" value="dark"
|
||||
checked="true" />
|
||||
<span>Dark</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="light"
|
||||
value="light" />
|
||||
<span>Light</span>
|
||||
</label><br><br />
|
||||
<button class="btn waves-effect" onclick="advanced()">Advanced options</button>
|
||||
<span class="advanced hide"></span>
|
||||
<div id="pickers">
|
||||
<div>
|
||||
<h5>Background</h5>Background color<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_0" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker0_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Text</h5>Text color<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_1" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker1_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Subcolor</h5>Distinguishable from background<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_2" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker2_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Accent</h5>Background of boosts<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_3" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker3_value">
|
||||
</div>
|
||||
|
||||
<div class="advanced hide">
|
||||
<h5>Modal</h5>Background of modal window<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_4" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('background','modal')">Background</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker4_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Modal Footer</h5>Background of modal window's footer<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_5" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('background','modalFooter')">Background</a>/
|
||||
<a class="pointer" onclick="copyColor('modal','modalFooter')">Modal</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker5_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>3rd Color</h5>Backgroud of tag buttons, etc(near to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_6" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','third')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker6_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>4th Color</h5>Title bar(same scheme to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_7" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','forth')">Subcolor</a>/
|
||||
<a class="pointer" onclick="copyColor('third','forth')">3rd Color</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker7_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Bottom</h5>Background of menu-bar at bottom of window<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_8" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','bottom')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker8_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>2nd Accent</h5>Emphasized toot's background<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_9" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('accent','emphasized')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker9_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Postbox</h5>Background of post-box and menu<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_10" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','postbox')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker10_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Active</h5>Background of 'active' elements<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_11" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('accent','active')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker11_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected</h5>Background of selected with arrow keys<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_12" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker12_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected with shared</h5>Background of selected with arrow keys(boosted toots)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_13" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker13_value">
|
||||
</div>
|
||||
</div><br /><br />
|
||||
<button class="btn-large waves-effect" onclick="customComp()">Change</button> <button
|
||||
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">删除</button><br><br>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_json" class="materialize-textarea"
|
||||
placeholder="JSON style" readonly><br>
|
||||
<h4>Import of custom themes</h4>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_import" class="materialize-textarea"
|
||||
placeholder="JSON/JSON5 style">
|
||||
<button class="btn waves-effect" onclick="customImp()">Import</button><br>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">reorder</i>Timeline Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="tlView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Change</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Custom sound</h5>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span
|
||||
id="c1-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span
|
||||
id="c2-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span
|
||||
id="c3-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span
|
||||
id="c4-file"></span><br>
|
||||
<h5>Volume</h5>
|
||||
0-100(default:80)<br>
|
||||
<p class="range-field"><span id="soundVolVal">80</span><br>
|
||||
<input type="range" id="soundvol" min="0" max="100" value="80" onchange="customVol()"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">send</i>Posting Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="postView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<template
|
||||
v-if="(!check.kirishima || (check.kirishima && kirishima) )&& (!check.quote || (check.quote && quoters))">
|
||||
<label><input class="with-gap" v-on:click="complete(i,check.value)"
|
||||
v-model="item.setValue" type="radio" v-bind:id="item.id+check.value"
|
||||
v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span></label>
|
||||
<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
|
||||
</template>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Change</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Easy inserter</h5>
|
||||
You can insert any letters and emojis with only 3 keys<br>
|
||||
Ctrl+Shift+1:<input type="text" style="width:11.5rem" id="oks-1">
|
||||
<button onclick="oks(1)" class="btn waves-effect" style="width:7.7rem;">Save</button><br><br>
|
||||
Ctrl+Shift+2:<input type="text" style="width:11.5rem" id="oks-2">
|
||||
<button onclick="oks(2)" class="btn waves-effect" style="width:7.7rem;">Save</button><br><br>
|
||||
Ctrl+Shift+3:<input type="text" style="width:11.5rem" id="oks-3">
|
||||
<button onclick="oks(3)" class="btn waves-effect" style="width:7.7rem;">Save</button><br><br>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<img src="../../img/aiscript.svg"
|
||||
style="height: 1.5rem; margin-left: 0.4rem; margin-right: 0.4rem;">Plugins
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<a href="https://github.com/cutls/TheDesk/blob/master/plugin.md">Japanese docs of AiScript TheDesk plugins</a><br />
|
||||
<textarea id="plugin" data-id="add_new" style="height: 20rem"></textarea>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="completePlugin()">Change</button>
|
||||
<button class="btn waves-effect red disabled plugin_delete" style="width:7.7rem;"
|
||||
onclick="deletePlugin()">删除</button>
|
||||
<h5>Plugin list</h5>
|
||||
<div style="width:22rem" id="plugin-selector" data-add="Add new">
|
||||
<select id="plugin-edit-sel" class="custom-sel" onchange="pluginEdit()">
|
||||
<option value="add_new">Add new</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">bookmark</i>Mute & Emphasis Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Client Mute</h5>
|
||||
<div id="mute-cli"></div>
|
||||
<h5>Client Emphasis</h5>
|
||||
Click client name on toots to toggle mute and emphasis.
|
||||
<h5>Words Mute</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordmute" style="background-color:gray;"></div>
|
||||
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:7.7rem;">Save</button>
|
||||
<h5>Words Emphasis</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordemp" style="background-color:gray;"></div>
|
||||
<button onclick="wordempSave()" class="btn waves-effect" style="width:7.7rem;">Save</button>
|
||||
<h5>Users Emphasis</h5>
|
||||
Set on users data modals.
|
||||
<span class="emphasized"> Use this color to emphasis </span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="fab fa-spotify"></i>Spotify and NowPlaying Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Account Connection(Spotify)</h5>
|
||||
TheDesk save your data on thedesk.top server.<br>
|
||||
<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
|
||||
onclick="spotifyAuth()" class="btn waves-effect" style="width:7.7rem;">Save</button></div>
|
||||
<a onclick="spotifyConnect()" class="btn waves-effect nex"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-enable"><i
|
||||
class="fab fa-spotify left"></i>Connect</a>
|
||||
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-disable"><i
|
||||
class="fab fa-spotify left"></i>Disconnect</a>
|
||||
<h5>Account Connection(Last.fm)</h5>
|
||||
User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.<br />
|
||||
<input type="text" style="width:11.5rem" id="lastFmUser">
|
||||
<button onclick="lastFmSet()" class="btn waves-effect" style="width:7.7rem;">Save</button>
|
||||
<h5>Edit a template</h5>
|
||||
<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
|
||||
<span class="mac">>macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}</span><br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:7.7rem;">Save</button>
|
||||
<h5>Attach an Artwork of Spotify</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
|
||||
value="yes" />
|
||||
<span>Yes</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
|
||||
value="no" />
|
||||
<span>No</span>
|
||||
</label>
|
||||
<div class="mac">
|
||||
<h5>If the song has no artwork, automatic complete it(macOS)</h5>
|
||||
If you nowplaying an non-artwork song, get one which seems nice through API. If you do not like the completed artwork, you can right-click it to delete.<br />
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_yes"
|
||||
value="yes" />
|
||||
<span>Yes</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_no"
|
||||
value="no" />
|
||||
<span>No</span>
|
||||
</label>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">hearing</i>TTS(text to speech) Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>BouyomiChan connect</h5>
|
||||
Require: BouyomiChan WebSocket Plugin<a href="https://github.com/xztaityozx/BouyomiChan-WebSocket-Plugin"
|
||||
target="_blank">GitHub</a><br>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_yes"
|
||||
value="yes" />
|
||||
<span>Yes</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_no" value="no" />
|
||||
<span>No</span>
|
||||
</label>
|
||||
<h5>Speed</h5>
|
||||
1-100(default:10)<br>
|
||||
<p class="range-field"><span id="voicespeedVal">10</span><br>
|
||||
<input type="range" id="voicespeed" min="1" max="100" value="10"
|
||||
onchange="document.getElementById('voicespeedVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Pitch</h5>
|
||||
0-100(default:50)<br>
|
||||
<p class="range-field"><span id="voicepitchVal">50</span><br>
|
||||
<input type="range" id="voicepitch" min="0" max="100" value="50"
|
||||
onchange="document.getElementById('voicepitchVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Volume</h5>
|
||||
0-100(default:100)<br>
|
||||
<p class="range-field"><span id="voicevolVal">100</span><br>
|
||||
<input type="range" id="voicevol" min="0" max="100" value="100"
|
||||
onchange="document.getElementById('voicevolVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Test</h5>
|
||||
<input type="text" style="width:27rem" id="voicetxt" value="TheDesk is an open-source Mastodon client for PC.">
|
||||
<button class="btn waves-effect blue" style="width:11.5rem;" onclick="voicePlay()"
|
||||
id="testplay">Play/Stop</button><br>
|
||||
<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="voiceSettings()">Save</button>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:15rem;"><i
|
||||
class="material-icons left">undo</i>Back</a>
|
||||
<br>
|
||||
<br>Keyboard shortcuts
|
||||
<li>Ctrl+1-9:Jump to n(1-9)th column</li>
|
||||
<li>N:Open toot box</li>
|
||||
<li>X:Toggle toot box</li>
|
||||
<li>Ctrl+Enter:Post</li>
|
||||
<li>Ctrl+Enter+Shift:Post(secondary toot)</li>
|
||||
<li>Alt+Enter:Secondary Toot Button</li>
|
||||
<li>Ctrl+E:Make all notifications read</li>
|
||||
<li>Ctrl+U:Select the top & left(No.1 column) toot</li>
|
||||
<li>Esc:Hide toot box</li>
|
||||
<li>F5:Super Reload</li>
|
||||
<li>Ctrl+Shift+C:Clear toot box</li>
|
||||
<li>Ctrl+Shift+S:Preferences</li>
|
||||
<li>Ctrl+Shift+M:Account Manager</li>
|
||||
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
|
||||
<li>Ctrl+Shift+P:Show profile of selecting</li>
|
||||
<li>←/→:Show next or previous image</li>
|
||||
<li>Mousewheel:Zoom a image</li>
|
||||
<div class="hide kirishima">
|
||||
以下Markdownに対応したインスタンスのみ。
|
||||
<br>
|
||||
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
|
||||
When a toot is selected:
|
||||
<li>F:Favourite this toot</li>
|
||||
<li>B:Boost this toot</li>
|
||||
<li>R:Reply to this toot</li>
|
||||
</div>
|
||||
<button class="btn waves-effect red" style="width:100%; max-width:40rem;"
|
||||
onclick="if(confirm('Delete all data. You cannot undo. Continue?')){ localStorage.clear(); location.href='index.html'; }"><i
|
||||
class="material-icons left">delete</i>Reset(Danger)</button><br><br>
|
||||
<button class="btn waves-effect indigo pwa" onclick="about()" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">info</i>About TheDesk</button>
|
||||
<a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">web</i>Website</a>
|
||||
<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Support(Pixiv FANBOX)</a>
|
||||
<a href="https://www.patreon.com/cutls" class="btn waves-effect red darken-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Support(Patreon)</a>
|
||||
<a href="https://liberapay.com/cutls" class="btn waves-effect black-text"
|
||||
style="width:100%; max-width:40rem; background-color: #f6c915"><i
|
||||
class="material-icons left">trending_up</i>Support(Liberapay)</a>
|
||||
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">list</i>Help/Docs</a>
|
||||
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="fab fa-github left"></i>GitHub</a>
|
||||
<a href="index.html?mode=user&code=Cutls@cutls.com" class="btn waves-effect blue lighten-2"
|
||||
style="width:100%; max-width:40rem;"><img src="../../img/desk_full.svg" class="left" width="25"
|
||||
style="padding-top:5px;">Main author: Cutls@cutls.com</a>
|
||||
<br>
|
||||
TheDesk @ <a href="https://github.com/cutls/TheDesk/commits/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c">89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c</a> - <a
|
||||
onclick="checkupd(); return localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||
class="pointer pwa">Check update</a><br>
|
||||
<br>
|
||||
Kyash<br>
|
||||
<img src="../../img/kyash.png" width="100"><br>
|
||||
<a href="https://status.cutls.com/">
|
||||
<img src="https://status.cutls.com/badge-service?site=thedesk.top">
|
||||
</a><br>
|
||||
<h5>OSS License</h5>
|
||||
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fcutls%2FTheDesk/refs/branch/master/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c"
|
||||
alt="FOSSA Status"><img
|
||||
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcutls%2FTheDesk.svg?type=small" /></a>
|
||||
<br>
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||
href="https://thedesk.top/priv.html">Privacy
|
||||
Policy</a>
|
||||
<br>
|
||||
</span><br>
|
||||
TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br>
|
||||
タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/aiscript.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/plugin.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/logout.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
|
@ -1,756 +0,0 @@
|
|||
var yesno = [
|
||||
{
|
||||
text: 'Yes',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'No',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
var sound = [
|
||||
{
|
||||
text: 'None',
|
||||
value: 'none'
|
||||
},
|
||||
{
|
||||
text: '默认',
|
||||
value: 'default'
|
||||
},
|
||||
{
|
||||
text: 'Custom 1',
|
||||
value: 'c1'
|
||||
},
|
||||
{
|
||||
text: 'Custom 2',
|
||||
value: 'c2'
|
||||
},
|
||||
{
|
||||
text: 'Custom 3',
|
||||
value: 'c3'
|
||||
},
|
||||
{
|
||||
text: 'Custom 4',
|
||||
value: 'c4'
|
||||
}
|
||||
]
|
||||
var envConstruction = [
|
||||
{
|
||||
id: 'popup',
|
||||
storage: 'popup',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Popup notification(on Windows)',
|
||||
desc: 'Hide to set "0"',
|
||||
after: 'sec'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notf',
|
||||
storage: 'nativenotf',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Native notification',
|
||||
desc: 'This does not work on Windows Portable ver.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'width',
|
||||
storage: 'width',
|
||||
width: 50,
|
||||
setValue: 300,
|
||||
text: { after: 'px ~ ' }
|
||||
},
|
||||
{
|
||||
id: 'maxWidth',
|
||||
storage: 'max-width',
|
||||
width: 50,
|
||||
setValue: 600,
|
||||
text: { after: 'px' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Width of columns',
|
||||
desc: 'Scroll bar will be shown when your window size is more than ammounts of columns.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'margin',
|
||||
storage: 'margin',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Margin between timelines',
|
||||
desc: '',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'fixwidth',
|
||||
storage: 'fixwidth',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 300,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Minimum width of TweetDeck browser',
|
||||
desc: '',
|
||||
after: 'px above'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'size',
|
||||
storage: 'size',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 50,
|
||||
setValue: 13,
|
||||
text: {
|
||||
head: 'Font size',
|
||||
desc: '<span style="font-size:13px">13px(absolute value)</span>',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ha',
|
||||
storage: 'ha',
|
||||
checkbox: true,
|
||||
setValue: false,
|
||||
text: {
|
||||
head: 'Disable hardware acceleration',
|
||||
desc: 'Auto restarted',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Yes',
|
||||
value: 'true'
|
||||
},
|
||||
{
|
||||
text: 'No',
|
||||
value: 'false'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ua',
|
||||
storage: 'ua_setting',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: '',
|
||||
width: 200,
|
||||
text: {
|
||||
head: 'User agent',
|
||||
desc: 'Restart when changed'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'srcUrl',
|
||||
storage: 'srcUrl',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 200,
|
||||
setValue: 'https://google.com/search?q={q}',
|
||||
text: {
|
||||
head: 'Search engine',
|
||||
desc: '{q} will be replaced to query.',
|
||||
after: ''
|
||||
}
|
||||
},{
|
||||
id: 'download',
|
||||
storage: 'dl-win',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Versioning(o Windows downloader)',
|
||||
desc: 'ex: TheDesk-1.0.0-setup.exe',
|
||||
checkbox: yesno
|
||||
}
|
||||
}
|
||||
]
|
||||
var tlConstruction = [
|
||||
{
|
||||
id: 'time',
|
||||
storage: 'datetype',
|
||||
checkbox: true,
|
||||
setValue: 'absolute',
|
||||
text: {
|
||||
head: 'Time format',
|
||||
desc: 'Relative format:"1 minutes ago","3 days ago"<br>Absolute format:"23:25:21","2017/12/30 23:59:00"<br>Mixed format:toots posted today are relative-format, others are absolute-format.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Relative',
|
||||
value: 'relative'
|
||||
},
|
||||
{
|
||||
text: 'Absolute',
|
||||
value: 'absolute'
|
||||
},
|
||||
{
|
||||
text: 'Both relative and absolute',
|
||||
value: 'double'
|
||||
},
|
||||
{
|
||||
text: 'Mixed',
|
||||
value: 'medium'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ul',
|
||||
storage: 'locale',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Server\s unique locale',
|
||||
desc: 'This value is available on some Japanese servers',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'nsfw',
|
||||
storage: 'nsfw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide NSFW pictures',
|
||||
desc: 'Strong blur effect',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw',
|
||||
storage: 'cw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide CW contents',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'rp',
|
||||
storage: 'replyct',
|
||||
checkbox: true,
|
||||
setValue: 'hidden',
|
||||
text: {
|
||||
head: 'Reply counter style',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Show 1+ if the replies are more than 1.',
|
||||
value: 'hidden'
|
||||
},
|
||||
{
|
||||
text: 'Show full count(1,2...)',
|
||||
value: 'all'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'gif',
|
||||
storage: 'gif',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animated GIF images animation',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'tag',
|
||||
storage: 'tag-range',
|
||||
checkbox: true,
|
||||
setValue: 'local',
|
||||
text: {
|
||||
head: 'Tag TL Search',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Use federated network',
|
||||
value: 'all'
|
||||
},
|
||||
{
|
||||
text: 'Use local network',
|
||||
value: 'local'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'via',
|
||||
storage: 'viashow',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Show via',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'mov',
|
||||
storage: 'mouseover',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Hide action buttons without mouseover',
|
||||
desc: 'You may feel \mouseover\ is unconfortable:(',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Mouseover to show',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Click to show',
|
||||
value: 'click'
|
||||
},
|
||||
{
|
||||
text: 'No',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notfm',
|
||||
storage: 'setasread',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Show Notification marker, red colored bell and counter(if you show a notification column.)',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'sentence',
|
||||
storage: 'sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'lines above or' }
|
||||
},
|
||||
{
|
||||
id: 'letters',
|
||||
storage: 'letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'letters above' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Auto folding',
|
||||
desc: 'TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img-height',
|
||||
storage: 'img-height',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 80,
|
||||
setValue: 200,
|
||||
text: {
|
||||
head: 'Height of images',
|
||||
desc: 'Option:Set "full" to uncrop.',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ticker',
|
||||
storage: 'ticker_ok',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Enable #InstanceTicker',
|
||||
desc: 'Show colorful stickers about tooters\ server. <a href="https://cdn.weep.me/mastodon/">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'anime',
|
||||
storage: 'animation',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animation of timelines',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'markers',
|
||||
storage: 'markers',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Markers(mark as read) on HTL and notifications',
|
||||
desc: 'Mastodon 3.0~. Shared on WebUI and third-party supported clients.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'remote_img',
|
||||
storage: 'remote_img',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Get images from the remote server',
|
||||
desc: 'All previews are got from your loginned cache server.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'bkm',
|
||||
storage: 'bookmark',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Show a bookmarking toot button',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'scroll',
|
||||
storage: 'scroll',
|
||||
checkbox: true,
|
||||
setValue: 'normalScrollBar',
|
||||
text: {
|
||||
head: 'Height of the scroll bar',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Thick',
|
||||
value: 'thickScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Normal',
|
||||
value: 'normalScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Thin',
|
||||
value: 'thinScrollBar'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'replySound',
|
||||
storage: 'replySound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Reply)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'favSound',
|
||||
storage: 'favSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Fav)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'btSound',
|
||||
storage: 'btSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Boost)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'followSound',
|
||||
storage: 'followSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Follow)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
}
|
||||
]
|
||||
var postConstruction = [
|
||||
{
|
||||
id: 'cw-text',
|
||||
storage: 'cw-text',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 150,
|
||||
setValue: '',
|
||||
text: {
|
||||
head: 'Default warining text',
|
||||
desc: '',
|
||||
after: ''
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'cw_sentence',
|
||||
storage: 'cw_sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'lines above or' }
|
||||
},
|
||||
{
|
||||
id: 'cw_letters',
|
||||
storage: 'cw_letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'letters above' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Alert before posting a long toot.',
|
||||
desc: 'Show dialog whether you make too-long text hidden.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cws',
|
||||
storage: 'always-cw',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Always CW set',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw-continue',
|
||||
storage: 'cw-continue',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: '@@cwContinue@@',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'vis',
|
||||
storage: 'vis',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Default visibility',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Public',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Unlisted',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Private',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direct',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Memory(memorized as each server)',
|
||||
value: 'memory'
|
||||
},
|
||||
{
|
||||
text: 'Default of your visibility(Set on preferences of Mastodon server)',
|
||||
value: 'useapi'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img',
|
||||
storage: 'img',
|
||||
checkbox: true,
|
||||
setValue: 'no-act',
|
||||
text: {
|
||||
head: 'Posting images preferences',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Insert media URL',
|
||||
value: 'url'
|
||||
},
|
||||
{
|
||||
text: 'Insert nothig',
|
||||
value: 'no-act'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'box',
|
||||
storage: 'box',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Action of posting-box',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Folding',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Open after posting',
|
||||
value: 'no'
|
||||
},
|
||||
{
|
||||
text: 'Absolutely open',
|
||||
value: 'absolute'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'quote',
|
||||
storage: 'quote',
|
||||
checkbox: true,
|
||||
setValue: 'nothing',
|
||||
text: {
|
||||
head: 'Quote format',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Only URL',
|
||||
value: 'simple'
|
||||
},
|
||||
{
|
||||
text: 'URL and acct(mention to the user)',
|
||||
value: 'mention'
|
||||
},
|
||||
{
|
||||
text: 'URL, text and acct(mention to the user)',
|
||||
value: 'full'
|
||||
},
|
||||
{
|
||||
text: 'API(only some instances)',
|
||||
value: 'apiQuote',
|
||||
quote: true
|
||||
},
|
||||
{
|
||||
text: 'Disabled(Hide buttons on TLs)',
|
||||
value: 'nothing'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'main',
|
||||
storage: 'mainuse',
|
||||
checkbox: true,
|
||||
setValue: 'remain',
|
||||
text: {
|
||||
head: 'Default accounts of actions',
|
||||
desc: 'Main account can be set on Account Manager.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Account you used recently',
|
||||
value: 'remain'
|
||||
},
|
||||
{
|
||||
text: 'Main account',
|
||||
value: 'main'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'sec',
|
||||
storage: 'sec',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Secondary Toot Button',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Hidden',
|
||||
value: 'nothing'
|
||||
},
|
||||
{
|
||||
text: 'Public',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Unlisted',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Private',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direct',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Local Only',
|
||||
value: 'local',
|
||||
kirishima: true,
|
||||
kirishimaText: '非対応インスタンスでは「未収載」になります。'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'zero',
|
||||
storage: 'emoji-zero-width',
|
||||
checkbox: true,
|
||||
setValue: 'normal',
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Zero-width space when inserting emojis',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},{
|
||||
id: 'uploadCrop',
|
||||
storage: 'uploadCrop',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 100,
|
||||
setValue: '0',
|
||||
text: {
|
||||
head: 'Auto scale to fit',
|
||||
desc: 'Max long-side px. Uploaded images are converted to JPEG(from JPEG) or PNG(from others). Set 0 and the images will not be resized. Notice: if you post an animated picture like GIF, it will be converted static one.',
|
||||
after: 'px'
|
||||
}
|
||||
}
|
||||
]
|
|
@ -1,302 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<title>Update - TheDesk</title>
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans';
|
||||
-webkit-app-region: drag;
|
||||
cursor: move;
|
||||
padding: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#start {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100vw;
|
||||
height: calc(100vh - 2.5rem);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#checkbox {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
a,
|
||||
button,
|
||||
input,
|
||||
label,
|
||||
i {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
#updskip {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.skipbtn {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
border: 1px solid;
|
||||
margin-left: 5px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid #c26363;
|
||||
overflow: hidden;
|
||||
color: #c26363;
|
||||
margin-bottom: 5px;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.skipbtn:hover {
|
||||
background-color: #c26363;
|
||||
transition: all 0.3s ease-in-out;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#prog {
|
||||
font-size: 200%;
|
||||
}
|
||||
</style>
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" />
|
||||
<script>var pwa = false;</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
|
||||
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
|
||||
<!--a href="update.html">Reload</a-->
|
||||
<div id="start" style="filter: brightness(100%)">
|
||||
<div id="box" class="show">
|
||||
<h2>TheDesk</h2>
|
||||
<p>Get latest TheDesk</p>
|
||||
<span id="now"></span>→<b id="ver"></b><br />
|
||||
<a href="" id="github" class="btn waves-effect grey darken-1"><i class="fab fa-github left"></i>What is new?</a><br />
|
||||
<button class="waves-effect btn windows hide" onclick="update('install')" style="margin-left: 15px;">Installer(Recommended)</button>
|
||||
<button class="waves-effect btn windows hide" onclick="update('portable')" style="margin-left: 15px;">Portable ver.</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linux')" style="margin-left: 15px;">zip</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxdeb')" style="margin-left: 15px;">deb(Recommended on buntu, Debian)</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxsnap')" style="margin-left: 15px;">snap</button>
|
||||
<button class="waves-effect btn mac hide" onclick="update('mac')" style="margin-left: 15px;">Start</button>
|
||||
<br />
|
||||
Some problems?<br />Please download on <a href="https://thedesk.top">Oficial HP</a>.
|
||||
</div>
|
||||
<div id="skipper" class="hide">
|
||||
<h4>Skip this update</h4>
|
||||
You may lose a cool experience!<br />
|
||||
<div id="updskip">
|
||||
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>Until next TL loading</div>
|
||||
</a>
|
||||
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>Until next version</div>
|
||||
</a>
|
||||
</div>
|
||||
<a class="pointer waves-effect" onclick="skipper();" style="margin-top: 5px;">Continue updating</a>
|
||||
</div>
|
||||
<div id="dlnow" class="hide" style="width: 70%;">
|
||||
<h4>Downloading...</h4>
|
||||
<h4 id="prog"></h4>
|
||||
<div class="progress">
|
||||
<div class="determinate" style="width: 0%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script>
|
||||
function skipper() {
|
||||
$('#dlnow').addClass('hide')
|
||||
$('#box').toggleClass('show')
|
||||
if ($('#box').hasClass('hide') && $('#skipper').hasClass('hide')) {
|
||||
$('#skipper').removeClass('hide')
|
||||
$('#skipper').addClass('show')
|
||||
} else {
|
||||
$('#box').toggleClass('hide')
|
||||
$('#skipper').toggleClass('hide')
|
||||
$('#skipper').toggleClass('show')
|
||||
}
|
||||
}
|
||||
verck()
|
||||
function update(sel) {
|
||||
$('#box').toggleClass('show')
|
||||
$('#box').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('show')
|
||||
$('#prog').text('')
|
||||
var bit = localStorage.getItem('bit')
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
if (sel == 'install') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup.exe'
|
||||
}
|
||||
var filesize = json.winx64_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32_size
|
||||
}
|
||||
} else if (sel == 'portable') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '.exe'
|
||||
} else {
|
||||
var file = 'TheDesk.exe'
|
||||
}
|
||||
var filesize = json.winx64p_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32p_size
|
||||
}
|
||||
} else if (sel == 'linux') {
|
||||
var url = json['linuxx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'thedesk-' + json.unique_linux + '.zip'
|
||||
} else {
|
||||
var file = 'thedesk.zip'
|
||||
}
|
||||
var filesize = json.linuxx64_size
|
||||
} else if (sel == 'linuxdeb') {
|
||||
var url = json['linuxdeb']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.deb'
|
||||
var filesize = json.linuxdeb_size
|
||||
} else if (sel == 'linuxsnap') {
|
||||
var url = json['linuxsnap']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.snap'
|
||||
var filesize = json.linuxsnap_size
|
||||
} else if (sel == 'mac') {
|
||||
var url = json['mac']
|
||||
var file = 'TheDesk-' + json.unique_mac + '.dmg'
|
||||
var filesize = json.mac_size
|
||||
}
|
||||
postMessage(['downloadButton', [url, file, filesize]], '*')
|
||||
})
|
||||
}
|
||||
function quit() {
|
||||
postMessage(['sendSinmpleIpc', 'quit'], '*')
|
||||
}
|
||||
function updateProg(arg) {
|
||||
$('.determinate').css('width', arg[0].percent * 100 + '%')
|
||||
$('#prog').html(`${Math.floor(arg[0].percent * 100)}%<br />(${Math.floor(arg[0].percent*arg[1]/1024/1024*10)/10} MB / ${Math.floor(arg[1]/1024/1024*10)/10} MB)`)
|
||||
|
||||
}
|
||||
function updateMess(arg) {
|
||||
console.log(arg)
|
||||
$('#prog').text(arg)
|
||||
}
|
||||
function verck() {
|
||||
var platform = localStorage.getItem('platform')
|
||||
var bit = localStorage.getItem('bit')
|
||||
if (platform == 'win32') {
|
||||
$('.windows').removeClass('hide')
|
||||
} else if (platform == 'linux') {
|
||||
$('.linux').removeClass('hide')
|
||||
} else if (platform == 'darwin') {
|
||||
$('.mac').removeClass('hide')
|
||||
}
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
console.log(json)
|
||||
if (platform == 'win32') {
|
||||
$('#ver').text(json.desk)
|
||||
localStorage.setItem('next-ver', json.desk)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique
|
||||
} else if (platform == 'linux') {
|
||||
$('#ver').text(json.desk_linux)
|
||||
localStorage.setItem('next-ver', json.desk_linux)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_linux
|
||||
} else if (platform == 'darwin') {
|
||||
$('#ver').text(json.desk_mac)
|
||||
localStorage.setItem('next-ver', json.desk_mac)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_mac
|
||||
}
|
||||
|
||||
$('#github').attr('href', url)
|
||||
|
||||
$('#now').text(localStorage.getItem('ver'))
|
||||
})
|
||||
}
|
||||
function nextv() {
|
||||
localStorage.setItem('new-ver-skip', 'true')
|
||||
window.close()
|
||||
}
|
||||
function enc(ver) {
|
||||
var ver = ver.replace(/\s/g, '')
|
||||
var ver = ver.replace(/\(/g, '-')
|
||||
var ver = ver.replace(/\)/g, '')
|
||||
var ver = ver.replace(/\[/g, '_')
|
||||
var ver = ver.replace(/\]/g, '')
|
||||
return ver
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,154 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh-TW">
|
||||
<head>
|
||||
<title>Account Manager - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport" />
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link
|
||||
href="../../node_modules/materialize-css/dist/css/materialize.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/tl.css" rel="stylesheet" type="text/css" />
|
||||
<link href="../../css/userdata.css" rel="stylesheet" type="text/css" />
|
||||
<link
|
||||
href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/acct.css" rel="stylesheet" type="text/css" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<script>var pwa = false;</script> <script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/materialize-css/dist/js/materialize.js"
|
||||
></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"
|
||||
></script>
|
||||
<script>
|
||||
var misskeytoken = false
|
||||
</script>
|
||||
<script type="text/javascript" src="../../js/common/time.js"></script>
|
||||
<div class="hide-first">
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"
|
||||
>上一頁</a
|
||||
><br />
|
||||
<h5>帳號列表</h5>
|
||||
<div id="acct-list"></div>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
<div class="hide-second">
|
||||
<a href="setting.html">擁有已匯出之 TheDesk 設定檔,請點此跳至設定頁</a>
|
||||
</div>
|
||||
<div>
|
||||
<h5>新增帳號</h5>
|
||||
<br />
|
||||
<div id="add">
|
||||
<div class="row">
|
||||
<div class="col s8">
|
||||
請填入 instance 網址 (例如:mastodon.social)<br />
|
||||
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp" />
|
||||
<div id="ins-suggest"></div>
|
||||
<button class="btn waves-effect" onclick="instance()">Login</button><br />
|
||||
<div class="pwa">
|
||||
取消選取以忽略貼上授權碼。(於 Windows 或 macOS 上登入 Mastodon) (建議:pcheck)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="linux" />
|
||||
<span>授權碼設定</span>
|
||||
</label>
|
||||
<br />
|
||||
</div>
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="misskey" />
|
||||
<span>以 Misskey 登入</span> </label
|
||||
><br />
|
||||
</div>
|
||||
<div class="col s4 scr" aria-hidden="true">
|
||||
<span style="font-family:Open Sans;">Supports</span>
|
||||
<div id="support" class="collection transparent"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="auth" style="display:none">
|
||||
請貼上授權碼並關閉瀏覽器。<br />
|
||||
<input type="text" id="code" placeholder="授權碼" required />
|
||||
<button class="btn waves-effect" onclick="code()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup()" class="pointer">使用 access token 登入 (填入 access token 而非授權碼後點擊:進階設定)</a>
|
||||
<div id="compt" style="display:none" class="scr">
|
||||
<h5>ログイン前に必ずご確認ください</h5>
|
||||
<span id="compt-instance"></span>はバージョンが<span id="compt-ver"></span
|
||||
>のため以下の機能がご利用いただけません。
|
||||
<span id="compt-warn" style="display:none"
|
||||
>また、このインスタンスはMastodonではなくそのAPI上の互換実装であり、TheDeskでは利用を想定していないため非保証となります。</span
|
||||
>
|
||||
<ul id="compt-list"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="misskeylogin" style="display:none">
|
||||
<h5>AppSecret</h5>
|
||||
請閱讀 <a href="https://thedesk.top/how-to-misskey-login.html"> 文件(日文)</a> 以 Misskey 登入說明。<br />
|
||||
<input type="hidden" id="misskey-url" />
|
||||
<input type="text" id="misskey-key" placeholder="授權碼" required />
|
||||
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br />
|
||||
<br />
|
||||
<a onclick="atSetup('misskey')" class="pointer">使用 access token 登入 (填入 access token 而非授權碼後點擊:進階設定)</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hide-first">
|
||||
<h5>主要帳號</h5>
|
||||
<div class="input-field" style="width:300px">
|
||||
<span data-trans="your_acct">選擇帳號</span>
|
||||
<br />
|
||||
<select
|
||||
id="main-acct-sel"
|
||||
class="acct-sel"
|
||||
style="color:black"
|
||||
onchange="mainacct()"
|
||||
></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<ul id="domain-list" class="collection transparent"></ul>
|
||||
<div id="instance-data">
|
||||
Some instance data by
|
||||
<a href="https://instances.social" target="_blank">instances.social API</a><br />
|
||||
<h5 id="ins-title"></h5>
|
||||
Administered by:<a id="ins-admin"></a><br />
|
||||
<span id="ins-desc"></span><br />
|
||||
<img src="../../img/loading.svg" id="ins-prof" width="200" /><br />
|
||||
<br />
|
||||
網址:<span id="ins-name"></span><br />
|
||||
聯邦伺服器:<span id="ins-connect"></span><br />
|
||||
嘟文:<span id="ins-toot"></span><br />
|
||||
使用者:<span id="ins-user"></span>使用者<br />
|
||||
連線:<span id="ins-per"></span>%<br />
|
||||
Mastodon 版本:<span id="ins-ver"></span>@<span id="ins-upd"></span><br />
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/tips.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/sha256.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/instance.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/manager.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
||||
<script>$('body').addClass(localStorage.getItem('platform'))</script>
|
||||
</body>
|
||||
</html>
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -1,632 +0,0 @@
|
|||
<!doctype html>
|
||||
<html lang="zh-TW" style="overflow-y:scroll">
|
||||
|
||||
<head>
|
||||
<title>Settings - TheDesk</title>
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<style>
|
||||
input {
|
||||
max-height: 3.84rem !important
|
||||
}
|
||||
|
||||
.pcr-result {
|
||||
height: 1rem !important;
|
||||
}
|
||||
|
||||
.container-after-titlebar {
|
||||
padding: 20px;
|
||||
}
|
||||
</style>
|
||||
<script>var pwa = false;</script>
|
||||
<script>var store = false;</script>
|
||||
</head>
|
||||
|
||||
<body id="mainView" style="overflow-y:scroll" class="">
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<script type="text/javascript" src="main.js"></script>
|
||||
<script src="../../node_modules/json5/dist/index.min.js"></script>
|
||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
|
||||
<script type="text/javascript" src="setting.vue.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/sweetalert2/dist/sweetalert2.all.min.js"></script>
|
||||
<script>function renderMem() { return false; }</script>
|
||||
|
||||
<h4>偏好設定</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">desktop_windows</i>System Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Languages</h5>
|
||||
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br><br>
|
||||
<div style="display: flex;">
|
||||
<div style="width: 22rem;" id="langsel">
|
||||
<select id="langsel-sel"><option value="ja">日本語</option><option value="ja-KS">日本語(関西)</option><option value="en">English</option><option value="bg">български</option><option value="cs">Česky</option><option value="de">Deutsch</option><option value="es-AR">Español, argentina</option><option value="it-IT">italiano</option><option value="zh-CN">简体中文</option><option value="zh-TW">繁體中文(β)</option><option value="fr-FR">français(β)</option><option value="no-NO">norsk(β)</option><option value="pt-BR">Português, brasileiro(β)</option><option value="ru-RU">русский(β)</option><option value="es-ES">Español(β)</option><option value="ps">Crowdin translate system(beta)</option></select>
|
||||
</div>
|
||||
<button class="btn waves-effect" onclick="changeLang()">Change</button>
|
||||
</div>
|
||||
<h5>Import and export of preferences</h5>
|
||||
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
|
||||
style="width:100%; max-width:15rem;">Export</button>
|
||||
<button onclick="importSettings()" class="btn waves-effect cyan darken-3"
|
||||
style="width:100%; max-width:15rem;">Import</button><br>
|
||||
If you got a error when you choose the file, please paste the strings printed when you open the file and click import<br>
|
||||
<input type="text" id="imp-exp" style="width: 22rem">
|
||||
<div id="envView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.id=='notf'"><a onclick="notftest()"
|
||||
class="pointer">Notification test</a><br></template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Change</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Font</h5>
|
||||
Select your favorite font to 'Select'(Windows/ macOS only)<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="font()">Select</button><br>
|
||||
<div id="fonts" class="hide" style="overflow-y:scroll; width:22rem; height:40rem;"></div>
|
||||
<br>
|
||||
<input type="text" style="width:11.5rem" id="font">
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="settings()">儲存</button>
|
||||
<br>
|
||||
<h5>Folder to save</h5>
|
||||
TheDesk uses this value when it try to save pictures or take screenshots.<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="savefolder()">Change</button>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li class="pwa">
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">color_lens</i>Themes
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h4>Select theme</h4>
|
||||
<div style="width:22rem" id="sel-selector">
|
||||
<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
|
||||
</div>
|
||||
<h4>Edit and add themes</h4>
|
||||
<div style="width:22rem" id="edit-selector" data-add="Add new">
|
||||
<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
|
||||
<option value="add_new">Add new</option>
|
||||
</select>
|
||||
</div>
|
||||
<h5>Name</h5>
|
||||
<input type="text" style="width:22rem" id="custom_name" placeholder="Name...">
|
||||
<h5>About this theme</h5>
|
||||
<div class="input-field"><textarea style="width:22rem" id="custom_desc" class="materialize-textarea"
|
||||
placeholder="About this theme..."></textarea></div>
|
||||
<h5>Color scheme</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="dark" value="dark"
|
||||
checked="true" />
|
||||
<span>Dark</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="light"
|
||||
value="light" />
|
||||
<span>Light</span>
|
||||
</label><br><br />
|
||||
<button class="btn waves-effect" onclick="advanced()">Advanced options</button>
|
||||
<span class="advanced hide"></span>
|
||||
<div id="pickers">
|
||||
<div>
|
||||
<h5>Background</h5>Background color<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_0" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker0_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Text</h5>Text color<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_1" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker1_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Subcolor</h5>Distinguishable from background<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_2" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker2_value">
|
||||
</div>
|
||||
<div>
|
||||
<h5>Accent</h5>Background of boosts<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_3" value="1" checked disabled />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker3_value">
|
||||
</div>
|
||||
|
||||
<div class="advanced hide">
|
||||
<h5>Modal</h5>Background of modal window<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_4" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('background','modal')">Background</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker4_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Modal Footer</h5>Background of modal window's footer<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_5" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('background','modalFooter')">Background</a>/
|
||||
<a class="pointer" onclick="copyColor('modal','modalFooter')">Modal</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker5_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>3rd Color</h5>Backgroud of tag buttons, etc(near to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_6" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','third')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker6_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>4th Color</h5>Title bar(same scheme to Background)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_7" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','forth')">Subcolor</a>/
|
||||
<a class="pointer" onclick="copyColor('third','forth')">3rd Color</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker7_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Bottom</h5>Background of menu-bar at bottom of window<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_8" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','bottom')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker8_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>2nd Accent</h5>Emphasized toot's background<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_9" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('accent','emphasized')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker9_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Postbox</h5>Background of post-box and menu<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_10" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('subcolor','postbox')">Subcolor</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker10_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Active</h5>Background of 'active' elements<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_11" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
Copy from:
|
||||
<a class="pointer" onclick="copyColor('accent','active')">Accent</a>
|
||||
<br />
|
||||
<input type="color" id="color-picker11_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected</h5>Background of selected with arrow keys<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_12" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker12_value">
|
||||
</div>
|
||||
<div class="advanced hide">
|
||||
<h5>Selected with shared</h5>Background of selected with arrow keys(boosted toots)<br />
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="use-color_13" value="1" />
|
||||
<span>Use this</span>
|
||||
</label><br />
|
||||
<input type="color" id="color-picker13_value">
|
||||
</div>
|
||||
</div><br /><br />
|
||||
<button class="btn-large waves-effect" onclick="customComp()">Change</button> <button
|
||||
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">刪除</button><br><br>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_json" class="materialize-textarea"
|
||||
placeholder="JSON style" readonly><br>
|
||||
<h4>Import of custom themes</h4>
|
||||
<input type="text" style="width:22rem;height:40px;" id="custom_import" class="materialize-textarea"
|
||||
placeholder="JSON/JSON5 style">
|
||||
<button class="btn waves-effect" onclick="customImp()">Import</button><br>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">reorder</i>Timeline Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="tlView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<label>
|
||||
<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
|
||||
type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span>
|
||||
</label>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Change</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Custom sound</h5>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(1)">Custom 1</button><span
|
||||
id="c1-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(2)">Custom 2</button><span
|
||||
id="c2-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(3)">Custom 3</button><span
|
||||
id="c3-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span
|
||||
id="c4-file"></span><br>
|
||||
<h5>Volume</h5>
|
||||
0-100(default:80)<br>
|
||||
<p class="range-field"><span id="soundVolVal">80</span><br>
|
||||
<input type="range" id="soundvol" min="0" max="100" value="80" onchange="customVol()"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">send</i>Posting Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<div id="postView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
<template v-if="item.text.desc">
|
||||
<span v-html="item.text.desc"></span><br>
|
||||
</template>
|
||||
<template v-if="item.checkbox">
|
||||
<template v-for="(check, j) in item.text.checkbox">
|
||||
<template
|
||||
v-if="(!check.kirishima || (check.kirishima && kirishima) )&& (!check.quote || (check.quote && quoters))">
|
||||
<label><input class="with-gap" v-on:click="complete(i,check.value)"
|
||||
v-model="item.setValue" type="radio" v-bind:id="item.id+check.value"
|
||||
v-bind:value="check.value" />
|
||||
<span>{{check.text}}</span></label>
|
||||
<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
|
||||
</template>
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template v-if="item.doubleText">
|
||||
<template v-for="(textbox, j) in item.data">
|
||||
<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
|
||||
v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
|
||||
v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
|
||||
</template>
|
||||
<button class="btn waves-effect" style="width:7.7rem;"
|
||||
v-on:click="complete(i)">Change</button>
|
||||
</template><br>
|
||||
</template>
|
||||
</div>
|
||||
<h5>Easy inserter</h5>
|
||||
You can insert any letters and emojis with only 3 keys<br>
|
||||
Ctrl+Shift+1:<input type="text" style="width:11.5rem" id="oks-1">
|
||||
<button onclick="oks(1)" class="btn waves-effect" style="width:7.7rem;">儲存</button><br><br>
|
||||
Ctrl+Shift+2:<input type="text" style="width:11.5rem" id="oks-2">
|
||||
<button onclick="oks(2)" class="btn waves-effect" style="width:7.7rem;">儲存</button><br><br>
|
||||
Ctrl+Shift+3:<input type="text" style="width:11.5rem" id="oks-3">
|
||||
<button onclick="oks(3)" class="btn waves-effect" style="width:7.7rem;">儲存</button><br><br>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<img src="../../img/aiscript.svg"
|
||||
style="height: 1.5rem; margin-left: 0.4rem; margin-right: 0.4rem;">Plugins
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<a href="https://github.com/cutls/TheDesk/blob/master/plugin.md">Japanese docs of AiScript TheDesk plugins</a><br />
|
||||
<textarea id="plugin" data-id="add_new" style="height: 20rem"></textarea>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="completePlugin()">Change</button>
|
||||
<button class="btn waves-effect red disabled plugin_delete" style="width:7.7rem;"
|
||||
onclick="deletePlugin()">刪除</button>
|
||||
<h5>Plugin list</h5>
|
||||
<div style="width:22rem" id="plugin-selector" data-add="Add new">
|
||||
<select id="plugin-edit-sel" class="custom-sel" onchange="pluginEdit()">
|
||||
<option value="add_new">Add new</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">bookmark</i>Mute & Emphasis Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Client Mute</h5>
|
||||
<div id="mute-cli"></div>
|
||||
<h5>Client Emphasis</h5>
|
||||
Click client name on toots to toggle mute and emphasis.
|
||||
<h5>Words Mute</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordmute" style="background-color:gray;"></div>
|
||||
<button onclick="wordmuteSave()" class="btn waves-effect" style="width:7.7rem;">儲存</button>
|
||||
<h5>Words Emphasis</h5>
|
||||
Enter to set<br>
|
||||
<div class="chips" id="wordemp" style="background-color:gray;"></div>
|
||||
<button onclick="wordempSave()" class="btn waves-effect" style="width:7.7rem;">儲存</button>
|
||||
<h5>Users Emphasis</h5>
|
||||
Set on users data modals.
|
||||
<span class="emphasized"> Use this color to emphasis </span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="fab fa-spotify"></i>Spotify and NowPlaying Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Account Connection(Spotify)</h5>
|
||||
TheDesk save your data on thedesk.top server.<br>
|
||||
<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
|
||||
onclick="spotifyAuth()" class="btn waves-effect" style="width:7.7rem;">儲存</button></div>
|
||||
<a onclick="spotifyConnect()" class="btn waves-effect nex"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-enable"><i
|
||||
class="fab fa-spotify left"></i>Connect</a>
|
||||
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled"
|
||||
style="width:100%; max-width:15rem; background-color:#1ed760;" id="spotify-disable"><i
|
||||
class="fab fa-spotify left"></i>Disconnect</a>
|
||||
<h5>Account Connection(Last.fm)</h5>
|
||||
User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.<br />
|
||||
<input type="text" style="width:11.5rem" id="lastFmUser">
|
||||
<button onclick="lastFmSet()" class="btn waves-effect" style="width:7.7rem;">儲存</button>
|
||||
<h5>Edit a template</h5>
|
||||
<br>
|
||||
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
|
||||
{url}</textarea><br>
|
||||
Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
|
||||
<span class="mac">>macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}</span><br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:7.7rem;">儲存</button>
|
||||
<h5>Attach an Artwork of Spotify</h5>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes"
|
||||
value="yes" />
|
||||
<span>是</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no"
|
||||
value="no" />
|
||||
<span>否</span>
|
||||
</label>
|
||||
<div class="mac">
|
||||
<h5>If the song has no artwork, automatic complete it(macOS)</h5>
|
||||
If you nowplaying an non-artwork song, get one which seems nice through API. If you do not like the completed artwork, you can right-click it to delete.<br />
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_yes"
|
||||
value="yes" />
|
||||
<span>是</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="aMusicFlagSave()" name="amw" type="radio" id="amw_no"
|
||||
value="no" />
|
||||
<span>否</span>
|
||||
</label>
|
||||
<br>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">hearing</i>TTS(text to speech) Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>BouyomiChan connect</h5>
|
||||
Require: BouyomiChan WebSocket Plugin<a href="https://github.com/xztaityozx/BouyomiChan-WebSocket-Plugin"
|
||||
target="_blank">GitHub</a><br>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_yes"
|
||||
value="yes" />
|
||||
<span>是</span>
|
||||
</label>
|
||||
<label>
|
||||
<input class="with-gap" onchange="voiceSettings()" name="bym" type="radio" id="bym_no" value="no" />
|
||||
<span>否</span>
|
||||
</label>
|
||||
<h5>Speed</h5>
|
||||
1-100(default:10)<br>
|
||||
<p class="range-field"><span id="voicespeedVal">10</span><br>
|
||||
<input type="range" id="voicespeed" min="1" max="100" value="10"
|
||||
onchange="document.getElementById('voicespeedVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Pitch</h5>
|
||||
0-100(default:50)<br>
|
||||
<p class="range-field"><span id="voicepitchVal">50</span><br>
|
||||
<input type="range" id="voicepitch" min="0" max="100" value="50"
|
||||
onchange="document.getElementById('voicepitchVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Volume</h5>
|
||||
0-100(default:100)<br>
|
||||
<p class="range-field"><span id="voicevolVal">100</span><br>
|
||||
<input type="range" id="voicevol" min="0" max="100" value="100"
|
||||
onchange="document.getElementById('voicevolVal').innerText=this.value"
|
||||
style="width:40rem; max-width:100%" />
|
||||
</p>
|
||||
<h5>Test</h5>
|
||||
<input type="text" style="width:27rem" id="voicetxt" value="TheDesk is an open-source Mastodon client for PC.">
|
||||
<button class="btn waves-effect blue" style="width:11.5rem;" onclick="voicePlay()"
|
||||
id="testplay">Play/Stop</button><br>
|
||||
<br>
|
||||
<button class="btn waves-effect" style="width:7.7rem;" onclick="voiceSettings()">儲存</button>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<br>
|
||||
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:15rem;"><i
|
||||
class="material-icons left">undo</i>上一頁</a>
|
||||
<br>
|
||||
<br>Keyboard shortcuts
|
||||
<li>Ctrl+1-9:Jump to n(1-9)th column</li>
|
||||
<li>N:Open toot box</li>
|
||||
<li>X:Toggle toot box</li>
|
||||
<li>Ctrl+Enter:Post</li>
|
||||
<li>Ctrl+Enter+Shift:Post(secondary toot)</li>
|
||||
<li>Alt+Enter:Secondary Toot Button</li>
|
||||
<li>Ctrl+E:Make all notifications read</li>
|
||||
<li>Ctrl+U:Select the top & left(No.1 column) toot</li>
|
||||
<li>Esc:Hide toot box</li>
|
||||
<li>F5:Super Reload</li>
|
||||
<li>Ctrl+Shift+C:關閉嘟文視窗</li>
|
||||
<li>Ctrl+Shift+S:偏好設定</li>
|
||||
<li>Ctrl+Shift+M:帳號管理</li>
|
||||
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
|
||||
<li>Ctrl+Shift+P:Show profile of selecting</li>
|
||||
<li>←/→:Show next or previous image</li>
|
||||
<li>Mousewheel:Zoom a image</li>
|
||||
<div class="hide kirishima">
|
||||
以下Markdownに対応したインスタンスのみ。
|
||||
<br>
|
||||
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
|
||||
When a toot is selected:
|
||||
<li>F:Favourite this toot</li>
|
||||
<li>B:Boost this toot</li>
|
||||
<li>R:Reply to this toot</li>
|
||||
</div>
|
||||
<button class="btn waves-effect red" style="width:100%; max-width:40rem;"
|
||||
onclick="if(confirm('Delete all data. You cannot undo. Continue?')){ localStorage.clear(); location.href='index.html'; }"><i
|
||||
class="material-icons left">delete</i>Reset(Danger)</button><br><br>
|
||||
<button class="btn waves-effect indigo pwa" onclick="about()" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">info</i>關於 TheDesk</button>
|
||||
<a href="https://thedesk.top" class="btn waves-effect deep-purple lighten-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">web</i>Website</a>
|
||||
<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Support(Pixiv FANBOX)</a>
|
||||
<a href="https://www.patreon.com/cutls" class="btn waves-effect red darken-2"
|
||||
style="width:100%; max-width:40rem;"><i class="material-icons left">trending_up</i>Support(Patreon)</a>
|
||||
<a href="https://liberapay.com/cutls" class="btn waves-effect black-text"
|
||||
style="width:100%; max-width:40rem; background-color: #f6c915"><i
|
||||
class="material-icons left">trending_up</i>Support(Liberapay)</a>
|
||||
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:40rem;"><i
|
||||
class="material-icons left">list</i>幫助/Docs</a>
|
||||
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2"
|
||||
style="width:100%; max-width:40rem;"><i class="fab fa-github left"></i>GitHub</a>
|
||||
<a href="index.html?mode=user&code=Cutls@cutls.com" class="btn waves-effect blue lighten-2"
|
||||
style="width:100%; max-width:40rem;"><img src="../../img/desk_full.svg" class="left" width="25"
|
||||
style="padding-top:5px;">Main author: Cutls@cutls.com</a>
|
||||
<br>
|
||||
TheDesk @ <a href="https://github.com/cutls/TheDesk/commits/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c">89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c</a> - <a
|
||||
onclick="checkupd(); return localStorage.removeItem('new-ver-skip'); location.href='index.html';"
|
||||
class="pointer pwa">Check update</a><br>
|
||||
<br>
|
||||
Kyash<br>
|
||||
<img src="../../img/kyash.png" width="100"><br>
|
||||
<a href="https://status.cutls.com/">
|
||||
<img src="https://status.cutls.com/badge-service?site=thedesk.top">
|
||||
</a><br>
|
||||
<h5>OSS License</h5>
|
||||
<a href="https://app.fossa.com/projects/git%2Bgithub.com%2Fcutls%2FTheDesk/refs/branch/master/89b25c56e7ecf0c1c0e3b73f3138207abe1a6c9c"
|
||||
alt="FOSSA Status"><img
|
||||
src="https://app.fossa.com/api/projects/git%2Bgithub.com%2Fcutls%2FTheDesk.svg?type=small" /></a>
|
||||
<br>
|
||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018
|
||||
Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
|
||||
href="https://thedesk.top/priv.html">Privacy
|
||||
Policy</a>
|
||||
<br>
|
||||
</span><br>
|
||||
TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br>
|
||||
タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br>
|
||||
<script type="text/javascript" src="../../node_modules/lodash/lodash.min.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/aiscript.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/plugin.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/logout.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
|
|
@ -1,756 +0,0 @@
|
|||
var yesno = [
|
||||
{
|
||||
text: '是',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: '否',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
var sound = [
|
||||
{
|
||||
text: '沒有',
|
||||
value: 'none'
|
||||
},
|
||||
{
|
||||
text: '預設',
|
||||
value: 'default'
|
||||
},
|
||||
{
|
||||
text: 'Custom 1',
|
||||
value: 'c1'
|
||||
},
|
||||
{
|
||||
text: 'Custom 2',
|
||||
value: 'c2'
|
||||
},
|
||||
{
|
||||
text: 'Custom 3',
|
||||
value: 'c3'
|
||||
},
|
||||
{
|
||||
text: 'Custom 4',
|
||||
value: 'c4'
|
||||
}
|
||||
]
|
||||
var envConstruction = [
|
||||
{
|
||||
id: 'popup',
|
||||
storage: 'popup',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Popup notification',
|
||||
desc: 'Hide to set "0"',
|
||||
after: 'sec'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notf',
|
||||
storage: 'nativenotf',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Native notification',
|
||||
desc: 'This does not work on Windows Portable ver.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'width',
|
||||
storage: 'width',
|
||||
width: 50,
|
||||
setValue: 300,
|
||||
text: { after: 'px ~ ' }
|
||||
},
|
||||
{
|
||||
id: 'maxWidth',
|
||||
storage: 'max-width',
|
||||
width: 50,
|
||||
setValue: 600,
|
||||
text: { after: 'px' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Width of columns',
|
||||
desc: 'Scroll bar will be shown when your window size is more than ammounts of columns.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'margin',
|
||||
storage: 'margin',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 0,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Margin between timelines',
|
||||
desc: '',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'fixwidth',
|
||||
storage: 'fixwidth',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: 300,
|
||||
width: 50,
|
||||
text: {
|
||||
head: 'Minimum width of TweetDeck browser',
|
||||
desc: '',
|
||||
after: 'px above'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'size',
|
||||
storage: 'size',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 50,
|
||||
setValue: 13,
|
||||
text: {
|
||||
head: 'Font size',
|
||||
desc: '<span style="font-size:13px">13px(absolute value)</span>',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ha',
|
||||
storage: 'ha',
|
||||
checkbox: true,
|
||||
setValue: false,
|
||||
text: {
|
||||
head: 'Disable hardware acceleration',
|
||||
desc: 'Auto restarted',
|
||||
checkbox: [
|
||||
{
|
||||
text: '是',
|
||||
value: 'true'
|
||||
},
|
||||
{
|
||||
text: '否',
|
||||
value: 'false'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ua',
|
||||
storage: 'ua_setting',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
setValue: '',
|
||||
width: 200,
|
||||
text: {
|
||||
head: 'User agent',
|
||||
desc: 'Restart when changed'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'srcUrl',
|
||||
storage: 'srcUrl',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 200,
|
||||
setValue: 'https://google.com/search?q={q}',
|
||||
text: {
|
||||
head: 'Search engine',
|
||||
desc: '{q} will be replaced to query.',
|
||||
after: ''
|
||||
}
|
||||
},{
|
||||
id: 'download',
|
||||
storage: 'dl-win',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Versioning(o Windows downloader)',
|
||||
desc: 'ex: TheDesk-1.0.0-setup.exe',
|
||||
checkbox: yesno
|
||||
}
|
||||
}
|
||||
]
|
||||
var tlConstruction = [
|
||||
{
|
||||
id: 'time',
|
||||
storage: 'datetype',
|
||||
checkbox: true,
|
||||
setValue: 'absolute',
|
||||
text: {
|
||||
head: 'Time format',
|
||||
desc: 'Relative format:"1 minutes ago","3 days ago"<br>Absolute format:"23:25:21","2017/12/30 23:59:00"<br>Mixed format:toots posted today are relative-format, others are absolute-format.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Relative',
|
||||
value: 'relative'
|
||||
},
|
||||
{
|
||||
text: 'Absolute',
|
||||
value: 'absolute'
|
||||
},
|
||||
{
|
||||
text: 'Both relative and absolute',
|
||||
value: 'double'
|
||||
},
|
||||
{
|
||||
text: 'Mixed',
|
||||
value: 'medium'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ul',
|
||||
storage: 'locale',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Server\s unique locale',
|
||||
desc: 'This value is available on some Japanese servers',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'nsfw',
|
||||
storage: 'nsfw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide Mark sensitive pictures',
|
||||
desc: 'Strong blur effect',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw',
|
||||
storage: 'cw',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Hide CW contents',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'rp',
|
||||
storage: 'replyct',
|
||||
checkbox: true,
|
||||
setValue: 'hidden',
|
||||
text: {
|
||||
head: 'Reply counter style',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Show 1+ if the replies are more than 1.',
|
||||
value: 'hidden'
|
||||
},
|
||||
{
|
||||
text: 'Show full count(1,2...)',
|
||||
value: 'all'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'gif',
|
||||
storage: 'gif',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animated GIF images animation',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'tag',
|
||||
storage: 'tag-range',
|
||||
checkbox: true,
|
||||
setValue: 'local',
|
||||
text: {
|
||||
head: 'Tag TL Search',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Use federated network',
|
||||
value: 'all'
|
||||
},
|
||||
{
|
||||
text: 'Use local network',
|
||||
value: 'local'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'via',
|
||||
storage: 'viashow',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Show via',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'mov',
|
||||
storage: 'mouseover',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Hide action buttons without mouseover',
|
||||
desc: 'You may feel \mouseover\ is unconfortable:(',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Mouseover to show',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Click to show',
|
||||
value: 'click'
|
||||
},
|
||||
{
|
||||
text: '否',
|
||||
value: 'no'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'notfm',
|
||||
storage: 'setasread',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Show Notification marker, red colored bell and counter(if you show a notification column.)',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'sentence',
|
||||
storage: 'sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'lines above 或' }
|
||||
},
|
||||
{
|
||||
id: 'letters',
|
||||
storage: 'letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'letters above' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Auto folding',
|
||||
desc: 'TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img-height',
|
||||
storage: 'img-height',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 80,
|
||||
setValue: 200,
|
||||
text: {
|
||||
head: 'Height of images',
|
||||
desc: 'Option:Set "full" to uncrop.',
|
||||
after: 'px'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'ticker',
|
||||
storage: 'ticker_ok',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Enable OpenSticker',
|
||||
desc: 'Show the instance name and favicon of tooters <a href="https://opensticker.0px.io">About OpenSticker</a>',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'anime',
|
||||
storage: 'animation',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Animation of timelines',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'markers',
|
||||
storage: 'markers',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Markers(mark as read) on HTL and notifications',
|
||||
desc: 'Mastodon 3.0~. Shared on WebUI and third-party supported clients.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'remote_img',
|
||||
storage: 'remote_img',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Get images from the remote server',
|
||||
desc: 'All previews are got from your loginned cache server.',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'bkm',
|
||||
storage: 'bookmark',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Show a bookmarking toot button',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'scroll',
|
||||
storage: 'scroll',
|
||||
checkbox: true,
|
||||
setValue: 'normalScrollBar',
|
||||
text: {
|
||||
head: 'Height of the scroll bar',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Thick',
|
||||
value: 'thickScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Normal',
|
||||
value: 'normalScrollBar'
|
||||
},
|
||||
{
|
||||
text: 'Thin',
|
||||
value: 'thinScrollBar'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'replySound',
|
||||
storage: 'replySound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Reply)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'favSound',
|
||||
storage: 'favSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Fav)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'btSound',
|
||||
storage: 'btSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Boost)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'followSound',
|
||||
storage: 'followSound',
|
||||
checkbox: true,
|
||||
setValue: 'none',
|
||||
text: {
|
||||
head: 'Sound(Follow)',
|
||||
desc: '',
|
||||
checkbox: sound
|
||||
}
|
||||
}
|
||||
]
|
||||
var postConstruction = [
|
||||
{
|
||||
id: 'cw-text',
|
||||
storage: 'cw-text',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 150,
|
||||
setValue: '',
|
||||
text: {
|
||||
head: 'Default warining text',
|
||||
desc: '',
|
||||
after: ''
|
||||
}
|
||||
},
|
||||
{
|
||||
checkbox: false,
|
||||
doubleText: true,
|
||||
data: [
|
||||
{
|
||||
id: 'cw_sentence',
|
||||
storage: 'cw_sentence',
|
||||
width: 50,
|
||||
setValue: 500,
|
||||
text: { after: 'lines above 或' }
|
||||
},
|
||||
{
|
||||
id: 'cw_letters',
|
||||
storage: 'cw_letters',
|
||||
width: 50,
|
||||
setValue: 7000,
|
||||
text: { after: 'letters above' }
|
||||
}
|
||||
],
|
||||
text: {
|
||||
head: 'Alert before posting a long toot.',
|
||||
desc: 'Show dialog whether you make too-long text hidden.'
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cws',
|
||||
storage: 'always-cw',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Always CW set',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'cw-continue',
|
||||
storage: 'cw-continue',
|
||||
checkbox: true,
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: '@@cwContinue@@',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'vis',
|
||||
storage: 'vis',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Default visibility',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Public',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Unlisted',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Private',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direct',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Memory(memorized as each server)',
|
||||
value: 'memory'
|
||||
},
|
||||
{
|
||||
text: 'Default of your visibility(Set on preferences of Mastodon server)',
|
||||
value: 'useapi'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'img',
|
||||
storage: 'img',
|
||||
checkbox: true,
|
||||
setValue: 'no-act',
|
||||
text: {
|
||||
head: 'Posting images preferences',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Insert media URL',
|
||||
value: 'url'
|
||||
},
|
||||
{
|
||||
text: 'Insert nothig',
|
||||
value: 'no-act'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'box',
|
||||
storage: 'box',
|
||||
checkbox: true,
|
||||
setValue: 'yes',
|
||||
text: {
|
||||
head: 'Action of posting-box',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Folding',
|
||||
value: 'yes'
|
||||
},
|
||||
{
|
||||
text: 'Open after posting',
|
||||
value: 'no'
|
||||
},
|
||||
{
|
||||
text: 'Absolutely open',
|
||||
value: 'absolute'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'quote',
|
||||
storage: 'quote',
|
||||
checkbox: true,
|
||||
setValue: 'nothing',
|
||||
text: {
|
||||
head: 'Quote format',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Only URL',
|
||||
value: 'simple'
|
||||
},
|
||||
{
|
||||
text: 'URL and acct(mention to the user)',
|
||||
value: 'mention'
|
||||
},
|
||||
{
|
||||
text: 'URL, text and acct(mention to the user)',
|
||||
value: 'full'
|
||||
},
|
||||
{
|
||||
text: 'API(only some instances)',
|
||||
value: 'apiQuote',
|
||||
quote: true
|
||||
},
|
||||
{
|
||||
text: 'Disabled(Hide buttons on TLs)',
|
||||
value: 'nothing'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'main',
|
||||
storage: 'mainuse',
|
||||
checkbox: true,
|
||||
setValue: 'remain',
|
||||
text: {
|
||||
head: 'Default accounts of actions',
|
||||
desc: 'Main account can be set on Account Manager.',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Account you used recently',
|
||||
value: 'remain'
|
||||
},
|
||||
{
|
||||
text: 'Main account',
|
||||
value: 'main'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'sec',
|
||||
storage: 'sec',
|
||||
checkbox: true,
|
||||
setValue: 'public',
|
||||
text: {
|
||||
head: 'Secondary Toot Button',
|
||||
desc: '',
|
||||
checkbox: [
|
||||
{
|
||||
text: 'Hidden',
|
||||
value: 'nothing'
|
||||
},
|
||||
{
|
||||
text: 'Public',
|
||||
value: 'public'
|
||||
},
|
||||
{
|
||||
text: 'Unlisted',
|
||||
value: 'unlisted'
|
||||
},
|
||||
{
|
||||
text: 'Private',
|
||||
value: 'private'
|
||||
},
|
||||
{
|
||||
text: 'Direct',
|
||||
value: 'direct'
|
||||
},
|
||||
{
|
||||
text: 'Local Only',
|
||||
value: 'local',
|
||||
kirishima: true,
|
||||
kirishimaText: '非対応インスタンスでは「未収載」になります。'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'zero',
|
||||
storage: 'emoji-zero-width',
|
||||
checkbox: true,
|
||||
setValue: 'normal',
|
||||
setValue: 'no',
|
||||
text: {
|
||||
head: 'Zero-width space when inserting emojis',
|
||||
desc: '',
|
||||
checkbox: yesno
|
||||
}
|
||||
},{
|
||||
id: 'uploadCrop',
|
||||
storage: 'uploadCrop',
|
||||
checkbox: false,
|
||||
doubleText: false,
|
||||
width: 100,
|
||||
setValue: '0',
|
||||
text: {
|
||||
head: 'Auto scale to fit',
|
||||
desc: 'Max long-side px. Uploaded images are converted to JPEG(from JPEG) or PNG(from others). Set 0 and the images will not be resized. Notice: if you post an animated picture like GIF, it will be converted static one.',
|
||||
after: 'px'
|
||||
}
|
||||
}
|
||||
]
|
|
@ -1,302 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="zh-TW">
|
||||
<head>
|
||||
<title>Update - TheDesk</title>
|
||||
<link href="../../node_modules/materialize-css/dist/css/materialize.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<meta charset="utf-8" />
|
||||
<!--
|
||||
<script type="text/javascript">
|
||||
var _jipt = []
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
-->
|
||||
<style>
|
||||
body {
|
||||
font-family: 'Open Sans';
|
||||
-webkit-app-region: drag;
|
||||
cursor: move;
|
||||
padding: 10px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#start {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100vw;
|
||||
height: calc(100vh - 2.5rem);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#checkbox {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
a,
|
||||
button,
|
||||
input,
|
||||
label,
|
||||
i {
|
||||
-webkit-app-region: no-drag;
|
||||
}
|
||||
|
||||
#updskip {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.skipbtn {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100px;
|
||||
border: 1px solid;
|
||||
margin-left: 5px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid #c26363;
|
||||
overflow: hidden;
|
||||
color: #c26363;
|
||||
margin-bottom: 5px;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.skipbtn:hover {
|
||||
background-color: #c26363;
|
||||
transition: all 0.3s ease-in-out;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#prog {
|
||||
font-size: 200%;
|
||||
}
|
||||
</style>
|
||||
<link href="../../node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet" />
|
||||
<script>var pwa = false;</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="../../node_modules/jquery/dist/jquery.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="../../node_modules/materialize-css/dist/js/materialize.js"></script>
|
||||
<i class="material-icons pointer waves-effect" onclick="about();">info</i>
|
||||
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
|
||||
<!--a href="update.html">Reload</a-->
|
||||
<div id="start" style="filter: brightness(100%)">
|
||||
<div id="box" class="show">
|
||||
<h2>TheDesk</h2>
|
||||
<p>取得最新的 TheDesk</p>
|
||||
<span id="now"></span>→<b id="ver"></b><br />
|
||||
<a href="" id="github" class="btn waves-effect grey darken-1"><i class="fab fa-github left"></i>新功能?</a><br />
|
||||
<button class="waves-effect btn windows hide" onclick="update('install')" style="margin-left: 15px;">安裝程式 (建議)</button>
|
||||
<button class="waves-effect btn windows hide" onclick="update('portable')" style="margin-left: 15px;">可攜式版本</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linux')" style="margin-left: 15px;">zip 壓縮檔</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxdeb')" style="margin-left: 15px;">deb (建議於 Ubuntu 與 Debian 使用)</button>
|
||||
<button class="waves-effect btn linux hide" onclick="update('linuxsnap')" style="margin-left: 15px;">snap 軟體包裹</button>
|
||||
<button class="waves-effect btn mac hide" onclick="update('mac')" style="margin-left: 15px;">開始</button>
|
||||
<br />
|
||||
有些問題嗎?<br />請於 <a href='https://thedesk.top'>Oficial HP</a> 下載。
|
||||
</div>
|
||||
<div id="skipper" class="hide">
|
||||
<h4>掠過這個更新</h4>
|
||||
您可能會失去很酷的體驗!<br />
|
||||
<div id="updskip">
|
||||
<a onclick="window.close();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>隱藏直到下個時間軸讀取時</div>
|
||||
</a>
|
||||
<a onclick="nextv();" class="pointer skipbtn waves-effect waves-light">
|
||||
<div>隱藏直到下個版本</div>
|
||||
</a>
|
||||
</div>
|
||||
<a class="pointer waves-effect" onclick="skipper();" style="margin-top: 5px;">持續更新</a>
|
||||
</div>
|
||||
<div id="dlnow" class="hide" style="width: 70%;">
|
||||
<h4>正在下載...</h4>
|
||||
<h4 id="prog"></h4>
|
||||
<div class="progress">
|
||||
<div class="determinate" style="width: 0%;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script>
|
||||
function skipper() {
|
||||
$('#dlnow').addClass('hide')
|
||||
$('#box').toggleClass('show')
|
||||
if ($('#box').hasClass('hide') && $('#skipper').hasClass('hide')) {
|
||||
$('#skipper').removeClass('hide')
|
||||
$('#skipper').addClass('show')
|
||||
} else {
|
||||
$('#box').toggleClass('hide')
|
||||
$('#skipper').toggleClass('hide')
|
||||
$('#skipper').toggleClass('show')
|
||||
}
|
||||
}
|
||||
verck()
|
||||
function update(sel) {
|
||||
$('#box').toggleClass('show')
|
||||
$('#box').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('hide')
|
||||
$('#dlnow').toggleClass('show')
|
||||
$('#prog').text('')
|
||||
var bit = localStorage.getItem('bit')
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
if (sel == 'install') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup.exe'
|
||||
}
|
||||
var filesize = json.winx64_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-setup-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-setup-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32_size
|
||||
}
|
||||
} else if (sel == 'portable') {
|
||||
if (bit == 'x64') {
|
||||
var url = json['winx64p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '.exe'
|
||||
} else {
|
||||
var file = 'TheDesk.exe'
|
||||
}
|
||||
var filesize = json.winx64p_size
|
||||
} else if (bit == 'ia32') {
|
||||
var url = json['winia32p']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'TheDesk-' + json.unique + '-ia32.exe'
|
||||
} else {
|
||||
var file = 'TheDesk-ia32.exe'
|
||||
}
|
||||
var filesize = json.winia32p_size
|
||||
}
|
||||
} else if (sel == 'linux') {
|
||||
var url = json['linuxx64']
|
||||
if (localStorage.getItem('dl-win') == 'yes') {
|
||||
var file = 'thedesk-' + json.unique_linux + '.zip'
|
||||
} else {
|
||||
var file = 'thedesk.zip'
|
||||
}
|
||||
var filesize = json.linuxx64_size
|
||||
} else if (sel == 'linuxdeb') {
|
||||
var url = json['linuxdeb']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.deb'
|
||||
var filesize = json.linuxdeb_size
|
||||
} else if (sel == 'linuxsnap') {
|
||||
var url = json['linuxsnap']
|
||||
var file = 'thedesk_' + json.unique_linux + '_amd64.snap'
|
||||
var filesize = json.linuxsnap_size
|
||||
} else if (sel == 'mac') {
|
||||
var url = json['mac']
|
||||
var file = 'TheDesk-' + json.unique_mac + '.dmg'
|
||||
var filesize = json.mac_size
|
||||
}
|
||||
postMessage(['downloadButton', [url, file, filesize]], '*')
|
||||
})
|
||||
}
|
||||
function quit() {
|
||||
postMessage(['sendSinmpleIpc', 'quit'], '*')
|
||||
}
|
||||
function updateProg(arg) {
|
||||
$('.determinate').css('width', arg[0].percent * 100 + '%')
|
||||
$('#prog').html(`${Math.floor(arg[0].percent * 100)}%<br />(${Math.floor(arg[0].percent*arg[1]/1024/1024*10)/10} MB / ${Math.floor(arg[1]/1024/1024*10)/10} MB)`)
|
||||
|
||||
}
|
||||
function updateMess(arg) {
|
||||
console.log(arg)
|
||||
$('#prog').text(arg)
|
||||
}
|
||||
function verck() {
|
||||
var platform = localStorage.getItem('platform')
|
||||
var bit = localStorage.getItem('bit')
|
||||
if (platform == 'win32') {
|
||||
$('.windows').removeClass('hide')
|
||||
} else if (platform == 'linux') {
|
||||
$('.linux').removeClass('hide')
|
||||
} else if (platform == 'darwin') {
|
||||
$('.mac').removeClass('hide')
|
||||
}
|
||||
var start = 'https://thedesk.top/ver.json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
console.log(json)
|
||||
if (platform == 'win32') {
|
||||
$('#ver').text(json.desk)
|
||||
localStorage.setItem('next-ver', json.desk)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique
|
||||
} else if (platform == 'linux') {
|
||||
$('#ver').text(json.desk_linux)
|
||||
localStorage.setItem('next-ver', json.desk_linux)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_linux
|
||||
} else if (platform == 'darwin') {
|
||||
$('#ver').text(json.desk_mac)
|
||||
localStorage.setItem('next-ver', json.desk_mac)
|
||||
var url = 'https://github.com/cutls/TheDesk/releases/tag/v' + json.unique_mac
|
||||
}
|
||||
|
||||
$('#github').attr('href', url)
|
||||
|
||||
$('#now').text(localStorage.getItem('ver'))
|
||||
})
|
||||
}
|
||||
function nextv() {
|
||||
localStorage.setItem('new-ver-skip', 'true')
|
||||
window.close()
|
||||
}
|
||||
function enc(ver) {
|
||||
var ver = ver.replace(/\s/g, '')
|
||||
var ver = ver.replace(/\(/g, '-')
|
||||
var ver = ver.replace(/\)/g, '')
|
||||
var ver = ver.replace(/\[/g, '_')
|
||||
var ver = ver.replace(/\]/g, '')
|
||||
return ver
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user