TheDesk Akane (16.1.1)

This commit is contained in:
cutls 2018-09-12 01:49:41 +09:00
parent 9ce718fbf0
commit 2f8b11b0b2
37 changed files with 2764 additions and 306 deletions

2
.gitignore vendored
View File

@ -4,6 +4,7 @@
*.exe *.exe
TheDesk-* TheDesk-*
app/build app/build
make.js
app/.DS_Store app/.DS_Store
.DS_Store .DS_Store
.vs/* .vs/*
@ -11,3 +12,4 @@ app/.DS_Store
enq.md enq.md
app/.tkn app/.tkn
app/node_modules app/node_modules
app/js/login/tkn.js

View File

@ -43,7 +43,7 @@ __太字__ は2018年5月20日現在のTheDeskで使用されたコードネー
1. __Airi__ 1. __Airi__
1. __Mizuki__ 1. __Mizuki__
1. __Mio__ 1. __Mio__
1. Akane 1. __Akane__
1. Miria 1. Miria
1. Nana 1. Nana
1. [Minami] 1. [Minami]

View File

@ -21,11 +21,11 @@ Contact me(bug report...):GitHub Issues, mention to [Cutls@kirishima.cloud](http
### Translation/翻訳 ### Translation/翻訳
The Developer needs nice translation of TheDesk! The Developer needs nice translation of TheDesk!
Pull Request to `language/*.json` and `js/lang/*.js`. Pull Request to `/app/view/make/language/*.json` and `/app/js/lang/*.js`.
You cannot PR? You can also write Issues. You cannot PR? You can also write Issues.
翻訳を募集しております.特に英語に関しては文法語法的に間違っている箇所が多いので, 翻訳を募集しております.特に英語に関しては文法語法的に間違っている箇所が多いので,
`language/*.json` と `js/lang/*.js`にプルリクエストするか, `/app/view/make/language/*.json` と `/app/js/lang/*.js`にプルリクエストするか,
該当箇所がわからない場合はIssuesに書いてください. 該当箇所がわからない場合はIssuesに書いてください.
他言語も大歓迎です! 他言語も大歓迎です!

View File

@ -142,6 +142,9 @@ iframe {
grid-template-columns: 43px 2fr 1fr; grid-template-columns: 43px 2fr 1fr;
grid-template-areas: 'notice notice notice' 'icon display_name display_name' 'icon toot toot' 'vis additional additional' 'actions actions side'; grid-template-areas: 'notice notice notice' 'icon display_name display_name' 'icon toot toot' 'vis additional additional' 'actions actions side';
} }
.cvo h1,.cvo h2,.cvo h3,.cvo h4,.cvo h5,.cvo h6{
margin:0;
}
.area-notice { .area-notice {
margin:2px; margin:2px;

View File

@ -1,5 +0,0 @@
<!doctype html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL='language.html?mode=redirect'" />
</head>

View File

@ -21,7 +21,6 @@ function verck(ver) {
// 生成する文字列に含める文字セット // 生成する文字列に含める文字セット
var c = "abcdefghijklmnopqrstuvwxyz0123456789"; var c = "abcdefghijklmnopqrstuvwxyz0123456789";
var cl = c.length; var cl = c.length;
var r = ""; var r = "";
for(var i=0; i<l; i++){ for(var i=0; i<l; i++){

View File

@ -443,7 +443,7 @@ function multiSelector() {
$("#textarea").attr("data-length", idata[domain+"_letters"]) $("#textarea").attr("data-length", idata[domain+"_letters"])
}else{ }else{
var maxletters = localStorage.getItem("letters_" + key); var maxletters = localStorage.getItem("letters_" + key);
if(maxletters){ if(maxletters>0){
$("#textarea").attr("data-length", maxletters) $("#textarea").attr("data-length", maxletters)
}else{ }else{
$("#textarea").attr("data-length", 500) $("#textarea").attr("data-length", 500)

View File

@ -65,10 +65,6 @@ function load() {
}else{ }else{
$("#linux").prop("checked", true); $("#linux").prop("checked", true);
} }
ipc.send('mkc', "");
ipc.on('mkcr', function (event, arg) {
localStorage.setItem("mkc",arg)
})
} }
//最初に読む //最初に読む
@ -336,8 +332,8 @@ function misskeyLogin(url) {
httpreq.setRequestHeader('Content-Type', 'application/json'); httpreq.setRequestHeader('Content-Type', 'application/json');
httpreq.responseType = 'json'; httpreq.responseType = 'json';
localStorage.setItem("msky","true"); localStorage.setItem("msky","true");
if(url=="misskey.xyz"){ if(url=="misskey.xyz" && misskeytoken){
var mkc=localStorage.getItem("mkc"); var mkc=misskeytoken;
}else{ }else{
var mkc=$("#misskey-key").val(); var mkc=$("#misskey-key").val();
localStorage.setItem("mkc",mkc) localStorage.setItem("mkc",mkc)

View File

@ -0,0 +1,3 @@
//jQuery読む
window.jQuery = window.$ = require('./js/common/jquery.js');
var Hammer = require('./js/common/hammer.min.js');

View File

@ -1,3 +1,3 @@
//jQuery読む //jQuery読む
window.jQuery = window.$ = require('./js/common/jquery.js'); window.jQuery = window.$ = require('../../js/common/jquery.js');
var Hammer = require('./js/common/hammer.min.js'); var Hammer = require('../../js/common/hammer.min.js');

View File

@ -475,6 +475,14 @@ function oksload(){
if(localStorage.getItem("oks-2")){$("#oks-2").val(localStorage.getItem("oks-2"))} if(localStorage.getItem("oks-2")){$("#oks-2").val(localStorage.getItem("oks-2"))}
if(localStorage.getItem("oks-3")){$("#oks-3").val(localStorage.getItem("oks-3"))} if(localStorage.getItem("oks-3")){$("#oks-3").val(localStorage.getItem("oks-3"))}
} }
function changelang(lang){
var electron = require("electron");
var ipc = electron.ipcRenderer;
ipc.send('lang',lang);
ipc.on('langres', function (event, arg) {
location.href="../"+lang+"/setting.html"
});
}
function exportSettings(){ function exportSettings(){
if(!confirm(lang_setting_exportwarn[lang])){ if(!confirm(lang_setting_exportwarn[lang])){
return false; return false;

View File

@ -24,7 +24,7 @@ function tips(mode){
clearInterval(spotStart); clearInterval(spotStart);
if(mode=="ver"){ if(mode=="ver"){
tipsToggle() tipsToggle()
$("#tips-text").html('<img src="./img/desk.png" width="20"><span style="font-size:20px">TheDesk</span> '+localStorage.getItem("ver")+'[<i class="material-icons" style="font-size:1.2rem;top: 3px;position: relative;">supervisor_account</i><span id="persons">1+</span>]') $("#tips-text").html('<img src="../../img/desk.png" width="20"><span style="font-size:20px">TheDesk</span> '+localStorage.getItem("ver")+'[<i class="material-icons" style="font-size:1.2rem;top: 3px;position: relative;">supervisor_account</i><span id="persons">1+</span>]')
localStorage.setItem("tips","ver") localStorage.setItem("tips","ver")
}else if(mode=="clock"){ }else if(mode=="clock"){
tipsToggle() tipsToggle()

View File

@ -22,6 +22,7 @@ const join = require('path').join;
let mainWindow; let mainWindow;
var info_path = join(app.getPath("userData"), "window-size.json"); var info_path = join(app.getPath("userData"), "window-size.json");
var max_info_path = join(app.getPath("userData"), "max-window-size.json"); var max_info_path = join(app.getPath("userData"), "max-window-size.json");
var lang_path=join(app.getPath("userData"), "language");
var tmp_img = join(app.getPath("userData"), "tmp.png"); var tmp_img = join(app.getPath("userData"), "tmp.png");
var window_size; var window_size;
try { try {
@ -62,6 +63,17 @@ function createWindow() {
var arg={width:window_size.width,height:window_size.height,x:window_size.x,y:window_size.y,simpleFullscreen:true} var arg={width:window_size.width,height:window_size.height,x:window_size.x,y:window_size.y,simpleFullscreen:true}
} }
mainWindow = new BrowserWindow(arg); mainWindow = new BrowserWindow(arg);
try {
var lang = fs.readFileSync(lang_path, 'utf8');
} catch (e) {
var lang=app.getLocale();
if(~lang.indexOf("ja")){
lang="ja";
}else{
lang="en";
}
fs.writeFileSync(lang_path,lang);
}
electron.session.defaultSession.clearCache(() => {}) electron.session.defaultSession.clearCache(() => {})
if(process.argv){ if(process.argv){
if(process.argv[1]){ if(process.argv[1]){
@ -69,18 +81,17 @@ function createWindow() {
if(m){ if(m){
var mode=m[1]; var mode=m[1];
var code=m[2]; var code=m[2];
mainWindow.loadURL('file://' + __dirname + '/index.html?mode='+mode+'&code='+code); var plus='?mode='+mode+'&code='+code;
}else{ }else{
//mainWindow.loadURL('file://' + __dirname + '/index.html?mode=share&code=日本語'); var plus="";
mainWindow.loadURL('file://' + __dirname + '/index.html');
} }
}else{ }else{
mainWindow.loadURL('file://' + __dirname + '/index.html'); var plus="";
} }
}else{ }else{
mainWindow.loadURL('file://' + __dirname + '/index.html'); var plus="";
} }
mainWindow.loadURL('file://' + __dirname + '/view/'+lang+'/index.html'+plus);
if(!window_size.x && !window_size.y){ if(!window_size.x && !window_size.y){
mainWindow.center(); mainWindow.center();
} }
@ -199,50 +210,7 @@ ipc.on('native-notf', function(e, args) {
}); });
//言語 //言語
ipc.on('lang', function(e, arg) { ipc.on('lang', function(e, arg) {
//index.html fs.writeFileSync(lang_path,arg);
var indextemp=fs.readFileSync(__dirname + '/index.sample.html', 'utf8');
var indexjson=JSON.parse(fs.readFileSync(__dirname + '/language/index.'+arg+'.json', 'utf8'));
Object.keys(indexjson).forEach(function(indexkey) {
var regExp = new RegExp("{{" + indexkey + "}}", "g");
indextemp = indextemp.replace(regExp, indexjson[indexkey]);
});
var regExp = new RegExp("{{lang}}", "g");
indextemp = indextemp.replace(regExp, arg);
fs.writeFileSync(__dirname + '/index.html',indextemp);
//acct.html
var accttemp=fs.readFileSync(__dirname + '/acct.sample.html', 'utf8');
var acctjson=JSON.parse(fs.readFileSync(__dirname + '/language/acct.'+arg+'.json', 'utf8'));
Object.keys(acctjson).forEach(function(acctkey) {
var regExp = new RegExp("{{" + acctkey + "}}", "g");
accttemp = accttemp.replace(regExp, acctjson[acctkey]);
});
var regExp = new RegExp("{{lang}}", "g");
accttemp = accttemp.replace(regExp, arg);
fs.writeFileSync(__dirname + '/acct.html',accttemp);
//setting.html
var settingtemp=fs.readFileSync(__dirname + '/setting.sample.html', 'utf8');
var settingjson=JSON.parse(fs.readFileSync(__dirname + '/language/setting.'+arg+'.json', 'utf8'));
Object.keys(settingjson).forEach(function(settingkey) {
var regExp = new RegExp("{{" + settingkey + "}}", "g");
settingtemp = settingtemp.replace(regExp, settingjson[settingkey]);
});
var regExp = new RegExp("{{lang}}", "g");
settingtemp = settingtemp.replace(regExp, arg);
fs.writeFileSync(__dirname + '/setting.html',settingtemp);
//update.html
var updatetemp=fs.readFileSync(__dirname + '/update.sample.html', 'utf8');
var updatejson=JSON.parse(fs.readFileSync(__dirname + '/language/update.'+arg+'.json', 'utf8'));
Object.keys(updatejson).forEach(function(updatekey) {
var regExp = new RegExp("{{" + updatekey + "}}", "g");
updatetemp = updatetemp.replace(regExp, updatejson[updatekey]);
});
var regExp = new RegExp("{{lang}}", "g");
updatetemp = updatetemp.replace(regExp, arg);
fs.writeFileSync(__dirname + '/update.html',updatetemp);
console.log("done");
mainWindow.webContents.send('langres', ""); mainWindow.webContents.send('langres', "");
}) })
@ -257,7 +225,8 @@ ipc.on('update', function(e, x, y) {
"frame": false, // 枠の無いウィンドウ "frame": false, // 枠の無いウィンドウ
"resizable": false "resizable": false
}); });
updatewin.loadURL('file://' + __dirname + '/update.html'); var lang = fs.readFileSync(lang_path, 'utf8');
updatewin.loadURL('file://' + __dirname + '/view/'+lang+'/update.html');
return "true" return "true"
}else{ }else{
@ -309,11 +278,23 @@ ipc.on('download-btn', (e, args) => {
var platform=process.platform; var platform=process.platform;
var bit=process.arch; var bit=process.arch;
var versioning=args[3]; var versioning=args[3];
var portable=args[2];
if(platform=="win32" || platform=="linux" || platform=="darwin" ){ if(platform=="win32" || platform=="linux" || platform=="darwin" ){
var exe=false;
if(platform=="win32" && bit=="x64"){ if(platform=="win32" && bit=="x64"){
var zip="TheDesk-win32-x64.zip"; if(portable){
var zip="TheDesk.exe";
}else{
var zip="TheDesk-setup.exe";
}
exe=true;
}else if(platform=="win32" && bit=="ia32"){ }else if(platform=="win32" && bit=="ia32"){
var zip="TheDesk-win32-ia32.zip"; if(portable){
var zip="TheDesk-ia32.exe";
}else{
var zip="TheDesk-setup-ia32.exe";
}
exe=true;
}else if(platform=="linux" && bit=="x64"){ }else if(platform=="linux" && bit=="x64"){
var zip="TheDesk-linux-x64.zip"; var zip="TheDesk-linux-x64.zip";
}else if(platform=="linux" && bit=="ia32"){ }else if(platform=="linux" && bit=="ia32"){
@ -323,8 +304,10 @@ ipc.on('download-btn', (e, args) => {
}else{ }else{
return; return;
} }
if(versioning){ if(versioning && !exe){
zip=zip.replace(".zip","."+args[1]+".zip"); zip=zip.replace(".zip","."+args[1]+".zip");
}else if(versioning){
zip=zip.replace(".exe","."+args[1]+".exe");
} }
}else{ }else{
const options = { const options = {
@ -344,7 +327,6 @@ ipc.on('download-btn', (e, args) => {
} }
} }
var ver=args[1]; var ver=args[1];
var unzipper=args[2];
console.log(zip); console.log(zip);
if(args[0]=="true"){ if(args[0]=="true"){
@ -368,10 +350,10 @@ ipc.on('download-btn', (e, args) => {
fs.unlink(savedFiles); fs.unlink(savedFiles);
} }
console.log(m[1]+":"+savedFiles) console.log(m[1]+":"+savedFiles)
dl(unzipper,ver,m[1],savedFiles); dl(portable,ver,m[1],savedFiles);
}); });
}else{ }else{
dl(unzipper,ver); dl(portable,ver);
} }
}); });
@ -383,15 +365,23 @@ function isExistFile(file) {
if(err.code === 'ENOENT') return false if(err.code === 'ENOENT') return false
} }
} }
function dl(unzipper,ver,files,fullname){ function dl(portable,ver,files,fullname){
console.log(files); console.log(files);
var platform=process.platform; var platform=process.platform;
var bit=process.arch; var bit=process.arch;
if(platform=="win32"){ if(platform=="win32"){
if(bit=="x64"){ if(bit=="x64"){
var zip="TheDesk-win32-x64.zip"; if(portable){
var zip="TheDesk.exe";
}else{
var zip="TheDesk-setup.exe";
}
}else if(bit=="ia32"){ }else if(bit=="ia32"){
var zip="TheDesk-win32-ia32.zip"; if(portable){
var zip="TheDesk-ia32.exe";
}else{
var zip="TheDesk-setup-ia32.exe";
}
} }
}else if(platform=="linux"){ }else if(platform=="linux"){
if(bit=="x64"){ if(bit=="x64"){
@ -416,7 +406,7 @@ function dl(unzipper,ver,files,fullname){
updatewin.webContents.send('mess', "ダウンロードを開始します。"); updatewin.webContents.send('mess', "ダウンロードを開始します。");
const opts = { const opts = {
directory:files, directory:fullname,
openFolderWhenDone: true, openFolderWhenDone: true,
onProgress: function(e) { onProgress: function(e) {
updatewin.webContents.send('prog', e); updatewin.webContents.send('prog', e);
@ -427,26 +417,7 @@ function dl(unzipper,ver,files,fullname){
'https://dl.thedesk.top/'+zip, opts) 'https://dl.thedesk.top/'+zip, opts)
.then(dl => { .then(dl => {
updatewin.webContents.send('mess', "ダウンロードが完了しました。"); updatewin.webContents.send('mess', "ダウンロードが完了しました。");
if(unzipper && platform=="win32"){
mainWindow.webContents.send('mess', "unzip");
console.log(files+"/"+zip);
fs.rename(files+"/"+zip, app.getPath("userData")+"/TheDesk-temp.zip", function (err) {
var AdmZip = require('adm-zip');
var zipp = new AdmZip(app.getPath("userData")+"/TheDesk-temp.zip");
zipp.extractAllTo(app.getPath("userData")+"/",true);
var bat='@echo off\nrmdir /s /q "'+files+'\\TheDesk-win32-'+bit+'" /Q\nmove /Y "'+app.getPath("userData")+'\\TheDesk-win32-'+bit+'" "'+files+'\\"\nstart '+files+'\\TheDesk-win32-'+bit+'\\TheDesk.exe\nexit';
fs.writeFile(app.getPath("userData")+"/update.bat",bat,function(err){
const exec = require('child_process').exec;
exec('start '+app.getPath("userData")+"\\update.bat", (err, stdout, stderr) => {
app.quit(); app.quit();
if (err) { console.log(err); }
console.log(stdout);
});
});
})
}else{
app.quit();
}
}) })
.catch(console.error); .catch(console.error);

View File

@ -1,6 +1,6 @@
{ {
"name": "thedesk", "name": "thedesk",
"version": "16.1.0", "version": "16.1.1",
"description": "TheDesk is a Mastodon client for PC.", "description": "TheDesk is a Mastodon client for PC.",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {
@ -44,9 +44,7 @@
"win": { "win": {
"icon": "thedesk.ico", "icon": "thedesk.ico",
"target": [ "target": [
"nsis", "nsis","portable"
"portable",
"msi"
] ]
}, },
"linux": { "linux": {

View File

@ -1,29 +0,0 @@
<!doctype html>
<html lang="ja">
<head>
<title>TheDesk Screenshot</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="./css/materialize.css" type="text/css" rel="stylesheet">
<link href="./css/auth.css" type="text/css" rel="stylesheet">
<link href='./css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href='./css/tl.css' rel='stylesheet' type='text/css'>
<link href='./css/userdata.css' rel='stylesheet' type='text/css'>
<link href='./css/post.css' rel='stylesheet' type='text/css'>
<link href="./css/master.css" type="text/css" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<meta charset="utf-8">
</head>
<body style="padding:5px;">
<script type="text/javascript" src="./js/common/jquery.js"></script>
<script type="text/javascript" src="./js/platform/first.js"></script>
<script type="text/javascript" src="./js/common/materialize.js"></script>
<div id="toot" class="cvo"></div>
<script>
//console.log(location.search);
$("#toot").html(localStorage.getItem("sc-text"));
localStorage.removeItem("sc-text");
</script>
<script type="text/javascript" src="./js/ui/theme.js"></script>
<script type="text/javascript" src="./js/platform/screenshot.js"></script><br>
<span style="position: absolute; bottom:0;">数秒お待ち下さい。完了後エクスプローラーが表示されます。</span>

93
app/view/en/acct.html Normal file
View File

@ -0,0 +1,93 @@
<!doctype html>
<html lang="en">
<head>
<title>Account Manager - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href='../../css/tl.css' rel='stylesheet' type='text/css'>
<link href='../../css/userdata.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<style>.acct{display:flex; justify-content:space-around;}
.card{width:400px; background-color: #9e9e9e; margin:10px; }
body,html{overflow-y: scroll;}
#acct-list{display:flex; flex-wrap:wrap; color:white; align-items: flex-start}
.lts{font-size:150%}
.colorsel{ display:flex; }
.card .colorsel div:not(.exc){width:20px;height:20px;}
.card .colorsel div.exc{width:40px;height:20px;}
</style>
<meta charset="utf-8">
</head>
<body id="mainView">
<script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../js/common/materialize.js"></script>
<script type="text/javascript" src="../../js/lang/lang.js"></script>
<script>
var lang="en";
var misskeytoken=false;
</script>
<script type="text/javascript" src="../../js/ui/tips.js"></script>
<script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="../../js/common/modal.js"></script>
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">Back</a><br>
<h5>List of accounts</h5>
<div id="acct-list"></div>
<div class="divider"></div>
<h5>Add an account</h5><br>
<div id="add">
<div class="row">
<div class="col s6">
<input type="text" id="url" style="width:70%" placeholder="ex)mstdn.jp">
<div id="ins-suggest"></div>
Check if TheDesk is not working on Windows, you want to login Pleroma instance.<br>
<input type="checkbox" class="filled-in" id="linux" />
<label for="linux">Code setup</label><br>
<input type="checkbox" class="filled-in" id="misskey" />
<label for="misskey">Login as Misskey</label><br>
<button class="btn waves-effect" onclick="instance()">Login</button><br>
</div>
<div class="col s6">
<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">
<button class="btn waves-effect" onclick="code()">Auth</button><br>
</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">
<button class="btn waves-effect" onclick="misskeyLogin()">Auth</button><br>
</div>
<h5>Main an account</h5>
<div class="input-field" style="width:300px"><span data-trans="your_acct">Select an account</span>
<br>
<select id="main-acct-sel" class="acct-sel" style="color:black" onchange="mainacct()"></select>
<label></label>
</div>
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>
Domain:<span id="ins-name"></span><br>
Federated instances:<span id="ins-connect"></span><br>
Toots:<span id="ins-toot"></span><br>
Users:<span id="ins-user"></span>Users<br>
Connection:<span id="ins-per"></span>%<br>
Mastodon version:<span id="ins-ver"></span>@<span id="ins-upd"></span><br>
<script type="text/javascript" src="../../js/ui/theme.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="../../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>

821
app/view/en/index.html Normal file
View File

@ -0,0 +1,821 @@
<!doctype html>
<html lang="en">
<head>
<title>TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href="../../css/themes.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='../../css/post.css' rel='stylesheet' type='text/css'>
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='../../css/sort.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300|Baloo+Bhai" rel="stylesheet">
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../js/common/materialize.js"></script>
<script type="text/javascript" src="../../js/lang/lang.js"></script>
<script type="text/javascript" src="../../js/lang/parse.lang.js"></script>
<script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="../../js/common/version.js"></script>
<script type="text/javascript" src="../../js/common/keyshortcut.js"></script>
<script type="text/javascript" src="../../js/common/modal.js"></script>
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
<script>
var ver="Akane (16.1.1)";
//betaを入れるとバージョンチェックしない
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
//var ver="beta";
//WinstoreではバージョンCK・言語・Misskeyトークンの機能が排除
var winstore=false;
var acct_id=0;
var tlid=0;
var lang="en";
verck(ver);
</script>
<textarea id="copy" style="top:-100px; position:fixed;"></textarea>
<div id="tl">
<!--TL-->
<!--ドラッグハンドラ-->
<div id="drag">
<div id="drag-content" data-trans="drag_here">Drag here to upload
<br>
<button class="btn waves-effect" onclick="closedrop()" data-trans="close">Close</button>
</div>
</div>
</div>
<div id="post-box" class="z-depth-3">
<!--トゥートボックス-->
<div class="row" style="margin-bottom:0;">
</span>
<div class="" style="float:left;">
<a onclick="profShow()" style="vertical-align:-2.5rem;" class="pointer mize">
<img src="../../img/missing.svg" id="acct-sel-prof" title="Show profile of the selecting account(Ctrl+Shift+P)" data-trans-title="post_box_prof" width="24px">
</a>
</div>
<div class="input-field mize" style="float:left; width:calc(100% - 24px)">
<select id="post-acct-sel" class="acct-sel" onchange="mdCheck()"></select>
</div>
<span class="cancel">
<i class="material-icons waves-effect" onclick="hide()" title="Close this box(X)" data-trans-title="post_box_close">cancel</i>
</span>
<!--Markdown-->
<div class="row" style="margin-bottom:0">
<div class="markdown mize hide">
<div class="col s12">
<i class="material-icons pointer setting waves-effect" onclick="tagsel('b')" title="太字(Ctrl+B)テキストボックス内を選択してから押すと囲みます。">format_bold</i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('i')" title="斜字(Ctrl+I)テキストボックス内を選択してから押すと囲みます。">format_italic</i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('u')" title="下線(Ctrl+U)テキストボックス内を選択してから押すと囲みます。">format_underlined</i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('s')" title="取り消し(Ctrl+S)テキストボックス内を選択してから押すと囲みます。">strikethrough_s</i>
<i class="material-icons pointer setting waves-effect" onclick="markdown('>','no','yes')" title="引用">format_quote</i>
<i class="material-icons pointer setting waves-effect" onclick="markdown('#','no','yes')" title="見出し">short_text</i>
<i class="material-icons pointer setting waves-effect" onclick="markdown('`','yes','no')" title="コード挿入 テキストボックス内を選択してから押すと囲みます。">code</i>
<i class="material-icons pointer setting waves-effect" onclick="markdown('- ','yes','yes')" title="箇条書きリスト">format_list_bulleted</i>
<i class="material-icons pointer setting waves-effect" onclick="markdown('1. ','yes','yes')" title="番号付きリスト">format_list_numbered</i>
<i class="pointer setting fa fa-subscript waves-effect" onclick="markdown('__','yes','no','before')" title="下付き文字 テキストボックス内を選択してから押すと囲みます。" style="font-size:1.5rem"></i>
<i class="pointer setting fa fa-superscript waves-effect" onclick="markdown('_','yes','no','before')" title="上付き文字 テキストボックス内を選択してから押すと囲みます。" style="font-size:1.5rem"></i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('spin')" title="回転 テキストボックス内を選択してから押すと囲みます。">autorenew</i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('pulse')" title="点滅 テキストボックス内を選択してから押すと囲みます。">flare</i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('flip=vertical')" title="上下反転 テキストボックス内を選択してから押すと囲みます。">swap_vert</i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('flip=horizontal')" title="左右反転 テキストボックス内を選択してから押すと囲みます。">swap_horiz</i>
<span class="sml gray pointer waves-effect">
<a onclick="mdToggle()">Markdownエディタを隠す</a>
</span>
<br>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('size')" title="文字サイズ変更 テキストボックス内を選択してから押すと囲みます。">format_size</i>
<input id="size" style="width: calc(50% - 20px); margin: 0; height: 24px;" value="12">px
<i class="material-icons pointer setting waves-effect" onclick="tagsel('colorhex')" title="文字色変更 テキストボックス内を選択してから押すと囲みます。">color_lens</i>
<input id="colorhex" style="width: calc(50% - 50px); margin: 0; height: 24px;" type="color">
<br>
<i class="material-icons pointer setting waves-effect" onclick="markdownLink()" title="リンク挿入">link</i>
<input id="linkt" style="width: calc(50% - 20px); margin: 0; height: 24px;" placeholder="リンクテキスト">&nbsp;
<input id="link2" style="width: calc(50% - 20px); margin: 0; height: 24px;" placeholder="リンクアドレス">
<br>
<i class="material-icons pointer setting waves-effect" onclick="markdownImage()" title="インライン画像挿入">image</i>
<input id="image" style="width: calc(50% - 20px); margin: 0; height: 24px;" placeholder="代替テキスト">&nbsp;
<input id="image2" style="width: calc(50% - 20px); margin: 0; height: 24px;" placeholder="画像アドレス">
</div>
</div>
<div class="input-field col s12" id="preview-field" style="margin-top: 0;">
<div id="md-preview">
</div>
<span class="sml gray pointer">
<a onclick="previewEdit()">Edit</a>
</span>
</div>
<div class="input-field col s12" id="toot-field" style="margin-top: 10px;">
<textarea id="textarea" class="materialize-textarea unmize" style="margin-bottom:0;" data-length="500"></textarea>
<label for="textarea" data-trans="toot">Toot</label>
<br>
<span class="sml gray pointer markdown mize" id="preview-btn">
<a onclick="preview()">Preview</a>
</span>
<span class="sml gray pointer anti-markdown mize">
<a onclick="mdToggle()">Markdownエディタを表示</a>
</span>
<span id="suggest"></span>
</div>
<div class="col s12 mize" style="margin-top: 0; display:flex; justify-content: space-between">
<i class="waves-effect gray material-icons" id="nsfw" title="Mark media as sensitive" onclick="nsfw()">visibility_off</i>
<i class="waves-effect gray material-icons purple-text dropdown-button" data-activates='dropdown1' id="vis-icon">public</i>
<a class="waves-effect gray" id="cw" onclick="cw()" title="Hide text behind warning">CW</a>
<span><span id="imgup"></span><span id="imgsel"><i class="waves-effect material-icons gray" onclick="fileselect()" title="Attach..">photo_library</i></span></span>
<i class="waves-effect gray material-icons" onclick="adobe()" title="Adobe Photo Editor">format_shapes</i>
<i class="waves-effect gray material-icons" onclick="emoji()" title="Emojis">tag_faces</i>
<a class="pointer waves-effect gray" id="npbtn" title="NowPlaying[Click to insert info of Spotify(account link is required.)/control+click to insert that of iTunes(macOS)]"><i class="material-icons" style="font-size:24px;">music_note</i></a>
<i class="material-icons nex gray waves-effect" title="Clear toot box(Ctrl+Shit+C)" data-trans-title="post_box_clear" id="clear">clear</i>
</div>
<div class="col s12 mize" style="margin-bottom:5px; padding:0;">
<div id="taglist"></div>
<span id="preview" class="mize"></span>
<span class=" sml mize"><span data-trans="reply">Reply</span>:
<span id="rec">No</span>/<span data-trans="file">Attaching files</span>:
<span id="mec">None</span>/<span data-trans="vis">Adjust status privacy</span>:
<span id="vis">public</span>
</span>
<br>
<input type="text" id="cw-text" placeholder="Warning text" class="mize" style="margin:0">
</div>
</div>
<!-- 公開範囲 Dropdown Structure -->
<ul id='dropdown1' class='dropdown-content'>
<li style="font-size: 16px; display: block; line-height: 22px; padding: 14px 16px;">Adjust status privacy</li>
<li>
<a onclick="vis('public')">(Public)</a>
</li>
<li>
<a onclick="vis('unlisted')">(Unlisted)</a>
</li>
<li>
<a onclick="vis('private')" id="private-button">(Private)</a>
</li>
<li id="limited-button" class="hide">
<a onclick="vis('limited')">限定公開(Limited)</a>
</li>
<li id="local-button" class="hide">
<a onclick="vis('local')">Local only(Local)</a>
</li>
<li>
<a onclick="vis('direct')" class="disabled direct">(Direct)</a>
</li>
</ul>
<!--hidden area-->
<input type="hidden" id="reply">
<input type="hidden" id="media">
<!--END hidden area-->
</div>
<div id="toot-btn-field">
<button class="btn waves-effect indigo unmize" style="width:calc(100% - 10px); padding:0; margin-top:10px;" onclick="post()" id="toot-post-btn">Toot</button>
</div>
</div>
<!--絵文字ピッカー-->
<div id="emoji" class="hide shared z-depth-4">
<span class="gray sml">
<a onclick="emojiGet('true')" class="pointer">Refresh emojis list</a>
<i class="material-icons waves-effect" onclick="emoji()" title="Close this box" data-trans-title="post_box_close">cancel</i>
<br>
</span>
<input type="text" id="emoji-suggest" placeholder="Custom emojis Search">
<div id="emoji-list" class="" style="">
</div>
<div class="emoji-control center">
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('before')" id="emoji-before">
<i class="material-icons">navigate_before</i>
</button>
<span id="emoji-count"></span>/
<span id="emoji-sum"></span>
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('next')" id="emoji-next">
<i class="material-icons">navigate_next</i>
</button>
</div>
<div id="default-emoji">
<span id="now-emoji"></span> are shown.<br><span class="gray sml">Some emojis are not able to be inserted.</span>
<br>
<a onclick="customEmoji()" class="pointer waves-effect" title="Custom emojis">
<i class="material-icons">add</i>
</a>
<a onclick="defaultEmoji('people')" class="pointer waves-effect" title="Emojis of people">
<i class="material-icons">people</i>
</a>
<a onclick="defaultEmoji('nature')" class="pointer waves-effect" title="Emojis of nature">
<i class="material-icons">local_florist</i>
</a>
<a onclick="defaultEmoji('food')" class="pointer waves-effect" title="Emojis of foods">
<i class="material-icons">restaurant</i>
</a>
<a onclick="defaultEmoji('activity')" class="pointer waves-effect" title="Emojis of activities">
<i class="material-icons">directions_run</i>
</a>
<a onclick="defaultEmoji('place')" class="pointer waves-effect" title="Emojis of places">
<i class="material-icons">directions_car</i>
</a>
<a onclick="defaultEmoji('object')" class="pointer waves-effect" title="Emojis of tools">
<i class="material-icons">attach_file</i>
</a>
<a onclick="defaultEmoji('symbol')" class="pointer waves-effect" title="Emojis of symbols">
<i class="material-icons">gesture</i>
</a>
<a onclick="defaultEmoji('flag')" class="pointer waves-effect" title="Emojis of flags">
<i class="material-icons">flag</i>
</a>
<a onclick="faicon()" class="pointer waves-effect" title="faicon" id="faicon-btn">
<i class="fa fa-fort-awesome"></i>
</a>
</div>
</div>
<!-- Modal Structure Tootdata-->
<div id="tootmodal" class="modal modal-fixed-footer">
<div class="modal-content">
<ul class="collapsible" data-collapsible="accordion" id="det-col">
<li>
<div class="collapsible-header">
<i class="material-icons">arrow_upward</i>Context before this toot
</div>
<div class="collapsible-body toot-reset" id="toot-reply">
</div>
</li>
<li>
<div class="collapsible-header" id="activator">
<i class="material-icons">more_horiz</i>This toot
</div>
<div class="collapsible-body" >
<div class="toot-reset" id="toot-this"></div>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">arrow_downward</i>Context after this toot
</div>
<div class="collapsible-body toot-reset" id="toot-after">
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">people_outline</i>Local TL before this toot
</div>
<div class="collapsible-body toot-reset" id="toot-before">
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">person_outline</i>User TL before this toot
</div>
<div class="collapsible-body toot-reset" id="user-before">
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">star</i>People who favourited it
</div>
<div class="collapsible-body toot-reset" id="toot-fav">
</div>
</li>
<li>
<div class="collapsible-header">
<i class="text-darken-3 fa fa-retweet"></i>People who boosted it
</div>
<div class="collapsible-body toot-reset" id="toot-rt">
</div>
</li>
</ul>
Use other account(<i class="fa fa-retweet"></i>/<i class="fa fa-star"></i>:unfav and unBT are disabled.)<br>
<div class="row">
<div class="col s4">
<select id="status-acct-sel" class="acct-sel"></select>
</div>
<div class="col s2">
<button class="dropdown-button btn waves-effect" style="width:100%;" onclick="staEx('reply')"><i class="fa fa-share left"></i>Reply</button>
</div>
<div class="col s2">
<button class="dropdown-button btn waves-effect indigo" style="width:100%;" onclick="staEx('rt')"><i class="fa fa-retweet left"></i>Boost</button>
</div>
<div class="col s3">
<button class="dropdown-button btn waves-effect orange" style="width:100%;" onclick="staEx('fav')"><i class="fa fa-star left"></i>Favourite</button>
</div>
</div>
<div id="toot-tools">
</div>
<div id="toot-after">
</div>
</div>
<div class="modal-footer">
<a href="#!" class="waves-effect waves-green btn-flat" onclick="brws()">Open in browser</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="shot()">Take a screenshot</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy()">Copy URL of this toot</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy('emb')">Embed</a>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Use other account</a>
</div>
</div>
<!-- Modal Structure Userdata -->
<div id="his-data" class="modal bottom-sheet modal-fixed-footer" style="max-height:750px; height:90%;">
<div id="his-data-content" class="modal-content" style="padding-bottom: 0;overflow-y:hidden;">
<div id="his-data-show">
<div class="his-float" id="his-float-data">
<div id="his-basic-prof">
<img src="./img/loading.svg" id="his-prof">
<span id="his-name">Loading...</span><span class="gray" id="his-bot"></span>
<br>@
<span id="his-acct"></span><br>
<span class="gray" id="his-relation"></span>
<br>
<span class="cbadge">
<span id="his-sta"></span>Toots
</span>
<span class="cbadge">Follow:
<span id="his-follow"></span>
</span>
<span class="cbadge">Follower:
<span id="his-follower"></span>
</span><br>
<span class="cbadge" style="max-width:150px; width:150px; ">Since:
<span id="his-since"></span>
</span>
</div>
<div id="his-des"></div><br>
<div id="his-plus-action">
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat" id="his-emp-btn" onclick="empUser()">Emphasize this user</a>
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat only-his-data" id="his-end-btn" onclick="pinUser()">Feature on profile</a><br>
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat" id="his-openin" onclick="profbrws()">Open in browser</a><br>
</div><br>
<div id="his-matching-list">
Get people resembling this user.<br>
Powered by <a href="https://vinayaka.distsn.org/" target="_blank">Mastodon User Matching</a><br>
<div id="his-matching-list-contents" class="cont-series"></div>
<button class="btn waves-effect " onclick="showMat()" style="width:100%;">Get</button>
</div>
</div>
<div class="his-float" id="his-float-timeline">
<div id="my-data-nav">
<ul class="custom-tabs transparent">
<li class="custom-tab col my-data-width active-back column-first">
<a go="#his-tl" title="Timeline"><i class="material-icons">timeline</i></a>
</li>
<li class="custom-tab col my-data-width">
<a go="#his-follow-list" title="Follow"><i class="material-icons">people</i></a>
</li>
<li class="custom-tab col my-data-width">
<a go="#his-follower-list" title="Follower"><i class="material-icons">people</i></a>
</li>
<li class="custom-tab col my-data-width only-his-data">
<a go="#his-action" title="Cross-account"><i class="material-icons">account_box</i></a>
</li>
<li class="custom-tab col my-data-width only-his-data">
<a go="#his-list" title="List"><i class="material-icons">list</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-fav-list" title="Favourite"><i class="material-icons">star</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-blocking-list" title="Blocks"><i class="material-icons">block</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-blocking-list" title="Blocks"><i class="material-icons">voice_over_off</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-domain-list" title="Domain block"><i class="material-icons">language</i><i class="material-icons">block</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-prof-list" title="Edit profile"><i class="material-icons">create</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-request-list" title="Follow requests"><i class="material-icons">how_to_reg</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-follow-recom-list" title="Suggest"><i class="material-icons">recent_actors</i></a>
</li>
</ul>
</div>
<div id="his-tl" class="tab-content">
<div id="his-tl-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="utl('--now','more')">More</button>
</div>
<div id="his-follow-list" class="tab-content">
<div id="his-follow-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="flw('--now','more')">More</button>
</div>
<div id="his-follower-list" class="tab-content">
<div id="his-follower-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="fer('--now','more')">More</button>
</div>
<div id="his-action" class="tab-content">
Use other account to Follow((Unable to unfollow))<br>
<div style="max-width:500px;"><select id="user-acct-sel" class="acct-sel"></select></div>
<a href="#!" class="waves-effect btn" onclick="follow('selector','true')">Follow</a><br>
or<br>
<a href="#!" class="waves-effect btn" onclick="udgEx('selector', 'selector')">Show profile</a><br>
</div>
<div id="his-list" class="tab-content">
<div id="his-lists-a">Follow to add this user to lists.</div>
<div id="his-lists-b"></div>
</div>
<div id="his-fav-list" class="tab-content">
<div id="his-fav-list-contents" class="cont-series">
</div>
<button class="btn waves-effect" style="width:100%; padding:0;" onclick="showFav('more')">More</button>
</div>
<div id="his-blocking-list" class="tab-content">
<div id="his-blocking-list-contents"class="cont-series" >
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showBlo('more')">More</button>
</div>
<div id="his-muting-list" class="tab-content">
<div id="his-muting-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showMut('more')">More</button>
</div>
<div id="his-domain-list" class="tab-content">
<div id="his-domain-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showDom('more')">More</button>Add blocking domain
<br>
<input type="text" placeholder="example.com" id="domainblock">
<button class="btn waves-effect" onclick="addDomainblock()">Add</button>
<br>
</div>
<div id="his-prof-list" class="tab-content">Display name
<br>
<input type="text" placeholder="Display name" id="his-name-val" style="max-width:250px;">
<br>Note
<br>
<div class="input-field col s12">
<textarea placeholder="Note" id="his-des-val" class="materialize-textarea"></textarea>
<label for="his-des-val">Note</label>
</div>
<br>Change avataor:
<span id="prof-change">
<input type="file" onchange="imgChange(this,'avatar')">
</span>
<br>Change header image:
<span id="header-change">
<input type="file" onchange="imgChange(this,'header')">
</span>
</div>
<div id="his-request-list" class="tab-content">
<div id="his-request-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showReq('more')">More</button>
</div>
<div id="his-follow-recom-list" class="tab-content">
<div id="his-follow-recom-contents" class="cont-series">
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="modal-action waves-effect waves-green btn-flat" id="his-history-btn" onclick="historyShow()">Back</button>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-follow-btn" onclick="follow()">Follow</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-mute-btn" onclick="mute()">Mute</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-block-btn" onclick="block()">Block</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" onclick="hisclose()">Close</a>
</div>
</div>
<!-- Modal Structure Image-->
<div id="imagemodal" class="modal modal-fixed-footer" style="min-width:550px">
<div class="modal-content">
<div id="imagewrap">
<img src="" id="imgmodal">
</div>
<br>
</div>
<div class="modal-footer">
DL:<span id="imgprog"></span>%
<a class="waves-effect white-text" onclick="zoom(2)">
<i class="material-icons">zoom_in</i>
</a>
<a class="waves-effect white-text" onclick="zoom(0.5)">
<i class="material-icons">zoom_out</i>
</a>
<button class="btn waves-effect purple" onclick="dlImg()">
<i class="material-icons">file_download</i>
</button>
<button class="btn waves-effect brown" onclick="detFromImg()">This toot</button>
<button class="btn waves-effect orange" onclick="imgCont('prev')" id="image-prev">
<i class="material-icons">keyboard_arrow_left</i>
</button>
<button class="btn waves-effect orange" onclick="imgCont('next')" id="image-next">
<i class="material-icons">keyboard_arrow_right</i>
</button>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">
<i class="material-icons">close</i>
</a>
</div>
</div>
<!-- Modal Structure Video-->
<div id="videomodal" class="modal modal-fixed-footer">
<div class="modal-content">
<video src="" id="video" style="max-width:100%; max-height:100%;" controls >
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
</div>
</div>
<!-- Modal Structure Release Note-->
<div id="releasenote" class="modal modal-fixed-footer">
<div class="modal-content">
<h3>TheDesk</h3>
<a href="https://thedesk.top" target="_blank">HP</a><br>
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
<br>
<div id="release-Akane_16-0-11" style="display:none">
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。
<h5>Release Note Akane (16.0.11)</h5>
16.0.11<br>
<ul>
<li>様々なバグを修正</li>
</ul>
16.0.10<br>
<ul>
<li>自動CWに関する不具合</li>
<li>アップデートに関する不具合</li>
<li>MisskeyのURLコピーに関する不具合</li>
</ul>
</div>
<br><br>
<h3>Support TheDesk!</h3>
TheDesk has no ad, you need no charge to unlock premium features. We need your friendly support!<br>
<a class="btn-share btn waves-effect waves-light purple lighten-2" href="https://enty.jp/Cutls" target="_blank">
Support on Enty
</a>
<a class="btn-share btn waves-effect waves-light red lighten-2" href="https://osushi.love/Cutls_P" target="_blank">
Osushi.love: give me sushi
</a>
<a class="btn-share btn waves-effect waves-light blue" href="https://www.amazon.co.jp/registry/wishlist/2TV35ZHHJPDSB" target="_blank">
Amazon Wish List
</a>
<br>
Give me Amazon Gift Card:<a href="mailto:mstdn@thedesk.top" target="_blank">mstdn@thedesk.top</a><br>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
</div>
</div>
<!--PiP-->
<div id="pip" class="hide pip-bottom pip-left">
<i class="material-icons pip-horiz pointer" onclick="pipHoriz()">chevron_right</i> 
<i class="material-icons pip-vert pointer" onclick="pipVert()">expand_less</i> 
<i class="material-icons pointer" onclick="endPip()">close</i>
<div id="pip-content">
</div>
</div>
<!--カラム追加-->
<div id="add-box" class="hide z-depth-4 notf-box">
<div class="input-field"><span data-trans="your_acct">Select an account</span>
<br>
<select id="add-acct-sel" class="acct-sel" style="color:black" onchange="addselCk()"></select>
<label></label>
</div>
<div class="input-field">
<div id="auth">
<select id="type-sel" style="color:black">
<option value="local" data-trans="local">Local</option>
<option value="local-media" data-trans="local-media">Local(Media)</option>
<option value="home" data-trans="home">Home</option>
<option value="pub" data-trans="public">Federated</option>
<option value="pub-media" data-trans="public-media">Federated(Media)</option>
<option value="dm" data-trans="dm">Direct Message</option>
<option value="mix" data-trans="integrated">Integrated(Local and Home)</option>
<option value="plus" data-trans="plus">Integrated(Local and replies and BT on Home)</option>
<option value="notf" data-trans="notification">Notifications</option>
</select>
<label data-trans="show_tl">Show this TL:</label>
</div>
<div id="noauth" class="hide">Show this TL:
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
</div>
<div id="webview-add" class="hide">TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.
</div>
</div>
<button class="btn waves-effect blue " style="width:calc( 100% - 10px);" onclick="addColumn()" data-trans-i="add">
<i class="material-icons left">add</i>Add
</button>
<br>
<br>
</div>
<!--検索-->
<div id="src-box" class="hide notf-box z-depth-4" style="width:500px">
<div class="input-field">
<select id="src-acct-sel" class="acct-sel" onchange="trend()"></select>
</div><div class="input-field">
<i class="material-icons prefix">search</i>
<input id="src" type="text" class="validate" style="width:calc( 60% - 40px);">
<label for="src" data-trans="src">Search</label>
<button class="btn waves-effect indigo" style="width:calc( 40% - 40px);" onclick="src()" data-trans-i="src">
<i class="material-icons left">search</i>Search
</button>
<br>
<br>
</div>
<div id="search">
<div id="src-contents">
</div>
</div>
</div>
<!--並べ替え-->
<div id="sort-box" class="hide">
<ul id="sort"></ul>
<div>
<button onclick="sort()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="sort">
<i class="material-icons left">sort</i>Sort
</button>
<button onclick="sortToggle()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="close">
<i class="material-icons left">close</i>Close
</button>
</div>
</div>
<!--リスト-->
<div id="list-box" class="hide notf-box z-depth-4">
<div class="input-field" style="width:calc( 100% - 100px);float:left">
<select id="list-acct-sel" class="acct-sel"></select>
<label>Select an account</label>
</div>
<div style="float:left; padding-top:8px; padding-bottom:28px;">
<button class="btn waves-effect indigo" style="width:80px;" onclick="list()" data-trans-i="lists">
List
</button>
</div>
<br><br>
<div id="lists"></div>
<div id="lists-user"></div>
<input type="text" style="width:150px" id="list-add" placeholder="Display name">
<button class="btn waves-effect" style="width:120px;" onclick="makeNewList()">Save</button>
</div>
<!--フィルター-->
<div id="filter-box" class="hide notf-box z-depth-4">
<div class="input-field" style="width:calc( 100% - 100px);float:left">
<select id="filter-acct-sel" class="acct-sel"></select>
<label>Select an account</label>
</div>
<div style="float:left; padding-top:8px; padding-bottom:28px;">
<button class="btn waves-effect indigo" style="width:80px;" onclick="filter()" data-trans-i="filters">
List
</button>
</div>
<div id="filtered-words"></div>
<input type="hidden" id="filter-edit-id">
<input type="text" style="width:150px" id="filter-add-word" placeholder="Filtering words"><br>
Filter contexts<br>
<input type="checkbox" class="filled-in" id="home_filter" value="home" />
<label for="home_filter">Home</label>
<input type="checkbox" class="filled-in" id="local_filter" value="public" />
<label for="local_filter">Local</label>
<input type="checkbox" class="filled-in" id="notf_filter" value="notifications" />
<label for="notf_filter">Notifications</label>
<input type="checkbox" class="filled-in" id="conv_filter" value="thread" />
<label for="conv_filter">Conversations</label><br>
Options<br>
<input type="checkbox" class="filled-in" id="wholeword_filter" value="1" />
<label for="wholeword_filter">Whole word</label><br>
<span class="sml">Nice for Latin language</span><br>
<input type="checkbox" class="filled-in" id="except_filter" value="1" />
<label for="except_filter">Drop instead of hide</label><br>
<span class="sml">Filtered toots will disappear irreversibly, even if filter is later removed</span><br>
Expire after<span class="sml">Unset or "0" means "Never"<b>This value may contain some error</b></span><br><br>
<input type="text" style="width:50px" id="days_filter" placeholder="d" value="0">days
<input type="text" style="width:50px" id="hours_filter" placeholder="h" value="0">hours
<input type="text" style="width:50px" id="mins_filter" placeholder="m" value="0">minutes
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">Add</button><br>
<span class="sml">Integrated TL/Plus TL will hide both Home-filtering words and Local-filtering words.</span>
</div>
<div id="main">
<!--TLのTL-->
<div id="timeline-container">
<h3>Welcome to TheDesk</h3><br><a href="acct.html">Add an account</a> or click <i class="material-icons">add</i> to add a column.
</div>
</div>
</div>
<!--bottom-->
<div id="bottom" class="reverse">
<div class="leftside reverse">
<div id="dambox">
<input type="text" id="posttgl" placeholder="Toot" style="height:2rem">
</div>
<div class="leftside reverse" id="group">
<div class="btnsgroup"><span class="grouptitle">Columns:</span>
<a onclick="addToggle()" class="nex waves-effect" data-trans-i="add" id="add-tgl">
<i class="material-icons nex" title="Add a column" data-trans-title="column_add">add</i>
</a>
<a onclick="sortToggle()" class="nex waves-effect">
<i class="material-icons nex big-icon" title="Sort" data-trans-title="sort">sort</i>
</a>
</div>
<div class="btnsgroup"><span class="grouptitle">Accounts:</span>
<a href="acct.html" class="nex waves-effect">
<i class="material-icons nex big-icon" title="Account Manager(Ctrl+Shift+M)" data-trans-title="manager">account_circle</i>
</a>
<a onclick="srcToggle()" class="nex waves-effect" id="src-tgl">
<i class="material-icons" title="Search" data-trans-title="src">search</i>
</a>
<a onclick="listToggle()" class="nex waves-effect" id="list-tgl">
<i class="material-icons" title="List" data-trans-title="list">view_headline</i>
</a>
<a onclick="filterToggle()" class="nex waves-effect" id="filter-tgl">
<i class="material-icons" title="Filter" data-trans-title="filter">filter_list</i>
</a>
</div>
<div class="btnsgroup"><span class="grouptitle">Preferences:</span>
<a onclick="bottomReverse()" class="nex waves-effect">
<i class="material-icons nex" title="Toot box reverse" data-trans-title="reverse">swap_horiz</i>
</a>
<a href="setting.html" class="nex waves-effect">
<i class="material-icons nex" title="Preferences(Ctrl+Shift+S)" data-trans-title="setting">settings</i>
</a>
<a href="index.html" class="nex mize waves-effect">
<i class="material-icons nex" title="Super Reload(F5/⌘+R)" data-trans-title="reload">refresh</i>
</a>
<a onclick="nano()" class="nex waves-effect">
<i class="material-icons" title="The smallest Mastodon,TheDesk Nano" data-trans-title="nano_desp">remove_from_queue</i>
</a>
<a onclick="window.open('https://astarte.thedesk.top');" class="setting nex waves-effect" target="_blank" id="ranking-btn" style="display:none;">
<i class="material-icons nex" title="アスタルテランキング">timeline</i>
</a>
</div>
</div>
</div>
<div>
<div id="tips-menu">
<div class="btnsgroup" style="height:34px"><span class="grouptitle">Tips:</span>
<a onclick="tips('ver')" class="nex waves-effect">
<i class="material-icons nex" title="Version" data-trans-title="ver">info</i>
</a>
<a onclick="tips('clock')" class="nex waves-effect">
<i class="material-icons nex" title="Clock" data-trans-title="clock">access_time</i>
</a>
<a onclick="tips('memory')" class="nex waves-effect">
<i class="material-icons nex" title="RAM status" data-trans-title="memory">memory</i>
</a>
<a onclick="tips('trend')" class="nex waves-effect imasonly" style="display:none;">
<i class="material-icons nex" title="アイマストドントレンド" data-trans-title="trendtip">whatshot</i>
</a>
<a onclick="tips('spotify')" class="nex waves-effect">
<i class="fa fa-spotify nex" title="Spotify" data-trans-title="spotifytips"></i>
</a>
</div>
</div>
<div id="tips" class="hide">
<a onclick="tipsToggle()" class="nex waves-effect" style="float:left">
<i class="material-icons nex" title="Change Tips" data-trans-title="tips">bubble_chart</i>
</a>
<div id="tips-text" style="float:left; width:300px;"></div>
</div>
</div>
</div>
<!--左下メッセージ-->
<div id="message">
</div>
<!--Radio Happy(Yui) Taku Inoue-->
<audio src="" id="radio"></audio>
<!--JS-->
<script type="text/javascript" src="../../js/ui/tips.js"></script>
<script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script>
<script type="text/javascript" src="../../js/common/about.js"></script>
<script type="text/javascript" src="../../js/tl/parse.js"></script>
<script type="text/javascript" src="../../js/tl/misskeyparse.js"></script>
<script type="text/javascript" src="../../js/ui/scroll.js"></script>
<script type="text/javascript" src="../../js/tl/tl.js"></script>
<script type="text/javascript" src="../../js/tl/card.js"></script>
<script type="text/javascript" src="../../js/tl/date.js"></script>
<script type="text/javascript" src="../../js/tl/notification.js"></script>
<script type="text/javascript" src="../../js/tl/datails.js"></script>
<script type="text/javascript" src="../../js/tl/mix.js"></script>
<script type="text/javascript" src="../../js/tl/src.js"></script>
<script type="text/javascript" src="../../js/tl/filter.js"></script>
<script type="text/javascript" src="../../js/tl/tag.js"></script>
<script type="text/javascript" src="../../js/tl/list.js"></script>
<script type="text/javascript" src="../../js/tl/speech.js"></script>
<script type="text/javascript" src="../../js/ui/post-box.js"></script>
<script type="text/javascript" src="../../js/ui/layout.js"></script>
<script type="text/javascript" src="../../js/login/instance.js"></script>
<script type="text/javascript" src="../../js/login/login.js"></script>
<script type="text/javascript" src="../../js/ui/img.js"></script>
<script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="../../js/ui/pip.js"></script>
<script type="text/javascript" src="../../js/ui/sort.js"></script>
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
<script type="text/javascript" src="../../js/post/post.js"></script>
<script type="text/javascript" src="../../js/post/use-txtbox.js"></script>
<script type="text/javascript" src="../../js/post/secure.js"></script>
<script type="text/javascript" src="../../js/post/img.js"></script>
<script type="text/javascript" src="../../js/post/status.js"></script>
<script type="text/javascript" src="../../js/post/misskeystatus.js"></script>
<script type="text/javascript" src="../../js/post/emoji.js"></script>
<script type="text/javascript" src="../../js/post/suggest.js"></script>
<script type="text/javascript" src="../../js/post/bb-md.js"></script>
<script type="text/javascript" src="../../js/userdata/showOnTL.js"></script>
<script type="text/javascript" src="../../js/userdata/his-data.js"></script>
<script type="text/javascript" src="../../js/userdata/prof-edit.js"></script>
<script type="text/javascript" src="../../js/emoji/emojipack.js"></script>
<script type="text/javascript" src="../../js/emoji/default-emoji.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>

View File

@ -3,17 +3,17 @@
<head> <head>
<title>OSS License - TheDesk</title> <title>OSS License - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport"> <meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="./css/materialize.css" type="text/css" rel="stylesheet"> <link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href="./css/themes.css" type="text/css" rel="stylesheet"> <link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="./css/master.css" type="text/css" rel="stylesheet"> <link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='./css/font-awesome.css' rel='stylesheet' type='text/css'> <link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans|IBM+Plex+Mono" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans|IBM+Plex+Mono" rel="stylesheet">
<meta charset="utf-8"> <meta charset="utf-8">
</head> </head>
<body style="overflow-y:scroll;"> <body style="overflow-y:scroll;">
<script type="text/javascript" src="./js/common/jquery.js"></script> <script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="./js/platform/first.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="./js/common/materialize.js"></script> <script type="text/javascript" src="../../js/common/materialize.js"></script>
<a href="setting.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i class="material-icons left">undo</i>戻る/Back</a> <a href="setting.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i class="material-icons left">undo</i>戻る/Back</a>
TheDeskのライセンスについては<a href="https://github.com/cutls/TheDesk/blob/master/LICENSE.md">TheDesk LICENSE (Latest Ver.)</a>を参照。<br> TheDeskのライセンスについては<a href="https://github.com/cutls/TheDesk/blob/master/LICENSE.md">TheDesk LICENSE (Latest Ver.)</a>を参照。<br>
LICENSE of TheDesk:<a href="https://github.com/cutls/TheDesk/blob/master/LICENSE.md">TheDesk LICENSE (Latest Ver.)</a><br> LICENSE of TheDesk:<a href="https://github.com/cutls/TheDesk/blob/master/LICENSE.md">TheDesk LICENSE (Latest Ver.)</a><br>
@ -203,6 +203,6 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
</article> </article>
<a href="setting.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i class="material-icons left">undo</i>戻る</a> <a href="setting.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i class="material-icons left">undo</i>戻る</a>
<script type="text/javascript" src="./js/ui/theme.js"></script> <script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="./js/platform/end.js"></script> <script type="text/javascript" src="../../js/platform/end.js"></script>
</body> </body>

390
app/view/en/setting.html Normal file
View File

@ -0,0 +1,390 @@
<!doctype html>
<html lang="en">
<head>
<title>Settings - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8">
</head>
<body id="mainView" style="overflow-y:scroll">
<script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../js/common/materialize.js"></script>
<script type="text/javascript" src="../../js/lang/setting.lang.js"></script>
<script>var lang="en";</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>
<a onclick="changelang('ja')" class="pointer">日本語</a>/<a onclick="changelang('en')" class="pointer">English</a>
<h5>Import and export of preferences</h5>
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">Export</button>
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">Import</button>
<h5>Themes</h5>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="black" value="black" />
<label for="black">Black</label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="white" value="white" />
<label for="white">White</label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="indigo" value="indigo" />
<label for="indigo">Indigo<span class="imas hide">(エンドレスナイト)</span></label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="brown" value="brown" />
<label for="brown">Brown<span class="imas hide">(ビタースイート・タイム)</span></label>
<input class="with-gap" onchange="settings()" name="theme" type="radio" id="green" value="green" />
<label for="green">Green<span class="imas hide">(ユースフルロマンス)</span></label>
<br>
<h5>Popup notification(on window)</h5>Hide to set "0"
<br>
<input type="text" style="width:50px" id="popup">sec
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
<br>
<h5>Native notification</h5>
This does not work on Windows Portable ver.<br><a onclick="notftest()" class="pointer">Notification test</a>
<br>
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_yes" value="yes" />
<label for="ntf_yes">Yes</label>
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_no" value="no" />
<label for="ntf_no">No</label>
<br>
<h5>Minimam width of columns</h5>Scroll bar will be shown when your window size is more than ammounts of columns.
<br>
<input type="text" style="width:50px" id="width">pxabove
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
<br>
<h5>Font</h5>
Set local font<br>
<input type="text" style="width:150px" id="font">
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
<br>
<h5>Font size</h5>
<span style="font-size:15px">15px(absolute value)</span>
<br>
<input type="text" style="width:50px" id="size">px
<button class="btn waves-effect" style="width:100px;" 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:100px;" onclick="savefolder()">Change</button>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">reorder</i>Timeline Preferences
</div>
<div class="collapsible-body">
<h5>Time format</h5>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.
<br>
<input class="with-gap" onchange="settings()" onchange="settings()" name="time" type="radio" id="relative" value="relative" />
<label for="relative">Relative</label>
<input class="with-gap" onchange="settings()" name="time" type="radio" id="absolute" value="absolute" />
<label for="absolute">Absoltue</label>
<input class="with-gap" onchange="settings()" name="time" type="radio" id="double" value="double" />
<label for="double">Both relative and absolute</label>
<input class="with-gap" onchange="settings()" name="time" type="radio" id="medium" value="medium" />
<label for="medium">Mixed</label>
<h5>Instance unique locale</h5>This value is available on some Japanese instances
<br>
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_yes" value="yes" />
<label for="ul_yes">Yes</label>
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_no" value="no" />
<label for="ul_no">No</label>
<br>
<h5>Hide NSFW pictures</h5>Strong blur effect
<br>
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_yes" value="yes" />
<label for="n_yes">Yes</label>
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_no" value="no" />
<label for="n_no">No</label>
<br>
<h5>Hide CW contents</h5>
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_yes" value="yes" />
<label for="c_yes">Yes</label>
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_no" value="no" />
<label for="c_no">No</label>
<br>
<h5>Reply counter style</h5>
<input class="with-gap" onchange="settings()" name="rp" type="radio" id="rp_hidden" value="hidden" />
<label for="rp_hidden">Show 1+ if the replies are more than 1.</label>
<input class="with-gap" onchange="settings()" name="rp" type="radio" id="rp_all" value="all" />
<label for="rp_all">Show full count(1,2...)</label>
<br>
<h5>Animated GIF images animation</h5>
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_yes" value="yes" />
<label for="g_yes">Yes</label>
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_no" value="no" />
<label for="g_no">No</label>
<br>
<h5>Tag TL Search</h5>
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_all" value="all" />
<label for="t_all">Use federated network</label>
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_local" value="local" />
<label for="t_local">Use local network</label>
<br>
<h5>Show via</h5>
<input class="with-gap" onchange="settings()" name="via" type="radio" id="via_yes" value="yes" />
<label for="via_yes">Yes</label>
<input class="with-gap" onchange="settings()" name="via" type="radio" id="via_hide" value="hide" />
<label for="via_hide">No</label>
<br>
<h5>Hide action buttons without mouseover</h5>
You may feel 'mouseover' is unconfortable:(<br>
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_yes" value="yes" />
<label for="mov_yes">Mouseover to show</label>
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_click" value="click" />
<label for="mov_click">Click to show</label>
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_no" value="no" />
<label for="mov_no">No</label>
<br>
<h5>Show Notification marker, red colored bell and counter(if you show a notification column.)</h5>
<input class="with-gap" onchange="settings()" name="notfm" type="radio" id="notfm_yes" value="yes" />
<label for="notfm_yes">Yes</label>
<input class="with-gap" onchange="settings()" name="notfm" type="radio" id="notfm_no" value="no" />
<label for="notfm_no">No</label>
<br>
<h5>Auto folding</h5>
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.
<br>
<input type="text" style="width:50px" id="sentence">linesaboveor
<input type="text" style="width:50px" id="letters">lettersabove
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
<br>
<h5>Height of images
</h5>
<input type="text" style="width:50px" id="img-height">px
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
<br>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">send</i>Posting Preferences
</div>
<div class="collapsible-body">
<h5>Default warining text</h5>
<input type="text" style="width:150px" id="cw-text">
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
<br>
<h5>Alert before posting a long toot.</h5>
Show dialog whether you make too-long text hidden.
<br>
<input type="text" style="width:50px" id="cw_sentence">linesaboveor
<input type="text" style="width:50px" id="cw_letters">lettersabove
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
<br>
<h5>Always CW set</h5>
<input class="with-gap" onchange="settings()" name="cws" type="radio" id="cws_yes" value="yes" />
<label for="cws_yes">Yes</label>
<input class="with-gap" onchange="settings()" name="cws" type="radio" id="cws_no" value="no" />
<label for="cws_no">No
</label>
<br>
<h5>Default visibility</h5>
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="public" value="public" />
<label for="public">Public</label>
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="unlisted" value="unlisted" />
<label for="unlisted">Unlisted</label>
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="private" value="private" />
<label for="private">Private</label>
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="direct" value="direct" />
<label for="direct">Direct</label>
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="memory" value="memory" />
<label for="memory">Memory(memorized as each instance)</label>
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="server" value="server" />
<label for="server">Default of your visibility(Set on preferences of Mastodon instance)</label>
<br>
<h5>Posting images preferences</h5>
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_url" value="url" />
<label for="i_url">Insert media URL</label>
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_no-act" value="no-act" />
<label for="i_no-act">Insert nothig</label>
<br>
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_inline" value="inline" disabled />
<label for="i_inline">Disabled
<!--画像を投稿し、インラインで表示(Markdownに対応したインスタンスのみ。マルチアカウント環境では非推奨。)-->
</label>
<br>
<h5>Action of posting-box</h5>
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_yes" value="yes" />
<label for="bx_yes">Folding</label>
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_no" value="no" />
<label for="bx_no">Open after posting
</label>
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_abs" value="absolute" />
<label for="bx_abs">Absolutely open</label>
<br>
<h5>Quote format</h5>
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_simple" value="simple" />
<label for="q_simple">Only URL</label>
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_mention" value="mention" />
<label for="q_mention">URL and acct(mention to the user)</label>
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_full" value="full" />
<label for="q_full">URL, text and acct(mention to the user)
</label>
<br>
<h5>Default accounts of actions</h5>
Main account can be set on Account Manager.<br>
<input class="with-gap" onchange="settings()" name="main" type="radio" id="mn_remain" value="remain" />
<label for="mn_remain">Account you used recently</label>
<input class="with-gap" onchange="settings()" name="main" type="radio" id="mn_main" value="main" />
<label for="mn_main">Main account</label>
</label>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">keyboard</i>Keyboard shortcut Preferences
</div>
<div class="collapsible-body">
<h5>Easy inserter</h5>
You can insert any letters and emojis with only 3 keys<br>
Ctrl+Shift+1:<input type="text" style="width:150px" id="oks-1">
<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">Save</button><br><br>
Ctrl+Shift+2:<input type="text" style="width:150px" id="oks-2">
<button onclick="oks(2)" class="btn waves-effect" style="width:100px;">Save</button><br><br>
Ctrl+Shift+3:<input type="text" style="width:150px" id="oks-3">
<button onclick="oks(3)" class="btn waves-effect" style="width:100px;">Save</button><br><br>
</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:100px;">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:100px;">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="fa fa-spotify"></i>Spotify and NowPlaying Preferences
</div>
<div class="collapsible-body">
Click <i class="material-icons" style="font-size:24px;">music_note</i>icon to NowPlaying<br>
<h5>Account Connection</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:100px;">Save</button></div>
<a onclick="spotifyConnect()" class="btn waves-effect nex" style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-enable"><i class="fa fa-spotify left"></i>Connect</a>
<a onclick="spotifyDisconnect()" class="btn waves-effect nex disabled" style="width:100%; max-width:200px; background-color:#1ed760;" id="spotify-disable"><i class="fa fa-spotify left"></i>Disconnect</a>
<h5>Edit a template</h5>
<br>
<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
{url}</textarea><br>
Refer:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
iTunes NowPlaying:{url} is disabled, but composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre} are available.<br>
<span class="imas hide">CINDERELLA NowPlaying(imastodon.net限定)では作曲家{composer}/作詞家{lyricist}/BPM{bpm}が有効です。<br>
CINDERELLA NowPlayingはimastodon.netにログインしているとき、トゥート欄に「//」を入力し、その後に曲名を入れることで可能です。</span><br>
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">Save</button>
<h5>Attach an Artwork of Spotify</h5>
<span class="imas hide">この設定はCINDERELLA NowPlaying(imastodon.net限定)にも適用されます。</span><br>
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
<label for="awk_yes">Yes</label>
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no" value="no" />
<label for="awk_no">No</label>
<br>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">hearing</i>TTS(text to speech) Preferences
</div>
<div class="collapsible-body">
<h5>Speed</h5>
1-100(default:10)<br>
<p class="range-field"><input type="range" id="voicespeed" min="1" max="100" value="10" style="width:500px; max-width:100%"/></p>
<h5>Pitch</h5>
0-100(default:50)<br>
<p class="range-field"><input type="range" id="voicepitch" min="0" max="100" value="50" style="width:500px; max-width:100%"/></p>
<h5>Volume</h5>
0-100(default:100)<br>
<p class="range-field"><input type="range" id="voicevol" min="0" max="100" value="100" style="width:500px; max-width:100%"/></p>
<h5>Test</h5>
<input type="text" style="width:350px" id="voicetxt" value="TheDesk is an open-source Mastodon client for PC.">
<button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()" id="testplay">Play/Stop</button><br>
<br>
<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">Save</button>
</div>
</li>
</ul>
<br>
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><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+E:Make all notifications read</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>
<li>Shift+Enter:全角スペースを入れて改行</li>
<li>Shift+Space:ゼロ幅スペース</li>
以下アスタルテにログインしている場合のみ
<br>
<li>Ctrl+R:
<a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く
</li><br>
</div>
<button class="btn waves-effect red" style="width:100%; max-width:500px;" 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" onclick="about()" style="width:100%; max-width:500px;"><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:500px;"><i class="material-icons left">web</i>Website</a>
<a href="https://enty.jp/Cutls" class="btn waves-effect purple lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>Support(Enty)</a>
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i class="material-icons left">list</i>Help/Docs(Constructing)</a>
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2" style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a>
<a href="index.html?mode=user&code=Cutls@kirishima.cloud" class="btn waves-effect blue lighten-2" style="width:100%; max-width:500px;"><img src="../../img/desk_full.svg" class="left" width="25" style="padding-top:5px;">Developer: Cutls@kirishima.cloud</a>
<a class="btn waves-effect red lighten-2" href="https://osushi.love/Cutls_P" target="_blank" style="width:100%; max-width:500px;"><img src="../../img/sushi.svg" class="left" width="25" style="padding-top:5px;">Give me a sushi!</a>
<br>
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';" class="pointer">Check update</a><br>
<a href="oss.html">OSS License</a><br>
<span style="font-family:Open Sans;">Copyright &copy; TheDesk 2018 All Rights Reserved.
<a href="https://github.com/cutls/TheDesk/blob/master/LICENSE.md">TheDesk LICENSE (Latest Ver.)</a>
<br>Developer: Cutls P(
<a href="index.html?mode=user&code=Cutls@kirishima.cloud">@Cutls@kirishima.cloud</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="../../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/lang/lang.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/ui/settings.js"></script>
<script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="../../js/tl/date.js"></script>

178
app/view/en/update.html Normal file
View File

@ -0,0 +1,178 @@
<!doctype html>
<html lang="en">
<head>
<title>Update - TheDesk</title>
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8">
</head>
<body>
<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;
}
.skipbtn{
display:block;
float:left;
width:200px;
height:200px;
border:1px solid;
margin-left:5px;
display: flex;
justify-content: center;
align-items: center;
border: 1px solid;
overflow: hidden;
}
.skipbtn:hover{
background-color: #b3e5fc;
transition: all 0.3s ease-in-out;
}
#prog{
font-size:200%;
}
</style>
<script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../js/common/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">
<div id="box" class="show">
<h2>TheDesk</h2>
<p>Get latest TheDesk</p>
<span id="now"></span><b id="ver"></b><br>
<span id="det"></span><br>
<button id="update" class="waves-effect btn" onclick="update('true')" style="margin-left:15px;">Start</button>
<div id="checkbox">
Options:<br>
<input type="checkbox" class="filled-in" id="portable" value="true" />
<label for="portable">Poetable ver.</label><br>
<input type="checkbox" class="filled-in" id="rewrite" value="true" />
<label for="rewrite">Not rewrite</label><br>
</div>
Some problems?<br>Please download on <a href="https://thedesk.top">Oficial HP</a>.
</div>
<div id="skipper" class="hide">
<h4>You may lose a cool experience!</h4>
Skip this update<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">
<h4>Downloading...</h4>
<h4 id="prog"></h4>
</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");
}
}
var electron = require("electron");
var ipc = electron.ipcRenderer;
verck();
function update(sel){
$("#box").toggleClass("show");
$("#box").toggleClass("hide");
$("#dlnow").toggleClass("hide");
$("#dlnow").toggleClass("show");
$("#prog").text("");
if($('#rewrite:checked').val()=="true"){
var versioning=true;
}else{
var versioning=false;
}
if($('#portable:checked').val()=="true"){
var zip=true;
}else{
var zip=false;
}
ipc.send('download-btn', [sel,enc(localStorage.getItem("next-ver")),zip,versioning]);
}
function quit(){
ipc.send('quit', 'go');
}
ipc.on('prog', function (event, arg) {
console.log(arg);
$("body").css('background','linear-gradient(#fff 0%,#fff '+(1-arg)*100+'%, #d7ccc8 '+(1-arg)*100+'%, #d7ccc8 100%)');
$("#prog").text(Math.floor(arg*100)+"%");
})
ipc.on('mess', function (event, arg) {
console.log(arg);
$("#prog").text(arg);
})
function verck(){
var remote=electron.remote;
var platform=remote.process.platform;
if(platform!="win32"){
$('#portable').prop("disabled",true)
}
var start="https://thedesk.top/ver.json";
fetch(start, {
method: 'GET',
headers: {'content-type': 'application/json'},
}).then(function(response) {
return response.json();
}).catch(function(error) {
todo(error);
console.error(error);
}).then(function(json) {
console.log(json);
$("#ver").text(json.desk);
localStorage.setItem("next-ver",json.desk);
$("#det").html(json.detail);
$("#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>

View File

@ -3,12 +3,12 @@
<head> <head>
<title>Account Manager - TheDesk</title> <title>Account Manager - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport"> <meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="./css/materialize.css" type="text/css" rel="stylesheet"> <link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href="./css/themes.css" type="text/css" rel="stylesheet"> <link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="./css/master.css" type="text/css" rel="stylesheet"> <link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='./css/font-awesome.css' rel='stylesheet' type='text/css'> <link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href='./css/tl.css' rel='stylesheet' type='text/css'> <link href='../../css/tl.css' rel='stylesheet' type='text/css'>
<link href='./css/userdata.css' rel='stylesheet' type='text/css'> <link href='../../css/userdata.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<style>.acct{display:flex; justify-content:space-around;} <style>.acct{display:flex; justify-content:space-around;}
.card{width:400px; background-color: #9e9e9e; margin:10px; } .card{width:400px; background-color: #9e9e9e; margin:10px; }
@ -22,16 +22,17 @@ body,html{overflow-y: scroll;}
<meta charset="utf-8"> <meta charset="utf-8">
</head> </head>
<body id="mainView"> <body id="mainView">
<script type="text/javascript" src="./js/common/jquery.js"></script> <script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="./js/platform/first.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="./js/common/materialize.js"></script> <script type="text/javascript" src="../../js/common/materialize.js"></script>
<script type="text/javascript" src="./js/lang/lang.js"></script> <script type="text/javascript" src="../../js/lang/lang.js"></script>
<script> <script>
var lang="ja"; var lang="ja";
var misskeytoken=false;
</script> </script>
<script type="text/javascript" src="./js/ui/tips.js"></script> <script type="text/javascript" src="../../js/ui/tips.js"></script>
<script type="text/javascript" src="./js/common/time.js"></script> <script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="./js/common/modal.js"></script> <script type="text/javascript" src="../../js/common/modal.js"></script>
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">戻る</a><br> <a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">戻る</a><br>
<h5>アカウント一覧</h5> <h5>アカウント一覧</h5>
<div id="acct-list"></div> <div id="acct-list"></div>
@ -84,9 +85,9 @@ Administered by:<a id="ins-admin"></a><br>
ユーザー数:<span id="ins-user"></span>ユーザー数<br> ユーザー数:<span id="ins-user"></span>ユーザー数<br>
コネクション:<span id="ins-per"></span>%<br> コネクション:<span id="ins-per"></span>%<br>
Mastodonバージョン:<span id="ins-ver"></span>@<span id="ins-upd"></span><br> Mastodonバージョン:<span id="ins-ver"></span>@<span id="ins-upd"></span><br>
<script type="text/javascript" src="./js/ui/theme.js"></script> <script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="./js/platform/end.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="../../js/common/sha256.js"></script>
<script type="text/javascript" src="./js/login/instance.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/login/manager.js"></script>
<script type="text/javascript" src="./js/tl/date.js"></script> <script type="text/javascript" src="../../js/tl/date.js"></script>

821
app/view/ja/index.html Normal file
View File

@ -0,0 +1,821 @@
<!doctype html>
<html lang="ja">
<head>
<title>TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href="../../css/themes.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='../../css/post.css' rel='stylesheet' type='text/css'>
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='../../css/sort.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300|Baloo+Bhai" rel="stylesheet">
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../js/common/materialize.js"></script>
<script type="text/javascript" src="../../js/lang/lang.js"></script>
<script type="text/javascript" src="../../js/lang/parse.lang.js"></script>
<script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="../../js/common/version.js"></script>
<script type="text/javascript" src="../../js/common/keyshortcut.js"></script>
<script type="text/javascript" src="../../js/common/modal.js"></script>
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
<script>
var ver="Akane (16.1.1)";
//betaを入れるとバージョンチェックしない
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
//var ver="beta";
//WinstoreではバージョンCK・言語・Misskeyトークンの機能が排除
var winstore=false;
var acct_id=0;
var tlid=0;
var lang="ja";
verck(ver);
</script>
<textarea id="copy" style="top:-100px; position:fixed;"></textarea>
<div id="tl">
<!--TL-->
<!--ドラッグハンドラ-->
<div id="drag">
<div id="drag-content" data-trans="drag_here">ここにドラッグして添付(ドラッグと同時にアップロードされます)
<br>
<button class="btn waves-effect" onclick="closedrop()" data-trans="close">Close</button>
</div>
</div>
</div>
<div id="post-box" class="z-depth-3">
<!--トゥートボックス-->
<div class="row" style="margin-bottom:0;">
</span>
<div class="" style="float:left;">
<a onclick="profShow()" style="vertical-align:-2.5rem;" class="pointer mize">
<img src="../../img/missing.svg" id="acct-sel-prof" title="選択したアカウントのプロフィールを表示(Ctrl+Shift+P)" data-trans-title="post_box_prof" width="24px">
</a>
</div>
<div class="input-field mize" style="float:left; width:calc(100% - 24px)">
<select id="post-acct-sel" class="acct-sel" onchange="mdCheck()"></select>
</div>
<span class="cancel">
<i class="material-icons waves-effect" onclick="hide()" title="このボックスを閉じる(X)" data-trans-title="post_box_close">cancel</i>
</span>
<!--Markdown-->
<div class="row" style="margin-bottom:0">
<div class="markdown mize hide">
<div class="col s12">
<i class="material-icons pointer setting waves-effect" onclick="tagsel('b')" title="太字(Ctrl+B)テキストボックス内を選択してから押すと囲みます。">format_bold</i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('i')" title="斜字(Ctrl+I)テキストボックス内を選択してから押すと囲みます。">format_italic</i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('u')" title="下線(Ctrl+U)テキストボックス内を選択してから押すと囲みます。">format_underlined</i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('s')" title="取り消し(Ctrl+S)テキストボックス内を選択してから押すと囲みます。">strikethrough_s</i>
<i class="material-icons pointer setting waves-effect" onclick="markdown('>','no','yes')" title="引用">format_quote</i>
<i class="material-icons pointer setting waves-effect" onclick="markdown('#','no','yes')" title="見出し">short_text</i>
<i class="material-icons pointer setting waves-effect" onclick="markdown('`','yes','no')" title="コード挿入 テキストボックス内を選択してから押すと囲みます。">code</i>
<i class="material-icons pointer setting waves-effect" onclick="markdown('- ','yes','yes')" title="箇条書きリスト">format_list_bulleted</i>
<i class="material-icons pointer setting waves-effect" onclick="markdown('1. ','yes','yes')" title="番号付きリスト">format_list_numbered</i>
<i class="pointer setting fa fa-subscript waves-effect" onclick="markdown('__','yes','no','before')" title="下付き文字 テキストボックス内を選択してから押すと囲みます。" style="font-size:1.5rem"></i>
<i class="pointer setting fa fa-superscript waves-effect" onclick="markdown('_','yes','no','before')" title="上付き文字 テキストボックス内を選択してから押すと囲みます。" style="font-size:1.5rem"></i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('spin')" title="回転 テキストボックス内を選択してから押すと囲みます。">autorenew</i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('pulse')" title="点滅 テキストボックス内を選択してから押すと囲みます。">flare</i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('flip=vertical')" title="上下反転 テキストボックス内を選択してから押すと囲みます。">swap_vert</i>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('flip=horizontal')" title="左右反転 テキストボックス内を選択してから押すと囲みます。">swap_horiz</i>
<span class="sml gray pointer waves-effect">
<a onclick="mdToggle()">Markdownエディタを隠す</a>
</span>
<br>
<i class="material-icons pointer setting waves-effect" onclick="tagsel('size')" title="文字サイズ変更 テキストボックス内を選択してから押すと囲みます。">format_size</i>
<input id="size" style="width: calc(50% - 20px); margin: 0; height: 24px;" value="12">px
<i class="material-icons pointer setting waves-effect" onclick="tagsel('colorhex')" title="文字色変更 テキストボックス内を選択してから押すと囲みます。">color_lens</i>
<input id="colorhex" style="width: calc(50% - 50px); margin: 0; height: 24px;" type="color">
<br>
<i class="material-icons pointer setting waves-effect" onclick="markdownLink()" title="リンク挿入">link</i>
<input id="linkt" style="width: calc(50% - 20px); margin: 0; height: 24px;" placeholder="リンクテキスト">&nbsp;
<input id="link2" style="width: calc(50% - 20px); margin: 0; height: 24px;" placeholder="リンクアドレス">
<br>
<i class="material-icons pointer setting waves-effect" onclick="markdownImage()" title="インライン画像挿入">image</i>
<input id="image" style="width: calc(50% - 20px); margin: 0; height: 24px;" placeholder="代替テキスト">&nbsp;
<input id="image2" style="width: calc(50% - 20px); margin: 0; height: 24px;" placeholder="画像アドレス">
</div>
</div>
<div class="input-field col s12" id="preview-field" style="margin-top: 0;">
<div id="md-preview">
</div>
<span class="sml gray pointer">
<a onclick="previewEdit()">Edit</a>
</span>
</div>
<div class="input-field col s12" id="toot-field" style="margin-top: 10px;">
<textarea id="textarea" class="materialize-textarea unmize" style="margin-bottom:0;" data-length="500"></textarea>
<label for="textarea" data-trans="toot">トゥート</label>
<br>
<span class="sml gray pointer markdown mize" id="preview-btn">
<a onclick="preview()">Preview</a>
</span>
<span class="sml gray pointer anti-markdown mize">
<a onclick="mdToggle()">Markdownエディタを表示</a>
</span>
<span id="suggest"></span>
</div>
<div class="col s12 mize" style="margin-top: 0; display:flex; justify-content: space-between">
<i class="waves-effect gray material-icons" id="nsfw" title="画像に制限を付与" onclick="nsfw()">visibility_off</i>
<i class="waves-effect gray material-icons purple-text dropdown-button" data-activates='dropdown1' id="vis-icon">public</i>
<a class="waves-effect gray" id="cw" onclick="cw()" title="コンテンツワーニング(トゥートを表示する前にメッセージで隠す)">CW</a>
<span><span id="imgup"></span><span id="imgsel"><i class="waves-effect material-icons gray" onclick="fileselect()" title="ファイルを選択">photo_library</i></span></span>
<i class="waves-effect gray material-icons" onclick="adobe()" title="Adobeフォトエディタ">format_shapes</i>
<i class="waves-effect gray material-icons" onclick="emoji()" title="絵文字を挿入">tag_faces</i>
<a class="pointer waves-effect gray" id="npbtn" title="NowPlaying[クリックでSpotify(アカウント連携が必要です)/control+クリックでiTunes(macOSが必要です)]"><i class="material-icons" style="font-size:24px;">music_note</i></a>
<i class="material-icons nex gray waves-effect" title="トゥートボックスのクリア(Ctrl+Shit+C)" data-trans-title="post_box_clear" id="clear">clear</i>
</div>
<div class="col s12 mize" style="margin-bottom:5px; padding:0;">
<div id="taglist"></div>
<span id="preview" class="mize"></span>
<span class=" sml mize"><span data-trans="reply">返信モード</span>:
<span id="rec">いいえ</span>/<span data-trans="file">添付ファイル</span>:
<span id="mec">なし</span>/<span data-trans="vis">公開範囲</span>:
<span id="vis">public</span>
</span>
<br>
<input type="text" id="cw-text" placeholder="警告文" class="mize" style="margin:0">
</div>
</div>
<!-- 公開範囲 Dropdown Structure -->
<ul id='dropdown1' class='dropdown-content'>
<li style="font-size: 16px; display: block; line-height: 22px; padding: 14px 16px;">公開範囲指定</li>
<li>
<a onclick="vis('public')">公開(Public)</a>
</li>
<li>
<a onclick="vis('unlisted')">未収載(Unlisted)</a>
</li>
<li>
<a onclick="vis('private')" id="private-button">非公開(Private)</a>
</li>
<li id="limited-button" class="hide">
<a onclick="vis('limited')">限定公開(Limited)</a>
</li>
<li id="local-button" class="hide">
<a onclick="vis('local')">ローカル限定(Local)</a>
</li>
<li>
<a onclick="vis('direct')" class="disabled direct">ダイレクト(Direct)</a>
</li>
</ul>
<!--hidden area-->
<input type="hidden" id="reply">
<input type="hidden" id="media">
<!--END hidden area-->
</div>
<div id="toot-btn-field">
<button class="btn waves-effect indigo unmize" style="width:calc(100% - 10px); padding:0; margin-top:10px;" onclick="post()" id="toot-post-btn">トゥート</button>
</div>
</div>
<!--絵文字ピッカー-->
<div id="emoji" class="hide shared z-depth-4">
<span class="gray sml">インスタンスによって実装が異なります。
<a onclick="emojiGet('true')" class="pointer">絵文字更新</a>
<i class="material-icons waves-effect" onclick="emoji()" title="このボックスを閉じる" data-trans-title="post_box_close">cancel</i>
<br>
</span>
<input type="text" id="emoji-suggest" placeholder="カスタム絵文字 検索">
<div id="emoji-list" class="" style="">
</div>
<div class="emoji-control center">
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('before')" id="emoji-before">
<i class="material-icons">navigate_before</i>
</button>
<span id="emoji-count"></span>/
<span id="emoji-sum"></span>
<button class="btn waves-effect blue" style="width:30%; padding:0;" onclick="emojiList('next')" id="emoji-next">
<i class="material-icons">navigate_next</i>
</button>
</div>
<div id="default-emoji">
<span id="now-emoji"></span>一覧を表示中<br><span class="gray sml">一部絵文字は入力できません。</span>
<br>
<a onclick="customEmoji()" class="pointer waves-effect" title="カスタム絵文字">
<i class="material-icons">add</i>
</a>
<a onclick="defaultEmoji('people')" class="pointer waves-effect" title="ひと">
<i class="material-icons">people</i>
</a>
<a onclick="defaultEmoji('nature')" class="pointer waves-effect" title="自然">
<i class="material-icons">local_florist</i>
</a>
<a onclick="defaultEmoji('food')" class="pointer waves-effect" title="食べ物">
<i class="material-icons">restaurant</i>
</a>
<a onclick="defaultEmoji('activity')" class="pointer waves-effect" title="活動">
<i class="material-icons">directions_run</i>
</a>
<a onclick="defaultEmoji('place')" class="pointer waves-effect" title="場所">
<i class="material-icons">directions_car</i>
</a>
<a onclick="defaultEmoji('object')" class="pointer waves-effect" title="もの">
<i class="material-icons">attach_file</i>
</a>
<a onclick="defaultEmoji('symbol')" class="pointer waves-effect" title="記号">
<i class="material-icons">gesture</i>
</a>
<a onclick="defaultEmoji('flag')" class="pointer waves-effect" title="国旗">
<i class="material-icons">flag</i>
</a>
<a onclick="faicon()" class="pointer waves-effect" title="faicon" id="faicon-btn">
<i class="fa fa-fort-awesome"></i>
</a>
</div>
</div>
<!-- Modal Structure Tootdata-->
<div id="tootmodal" class="modal modal-fixed-footer">
<div class="modal-content">
<ul class="collapsible" data-collapsible="accordion" id="det-col">
<li>
<div class="collapsible-header">
<i class="material-icons">arrow_upward</i>これより前の会話
</div>
<div class="collapsible-body toot-reset" id="toot-reply">
</div>
</li>
<li>
<div class="collapsible-header" id="activator">
<i class="material-icons">more_horiz</i>対象のトゥート
</div>
<div class="collapsible-body" >
<div class="toot-reset" id="toot-this"></div>
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">arrow_downward</i>これより後の会話
</div>
<div class="collapsible-body toot-reset" id="toot-after">
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">people_outline</i>これより前のLocal TL(エアリプソース確認)
</div>
<div class="collapsible-body toot-reset" id="toot-before">
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">person_outline</i>これより前のユーザーTL(BTソース確認)
</div>
<div class="collapsible-body toot-reset" id="user-before">
</div>
</li>
<li>
<div class="collapsible-header">
<i class="material-icons">star</i>このトゥートをお気に入りに登録した人
</div>
<div class="collapsible-body toot-reset" id="toot-fav">
</div>
</li>
<li>
<div class="collapsible-header">
<i class="text-darken-3 fa fa-retweet"></i>このトゥートをブーストした人
</div>
<div class="collapsible-body toot-reset" id="toot-rt">
</div>
</li>
</ul>
他のアカウントを使用(<i class="fa fa-retweet"></i>/<i class="fa fa-star"></i>の解除はできません)<br>
<div class="row">
<div class="col s4">
<select id="status-acct-sel" class="acct-sel"></select>
</div>
<div class="col s2">
<button class="dropdown-button btn waves-effect" style="width:100%;" onclick="staEx('reply')"><i class="fa fa-share left"></i>返信</button>
</div>
<div class="col s2">
<button class="dropdown-button btn waves-effect indigo" style="width:100%;" onclick="staEx('rt')"><i class="fa fa-retweet left"></i>ブースト</button>
</div>
<div class="col s3">
<button class="dropdown-button btn waves-effect orange" style="width:100%;" onclick="staEx('fav')"><i class="fa fa-star left"></i>お気に入り登録</button>
</div>
</div>
<div id="toot-tools">
</div>
<div id="toot-after">
</div>
</div>
<div class="modal-footer">
<a href="#!" class="waves-effect waves-green btn-flat" onclick="brws()">ブラウザで開く</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="shot()">スクリーンショット</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy()">URLをコピー</a>
<a href="#!" class="waves-effect waves-green btn-flat" onclick="cbCopy('emb')">埋め込む</a>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">他のアカウントを使用</a>
</div>
</div>
<!-- Modal Structure Userdata -->
<div id="his-data" class="modal bottom-sheet modal-fixed-footer" style="max-height:750px; height:90%;">
<div id="his-data-content" class="modal-content" style="padding-bottom: 0;overflow-y:hidden;">
<div id="his-data-show">
<div class="his-float" id="his-float-data">
<div id="his-basic-prof">
<img src="./img/loading.svg" id="his-prof">
<span id="his-name">Loading...</span><span class="gray" id="his-bot"></span>
<br>@
<span id="his-acct"></span><br>
<span class="gray" id="his-relation"></span>
<br>
<span class="cbadge">
<span id="his-sta"></span>トゥート
</span>
<span class="cbadge">フォロー:
<span id="his-follow"></span>
</span>
<span class="cbadge">フォロワー:
<span id="his-follower"></span>
</span><br>
<span class="cbadge" style="max-width:150px; width:150px; ">Since:
<span id="his-since"></span>
</span>
</div>
<div id="his-des"></div><br>
<div id="his-plus-action">
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat" id="his-emp-btn" onclick="empUser()">ユーザー強調</a>
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat only-his-data" id="his-end-btn" onclick="pinUser()">紹介する</a><br>
<a href="#!" class="btn waves-effect waves-effect blue-grey btn-flat" id="his-openin" onclick="profbrws()">ブラウザで開く</a><br>
</div><br>
<div id="his-matching-list">
似ているユーザーを取得できます。<br>
Powered by <a href="https://vinayaka.distsn.org/" target="_blank">Mastodon User Matching</a><br>
<div id="his-matching-list-contents" class="cont-series"></div>
<button class="btn waves-effect " onclick="showMat()" style="width:100%;">取得</button>
</div>
</div>
<div class="his-float" id="his-float-timeline">
<div id="my-data-nav">
<ul class="custom-tabs transparent">
<li class="custom-tab col my-data-width active-back column-first">
<a go="#his-tl" title="タイムライン"><i class="material-icons">timeline</i></a>
</li>
<li class="custom-tab col my-data-width">
<a go="#his-follow-list" title="フォロー"><i class="material-icons">people</i></a>
</li>
<li class="custom-tab col my-data-width">
<a go="#his-follower-list" title="フォロワー"><i class="material-icons">people</i></a>
</li>
<li class="custom-tab col my-data-width only-his-data">
<a go="#his-action" title="他のアカウントで操作"><i class="material-icons">account_box</i></a>
</li>
<li class="custom-tab col my-data-width only-his-data">
<a go="#his-list" title="リスト"><i class="material-icons">list</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-fav-list" title="お気に入り登録"><i class="material-icons">star</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-blocking-list" title="ブロック"><i class="material-icons">block</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-blocking-list" title="ブロック"><i class="material-icons">voice_over_off</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-domain-list" title="ドメインブロック"><i class="material-icons">language</i><i class="material-icons">block</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-prof-list" title="プロフィール編集"><i class="material-icons">create</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-request-list" title="フォローリクエスト"><i class="material-icons">how_to_reg</i></a>
</li>
<li class="custom-tab col my-data-width only-my-data">
<a go="#his-follow-recom-list" title="おすすめ"><i class="material-icons">recent_actors</i></a>
</li>
</ul>
</div>
<div id="his-tl" class="tab-content">
<div id="his-tl-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="utl('--now','more')">もっと</button>
</div>
<div id="his-follow-list" class="tab-content">
<div id="his-follow-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="flw('--now','more')">もっと</button>
</div>
<div id="his-follower-list" class="tab-content">
<div id="his-follower-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="fer('--now','more')">もっと</button>
</div>
<div id="his-action" class="tab-content">
他のアカウントを使用するフォロー((解除はできません。))<br>
<div style="max-width:500px;"><select id="user-acct-sel" class="acct-sel"></select></div>
<a href="#!" class="waves-effect btn" onclick="follow('selector','true')">フォロー</a><br>
または<br>
<a href="#!" class="waves-effect btn" onclick="udgEx('selector', 'selector')">プロフィールを表示</a><br>
</div>
<div id="his-list" class="tab-content">
<div id="his-lists-a">リストに追加するためにはフォローが必要です。</div>
<div id="his-lists-b"></div>
</div>
<div id="his-fav-list" class="tab-content">
<div id="his-fav-list-contents" class="cont-series">
</div>
<button class="btn waves-effect" style="width:100%; padding:0;" onclick="showFav('more')">もっと</button>
</div>
<div id="his-blocking-list" class="tab-content">
<div id="his-blocking-list-contents"class="cont-series" >
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showBlo('more')">もっと</button>
</div>
<div id="his-muting-list" class="tab-content">
<div id="his-muting-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showMut('more')">もっと</button>
</div>
<div id="his-domain-list" class="tab-content">
<div id="his-domain-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showDom('more')">もっと</button>ブロックするドメイン
<br>
<input type="text" placeholder="example.com" id="domainblock">
<button class="btn waves-effect" onclick="addDomainblock()">追加</button>
<br>
</div>
<div id="his-prof-list" class="tab-content">名前
<br>
<input type="text" placeholder="名前" id="his-name-val" style="max-width:250px;">
<br>自己紹介
<br>
<div class="input-field col s12">
<textarea placeholder="自己紹介" id="his-des-val" class="materialize-textarea"></textarea>
<label for="his-des-val">自己紹介</label>
</div>
<br>アバターを変更:
<span id="prof-change">
<input type="file" onchange="imgChange(this,'avatar')">
</span>
<br>ヘッダーを変更:
<span id="header-change">
<input type="file" onchange="imgChange(this,'header')">
</span>
</div>
<div id="his-request-list" class="tab-content">
<div id="his-request-list-contents" class="cont-series">
</div>
<button class="btn waves-effect " style="width:100%; padding:0;" onclick="showReq('more')">もっと</button>
</div>
<div id="his-follow-recom-list" class="tab-content">
<div id="his-follow-recom-contents" class="cont-series">
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button class="modal-action waves-effect waves-green btn-flat" id="his-history-btn" onclick="historyShow()">一つ前のユーザーデータ</button>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-follow-btn" onclick="follow()">フォロー</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-mute-btn" onclick="mute()">ミュート</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-block-btn" onclick="block()">ブロック</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" onclick="hisclose()">Close</a>
</div>
</div>
<!-- Modal Structure Image-->
<div id="imagemodal" class="modal modal-fixed-footer" style="min-width:550px">
<div class="modal-content">
<div id="imagewrap">
<img src="" id="imgmodal">
</div>
<br>
</div>
<div class="modal-footer">
DL:<span id="imgprog"></span>%
<a class="waves-effect white-text" onclick="zoom(2)">
<i class="material-icons">zoom_in</i>
</a>
<a class="waves-effect white-text" onclick="zoom(0.5)">
<i class="material-icons">zoom_out</i>
</a>
<button class="btn waves-effect purple" onclick="dlImg()">
<i class="material-icons">file_download</i>
</button>
<button class="btn waves-effect brown" onclick="detFromImg()">対象のトゥート</button>
<button class="btn waves-effect orange" onclick="imgCont('prev')" id="image-prev">
<i class="material-icons">keyboard_arrow_left</i>
</button>
<button class="btn waves-effect orange" onclick="imgCont('next')" id="image-next">
<i class="material-icons">keyboard_arrow_right</i>
</button>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">
<i class="material-icons">close</i>
</a>
</div>
</div>
<!-- Modal Structure Video-->
<div id="videomodal" class="modal modal-fixed-footer">
<div class="modal-content">
<video src="" id="video" style="max-width:100%; max-height:100%;" controls >
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
</div>
</div>
<!-- Modal Structure Release Note-->
<div id="releasenote" class="modal modal-fixed-footer">
<div class="modal-content">
<h3>TheDesk</h3>
<a href="https://thedesk.top" target="_blank">HP</a><br>
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
<br>
<div id="release-Akane_16-0-11" style="display:none">
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。
<h5>Release Note Akane (16.0.11)</h5>
16.0.11<br>
<ul>
<li>様々なバグを修正</li>
</ul>
16.0.10<br>
<ul>
<li>自動CWに関する不具合</li>
<li>アップデートに関する不具合</li>
<li>MisskeyのURLコピーに関する不具合</li>
</ul>
</div>
<br><br>
<h3>ご支援ください。</h3>
TheDeskは営利目的ではないため、有料機能や広告は一切ありません。<br>皆様のあたたかいご支援のもとで製作されています。<br>
<a class="btn-share btn waves-effect waves-light purple lighten-2" href="https://enty.jp/Cutls" target="_blank">
Entyで支援
</a>
<a class="btn-share btn waves-effect waves-light red lighten-2" href="https://osushi.love/Cutls_P" target="_blank">
Osushi.loveで寿司を贈る
</a>
<a class="btn-share btn waves-effect waves-light blue" href="https://www.amazon.co.jp/registry/wishlist/2TV35ZHHJPDSB" target="_blank">
Amazonほしいものリスト
</a>
<br>
<a href="mailto:mstdn@thedesk.top" target="_blank">mstdn@thedesk.top</a>にAmazonギフトカードを送る<br>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
</div>
</div>
<!--PiP-->
<div id="pip" class="hide pip-bottom pip-left">
<i class="material-icons pip-horiz pointer" onclick="pipHoriz()">chevron_right</i> 
<i class="material-icons pip-vert pointer" onclick="pipVert()">expand_less</i> 
<i class="material-icons pointer" onclick="endPip()">close</i>
<div id="pip-content">
</div>
</div>
<!--カラム追加-->
<div id="add-box" class="hide z-depth-4 notf-box">
<div class="input-field"><span data-trans="your_acct">アカウントを選択</span>
<br>
<select id="add-acct-sel" class="acct-sel" style="color:black" onchange="addselCk()"></select>
<label></label>
</div>
<div class="input-field">
<div id="auth">
<select id="type-sel" style="color:black">
<option value="local" data-trans="local">ローカル</option>
<option value="local-media" data-trans="local-media">ローカル(メディア)</option>
<option value="home" data-trans="home">ホーム</option>
<option value="pub" data-trans="public">連合</option>
<option value="pub-media" data-trans="public-media">連合(メディア)</option>
<option value="dm" data-trans="dm">ダイレクトメッセージ</option>
<option value="mix" data-trans="integrated">統合(ローカルとホーム)</option>
<option value="plus" data-trans="plus">統合(ローカルとブースト・リプライ)</option>
<option value="notf" data-trans="notification">通知</option>
</select>
<label data-trans="show_tl">表示するタイムライン</label>
</div>
<div id="noauth" class="hide">表示するタイムライン
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
</div>
<div id="webview-add" class="hide">TweetDeckを表示します。TJDeckをカスタムしたものが読み込まれます(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>)。キーボードショートカットが邪魔をするので、文字入力時はカラムの「WebView優先」にチェックを入れてください。
</div>
</div>
<button class="btn waves-effect blue " style="width:calc( 100% - 10px);" onclick="addColumn()" data-trans-i="add">
<i class="material-icons left">add</i>追加
</button>
<br>
<br>
</div>
<!--検索-->
<div id="src-box" class="hide notf-box z-depth-4" style="width:500px">
<div class="input-field">
<select id="src-acct-sel" class="acct-sel" onchange="trend()"></select>
</div><div class="input-field">
<i class="material-icons prefix">search</i>
<input id="src" type="text" class="validate" style="width:calc( 60% - 40px);">
<label for="src" data-trans="src">検索</label>
<button class="btn waves-effect indigo" style="width:calc( 40% - 40px);" onclick="src()" data-trans-i="src">
<i class="material-icons left">search</i>検索
</button>
<br>
<br>
</div>
<div id="search">
<div id="src-contents">
</div>
</div>
</div>
<!--並べ替え-->
<div id="sort-box" class="hide">
<ul id="sort"></ul>
<div>
<button onclick="sort()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="sort">
<i class="material-icons left">sort</i>並べ替え設定
</button>
<button onclick="sortToggle()" class="btn waves-effect nex" style="width:100%; max-width:300px;" data-trans-i="close">
<i class="material-icons left">close</i>Close
</button>
</div>
</div>
<!--リスト-->
<div id="list-box" class="hide notf-box z-depth-4">
<div class="input-field" style="width:calc( 100% - 100px);float:left">
<select id="list-acct-sel" class="acct-sel"></select>
<label>アカウントを選択</label>
</div>
<div style="float:left; padding-top:8px; padding-bottom:28px;">
<button class="btn waves-effect indigo" style="width:80px;" onclick="list()" data-trans-i="lists">
一覧
</button>
</div>
<br><br>
<div id="lists"></div>
<div id="lists-user"></div>
<input type="text" style="width:150px" id="list-add" placeholder="名前">
<button class="btn waves-effect" style="width:120px;" onclick="makeNewList()">新規作成</button>
</div>
<!--フィルター-->
<div id="filter-box" class="hide notf-box z-depth-4">
<div class="input-field" style="width:calc( 100% - 100px);float:left">
<select id="filter-acct-sel" class="acct-sel"></select>
<label>アカウントを選択</label>
</div>
<div style="float:left; padding-top:8px; padding-bottom:28px;">
<button class="btn waves-effect indigo" style="width:80px;" onclick="filter()" data-trans-i="filters">
一覧
</button>
</div>
<div id="filtered-words"></div>
<input type="hidden" id="filter-edit-id">
<input type="text" style="width:150px" id="filter-add-word" placeholder="フィルターワード"><br>
適応範囲<br>
<input type="checkbox" class="filled-in" id="home_filter" value="home" />
<label for="home_filter">ホーム</label>
<input type="checkbox" class="filled-in" id="local_filter" value="public" />
<label for="local_filter">ローカル</label>
<input type="checkbox" class="filled-in" id="notf_filter" value="notifications" />
<label for="notf_filter">通知</label>
<input type="checkbox" class="filled-in" id="conv_filter" value="thread" />
<label for="conv_filter">会話</label><br>
オプション<br>
<input type="checkbox" class="filled-in" id="wholeword_filter" value="1" />
<label for="wholeword_filter">単語マッチ</label><br>
<span class="sml">非ラテン系の文字列では「単語マッチ」は推奨されません。</span><br>
<input type="checkbox" class="filled-in" id="except_filter" value="1" />
<label for="except_filter">除外</label><br>
<span class="sml">「除外」時マッチしたトゥートは非可逆的に除外され、削除後も閲覧できません。</span><br>
有効期限(あと)<span class="sml">未指定(または0分)で「無制限」になります。<b>仕様上数値の正確性を保証できません。</b></span><br><br>
<input type="text" style="width:50px" id="days_filter" placeholder="d" value="0">
<input type="text" style="width:50px" id="hours_filter" placeholder="h" value="0">時間
<input type="text" style="width:50px" id="mins_filter" placeholder="m" value="0">
<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">追加</button><br>
<span class="sml">Integrated TL/Plus TLは、公開/ホームのフィルターワードが合算されて適応されます。どちらか一方の指定でも非表示になります。</span>
</div>
<div id="main">
<!--TLのTL-->
<div id="timeline-container">
<h3>Welcome to TheDesk</h3><br><a href="acct.html">アカウントを追加</a>するか下の<i class="material-icons">add</i>ボタンよりカラムを追加してください。
</div>
</div>
</div>
<!--bottom-->
<div id="bottom" class="reverse">
<div class="leftside reverse">
<div id="dambox">
<input type="text" id="posttgl" placeholder="トゥート" style="height:2rem">
</div>
<div class="leftside reverse" id="group">
<div class="btnsgroup"><span class="grouptitle">Columns:</span>
<a onclick="addToggle()" class="nex waves-effect" data-trans-i="add" id="add-tgl">
<i class="material-icons nex" title="カラム追加" data-trans-title="column_add">add</i>
</a>
<a onclick="sortToggle()" class="nex waves-effect">
<i class="material-icons nex big-icon" title="カラム一覧/並べ替え" data-trans-title="sort">sort</i>
</a>
</div>
<div class="btnsgroup"><span class="grouptitle">Accounts:</span>
<a href="acct.html" class="nex waves-effect">
<i class="material-icons nex big-icon" title="アカウントマネージャー(Ctrl+Shift+M)" data-trans-title="manager">account_circle</i>
</a>
<a onclick="srcToggle()" class="nex waves-effect" id="src-tgl">
<i class="material-icons" title="検索" data-trans-title="src">search</i>
</a>
<a onclick="listToggle()" class="nex waves-effect" id="list-tgl">
<i class="material-icons" title="リスト" data-trans-title="list">view_headline</i>
</a>
<a onclick="filterToggle()" class="nex waves-effect" id="filter-tgl">
<i class="material-icons" title="フィルター" data-trans-title="filter">filter_list</i>
</a>
</div>
<div class="btnsgroup"><span class="grouptitle">Preferences:</span>
<a onclick="bottomReverse()" class="nex waves-effect">
<i class="material-icons nex" title="トゥートバーの左右入れ替え" data-trans-title="reverse">swap_horiz</i>
</a>
<a href="setting.html" class="nex waves-effect">
<i class="material-icons nex" title="設定(Ctrl+Shift+S)" data-trans-title="setting">settings</i>
</a>
<a href="index.html" class="nex mize waves-effect">
<i class="material-icons nex" title="スーパーリロード(F5/⌘+R)" data-trans-title="reload">refresh</i>
</a>
<a onclick="nano()" class="nex waves-effect">
<i class="material-icons" title="最小のマストドン。TheDesk Nano" data-trans-title="nano_desp">remove_from_queue</i>
</a>
<a onclick="window.open('https://astarte.thedesk.top');" class="setting nex waves-effect" target="_blank" id="ranking-btn" style="display:none;">
<i class="material-icons nex" title="アスタルテランキング">timeline</i>
</a>
</div>
</div>
</div>
<div>
<div id="tips-menu">
<div class="btnsgroup" style="height:34px"><span class="grouptitle">Tips:</span>
<a onclick="tips('ver')" class="nex waves-effect">
<i class="material-icons nex" title="バージョン" data-trans-title="ver">info</i>
</a>
<a onclick="tips('clock')" class="nex waves-effect">
<i class="material-icons nex" title="時計" data-trans-title="clock">access_time</i>
</a>
<a onclick="tips('memory')" class="nex waves-effect">
<i class="material-icons nex" title="システムメモリ容量" data-trans-title="memory">memory</i>
</a>
<a onclick="tips('trend')" class="nex waves-effect imasonly" style="display:none;">
<i class="material-icons nex" title="アイマストドントレンド" data-trans-title="trendtip">whatshot</i>
</a>
<a onclick="tips('spotify')" class="nex waves-effect">
<i class="fa fa-spotify nex" title="Spotify" data-trans-title="spotifytips"></i>
</a>
</div>
</div>
<div id="tips" class="hide">
<a onclick="tipsToggle()" class="nex waves-effect" style="float:left">
<i class="material-icons nex" title="Tips変更" data-trans-title="tips">bubble_chart</i>
</a>
<div id="tips-text" style="float:left; width:300px;"></div>
</div>
</div>
</div>
<!--左下メッセージ-->
<div id="message">
</div>
<!--Radio Happy(Yui) Taku Inoue-->
<audio src="" id="radio"></audio>
<!--JS-->
<script type="text/javascript" src="../../js/ui/tips.js"></script>
<script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script>
<script type="text/javascript" src="../../js/common/about.js"></script>
<script type="text/javascript" src="../../js/tl/parse.js"></script>
<script type="text/javascript" src="../../js/tl/misskeyparse.js"></script>
<script type="text/javascript" src="../../js/ui/scroll.js"></script>
<script type="text/javascript" src="../../js/tl/tl.js"></script>
<script type="text/javascript" src="../../js/tl/card.js"></script>
<script type="text/javascript" src="../../js/tl/date.js"></script>
<script type="text/javascript" src="../../js/tl/notification.js"></script>
<script type="text/javascript" src="../../js/tl/datails.js"></script>
<script type="text/javascript" src="../../js/tl/mix.js"></script>
<script type="text/javascript" src="../../js/tl/src.js"></script>
<script type="text/javascript" src="../../js/tl/filter.js"></script>
<script type="text/javascript" src="../../js/tl/tag.js"></script>
<script type="text/javascript" src="../../js/tl/list.js"></script>
<script type="text/javascript" src="../../js/tl/speech.js"></script>
<script type="text/javascript" src="../../js/ui/post-box.js"></script>
<script type="text/javascript" src="../../js/ui/layout.js"></script>
<script type="text/javascript" src="../../js/login/instance.js"></script>
<script type="text/javascript" src="../../js/login/login.js"></script>
<script type="text/javascript" src="../../js/ui/img.js"></script>
<script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="../../js/ui/pip.js"></script>
<script type="text/javascript" src="../../js/ui/sort.js"></script>
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
<script type="text/javascript" src="../../js/post/post.js"></script>
<script type="text/javascript" src="../../js/post/use-txtbox.js"></script>
<script type="text/javascript" src="../../js/post/secure.js"></script>
<script type="text/javascript" src="../../js/post/img.js"></script>
<script type="text/javascript" src="../../js/post/status.js"></script>
<script type="text/javascript" src="../../js/post/misskeystatus.js"></script>
<script type="text/javascript" src="../../js/post/emoji.js"></script>
<script type="text/javascript" src="../../js/post/suggest.js"></script>
<script type="text/javascript" src="../../js/post/bb-md.js"></script>
<script type="text/javascript" src="../../js/userdata/showOnTL.js"></script>
<script type="text/javascript" src="../../js/userdata/his-data.js"></script>
<script type="text/javascript" src="../../js/userdata/prof-edit.js"></script>
<script type="text/javascript" src="../../js/emoji/emojipack.js"></script>
<script type="text/javascript" src="../../js/emoji/default-emoji.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>

208
app/view/ja/oss.html Normal file
View File

@ -0,0 +1,208 @@
<!doctype html>
<html lang="ja">
<head>
<title>OSS License - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans|IBM+Plex+Mono" rel="stylesheet">
<meta charset="utf-8">
</head>
<body style="overflow-y:scroll;">
<script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../js/common/materialize.js"></script>
<a href="setting.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i class="material-icons left">undo</i>戻る/Back</a>
TheDeskのライセンスについては<a href="https://github.com/cutls/TheDesk/blob/master/LICENSE.md">TheDesk LICENSE (Latest Ver.)</a>を参照。<br>
LICENSE of TheDesk:<a href="https://github.com/cutls/TheDesk/blob/master/LICENSE.md">TheDesk LICENSE (Latest Ver.)</a><br>
<article style="width:500px; max-width:100%; margin:15px; font-family:IBM Plex Mono">
<h5>Electron</h5>
<i class="fa fa-github"></i><a href="https://github.com/electron/electron" target="_blank">electron/electron</a><br>
Copyright (c) 2013-2018 GitHub Inc.<br>
<br>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:<br>
<br>
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
<br>
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<br>
<h5>electron-dl</h5>
<i class="fa fa-github"></i><a href="https://github.com/sindresorhus/electron-dl" target="_blank">sindresorhus/electron-dl</a><br>
MIT License<br>
Copyright (c) Sindre Sorhus &lt;sindresorhus@gmail.com&gt; (sindresorhus.com)<br>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:<br>
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.<br>
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
THE USE OR OTHER DEALINGS IN THE SOFTWARE.<br>
<h5>Jimp</h5>
<i class="fa fa-github"></i><a href="https://github.com/oliver-moran/jimp" target="_blank">oliver-moran/jimp</a><br>
The MIT License (MIT)<br>
<br>
Copyright (c) 2014 Oliver Moran<br>
<br>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:<br>
<br>
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.<br>
<br>
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.<br>
<h5>Twitter Emoji (Twemoji)</h5>
<i class="fa fa-github"></i><a href="https://github.com/twitter/twemoji" target="_blank">twitter/twemoji</a><br>
Copyright (c) 2018 Twitter, Inc and other contributors<br>
<br>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:<br>
<br>
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.<br>
<br>
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. <br>
<br>
<h5>Font Awesome</h5>
<i class="fa fa-github"></i><a href="https://github.com/FortAwesome/Font-Awesome" target="_blank">FortAwesome/Font-Awesome</a><br>
Font Awesome Free License<br>
-------------------------<br>
<br>
Font Awesome Free is free, open source, and GPL friendly. You can use it for
commercial projects, open source projects, or really almost whatever you want.
Full Font Awesome Free license: https://fontawesome.com/license.<br>
<br>
# Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)<br>
In the Font Awesome Free download, the CC BY 4.0 license applies to all icons
packaged as SVG and JS file types.<br>
<br>
# Fonts: SIL OFL 1.1 License (https://scripts.sil.org/OFL)<br>
In the Font Awesome Free download, the SIL OLF license applies to all icons
packaged as web and desktop font files.<br>
<br>
# Code: MIT License (https://opensource.org/licenses/MIT)<br>
In the Font Awesome Free download, the MIT license applies to all non-font and
non-icon files.<br>
<br>
# Attribution<br>
Attribution is required by MIT, SIL OLF, and CC BY licenses. Downloaded Font
Awesome Free files already contain embedded comments with sufficient
attribution, so you shouldn't need to do anything additional when using these
files normally.<br>
<br>
We've kept attribution comments terse, so we ask that you do not actively work
to remove them from files, especially code. They're a great way for folks to
learn about Font Awesome.<br>
<br>
# Brand Icons<br>
All brand icons are trademarks of their respective owners. The use of these
trademarks does not indicate endorsement of the trademark holder by Font
Awesome, nor vice versa. **Please do not use brand logos for any purpose except
to represent the company, product, or service to which they refer.**<br>
<h5>node-notifier</h5>
<i class="fa fa-github"></i><a href="https://github.com/mikaelbr/node-notifier" target="_blank">mikaelbr/node-notifier</a><br>
MIT License<br>
<br>
Copyright (c) 2017 Mikael Brevik<br>
<br>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:<br>
<br>
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.<br>
<br>
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.<br>
<h5>itunes-nowplaying-mac</h5>
<i class="fa fa-github"></i><a href="https://github.com/rinsuki/itunes-nowplaying-mac" target="_blank">rinsuki/itunes-nowplaying-mac</a><br>
MIT LICENSE
<h5>Adobe Creative SDK</h5>
Please visit:
<a href="http://wwwimages.adobe.com/www.adobe.com/content/dam/acom/jp/legal/servicetou/Creative_SDK_API_and_Developer_Additional_TOU-ja_JP-20140602_1513.pdf" target="_blank">
This file
<i class="material-icons">
picture_as_pdf
</i></a>
<h5>adm-zip</h5>
<i class="fa fa-github"></i><a href="https://github.com/cthackers/adm-zip" target="_blank">cthackers/adm-zip</a><br>
Copyright (c) 2012 Another-D-Mention Software and other contributors,
http://www.another-d-mention.ro/<br>
<br>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:<br>
<br>
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
<br><br>
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
<br>
<h5>Google Fonts</h5>
<ul>
<li>Open Sans:<a target="_blank" href="http://www.apache.org/licenses/LICENSE-2.0"> Apache License, Version 2.0 </a></li>
<li>Material Icons:<a target="_blank" href="http://www.apache.org/licenses/LICENSE-2.0"> Apache License, Version 2.0 </a></li>
<li>IBM Plex Mono:<a target="_blank" href="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&amp;id=OFL_web"> Open Font License </a></li>
</ul>
</article>
<a href="setting.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i class="material-icons left">undo</i>戻る</a>
<script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
</body>

View File

@ -3,18 +3,18 @@
<head> <head>
<title>Settings - TheDesk</title> <title>Settings - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport"> <meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="./css/materialize.css" type="text/css" rel="stylesheet"> <link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href="./css/themes.css" type="text/css" rel="stylesheet"> <link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="./css/master.css" type="text/css" rel="stylesheet"> <link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='./css/font-awesome.css' rel='stylesheet' type='text/css'> <link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8"> <meta charset="utf-8">
</head> </head>
<body id="mainView" style="overflow-y:scroll"> <body id="mainView" style="overflow-y:scroll">
<script type="text/javascript" src="./js/common/jquery.js"></script> <script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="./js/platform/first.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="./js/common/materialize.js"></script> <script type="text/javascript" src="../../js/common/materialize.js"></script>
<script type="text/javascript" src="./js/lang/setting.lang.js"></script> <script type="text/javascript" src="../../js/lang/setting.lang.js"></script>
<script>var lang="ja";</script> <script>var lang="ja";</script>
<h4>設定</h4> <h4>設定</h4>
<ul class="collapsible" data-collapsible="accordion"> <ul class="collapsible" data-collapsible="accordion">
@ -24,7 +24,7 @@
</div> </div>
<div class="collapsible-body"> <div class="collapsible-body">
<h5>言語</h5> <h5>言語</h5>
<a href="language.html" class="btn waves-effect indigo nex" style="width:100%; max-width:200px;">変更</a><br> <a onclick="changelang('ja')" class="pointer">日本語</a>/<a onclick="changelang('en')" class="pointer">English</a>
<h5>設定のインポートとエクスポート</h5> <h5>設定のインポートとエクスポート</h5>
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">エクスポート</button> <button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">エクスポート</button>
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">インポート</button> <button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">インポート</button>
@ -366,8 +366,8 @@
<a href="https://enty.jp/Cutls" class="btn waves-effect purple lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>支援(Enty)</a> <a href="https://enty.jp/Cutls" class="btn waves-effect purple lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>支援(Enty)</a>
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i class="material-icons left">list</i>ヘルプ/Docs(Constructing)</a> <a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i class="material-icons left">list</i>ヘルプ/Docs(Constructing)</a>
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2" style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a> <a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2" style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a>
<a href="index.html?mode=user&code=Cutls@kirishima.cloud" class="btn waves-effect blue lighten-2" style="width:100%; max-width:500px;"><img src="./img/desk_full.svg" class="left" width="25" style="padding-top:5px;">Developer: Cutls@kirishima.cloud</a> <a href="index.html?mode=user&code=Cutls@kirishima.cloud" class="btn waves-effect blue lighten-2" style="width:100%; max-width:500px;"><img src="../../img/desk_full.svg" class="left" width="25" style="padding-top:5px;">Developer: Cutls@kirishima.cloud</a>
<a class="btn waves-effect red lighten-2" href="https://osushi.love/Cutls_P" target="_blank" style="width:100%; max-width:500px;"><img src="./img/sushi.svg" class="left" width="25" style="padding-top:5px;">寿司を投げる</a> <a class="btn waves-effect red lighten-2" href="https://osushi.love/Cutls_P" target="_blank" style="width:100%; max-width:500px;"><img src="../../img/sushi.svg" class="left" width="25" style="padding-top:5px;">寿司を投げる</a>
<br> <br>
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';" class="pointer">アップデートを確認</a><br> <a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';" class="pointer">アップデートを確認</a><br>
<a href="oss.html">OSS License(オープンソースライセンス)</a><br> <a href="oss.html">OSS License(オープンソースライセンス)</a><br>
@ -379,12 +379,12 @@
</span><br> </span><br>
TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br> TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br>
タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br> タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br>
<script type="text/javascript" src="./js/common/about.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/platform/end.js"></script>
<script type="text/javascript" src="./js/login/logout.js"></script> <script type="text/javascript" src="../../js/login/logout.js"></script>
<script type="text/javascript" src="./js/lang/lang.js"></script> <script type="text/javascript" src="../../js/lang/lang.js"></script>
<script type="text/javascript" src="./js/ui/spotify.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/tl/speech.js"></script>
<script type="text/javascript" src="./js/ui/settings.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/ui/theme.js"></script>
<script type="text/javascript" src="./js/tl/date.js"></script> <script type="text/javascript" src="../../js/tl/date.js"></script>

View File

@ -2,8 +2,8 @@
<html lang="en"> <html lang="en">
<head> <head>
<title>Update - TheDesk</title> <title>Update - TheDesk</title>
<link href="./css/materialize.css" type="text/css" rel="stylesheet"> <link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href="./css/master.css" type="text/css" rel="stylesheet"> <link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8"> <meta charset="utf-8">
</head> </head>
@ -56,9 +56,9 @@ a,button,input,label,i{
font-size:200%; font-size:200%;
} }
</style> </style>
<script type="text/javascript" src="./js/common/jquery.js"></script> <script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="./js/platform/first.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="./js/common/materialize.js"></script> <script type="text/javascript" src="../../js/common/materialize.js"></script>
<i class="material-icons pointer waves-effect" onclick="about();">info</i> <i class="material-icons pointer waves-effect" onclick="about();">info</i>
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i> <i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
<!--a href="update.html">Reload</a--> <!--a href="update.html">Reload</a-->
@ -92,8 +92,8 @@ a,button,input,label,i{
<h4 id="prog"></h4> <h4 id="prog"></h4>
</div> </div>
</div> </div>
<script type="text/javascript" src="./js/common/about.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/platform/end.js"></script>
<script> <script>
function skipper(){ function skipper(){
$("#dlnow").addClass("hide"); $("#dlnow").addClass("hide");
@ -144,7 +144,7 @@ function verck(){
var remote=electron.remote; var remote=electron.remote;
var platform=remote.process.platform; var platform=remote.process.platform;
if(platform!="win32"){ if(platform!="win32"){
$('#updator').prop("disabled",true) $('#portable').prop("disabled",true)
} }
var start="https://thedesk.top/ver.json"; var start="https://thedesk.top/ver.json";
fetch(start, { fetch(start, {

View File

@ -3,12 +3,12 @@
<head> <head>
<title>Account Manager - TheDesk</title> <title>Account Manager - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport"> <meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="./css/materialize.css" type="text/css" rel="stylesheet"> <link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href="./css/themes.css" type="text/css" rel="stylesheet"> <link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="./css/master.css" type="text/css" rel="stylesheet"> <link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='./css/font-awesome.css' rel='stylesheet' type='text/css'> <link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href='./css/tl.css' rel='stylesheet' type='text/css'> <link href='../../css/tl.css' rel='stylesheet' type='text/css'>
<link href='./css/userdata.css' rel='stylesheet' type='text/css'> <link href='../../css/userdata.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<style>.acct{display:flex; justify-content:space-around;} <style>.acct{display:flex; justify-content:space-around;}
.card{width:400px; background-color: #9e9e9e; margin:10px; } .card{width:400px; background-color: #9e9e9e; margin:10px; }
@ -22,16 +22,17 @@ body,html{overflow-y: scroll;}
<meta charset="utf-8"> <meta charset="utf-8">
</head> </head>
<body id="mainView"> <body id="mainView">
<script type="text/javascript" src="./js/common/jquery.js"></script> <script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="./js/platform/first.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="./js/common/materialize.js"></script> <script type="text/javascript" src="../../js/common/materialize.js"></script>
<script type="text/javascript" src="./js/lang/lang.js"></script> <script type="text/javascript" src="../../js/lang/lang.js"></script>
<script> <script>
var lang="{{lang}}"; var lang="{{lang}}";
var misskeytoken=false;
</script> </script>
<script type="text/javascript" src="./js/ui/tips.js"></script> <script type="text/javascript" src="../../js/ui/tips.js"></script>
<script type="text/javascript" src="./js/common/time.js"></script> <script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="./js/common/modal.js"></script> <script type="text/javascript" src="../../js/common/modal.js"></script>
<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">{{back}}</a><br> <a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">{{back}}</a><br>
<h5>{{list}}</h5> <h5>{{list}}</h5>
<div id="acct-list"></div> <div id="acct-list"></div>
@ -84,9 +85,9 @@ Administered by:<a id="ins-admin"></a><br>
{{users}}:<span id="ins-user"></span>{{users}}<br> {{users}}:<span id="ins-user"></span>{{users}}<br>
{{safety}}:<span id="ins-per"></span>%<br> {{safety}}:<span id="ins-per"></span>%<br>
{{ver}}:<span id="ins-ver"></span>@<span id="ins-upd"></span><br> {{ver}}:<span id="ins-ver"></span>@<span id="ins-upd"></span><br>
<script type="text/javascript" src="./js/ui/theme.js"></script> <script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="./js/platform/end.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="../../js/common/sha256.js"></script>
<script type="text/javascript" src="./js/login/instance.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/login/manager.js"></script>
<script type="text/javascript" src="./js/tl/date.js"></script> <script type="text/javascript" src="../../js/tl/date.js"></script>

View File

@ -3,30 +3,30 @@
<head> <head>
<title>TheDesk</title> <title>TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport"> <meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="./css/materialize.css" type="text/css" rel="stylesheet"> <link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href='./css/font-awesome.css' rel='stylesheet' type='text/css'> <link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href="./css/themes.css" type="text/css" rel="stylesheet"> <link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href='./css/tl.css' rel='stylesheet' type='text/css'> <link href='../../css/tl.css' rel='stylesheet' type='text/css'>
<link href='./css/userdata.css' rel='stylesheet' type='text/css'> <link href='../../css/userdata.css' rel='stylesheet' type='text/css'>
<link href='./css/post.css' rel='stylesheet' type='text/css'> <link href='../../css/post.css' rel='stylesheet' type='text/css'>
<link href="./css/master.css" type="text/css" rel="stylesheet"> <link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='./css/sort.css' rel='stylesheet' type='text/css'> <link href='../../css/sort.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300|Baloo+Bhai" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300|Baloo+Bhai" rel="stylesheet">
<meta charset="utf-8"> <meta charset="utf-8">
</head> </head>
<body> <body>
<script type="text/javascript" src="./js/common/jquery.js"></script> <script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="./js/platform/first.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="./js/common/materialize.js"></script> <script type="text/javascript" src="../../js/common/materialize.js"></script>
<script type="text/javascript" src="./js/lang/lang.js"></script> <script type="text/javascript" src="../../js/lang/lang.js"></script>
<script type="text/javascript" src="./js/lang/parse.lang.js"></script> <script type="text/javascript" src="../../js/lang/parse.lang.js"></script>
<script type="text/javascript" src="./js/common/time.js"></script> <script type="text/javascript" src="../../js/common/time.js"></script>
<script type="text/javascript" src="./js/common/version.js"></script> <script type="text/javascript" src="../../js/common/version.js"></script>
<script type="text/javascript" src="./js/common/keyshortcut.js"></script> <script type="text/javascript" src="../../js/common/keyshortcut.js"></script>
<script type="text/javascript" src="./js/common/modal.js"></script> <script type="text/javascript" src="../../js/common/modal.js"></script>
<script type="text/javascript" src="./js/ui/jquery-ui.min.js"></script> <script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
<script> <script>
var ver="Akane (16.1.0)"; var ver="Akane (16.1.1)";
//betaを入れるとバージョンチェックしない //betaを入れるとバージョンチェックしない
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html) //GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
//var ver="beta"; //var ver="beta";
@ -54,7 +54,7 @@ var lang="{{lang}}";
</span> </span>
<div class="" style="float:left;"> <div class="" style="float:left;">
<a onclick="profShow()" style="vertical-align:-2.5rem;" class="pointer mize"> <a onclick="profShow()" style="vertical-align:-2.5rem;" class="pointer mize">
<img src="./img/missing.svg" id="acct-sel-prof" title="{{showSelectProf}}(Ctrl+Shift+P)" data-trans-title="post_box_prof" width="24px"> <img src="../../img/missing.svg" id="acct-sel-prof" title="{{showSelectProf}}(Ctrl+Shift+P)" data-trans-title="post_box_prof" width="24px">
</a> </a>
</div> </div>
<div class="input-field mize" style="float:left; width:calc(100% - 24px)"> <div class="input-field mize" style="float:left; width:calc(100% - 24px)">
@ -778,44 +778,44 @@ var lang="{{lang}}";
<!--Radio Happy(Yui) Taku Inoue--> <!--Radio Happy(Yui) Taku Inoue-->
<audio src="" id="radio"></audio> <audio src="" id="radio"></audio>
<!--JS--> <!--JS-->
<script type="text/javascript" src="./js/ui/tips.js"></script> <script type="text/javascript" src="../../js/ui/tips.js"></script>
<script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script> <script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script>
<script type="text/javascript" src="./js/common/about.js"></script> <script type="text/javascript" src="../../js/common/about.js"></script>
<script type="text/javascript" src="./js/tl/parse.js"></script> <script type="text/javascript" src="../../js/tl/parse.js"></script>
<script type="text/javascript" src="./js/tl/misskeyparse.js"></script> <script type="text/javascript" src="../../js/tl/misskeyparse.js"></script>
<script type="text/javascript" src="./js/ui/scroll.js"></script> <script type="text/javascript" src="../../js/ui/scroll.js"></script>
<script type="text/javascript" src="./js/tl/tl.js"></script> <script type="text/javascript" src="../../js/tl/tl.js"></script>
<script type="text/javascript" src="./js/tl/card.js"></script> <script type="text/javascript" src="../../js/tl/card.js"></script>
<script type="text/javascript" src="./js/tl/date.js"></script> <script type="text/javascript" src="../../js/tl/date.js"></script>
<script type="text/javascript" src="./js/tl/notification.js"></script> <script type="text/javascript" src="../../js/tl/notification.js"></script>
<script type="text/javascript" src="./js/tl/datails.js"></script> <script type="text/javascript" src="../../js/tl/datails.js"></script>
<script type="text/javascript" src="./js/tl/mix.js"></script> <script type="text/javascript" src="../../js/tl/mix.js"></script>
<script type="text/javascript" src="./js/tl/src.js"></script> <script type="text/javascript" src="../../js/tl/src.js"></script>
<script type="text/javascript" src="./js/tl/filter.js"></script> <script type="text/javascript" src="../../js/tl/filter.js"></script>
<script type="text/javascript" src="./js/tl/tag.js"></script> <script type="text/javascript" src="../../js/tl/tag.js"></script>
<script type="text/javascript" src="./js/tl/list.js"></script> <script type="text/javascript" src="../../js/tl/list.js"></script>
<script type="text/javascript" src="./js/tl/speech.js"></script> <script type="text/javascript" src="../../js/tl/speech.js"></script>
<script type="text/javascript" src="./js/ui/post-box.js"></script> <script type="text/javascript" src="../../js/ui/post-box.js"></script>
<script type="text/javascript" src="./js/ui/layout.js"></script> <script type="text/javascript" src="../../js/ui/layout.js"></script>
<script type="text/javascript" src="./js/login/instance.js"></script> <script type="text/javascript" src="../../js/login/instance.js"></script>
<script type="text/javascript" src="./js/login/login.js"></script> <script type="text/javascript" src="../../js/login/login.js"></script>
<script type="text/javascript" src="./js/ui/img.js"></script> <script type="text/javascript" src="../../js/ui/img.js"></script>
<script type="text/javascript" src="./js/ui/theme.js"></script> <script type="text/javascript" src="../../js/ui/theme.js"></script>
<script type="text/javascript" src="./js/ui/pip.js"></script> <script type="text/javascript" src="../../js/ui/pip.js"></script>
<script type="text/javascript" src="./js/ui/sort.js"></script> <script type="text/javascript" src="../../js/ui/sort.js"></script>
<script type="text/javascript" src="./js/ui/spotify.js"></script> <script type="text/javascript" src="../../js/ui/spotify.js"></script>
<script type="text/javascript" src="./js/post/post.js"></script> <script type="text/javascript" src="../../js/post/post.js"></script>
<script type="text/javascript" src="./js/post/use-txtbox.js"></script> <script type="text/javascript" src="../../js/post/use-txtbox.js"></script>
<script type="text/javascript" src="./js/post/secure.js"></script> <script type="text/javascript" src="../../js/post/secure.js"></script>
<script type="text/javascript" src="./js/post/img.js"></script> <script type="text/javascript" src="../../js/post/img.js"></script>
<script type="text/javascript" src="./js/post/status.js"></script> <script type="text/javascript" src="../../js/post/status.js"></script>
<script type="text/javascript" src="./js/post/misskeystatus.js"></script> <script type="text/javascript" src="../../js/post/misskeystatus.js"></script>
<script type="text/javascript" src="./js/post/emoji.js"></script> <script type="text/javascript" src="../../js/post/emoji.js"></script>
<script type="text/javascript" src="./js/post/suggest.js"></script> <script type="text/javascript" src="../../js/post/suggest.js"></script>
<script type="text/javascript" src="./js/post/bb-md.js"></script> <script type="text/javascript" src="../../js/post/bb-md.js"></script>
<script type="text/javascript" src="./js/userdata/showOnTL.js"></script> <script type="text/javascript" src="../../js/userdata/showOnTL.js"></script>
<script type="text/javascript" src="./js/userdata/his-data.js"></script> <script type="text/javascript" src="../../js/userdata/his-data.js"></script>
<script type="text/javascript" src="./js/userdata/prof-edit.js"></script> <script type="text/javascript" src="../../js/userdata/prof-edit.js"></script>
<script type="text/javascript" src="./js/emoji/emojipack.js"></script> <script type="text/javascript" src="../../js/emoji/emojipack.js"></script>
<script type="text/javascript" src="./js/emoji/default-emoji.js"></script> <script type="text/javascript" src="../../js/emoji/default-emoji.js"></script>
<script type="text/javascript" src="./js/platform/end.js"></script> <script type="text/javascript" src="../../js/platform/end.js"></script>

View File

@ -1,7 +1,7 @@
{ {
"updatehere":"Get latest TheDesk", "updatehere":"Get latest TheDesk",
"download":"Start", "download":"Start",
"plusunzip":"Unzip(for Win)", "portable":"Poetable ver.",
"winzip":"Durling unzippng, TheDesk may freeze. It takes several seconds.", "winzip":"Durling unzippng, TheDesk may freeze. It takes several seconds.",
"unrewrite":"Not rewrite", "unrewrite":"Not rewrite",
"sureupd":"You may lose a cool experience!", "sureupd":"You may lose a cool experience!",

View File

@ -1,8 +1,7 @@
{ {
"updatehere":"アップデートがあります", "updatehere":"アップデートがあります",
"download":"開始", "download":"開始",
"plusunzip":"解凍も行う", "portable":"ポータブル版",
"winzip":"zip展開時にTheDeskが固まることがありますが、しばらくお待ち下さい。",
"unrewrite":"上書きしない", "unrewrite":"上書きしない",
"sureupd":"アップデートは必ず行ってください", "sureupd":"アップデートは必ず行ってください",
"skipupd":"アップデートをスキップする", "skipupd":"アップデートをスキップする",

View File

@ -3,18 +3,18 @@
<head> <head>
<title>Settings - TheDesk</title> <title>Settings - TheDesk</title>
<meta content="width=device-width,initial-scale=1.0" name="viewport"> <meta content="width=device-width,initial-scale=1.0" name="viewport">
<link href="./css/materialize.css" type="text/css" rel="stylesheet"> <link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href="./css/themes.css" type="text/css" rel="stylesheet"> <link href="../../css/themes.css" type="text/css" rel="stylesheet">
<link href="./css/master.css" type="text/css" rel="stylesheet"> <link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href='./css/font-awesome.css' rel='stylesheet' type='text/css'> <link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8"> <meta charset="utf-8">
</head> </head>
<body id="mainView" style="overflow-y:scroll"> <body id="mainView" style="overflow-y:scroll">
<script type="text/javascript" src="./js/common/jquery.js"></script> <script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="./js/platform/first.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="./js/common/materialize.js"></script> <script type="text/javascript" src="../../js/common/materialize.js"></script>
<script type="text/javascript" src="./js/lang/setting.lang.js"></script> <script type="text/javascript" src="../../js/lang/setting.lang.js"></script>
<script>var lang="{{lang}}";</script> <script>var lang="{{lang}}";</script>
<h4>{{setting}}</h4> <h4>{{setting}}</h4>
<ul class="collapsible" data-collapsible="accordion"> <ul class="collapsible" data-collapsible="accordion">
@ -24,7 +24,7 @@
</div> </div>
<div class="collapsible-body"> <div class="collapsible-body">
<h5>{{setlang}}</h5> <h5>{{setlang}}</h5>
<a href="language.html" class="btn waves-effect indigo nex" style="width:100%; max-width:200px;">{{change}}</a><br> {{langlist}}
<h5>{{backup}}</h5> <h5>{{backup}}</h5>
<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">{{export}}</button> <button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">{{export}}</button>
<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">{{import}}</button> <button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">{{import}}</button>
@ -366,8 +366,8 @@
<a href="https://enty.jp/Cutls" class="btn waves-effect purple lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>{{support}}(Enty)</a> <a href="https://enty.jp/Cutls" class="btn waves-effect purple lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>{{support}}(Enty)</a>
<a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i class="material-icons left">list</i>{{help}}/Docs(Constructing)</a> <a href="https://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i class="material-icons left">list</i>{{help}}/Docs(Constructing)</a>
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2" style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a> <a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2" style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a>
<a href="index.html?mode=user&code=Cutls@kirishima.cloud" class="btn waves-effect blue lighten-2" style="width:100%; max-width:500px;"><img src="./img/desk_full.svg" class="left" width="25" style="padding-top:5px;">Developer: Cutls@kirishima.cloud</a> <a href="index.html?mode=user&code=Cutls@kirishima.cloud" class="btn waves-effect blue lighten-2" style="width:100%; max-width:500px;"><img src="../../img/desk_full.svg" class="left" width="25" style="padding-top:5px;">Developer: Cutls@kirishima.cloud</a>
<a class="btn waves-effect red lighten-2" href="https://osushi.love/Cutls_P" target="_blank" style="width:100%; max-width:500px;"><img src="./img/sushi.svg" class="left" width="25" style="padding-top:5px;">{{sushi}}</a> <a class="btn waves-effect red lighten-2" href="https://osushi.love/Cutls_P" target="_blank" style="width:100%; max-width:500px;"><img src="../../img/sushi.svg" class="left" width="25" style="padding-top:5px;">{{sushi}}</a>
<br> <br>
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';" class="pointer">{{checkup}}</a><br> <a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';" class="pointer">{{checkup}}</a><br>
<a href="oss.html">OSS License{{ossJP}}</a><br> <a href="oss.html">OSS License{{ossJP}}</a><br>
@ -379,12 +379,12 @@
</span><br> </span><br>
TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br> TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のためのマストドン研究会</a>をログイン機能提供等の形で応援しています。<br>
タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br> タグタイムラインを開く:<a href="index.html?mode=tag&code=被災地支援のためのマストドン研究会">#被災地支援のためのマストドン研究会</a><br>
<script type="text/javascript" src="./js/common/about.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/platform/end.js"></script>
<script type="text/javascript" src="./js/login/logout.js"></script> <script type="text/javascript" src="../../js/login/logout.js"></script>
<script type="text/javascript" src="./js/lang/lang.js"></script> <script type="text/javascript" src="../../js/lang/lang.js"></script>
<script type="text/javascript" src="./js/ui/spotify.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/tl/speech.js"></script>
<script type="text/javascript" src="./js/ui/settings.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/ui/theme.js"></script>
<script type="text/javascript" src="./js/tl/date.js"></script> <script type="text/javascript" src="../../js/tl/date.js"></script>

View File

@ -2,8 +2,8 @@
<html lang="en"> <html lang="en">
<head> <head>
<title>Update - TheDesk</title> <title>Update - TheDesk</title>
<link href="./css/materialize.css" type="text/css" rel="stylesheet"> <link href="../../css/materialize.css" type="text/css" rel="stylesheet">
<link href="./css/master.css" type="text/css" rel="stylesheet"> <link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8"> <meta charset="utf-8">
</head> </head>
@ -56,9 +56,9 @@ a,button,input,label,i{
font-size:200%; font-size:200%;
} }
</style> </style>
<script type="text/javascript" src="./js/common/jquery.js"></script> <script type="text/javascript" src="../../js/common/jquery.js"></script>
<script type="text/javascript" src="./js/platform/first.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="./js/common/materialize.js"></script> <script type="text/javascript" src="../../js/common/materialize.js"></script>
<i class="material-icons pointer waves-effect" onclick="about();">info</i> <i class="material-icons pointer waves-effect" onclick="about();">info</i>
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i> <i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
<!--a href="update.html">Reload</a--> <!--a href="update.html">Reload</a-->
@ -71,8 +71,8 @@ a,button,input,label,i{
<button id="update" class="waves-effect btn" onclick="update('true')" style="margin-left:15px;">{{download}}</button> <button id="update" class="waves-effect btn" onclick="update('true')" style="margin-left:15px;">{{download}}</button>
<div id="checkbox"> <div id="checkbox">
Options:<br> Options:<br>
<input type="checkbox" class="filled-in" id="updator" value="true" onchange="alert('{{winzip}}')" /> <input type="checkbox" class="filled-in" id="portable" value="true" />
<label for="updator">{{plusunzip}}</label><br> <label for="portable">{{portable}}</label><br>
<input type="checkbox" class="filled-in" id="rewrite" value="true" /> <input type="checkbox" class="filled-in" id="rewrite" value="true" />
<label for="rewrite">{{unrewrite}}</label><br> <label for="rewrite">{{unrewrite}}</label><br>
</div> </div>
@ -92,8 +92,8 @@ a,button,input,label,i{
<h4 id="prog"></h4> <h4 id="prog"></h4>
</div> </div>
</div> </div>
<script type="text/javascript" src="./js/common/about.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/platform/end.js"></script>
<script> <script>
function skipper(){ function skipper(){
$("#dlnow").addClass("hide"); $("#dlnow").addClass("hide");
@ -121,7 +121,7 @@ function update(sel){
}else{ }else{
var versioning=false; var versioning=false;
} }
if($('#updator:checked').val()=="true"){ if($('#portable:checked').val()=="true"){
var zip=true; var zip=true;
}else{ }else{
var zip=false; var zip=false;
@ -144,7 +144,7 @@ function verck(){
var remote=electron.remote; var remote=electron.remote;
var platform=remote.process.platform; var platform=remote.process.platform;
if(platform!="win32"){ if(platform!="win32"){
$('#updator').prop("disabled",true) $('#portable').prop("disabled",true)
} }
var start="https://thedesk.top/ver.json"; var start="https://thedesk.top/ver.json";
fetch(start, { fetch(start, {