WIP: done some ToDo
This commit is contained in:
		@@ -7,8 +7,8 @@ $("#emoji-next").addClass("disabled");
 | 
			
		||||
function emojiToggle(reaction) {
 | 
			
		||||
	var acct_id = $("#post-acct-sel").val();
 | 
			
		||||
	var selin = $("#textarea").prop('selectionStart');
 | 
			
		||||
	if(!selin){
 | 
			
		||||
		selin=0;
 | 
			
		||||
	if (!selin) {
 | 
			
		||||
		selin = 0;
 | 
			
		||||
	}
 | 
			
		||||
	localStorage.setItem("cursor", selin);
 | 
			
		||||
 | 
			
		||||
@@ -18,10 +18,10 @@ function emojiToggle(reaction) {
 | 
			
		||||
		$("#suggest").html("");
 | 
			
		||||
		if (!localStorage.getItem("emoji_" + acct_id)) {
 | 
			
		||||
			var html =
 | 
			
		||||
				'<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet(\'true\');">'+lang.lang_emoji_get+'</button>';
 | 
			
		||||
				'<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet(\'true\');">' + lang.lang_emoji_get + '</button>';
 | 
			
		||||
			$("#emoji-list").html(html);
 | 
			
		||||
		} else {
 | 
			
		||||
			emojiList('home',reaction);
 | 
			
		||||
			emojiList('home', reaction);
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		$("#poll").addClass("hide")
 | 
			
		||||
@@ -34,92 +34,92 @@ function emojiToggle(reaction) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//絵文字リスト挿入
 | 
			
		||||
function emojiGet(parse,started) {
 | 
			
		||||
function emojiGet(parse, started) {
 | 
			
		||||
	$('#emoji-list').html('Loading...');
 | 
			
		||||
	var acct_id = $("#post-acct-sel").val();
 | 
			
		||||
	var domain = localStorage.getItem("domain_" + acct_id);
 | 
			
		||||
	if(localStorage.getItem("mode_" + domain)!="misskey"){
 | 
			
		||||
	var start = "https://" + domain + "/api/v1/custom_emojis";
 | 
			
		||||
	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) {
 | 
			
		||||
		if (parse == "true") {
 | 
			
		||||
			$('#emoji-list').html('Parsing...');
 | 
			
		||||
			//絵文字をマストドン公式と同順にソート
 | 
			
		||||
			json.sort(function(a, b) {
 | 
			
		||||
				if (a.shortcode < b.shortcode) return -1;
 | 
			
		||||
				if (a.shortcode > b.shortcode) return 1;
 | 
			
		||||
				return 0;
 | 
			
		||||
			});
 | 
			
		||||
			localStorage.setItem("emoji_" + acct_id, JSON.stringify(json));
 | 
			
		||||
		} else {
 | 
			
		||||
			localStorage.setItem("emoji_" + acct_id, JSON.stringify(json));
 | 
			
		||||
		}
 | 
			
		||||
		localStorage.setItem("emojiseek", 0);
 | 
			
		||||
		if(!started){
 | 
			
		||||
			emojiList('home')
 | 
			
		||||
		}
 | 
			
		||||
	});
 | 
			
		||||
	}else{
 | 
			
		||||
		var start = "https://" + domain + "/api/meta";
 | 
			
		||||
	fetch(start, {
 | 
			
		||||
		method: 'POST',
 | 
			
		||||
		headers: {
 | 
			
		||||
			'content-type': 'application/json'
 | 
			
		||||
		},
 | 
			
		||||
	}).then(function(response) {
 | 
			
		||||
		return response.json();
 | 
			
		||||
	}).catch(function(error) {
 | 
			
		||||
		todo(error);
 | 
			
		||||
		console.error(error);
 | 
			
		||||
	}).then(function(json) {
 | 
			
		||||
		if(json.enableEmojiReaction){
 | 
			
		||||
			localStorage.setItem("emojiReaction_" + acct_id, "true");
 | 
			
		||||
		}else{
 | 
			
		||||
			localStorage.setItem("emojiReaction_" + acct_id,"disabled");
 | 
			
		||||
		}
 | 
			
		||||
		var emojis=json.emojis;
 | 
			
		||||
		var md=[];
 | 
			
		||||
		Object.keys(emojis).forEach(function(key) {
 | 
			
		||||
			var emoji = emojis[key];
 | 
			
		||||
			md.push({
 | 
			
		||||
				"shortcode":emoji.name,
 | 
			
		||||
				"url":emoji.url
 | 
			
		||||
			})
 | 
			
		||||
	if (localStorage.getItem("mode_" + domain) != "misskey") {
 | 
			
		||||
		var start = "https://" + domain + "/api/v1/custom_emojis";
 | 
			
		||||
		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) {
 | 
			
		||||
			if (parse == "true") {
 | 
			
		||||
				$('#emoji-list').html('Parsing...');
 | 
			
		||||
				//絵文字をマストドン公式と同順にソート
 | 
			
		||||
				json.sort(function (a, b) {
 | 
			
		||||
					if (a.shortcode < b.shortcode) return -1;
 | 
			
		||||
					if (a.shortcode > b.shortcode) return 1;
 | 
			
		||||
					return 0;
 | 
			
		||||
				});
 | 
			
		||||
				localStorage.setItem("emoji_" + acct_id, JSON.stringify(json));
 | 
			
		||||
			} else {
 | 
			
		||||
				localStorage.setItem("emoji_" + acct_id, JSON.stringify(json));
 | 
			
		||||
			}
 | 
			
		||||
			localStorage.setItem("emojiseek", 0);
 | 
			
		||||
			if (!started) {
 | 
			
		||||
				emojiList('home')
 | 
			
		||||
			}
 | 
			
		||||
		});
 | 
			
		||||
		if (parse == "true") {
 | 
			
		||||
			$('#emoji-list').html('Parsing...');
 | 
			
		||||
			//絵文字をマストドン公式と同順にソート
 | 
			
		||||
			md.sort(function(a, b) {
 | 
			
		||||
				if (a.shortcode < b.shortcode) return -1;
 | 
			
		||||
				if (a.shortcode > b.shortcode) return 1;
 | 
			
		||||
				return 0;
 | 
			
		||||
	} else {
 | 
			
		||||
		var start = "https://" + domain + "/api/meta";
 | 
			
		||||
		fetch(start, {
 | 
			
		||||
			method: 'POST',
 | 
			
		||||
			headers: {
 | 
			
		||||
				'content-type': 'application/json'
 | 
			
		||||
			},
 | 
			
		||||
		}).then(function (response) {
 | 
			
		||||
			return response.json();
 | 
			
		||||
		}).catch(function (error) {
 | 
			
		||||
			todo(error);
 | 
			
		||||
			console.error(error);
 | 
			
		||||
		}).then(function (json) {
 | 
			
		||||
			if (json.enableEmojiReaction) {
 | 
			
		||||
				localStorage.setItem("emojiReaction_" + acct_id, "true");
 | 
			
		||||
			} else {
 | 
			
		||||
				localStorage.setItem("emojiReaction_" + acct_id, "disabled");
 | 
			
		||||
			}
 | 
			
		||||
			var emojis = json.emojis;
 | 
			
		||||
			var md = [];
 | 
			
		||||
			Object.keys(emojis).forEach(function (key) {
 | 
			
		||||
				var emoji = emojis[key];
 | 
			
		||||
				md.push({
 | 
			
		||||
					"shortcode": emoji.name,
 | 
			
		||||
					"url": emoji.url
 | 
			
		||||
				})
 | 
			
		||||
			});
 | 
			
		||||
			localStorage.setItem("emoji_" + acct_id, JSON.stringify(md));
 | 
			
		||||
		} else {
 | 
			
		||||
			localStorage.setItem("emoji_" + acct_id, JSON.stringify(md));
 | 
			
		||||
		}
 | 
			
		||||
		localStorage.setItem("emojiseek", 0);
 | 
			
		||||
		if(!started){
 | 
			
		||||
			emojiList('home')
 | 
			
		||||
		}
 | 
			
		||||
	});
 | 
			
		||||
			if (parse == "true") {
 | 
			
		||||
				$('#emoji-list').html('Parsing...');
 | 
			
		||||
				//絵文字をマストドン公式と同順にソート
 | 
			
		||||
				md.sort(function (a, b) {
 | 
			
		||||
					if (a.shortcode < b.shortcode) return -1;
 | 
			
		||||
					if (a.shortcode > b.shortcode) return 1;
 | 
			
		||||
					return 0;
 | 
			
		||||
				});
 | 
			
		||||
				localStorage.setItem("emoji_" + acct_id, JSON.stringify(md));
 | 
			
		||||
			} else {
 | 
			
		||||
				localStorage.setItem("emoji_" + acct_id, JSON.stringify(md));
 | 
			
		||||
			}
 | 
			
		||||
			localStorage.setItem("emojiseek", 0);
 | 
			
		||||
			if (!started) {
 | 
			
		||||
				emojiList('home')
 | 
			
		||||
			}
 | 
			
		||||
		});
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//リストの描画
 | 
			
		||||
function emojiList(target,reaction) {
 | 
			
		||||
function emojiList(target, reaction) {
 | 
			
		||||
	$("#now-emoji").text(lang.lang_emoji_custom);
 | 
			
		||||
	var acct_id = $("#post-acct-sel").val();
 | 
			
		||||
	if(reaction && localStorage.getItem("emojiReaction_" + acct_id)!="true"){
 | 
			
		||||
	if (reaction && localStorage.getItem("emojiReaction_" + acct_id) != "true") {
 | 
			
		||||
		console.error("Disabled")
 | 
			
		||||
		clear()
 | 
			
		||||
		hide();
 | 
			
		||||
@@ -157,12 +157,12 @@ function emojiList(target,reaction) {
 | 
			
		||||
	for (i = start; i < start + 126; i++) {
 | 
			
		||||
		var emoji = obj[i];
 | 
			
		||||
		if (emoji) {
 | 
			
		||||
			if(reaction){
 | 
			
		||||
			if (reaction) {
 | 
			
		||||
				html = html + '<a onclick="emojiReaction(\':' + emoji.shortcode +
 | 
			
		||||
				':\')" class="pointer"><img src="' + emoji.url + '" width="20"></a>';
 | 
			
		||||
			}else{
 | 
			
		||||
					':\')" class="pointer"><img src="' + emoji.url + '" width="20"></a>';
 | 
			
		||||
			} else {
 | 
			
		||||
				html = html + '<a onclick="emojiInsert(\':' + emoji.shortcode +
 | 
			
		||||
				':\')" class="pointer"><img src="' + emoji.url + '" width="20"></a>';
 | 
			
		||||
					':\')" class="pointer"><img src="' + emoji.url + '" width="20"></a>';
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		}
 | 
			
		||||
@@ -174,19 +174,19 @@ function emojiList(target,reaction) {
 | 
			
		||||
function emojiInsert(code, del) {
 | 
			
		||||
	var now = $("#textarea").val();
 | 
			
		||||
	var selin = localStorage.getItem("cursor");
 | 
			
		||||
	if(localStorage.getItem("emoji-zero-width")=="yes"){
 | 
			
		||||
		var brank="";
 | 
			
		||||
	}else{
 | 
			
		||||
		var brank=" ";
 | 
			
		||||
	if (localStorage.getItem("emoji-zero-width") == "yes") {
 | 
			
		||||
		var brank = "";
 | 
			
		||||
	} else {
 | 
			
		||||
		var brank = " ";
 | 
			
		||||
	}
 | 
			
		||||
	console.log(selin);
 | 
			
		||||
	var now = $("#textarea").val();
 | 
			
		||||
	if(selin>0){
 | 
			
		||||
		var before   = now.substr(0, selin);
 | 
			
		||||
		var after    = now.substr(selin, now.length);
 | 
			
		||||
		newt = before + brank+ code+brank + after;
 | 
			
		||||
	}else{
 | 
			
		||||
		newt = code+brank;
 | 
			
		||||
	if (selin > 0) {
 | 
			
		||||
		var before = now.substr(0, selin);
 | 
			
		||||
		var after = now.substr(selin, now.length);
 | 
			
		||||
		newt = before + brank + code + brank + after;
 | 
			
		||||
	} else {
 | 
			
		||||
		newt = code + brank;
 | 
			
		||||
	}
 | 
			
		||||
	if (!del) {
 | 
			
		||||
		$("#textarea").val(newt);
 | 
			
		||||
@@ -199,15 +199,15 @@ function emojiInsert(code, del) {
 | 
			
		||||
 | 
			
		||||
	$("#textarea").focus();
 | 
			
		||||
	var selin = $("#textarea").prop('selectionStart');
 | 
			
		||||
	if(!selin){
 | 
			
		||||
		selin=0;
 | 
			
		||||
	if (!selin) {
 | 
			
		||||
		selin = 0;
 | 
			
		||||
	}
 | 
			
		||||
	localStorage.setItem("cursor", selin);
 | 
			
		||||
}
 | 
			
		||||
//改行挿入
 | 
			
		||||
function brInsert(code) {
 | 
			
		||||
	if(!$('#post-box').hasClass("appear")){
 | 
			
		||||
		localStorage.setItem("nohide",true);
 | 
			
		||||
	if (!$('#post-box').hasClass("appear")) {
 | 
			
		||||
		localStorage.setItem("nohide", true);
 | 
			
		||||
		show();
 | 
			
		||||
	}
 | 
			
		||||
	var now = $("#textarea").val();
 | 
			
		||||
 
 | 
			
		||||
@@ -146,6 +146,11 @@ function filter(){
 | 
			
		||||
        }
 | 
			
		||||
	});
 | 
			
		||||
}
 | 
			
		||||
function filterTime(day,hour,min){
 | 
			
		||||
	$("#days_filter").val(day)
 | 
			
		||||
	$("#hours_filter").val(hour)
 | 
			
		||||
	$("#mins_filter").val(min)
 | 
			
		||||
}
 | 
			
		||||
function makeNewFilter(){
 | 
			
		||||
	var acct_id = $("#filter-acct-sel").val();
 | 
			
		||||
	var phr=$("#filter-add-word").val();
 | 
			
		||||
 
 | 
			
		||||
@@ -60,13 +60,13 @@ function notfColumn(acct_id, tlid, sys){
 | 
			
		||||
						var ipc = electron.ipcRenderer;
 | 
			
		||||
						var os = electron.remote.process.platform;
 | 
			
		||||
							var options = {
 | 
			
		||||
								body: ct+lang_notf_new[lang],
 | 
			
		||||
								body: ct+lang.lang_notf_new[lang],
 | 
			
		||||
								icon: localStorage.getItem("prof_"+acct_id)
 | 
			
		||||
							  };
 | 
			
		||||
							if(os=="darwin"){
 | 
			
		||||
								var n = new Notification('TheDesk:'+domain, options);
 | 
			
		||||
							}else{
 | 
			
		||||
								ipc.send('native-notf', ['TheDesk:'+domain,ct+lang_notf_new[lang],localStorage.getItem("prof_"+acct_id)]);
 | 
			
		||||
								ipc.send('native-notf', ['TheDesk:'+domain,ct+lang.lang_notf_new[lang],localStorage.getItem("prof_"+acct_id)]);
 | 
			
		||||
							}
 | 
			
		||||
						
 | 
			
		||||
					}
 | 
			
		||||
 
 | 
			
		||||
@@ -760,12 +760,12 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
 | 
			
		||||
			'</div></div>' +
 | 
			
		||||
			'<div class="area-toot">'+tickerdom+'<span class="' +
 | 
			
		||||
			api_spoil + ' cw_text_' + toot.id + '"><span class="cw_text">' + spoil + "</span>" + spoiler_show +
 | 
			
		||||
			'</span><span class="toot ' + spoiler + '">' + content +
 | 
			
		||||
			'</span><span class="toot ' + spoiler + '">' + content +poll+
 | 
			
		||||
			'</span>' +
 | 
			
		||||
			'' + viewer + '' +
 | 
			
		||||
			'</div><div class="area-additional"><span class="additional">' + analyze +
 | 
			
		||||
			'</span>' +
 | 
			
		||||
			'' +poll+ mentions + tags + '</div>' +
 | 
			
		||||
			'' + mentions + tags + '</div>' +
 | 
			
		||||
			'<div class="area-vis"></div>'+
 | 
			
		||||
			'<div class="area-actions '+mouseover+'">' +
 | 
			
		||||
			'<div class="action">'+vis+'</div>'+
 | 
			
		||||
 
 | 
			
		||||
@@ -107,7 +107,7 @@ function tootsearch(tlid,q){
 | 
			
		||||
			var templete="";
 | 
			
		||||
			var json=raw.hits.hits;
 | 
			
		||||
			console.log(json);
 | 
			
		||||
			var max_id = raw["hits"]["total"];
 | 
			
		||||
			var max_id = raw["hits"].length;
 | 
			
		||||
			for(var i=0;i<json.length;i++){
 | 
			
		||||
				var toot = json[i]["_source"];
 | 
			
		||||
				console.log(lastid)
 | 
			
		||||
@@ -129,6 +129,49 @@ function tootsearch(tlid,q){
 | 
			
		||||
		jQuery("time.timeago").timeago();
 | 
			
		||||
	});
 | 
			
		||||
}
 | 
			
		||||
function moreTs(tlid,q){
 | 
			
		||||
	var sid = $("#timeline_" + tlid + " .ts-marker").last().attr("data-maxid");
 | 
			
		||||
	moreloading=true;
 | 
			
		||||
	var start = "https://tootsearch.chotto.moe/api/v1/search?from="+sid+"&sort=created_at%3Adesc&q=" + q
 | 
			
		||||
	console.log(start)
 | 
			
		||||
	$("#notice_" + tlid).text("tootsearch("+q+")");
 | 
			
		||||
	$("#notice_icon_" + tlid).text("search");
 | 
			
		||||
	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(raw) {
 | 
			
		||||
			var templete="";
 | 
			
		||||
			var json=raw.hits.hits;
 | 
			
		||||
			console.log(json);
 | 
			
		||||
			var max_id = raw["hits"].length;
 | 
			
		||||
			for(var i=0;i<json.length;i++){
 | 
			
		||||
				var toot = json[i]["_source"];
 | 
			
		||||
				console.log(lastid)
 | 
			
		||||
				if(lastid!=toot.uri){
 | 
			
		||||
					console.log(toot);
 | 
			
		||||
					if(toot && toot.account){
 | 
			
		||||
						templete = templete+parse([toot], "noauth", null, tlid, 0, [], "tootsearch")
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				var lastid=toot.uri;
 | 
			
		||||
			}
 | 
			
		||||
			if(!templete){
 | 
			
		||||
				templete=lang.lang_details_nodata;
 | 
			
		||||
			}else{
 | 
			
		||||
				templete=templete+'<div class="hide ts-marker" data-maxid="'+max_id+'"></div>';
 | 
			
		||||
			}
 | 
			
		||||
			$("#timeline_" + tlid).append(templete);
 | 
			
		||||
 | 
			
		||||
		jQuery("time.timeago").timeago();
 | 
			
		||||
	});
 | 
			
		||||
}
 | 
			
		||||
function graphDraw(tag){
 | 
			
		||||
	var tags="";
 | 
			
		||||
		var his=tag.history;
 | 
			
		||||
 
 | 
			
		||||
@@ -384,6 +384,10 @@ function moreload(type, tlid) {
 | 
			
		||||
		}else if (type == "notf") {
 | 
			
		||||
			notfmore(tlid);
 | 
			
		||||
			return;
 | 
			
		||||
		}else if (type == "tootsearch") {
 | 
			
		||||
			var data=obj[tlid].data;
 | 
			
		||||
			moreTs(tlid,data);
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		moreloading=true;
 | 
			
		||||
		localStorage.setItem("now", type);
 | 
			
		||||
@@ -572,6 +576,10 @@ function tlDiff(type, data, acct_id, tlid, delc, voice, mode) {
 | 
			
		||||
		});
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
//TL再取得
 | 
			
		||||
function reloadTL(type, data, acct_id, key, delc,voice){
 | 
			
		||||
	tl(type, data, acct_id, key, delc,voice,"");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//WebSocket切断
 | 
			
		||||
function tlCloser() {
 | 
			
		||||
 
 | 
			
		||||
@@ -190,7 +190,7 @@ function parseColumn() {
 | 
			
		||||
		  ')" class="setting nex" title="'+lang.lang_layout_setthis +'"'+icnsert+'><i class="material-icons waves-effect nex">settings</i></a></div></div>'+
 | 
			
		||||
		  '<div class="column-hide notf-indv-box z-depth-4" id="notf-box_' + key +
 | 
			
		||||
		  '"><div id="notifications_' + key +
 | 
			
		||||
		  '" data-notf="' + acct.domain + '" data-type="notf"></div></div><div class="column-hide notf-indv-box" id="util-box_' + key +
 | 
			
		||||
		  '" data-notf="' + acct.domain + '" data-type="notf" class="notf-timeline"></div></div><div class="column-hide notf-indv-box" id="util-box_' + key +
 | 
			
		||||
		  '" style="padding:5px;">'+exclude+left_hold+'<a onclick="mediaToggle(' + key +
 | 
			
		||||
		  ')" class="setting nex"><i class="material-icons waves-effect nex" title="'+lang.lang_layout_mediafil +'">perm_media</i><span id="sta-media-' +
 | 
			
		||||
		  key + '">On</span></a>'+lang.lang_layout_mediafil +'<br><a onclick="cardToggle(' + key +
 | 
			
		||||
@@ -469,7 +469,7 @@ function unstreamingTL(type,key,basekey,insert,icnsert,left_fold,css,animecss,q)
 | 
			
		||||
	}
 | 
			
		||||
	var html='<div class="boxIn" id="timeline_box_' + key + '_box" tlid="' + key +
 | 
			
		||||
	'"><div class="notice-box z-depth-2" id="menu_'+key+'" style="'+insert+' ">'+
 | 
			
		||||
	'<div class="area-notice"><i class="material-icons waves-effect" id="notice_icon_' + key + '" style="font-size:40px; padding-top:25%;" onclick="reloadTL('+key+')" title="'+lang.lang_layout_gotop +'"></i></div>'+
 | 
			
		||||
	'<div class="area-notice"><i class="material-icons waves-effect" id="notice_icon_' + key + '" style="font-size:40px; padding-top:25%;" onclick="tootsearch('+key+',\''+q+'\');" title="'+lang.lang_layout_gotop +'"></i></div>'+
 | 
			
		||||
	'<div class="area-notice_name"><span id="notice_' + key + '" class="tl-title"></span></div>'+
 | 
			
		||||
	'<div class="area-a1"></div><div class="area-sta"></div>'+
 | 
			
		||||
	'<div class="area-a2"><a onclick="removeColumn(' + key +
 | 
			
		||||
 
 | 
			
		||||
@@ -268,9 +268,9 @@ var tlid=0;
 | 
			
		||||
			<label for="poll-multiple">Multiple select</label><br>
 | 
			
		||||
			<input type="checkbox" class="filled-in" id="poll-until" value="1" />
 | 
			
		||||
			<label for="poll-until">Hide 'votes' count until people vote it.</label><br>
 | 
			
		||||
			<input type="number" style="width:50px" id="days_poll" placeholder="d" value="0">days
 | 
			
		||||
			<input type="number" style="width:50px" id="hours_poll" placeholder="h" value="0">hours
 | 
			
		||||
			<input type="number" style="width:50px" id="mins_poll" placeholder="m" value="0">minutes
 | 
			
		||||
			<input type="number" style="width:50px" id="days_poll" placeholder="d" value="0">day(s)
 | 
			
		||||
			<input type="number" style="width:50px" id="hours_poll" placeholder="h" value="0">hour(s)
 | 
			
		||||
			<input type="number" style="width:50px" id="mins_poll" placeholder="m" value="0">minute(s)
 | 
			
		||||
		</div>
 | 
			
		||||
	</div>
 | 
			
		||||
</div>
 | 
			
		||||
@@ -755,9 +755,16 @@ var tlid=0;
 | 
			
		||||
			<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="number" style="width:50px" id="days_filter" placeholder="d" value="0">days
 | 
			
		||||
		<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">hours
 | 
			
		||||
		<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">minutes
 | 
			
		||||
		<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">day(s)
 | 
			
		||||
		<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">hour(s)
 | 
			
		||||
		<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">minute(s)<br>
 | 
			
		||||
		Quick:<a onclick="filterTime(0,0,30)" class="pointer">30minute(s)</a>/
 | 
			
		||||
		<a onclick="filterTime(0,1,0)" class="pointer">1hour(s)</a>/
 | 
			
		||||
		<a onclick="filterTime(0,6,0)" class="pointer">6hour(s)</a>/
 | 
			
		||||
		<a onclick="filterTime(0,12,0)" class="pointer">12hour(s)</a>/
 | 
			
		||||
		<a onclick="filterTime(1,0,0)" class="pointer">1day(s)</a>/
 | 
			
		||||
		<a onclick="filterTime(7,0,0)" class="pointer">7day(s)</a>/
 | 
			
		||||
		<a onclick="filterTime(0,0,0)" class="pointer">Never</a><br>
 | 
			
		||||
		<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>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
<!doctype html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
 | 
			
		||||
<head>
 | 
			
		||||
	<title>Settings - TheDesk</title>
 | 
			
		||||
	<!--
 | 
			
		||||
@@ -17,359 +18,424 @@
 | 
			
		||||
	<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">
 | 
			
		||||
	<style>input{max-height:50px!important} .pcr-result{height:1rem !important;}</style>
 | 
			
		||||
	<style>
 | 
			
		||||
		input {
 | 
			
		||||
			max-height: 50px !important
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		.pcr-result {
 | 
			
		||||
			height: 1rem !important;
 | 
			
		||||
		}
 | 
			
		||||
	</style>
 | 
			
		||||
</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/lang.en.js"></script>
 | 
			
		||||
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
 | 
			
		||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
 | 
			
		||||
<script type="text/javascript" src="setting.vue.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../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.en.js"></script>
 | 
			
		||||
	<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
 | 
			
		||||
	<script src="../../node_modules/vue/dist/vue.min.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="setting.vue.js"></script>
 | 
			
		||||
 | 
			
		||||
<h4>Preferences</h4>
 | 
			
		||||
<ul class="collapsible" data-collapsible="accordion">
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">desktop_windows</i>System Preferences
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<h5>Languages</h5>
 | 
			
		||||
		To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
 | 
			
		||||
		<a href="../ja/setting.html" onclick="changelang('ja')">日本語(Japanese)</a>/<a href="../en/setting.html" onclick="changelang('en')">English</a>/<a href="../ps/setting.html" onclick="changelang('ps')">Crowdin web translate</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>
 | 
			
		||||
		<div id="envView">
 | 
			
		||||
            <template v-for="(item, i) in config">
 | 
			
		||||
				<h5>{{item.text.head}}</h5>
 | 
			
		||||
				<template v-if=item.text.desc><templete v-html=item.text.desc></templete><br></template>
 | 
			
		||||
				<template v-if="item.id=='notf'"><a onclick="notftest()" class="pointer">Notification test</a><br></template>
 | 
			
		||||
                <template v-if="item.checkbox">
 | 
			
		||||
                        <template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
                            <input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
                            <label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
                        </template>
 | 
			
		||||
				</template>
 | 
			
		||||
				<template v-else>
 | 
			
		||||
					<template v-if="item.doubleText">
 | 
			
		||||
						<template v-for="(textbox, j) in item.data">
 | 
			
		||||
                            <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
                        </template>
 | 
			
		||||
					</template>
 | 
			
		||||
					<template v-else>
 | 
			
		||||
							<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}}
 | 
			
		||||
					</template>
 | 
			
		||||
					<button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">Change</button> 
 | 
			
		||||
				</template><br>
 | 
			
		||||
			</template>
 | 
			
		||||
        </div>
 | 
			
		||||
        <h5>Font</h5>
 | 
			
		||||
		Select your favorite font to 'Select'<br>
 | 
			
		||||
		<button class="btn waves-effect" style="width:100px;" onclick="font()">Select</button><br>
 | 
			
		||||
		<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
 | 
			
		||||
		<br>
 | 
			
		||||
		<input type="text" style="width:150px" id="font">
 | 
			
		||||
		<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">color_lens</i>Themes
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<h4>Select theme</h4>
 | 
			
		||||
		<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>
 | 
			
		||||
		<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
 | 
			
		||||
		<label for="custom">Custom</label>
 | 
			
		||||
		<div style="width:300px" id="sel-selector">
 | 
			
		||||
			<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
 | 
			
		||||
		</div>
 | 
			
		||||
		<h4>Edit and add custom themes</h4>
 | 
			
		||||
		<div style="width:300px" id="edit-selector" data-add="Add new">
 | 
			
		||||
			<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
 | 
			
		||||
				<option value="add_new">Add new</option>
 | 
			
		||||
			</select>
 | 
			
		||||
		</div>
 | 
			
		||||
		<h5>Name</h5>
 | 
			
		||||
		<input type="text" style="width:300px" id="custom_name" placeholder="Name...">
 | 
			
		||||
		<h5>About this theme</h5>
 | 
			
		||||
		<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea" placeholder="About this theme..."></textarea></div>
 | 
			
		||||
		<h5>Color scheme</h5>
 | 
			
		||||
		<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
 | 
			
		||||
		<label for="dark">Dark</label>
 | 
			
		||||
		<input class="with-gap" name="derection" type="radio" id="light" value="light" />
 | 
			
		||||
		<label for="light">Light</label>
 | 
			
		||||
		<div id="pickers">
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Primary</h5>Background of components
 | 
			
		||||
			<div id="color-picker0-wrap"><div class="color-picker" id="color-picker0"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker0_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Secondary</h5>Background color
 | 
			
		||||
			<div id="color-picker1-wrap"><div class="color-picker" id="color-picker1"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker1_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Texts</h5>Text color
 | 
			
		||||
			<div id="color-picker2-wrap"><div class="color-picker" id="color-picker2"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker2_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Accent</h5>Background of boosts
 | 
			
		||||
			<div id="color-picker3-wrap"><div class="color-picker" id="color-picker3"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker3_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		</div>
 | 
			
		||||
		<button class="btn-large waves-effect" onclick="customComp()">Change</button> <button class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">Delete</button><br><br>
 | 
			
		||||
		<input type="text" style="width:300px" id="custom_json" class="materialize-textarea" placeholder="JSON style" readonly><br>
 | 
			
		||||
		Share this code with other TheDesk. Do not share this code with MiAS.
 | 
			
		||||
		<h4>Import of custom themes</h4>
 | 
			
		||||
		Get more themes on <a href="https://assets.msky.cafe/" target="_blank">MiAS</a><br>
 | 
			
		||||
		<input type="text" style="width:300px" id="custom_import" class="materialize-textarea" placeholder="JSON/JSON5 style">
 | 
			
		||||
		<button class="btn waves-effect" onclick="customImp()">Import</button><br>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">reorder</i>Timeline Preferences
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<div id="tlView">
 | 
			
		||||
            <template v-for="(item, i) in config">
 | 
			
		||||
				<h5>{{item.text.head}}</h5>
 | 
			
		||||
				<template v-if=item.text.desc><templete v-html=item.text.desc></templete><br></template>
 | 
			
		||||
                <template v-if="item.checkbox">
 | 
			
		||||
                        <template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
                            <input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
                            <label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
                        </template>
 | 
			
		||||
				</template>
 | 
			
		||||
				<template v-else>
 | 
			
		||||
					<template v-if="item.doubleText">
 | 
			
		||||
						<template v-for="(textbox, j) in item.data">
 | 
			
		||||
                            <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
                        </template>
 | 
			
		||||
					</template>
 | 
			
		||||
					<template v-else>
 | 
			
		||||
							<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}}
 | 
			
		||||
					</template>
 | 
			
		||||
					<button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">Change</button> 
 | 
			
		||||
				</template><br>
 | 
			
		||||
			</template>
 | 
			
		||||
        </div>
 | 
			
		||||
	</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">send</i>Posting Preferences
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<div id="postView">
 | 
			
		||||
            <template v-for="(item, i) in config">
 | 
			
		||||
				<h5>{{item.text.head}}</h5>
 | 
			
		||||
				<template v-if=item.text.desc><templete v-html=item.text.desc></templete><br></template>
 | 
			
		||||
                <template v-if="item.checkbox">
 | 
			
		||||
                        <template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
							<template v-if="!check.kirishima || (check.kirishima && kirishima)">
 | 
			
		||||
                            	<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
	<h4>Preferences</h4>
 | 
			
		||||
	<ul class="collapsible" data-collapsible="accordion">
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">desktop_windows</i>System Preferences
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>Languages</h5>
 | 
			
		||||
				To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
 | 
			
		||||
				<a href="../ja/setting.html" onclick="changelang('ja')">日本語(Japanese)</a>/<a href="../en/setting.html" onclick="changelang('en')">English</a>/<a href="../ps/setting.html" onclick="changelang('ps')">Crowdin web translate</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>
 | 
			
		||||
				<div id="envView">
 | 
			
		||||
					<template v-for="(item, i) in config">
 | 
			
		||||
						<h5>{{item.text.head}}</h5>
 | 
			
		||||
						<template v-if=item.text.desc>
 | 
			
		||||
							<templete v-html=item.text.desc></templete><br>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-if="item.id=='notf'"><a onclick="notftest()"
 | 
			
		||||
								class="pointer">Notification test</a><br></template>
 | 
			
		||||
						<template v-if="item.checkbox">
 | 
			
		||||
							<template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
								<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
 | 
			
		||||
									type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
								<label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
								<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
 | 
			
		||||
							</template>
 | 
			
		||||
                        </template>
 | 
			
		||||
				</template>
 | 
			
		||||
				<template v-else>
 | 
			
		||||
					<template v-if="item.doubleText">
 | 
			
		||||
						<template v-for="(textbox, j) in item.data">
 | 
			
		||||
                            <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
                        </template>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-else>
 | 
			
		||||
							<template v-if="item.doubleText">
 | 
			
		||||
								<template v-for="(textbox, j) in item.data">
 | 
			
		||||
									<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
 | 
			
		||||
										v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
							<template v-else>
 | 
			
		||||
								<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
 | 
			
		||||
									v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
 | 
			
		||||
							</template>
 | 
			
		||||
							<button class="btn waves-effect" style="width:100px;"
 | 
			
		||||
								v-on:click="complete(i)">Change</button>
 | 
			
		||||
						</template><br>
 | 
			
		||||
					</template>
 | 
			
		||||
					<template v-else>
 | 
			
		||||
							<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}}
 | 
			
		||||
				</div>
 | 
			
		||||
				<h5>Font</h5>
 | 
			
		||||
				Select your favorite font to 'Select'<br>
 | 
			
		||||
				<button class="btn waves-effect" style="width:100px;" onclick="font()">Select</button><br>
 | 
			
		||||
				<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
 | 
			
		||||
				<br>
 | 
			
		||||
				<input type="text" style="width:150px" id="font">
 | 
			
		||||
				<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">color_lens</i>Themes
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h4>Select theme</h4>
 | 
			
		||||
				<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>
 | 
			
		||||
				<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
 | 
			
		||||
				<label for="custom">Custom</label>
 | 
			
		||||
				<div style="width:300px" id="sel-selector">
 | 
			
		||||
					<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
 | 
			
		||||
				</div>
 | 
			
		||||
				<h4>Edit and add custom themes</h4>
 | 
			
		||||
				<div style="width:300px" id="edit-selector" data-add="Add new">
 | 
			
		||||
					<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
 | 
			
		||||
						<option value="add_new">Add new</option>
 | 
			
		||||
					</select>
 | 
			
		||||
				</div>
 | 
			
		||||
				<h5>Name</h5>
 | 
			
		||||
				<input type="text" style="width:300px" id="custom_name" placeholder="Name...">
 | 
			
		||||
				<h5>About this theme</h5>
 | 
			
		||||
				<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
 | 
			
		||||
						placeholder="About this theme..."></textarea></div>
 | 
			
		||||
				<h5>Color scheme</h5>
 | 
			
		||||
				<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
 | 
			
		||||
				<label for="dark">Dark</label>
 | 
			
		||||
				<input class="with-gap" name="derection" type="radio" id="light" value="light" />
 | 
			
		||||
				<label for="light">Light</label>
 | 
			
		||||
				<div id="pickers">
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Primary</h5>Background of components
 | 
			
		||||
						<div id="color-picker0-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker0"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker0_value">
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Secondary</h5>Background color
 | 
			
		||||
						<div id="color-picker1-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker1"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker1_value">
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Texts</h5>Text color
 | 
			
		||||
						<div id="color-picker2-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker2"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker2_value">
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Accent</h5>Background of boosts
 | 
			
		||||
						<div id="color-picker3-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker3"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker3_value">
 | 
			
		||||
					</div>
 | 
			
		||||
				</div>
 | 
			
		||||
				<button class="btn-large waves-effect" onclick="customComp()">Change</button> <button
 | 
			
		||||
					class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">Delete</button><br><br>
 | 
			
		||||
				<input type="text" style="width:300px" id="custom_json" class="materialize-textarea"
 | 
			
		||||
					placeholder="JSON style" readonly><br>
 | 
			
		||||
				Share this code with other TheDesk. Do not share this code with MiAS.
 | 
			
		||||
				<h4>Import of custom themes</h4>
 | 
			
		||||
				Get more themes on <a href="https://assets.msky.cafe/" target="_blank">MiAS</a><br>
 | 
			
		||||
				<input type="text" style="width:300px" id="custom_import" class="materialize-textarea"
 | 
			
		||||
					placeholder="JSON/JSON5 style">
 | 
			
		||||
				<button class="btn waves-effect" onclick="customImp()">Import</button><br>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">reorder</i>Timeline Preferences
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<div id="tlView">
 | 
			
		||||
					<template v-for="(item, i) in config">
 | 
			
		||||
						<h5>{{item.text.head}}</h5>
 | 
			
		||||
						<template v-if=item.text.desc>
 | 
			
		||||
							<templete v-html=item.text.desc></templete><br>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-if="item.checkbox">
 | 
			
		||||
							<template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
								<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
 | 
			
		||||
									type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
								<label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
							</template>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-else>
 | 
			
		||||
							<template v-if="item.doubleText">
 | 
			
		||||
								<template v-for="(textbox, j) in item.data">
 | 
			
		||||
									<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
 | 
			
		||||
										v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
							<template v-else>
 | 
			
		||||
								<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
 | 
			
		||||
									v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
 | 
			
		||||
							</template>
 | 
			
		||||
							<button class="btn waves-effect" style="width:100px;"
 | 
			
		||||
								v-on:click="complete(i)">Change</button>
 | 
			
		||||
						</template><br>
 | 
			
		||||
					</template>
 | 
			
		||||
					<button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">Change</button> 
 | 
			
		||||
				</template><br>
 | 
			
		||||
			</template>
 | 
			
		||||
        </div>
 | 
			
		||||
	</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>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">send</i>Posting Preferences
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<div id="postView">
 | 
			
		||||
					<template v-for="(item, i) in config">
 | 
			
		||||
						<h5>{{item.text.head}}</h5>
 | 
			
		||||
						<template v-if=item.text.desc>
 | 
			
		||||
							<templete v-html=item.text.desc></templete><br>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-if="item.checkbox">
 | 
			
		||||
							<template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
								<template v-if="!check.kirishima || (check.kirishima && kirishima)">
 | 
			
		||||
									<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
 | 
			
		||||
										type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
									<label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
									<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-else>
 | 
			
		||||
							<template v-if="item.doubleText">
 | 
			
		||||
								<template v-for="(textbox, j) in item.data">
 | 
			
		||||
									<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
 | 
			
		||||
										v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
							<template v-else>
 | 
			
		||||
								<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
 | 
			
		||||
									v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
 | 
			
		||||
							</template>
 | 
			
		||||
							<button class="btn waves-effect" style="width:100px;"
 | 
			
		||||
								v-on:click="complete(i)">Change</button>
 | 
			
		||||
						</template><br>
 | 
			
		||||
					</template>
 | 
			
		||||
				</div>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">Fkeyboard</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">
 | 
			
		||||
			</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">
 | 
			
		||||
			<h5>NowPlaying Provider(Windows)</h5>
 | 
			
		||||
			macOS and Linux are not supported. AIMP and iTunes were checked by developer. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> For foobar2000, <a href="http://poiru.github.com/foo-cad/">foo_cad plugin</a> is required. And MusicBee requires CAD.<br>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
 | 
			
		||||
			<label for="aimp">AIMP</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
 | 
			
		||||
			<label for="itunes">iTunes</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm" value="MEDIAMONKEY" />
 | 
			
		||||
			<label for="npmm">MediaMonkey</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
 | 
			
		||||
			<label for="winamp">Winamp</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
 | 
			
		||||
			<label for="wmp">WMP</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
 | 
			
		||||
			<label for="wlm">WLM</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
 | 
			
		||||
			<label for="cad">CAD</label><br><br>
 | 
			
		||||
			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}
 | 
			
		||||
			</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">
 | 
			
		||||
				<h5>NowPlaying Provider(Windows)</h5>
 | 
			
		||||
				macOS and Linux are not supported. AIMP and iTunes were checked by developer. <br>CAD:foobar2000, MusicBee,J. River Media Center, Media Jukebox<br>WLM:Last.fm Client, TTPlayer, OpenPandora, Zune.<br> For foobar2000, <a href="http://poiru.github.com/foo-cad/">foo_cad plugin</a> is required. And MusicBee requires CAD.<br>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
 | 
			
		||||
				<label for="aimp">AIMP</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
 | 
			
		||||
				<label for="itunes">iTunes</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm" value="MEDIAMONKEY" />
 | 
			
		||||
				<label for="npmm">MediaMonkey</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
 | 
			
		||||
				<label for="winamp">Winamp</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
 | 
			
		||||
				<label for="wmp">WMP</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
 | 
			
		||||
				<label for="wlm">WLM</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
 | 
			
		||||
				<label for="cad">CAD</label><br><br>
 | 
			
		||||
				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>
 | 
			
		||||
				Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify<br>
 | 
			
		||||
				macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}<br>
 | 
			
		||||
				Windows:{song}:Song name/{album}:Album name/{artist}:Artist name<br>
 | 
			
		||||
			<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">Save</button>
 | 
			
		||||
			<h5>Attach an Artwork of Spotify</h5>
 | 
			
		||||
			<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+Enter+Shift:Post(secondary toot)</li>
 | 
			
		||||
<li>Alt+Enter:Secondary Toot Button</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://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>Support(Pixiv FANBOX)</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>
 | 
			
		||||
<br>
 | 
			
		||||
Kyash<br>
 | 
			
		||||
			<img src="../../img/kyash.png" width="100"><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 © TheDesk 2018 All Rights Reserved. 
 | 
			
		||||
	Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy Policy</a>
 | 
			
		||||
	<br>Developer: Cutls P( 
 | 
			
		||||
	<a href="index.html?mode=user&code=Cutls@kirishima.cloud">@Cutls@kirishima.cloud</a>)
 | 
			
		||||
				<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">Save</button>
 | 
			
		||||
				<h5>Attach an Artwork of Spotify</h5>
 | 
			
		||||
				<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>
 | 
			
		||||
</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/ui/spotify.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
 | 
			
		||||
	<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+Enter+Shift:Post(secondary toot)</li>
 | 
			
		||||
	<li>Alt+Enter:Secondary Toot Button</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://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
 | 
			
		||||
		style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>Support(Pixiv FANBOX)</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>
 | 
			
		||||
	<br>
 | 
			
		||||
	Kyash<br>
 | 
			
		||||
	<img src="../../img/kyash.png" width="100"><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 © TheDesk 2018 All Rights Reserved.
 | 
			
		||||
		Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
 | 
			
		||||
			href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
 | 
			
		||||
			Policy</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/ui/spotify.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/tl/speech.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/platform/pickr.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/ui/settings.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/ui/theme.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/tl/date.js"></script>
 | 
			
		||||
@@ -754,10 +754,17 @@ var tlid=0;
 | 
			
		||||
		<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>
 | 
			
		||||
		有効期限(あと)<span class="sml">未指定(または0分)で「無期限」になります。<b>仕様上数値の正確性を保証できません。</b></span><br><br>
 | 
			
		||||
		<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">日
 | 
			
		||||
		<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">時間
 | 
			
		||||
		<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">分
 | 
			
		||||
		<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">分<br>
 | 
			
		||||
		Quick:<a onclick="filterTime(0,0,30)" class="pointer">30分</a>/
 | 
			
		||||
		<a onclick="filterTime(0,1,0)" class="pointer">1時間</a>/
 | 
			
		||||
		<a onclick="filterTime(0,6,0)" class="pointer">6時間</a>/
 | 
			
		||||
		<a onclick="filterTime(0,12,0)" class="pointer">12時間</a>/
 | 
			
		||||
		<a onclick="filterTime(1,0,0)" class="pointer">1日</a>/
 | 
			
		||||
		<a onclick="filterTime(7,0,0)" class="pointer">7日</a>/
 | 
			
		||||
		<a onclick="filterTime(0,0,0)" class="pointer">無期限</a><br>
 | 
			
		||||
		<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>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
<!doctype html>
 | 
			
		||||
<html lang="ja">
 | 
			
		||||
 | 
			
		||||
<head>
 | 
			
		||||
	<title>Settings - TheDesk</title>
 | 
			
		||||
	<!--
 | 
			
		||||
@@ -17,359 +18,424 @@
 | 
			
		||||
	<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">
 | 
			
		||||
	<style>input{max-height:50px!important} .pcr-result{height:1rem !important;}</style>
 | 
			
		||||
	<style>
 | 
			
		||||
		input {
 | 
			
		||||
			max-height: 50px !important
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		.pcr-result {
 | 
			
		||||
			height: 1rem !important;
 | 
			
		||||
		}
 | 
			
		||||
	</style>
 | 
			
		||||
</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/lang.ja.js"></script>
 | 
			
		||||
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
 | 
			
		||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
 | 
			
		||||
<script type="text/javascript" src="setting.vue.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../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.ja.js"></script>
 | 
			
		||||
	<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
 | 
			
		||||
	<script src="../../node_modules/vue/dist/vue.min.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="setting.vue.js"></script>
 | 
			
		||||
 | 
			
		||||
<h4>設定</h4>
 | 
			
		||||
<ul class="collapsible" data-collapsible="accordion">
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">desktop_windows</i>環境設定
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<h5>言語</h5>
 | 
			
		||||
		To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
 | 
			
		||||
		<a href="../ja/setting.html" onclick="changelang('ja')">日本語(Japanese)</a>/<a href="../en/setting.html" onclick="changelang('en')">English</a>/<a href="../ps/setting.html" onclick="changelang('ps')">Crowdin web translate</a>/
 | 
			
		||||
		<h5>設定のインポートとエクスポート</h5>
 | 
			
		||||
		<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>
 | 
			
		||||
		<div id="envView">
 | 
			
		||||
            <template v-for="(item, i) in config">
 | 
			
		||||
				<h5>{{item.text.head}}</h5>
 | 
			
		||||
				<template v-if=item.text.desc><templete v-html=item.text.desc></templete><br></template>
 | 
			
		||||
				<template v-if="item.id=='notf'"><a onclick="notftest()" class="pointer">通知テスト</a><br></template>
 | 
			
		||||
                <template v-if="item.checkbox">
 | 
			
		||||
                        <template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
                            <input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
                            <label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
                        </template>
 | 
			
		||||
				</template>
 | 
			
		||||
				<template v-else>
 | 
			
		||||
					<template v-if="item.doubleText">
 | 
			
		||||
						<template v-for="(textbox, j) in item.data">
 | 
			
		||||
                            <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
                        </template>
 | 
			
		||||
					</template>
 | 
			
		||||
					<template v-else>
 | 
			
		||||
							<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}}
 | 
			
		||||
					</template>
 | 
			
		||||
					<button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">変更</button> 
 | 
			
		||||
				</template><br>
 | 
			
		||||
			</template>
 | 
			
		||||
        </div>
 | 
			
		||||
        <h5>フォント</h5>
 | 
			
		||||
		「選択」を押してフォントを選んでください。<br>
 | 
			
		||||
		<button class="btn waves-effect" style="width:100px;" onclick="font()">選択</button><br>
 | 
			
		||||
		<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
 | 
			
		||||
		<br>
 | 
			
		||||
		<input type="text" style="width:150px" id="font">
 | 
			
		||||
		<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
 | 
			
		||||
		<br>
 | 
			
		||||
        <h5>デフォルトの保存先</h5>
 | 
			
		||||
		画像ダウンロードやスクリーンショットに影響します。<br>
 | 
			
		||||
		<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">変更</button>
 | 
			
		||||
		<br>
 | 
			
		||||
	</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">color_lens</i>テーマの設定
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<h4>テーマの選択</h4>
 | 
			
		||||
		<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>
 | 
			
		||||
		<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
 | 
			
		||||
		<label for="custom">Custom</label>
 | 
			
		||||
		<div style="width:300px" id="sel-selector">
 | 
			
		||||
			<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
 | 
			
		||||
		</div>
 | 
			
		||||
		<h4>カスタムテーマの作成・編集</h4>
 | 
			
		||||
		<div style="width:300px" id="edit-selector" data-add="新規作成">
 | 
			
		||||
			<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
 | 
			
		||||
				<option value="add_new">新規作成</option>
 | 
			
		||||
			</select>
 | 
			
		||||
		</div>
 | 
			
		||||
		<h5>名前</h5>
 | 
			
		||||
		<input type="text" style="width:300px" id="custom_name" placeholder="名前...">
 | 
			
		||||
		<h5>説明</h5>
 | 
			
		||||
		<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea" placeholder="説明..."></textarea></div>
 | 
			
		||||
		<h5>色の系統</h5>
 | 
			
		||||
		<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
 | 
			
		||||
		<label for="dark">Dark</label>
 | 
			
		||||
		<input class="with-gap" name="derection" type="radio" id="light" value="light" />
 | 
			
		||||
		<label for="light">Light</label>
 | 
			
		||||
		<div id="pickers">
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Primary</h5>補助要素に使われる背景色
 | 
			
		||||
			<div id="color-picker0-wrap"><div class="color-picker" id="color-picker0"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker0_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Secondary</h5>全体の背景色など
 | 
			
		||||
			<div id="color-picker1-wrap"><div class="color-picker" id="color-picker1"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker1_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Texts</h5>テキストの色
 | 
			
		||||
			<div id="color-picker2-wrap"><div class="color-picker" id="color-picker2"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker2_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Accent</h5>ブーストの背景色など
 | 
			
		||||
			<div id="color-picker3-wrap"><div class="color-picker" id="color-picker3"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker3_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		</div>
 | 
			
		||||
		<button class="btn-large waves-effect" onclick="customComp()">変更</button> <button class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">削除</button><br><br>
 | 
			
		||||
		<input type="text" style="width:300px" id="custom_json" class="materialize-textarea" placeholder="JSON style" readonly><br>
 | 
			
		||||
		このコードは他のTheDeskなどとシェアできます。このコードをMiASに貼ることはご遠慮ください。詳細:<a href="https://thedesk.top/mias.html" target="_blank">テーマ互換性</a>
 | 
			
		||||
		<h4>カスタムテーマのインポート</h4>
 | 
			
		||||
		<a href="https://assets.msky.cafe/" target="_blank">MiAS</a>上の80を超えるテーマを張り付けることもできます。<br>
 | 
			
		||||
		<input type="text" style="width:300px" id="custom_import" class="materialize-textarea" placeholder="JSON/JSON5 style">
 | 
			
		||||
		<button class="btn waves-effect" onclick="customImp()">インポート</button><br>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">reorder</i>タイムラインの設定
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<div id="tlView">
 | 
			
		||||
            <template v-for="(item, i) in config">
 | 
			
		||||
				<h5>{{item.text.head}}</h5>
 | 
			
		||||
				<template v-if=item.text.desc><templete v-html=item.text.desc></templete><br></template>
 | 
			
		||||
                <template v-if="item.checkbox">
 | 
			
		||||
                        <template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
                            <input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
                            <label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
                        </template>
 | 
			
		||||
				</template>
 | 
			
		||||
				<template v-else>
 | 
			
		||||
					<template v-if="item.doubleText">
 | 
			
		||||
						<template v-for="(textbox, j) in item.data">
 | 
			
		||||
                            <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
                        </template>
 | 
			
		||||
					</template>
 | 
			
		||||
					<template v-else>
 | 
			
		||||
							<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}}
 | 
			
		||||
					</template>
 | 
			
		||||
					<button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">変更</button> 
 | 
			
		||||
				</template><br>
 | 
			
		||||
			</template>
 | 
			
		||||
        </div>
 | 
			
		||||
	</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">send</i>投稿設定
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<div id="postView">
 | 
			
		||||
            <template v-for="(item, i) in config">
 | 
			
		||||
				<h5>{{item.text.head}}</h5>
 | 
			
		||||
				<template v-if=item.text.desc><templete v-html=item.text.desc></templete><br></template>
 | 
			
		||||
                <template v-if="item.checkbox">
 | 
			
		||||
                        <template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
							<template v-if="!check.kirishima || (check.kirishima && kirishima)">
 | 
			
		||||
                            	<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
	<h4>設定</h4>
 | 
			
		||||
	<ul class="collapsible" data-collapsible="accordion">
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">desktop_windows</i>環境設定
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>言語</h5>
 | 
			
		||||
				To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
 | 
			
		||||
				<a href="../ja/setting.html" onclick="changelang('ja')">日本語(Japanese)</a>/<a href="../en/setting.html" onclick="changelang('en')">English</a>/<a href="../ps/setting.html" onclick="changelang('ps')">Crowdin web translate</a>/
 | 
			
		||||
				<h5>設定のインポートとエクスポート</h5>
 | 
			
		||||
				<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>
 | 
			
		||||
				<div id="envView">
 | 
			
		||||
					<template v-for="(item, i) in config">
 | 
			
		||||
						<h5>{{item.text.head}}</h5>
 | 
			
		||||
						<template v-if=item.text.desc>
 | 
			
		||||
							<templete v-html=item.text.desc></templete><br>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-if="item.id=='notf'"><a onclick="notftest()"
 | 
			
		||||
								class="pointer">通知テスト</a><br></template>
 | 
			
		||||
						<template v-if="item.checkbox">
 | 
			
		||||
							<template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
								<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
 | 
			
		||||
									type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
								<label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
								<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
 | 
			
		||||
							</template>
 | 
			
		||||
                        </template>
 | 
			
		||||
				</template>
 | 
			
		||||
				<template v-else>
 | 
			
		||||
					<template v-if="item.doubleText">
 | 
			
		||||
						<template v-for="(textbox, j) in item.data">
 | 
			
		||||
                            <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
                        </template>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-else>
 | 
			
		||||
							<template v-if="item.doubleText">
 | 
			
		||||
								<template v-for="(textbox, j) in item.data">
 | 
			
		||||
									<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
 | 
			
		||||
										v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
							<template v-else>
 | 
			
		||||
								<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
 | 
			
		||||
									v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
 | 
			
		||||
							</template>
 | 
			
		||||
							<button class="btn waves-effect" style="width:100px;"
 | 
			
		||||
								v-on:click="complete(i)">変更</button>
 | 
			
		||||
						</template><br>
 | 
			
		||||
					</template>
 | 
			
		||||
					<template v-else>
 | 
			
		||||
							<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}}
 | 
			
		||||
				</div>
 | 
			
		||||
				<h5>フォント</h5>
 | 
			
		||||
				「選択」を押してフォントを選んでください。<br>
 | 
			
		||||
				<button class="btn waves-effect" style="width:100px;" onclick="font()">選択</button><br>
 | 
			
		||||
				<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
 | 
			
		||||
				<br>
 | 
			
		||||
				<input type="text" style="width:150px" id="font">
 | 
			
		||||
				<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
 | 
			
		||||
				<br>
 | 
			
		||||
				<h5>デフォルトの保存先</h5>
 | 
			
		||||
				画像ダウンロードやスクリーンショットに影響します。<br>
 | 
			
		||||
				<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">変更</button>
 | 
			
		||||
				<br>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">color_lens</i>テーマの設定
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h4>テーマの選択</h4>
 | 
			
		||||
				<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>
 | 
			
		||||
				<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
 | 
			
		||||
				<label for="custom">Custom</label>
 | 
			
		||||
				<div style="width:300px" id="sel-selector">
 | 
			
		||||
					<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
 | 
			
		||||
				</div>
 | 
			
		||||
				<h4>カスタムテーマの作成・編集</h4>
 | 
			
		||||
				<div style="width:300px" id="edit-selector" data-add="新規作成">
 | 
			
		||||
					<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
 | 
			
		||||
						<option value="add_new">新規作成</option>
 | 
			
		||||
					</select>
 | 
			
		||||
				</div>
 | 
			
		||||
				<h5>名前</h5>
 | 
			
		||||
				<input type="text" style="width:300px" id="custom_name" placeholder="名前...">
 | 
			
		||||
				<h5>説明</h5>
 | 
			
		||||
				<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
 | 
			
		||||
						placeholder="説明..."></textarea></div>
 | 
			
		||||
				<h5>色の系統</h5>
 | 
			
		||||
				<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
 | 
			
		||||
				<label for="dark">Dark</label>
 | 
			
		||||
				<input class="with-gap" name="derection" type="radio" id="light" value="light" />
 | 
			
		||||
				<label for="light">Light</label>
 | 
			
		||||
				<div id="pickers">
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Primary</h5>補助要素に使われる背景色
 | 
			
		||||
						<div id="color-picker0-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker0"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker0_value">
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Secondary</h5>全体の背景色など
 | 
			
		||||
						<div id="color-picker1-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker1"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker1_value">
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Texts</h5>テキストの色
 | 
			
		||||
						<div id="color-picker2-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker2"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker2_value">
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Accent</h5>ブーストの背景色など
 | 
			
		||||
						<div id="color-picker3-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker3"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker3_value">
 | 
			
		||||
					</div>
 | 
			
		||||
				</div>
 | 
			
		||||
				<button class="btn-large waves-effect" onclick="customComp()">変更</button> <button
 | 
			
		||||
					class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">削除</button><br><br>
 | 
			
		||||
				<input type="text" style="width:300px" id="custom_json" class="materialize-textarea"
 | 
			
		||||
					placeholder="JSON style" readonly><br>
 | 
			
		||||
				このコードは他のTheDeskなどとシェアできます。このコードをMiASに貼ることはご遠慮ください。詳細:<a href="https://thedesk.top/mias.html" target="_blank">テーマ互換性</a>
 | 
			
		||||
				<h4>カスタムテーマのインポート</h4>
 | 
			
		||||
				<a href="https://assets.msky.cafe/" target="_blank">MiAS</a>上の80を超えるテーマを張り付けることもできます。<br>
 | 
			
		||||
				<input type="text" style="width:300px" id="custom_import" class="materialize-textarea"
 | 
			
		||||
					placeholder="JSON/JSON5 style">
 | 
			
		||||
				<button class="btn waves-effect" onclick="customImp()">インポート</button><br>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">reorder</i>タイムラインの設定
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<div id="tlView">
 | 
			
		||||
					<template v-for="(item, i) in config">
 | 
			
		||||
						<h5>{{item.text.head}}</h5>
 | 
			
		||||
						<template v-if=item.text.desc>
 | 
			
		||||
							<templete v-html=item.text.desc></templete><br>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-if="item.checkbox">
 | 
			
		||||
							<template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
								<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
 | 
			
		||||
									type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
								<label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
							</template>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-else>
 | 
			
		||||
							<template v-if="item.doubleText">
 | 
			
		||||
								<template v-for="(textbox, j) in item.data">
 | 
			
		||||
									<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
 | 
			
		||||
										v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
							<template v-else>
 | 
			
		||||
								<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
 | 
			
		||||
									v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
 | 
			
		||||
							</template>
 | 
			
		||||
							<button class="btn waves-effect" style="width:100px;"
 | 
			
		||||
								v-on:click="complete(i)">変更</button>
 | 
			
		||||
						</template><br>
 | 
			
		||||
					</template>
 | 
			
		||||
					<button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">変更</button> 
 | 
			
		||||
				</template><br>
 | 
			
		||||
			</template>
 | 
			
		||||
        </div>
 | 
			
		||||
	</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
		<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">keyboard</i>キーボードショートカットの設定
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="collapsible-body">
 | 
			
		||||
			<h5>簡単文字入力</h5>
 | 
			
		||||
			絵文字やタグ、>BTなどを登録しておくとすぐに入力できます。<br>
 | 
			
		||||
			Ctrl+Shift+1:<input type="text" style="width:150px" id="oks-1">
 | 
			
		||||
			<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">設定</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;">設定</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;">設定</button><br><br>
 | 
			
		||||
				</div>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">send</i>投稿設定
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<div id="postView">
 | 
			
		||||
					<template v-for="(item, i) in config">
 | 
			
		||||
						<h5>{{item.text.head}}</h5>
 | 
			
		||||
						<template v-if=item.text.desc>
 | 
			
		||||
							<templete v-html=item.text.desc></templete><br>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-if="item.checkbox">
 | 
			
		||||
							<template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
								<template v-if="!check.kirishima || (check.kirishima && kirishima)">
 | 
			
		||||
									<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
 | 
			
		||||
										type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
									<label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
									<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-else>
 | 
			
		||||
							<template v-if="item.doubleText">
 | 
			
		||||
								<template v-for="(textbox, j) in item.data">
 | 
			
		||||
									<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
 | 
			
		||||
										v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
							<template v-else>
 | 
			
		||||
								<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
 | 
			
		||||
									v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
 | 
			
		||||
							</template>
 | 
			
		||||
							<button class="btn waves-effect" style="width:100px;"
 | 
			
		||||
								v-on:click="complete(i)">変更</button>
 | 
			
		||||
						</template><br>
 | 
			
		||||
					</template>
 | 
			
		||||
				</div>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">Fkeyboard</i>キーボードショートカットの設定
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>簡単文字入力</h5>
 | 
			
		||||
				絵文字やタグ、>BTなどを登録しておくとすぐに入力できます。<br>
 | 
			
		||||
				Ctrl+Shift+1:<input type="text" style="width:150px" id="oks-1">
 | 
			
		||||
				<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">設定</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;">設定</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;">設定</button><br><br>
 | 
			
		||||
 | 
			
		||||
		</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
		<div class="collapsible-header">
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">bookmark</i>ミュート・強調の設定
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="collapsible-body">
 | 
			
		||||
			<h5>クライアントミュート</h5>
 | 
			
		||||
			<div id="mute-cli"></div>
 | 
			
		||||
			<h5>クライアント強調</h5>
 | 
			
		||||
			各トゥートのクライアントをクリックすると設定できます。
 | 
			
		||||
			<h5>ワードミュート</h5>
 | 
			
		||||
			Enterで確定<br>
 | 
			
		||||
			<div class="chips" id="wordmute" style="background-color:gray;"></div>
 | 
			
		||||
			<button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">設定</button>
 | 
			
		||||
			<h5>ワード強調</h5>
 | 
			
		||||
			Enterで確定<br>
 | 
			
		||||
			<div class="chips" id="wordemp" style="background-color:gray;"></div>
 | 
			
		||||
			<button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">設定</button>
 | 
			
		||||
			<h5>ユーザー強調</h5>
 | 
			
		||||
			各ユーザーのデータ表示画面で設定できます。
 | 
			
		||||
			<span class="emphasized"> 強調色(テーマによって異なります。) </span>
 | 
			
		||||
		</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
		<div class="collapsible-header">
 | 
			
		||||
			<i class="fa fa-spotify"></i>SpotifyとNowPlayingの設定
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="collapsible-body">
 | 
			
		||||
			<h5>NowPlayingのソース(Windows)</h5>
 | 
			
		||||
			macOSやLinuxでは動作しません。AIMPとiTunes以外未検証です。<br>foobar2000, MusicBee,J. River Media Center, Media JukeboxはCADを、Last.fm Client, TTPlayer, OpenPandora, ZuneはWLMを選んでください。<br>ただし、foobar2000は<a href="http://poiru.github.com/foo-cad/">foo_cad plugin</a>が必要です。MusicBeeもCADを有効にする必要があります。<br>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
 | 
			
		||||
			<label for="aimp">AIMP</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
 | 
			
		||||
			<label for="itunes">iTunes</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm" value="MEDIAMONKEY" />
 | 
			
		||||
			<label for="npmm">MediaMonkey</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
 | 
			
		||||
			<label for="winamp">Winamp</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
 | 
			
		||||
			<label for="wmp">WMP</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
 | 
			
		||||
			<label for="wlm">WLM</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
 | 
			
		||||
			<label for="cad">CAD</label><br><br>
 | 
			
		||||
			<i class="material-icons" style="font-size:24px;">music_note</i>ボタンから簡単にNowPlayingができます。<br>
 | 
			
		||||
			<h5>アカウントの連携</h5>
 | 
			
		||||
			APIの性質上,thedesk.topへアクセスします。<br>
 | 
			
		||||
			<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">設定</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>接続</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>切断</a>
 | 
			
		||||
			<h5>テンプレートの編集</h5>
 | 
			
		||||
			以下を編集してテンプレートを変更できます。<br>
 | 
			
		||||
			<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>クライアントミュート</h5>
 | 
			
		||||
				<div id="mute-cli"></div>
 | 
			
		||||
				<h5>クライアント強調</h5>
 | 
			
		||||
				各トゥートのクライアントをクリックすると設定できます。
 | 
			
		||||
				<h5>ワードミュート</h5>
 | 
			
		||||
				Enterで確定<br>
 | 
			
		||||
				<div class="chips" id="wordmute" style="background-color:gray;"></div>
 | 
			
		||||
				<button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">設定</button>
 | 
			
		||||
				<h5>ワード強調</h5>
 | 
			
		||||
				Enterで確定<br>
 | 
			
		||||
				<div class="chips" id="wordemp" style="background-color:gray;"></div>
 | 
			
		||||
				<button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">設定</button>
 | 
			
		||||
				<h5>ユーザー強調</h5>
 | 
			
		||||
				各ユーザーのデータ表示画面で設定できます。
 | 
			
		||||
				<span class="emphasized"> 強調色(テーマによって異なります。) </span>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="fa fa-spotify"></i>SpotifyとNowPlayingの設定
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>NowPlayingのソース(Windows)</h5>
 | 
			
		||||
				macOSやLinuxでは動作しません。AIMPとiTunes以外未検証です。<br>foobar2000, MusicBee,J. River Media Center, Media JukeboxはCADを、Last.fm Client, TTPlayer, OpenPandora, ZuneはWLMを選んでください。<br>ただし、foobar2000は<a href="http://poiru.github.com/foo-cad/">foo_cad plugin</a>が必要です。MusicBeeもCADを有効にする必要があります。<br>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
 | 
			
		||||
				<label for="aimp">AIMP</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
 | 
			
		||||
				<label for="itunes">iTunes</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm" value="MEDIAMONKEY" />
 | 
			
		||||
				<label for="npmm">MediaMonkey</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
 | 
			
		||||
				<label for="winamp">Winamp</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
 | 
			
		||||
				<label for="wmp">WMP</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
 | 
			
		||||
				<label for="wlm">WLM</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
 | 
			
		||||
				<label for="cad">CAD</label><br><br>
 | 
			
		||||
				<i class="material-icons" style="font-size:24px;">music_note</i>ボタンから簡単にNowPlayingができます。<br>
 | 
			
		||||
				<h5>アカウントの連携</h5>
 | 
			
		||||
				APIの性質上,thedesk.topへアクセスします。<br>
 | 
			
		||||
				<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
 | 
			
		||||
						onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">設定</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>接続</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>切断</a>
 | 
			
		||||
				<h5>テンプレートの編集</h5>
 | 
			
		||||
				以下を編集してテンプレートを変更できます。<br>
 | 
			
		||||
				<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
 | 
			
		||||
{url}</textarea><br>
 | 
			
		||||
				Spotify:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/{url}:各曲のSpotifyのURL<br>
 | 
			
		||||
				macOS:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名/作曲家{composer}/サンプルレート{hz}/ビットレート{bitRate}/ジャンル{genre}<br>
 | 
			
		||||
				Windows:{song}:曲名/{album}:アルバム名/{artist}:アーティスト名<br>
 | 
			
		||||
			<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">設定</button>
 | 
			
		||||
			<h5>アルバムアートワークを添付する(Spotify/Windows)</h5>
 | 
			
		||||
			<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
 | 
			
		||||
			<label for="awk_yes">はい</label>
 | 
			
		||||
			<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no" value="no" />
 | 
			
		||||
			<label for="awk_no">いいえ</label>
 | 
			
		||||
			<br>
 | 
			
		||||
		</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
		<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">hearing</i>読み上げの設定
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="collapsible-body">
 | 
			
		||||
			<h5>読み上げの速さ</h5>
 | 
			
		||||
			1-100まで、デフォルトは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>読み上げの高さ</h5>
 | 
			
		||||
			0-100まで、デフォルトは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>読み上げの音量</h5>
 | 
			
		||||
			0-100まで、デフォルトは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>テスト</h5>
 | 
			
		||||
			<input type="text" style="width:350px" id="voicetxt" value="これはテスト音声です。TheDeskはオープンソースのPC向けマストドンクライアントです。マルチサーバーやマルチカラムに対応しています。">
 | 
			
		||||
			<button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()" id="testplay">再生/停止</button><br>
 | 
			
		||||
			<br>
 | 
			
		||||
			<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">設定</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>戻る</a>
 | 
			
		||||
<br>
 | 
			
		||||
<br>キーボードショートカット一覧
 | 
			
		||||
<li>Ctrl+1-9:1番目~9番目のTLにスクロール</li>
 | 
			
		||||
<li>N:投稿パネルを開く</li>
 | 
			
		||||
<li>X:投稿パネルを開閉</li>
 | 
			
		||||
<li>Ctrl+Enter:投稿</li>
 | 
			
		||||
<li>Ctrl+Enter+Shift:投稿(セカンダリートゥート)</li>
 | 
			
		||||
<li>Alt+Enter:セカンダリートゥートボタン</li>
 | 
			
		||||
<li>Ctrl+E:全ての通知を既読にする</li>
 | 
			
		||||
<li>Esc:投稿パネルを消す</li>
 | 
			
		||||
<li>F5:スーパーリロード</li>
 | 
			
		||||
<li>Ctrl+Shift+C:入力内容を消す</li>
 | 
			
		||||
<li>Ctrl+Shift+S:設定</li>
 | 
			
		||||
<li>Ctrl+Shift+M:アカウントマネージャ</li>
 | 
			
		||||
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
 | 
			
		||||
<li>Ctrl+Shift+P:現在選択中のプロフィール</li>
 | 
			
		||||
<li>←/→:イメージビューワー起動時に画像切り替え</li>
 | 
			
		||||
<li>マウスホイール:イメージビューワー時に拡大縮小</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('全てのデータを削除します。この操作は取り消せません。')){ localStorage.clear(); location.href='index.html'; }"><i class="material-icons left">delete</i>初期化</button><br><br>
 | 
			
		||||
<button class="btn waves-effect indigo" onclick="about()" style="width:100%; max-width:500px;"><i class="material-icons left">info</i>このソフトについて</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>公式HP</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://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>支援(Pixiv FANBOX)</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="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>
 | 
			
		||||
<br>
 | 
			
		||||
Kyash<br>
 | 
			
		||||
			<img src="../../img/kyash.png" width="100"><br>
 | 
			
		||||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';" class="pointer">アップデートを確認</a><br>
 | 
			
		||||
<a href="oss.html">OSS License(オープンソースライセンス)</a><br>
 | 
			
		||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018 All Rights Reserved. 
 | 
			
		||||
	Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy Policy</a>
 | 
			
		||||
	<br>Developer: Cutls P( 
 | 
			
		||||
	<a href="index.html?mode=user&code=Cutls@kirishima.cloud">@Cutls@kirishima.cloud</a>)
 | 
			
		||||
				<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">設定</button>
 | 
			
		||||
				<h5>アルバムアートワークを添付する(Spotify/Windows)</h5>
 | 
			
		||||
				<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
 | 
			
		||||
				<label for="awk_yes">はい</label>
 | 
			
		||||
				<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no" value="no" />
 | 
			
		||||
				<label for="awk_no">いいえ</label>
 | 
			
		||||
				<br>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">hearing</i>読み上げの設定
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>読み上げの速さ</h5>
 | 
			
		||||
				1-100まで、デフォルトは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>読み上げの高さ</h5>
 | 
			
		||||
				0-100まで、デフォルトは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>読み上げの音量</h5>
 | 
			
		||||
				0-100まで、デフォルトは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>テスト</h5>
 | 
			
		||||
				<input type="text" style="width:350px" id="voicetxt" value="これはテスト音声です。TheDeskはオープンソースのPC向けマストドンクライアントです。マルチサーバーやマルチカラムに対応しています。">
 | 
			
		||||
				<button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()"
 | 
			
		||||
					id="testplay">再生/停止</button><br>
 | 
			
		||||
				<br>
 | 
			
		||||
				<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">設定</button>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
	</ul>
 | 
			
		||||
	<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/ui/spotify.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
 | 
			
		||||
	<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i
 | 
			
		||||
			class="material-icons left">undo</i>戻る</a>
 | 
			
		||||
	<br>
 | 
			
		||||
	<br>キーボードショートカット一覧
 | 
			
		||||
	<li>Ctrl+1-9:1番目~9番目のTLにスクロール</li>
 | 
			
		||||
	<li>N:投稿パネルを開く</li>
 | 
			
		||||
	<li>X:投稿パネルを開閉</li>
 | 
			
		||||
	<li>Ctrl+Enter:投稿</li>
 | 
			
		||||
	<li>Ctrl+Enter+Shift:投稿(セカンダリートゥート)</li>
 | 
			
		||||
	<li>Alt+Enter:セカンダリートゥートボタン</li>
 | 
			
		||||
	<li>Ctrl+E:全ての通知を既読にする</li>
 | 
			
		||||
	<li>Esc:投稿パネルを消す</li>
 | 
			
		||||
	<li>F5:スーパーリロード</li>
 | 
			
		||||
	<li>Ctrl+Shift+C:入力内容を消す</li>
 | 
			
		||||
	<li>Ctrl+Shift+S:設定</li>
 | 
			
		||||
	<li>Ctrl+Shift+M:アカウントマネージャ</li>
 | 
			
		||||
	<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
 | 
			
		||||
	<li>Ctrl+Shift+P:現在選択中のプロフィール</li>
 | 
			
		||||
	<li>←/→:イメージビューワー起動時に画像切り替え</li>
 | 
			
		||||
	<li>マウスホイール:イメージビューワー時に拡大縮小</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('全てのデータを削除します。この操作は取り消せません。')){ localStorage.clear(); location.href='index.html'; }"><i
 | 
			
		||||
			class="material-icons left">delete</i>初期化</button><br><br>
 | 
			
		||||
	<button class="btn waves-effect indigo" onclick="about()" style="width:100%; max-width:500px;"><i
 | 
			
		||||
			class="material-icons left">info</i>このソフトについて</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>公式HP</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://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
 | 
			
		||||
		style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>支援(Pixiv FANBOX)</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="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>
 | 
			
		||||
	<br>
 | 
			
		||||
	Kyash<br>
 | 
			
		||||
	<img src="../../img/kyash.png" width="100"><br>
 | 
			
		||||
	<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
 | 
			
		||||
		class="pointer">アップデートを確認</a><br>
 | 
			
		||||
	<a href="oss.html">OSS License(オープンソースライセンス)</a><br>
 | 
			
		||||
	<span style="font-family:Open Sans;">Copyright © TheDesk 2018 All Rights Reserved.
 | 
			
		||||
		Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
 | 
			
		||||
			href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
 | 
			
		||||
			Policy</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/ui/spotify.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/tl/speech.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/platform/pickr.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/ui/settings.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/ui/theme.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/tl/date.js"></script>
 | 
			
		||||
@@ -757,7 +757,14 @@ var tlid=0;
 | 
			
		||||
		{{avalableBefore}}<span class="sml">{{warnAvBefore}}<b>{{warnAvBefore2}}</b></span><br><br>
 | 
			
		||||
		<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">{{days}}
 | 
			
		||||
		<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">{{hours}}
 | 
			
		||||
		<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">{{mins}}
 | 
			
		||||
		<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">{{mins}}<br>
 | 
			
		||||
		Quick:<a onclick="filterTime(0,0,30)" class="pointer">30{{mins}}</a>/
 | 
			
		||||
		<a onclick="filterTime(0,1,0)" class="pointer">1{{hours}}</a>/
 | 
			
		||||
		<a onclick="filterTime(0,6,0)" class="pointer">6{{hours}}</a>/
 | 
			
		||||
		<a onclick="filterTime(0,12,0)" class="pointer">12{{hours}}</a>/
 | 
			
		||||
		<a onclick="filterTime(1,0,0)" class="pointer">1{{days}}</a>/
 | 
			
		||||
		<a onclick="filterTime(7,0,0)" class="pointer">7{{days}}</a>/
 | 
			
		||||
		<a onclick="filterTime(0,0,0)" class="pointer">{{unlimited}}</a><br>
 | 
			
		||||
		<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">{{add}}</button><br>
 | 
			
		||||
		<span class="sml">{{warnOnIntegratedTL}}</span>
 | 
			
		||||
	</div>
 | 
			
		||||
 
 | 
			
		||||
@@ -138,10 +138,11 @@
 | 
			
		||||
    "avalableBefore":"Expire after",
 | 
			
		||||
    "warnAvBefore":"Unset or \"0\" means \"Never\"",
 | 
			
		||||
    "warnAvBefore2":"This value may contain some error",
 | 
			
		||||
    "days":"days",
 | 
			
		||||
    "hours":"hours",
 | 
			
		||||
    "mins":"minutes",
 | 
			
		||||
    "secs":"seconds",
 | 
			
		||||
    "unlimited":"Never",
 | 
			
		||||
    "days":"day(s)",
 | 
			
		||||
    "hours":"hour(s)",
 | 
			
		||||
    "mins":"minute(s)",
 | 
			
		||||
    "secs":"second(s)",
 | 
			
		||||
    "warnOnIntegratedTL":"Integrated TL/Plus TL will hide both Home-filtering words and Local-filtering words.",
 | 
			
		||||
    "helloTheDesk":"Internal error: please clear all data(at setting page) <b>All data will be deleted.</b>",
 | 
			
		||||
    "addColumn":"Add a column",
 | 
			
		||||
 
 | 
			
		||||
@@ -136,8 +136,9 @@
 | 
			
		||||
    "except":"除外",
 | 
			
		||||
    "exceptWorn":"「除外」時マッチしたトゥートは非可逆的に除外され、削除後も閲覧できません。",
 | 
			
		||||
    "avalableBefore":"有効期限(あと)",
 | 
			
		||||
    "warnAvBefore":"未指定(または0分)で「無制限」になります。",
 | 
			
		||||
    "warnAvBefore":"未指定(または0分)で「無期限」になります。",
 | 
			
		||||
    "warnAvBefore2":"仕様上数値の正確性を保証できません。",
 | 
			
		||||
    "unlimited":"無期限",
 | 
			
		||||
    "days":"日",
 | 
			
		||||
    "hours":"時間",
 | 
			
		||||
    "mins":"分",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
<!doctype html>
 | 
			
		||||
<html lang="@@lang@@">
 | 
			
		||||
 | 
			
		||||
<head>
 | 
			
		||||
	<title>Settings - TheDesk</title>
 | 
			
		||||
	@@comment-start@@
 | 
			
		||||
@@ -17,359 +18,424 @@
 | 
			
		||||
	<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">
 | 
			
		||||
	<style>input{max-height:50px!important} .pcr-result{height:1rem !important;}</style>
 | 
			
		||||
	<style>
 | 
			
		||||
		input {
 | 
			
		||||
			max-height: 50px !important
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		.pcr-result {
 | 
			
		||||
			height: 1rem !important;
 | 
			
		||||
		}
 | 
			
		||||
	</style>
 | 
			
		||||
</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/lang.@@lang@@.js"></script>
 | 
			
		||||
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
 | 
			
		||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
 | 
			
		||||
<script type="text/javascript" src="setting.vue.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../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.@@lang@@.js"></script>
 | 
			
		||||
	<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
 | 
			
		||||
	<script src="../../node_modules/vue/dist/vue.min.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="setting.vue.js"></script>
 | 
			
		||||
 | 
			
		||||
<h4>@@setting@@</h4>
 | 
			
		||||
<ul class="collapsible" data-collapsible="accordion">
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">desktop_windows</i>@@env@@
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<h5>@@setlang@@</h5>
 | 
			
		||||
		To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
 | 
			
		||||
		@@langlist@@
 | 
			
		||||
		<h5>@@backup@@</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>
 | 
			
		||||
		<div id="envView">
 | 
			
		||||
            <template v-for="(item, i) in config">
 | 
			
		||||
				<h5>{{item.text.head}}</h5>
 | 
			
		||||
				<template v-if=item.text.desc><templete v-html=item.text.desc></templete><br></template>
 | 
			
		||||
				<template v-if="item.id=='notf'"><a onclick="notftest()" class="pointer">@@nntest@@</a><br></template>
 | 
			
		||||
                <template v-if="item.checkbox">
 | 
			
		||||
                        <template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
                            <input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
                            <label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
                        </template>
 | 
			
		||||
				</template>
 | 
			
		||||
				<template v-else>
 | 
			
		||||
					<template v-if="item.doubleText">
 | 
			
		||||
						<template v-for="(textbox, j) in item.data">
 | 
			
		||||
                            <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
                        </template>
 | 
			
		||||
					</template>
 | 
			
		||||
					<template v-else>
 | 
			
		||||
							<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}}
 | 
			
		||||
					</template>
 | 
			
		||||
					<button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">@@change@@</button> 
 | 
			
		||||
				</template><br>
 | 
			
		||||
			</template>
 | 
			
		||||
        </div>
 | 
			
		||||
        <h5>@@font@@</h5>
 | 
			
		||||
		@@fontwarn@@<br>
 | 
			
		||||
		<button class="btn waves-effect" style="width:100px;" onclick="font()">@@select@@</button><br>
 | 
			
		||||
		<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
 | 
			
		||||
		<br>
 | 
			
		||||
		<input type="text" style="width:150px" id="font">
 | 
			
		||||
		<button class="btn waves-effect" style="width:100px;" onclick="settings()">@@set@@</button>
 | 
			
		||||
		<br>
 | 
			
		||||
        <h5>@@savefolder@@</h5>
 | 
			
		||||
		@@savefolderwarn@@<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">color_lens</i>@@theme@@
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<h4>@@themeSel@@</h4>
 | 
			
		||||
		<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>
 | 
			
		||||
		<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
 | 
			
		||||
		<label for="custom">Custom</label>
 | 
			
		||||
		<div style="width:300px" id="sel-selector">
 | 
			
		||||
			<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
 | 
			
		||||
		</div>
 | 
			
		||||
		<h4>@@customtheme@@</h4>
 | 
			
		||||
		<div style="width:300px" id="edit-selector" data-add="@@add_new@@">
 | 
			
		||||
			<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
 | 
			
		||||
				<option value="add_new">@@add_new@@</option>
 | 
			
		||||
			</select>
 | 
			
		||||
		</div>
 | 
			
		||||
		<h5>@@name@@</h5>
 | 
			
		||||
		<input type="text" style="width:300px" id="custom_name" placeholder="@@name@@...">
 | 
			
		||||
		<h5>@@desc@@</h5>
 | 
			
		||||
		<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea" placeholder="@@desc@@..."></textarea></div>
 | 
			
		||||
		<h5>@@customthemeDirection@@</h5>
 | 
			
		||||
		<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
 | 
			
		||||
		<label for="dark">Dark</label>
 | 
			
		||||
		<input class="with-gap" name="derection" type="radio" id="light" value="light" />
 | 
			
		||||
		<label for="light">Light</label>
 | 
			
		||||
		<div id="pickers">
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Primary</h5>@@secondarycolor@@
 | 
			
		||||
			<div id="color-picker0-wrap"><div class="color-picker" id="color-picker0"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker0_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Secondary</h5>@@primary@@
 | 
			
		||||
			<div id="color-picker1-wrap"><div class="color-picker" id="color-picker1"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker1_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Texts</h5>@@text@@
 | 
			
		||||
			<div id="color-picker2-wrap"><div class="color-picker" id="color-picker2"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker2_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Accent</h5>@@accent@@
 | 
			
		||||
			<div id="color-picker3-wrap"><div class="color-picker" id="color-picker3"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker3_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		</div>
 | 
			
		||||
		<button class="btn-large waves-effect" onclick="customComp()">@@change@@</button> <button class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">@@delete@@</button><br><br>
 | 
			
		||||
		<input type="text" style="width:300px" id="custom_json" class="materialize-textarea" placeholder="JSON style" readonly><br>
 | 
			
		||||
		@@customShare@@
 | 
			
		||||
		<h4>@@customImport@@</h4>
 | 
			
		||||
		@@cImpWarn@@<br>
 | 
			
		||||
		<input type="text" style="width:300px" id="custom_import" class="materialize-textarea" placeholder="JSON/JSON5 style">
 | 
			
		||||
		<button class="btn waves-effect" onclick="customImp()">@@import@@</button><br>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">reorder</i>@@timeline@@
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<div id="tlView">
 | 
			
		||||
            <template v-for="(item, i) in config">
 | 
			
		||||
				<h5>{{item.text.head}}</h5>
 | 
			
		||||
				<template v-if=item.text.desc><templete v-html=item.text.desc></templete><br></template>
 | 
			
		||||
                <template v-if="item.checkbox">
 | 
			
		||||
                        <template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
                            <input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
                            <label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
                        </template>
 | 
			
		||||
				</template>
 | 
			
		||||
				<template v-else>
 | 
			
		||||
					<template v-if="item.doubleText">
 | 
			
		||||
						<template v-for="(textbox, j) in item.data">
 | 
			
		||||
                            <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
                        </template>
 | 
			
		||||
					</template>
 | 
			
		||||
					<template v-else>
 | 
			
		||||
							<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}}
 | 
			
		||||
					</template>
 | 
			
		||||
					<button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">@@change@@</button> 
 | 
			
		||||
				</template><br>
 | 
			
		||||
			</template>
 | 
			
		||||
        </div>
 | 
			
		||||
	</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">send</i>@@post@@
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<div id="postView">
 | 
			
		||||
            <template v-for="(item, i) in config">
 | 
			
		||||
				<h5>{{item.text.head}}</h5>
 | 
			
		||||
				<template v-if=item.text.desc><templete v-html=item.text.desc></templete><br></template>
 | 
			
		||||
                <template v-if="item.checkbox">
 | 
			
		||||
                        <template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
							<template v-if="!check.kirishima || (check.kirishima && kirishima)">
 | 
			
		||||
                            	<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
	<h4>@@setting@@</h4>
 | 
			
		||||
	<ul class="collapsible" data-collapsible="accordion">
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">desktop_windows</i>@@env@@
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>@@setlang@@</h5>
 | 
			
		||||
				To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
 | 
			
		||||
				@@langlist@@
 | 
			
		||||
				<h5>@@backup@@</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>
 | 
			
		||||
				<div id="envView">
 | 
			
		||||
					<template v-for="(item, i) in config">
 | 
			
		||||
						<h5>{{item.text.head}}</h5>
 | 
			
		||||
						<template v-if=item.text.desc>
 | 
			
		||||
							<templete v-html=item.text.desc></templete><br>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-if="item.id=='notf'"><a onclick="notftest()"
 | 
			
		||||
								class="pointer">@@nntest@@</a><br></template>
 | 
			
		||||
						<template v-if="item.checkbox">
 | 
			
		||||
							<template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
								<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
 | 
			
		||||
									type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
								<label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
								<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
 | 
			
		||||
							</template>
 | 
			
		||||
                        </template>
 | 
			
		||||
				</template>
 | 
			
		||||
				<template v-else>
 | 
			
		||||
					<template v-if="item.doubleText">
 | 
			
		||||
						<template v-for="(textbox, j) in item.data">
 | 
			
		||||
                            <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
                        </template>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-else>
 | 
			
		||||
							<template v-if="item.doubleText">
 | 
			
		||||
								<template v-for="(textbox, j) in item.data">
 | 
			
		||||
									<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
 | 
			
		||||
										v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
							<template v-else>
 | 
			
		||||
								<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
 | 
			
		||||
									v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
 | 
			
		||||
							</template>
 | 
			
		||||
							<button class="btn waves-effect" style="width:100px;"
 | 
			
		||||
								v-on:click="complete(i)">@@change@@</button>
 | 
			
		||||
						</template><br>
 | 
			
		||||
					</template>
 | 
			
		||||
					<template v-else>
 | 
			
		||||
							<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}}
 | 
			
		||||
				</div>
 | 
			
		||||
				<h5>@@font@@</h5>
 | 
			
		||||
				@@fontwarn@@<br>
 | 
			
		||||
				<button class="btn waves-effect" style="width:100px;" onclick="font()">@@select@@</button><br>
 | 
			
		||||
				<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
 | 
			
		||||
				<br>
 | 
			
		||||
				<input type="text" style="width:150px" id="font">
 | 
			
		||||
				<button class="btn waves-effect" style="width:100px;" onclick="settings()">@@set@@</button>
 | 
			
		||||
				<br>
 | 
			
		||||
				<h5>@@savefolder@@</h5>
 | 
			
		||||
				@@savefolderwarn@@<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">color_lens</i>@@theme@@
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h4>@@themeSel@@</h4>
 | 
			
		||||
				<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>
 | 
			
		||||
				<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
 | 
			
		||||
				<label for="custom">Custom</label>
 | 
			
		||||
				<div style="width:300px" id="sel-selector">
 | 
			
		||||
					<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
 | 
			
		||||
				</div>
 | 
			
		||||
				<h4>@@customtheme@@</h4>
 | 
			
		||||
				<div style="width:300px" id="edit-selector" data-add="@@add_new@@">
 | 
			
		||||
					<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
 | 
			
		||||
						<option value="add_new">@@add_new@@</option>
 | 
			
		||||
					</select>
 | 
			
		||||
				</div>
 | 
			
		||||
				<h5>@@name@@</h5>
 | 
			
		||||
				<input type="text" style="width:300px" id="custom_name" placeholder="@@name@@...">
 | 
			
		||||
				<h5>@@desc@@</h5>
 | 
			
		||||
				<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
 | 
			
		||||
						placeholder="@@desc@@..."></textarea></div>
 | 
			
		||||
				<h5>@@customthemeDirection@@</h5>
 | 
			
		||||
				<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
 | 
			
		||||
				<label for="dark">Dark</label>
 | 
			
		||||
				<input class="with-gap" name="derection" type="radio" id="light" value="light" />
 | 
			
		||||
				<label for="light">Light</label>
 | 
			
		||||
				<div id="pickers">
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Primary</h5>@@secondarycolor@@
 | 
			
		||||
						<div id="color-picker0-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker0"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker0_value">
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Secondary</h5>@@primary@@
 | 
			
		||||
						<div id="color-picker1-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker1"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker1_value">
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Texts</h5>@@text@@
 | 
			
		||||
						<div id="color-picker2-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker2"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker2_value">
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Accent</h5>@@accent@@
 | 
			
		||||
						<div id="color-picker3-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker3"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker3_value">
 | 
			
		||||
					</div>
 | 
			
		||||
				</div>
 | 
			
		||||
				<button class="btn-large waves-effect" onclick="customComp()">@@change@@</button> <button
 | 
			
		||||
					class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">@@delete@@</button><br><br>
 | 
			
		||||
				<input type="text" style="width:300px" id="custom_json" class="materialize-textarea"
 | 
			
		||||
					placeholder="JSON style" readonly><br>
 | 
			
		||||
				@@customShare@@
 | 
			
		||||
				<h4>@@customImport@@</h4>
 | 
			
		||||
				@@cImpWarn@@<br>
 | 
			
		||||
				<input type="text" style="width:300px" id="custom_import" class="materialize-textarea"
 | 
			
		||||
					placeholder="JSON/JSON5 style">
 | 
			
		||||
				<button class="btn waves-effect" onclick="customImp()">@@import@@</button><br>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">reorder</i>@@timeline@@
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<div id="tlView">
 | 
			
		||||
					<template v-for="(item, i) in config">
 | 
			
		||||
						<h5>{{item.text.head}}</h5>
 | 
			
		||||
						<template v-if=item.text.desc>
 | 
			
		||||
							<templete v-html=item.text.desc></templete><br>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-if="item.checkbox">
 | 
			
		||||
							<template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
								<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
 | 
			
		||||
									type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
								<label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
							</template>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-else>
 | 
			
		||||
							<template v-if="item.doubleText">
 | 
			
		||||
								<template v-for="(textbox, j) in item.data">
 | 
			
		||||
									<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
 | 
			
		||||
										v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
							<template v-else>
 | 
			
		||||
								<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
 | 
			
		||||
									v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
 | 
			
		||||
							</template>
 | 
			
		||||
							<button class="btn waves-effect" style="width:100px;"
 | 
			
		||||
								v-on:click="complete(i)">@@change@@</button>
 | 
			
		||||
						</template><br>
 | 
			
		||||
					</template>
 | 
			
		||||
					<button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">@@change@@</button> 
 | 
			
		||||
				</template><br>
 | 
			
		||||
			</template>
 | 
			
		||||
        </div>
 | 
			
		||||
	</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
		<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">keyboard</i>@@keysc@@
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="collapsible-body">
 | 
			
		||||
			<h5>@@iks@@</h5>
 | 
			
		||||
			@@okswarn@@<br>
 | 
			
		||||
			Ctrl+Shift+1:<input type="text" style="width:150px" id="oks-1">
 | 
			
		||||
			<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">@@set@@</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;">@@set@@</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;">@@set@@</button><br><br>
 | 
			
		||||
				</div>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">send</i>@@post@@
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<div id="postView">
 | 
			
		||||
					<template v-for="(item, i) in config">
 | 
			
		||||
						<h5>{{item.text.head}}</h5>
 | 
			
		||||
						<template v-if=item.text.desc>
 | 
			
		||||
							<templete v-html=item.text.desc></templete><br>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-if="item.checkbox">
 | 
			
		||||
							<template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
								<template v-if="!check.kirishima || (check.kirishima && kirishima)">
 | 
			
		||||
									<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
 | 
			
		||||
										type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
									<label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
									<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-else>
 | 
			
		||||
							<template v-if="item.doubleText">
 | 
			
		||||
								<template v-for="(textbox, j) in item.data">
 | 
			
		||||
									<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
 | 
			
		||||
										v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
							<template v-else>
 | 
			
		||||
								<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
 | 
			
		||||
									v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
 | 
			
		||||
							</template>
 | 
			
		||||
							<button class="btn waves-effect" style="width:100px;"
 | 
			
		||||
								v-on:click="complete(i)">@@change@@</button>
 | 
			
		||||
						</template><br>
 | 
			
		||||
					</template>
 | 
			
		||||
				</div>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">Fkeyboard</i>@@keysc@@
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>@@iks@@</h5>
 | 
			
		||||
				@@okswarn@@<br>
 | 
			
		||||
				Ctrl+Shift+1:<input type="text" style="width:150px" id="oks-1">
 | 
			
		||||
				<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">@@set@@</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;">@@set@@</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;">@@set@@</button><br><br>
 | 
			
		||||
 | 
			
		||||
		</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
		<div class="collapsible-header">
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">bookmark</i>@@muteemp@@
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="collapsible-body">
 | 
			
		||||
			<h5>@@climute@@</h5>
 | 
			
		||||
			<div id="mute-cli"></div>
 | 
			
		||||
			<h5>@@cliemp@@</h5>
 | 
			
		||||
			@@cliwarn@@
 | 
			
		||||
			<h5>@@wordmute@@</h5>
 | 
			
		||||
			@@enter@@<br>
 | 
			
		||||
			<div class="chips" id="wordmute" style="background-color:gray;"></div>
 | 
			
		||||
			<button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">@@set@@</button>
 | 
			
		||||
			<h5>@@wordemp@@</h5>
 | 
			
		||||
			@@enter@@<br>
 | 
			
		||||
			<div class="chips" id="wordemp" style="background-color:gray;"></div>
 | 
			
		||||
			<button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">@@set@@</button>
 | 
			
		||||
			<h5>@@useremp@@</h5>
 | 
			
		||||
			@@useerempwarn@@
 | 
			
		||||
			<span class="emphasized"> @@empcolorwarn@@ </span>
 | 
			
		||||
		</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
		<div class="collapsible-header">
 | 
			
		||||
			<i class="fa fa-spotify"></i>@@spotify@@
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="collapsible-body">
 | 
			
		||||
			<h5>@@npProvider@@</h5>
 | 
			
		||||
			@@npPeoviderWarn@@<br>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
 | 
			
		||||
			<label for="aimp">AIMP</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
 | 
			
		||||
			<label for="itunes">iTunes</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm" value="MEDIAMONKEY" />
 | 
			
		||||
			<label for="npmm">MediaMonkey</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
 | 
			
		||||
			<label for="winamp">Winamp</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
 | 
			
		||||
			<label for="wmp">WMP</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
 | 
			
		||||
			<label for="wlm">WLM</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
 | 
			
		||||
			<label for="cad">CAD</label><br><br>
 | 
			
		||||
			@@spotifynote1@@<i class="material-icons" style="font-size:24px;">music_note</i>@@spotifynote2@@<br>
 | 
			
		||||
			<h5>@@link@@</h5>
 | 
			
		||||
			@@linkwarn@@<br>
 | 
			
		||||
			<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">@@set@@</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>@@templeteedit@@</h5>
 | 
			
		||||
			@@templeteeditwarn@@<br>
 | 
			
		||||
			<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>@@climute@@</h5>
 | 
			
		||||
				<div id="mute-cli"></div>
 | 
			
		||||
				<h5>@@cliemp@@</h5>
 | 
			
		||||
				@@cliwarn@@
 | 
			
		||||
				<h5>@@wordmute@@</h5>
 | 
			
		||||
				@@enter@@<br>
 | 
			
		||||
				<div class="chips" id="wordmute" style="background-color:gray;"></div>
 | 
			
		||||
				<button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">@@set@@</button>
 | 
			
		||||
				<h5>@@wordemp@@</h5>
 | 
			
		||||
				@@enter@@<br>
 | 
			
		||||
				<div class="chips" id="wordemp" style="background-color:gray;"></div>
 | 
			
		||||
				<button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">@@set@@</button>
 | 
			
		||||
				<h5>@@useremp@@</h5>
 | 
			
		||||
				@@useerempwarn@@
 | 
			
		||||
				<span class="emphasized"> @@empcolorwarn@@ </span>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="fa fa-spotify"></i>@@spotify@@
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>@@npProvider@@</h5>
 | 
			
		||||
				@@npPeoviderWarn@@<br>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
 | 
			
		||||
				<label for="aimp">AIMP</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
 | 
			
		||||
				<label for="itunes">iTunes</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm" value="MEDIAMONKEY" />
 | 
			
		||||
				<label for="npmm">MediaMonkey</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
 | 
			
		||||
				<label for="winamp">Winamp</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
 | 
			
		||||
				<label for="wmp">WMP</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
 | 
			
		||||
				<label for="wlm">WLM</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
 | 
			
		||||
				<label for="cad">CAD</label><br><br>
 | 
			
		||||
				@@spotifynote1@@<i class="material-icons" style="font-size:24px;">music_note</i>@@spotifynote2@@<br>
 | 
			
		||||
				<h5>@@link@@</h5>
 | 
			
		||||
				@@linkwarn@@<br>
 | 
			
		||||
				<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
 | 
			
		||||
						onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">@@set@@</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>@@templeteedit@@</h5>
 | 
			
		||||
				@@templeteeditwarn@@<br>
 | 
			
		||||
				<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
 | 
			
		||||
{url}</textarea><br>
 | 
			
		||||
				@@templete1@@<br>
 | 
			
		||||
				@@templete2@@<br>
 | 
			
		||||
				@@templete3@@<br>
 | 
			
		||||
			<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">@@set@@</button>
 | 
			
		||||
			<h5>@@postartwork@@</h5>
 | 
			
		||||
			<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@@
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="collapsible-body">
 | 
			
		||||
			<h5>@@speed@@</h5>
 | 
			
		||||
			@@speedwarn@@<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>
 | 
			
		||||
			@@pitchwarn@@<br>
 | 
			
		||||
			<p class="range-field"><input type="range" id="voicepitch" min="0" max="100" value="50" style="width:500px; max-width:100%"/></p>
 | 
			
		||||
			<h5>@@vol@@</h5>
 | 
			
		||||
			@@volwarn@@<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="@@sample@@">
 | 
			
		||||
			<button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()" id="testplay">@@playstop@@</button><br>
 | 
			
		||||
			<br>
 | 
			
		||||
			<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">@@set@@</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>@@keyscs@@
 | 
			
		||||
<li>Ctrl+1-9:@@keyscr@@</li>
 | 
			
		||||
<li>N:@@keynew@@</li>
 | 
			
		||||
<li>X:@@keytoggle@@</li>
 | 
			
		||||
<li>Ctrl+Enter:@@keypost@@</li>
 | 
			
		||||
<li>Ctrl+Enter+Shift:@@keysecpost@@</li>
 | 
			
		||||
<li>Alt+Enter:@@secondary@@</li>
 | 
			
		||||
<li>Ctrl+E:@@keyunread@@</li>
 | 
			
		||||
<li>Esc:@@keyesc@@</li>
 | 
			
		||||
<li>F5:@@keyf5@@</li>
 | 
			
		||||
<li>Ctrl+Shift+C:@@keyclear@@</li>
 | 
			
		||||
<li>Ctrl+Shift+S:@@setting@@</li>
 | 
			
		||||
<li>Ctrl+Shift+M:@@keyacctman@@</li>
 | 
			
		||||
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
 | 
			
		||||
<li>Ctrl+Shift+P:@@keyshowprof@@</li>
 | 
			
		||||
<li>←/→:@@keyrow@@</li>
 | 
			
		||||
<li>@@keyzoom@@</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('@@resetconfirm@@')){ localStorage.clear(); location.href='index.html'; }"><i class="material-icons left">delete</i>@@reset@@</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@@</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>@@hp@@</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://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>@@support@@(Pixiv FANBOX)</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>
 | 
			
		||||
<br>
 | 
			
		||||
Kyash<br>
 | 
			
		||||
			<img src="../../img/kyash.png" width="100"><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>
 | 
			
		||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018 All Rights Reserved. 
 | 
			
		||||
	Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy Policy</a>
 | 
			
		||||
	<br>Developer: Cutls P( 
 | 
			
		||||
	<a href="index.html?mode=user&code=Cutls@kirishima.cloud">@Cutls@kirishima.cloud</a>)
 | 
			
		||||
				<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">@@set@@</button>
 | 
			
		||||
				<h5>@@postartwork@@</h5>
 | 
			
		||||
				<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@@
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>@@speed@@</h5>
 | 
			
		||||
				@@speedwarn@@<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>
 | 
			
		||||
				@@pitchwarn@@<br>
 | 
			
		||||
				<p class="range-field"><input type="range" id="voicepitch" min="0" max="100" value="50"
 | 
			
		||||
						style="width:500px; max-width:100%" /></p>
 | 
			
		||||
				<h5>@@vol@@</h5>
 | 
			
		||||
				@@volwarn@@<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="@@sample@@">
 | 
			
		||||
				<button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()"
 | 
			
		||||
					id="testplay">@@playstop@@</button><br>
 | 
			
		||||
				<br>
 | 
			
		||||
				<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">@@set@@</button>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
	</ul>
 | 
			
		||||
	<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/ui/spotify.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
 | 
			
		||||
	<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>@@keyscs@@
 | 
			
		||||
	<li>Ctrl+1-9:@@keyscr@@</li>
 | 
			
		||||
	<li>N:@@keynew@@</li>
 | 
			
		||||
	<li>X:@@keytoggle@@</li>
 | 
			
		||||
	<li>Ctrl+Enter:@@keypost@@</li>
 | 
			
		||||
	<li>Ctrl+Enter+Shift:@@keysecpost@@</li>
 | 
			
		||||
	<li>Alt+Enter:@@secondary@@</li>
 | 
			
		||||
	<li>Ctrl+E:@@keyunread@@</li>
 | 
			
		||||
	<li>Esc:@@keyesc@@</li>
 | 
			
		||||
	<li>F5:@@keyf5@@</li>
 | 
			
		||||
	<li>Ctrl+Shift+C:@@keyclear@@</li>
 | 
			
		||||
	<li>Ctrl+Shift+S:@@setting@@</li>
 | 
			
		||||
	<li>Ctrl+Shift+M:@@keyacctman@@</li>
 | 
			
		||||
	<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
 | 
			
		||||
	<li>Ctrl+Shift+P:@@keyshowprof@@</li>
 | 
			
		||||
	<li>←/→:@@keyrow@@</li>
 | 
			
		||||
	<li>@@keyzoom@@</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('@@resetconfirm@@')){ localStorage.clear(); location.href='index.html'; }"><i
 | 
			
		||||
			class="material-icons left">delete</i>@@reset@@</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@@</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>@@hp@@</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://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
 | 
			
		||||
		style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>@@support@@(Pixiv FANBOX)</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>
 | 
			
		||||
	<br>
 | 
			
		||||
	Kyash<br>
 | 
			
		||||
	<img src="../../img/kyash.png" width="100"><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>
 | 
			
		||||
	<span style="font-family:Open Sans;">Copyright © TheDesk 2018 All Rights Reserved.
 | 
			
		||||
		Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
 | 
			
		||||
			href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
 | 
			
		||||
			Policy</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/ui/spotify.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/tl/speech.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/platform/pickr.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/ui/settings.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/ui/theme.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/tl/date.js"></script>
 | 
			
		||||
@@ -757,7 +757,14 @@ var tlid=0;
 | 
			
		||||
		crwdns504:0crwdne504:0<span class="sml">crwdns505:0crwdne505:0<b>crwdns506:0crwdne506:0</b></span><br><br>
 | 
			
		||||
		<input type="number" style="width:50px" id="days_filter" placeholder="d" value="0">crwdns507:0crwdne507:0
 | 
			
		||||
		<input type="number" style="width:50px" id="hours_filter" placeholder="h" value="0">crwdns508:0crwdne508:0
 | 
			
		||||
		<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">crwdns509:0crwdne509:0
 | 
			
		||||
		<input type="number" style="width:50px" id="mins_filter" placeholder="m" value="0">crwdns509:0crwdne509:0<br>
 | 
			
		||||
		Quick:<a onclick="filterTime(0,0,30)" class="pointer">30crwdns509:0crwdne509:0</a>/
 | 
			
		||||
		<a onclick="filterTime(0,1,0)" class="pointer">1crwdns508:0crwdne508:0</a>/
 | 
			
		||||
		<a onclick="filterTime(0,6,0)" class="pointer">6crwdns508:0crwdne508:0</a>/
 | 
			
		||||
		<a onclick="filterTime(0,12,0)" class="pointer">12crwdns508:0crwdne508:0</a>/
 | 
			
		||||
		<a onclick="filterTime(1,0,0)" class="pointer">1crwdns507:0crwdne507:0</a>/
 | 
			
		||||
		<a onclick="filterTime(7,0,0)" class="pointer">7crwdns507:0crwdne507:0</a>/
 | 
			
		||||
		<a onclick="filterTime(0,0,0)" class="pointer">{{unlimited}}</a><br>
 | 
			
		||||
		<button class="btn waves-effect" style="width:120px;" onclick="makeNewFilter()" id="add-filter-btn">crwdns491:0crwdne491:0</button><br>
 | 
			
		||||
		<span class="sml">crwdns510:0crwdne510:0</span>
 | 
			
		||||
	</div>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
<!doctype html>
 | 
			
		||||
<html lang="ps">
 | 
			
		||||
 | 
			
		||||
<head>
 | 
			
		||||
	<title>Settings - TheDesk</title>
 | 
			
		||||
	
 | 
			
		||||
@@ -17,359 +18,424 @@
 | 
			
		||||
	<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">
 | 
			
		||||
	<style>input{max-height:50px!important} .pcr-result{height:1rem !important;}</style>
 | 
			
		||||
	<style>
 | 
			
		||||
		input {
 | 
			
		||||
			max-height: 50px !important
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		.pcr-result {
 | 
			
		||||
			height: 1rem !important;
 | 
			
		||||
		}
 | 
			
		||||
	</style>
 | 
			
		||||
</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/lang.ps.js"></script>
 | 
			
		||||
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
 | 
			
		||||
<script src="../../node_modules/vue/dist/vue.min.js"></script>
 | 
			
		||||
<script type="text/javascript" src="setting.vue.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../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.ps.js"></script>
 | 
			
		||||
	<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
 | 
			
		||||
	<script src="../../node_modules/vue/dist/vue.min.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="setting.vue.js"></script>
 | 
			
		||||
 | 
			
		||||
<h4>crwdns524:0crwdne524:0</h4>
 | 
			
		||||
<ul class="collapsible" data-collapsible="accordion">
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">desktop_windows</i>crwdns529:0crwdne529:0
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<h5>crwdns530:0crwdne530:0</h5>
 | 
			
		||||
		To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
 | 
			
		||||
		<a href="../ja/setting.html" onclick="changelang('ja')">日本語(Japanese)</a>/<a href="../en/setting.html" onclick="changelang('en')">English</a>/<a href="../ps/setting.html" onclick="changelang('ps')">Crowdin web translate</a>/
 | 
			
		||||
		<h5>crwdns531:0crwdne531:0</h5>
 | 
			
		||||
		<button onclick="exportSettings()" class="btn waves-effect lime darken-3" style="width:100%; max-width:200px;">crwdns533:0crwdne533:0</button>
 | 
			
		||||
		<button onclick="importSettings()" class="btn waves-effect cyan darken-3" style="width:100%; max-width:200px;">crwdns532:0crwdne532:0</button>
 | 
			
		||||
		<div id="envView">
 | 
			
		||||
            <template v-for="(item, i) in config">
 | 
			
		||||
				<h5>{{item.text.head}}</h5>
 | 
			
		||||
				<template v-if=item.text.desc><templete v-html=item.text.desc></templete><br></template>
 | 
			
		||||
				<template v-if="item.id=='notf'"><a onclick="notftest()" class="pointer">crwdns540:0crwdne540:0</a><br></template>
 | 
			
		||||
                <template v-if="item.checkbox">
 | 
			
		||||
                        <template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
                            <input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
                            <label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
                        </template>
 | 
			
		||||
				</template>
 | 
			
		||||
				<template v-else>
 | 
			
		||||
					<template v-if="item.doubleText">
 | 
			
		||||
						<template v-for="(textbox, j) in item.data">
 | 
			
		||||
                            <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
                        </template>
 | 
			
		||||
					</template>
 | 
			
		||||
					<template v-else>
 | 
			
		||||
							<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}}
 | 
			
		||||
					</template>
 | 
			
		||||
					<button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">crwdns528:0crwdne528:0</button> 
 | 
			
		||||
				</template><br>
 | 
			
		||||
			</template>
 | 
			
		||||
        </div>
 | 
			
		||||
        <h5>crwdns544:0crwdne544:0</h5>
 | 
			
		||||
		crwdns1900:0crwdne1900:0<br>
 | 
			
		||||
		<button class="btn waves-effect" style="width:100px;" onclick="font()">crwdns1896:0crwdne1896:0</button><br>
 | 
			
		||||
		<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
 | 
			
		||||
		<br>
 | 
			
		||||
		<input type="text" style="width:150px" id="font">
 | 
			
		||||
		<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
 | 
			
		||||
		<br>
 | 
			
		||||
        <h5>crwdns547:0crwdne547:0</h5>
 | 
			
		||||
		crwdns548:0crwdne548:0<br>
 | 
			
		||||
		<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">crwdns528:0crwdne528:0</button>
 | 
			
		||||
		<br>
 | 
			
		||||
	</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">color_lens</i>crwdns534:0crwdne534:0
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<h4>crwdns2422:0crwdne2422:0</h4>
 | 
			
		||||
		<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>
 | 
			
		||||
		<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
 | 
			
		||||
		<label for="custom">Custom</label>
 | 
			
		||||
		<div style="width:300px" id="sel-selector">
 | 
			
		||||
			<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
 | 
			
		||||
		</div>
 | 
			
		||||
		<h4>crwdns2424:0crwdne2424:0</h4>
 | 
			
		||||
		<div style="width:300px" id="edit-selector" data-add="crwdns2436:0crwdne2436:0">
 | 
			
		||||
			<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
 | 
			
		||||
				<option value="add_new">crwdns2436:0crwdne2436:0</option>
 | 
			
		||||
			</select>
 | 
			
		||||
		</div>
 | 
			
		||||
		<h5>crwdns2438:0crwdne2438:0</h5>
 | 
			
		||||
		<input type="text" style="width:300px" id="custom_name" placeholder="crwdns2438:0crwdne2438:0...">
 | 
			
		||||
		<h5>crwdns2440:0crwdne2440:0</h5>
 | 
			
		||||
		<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea" placeholder="crwdns2440:0crwdne2440:0..."></textarea></div>
 | 
			
		||||
		<h5>crwdns2426:0crwdne2426:0</h5>
 | 
			
		||||
		<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
 | 
			
		||||
		<label for="dark">Dark</label>
 | 
			
		||||
		<input class="with-gap" name="derection" type="radio" id="light" value="light" />
 | 
			
		||||
		<label for="light">Light</label>
 | 
			
		||||
		<div id="pickers">
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Primary</h5>crwdns2430:0crwdne2430:0
 | 
			
		||||
			<div id="color-picker0-wrap"><div class="color-picker" id="color-picker0"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker0_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Secondary</h5>crwdns2428:0crwdne2428:0
 | 
			
		||||
			<div id="color-picker1-wrap"><div class="color-picker" id="color-picker1"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker1_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Texts</h5>crwdns2432:0crwdne2432:0
 | 
			
		||||
			<div id="color-picker2-wrap"><div class="color-picker" id="color-picker2"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker2_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		<div>
 | 
			
		||||
			<h5>Accent</h5>crwdns2434:0crwdne2434:0
 | 
			
		||||
			<div id="color-picker3-wrap"><div class="color-picker" id="color-picker3"></div></div>
 | 
			
		||||
			<input type="hidden" id="color-picker3_value">
 | 
			
		||||
		</div>
 | 
			
		||||
		</div>
 | 
			
		||||
		<button class="btn-large waves-effect" onclick="customComp()">crwdns528:0crwdne528:0</button> <button class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">@@delete@@</button><br><br>
 | 
			
		||||
		<input type="text" style="width:300px" id="custom_json" class="materialize-textarea" placeholder="JSON style" readonly><br>
 | 
			
		||||
		crwdns2442:0crwdne2442:0
 | 
			
		||||
		<h4>crwdns2444:0crwdne2444:0</h4>
 | 
			
		||||
		@@cImpWarn@@<br>
 | 
			
		||||
		<input type="text" style="width:300px" id="custom_import" class="materialize-textarea" placeholder="JSON/JSON5 style">
 | 
			
		||||
		<button class="btn waves-effect" onclick="customImp()">crwdns532:0crwdne532:0</button><br>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">reorder</i>crwdns550:0crwdne550:0
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<div id="tlView">
 | 
			
		||||
            <template v-for="(item, i) in config">
 | 
			
		||||
				<h5>{{item.text.head}}</h5>
 | 
			
		||||
				<template v-if=item.text.desc><templete v-html=item.text.desc></templete><br></template>
 | 
			
		||||
                <template v-if="item.checkbox">
 | 
			
		||||
                        <template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
                            <input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
                            <label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
                        </template>
 | 
			
		||||
				</template>
 | 
			
		||||
				<template v-else>
 | 
			
		||||
					<template v-if="item.doubleText">
 | 
			
		||||
						<template v-for="(textbox, j) in item.data">
 | 
			
		||||
                            <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
                        </template>
 | 
			
		||||
					</template>
 | 
			
		||||
					<template v-else>
 | 
			
		||||
							<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}}
 | 
			
		||||
					</template>
 | 
			
		||||
					<button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">crwdns528:0crwdne528:0</button> 
 | 
			
		||||
				</template><br>
 | 
			
		||||
			</template>
 | 
			
		||||
        </div>
 | 
			
		||||
	</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
	<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">send</i>crwdns587:0crwdne587:0
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="collapsible-body">
 | 
			
		||||
		<div id="postView">
 | 
			
		||||
            <template v-for="(item, i) in config">
 | 
			
		||||
				<h5>{{item.text.head}}</h5>
 | 
			
		||||
				<template v-if=item.text.desc><templete v-html=item.text.desc></templete><br></template>
 | 
			
		||||
                <template v-if="item.checkbox">
 | 
			
		||||
                        <template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
							<template v-if="!check.kirishima || (check.kirishima && kirishima)">
 | 
			
		||||
                            	<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue" type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
	<h4>crwdns524:0crwdne524:0</h4>
 | 
			
		||||
	<ul class="collapsible" data-collapsible="accordion">
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">desktop_windows</i>crwdns529:0crwdne529:0
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>crwdns530:0crwdne530:0</h5>
 | 
			
		||||
				To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br>
 | 
			
		||||
				<a href="../ja/setting.html" onclick="changelang('ja')">日本語(Japanese)</a>/<a href="../en/setting.html" onclick="changelang('en')">English</a>/<a href="../ps/setting.html" onclick="changelang('ps')">Crowdin web translate</a>/
 | 
			
		||||
				<h5>crwdns531:0crwdne531:0</h5>
 | 
			
		||||
				<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
 | 
			
		||||
					style="width:100%; max-width:200px;">crwdns533:0crwdne533:0</button>
 | 
			
		||||
				<button onclick="importSettings()" class="btn waves-effect cyan darken-3"
 | 
			
		||||
					style="width:100%; max-width:200px;">crwdns532:0crwdne532:0</button>
 | 
			
		||||
				<div id="envView">
 | 
			
		||||
					<template v-for="(item, i) in config">
 | 
			
		||||
						<h5>{{item.text.head}}</h5>
 | 
			
		||||
						<template v-if=item.text.desc>
 | 
			
		||||
							<templete v-html=item.text.desc></templete><br>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-if="item.id=='notf'"><a onclick="notftest()"
 | 
			
		||||
								class="pointer">crwdns540:0crwdne540:0</a><br></template>
 | 
			
		||||
						<template v-if="item.checkbox">
 | 
			
		||||
							<template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
								<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
 | 
			
		||||
									type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
								<label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
								<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
 | 
			
		||||
							</template>
 | 
			
		||||
                        </template>
 | 
			
		||||
				</template>
 | 
			
		||||
				<template v-else>
 | 
			
		||||
					<template v-if="item.doubleText">
 | 
			
		||||
						<template v-for="(textbox, j) in item.data">
 | 
			
		||||
                            <input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id" v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
                        </template>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-else>
 | 
			
		||||
							<template v-if="item.doubleText">
 | 
			
		||||
								<template v-for="(textbox, j) in item.data">
 | 
			
		||||
									<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
 | 
			
		||||
										v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
							<template v-else>
 | 
			
		||||
								<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
 | 
			
		||||
									v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
 | 
			
		||||
							</template>
 | 
			
		||||
							<button class="btn waves-effect" style="width:100px;"
 | 
			
		||||
								v-on:click="complete(i)">crwdns528:0crwdne528:0</button>
 | 
			
		||||
						</template><br>
 | 
			
		||||
					</template>
 | 
			
		||||
					<template v-else>
 | 
			
		||||
							<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id" v-bind:style="{ width: item.width+'px'}"/>{{item.text.after}}
 | 
			
		||||
				</div>
 | 
			
		||||
				<h5>crwdns544:0crwdne544:0</h5>
 | 
			
		||||
				crwdns1900:0crwdne1900:0<br>
 | 
			
		||||
				<button class="btn waves-effect" style="width:100px;" onclick="font()">crwdns1896:0crwdne1896:0</button><br>
 | 
			
		||||
				<div id="fonts" class="hide" style="overflow-y:scroll; width:300px; height:500px;"></div>
 | 
			
		||||
				<br>
 | 
			
		||||
				<input type="text" style="width:150px" id="font">
 | 
			
		||||
				<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
 | 
			
		||||
				<br>
 | 
			
		||||
				<h5>crwdns547:0crwdne547:0</h5>
 | 
			
		||||
				crwdns548:0crwdne548:0<br>
 | 
			
		||||
				<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">crwdns528:0crwdne528:0</button>
 | 
			
		||||
				<br>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">color_lens</i>crwdns534:0crwdne534:0
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h4>crwdns2422:0crwdne2422:0</h4>
 | 
			
		||||
				<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>
 | 
			
		||||
				<input class="with-gap" onchange="settings()" name="theme" type="radio" id="custom" value="custom" />
 | 
			
		||||
				<label for="custom">Custom</label>
 | 
			
		||||
				<div style="width:300px" id="sel-selector">
 | 
			
		||||
					<select id="custom-sel-sel" class="custom-sel" onchange="customSel()"></select>
 | 
			
		||||
				</div>
 | 
			
		||||
				<h4>crwdns2424:0crwdne2424:0</h4>
 | 
			
		||||
				<div style="width:300px" id="edit-selector" data-add="crwdns2436:0crwdne2436:0">
 | 
			
		||||
					<select id="custom-edit-sel" class="custom-sel" onchange="custom()">
 | 
			
		||||
						<option value="add_new">crwdns2436:0crwdne2436:0</option>
 | 
			
		||||
					</select>
 | 
			
		||||
				</div>
 | 
			
		||||
				<h5>crwdns2438:0crwdne2438:0</h5>
 | 
			
		||||
				<input type="text" style="width:300px" id="custom_name" placeholder="crwdns2438:0crwdne2438:0...">
 | 
			
		||||
				<h5>crwdns2440:0crwdne2440:0</h5>
 | 
			
		||||
				<div class="input-field"><textarea style="width:300px" id="custom_desc" class="materialize-textarea"
 | 
			
		||||
						placeholder="crwdns2440:0crwdne2440:0..."></textarea></div>
 | 
			
		||||
				<h5>crwdns2426:0crwdne2426:0</h5>
 | 
			
		||||
				<input class="with-gap" name="derection" type="radio" id="dark" value="dark" checked="true" />
 | 
			
		||||
				<label for="dark">Dark</label>
 | 
			
		||||
				<input class="with-gap" name="derection" type="radio" id="light" value="light" />
 | 
			
		||||
				<label for="light">Light</label>
 | 
			
		||||
				<div id="pickers">
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Primary</h5>crwdns2430:0crwdne2430:0
 | 
			
		||||
						<div id="color-picker0-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker0"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker0_value">
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Secondary</h5>crwdns2428:0crwdne2428:0
 | 
			
		||||
						<div id="color-picker1-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker1"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker1_value">
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Texts</h5>crwdns2432:0crwdne2432:0
 | 
			
		||||
						<div id="color-picker2-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker2"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker2_value">
 | 
			
		||||
					</div>
 | 
			
		||||
					<div>
 | 
			
		||||
						<h5>Accent</h5>crwdns2434:0crwdne2434:0
 | 
			
		||||
						<div id="color-picker3-wrap">
 | 
			
		||||
							<div class="color-picker" id="color-picker3"></div>
 | 
			
		||||
						</div>
 | 
			
		||||
						<input type="hidden" id="color-picker3_value">
 | 
			
		||||
					</div>
 | 
			
		||||
				</div>
 | 
			
		||||
				<button class="btn-large waves-effect" onclick="customComp()">crwdns528:0crwdne528:0</button> <button
 | 
			
		||||
					class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">@@delete@@</button><br><br>
 | 
			
		||||
				<input type="text" style="width:300px" id="custom_json" class="materialize-textarea"
 | 
			
		||||
					placeholder="JSON style" readonly><br>
 | 
			
		||||
				crwdns2442:0crwdne2442:0
 | 
			
		||||
				<h4>crwdns2444:0crwdne2444:0</h4>
 | 
			
		||||
				@@cImpWarn@@<br>
 | 
			
		||||
				<input type="text" style="width:300px" id="custom_import" class="materialize-textarea"
 | 
			
		||||
					placeholder="JSON/JSON5 style">
 | 
			
		||||
				<button class="btn waves-effect" onclick="customImp()">crwdns532:0crwdne532:0</button><br>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">reorder</i>crwdns550:0crwdne550:0
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<div id="tlView">
 | 
			
		||||
					<template v-for="(item, i) in config">
 | 
			
		||||
						<h5>{{item.text.head}}</h5>
 | 
			
		||||
						<template v-if=item.text.desc>
 | 
			
		||||
							<templete v-html=item.text.desc></templete><br>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-if="item.checkbox">
 | 
			
		||||
							<template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
								<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
 | 
			
		||||
									type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
								<label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
							</template>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-else>
 | 
			
		||||
							<template v-if="item.doubleText">
 | 
			
		||||
								<template v-for="(textbox, j) in item.data">
 | 
			
		||||
									<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
 | 
			
		||||
										v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
							<template v-else>
 | 
			
		||||
								<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
 | 
			
		||||
									v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
 | 
			
		||||
							</template>
 | 
			
		||||
							<button class="btn waves-effect" style="width:100px;"
 | 
			
		||||
								v-on:click="complete(i)">crwdns528:0crwdne528:0</button>
 | 
			
		||||
						</template><br>
 | 
			
		||||
					</template>
 | 
			
		||||
					<button class="btn waves-effect" style="width:100px;" v-on:click="complete(i)">crwdns528:0crwdne528:0</button> 
 | 
			
		||||
				</template><br>
 | 
			
		||||
			</template>
 | 
			
		||||
        </div>
 | 
			
		||||
	</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
		<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">keyboard</i>crwdns611:0crwdne611:0
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="collapsible-body">
 | 
			
		||||
			<h5>crwdns612:0crwdne612:0</h5>
 | 
			
		||||
			crwdns613:0crwdne613:0<br>
 | 
			
		||||
			Ctrl+Shift+1:<input type="text" style="width:150px" id="oks-1">
 | 
			
		||||
			<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</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;">crwdns525:0crwdne525:0</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;">crwdns525:0crwdne525:0</button><br><br>
 | 
			
		||||
				</div>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">send</i>crwdns587:0crwdne587:0
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<div id="postView">
 | 
			
		||||
					<template v-for="(item, i) in config">
 | 
			
		||||
						<h5>{{item.text.head}}</h5>
 | 
			
		||||
						<template v-if=item.text.desc>
 | 
			
		||||
							<templete v-html=item.text.desc></templete><br>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-if="item.checkbox">
 | 
			
		||||
							<template v-for="(check, j) in item.text.checkbox">
 | 
			
		||||
								<template v-if="!check.kirishima || (check.kirishima && kirishima)">
 | 
			
		||||
									<input class="with-gap" v-on:click="complete(i,check.value)" v-model="item.setValue"
 | 
			
		||||
										type="radio" v-bind:id="item.id+check.value" v-bind:value="check.value" />
 | 
			
		||||
									<label v-bind:for="item.id+check.value">{{check.text}}</label>
 | 
			
		||||
									<span v-if="check.kirishimaText">{{check.kirishimaText}}</span>
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
						</template>
 | 
			
		||||
						<template v-else>
 | 
			
		||||
							<template v-if="item.doubleText">
 | 
			
		||||
								<template v-for="(textbox, j) in item.data">
 | 
			
		||||
									<input type="text" v-model="textbox.setValue" type="radio" v-bind:id="textbox.id"
 | 
			
		||||
										v-bind:style="{ width: textbox.width+'px'}" />{{textbox.text.after}}
 | 
			
		||||
								</template>
 | 
			
		||||
							</template>
 | 
			
		||||
							<template v-else>
 | 
			
		||||
								<input type="text" v-model="item.setValue" type="radio" v-bind:id="item.id"
 | 
			
		||||
									v-bind:style="{ width: item.width+'px'}" />{{item.text.after}}
 | 
			
		||||
							</template>
 | 
			
		||||
							<button class="btn waves-effect" style="width:100px;"
 | 
			
		||||
								v-on:click="complete(i)">crwdns528:0crwdne528:0</button>
 | 
			
		||||
						</template><br>
 | 
			
		||||
					</template>
 | 
			
		||||
				</div>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">Fkeyboard</i>crwdns611:0crwdne611:0
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>crwdns612:0crwdne612:0</h5>
 | 
			
		||||
				crwdns613:0crwdne613:0<br>
 | 
			
		||||
				Ctrl+Shift+1:<input type="text" style="width:150px" id="oks-1">
 | 
			
		||||
				<button onclick="oks(1)" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</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;">crwdns525:0crwdne525:0</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;">crwdns525:0crwdne525:0</button><br><br>
 | 
			
		||||
 | 
			
		||||
		</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
		<div class="collapsible-header">
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">bookmark</i>crwdns614:0crwdne614:0
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="collapsible-body">
 | 
			
		||||
			<h5>crwdns615:0crwdne615:0</h5>
 | 
			
		||||
			<div id="mute-cli"></div>
 | 
			
		||||
			<h5>crwdns616:0crwdne616:0</h5>
 | 
			
		||||
			crwdns617:0crwdne617:0
 | 
			
		||||
			<h5>crwdns619:0crwdne619:0</h5>
 | 
			
		||||
			crwdns618:0crwdne618:0<br>
 | 
			
		||||
			<div class="chips" id="wordmute" style="background-color:gray;"></div>
 | 
			
		||||
			<button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button>
 | 
			
		||||
			<h5>crwdns620:0crwdne620:0</h5>
 | 
			
		||||
			crwdns618:0crwdne618:0<br>
 | 
			
		||||
			<div class="chips" id="wordemp" style="background-color:gray;"></div>
 | 
			
		||||
			<button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button>
 | 
			
		||||
			<h5>crwdns621:0crwdne621:0</h5>
 | 
			
		||||
			crwdns622:0crwdne622:0
 | 
			
		||||
			<span class="emphasized"> crwdns623:0crwdne623:0 </span>
 | 
			
		||||
		</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
		<div class="collapsible-header">
 | 
			
		||||
			<i class="fa fa-spotify"></i>crwdns624:0crwdne624:0
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="collapsible-body">
 | 
			
		||||
			<h5>crwdns2354:0crwdne2354:0</h5>
 | 
			
		||||
			crwdns2356:0crwdne2356:0<br>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
 | 
			
		||||
			<label for="aimp">AIMP</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
 | 
			
		||||
			<label for="itunes">iTunes</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm" value="MEDIAMONKEY" />
 | 
			
		||||
			<label for="npmm">MediaMonkey</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
 | 
			
		||||
			<label for="winamp">Winamp</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
 | 
			
		||||
			<label for="wmp">WMP</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
 | 
			
		||||
			<label for="wlm">WLM</label>
 | 
			
		||||
			<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
 | 
			
		||||
			<label for="cad">CAD</label><br><br>
 | 
			
		||||
			crwdns625:0crwdne625:0<i class="material-icons" style="font-size:24px;">music_note</i>crwdns626:0crwdne626:0<br>
 | 
			
		||||
			<h5>crwdns627:0crwdne627:0</h5>
 | 
			
		||||
			crwdns628:0crwdne628:0<br>
 | 
			
		||||
			<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</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>crwdns629:0crwdne629:0</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>crwdns630:0crwdne630:0</a>
 | 
			
		||||
			<h5>crwdns631:0crwdne631:0</h5>
 | 
			
		||||
			crwdns632:0crwdne632:0<br>
 | 
			
		||||
			<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>crwdns615:0crwdne615:0</h5>
 | 
			
		||||
				<div id="mute-cli"></div>
 | 
			
		||||
				<h5>crwdns616:0crwdne616:0</h5>
 | 
			
		||||
				crwdns617:0crwdne617:0
 | 
			
		||||
				<h5>crwdns619:0crwdne619:0</h5>
 | 
			
		||||
				crwdns618:0crwdne618:0<br>
 | 
			
		||||
				<div class="chips" id="wordmute" style="background-color:gray;"></div>
 | 
			
		||||
				<button onclick="wordmuteSave()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button>
 | 
			
		||||
				<h5>crwdns620:0crwdne620:0</h5>
 | 
			
		||||
				crwdns618:0crwdne618:0<br>
 | 
			
		||||
				<div class="chips" id="wordemp" style="background-color:gray;"></div>
 | 
			
		||||
				<button onclick="wordempSave()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button>
 | 
			
		||||
				<h5>crwdns621:0crwdne621:0</h5>
 | 
			
		||||
				crwdns622:0crwdne622:0
 | 
			
		||||
				<span class="emphasized"> crwdns623:0crwdne623:0 </span>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="fa fa-spotify"></i>crwdns624:0crwdne624:0
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>crwdns2354:0crwdne2354:0</h5>
 | 
			
		||||
				crwdns2356:0crwdne2356:0<br>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="aimp" value="AIMP" />
 | 
			
		||||
				<label for="aimp">AIMP</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="itunes" value="ITUNES" />
 | 
			
		||||
				<label for="itunes">iTunes</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="npmm" value="MEDIAMONKEY" />
 | 
			
		||||
				<label for="npmm">MediaMonkey</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="winamp" value="WINAMP" />
 | 
			
		||||
				<label for="winamp">Winamp</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wmp" value="WMP" />
 | 
			
		||||
				<label for="wmp">WMP</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="wlm" value="WLM" />
 | 
			
		||||
				<label for="wlm">WLM</label>
 | 
			
		||||
				<input class="with-gap" onchange="npprovider()" name="npp" type="radio" id="cad" value="CAD" />
 | 
			
		||||
				<label for="cad">CAD</label><br><br>
 | 
			
		||||
				crwdns625:0crwdne625:0<i class="material-icons" style="font-size:24px;">music_note</i>crwdns626:0crwdne626:0<br>
 | 
			
		||||
				<h5>crwdns627:0crwdne627:0</h5>
 | 
			
		||||
				crwdns628:0crwdne628:0<br>
 | 
			
		||||
				<div id="spotify-code-show" class="hide"><input type="text" id="spotify-code"><button
 | 
			
		||||
						onclick="spotifyAuth()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</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>crwdns629:0crwdne629:0</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>crwdns630:0crwdne630:0</a>
 | 
			
		||||
				<h5>crwdns631:0crwdne631:0</h5>
 | 
			
		||||
				crwdns632:0crwdne632:0<br>
 | 
			
		||||
				<textarea id="np-temp" class="materialize-textarea" data-length="500">#NowPlaying {song} / {album} / {artist}
 | 
			
		||||
{url}</textarea><br>
 | 
			
		||||
				crwdns2358:0{song}crwdnd2358:0{album}crwdnd2358:0{artist}crwdnd2358:0{url}crwdne2358:0<br>
 | 
			
		||||
				crwdns2360:0{song}crwdnd2360:0{album}crwdnd2360:0{artist}crwdnd2360:0{composer}crwdnd2360:0{hz}crwdnd2360:0{bitRate}crwdnd2360:0{genre}crwdne2360:0<br>
 | 
			
		||||
				crwdns2362:0{song}crwdnd2362:0{album}crwdnd2362:0{artist}crwdne2362:0<br>
 | 
			
		||||
			<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button>
 | 
			
		||||
			<h5>crwdns635:0crwdne635:0</h5>
 | 
			
		||||
			<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
 | 
			
		||||
			<label for="awk_yes">crwdns526:0crwdne526:0</label>
 | 
			
		||||
			<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no" value="no" />
 | 
			
		||||
			<label for="awk_no">crwdns527:0crwdne527:0</label>
 | 
			
		||||
			<br>
 | 
			
		||||
		</div>
 | 
			
		||||
	</li>
 | 
			
		||||
	<li>
 | 
			
		||||
		<div class="collapsible-header">
 | 
			
		||||
			<i class="material-icons">hearing</i>crwdns636:0crwdne636:0
 | 
			
		||||
		</div>
 | 
			
		||||
		<div class="collapsible-body">
 | 
			
		||||
			<h5>crwdns637:0crwdne637:0</h5>
 | 
			
		||||
			crwdns638:0crwdne638:0<br>
 | 
			
		||||
			<p class="range-field"><input type="range" id="voicespeed" min="1" max="100" value="10" style="width:500px; max-width:100%"/></p>
 | 
			
		||||
			<h5>crwdns639:0crwdne639:0</h5>
 | 
			
		||||
			crwdns640:0crwdne640:0<br>
 | 
			
		||||
			<p class="range-field"><input type="range" id="voicepitch" min="0" max="100" value="50" style="width:500px; max-width:100%"/></p>
 | 
			
		||||
			<h5>crwdns641:0crwdne641:0</h5>
 | 
			
		||||
			crwdns642:0crwdne642:0<br>
 | 
			
		||||
			<p class="range-field"><input type="range" id="voicevol" min="0" max="100" value="100" style="width:500px; max-width:100%"/></p>
 | 
			
		||||
			<h5>crwdns643:0crwdne643:0</h5>
 | 
			
		||||
			<input type="text" style="width:350px" id="voicetxt" value="crwdns644:0crwdne644:0">
 | 
			
		||||
			<button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()" id="testplay">crwdns645:0crwdne645:0</button><br>
 | 
			
		||||
			<br>
 | 
			
		||||
			<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">crwdns525:0crwdne525:0</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>crwdns646:0crwdne646:0</a>
 | 
			
		||||
<br>
 | 
			
		||||
<br>crwdns647:0crwdne647:0
 | 
			
		||||
<li>Ctrl+1-9:crwdns648:0crwdne648:0</li>
 | 
			
		||||
<li>N:crwdns649:0crwdne649:0</li>
 | 
			
		||||
<li>X:crwdns650:0crwdne650:0</li>
 | 
			
		||||
<li>Ctrl+Enter:crwdns651:0crwdne651:0</li>
 | 
			
		||||
<li>Ctrl+Enter+Shift:crwdns1924:0crwdne1924:0</li>
 | 
			
		||||
<li>Alt+Enter:crwdns1916:0crwdne1916:0</li>
 | 
			
		||||
<li>Ctrl+E:crwdns652:0crwdne652:0</li>
 | 
			
		||||
<li>Esc:crwdns653:0crwdne653:0</li>
 | 
			
		||||
<li>F5:crwdns654:0crwdne654:0</li>
 | 
			
		||||
<li>Ctrl+Shift+C:crwdns655:0crwdne655:0</li>
 | 
			
		||||
<li>Ctrl+Shift+S:crwdns524:0crwdne524:0</li>
 | 
			
		||||
<li>Ctrl+Shift+M:crwdns656:0crwdne656:0</li>
 | 
			
		||||
<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
 | 
			
		||||
<li>Ctrl+Shift+P:crwdns657:0crwdne657:0</li>
 | 
			
		||||
<li>←/→:crwdns658:0crwdne658:0</li>
 | 
			
		||||
<li>crwdns659:0crwdne659:0</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('crwdns661:0crwdne661:0')){ localStorage.clear(); location.href='index.html'; }"><i class="material-icons left">delete</i>crwdns660:0crwdne660:0</button><br><br>
 | 
			
		||||
<button class="btn waves-effect indigo" onclick="about()" style="width:100%; max-width:500px;"><i class="material-icons left">info</i>crwdns662:0crwdne662:0</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>crwdns663:0crwdne663:0</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>crwdns664:0crwdne664:0(Enty)</a>
 | 
			
		||||
<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2" style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>crwdns664:0crwdne664:0(Pixiv FANBOX)</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>crwdns665:0crwdne665:0/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>
 | 
			
		||||
<br>
 | 
			
		||||
Kyash<br>
 | 
			
		||||
			<img src="../../img/kyash.png" width="100"><br>
 | 
			
		||||
<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';" class="pointer">crwdns667:0crwdne667:0</a><br>
 | 
			
		||||
<a href="oss.html">OSS Licensecrwdns668:0crwdne668:0</a><br>
 | 
			
		||||
<span style="font-family:Open Sans;">Copyright © TheDesk 2018 All Rights Reserved. 
 | 
			
		||||
	Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy Policy</a>
 | 
			
		||||
	<br>Developer: Cutls P( 
 | 
			
		||||
	<a href="index.html?mode=user&code=Cutls@kirishima.cloud">@Cutls@kirishima.cloud</a>)
 | 
			
		||||
				<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">crwdns525:0crwdne525:0</button>
 | 
			
		||||
				<h5>crwdns635:0crwdne635:0</h5>
 | 
			
		||||
				<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
 | 
			
		||||
				<label for="awk_yes">crwdns526:0crwdne526:0</label>
 | 
			
		||||
				<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no" value="no" />
 | 
			
		||||
				<label for="awk_no">crwdns527:0crwdne527:0</label>
 | 
			
		||||
				<br>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
		<li>
 | 
			
		||||
			<div class="collapsible-header">
 | 
			
		||||
				<i class="material-icons">hearing</i>crwdns636:0crwdne636:0
 | 
			
		||||
			</div>
 | 
			
		||||
			<div class="collapsible-body">
 | 
			
		||||
				<h5>crwdns637:0crwdne637:0</h5>
 | 
			
		||||
				crwdns638:0crwdne638:0<br>
 | 
			
		||||
				<p class="range-field"><input type="range" id="voicespeed" min="1" max="100" value="10"
 | 
			
		||||
						style="width:500px; max-width:100%" /></p>
 | 
			
		||||
				<h5>crwdns639:0crwdne639:0</h5>
 | 
			
		||||
				crwdns640:0crwdne640:0<br>
 | 
			
		||||
				<p class="range-field"><input type="range" id="voicepitch" min="0" max="100" value="50"
 | 
			
		||||
						style="width:500px; max-width:100%" /></p>
 | 
			
		||||
				<h5>crwdns641:0crwdne641:0</h5>
 | 
			
		||||
				crwdns642:0crwdne642:0<br>
 | 
			
		||||
				<p class="range-field"><input type="range" id="voicevol" min="0" max="100" value="100"
 | 
			
		||||
						style="width:500px; max-width:100%" /></p>
 | 
			
		||||
				<h5>crwdns643:0crwdne643:0</h5>
 | 
			
		||||
				<input type="text" style="width:350px" id="voicetxt" value="crwdns644:0crwdne644:0">
 | 
			
		||||
				<button class="btn waves-effect blue" style="width:150px;" onclick="voicePlay()"
 | 
			
		||||
					id="testplay">crwdns645:0crwdne645:0</button><br>
 | 
			
		||||
				<br>
 | 
			
		||||
				<button class="btn waves-effect" style="width:100px;" onclick="voiceSettings()">crwdns525:0crwdne525:0</button>
 | 
			
		||||
			</div>
 | 
			
		||||
		</li>
 | 
			
		||||
	</ul>
 | 
			
		||||
	<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/ui/spotify.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/ui/settings.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
 | 
			
		||||
<script type="text/javascript" src="../../js/tl/date.js"></script>
 | 
			
		||||
	<a href="index.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;"><i
 | 
			
		||||
			class="material-icons left">undo</i>crwdns646:0crwdne646:0</a>
 | 
			
		||||
	<br>
 | 
			
		||||
	<br>crwdns647:0crwdne647:0
 | 
			
		||||
	<li>Ctrl+1-9:crwdns648:0crwdne648:0</li>
 | 
			
		||||
	<li>N:crwdns649:0crwdne649:0</li>
 | 
			
		||||
	<li>X:crwdns650:0crwdne650:0</li>
 | 
			
		||||
	<li>Ctrl+Enter:crwdns651:0crwdne651:0</li>
 | 
			
		||||
	<li>Ctrl+Enter+Shift:crwdns1924:0crwdne1924:0</li>
 | 
			
		||||
	<li>Alt+Enter:crwdns1916:0crwdne1916:0</li>
 | 
			
		||||
	<li>Ctrl+E:crwdns652:0crwdne652:0</li>
 | 
			
		||||
	<li>Esc:crwdns653:0crwdne653:0</li>
 | 
			
		||||
	<li>F5:crwdns654:0crwdne654:0</li>
 | 
			
		||||
	<li>Ctrl+Shift+C:crwdns655:0crwdne655:0</li>
 | 
			
		||||
	<li>Ctrl+Shift+S:crwdns524:0crwdne524:0</li>
 | 
			
		||||
	<li>Ctrl+Shift+M:crwdns656:0crwdne656:0</li>
 | 
			
		||||
	<li>Ctrl+Shift+N:NowPlaying(Spotify)</li>
 | 
			
		||||
	<li>Ctrl+Shift+P:crwdns657:0crwdne657:0</li>
 | 
			
		||||
	<li>←/→:crwdns658:0crwdne658:0</li>
 | 
			
		||||
	<li>crwdns659:0crwdne659:0</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('crwdns661:0crwdne661:0')){ localStorage.clear(); location.href='index.html'; }"><i
 | 
			
		||||
			class="material-icons left">delete</i>crwdns660:0crwdne660:0</button><br><br>
 | 
			
		||||
	<button class="btn waves-effect indigo" onclick="about()" style="width:100%; max-width:500px;"><i
 | 
			
		||||
			class="material-icons left">info</i>crwdns662:0crwdne662:0</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>crwdns663:0crwdne663:0</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>crwdns664:0crwdne664:0(Enty)</a>
 | 
			
		||||
	<a href="https://www.pixiv.net/fanbox/creator/28105985" class="btn waves-effect red lighten-2"
 | 
			
		||||
		style="width:100%; max-width:500px;"><i class="material-icons left">trending_up</i>crwdns664:0crwdne664:0(Pixiv FANBOX)</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>crwdns665:0crwdne665:0/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>
 | 
			
		||||
	<br>
 | 
			
		||||
	Kyash<br>
 | 
			
		||||
	<img src="../../img/kyash.png" width="100"><br>
 | 
			
		||||
	<a onclick="localStorage.removeItem('new-ver-skip'); location.href='index.html';"
 | 
			
		||||
		class="pointer">crwdns667:0crwdne667:0</a><br>
 | 
			
		||||
	<a href="oss.html">OSS Licensecrwdns668:0crwdne668:0</a><br>
 | 
			
		||||
	<span style="font-family:Open Sans;">Copyright © TheDesk 2018 All Rights Reserved.
 | 
			
		||||
		Under <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE">GNU General Public License v3.0</a> and <a
 | 
			
		||||
			href="https://thedesk.top/tos.html">Terms of Use</a>/<a href="https://thedesk.top/priv.html">Privacy
 | 
			
		||||
			Policy</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/ui/spotify.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/tl/speech.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/platform/pickr.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/ui/settings.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/ui/theme.js"></script>
 | 
			
		||||
	<script type="text/javascript" src="../../js/tl/date.js"></script>
 | 
			
		||||
		Reference in New Issue
	
	Block a user