Merge pull request #28 from cutls/WIP-(before-CI)
TheDesk Usamin (18.0.0)
This commit is contained in:
commit
ccb652dcf0
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -6,6 +6,7 @@ TheDesk-*
|
|||
app/build
|
||||
build
|
||||
make.js
|
||||
make_js.js
|
||||
app/.DS_Store
|
||||
.DS_Store
|
||||
.vs/*
|
||||
|
|
|
@ -52,6 +52,7 @@ option {
|
|||
}
|
||||
#imagemodal .modal-content {
|
||||
overflow: hidden;
|
||||
padding:0;
|
||||
}
|
||||
#imagemodal .modal-footer{
|
||||
overflow-x:scroll;
|
||||
|
@ -309,7 +310,7 @@ blockquote:before, .quote:before {
|
|||
position:fixed;
|
||||
z-index:9999;
|
||||
background-color: var(--box);
|
||||
width:520px;
|
||||
width:540px;
|
||||
top:calc(50% - 150px);
|
||||
left:calc(50% - 250px);
|
||||
padding: 5px;
|
||||
|
@ -341,12 +342,41 @@ blockquote:before, .quote:before {
|
|||
background-color: var(--emphasized);
|
||||
}
|
||||
#right-menu{
|
||||
width:350px;
|
||||
max-height:325px;
|
||||
width:380px;
|
||||
max-height:375px;
|
||||
overflow-y:scroll;
|
||||
overflow-x:hidden;
|
||||
padding:5px;
|
||||
}
|
||||
#tltype{
|
||||
display:flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
}
|
||||
#tltype .type{
|
||||
display:flex;
|
||||
flex-wrap: wrap;
|
||||
align-items:center;
|
||||
width:170px;
|
||||
height:40px;
|
||||
cursor:pointer;
|
||||
}
|
||||
#tltype .type:hover {
|
||||
background-color: var(--beforehover);
|
||||
}
|
||||
#tltype .active{
|
||||
background-color: var(--emphasized);
|
||||
}
|
||||
#tltype i{
|
||||
font-size:30px;
|
||||
}
|
||||
#tltype i.sub-icon{
|
||||
font-size: 20px;
|
||||
position: relative;
|
||||
color: var(--beforehover);
|
||||
left: -15px;
|
||||
|
||||
}
|
||||
.drag-bar{
|
||||
cursor:move;
|
||||
text-align:center;
|
||||
|
|
|
@ -488,6 +488,7 @@ p:not(:last-child){
|
|||
.votebtn:hover{
|
||||
background-color:var(--color);
|
||||
}
|
||||
|
||||
@keyframes fadeInDown {
|
||||
from {
|
||||
opacity: 0;
|
||||
|
@ -523,3 +524,4 @@ p:not(:last-child){
|
|||
animation-duration: 0.1s;
|
||||
animation-name: fadeInDown;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
//バージョンチェッカー
|
||||
function verck(ver,winstore) {
|
||||
function verck(ver) {
|
||||
console.log("Welcome")
|
||||
if(localStorage.getItem("ver")!=ver){
|
||||
localStorage.setItem("ver", ver);
|
||||
console.log("Thank you for your update");
|
||||
|
@ -27,7 +28,6 @@ function verck(ver,winstore) {
|
|||
message: lang.lang_version_platform,
|
||||
buttons: [lang.lang_no,lang.lang_yesno]
|
||||
}
|
||||
console.log(localStorage.getItem("winstore"))
|
||||
if(!localStorage.getItem("winstore")){
|
||||
|
||||
dialog.showMessageBox(options, function(arg) {
|
||||
|
@ -42,7 +42,6 @@ function verck(ver,winstore) {
|
|||
if(localStorage.getItem("winstore")=="unix"){
|
||||
localStorage.removeItem("winstore")
|
||||
}
|
||||
console.log(localStorage.getItem("winstore"))
|
||||
if(!localStorage.getItem("winstore")){
|
||||
const options = {
|
||||
type: 'info',
|
||||
|
@ -61,6 +60,11 @@ function verck(ver,winstore) {
|
|||
}else{
|
||||
localStorage.setItem("winstore","unix")
|
||||
}
|
||||
if(localStorage.getItem("winstore")=="snapcraft" || localStorage.getItem("winstore")=="winstore"){
|
||||
var winstore=true;
|
||||
}else{
|
||||
var winstore=false;
|
||||
}
|
||||
var l = 5;
|
||||
// 生成する文字列に含める文字セット
|
||||
var c = "abcdefghijklmnopqrstuvwxyz0123456789";
|
||||
|
@ -90,7 +94,7 @@ function verck(ver,winstore) {
|
|||
}
|
||||
if (newest == ver) {
|
||||
todo(lang.lang_version_usever.replace("{{ver}}" ,mess.desk));
|
||||
//betaかWInstoreならアプデチェックしない
|
||||
//betaかWinstoreならアプデチェックしない
|
||||
} else if (ver.indexOf("beta")!=-1 || winstore) {
|
||||
|
||||
}else{
|
||||
|
@ -100,6 +104,7 @@ function verck(ver,winstore) {
|
|||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('update', "true");
|
||||
}else{
|
||||
console.log(lang.lang_version_skipver);
|
||||
todo(lang.lang_version_skipver);
|
||||
}
|
||||
}else{
|
||||
|
|
|
@ -1,189 +0,0 @@
|
|||
var lang_parse_mentioned={
|
||||
"ja":"が返信しました",
|
||||
"en":" replied to you"
|
||||
}
|
||||
var lang_parse_faved={
|
||||
"ja":"がお気に入り登録しました",
|
||||
"en":" favourited your toot"
|
||||
}
|
||||
var lang_parse_bted={
|
||||
"ja":"がブーストしました",
|
||||
"en":" boosted your toot"
|
||||
}
|
||||
var lang_parse_btedsimple={
|
||||
"ja":"がブースト",
|
||||
"en":" boosted"
|
||||
}
|
||||
var lang_parse_notftime={
|
||||
"ja":"通知された時間",
|
||||
"en":"Actioned at"
|
||||
}
|
||||
var lang_parse_cwshow={
|
||||
"ja":"見る",
|
||||
"en":"Show"
|
||||
}
|
||||
var lang_parse_fulltext={
|
||||
"ja":"以下全文",
|
||||
"en":"Full size text:"
|
||||
}
|
||||
var lang_parse_autofold={
|
||||
"ja":"自動折り畳み",
|
||||
"en":"Auto folded"
|
||||
}
|
||||
var lang_parse_more={
|
||||
"ja":"続き...",
|
||||
"en":"More"
|
||||
}
|
||||
var lang_parse_url={
|
||||
"ja":"URL解析",
|
||||
"en":"URL Analyzer"
|
||||
}
|
||||
var lang_parse_tagTL={
|
||||
"ja":"{{tag}}のタイムライン",
|
||||
"en":"Timeline of {{tag}}"
|
||||
}
|
||||
var lang_parse_tagtoot={
|
||||
"ja":"{{tag}}でトゥート",
|
||||
"en":"Toot with {{tag}}"
|
||||
}
|
||||
var lang_parse_tagpin={
|
||||
"ja":"{{tag}}をよく使うタグへ",
|
||||
"en":"Pin {{tag}}"
|
||||
}
|
||||
var lang_parse_public={
|
||||
"ja":"公開",
|
||||
"en":"Public"
|
||||
}
|
||||
var lang_parse_unlisted={
|
||||
"ja":"未収載",
|
||||
"en":"Unlisted"
|
||||
}
|
||||
var lang_parse_private={
|
||||
"ja":"非公開",
|
||||
"en":"Private"
|
||||
}
|
||||
var lang_parse_direct={
|
||||
"ja":"ダイレクト",
|
||||
"en":"Direct"
|
||||
}
|
||||
var lang_parse_clickcopy={
|
||||
"ja":"クリックして本文をコピー",
|
||||
"en":"Click to copy text of this toot"
|
||||
}
|
||||
var lang_parse_clickcopyurl={
|
||||
"ja":"クリックしてトゥートURLをコピー",
|
||||
"en":"Click to copy URL of this toot"
|
||||
}
|
||||
var lang_parse_trans={
|
||||
"ja":"このトゥートを日本語に翻訳",
|
||||
"en":"Translate to Japanese"
|
||||
}
|
||||
var lang_parse_replyto={
|
||||
"ja":"このトゥートに返信",
|
||||
"en":"Reply to this toot"
|
||||
}
|
||||
var lang_parse_bt={
|
||||
"ja":"このトゥートをブースト",
|
||||
"en":"Boost this toot"
|
||||
}
|
||||
var lang_parse_fav={
|
||||
"ja":"このトゥートをお気に入り登録",
|
||||
"en":"Favourite this toot"
|
||||
}
|
||||
var lang_parse_quote={
|
||||
"ja":"このトゥートを引用",
|
||||
"en":"Quote this toot"
|
||||
}
|
||||
var lang_parse_del={
|
||||
"ja":"このトゥートを削除",
|
||||
"en":"Delete this toot"
|
||||
}
|
||||
var lang_parse_pin={
|
||||
"ja":"このトゥートをピン留め",
|
||||
"en":"Pin this toot"
|
||||
}
|
||||
var lang_parse_det={
|
||||
"ja":"詳細(メインアカウント経由)",
|
||||
"en":"Details via your main account."
|
||||
}
|
||||
var lang_parse_redraft={
|
||||
"ja":"このトゥートを削除して再編集",
|
||||
"en":"Delete & re-draft"
|
||||
}
|
||||
var lang_parse_followed={
|
||||
"ja":"フォローされました。",
|
||||
"en":"Followed you"
|
||||
}
|
||||
var lang_parse_clientop={
|
||||
"ja":"クライアント処理",
|
||||
"en":"Operation of this client"
|
||||
}
|
||||
var lang_parse_clienttxt={
|
||||
"ja":"に対する処理を選択してください。",
|
||||
"en":" will be"
|
||||
}
|
||||
var lang_parse_clientno={
|
||||
"ja":"何もしない",
|
||||
"en":"done nothing"
|
||||
}
|
||||
var lang_parse_clientemp={
|
||||
"ja":"強調表示/解除",
|
||||
"en":"emphasized(/not emphasized)"
|
||||
}
|
||||
var lang_parse_clientmute={
|
||||
"ja":"ミュート",
|
||||
"en":"muted"
|
||||
}
|
||||
var lang_parse_mute={
|
||||
"ja":"ミュートします。設定から解除できます。",
|
||||
"en":" will be muted. You can remove on preferences."
|
||||
}
|
||||
//misskey
|
||||
var lang_misskeyparse_renote={
|
||||
"ja":"再投稿",
|
||||
"en":"Repost"
|
||||
}
|
||||
var lang_misskeyparse_renoteqt={
|
||||
"ja":"引用",
|
||||
"en":"Renote"
|
||||
}
|
||||
var lang_misskeyparse_reaction={
|
||||
"ja":"リアクション",
|
||||
"en":"Reaction"
|
||||
}
|
||||
var lang_misskeyparse_tagnostr={
|
||||
"ja":"タグTLはストリーミング非対応です。",
|
||||
"en":"No streaming API on Tag TLs"
|
||||
}
|
||||
var lang_misskeyparse_listnostr={
|
||||
"ja":"リストTLはストリーミング非対応です。",
|
||||
"en":"No streaming API on List TLs"
|
||||
}
|
||||
var lang_misskeyparse_home={
|
||||
"ja":"ホーム",
|
||||
"en":"Home"
|
||||
}
|
||||
var lang_misskeyparse_followers={
|
||||
"ja":"フォロワー",
|
||||
"en":"Follower"
|
||||
}
|
||||
var lang_misskeyparse_specified={
|
||||
"ja":"ユーザー指定",
|
||||
"en":"Specified User"
|
||||
}
|
||||
var lang_misskeyparse_qt={
|
||||
"ja":"MisskeyのRenote(引用モード)中:Ctrl+Shift+Cでクリア",
|
||||
"en":"Misskey renote(quote) mode:Ctrl+Shift+Enter to clear"
|
||||
}
|
||||
var lang_misskeyparse_renoted={
|
||||
"ja":"がRepost",
|
||||
"en":" renoted your following post."
|
||||
}
|
||||
var lang_misskeyparse_quoted={
|
||||
"ja":"が引用",
|
||||
"en":" quoted your following post."
|
||||
}
|
||||
var lang_misskeyparse_reaction={
|
||||
"ja":"がリアクション",
|
||||
"en":" reacted your following post."
|
||||
}
|
|
@ -1,152 +0,0 @@
|
|||
var lang_setting_time={
|
||||
"ja":"時間設定を{{set}}に設定しました。",
|
||||
"en":"Time format:{{set}}"
|
||||
}
|
||||
var lang_setting_theme={
|
||||
"ja":"テーマ設定を{{set}}に設定しました。",
|
||||
"en":"Theme:{{set}}"
|
||||
}
|
||||
var lang_setting_nsfw={
|
||||
"ja":"画像表示設定を{{set}}に設定しました。",
|
||||
"en":"NSFW:{{set}}"
|
||||
}
|
||||
var lang_setting_cw={
|
||||
"ja":"テキスト表示設定を{{set}}に設定しました。",
|
||||
"en":"CW:{{set}}"
|
||||
}
|
||||
var lang_setting_cwtext={
|
||||
"ja":"デフォルトの警告文を「{{set}}」に設定しました。",
|
||||
"en":"Default CW text:{{set}}"
|
||||
}
|
||||
var lang_setting_cws={
|
||||
"ja":"標準でCW:{{set}}",
|
||||
"en":"Always CW on:{{set}}"
|
||||
}
|
||||
var lang_setting_rp={
|
||||
"ja":"リプライ数表示:{{set}}",
|
||||
"en":"Reply counter:{{set}}"
|
||||
}
|
||||
var lang_setting_vis={
|
||||
"ja":"デフォルトの公開設定を{{set}}に設定しました。",
|
||||
"en":"Default visibility:{{set}}"
|
||||
}
|
||||
var lang_setting_popup={
|
||||
"ja":"ポップアップお知らせを{{set}}に設定しました。",
|
||||
"en":"Popup notification:{{set}}"
|
||||
}
|
||||
var lang_setting_off={
|
||||
"ja":"オフ",
|
||||
"en":"Off"
|
||||
}
|
||||
var lang_setting_s={
|
||||
"ja":"秒",
|
||||
"en":"s"
|
||||
}
|
||||
var lang_setting_box={
|
||||
"ja":"デフォルトでのボックスの挙動を{{set}}に設定しました。",
|
||||
"en":"Default toot box action:{{set}}"
|
||||
}
|
||||
var lang_setting_gif={
|
||||
"ja":"アイコンアニメーション再生を{{set}}に設定しました。",
|
||||
"en":"GIF:{{set}}"
|
||||
}
|
||||
var lang_setting_selt={
|
||||
"ja":"{{set1}}行以上または{{set2}}文字以上でテキストを隠します。",
|
||||
"en":"Auto fold:{{set1}} lines and above, {{set2}} letters and above"
|
||||
}
|
||||
var lang_setting_autocw={
|
||||
"ja":"{{set1}}行以上または{{set2}}文字以上で警告を表示します。",
|
||||
"en":"Auto CW:{{set1}} lines and above, {{set2}} letters and above"
|
||||
}
|
||||
var lang_setting_width={
|
||||
"ja":"横幅最低を{{set}}pxに設定しました。",
|
||||
"en":"Minimam width:{{set}}"
|
||||
}
|
||||
var lang_setting_img={
|
||||
"ja":"画像投稿後の設定を「{{set}}」に設定しました。",
|
||||
"en":"After posting an image:{{set}}"
|
||||
}
|
||||
var lang_setting_font={
|
||||
"ja":"フォントを{{set}}に設定しました。",
|
||||
"en":"Fonts:{{set}}"
|
||||
}
|
||||
var lang_setting_default={
|
||||
"ja":"デフォルト",
|
||||
"en":"default font"
|
||||
}
|
||||
var lang_setting_size={
|
||||
"ja":"フォントサイズを{{set}}pxに設定しました。",
|
||||
"en":"Font size:{{set}}px"
|
||||
}
|
||||
var lang_setting_imgheight={
|
||||
"ja":"画像高さを{{set}}pxに設定しました。",
|
||||
"en":"Image height:{{set}}px"
|
||||
}
|
||||
var lang_setting_ticker={
|
||||
"ja":"#InstanceTicker使用を{{set}}に設定しました。",
|
||||
"en":"#InstanceTicker:{{set}}px"
|
||||
}
|
||||
var lang_setting_tag={
|
||||
"ja":"タグの取得範囲を「{{set}}」に設定しました。",
|
||||
"en":"Tag TL:{{set}}"
|
||||
}
|
||||
var lang_setting_box={
|
||||
"ja":"投稿ボックスを{{set}}",
|
||||
"en":"Post box:{{set}}"
|
||||
}
|
||||
var lang_setting_ul={
|
||||
"ja":"独自ロケール設定を{{set}}に設定しました。",
|
||||
"en":"Native locale:{{set}}"
|
||||
}
|
||||
var lang_setting_notf={
|
||||
"ja":"ネイティブ通知を{{set}}に設定しました。",
|
||||
"en":"Native notification:{{set}}"
|
||||
}
|
||||
var lang_setting_quote={
|
||||
"ja":"引用形式を{{set}}に設定しました。",
|
||||
"en":"Quote format:{{set}}"
|
||||
}
|
||||
var lang_setting_via={
|
||||
"ja":"via表示を{{set}}に設定しました。",
|
||||
"en":"Via:{{set}}"
|
||||
}
|
||||
var lang_setting_mov={
|
||||
"ja":"アクションボタン非表示を{{set}}に設定しました。",
|
||||
"en":"Action buttons hiding:{{set}}"
|
||||
}
|
||||
var lang_setting_setasread={
|
||||
"ja":"通知カラム存在時新着非表示を{{set}}に設定しました。",
|
||||
"en":"Notification markers:{{set}}"
|
||||
}
|
||||
var lang_setting_main={
|
||||
"ja":"起動時・投稿時のアカウントを{{set}}に設定しました。",
|
||||
"en":"Default account:{{set}}"
|
||||
}
|
||||
var lang_setting_sec={
|
||||
"ja":"セカンダリートゥートボタン:{{set}}",
|
||||
"en":"Secondary toot button:{{set}}"
|
||||
}
|
||||
var lang_setting_ksref={
|
||||
"ja":"キーボードショートカットが更新されました。",
|
||||
"en":"Keyboard shortcuts are refreshed."
|
||||
}
|
||||
var lang_setting_nomuting={
|
||||
"ja":"ミュートしているクライアントはありません。",
|
||||
"en":"No client is muted."
|
||||
}
|
||||
var lang_setting_notftest={
|
||||
"ja":"通知テスト",
|
||||
"en":" Notification test "
|
||||
}
|
||||
var lang_setting_notftestprof={
|
||||
"ja":"アイコンはあなたのアカウントのものです。",
|
||||
"en":"Your icon is shown."
|
||||
}
|
||||
var lang_setting_exportwarn={
|
||||
"ja":"重要なデータのみエクスポートされます。エクスポートされたデータは外部に公開しないでください。全ての認証データが含まれています。",
|
||||
"en":"Only important data will be exported. You must keep this data secure."
|
||||
}
|
||||
var lang_setting_importwarn={
|
||||
"ja":"全てのデータがリセットされます。",
|
||||
"en":"All data will be deleted."
|
||||
}
|
|
@ -22,7 +22,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
|||
}
|
||||
}
|
||||
var qt = localStorage.getItem("quote");
|
||||
if(qt=="nothing"){
|
||||
if(qt=="nothing" || !qt){
|
||||
var qtClass="hide";
|
||||
}else{
|
||||
var qtClass="";
|
||||
|
|
|
@ -10,6 +10,7 @@ function imgv(id, key, acct_id) {
|
|||
$("#imagemodal").attr("data-acct",acct_id);
|
||||
$(document).ready(function() {
|
||||
if (type == "image") {
|
||||
$('#imagemodal').modal('open');
|
||||
xhr = new XMLHttpRequest;
|
||||
xhr.open('GET', murl, true);
|
||||
xhr.addEventListener('progress', function (event) {
|
||||
|
@ -29,7 +30,6 @@ function imgv(id, key, acct_id) {
|
|||
xhr.send();
|
||||
$('#imgmodal').attr('src', murl);
|
||||
$('#imagewrap').dragScroll(); // ドラッグスクロール設定
|
||||
$('#imagemodal').modal('open');
|
||||
$('#imgmodal').show();
|
||||
$('#imagemodal').attr('data-key', key);
|
||||
$('#imagemodal').attr('data-id', id);
|
||||
|
@ -45,61 +45,31 @@ function imgv(id, key, acct_id) {
|
|||
var height = element.naturalHeight;
|
||||
var windowH = $(window).height();
|
||||
var windowW = $(window).width();
|
||||
//小さい画像
|
||||
if(width<(windowW - 50) && height<(windowH-1000)){
|
||||
$("#imgmodal").css('height',height+"px");
|
||||
$("#imgmodal").css('width',width+"px");
|
||||
$("#imagewrap").css('height',height+"px");
|
||||
$("#imagemodal").css('height',height+100+"px");
|
||||
$("#imagewrap").css('width',width+"px");
|
||||
$("#imagemodal").css('width',width+"px");
|
||||
$("#imagemodal").css('margin-top',(windowH /2) - (height / 2) +"px");
|
||||
}else{
|
||||
$("#imagemodal").css('margin-top',0);
|
||||
var aspect = width/height;
|
||||
if (aspect < 2.8 && aspect > 0.3){
|
||||
//moderate
|
||||
if(windowW > windowH){
|
||||
//画面が横長(縦幅基準)
|
||||
$("#imgmodal").css('height',windowH/1.2-70+"px");
|
||||
var imgW = (windowH/1.2-70)/height*width;
|
||||
$("#imgmodal").css('width',imgW+"px");
|
||||
$("#imagewrap").css('height',windowH/1.2-60+"px");
|
||||
$("#imagemodal").css('height',windowH/1.2+"px");
|
||||
$("#imagewrap").css('width',imgW+50+"px");
|
||||
$("#imagemodal").css('width',imgW+50+"px");
|
||||
}else{
|
||||
//画面が縦長・正方形(横幅基準)
|
||||
$("#imgmodal").css('width',windowW/1.2-30+"px");
|
||||
var imgH = (windowW/1.2-30)/width*height;
|
||||
$("#imgmodal").css('height',imgH+"px");
|
||||
$("#imagewrap").css('width',windowW/1.2+"px");
|
||||
$("#imagemodal").css('width',windowW/1.2+"px");
|
||||
$("#imagewrap").css('height',imgH+60+"px");
|
||||
$("#imagemodal").css('height',imgH+120+"px");
|
||||
}
|
||||
$("#imagemodal").css("bottom","0")
|
||||
$("#imagemodal img").css("width","auto")
|
||||
if(height<windowH){
|
||||
$("#imagemodal").css("height",height+60+"px")
|
||||
$("#imagemodal img").css("height","100%")
|
||||
if(width>windowW*0.8){
|
||||
$("#imagemodal").css("width","80vw")
|
||||
$("#imagemodal img").css("width","100%")
|
||||
var heightS=windowW*0.8/width*height;
|
||||
$("#imagemodal").css("height",heightS+60+"px")
|
||||
}else{
|
||||
//極端な画像
|
||||
if(height > width){
|
||||
//縦長
|
||||
$("#imgmodal").css('height',windowH-60+"px");
|
||||
var imgW = (windowH-50)/height*width;
|
||||
$("#imgmodal").css('width',imgW+"px");
|
||||
$("#imagewrap").css('height',windowH-50+"px");
|
||||
$("#imagemodal").css('height',windowH+"px");
|
||||
$("#imagewrap").css('width',imgW+50+"px");
|
||||
$("#imagemodal").css('width',imgW+50+"px");
|
||||
}else{
|
||||
//横長・正方形
|
||||
$("#imgmodal").css('width',windowW-30+"px");
|
||||
var imgH = (windowW-50)/width*height;
|
||||
$("#imgmodal").css('height',imgH+"px");
|
||||
$("#imagewrap").css('width',windowW+"px");
|
||||
$("#imagemodal").css('width',windowW+"px");
|
||||
$("#imagewrap").css('height',imgH+60+"px");
|
||||
$("#imagemodal").css('height',imgH+120+"px");
|
||||
}
|
||||
$("#imagemodal").css("width",width+"px")
|
||||
}
|
||||
}else{
|
||||
console.log("long")
|
||||
$("#imagemodal img").css("width","auto")
|
||||
var widthS=windowH/height*width;
|
||||
if(widthS<windowW){
|
||||
$("#imagemodal").css("width",widthS+"px")
|
||||
}else{
|
||||
$("#imagemodal").css("width","100vw")
|
||||
}
|
||||
|
||||
$("#imagemodal").css("height","100vh")
|
||||
$("#imagemodal img").css("height","calc(100vh - 60px)")
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -14,6 +14,11 @@ function addColumnMenu() {
|
|||
$("#add-box").removeClass("hide");
|
||||
addselCk()
|
||||
}
|
||||
$('.type').click(function() {
|
||||
$(".type").removeClass("active");
|
||||
$(this).addClass("active");
|
||||
$("#type-sel").val($(this).attr("data-type"))
|
||||
})
|
||||
//最初、カラム変更時に発火
|
||||
function parseColumn() {
|
||||
console.log("parse");
|
||||
|
|
|
@ -1,13 +1,45 @@
|
|||
//設定(setting.html)で読む
|
||||
var envView = new Vue({
|
||||
el: '#envView',
|
||||
data: {config:envConstruction},
|
||||
methods: {
|
||||
complete: function (i,val) {
|
||||
var ls=envView.config[i].storage;
|
||||
Materialize.toast("Complete", 3000);
|
||||
localStorage.setItem(ls,val)
|
||||
if(ls=="ha"){
|
||||
hardwareAcceleration(val)
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
});
|
||||
var tlView = new Vue({
|
||||
el: '#tlView',
|
||||
data: {config:tlConstruction},
|
||||
methods: {
|
||||
complete: function (i,val) {
|
||||
var ls=tlView.config[i].storage;
|
||||
Materialize.toast("Complete", 3000);
|
||||
localStorage.setItem(ls,val)
|
||||
return true
|
||||
}
|
||||
}
|
||||
});
|
||||
var postView = new Vue({
|
||||
el: '#postView',
|
||||
data: {config:postConstruction,kirishima:localStorage.getItem('kirishima')},
|
||||
methods: {
|
||||
complete: function (i,val) {
|
||||
var ls=postView.config[i].storage;
|
||||
Materialize.toast("Complete", 3000);
|
||||
localStorage.setItem(ls,val)
|
||||
return true
|
||||
}
|
||||
}
|
||||
});
|
||||
//設定ボタン押した。
|
||||
function settings() {
|
||||
var dd = $("[name=time]:checked").val();
|
||||
var dt = $("[for="+dd+"]").text();
|
||||
if (dd != localStorage.getItem("datetype")) {
|
||||
Materialize.toast(lang.lang_setting_time.replace("{{set}}" ,dt), 3000);
|
||||
}
|
||||
localStorage.setItem("datetype", dd);
|
||||
|
||||
var cd = $("[name=theme]:checked").val();
|
||||
var ct = $("[for="+cd+"]").html();
|
||||
if(cd=="custom" && !$("#custom-sel-sel").val()){
|
||||
|
@ -24,98 +56,6 @@ function settings() {
|
|||
themes(cd);
|
||||
localStorage.setItem("theme", cd);
|
||||
}
|
||||
|
||||
var nd = $("[name=nsfw]:checked").val();
|
||||
var nt = $("[for=n_"+nd+"]").text();
|
||||
if (nd != localStorage.getItem("nsfw")) {
|
||||
Materialize.toast(lang.lang_setting_nsfw.replace("{{set}}" ,nt), 3000);
|
||||
}
|
||||
localStorage.setItem("nsfw", nd);
|
||||
|
||||
var cwd = $("[name=cw]:checked").val();
|
||||
var cwt = $("[for=c_"+cwd+"]").text();
|
||||
if (cwd != localStorage.getItem("cw")) {
|
||||
Materialize.toast(lang.lang_setting_cw.replace("{{set}}" ,cwt), 3000);
|
||||
}
|
||||
localStorage.setItem("cw", cwd);
|
||||
|
||||
var cwtd = $("#cw-text").val();
|
||||
if (cwtd != localStorage.getItem("cw-text")) {
|
||||
Materialize.toast(lang.lang_setting_cwtext.replace("{{set}}" ,cwtd), 3000);
|
||||
}
|
||||
localStorage.setItem("cw-text", cwtd);
|
||||
|
||||
var cwsd = $("[name=cws]:checked").val();
|
||||
var cwst = $("[for=cws_"+cwsd+"]").text();
|
||||
if (cwsd != localStorage.getItem("always-cw")) {
|
||||
Materialize.toast(lang.lang_setting_cws.replace("{{set}}" ,cwst), 3000);
|
||||
}
|
||||
localStorage.setItem("always-cw", cwsd);
|
||||
|
||||
var rpd = $("[name=rp]:checked").val();
|
||||
var rpt = $("[for=c_"+cwd+"]").text();
|
||||
if (rpd != localStorage.getItem("replyct")) {
|
||||
Materialize.toast(lang.lang_setting_rp.replace("{{set}}" ,rpt), 3000);
|
||||
}
|
||||
localStorage.setItem("replyct", rpd);
|
||||
|
||||
var visd = $("[name=vis]:checked").val();
|
||||
var vist = $("[for="+visd+"]").text();
|
||||
if (visd != localStorage.getItem("vis")) {
|
||||
Materialize.toast(lang.lang_setting_vis.replace("{{set}}" ,vist), 3000);
|
||||
}
|
||||
localStorage.setItem("vis", visd);
|
||||
|
||||
var popd = $("#popup").val();
|
||||
if (popd > 0 && popd != localStorage.getItem("popup")) {
|
||||
Materialize.toast(lang.lang_setting_popup.replace("{{set}}" ,popd+lang.lang_setting_s), 3000);
|
||||
} else if (popd != localStorage.getItem("popup")) {
|
||||
Materialize.toast(lang.lang_setting_popup.replace("{{set}}" ,lang.lang_setting_off), 3000);
|
||||
}
|
||||
localStorage.setItem("popup", popd);
|
||||
|
||||
var gifd = $("[name=gif]:checked").val();
|
||||
var gift = $("[for=g_"+gifd+"]").text();
|
||||
if (gifd != localStorage.getItem("gif")) {
|
||||
Materialize.toast(lang.lang_setting_gif.replace("{{set}}" ,gift), 3000);
|
||||
}
|
||||
localStorage.setItem("gif", gifd);
|
||||
|
||||
var sentd = $("#sentence").val();
|
||||
var ltrd = $("#letters").val();
|
||||
if (sentd != localStorage.getItem("sentence") || ltrd != localStorage.getItem("letters")) {
|
||||
Materialize.toast(lang.lang_setting_selt.replace("{{set1}}" ,sentd).replace("{{set2}}" ,ltrd), 3000);
|
||||
}
|
||||
localStorage.setItem("sentence", sentd);
|
||||
localStorage.setItem("letters", ltrd);
|
||||
|
||||
var csentd = $("#cw_sentence").val();
|
||||
var cltrd = $("#cw_letters").val();
|
||||
if (csentd != localStorage.getItem("cw_sentence") || cltrd != localStorage.getItem("cw_letters")) {
|
||||
Materialize.toast(lang.lang_setting_autocw.replace("{{set1}}" ,csentd).replace("{{set2}}" ,cltrd), 3000);
|
||||
}
|
||||
localStorage.setItem("cw_sentence", csentd);
|
||||
localStorage.setItem("cw_letters", cltrd);
|
||||
|
||||
var widthd = $("#width").val();
|
||||
if (widthd != localStorage.getItem("width")) {
|
||||
Materialize.toast(lang.lang_setting_width.replace("{{set}}" ,widthd), 3000);
|
||||
}
|
||||
localStorage.setItem("width", widthd);
|
||||
|
||||
var fwidthd = $("#fixwidth").val();
|
||||
if (fwidthd != localStorage.getItem("fixwidth")) {
|
||||
Materialize.toast(lang.lang_setting_fixwidth.replace("{{set}}" ,fwidthd), 3000);
|
||||
}
|
||||
localStorage.setItem("fixwidth", fwidthd);
|
||||
|
||||
var imgd = $("[name=img]:checked").val();
|
||||
var imgt = $("[for=i_"+imgd+"]").text();
|
||||
if (imgd != localStorage.getItem("img")) {
|
||||
Materialize.toast(lang.lang_setting_img.replace("{{set}}" ,imgt), 3000);
|
||||
}
|
||||
localStorage.setItem("img", imgd);
|
||||
|
||||
var fontd = $("#font").val();
|
||||
if(fontd){
|
||||
if (fontd != localStorage.getItem("font")) {
|
||||
|
@ -130,326 +70,41 @@ function settings() {
|
|||
themes();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var sized = $("#size").val();
|
||||
if (sized != localStorage.getItem("size")) {
|
||||
Materialize.toast(lang.lang_setting_size.replace("{{set}}" ,sized), 3000);
|
||||
}
|
||||
localStorage.setItem("size", sized);
|
||||
|
||||
var heid = $("#img-height").val();
|
||||
if (heid != localStorage.getItem("img-height")) {
|
||||
Materialize.toast(lang.lang_setting_imgheight.replace("{{set}}" ,heid), 3000);
|
||||
}
|
||||
localStorage.setItem("img-height", heid);
|
||||
|
||||
var tckrd = $("[name=ticker]:checked").val();
|
||||
var tckrt = $("[for=ticker_"+tckrd+"]").text();
|
||||
if (tckrd != localStorage.getItem("ticker_ok")) {
|
||||
Materialize.toast(lang.lang_setting_ticker.replace("{{set}}" ,tckrt), 3000);
|
||||
}
|
||||
localStorage.setItem("ticker_ok", tckrd);
|
||||
|
||||
var animed = $("[name=anime]:checked").val();
|
||||
var animet = $("[for=anime_"+animed+"]").text();
|
||||
if (animed != localStorage.getItem("animation")) {
|
||||
Materialize.toast(lang.lang_setting_animation.replace("{{set}}" ,animet), 3000);
|
||||
}
|
||||
localStorage.setItem("animation", animed);
|
||||
|
||||
var boxd = $("[name=box]:checked").val();
|
||||
var boxt = $("[for=bx_"+boxd+"]").text();
|
||||
if (boxd != localStorage.getItem("box")) {
|
||||
Materialize.toast(lang.lang_setting_boxConfirm.replace("{{set}}" ,boxt), 3000);
|
||||
}
|
||||
localStorage.setItem("box", boxd);
|
||||
|
||||
var tagd = $("[name=tag]:checked").val();
|
||||
var tagt = $("[for=t_"+tagd+"]").text();
|
||||
if (tagd != localStorage.getItem("tag-range")) {
|
||||
Materialize.toast(lang.lang_setting_tag.replace("{{set}}" ,tagt), 3000);
|
||||
}
|
||||
localStorage.setItem("tag-range", tagd);
|
||||
|
||||
var uld = $("[name=ul]:checked").val();
|
||||
var ult = $("[for=ul_"+uld+"]").text();
|
||||
if (uld != localStorage.getItem("locale")) {
|
||||
Materialize.toast(lang.lang_setting_ul.replace("{{set}}" ,ult), 3000);
|
||||
}
|
||||
localStorage.setItem("locale", uld);
|
||||
|
||||
var ntd = $("[name=notf]:checked").val();
|
||||
var ntt = $("[for=ntf_"+ntd+"]").text();
|
||||
if (ntd != localStorage.getItem("nativenotf")) {
|
||||
Materialize.toast(lang.lang_setting_notf.replace("{{set}}" ,ntt), 3000);
|
||||
}
|
||||
localStorage.setItem("nativenotf", ntd);
|
||||
|
||||
var qtd = $("[name=quote]:checked").val();
|
||||
var qtt = $("[for=q_"+qtd+"]").text();
|
||||
if (qtd != localStorage.getItem("quote")) {
|
||||
Materialize.toast(lang.lang_setting_quote.replace("{{set}}" ,qtt), 3000);
|
||||
}
|
||||
localStorage.setItem("quote", qtd);
|
||||
|
||||
var viad = $("[name=via]:checked").val();
|
||||
var viat = $("[for=via_"+viad+"]").text();
|
||||
if (viad != localStorage.getItem("viashow")) {
|
||||
Materialize.toast(lang.lang_setting_via.replace("{{set}}" ,viat), 3000);
|
||||
}
|
||||
localStorage.setItem("viashow", viad);
|
||||
|
||||
var notfmd = $("[name=notfm]:checked").val();
|
||||
var notfmt = $("[for=notfm_"+notfmd+"]").text();
|
||||
if (notfmd != localStorage.getItem("setasread")) {
|
||||
Materialize.toast(lang.lang_setting_setasread.replace("{{set}}" ,notfmt), 3000);
|
||||
}
|
||||
localStorage.setItem("setasread", notfmd);
|
||||
|
||||
var movd = $("[name=mov]:checked").val();
|
||||
var movt = $("[for=mov_"+movd+"]").text();
|
||||
if (movd != localStorage.getItem("mouseover")) {
|
||||
Materialize.toast(lang.lang_setting_mov.replace("{{set}}" ,movt), 3000);
|
||||
}
|
||||
localStorage.setItem("mouseover", movd);
|
||||
|
||||
var maind = $("[name=main]:checked").val();
|
||||
var maint = $("[for=mn_"+maind+"]").text();
|
||||
if (maind != localStorage.getItem("mainuse")) {
|
||||
Materialize.toast(lang.lang_setting_main.replace("{{set}}" ,maint), 3000);
|
||||
}
|
||||
localStorage.setItem("mainuse", maind);
|
||||
|
||||
var secd = $("[name=sec]:checked").val();
|
||||
var sect = $("[for=sec-"+secd+"]").text();
|
||||
if (secd != localStorage.getItem("sec")) {
|
||||
Materialize.toast(lang.lang_setting_sec.replace("{{set}}" ,sect), 3000);
|
||||
}
|
||||
localStorage.setItem("sec", secd);
|
||||
}
|
||||
|
||||
//読み込み時の設定ロード
|
||||
function load() {
|
||||
var max=envView.config.length;
|
||||
for(var i=0;i<max;i++){
|
||||
var ls=envView.config[i].storage;
|
||||
envView.config[i].setValue=localStorage.getItem(ls)
|
||||
}
|
||||
var max=tlView.config.length;
|
||||
for(var i=0;i<max;i++){
|
||||
var ls=tlView.config[i].storage;
|
||||
tlView.config[i].setValue=localStorage.getItem(ls)
|
||||
}
|
||||
var max=postView.config.length;
|
||||
for(var i=0;i<max;i++){
|
||||
var ls=postView.config[i].storage;
|
||||
postView.config[i].setValue=localStorage.getItem(ls)
|
||||
}
|
||||
if(localStorage.getItem("imas")){
|
||||
$(".imas").removeClass("hide");
|
||||
}
|
||||
if(localStorage.getItem("kirishima")){
|
||||
$(".kirishima").removeClass("hide");
|
||||
}
|
||||
var prof = localStorage.getItem("prof");
|
||||
$("#my-prof").attr("src", prof);
|
||||
var datetype = localStorage.getItem("datetype");
|
||||
if (!datetype) {
|
||||
var datetype = "absolute";
|
||||
}
|
||||
$("#" + datetype).prop("checked", true);
|
||||
|
||||
var theme = localStorage.getItem("theme");
|
||||
if (!theme) {
|
||||
var theme = "white";
|
||||
}
|
||||
$("#" + theme).prop("checked", true);
|
||||
|
||||
var ha = localStorage.getItem("ha");
|
||||
if (!ha) {
|
||||
var ha = "false";
|
||||
}
|
||||
$("#ha_" + ha).prop("checked", true);
|
||||
|
||||
var nsfw = localStorage.getItem("nsfw");
|
||||
if (!nsfw) {
|
||||
var nsfw = "yes";
|
||||
}
|
||||
$("#n_" + nsfw).prop("checked", true);
|
||||
|
||||
var cw = localStorage.getItem("cw");
|
||||
if (!cw) {
|
||||
var cw = "yes";
|
||||
}
|
||||
$("#c_" + cw).prop("checked", true);
|
||||
|
||||
var cws = localStorage.getItem("always-cw");
|
||||
if (!cws) {
|
||||
var cws = "no";
|
||||
}
|
||||
$("#cws_" + cws).prop("checked", true);
|
||||
|
||||
var popup = localStorage.getItem("popup");
|
||||
if (!popup) {
|
||||
var popup = "0";
|
||||
}
|
||||
$("#popup").val(popup);
|
||||
|
||||
var box = localStorage.getItem("box");
|
||||
if (!box) {
|
||||
var box = "no";
|
||||
}
|
||||
if(box=="absolute"){
|
||||
var box = "abs";
|
||||
}
|
||||
$("#bx_" + box).prop("checked", true);
|
||||
|
||||
var gif = localStorage.getItem("gif");
|
||||
if (!gif) {
|
||||
var gif = "yes";
|
||||
}
|
||||
$("#g_" + gif).prop("checked", true);
|
||||
|
||||
var sent = localStorage.getItem("sentence");
|
||||
if (!sent) {
|
||||
var sent = "500";
|
||||
}
|
||||
$("#sentence").val(sent);
|
||||
var ltrs = localStorage.getItem("letters");
|
||||
if (!ltrs) {
|
||||
var ltrs = "500";
|
||||
}
|
||||
$("#letters").val(ltrs);
|
||||
|
||||
var csent = localStorage.getItem("cw_sentence");
|
||||
if (!csent) {
|
||||
var csent = "500";
|
||||
}
|
||||
$("#cw_sentence").val(csent);
|
||||
var cltrs = localStorage.getItem("cw_letters");
|
||||
if (!cltrs) {
|
||||
var cltrs = "500";
|
||||
}
|
||||
$("#cw_letters").val(cltrs);
|
||||
|
||||
var width = localStorage.getItem("width");
|
||||
if (!width) {
|
||||
var width = "300";
|
||||
}
|
||||
$("#width").val(width);
|
||||
|
||||
var fwidth = localStorage.getItem("fixwidth");
|
||||
if (!fwidth) {
|
||||
var fwidth = "0";
|
||||
}
|
||||
$("#fixwidth").val(fwidth);
|
||||
|
||||
var cwt = localStorage.getItem("cw-text");
|
||||
if (!cwt) {
|
||||
var cwt = "";
|
||||
}
|
||||
$("#cw-text").val(cwt);
|
||||
|
||||
var cws = localStorage.getItem("always-cw");
|
||||
if (!cws) {
|
||||
var cws = "no";
|
||||
}
|
||||
$("#cws_" + cws).prop("checked", true);
|
||||
|
||||
var rps = localStorage.getItem("replyct");
|
||||
if (!rps) {
|
||||
var rps = "hidden";
|
||||
}
|
||||
$("#rp_" + rps).prop("checked", true);
|
||||
|
||||
var vis = localStorage.getItem("vis");
|
||||
if (!vis) {
|
||||
var vis = "public";
|
||||
}
|
||||
$("#" + vis).prop("checked", true);
|
||||
|
||||
var img = localStorage.getItem("img");
|
||||
if (!img) {
|
||||
var img = "no-act";
|
||||
}
|
||||
$("#i_" + img).prop("checked", true);
|
||||
|
||||
var font = localStorage.getItem("font");
|
||||
if (!font) {
|
||||
var font = "";
|
||||
}
|
||||
$("#font").val(font);
|
||||
|
||||
var size = localStorage.getItem("size");
|
||||
if (!size) {
|
||||
var size = "13";
|
||||
}
|
||||
$("#size").val(size);
|
||||
|
||||
var imh = localStorage.getItem("img-height");
|
||||
if (!imh) {
|
||||
var imh = "200";
|
||||
}
|
||||
$("#img-height").val(imh);
|
||||
|
||||
var ticker = localStorage.getItem("ticker_ok");
|
||||
if (!ticker) {
|
||||
var ticker = "no";
|
||||
}
|
||||
$("#ticker_" + ticker).prop("checked", true);
|
||||
|
||||
var animation = localStorage.getItem("animation");
|
||||
if (!animation) {
|
||||
var animation = "yes";
|
||||
}
|
||||
$("#anime_" + animation).prop("checked", true);
|
||||
|
||||
var tag = localStorage.getItem("tag-range");
|
||||
if (!tag) {
|
||||
var tag = "all";
|
||||
}
|
||||
$("#t_" + tag).prop("checked", true);
|
||||
|
||||
var box = localStorage.getItem("box");
|
||||
if (!box) {
|
||||
var box = "yes";
|
||||
}
|
||||
$("#bx_" + box).prop("checked", true);
|
||||
|
||||
var uld = localStorage.getItem("locale");
|
||||
if (!uld) {
|
||||
var uld = "yes";
|
||||
}
|
||||
$("#ul_" + uld).prop("checked", true);
|
||||
|
||||
var nnd = localStorage.getItem("nativenotf");
|
||||
if (!nnd) {
|
||||
var nnd = "yes";
|
||||
}
|
||||
$("#ntf_" + nnd).prop("checked", true);
|
||||
|
||||
var qt = localStorage.getItem("quote");
|
||||
if (!qt) {
|
||||
var qt = "simple";
|
||||
}
|
||||
$("#q_" + qt).prop("checked", true);
|
||||
|
||||
var viat = localStorage.getItem("viashow");
|
||||
if (!viat) {
|
||||
var viat = "hide";
|
||||
}
|
||||
$("#via_" + viat).prop("checked", true);
|
||||
|
||||
var movt = localStorage.getItem("mouseover");
|
||||
if (!movt) {
|
||||
var movt = "no";
|
||||
}
|
||||
$("#mov_" + movt).prop("checked", true);
|
||||
|
||||
var notfmt = localStorage.getItem("setasread");
|
||||
if (!notfmt) {
|
||||
var notfmt = "yes";
|
||||
}
|
||||
$("#notfm_" + notfmt).prop("checked", true);
|
||||
|
||||
var maint = localStorage.getItem("mainuse");
|
||||
if (!maint) {
|
||||
var maint = "remain";
|
||||
}
|
||||
$("#mn_" + maint).prop("checked", true);
|
||||
|
||||
var sect = localStorage.getItem("sec");
|
||||
if (!sect) {
|
||||
var sect = "nothing";
|
||||
}
|
||||
$("#sec-" + sect).prop("checked", true);
|
||||
|
||||
}
|
||||
|
||||
function climute(){
|
||||
|
@ -553,7 +208,7 @@ function exportSettings(){
|
|||
dialog.showSaveDialog(null, {
|
||||
title: 'Export',
|
||||
properties: ['openFile', 'createDirectory'],
|
||||
defaultPath: "export.thedeskconfig"
|
||||
defaultPath: "export.thedeskconfigv2"
|
||||
}, (savedFiles) => {
|
||||
console.log(savedFiles);
|
||||
if(!savedFiles){
|
||||
|
@ -569,20 +224,27 @@ function exportSettings(){
|
|||
var column = JSON.parse(multi);
|
||||
exp.columns=column;
|
||||
//Themes
|
||||
exp.theme=localStorage.getItem("theme");
|
||||
//Min width
|
||||
exp.minwidth=localStorage.getItem("width");
|
||||
var config={};
|
||||
config.theme=localStorage.getItem("theme");
|
||||
//Other configs
|
||||
var max=envView.config.length;
|
||||
for(var i=0;i<max;i++){
|
||||
var ls=envView.config[i].storage;
|
||||
config[ls]=localStorage.getItem(ls)
|
||||
}
|
||||
var max=tlView.config.length;
|
||||
for(var i=0;i<max;i++){
|
||||
var ls=tlView.config[i].storage;
|
||||
config[ls]=localStorage.getItem(ls)
|
||||
}
|
||||
var max=postView.config.length;
|
||||
for(var i=0;i<max;i++){
|
||||
var ls=postView.config[i].storage;
|
||||
config[ls]=localStorage.getItem(ls)
|
||||
}
|
||||
//Font
|
||||
exp.font=localStorage.getItem("font");
|
||||
exp.size=localStorage.getItem("size");
|
||||
//Img height
|
||||
exp.imgheight=localStorage.getItem("img-height");
|
||||
//Main
|
||||
exp.mainuse=localStorage.getItem("mainuse");
|
||||
//CW text
|
||||
exp.cw=localStorage.getItem("cw-text");
|
||||
//vis
|
||||
exp.vis=localStorage.getItem("vis");
|
||||
config.font=localStorage.getItem("font");
|
||||
exp.config=config;
|
||||
//keysc
|
||||
exp.ksc=[
|
||||
localStorage.getItem("oks-1"),
|
||||
|
@ -628,7 +290,7 @@ function importSettings(){
|
|||
title: 'Import',
|
||||
properties: ['openFile'],
|
||||
filters: [
|
||||
{name: 'TheDesk Config', extensions: ['thedeskconfig']},
|
||||
{name: 'TheDesk Config', extensions: ['thedeskconfig','thedeskconfigv2']},
|
||||
]
|
||||
}, (fileNames) => {
|
||||
console.log(fileNames);
|
||||
|
@ -651,26 +313,53 @@ function importSettings(){
|
|||
localStorage.setItem("acct_"+ key + "_at", acct.at);
|
||||
}
|
||||
localStorage.setItem("column",JSON.stringify(obj.columns));
|
||||
localStorage.setItem("theme",obj.theme);
|
||||
if(obj.width){
|
||||
console.log(obj.width)
|
||||
localStorage.setItem("width",obj.width);
|
||||
if(obj.config){
|
||||
//Version 2
|
||||
var max=envView.config.length;
|
||||
for(var i=0;i<max;i++){
|
||||
var ls=envView.config[i].storage;
|
||||
if(obj.config[ls]){
|
||||
localStorage.setItem(ls,obj.config[ls])
|
||||
}
|
||||
}
|
||||
var max=tlView.config.length;
|
||||
for(var i=0;i<max;i++){
|
||||
var ls=tlView.config[i].storage;
|
||||
if(obj.config[ls]){
|
||||
localStorage.setItem(ls,obj.config[ls])
|
||||
}
|
||||
}
|
||||
var max=postView.config.length;
|
||||
for(var i=0;i<max;i++){
|
||||
var ls=postView.config[i].storage;
|
||||
if(obj.config[ls]){
|
||||
localStorage.setItem(ls,obj.config[ls])
|
||||
}
|
||||
}
|
||||
}else{
|
||||
//Version 1
|
||||
localStorage.setItem("theme",obj.theme);
|
||||
if(obj.width){
|
||||
console.log(obj.width)
|
||||
localStorage.setItem("width",obj.width);
|
||||
}
|
||||
if(obj.font){
|
||||
localStorage.setItem("font",obj.font);
|
||||
}
|
||||
if(obj.size){
|
||||
localStorage.setItem("size",obj.size);
|
||||
}
|
||||
themes(obj.theme);
|
||||
if(obj.imgheight){
|
||||
localStorage.setItem("img-height",obj.imgheight);
|
||||
}
|
||||
localStorage.setItem("mainuse",obj.mainuse);
|
||||
if(obj.cw){
|
||||
localStorage.setItem("cwtext",obj.cw);
|
||||
}
|
||||
localStorage.setItem("vis",obj.vis);
|
||||
//End
|
||||
}
|
||||
if(obj.font){
|
||||
localStorage.setItem("font",obj.font);
|
||||
}
|
||||
if(obj.size){
|
||||
localStorage.setItem("size",obj.size);
|
||||
}
|
||||
themes(obj.theme);
|
||||
if(obj.imgheight){
|
||||
localStorage.setItem("img-height",obj.imgheight);
|
||||
}
|
||||
localStorage.setItem("mainuse",obj.mainuse);
|
||||
if(obj.cw){
|
||||
localStorage.setItem("cwtext",obj.cw);
|
||||
}
|
||||
localStorage.setItem("vis",obj.vis);
|
||||
if(obj.ksc[0]){
|
||||
localStorage.setItem("oks-1",obj.ksc[0]);
|
||||
}
|
||||
|
@ -920,9 +609,7 @@ function customImp(){
|
|||
alert("Error")
|
||||
}
|
||||
}
|
||||
function hardwareAcceleration(){
|
||||
var had = $("[name=ha]:checked").val();
|
||||
localStorage.setItem("ha", had);
|
||||
function hardwareAcceleration(had){
|
||||
console.log("ha");
|
||||
ipc.send('ha', had);
|
||||
}
|
||||
|
@ -931,7 +618,8 @@ ipc.on('theme-json-create-complete', function (event, args) {
|
|||
$("#custom_import").val("");
|
||||
ctLoad()
|
||||
});
|
||||
//最初に読む
|
||||
window.onload = function() {
|
||||
//最初に読む
|
||||
load();
|
||||
climute();
|
||||
wordmute();
|
||||
|
@ -940,4 +628,5 @@ checkSpotify();
|
|||
voiceSettingLoad();
|
||||
oksload();
|
||||
npprovider();
|
||||
ctLoad()
|
||||
ctLoad()
|
||||
};
|
||||
|
|
953
app/js/ui/settings.old.js
Normal file
953
app/js/ui/settings.old.js
Normal file
|
@ -0,0 +1,953 @@
|
|||
//設定(setting.html)で読む
|
||||
var envView = new Vue({
|
||||
el: '#env-view',
|
||||
data: {config:envConstruction,value:envValue},
|
||||
method: {
|
||||
settings: function (index) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
//設定ボタン押した。
|
||||
function settings() {
|
||||
var dd = $("[name=time]:checked").val();
|
||||
var dt = $("[for="+dd+"]").text();
|
||||
if (dd != localStorage.getItem("datetype")) {
|
||||
Materialize.toast(lang.lang_setting_time.replace("{{set}}" ,dt), 3000);
|
||||
}
|
||||
localStorage.setItem("datetype", dd);
|
||||
|
||||
var cd = $("[name=theme]:checked").val();
|
||||
var ct = $("[for="+cd+"]").html();
|
||||
if(cd=="custom" && !$("#custom-sel-sel").val()){
|
||||
var theme = localStorage.getItem("theme");
|
||||
if (!theme) {
|
||||
var theme = "white";
|
||||
}
|
||||
$("#" + theme).prop("checked", true);
|
||||
}else{
|
||||
if (cd != localStorage.getItem("theme")) {
|
||||
Materialize.toast(lang.lang_setting_theme.replace("{{set}}" ,ct), 3000);
|
||||
}
|
||||
//テーマはこの場で設定
|
||||
themes(cd);
|
||||
localStorage.setItem("theme", cd);
|
||||
}
|
||||
|
||||
var nd = $("[name=nsfw]:checked").val();
|
||||
var nt = $("[for=n_"+nd+"]").text();
|
||||
if (nd != localStorage.getItem("nsfw")) {
|
||||
Materialize.toast(lang.lang_setting_nsfw.replace("{{set}}" ,nt), 3000);
|
||||
}
|
||||
localStorage.setItem("nsfw", nd);
|
||||
|
||||
var cwd = $("[name=cw]:checked").val();
|
||||
var cwt = $("[for=c_"+cwd+"]").text();
|
||||
if (cwd != localStorage.getItem("cw")) {
|
||||
Materialize.toast(lang.lang_setting_cw.replace("{{set}}" ,cwt), 3000);
|
||||
}
|
||||
localStorage.setItem("cw", cwd);
|
||||
|
||||
var cwtd = $("#cw-text").val();
|
||||
if (cwtd != localStorage.getItem("cw-text")) {
|
||||
Materialize.toast(lang.lang_setting_cwtext.replace("{{set}}" ,cwtd), 3000);
|
||||
}
|
||||
localStorage.setItem("cw-text", cwtd);
|
||||
|
||||
var cwsd = $("[name=cws]:checked").val();
|
||||
var cwst = $("[for=cws_"+cwsd+"]").text();
|
||||
if (cwsd != localStorage.getItem("always-cw")) {
|
||||
Materialize.toast(lang.lang_setting_cws.replace("{{set}}" ,cwst), 3000);
|
||||
}
|
||||
localStorage.setItem("always-cw", cwsd);
|
||||
|
||||
var rpd = $("[name=rp]:checked").val();
|
||||
var rpt = $("[for=c_"+cwd+"]").text();
|
||||
if (rpd != localStorage.getItem("replyct")) {
|
||||
Materialize.toast(lang.lang_setting_rp.replace("{{set}}" ,rpt), 3000);
|
||||
}
|
||||
localStorage.setItem("replyct", rpd);
|
||||
|
||||
var visd = $("[name=vis]:checked").val();
|
||||
var vist = $("[for="+visd+"]").text();
|
||||
if (visd != localStorage.getItem("vis")) {
|
||||
Materialize.toast(lang.lang_setting_vis.replace("{{set}}" ,vist), 3000);
|
||||
}
|
||||
localStorage.setItem("vis", visd);
|
||||
|
||||
var popd = $("#popup").val();
|
||||
if (popd > 0 && popd != localStorage.getItem("popup")) {
|
||||
Materialize.toast(lang.lang_setting_popup.replace("{{set}}" ,popd+lang.lang_setting_s), 3000);
|
||||
} else if (popd != localStorage.getItem("popup")) {
|
||||
Materialize.toast(lang.lang_setting_popup.replace("{{set}}" ,lang.lang_setting_off), 3000);
|
||||
}
|
||||
localStorage.setItem("popup", popd);
|
||||
|
||||
var gifd = $("[name=gif]:checked").val();
|
||||
var gift = $("[for=g_"+gifd+"]").text();
|
||||
if (gifd != localStorage.getItem("gif")) {
|
||||
Materialize.toast(lang.lang_setting_gif.replace("{{set}}" ,gift), 3000);
|
||||
}
|
||||
localStorage.setItem("gif", gifd);
|
||||
|
||||
var sentd = $("#sentence").val();
|
||||
var ltrd = $("#letters").val();
|
||||
if (sentd != localStorage.getItem("sentence") || ltrd != localStorage.getItem("letters")) {
|
||||
Materialize.toast(lang.lang_setting_selt.replace("{{set1}}" ,sentd).replace("{{set2}}" ,ltrd), 3000);
|
||||
}
|
||||
localStorage.setItem("sentence", sentd);
|
||||
localStorage.setItem("letters", ltrd);
|
||||
|
||||
var csentd = $("#cw_sentence").val();
|
||||
var cltrd = $("#cw_letters").val();
|
||||
if (csentd != localStorage.getItem("cw_sentence") || cltrd != localStorage.getItem("cw_letters")) {
|
||||
Materialize.toast(lang.lang_setting_autocw.replace("{{set1}}" ,csentd).replace("{{set2}}" ,cltrd), 3000);
|
||||
}
|
||||
localStorage.setItem("cw_sentence", csentd);
|
||||
localStorage.setItem("cw_letters", cltrd);
|
||||
|
||||
var widthd = $("#width").val();
|
||||
if (widthd != localStorage.getItem("width")) {
|
||||
Materialize.toast(lang.lang_setting_width.replace("{{set}}" ,widthd), 3000);
|
||||
}
|
||||
localStorage.setItem("width", widthd);
|
||||
|
||||
var fwidthd = $("#fixwidth").val();
|
||||
if (fwidthd != localStorage.getItem("fixwidth")) {
|
||||
Materialize.toast(lang.lang_setting_fixwidth.replace("{{set}}" ,fwidthd), 3000);
|
||||
}
|
||||
localStorage.setItem("fixwidth", fwidthd);
|
||||
|
||||
var imgd = $("[name=img]:checked").val();
|
||||
var imgt = $("[for=i_"+imgd+"]").text();
|
||||
if (imgd != localStorage.getItem("img")) {
|
||||
Materialize.toast(lang.lang_setting_img.replace("{{set}}" ,imgt), 3000);
|
||||
}
|
||||
localStorage.setItem("img", imgd);
|
||||
|
||||
var fontd = $("#font").val();
|
||||
if(fontd){
|
||||
if (fontd != localStorage.getItem("font")) {
|
||||
Materialize.toast(lang.lang_setting_font.replace("{{set}}" ,fontd), 3000);
|
||||
}
|
||||
localStorage.setItem("font", fontd);
|
||||
themes();
|
||||
}else{
|
||||
if(localStorage.getItem("font")){
|
||||
localStorage.removeItem("font");
|
||||
Materialize.toast(lang.lang_setting_font.replace("{{set}}" ,lang.lang_setting_default), 3000);
|
||||
themes();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var sized = $("#size").val();
|
||||
if (sized != localStorage.getItem("size")) {
|
||||
Materialize.toast(lang.lang_setting_size.replace("{{set}}" ,sized), 3000);
|
||||
}
|
||||
localStorage.setItem("size", sized);
|
||||
|
||||
var heid = $("#img-height").val();
|
||||
if (heid != localStorage.getItem("img-height")) {
|
||||
Materialize.toast(lang.lang_setting_imgheight.replace("{{set}}" ,heid), 3000);
|
||||
}
|
||||
localStorage.setItem("img-height", heid);
|
||||
|
||||
var tckrd = $("[name=ticker]:checked").val();
|
||||
var tckrt = $("[for=ticker_"+tckrd+"]").text();
|
||||
if (tckrd != localStorage.getItem("ticker_ok")) {
|
||||
Materialize.toast(lang.lang_setting_ticker.replace("{{set}}" ,tckrt), 3000);
|
||||
}
|
||||
localStorage.setItem("ticker_ok", tckrd);
|
||||
|
||||
var animed = $("[name=anime]:checked").val();
|
||||
var animet = $("[for=anime_"+animed+"]").text();
|
||||
if (animed != localStorage.getItem("animation")) {
|
||||
Materialize.toast(lang.lang_setting_animation.replace("{{set}}" ,animet), 3000);
|
||||
}
|
||||
localStorage.setItem("animation", animed);
|
||||
|
||||
var boxd = $("[name=box]:checked").val();
|
||||
var boxt = $("[for=bx_"+boxd+"]").text();
|
||||
if (boxd != localStorage.getItem("box")) {
|
||||
Materialize.toast(lang.lang_setting_boxConfirm.replace("{{set}}" ,boxt), 3000);
|
||||
}
|
||||
localStorage.setItem("box", boxd);
|
||||
|
||||
var tagd = $("[name=tag]:checked").val();
|
||||
var tagt = $("[for=t_"+tagd+"]").text();
|
||||
if (tagd != localStorage.getItem("tag-range")) {
|
||||
Materialize.toast(lang.lang_setting_tag.replace("{{set}}" ,tagt), 3000);
|
||||
}
|
||||
localStorage.setItem("tag-range", tagd);
|
||||
|
||||
var uld = $("[name=ul]:checked").val();
|
||||
var ult = $("[for=ul_"+uld+"]").text();
|
||||
if (uld != localStorage.getItem("locale")) {
|
||||
Materialize.toast(lang.lang_setting_ul.replace("{{set}}" ,ult), 3000);
|
||||
}
|
||||
localStorage.setItem("locale", uld);
|
||||
|
||||
var ntd = $("[name=notf]:checked").val();
|
||||
var ntt = $("[for=ntf_"+ntd+"]").text();
|
||||
if (ntd != localStorage.getItem("nativenotf")) {
|
||||
Materialize.toast(lang.lang_setting_notf.replace("{{set}}" ,ntt), 3000);
|
||||
}
|
||||
localStorage.setItem("nativenotf", ntd);
|
||||
|
||||
var qtd = $("[name=quote]:checked").val();
|
||||
var qtt = $("[for=q_"+qtd+"]").text();
|
||||
if (qtd != localStorage.getItem("quote")) {
|
||||
Materialize.toast(lang.lang_setting_quote.replace("{{set}}" ,qtt), 3000);
|
||||
}
|
||||
localStorage.setItem("quote", qtd);
|
||||
|
||||
var viad = $("[name=via]:checked").val();
|
||||
var viat = $("[for=via_"+viad+"]").text();
|
||||
if (viad != localStorage.getItem("viashow")) {
|
||||
Materialize.toast(lang.lang_setting_via.replace("{{set}}" ,viat), 3000);
|
||||
}
|
||||
localStorage.setItem("viashow", viad);
|
||||
|
||||
var notfmd = $("[name=notfm]:checked").val();
|
||||
var notfmt = $("[for=notfm_"+notfmd+"]").text();
|
||||
if (notfmd != localStorage.getItem("setasread")) {
|
||||
Materialize.toast(lang.lang_setting_setasread.replace("{{set}}" ,notfmt), 3000);
|
||||
}
|
||||
localStorage.setItem("setasread", notfmd);
|
||||
|
||||
var movd = $("[name=mov]:checked").val();
|
||||
var movt = $("[for=mov_"+movd+"]").text();
|
||||
if (movd != localStorage.getItem("mouseover")) {
|
||||
Materialize.toast(lang.lang_setting_mov.replace("{{set}}" ,movt), 3000);
|
||||
}
|
||||
localStorage.setItem("mouseover", movd);
|
||||
|
||||
var maind = $("[name=main]:checked").val();
|
||||
var maint = $("[for=mn_"+maind+"]").text();
|
||||
if (maind != localStorage.getItem("mainuse")) {
|
||||
Materialize.toast(lang.lang_setting_main.replace("{{set}}" ,maint), 3000);
|
||||
}
|
||||
localStorage.setItem("mainuse", maind);
|
||||
|
||||
var secd = $("[name=sec]:checked").val();
|
||||
var sect = $("[for=sec-"+secd+"]").text();
|
||||
if (secd != localStorage.getItem("sec")) {
|
||||
Materialize.toast(lang.lang_setting_sec.replace("{{set}}" ,sect), 3000);
|
||||
}
|
||||
localStorage.setItem("sec", secd);
|
||||
}
|
||||
|
||||
//読み込み時の設定ロード
|
||||
function load() {
|
||||
if(localStorage.getItem("imas")){
|
||||
$(".imas").removeClass("hide");
|
||||
}
|
||||
if(localStorage.getItem("kirishima")){
|
||||
$(".kirishima").removeClass("hide");
|
||||
}
|
||||
var prof = localStorage.getItem("prof");
|
||||
$("#my-prof").attr("src", prof);
|
||||
var datetype = localStorage.getItem("datetype");
|
||||
if (!datetype) {
|
||||
var datetype = "absolute";
|
||||
}
|
||||
$("#" + datetype).prop("checked", true);
|
||||
|
||||
var theme = localStorage.getItem("theme");
|
||||
if (!theme) {
|
||||
var theme = "white";
|
||||
}
|
||||
$("#" + theme).prop("checked", true);
|
||||
|
||||
var ha = localStorage.getItem("ha");
|
||||
if (!ha) {
|
||||
var ha = "false";
|
||||
}
|
||||
$("#ha_" + ha).prop("checked", true);
|
||||
|
||||
var nsfw = localStorage.getItem("nsfw");
|
||||
if (!nsfw) {
|
||||
var nsfw = "yes";
|
||||
}
|
||||
$("#n_" + nsfw).prop("checked", true);
|
||||
|
||||
var cw = localStorage.getItem("cw");
|
||||
if (!cw) {
|
||||
var cw = "yes";
|
||||
}
|
||||
$("#c_" + cw).prop("checked", true);
|
||||
|
||||
var cws = localStorage.getItem("always-cw");
|
||||
if (!cws) {
|
||||
var cws = "no";
|
||||
}
|
||||
$("#cws_" + cws).prop("checked", true);
|
||||
|
||||
var popup = localStorage.getItem("popup");
|
||||
if (!popup) {
|
||||
var popup = "0";
|
||||
}
|
||||
$("#popup").val(popup);
|
||||
|
||||
var box = localStorage.getItem("box");
|
||||
if (!box) {
|
||||
var box = "no";
|
||||
}
|
||||
if(box=="absolute"){
|
||||
var box = "abs";
|
||||
}
|
||||
$("#bx_" + box).prop("checked", true);
|
||||
|
||||
var gif = localStorage.getItem("gif");
|
||||
if (!gif) {
|
||||
var gif = "yes";
|
||||
}
|
||||
$("#g_" + gif).prop("checked", true);
|
||||
|
||||
var sent = localStorage.getItem("sentence");
|
||||
if (!sent) {
|
||||
var sent = "500";
|
||||
}
|
||||
$("#sentence").val(sent);
|
||||
var ltrs = localStorage.getItem("letters");
|
||||
if (!ltrs) {
|
||||
var ltrs = "500";
|
||||
}
|
||||
$("#letters").val(ltrs);
|
||||
|
||||
var csent = localStorage.getItem("cw_sentence");
|
||||
if (!csent) {
|
||||
var csent = "500";
|
||||
}
|
||||
$("#cw_sentence").val(csent);
|
||||
var cltrs = localStorage.getItem("cw_letters");
|
||||
if (!cltrs) {
|
||||
var cltrs = "500";
|
||||
}
|
||||
$("#cw_letters").val(cltrs);
|
||||
|
||||
var width = localStorage.getItem("width");
|
||||
if (!width) {
|
||||
var width = "300";
|
||||
}
|
||||
$("#width").val(width);
|
||||
|
||||
var fwidth = localStorage.getItem("fixwidth");
|
||||
if (!fwidth) {
|
||||
var fwidth = "300";
|
||||
}
|
||||
$("#fixwidth").val(fwidth);
|
||||
|
||||
var cwt = localStorage.getItem("cw-text");
|
||||
if (!cwt) {
|
||||
var cwt = "";
|
||||
}
|
||||
$("#cw-text").val(cwt);
|
||||
|
||||
var cws = localStorage.getItem("always-cw");
|
||||
if (!cws) {
|
||||
var cws = "no";
|
||||
}
|
||||
$("#cws_" + cws).prop("checked", true);
|
||||
|
||||
var rps = localStorage.getItem("replyct");
|
||||
if (!rps) {
|
||||
var rps = "hidden";
|
||||
}
|
||||
$("#rp_" + rps).prop("checked", true);
|
||||
|
||||
var vis = localStorage.getItem("vis");
|
||||
if (!vis) {
|
||||
var vis = "public";
|
||||
}
|
||||
$("#" + vis).prop("checked", true);
|
||||
|
||||
var img = localStorage.getItem("img");
|
||||
if (!img) {
|
||||
var img = "no-act";
|
||||
}
|
||||
$("#i_" + img).prop("checked", true);
|
||||
|
||||
var font = localStorage.getItem("font");
|
||||
if (!font) {
|
||||
var font = "";
|
||||
}
|
||||
$("#font").val(font);
|
||||
|
||||
var size = localStorage.getItem("size");
|
||||
if (!size) {
|
||||
var size = "13";
|
||||
}
|
||||
$("#size").val(size);
|
||||
|
||||
var imh = localStorage.getItem("img-height");
|
||||
if (!imh) {
|
||||
var imh = "200";
|
||||
}
|
||||
$("#img-height").val(imh);
|
||||
|
||||
var ticker = localStorage.getItem("ticker_ok");
|
||||
if (!ticker) {
|
||||
var ticker = "no";
|
||||
}
|
||||
$("#ticker_" + ticker).prop("checked", true);
|
||||
|
||||
var animation = localStorage.getItem("animation");
|
||||
if (!animation) {
|
||||
var animation = "yes";
|
||||
}
|
||||
$("#anime_" + animation).prop("checked", true);
|
||||
|
||||
var tag = localStorage.getItem("tag-range");
|
||||
if (!tag) {
|
||||
var tag = "all";
|
||||
}
|
||||
$("#t_" + tag).prop("checked", true);
|
||||
|
||||
var box = localStorage.getItem("box");
|
||||
if (!box) {
|
||||
var box = "yes";
|
||||
}
|
||||
$("#bx_" + box).prop("checked", true);
|
||||
|
||||
var uld = localStorage.getItem("locale");
|
||||
if (!uld) {
|
||||
var uld = "yes";
|
||||
}
|
||||
$("#ul_" + uld).prop("checked", true);
|
||||
|
||||
var nnd = localStorage.getItem("nativenotf");
|
||||
if (!nnd) {
|
||||
var nnd = "yes";
|
||||
}
|
||||
$("#ntf_" + nnd).prop("checked", true);
|
||||
|
||||
var qt = localStorage.getItem("quote");
|
||||
if (!qt) {
|
||||
var qt = "simple";
|
||||
}
|
||||
$("#q_" + qt).prop("checked", true);
|
||||
|
||||
var viat = localStorage.getItem("viashow");
|
||||
if (!viat) {
|
||||
var viat = "hide";
|
||||
}
|
||||
$("#via_" + viat).prop("checked", true);
|
||||
|
||||
var movt = localStorage.getItem("mouseover");
|
||||
if (!movt) {
|
||||
var movt = "no";
|
||||
}
|
||||
$("#mov_" + movt).prop("checked", true);
|
||||
|
||||
var notfmt = localStorage.getItem("setasread");
|
||||
if (!notfmt) {
|
||||
var notfmt = "yes";
|
||||
}
|
||||
$("#notfm_" + notfmt).prop("checked", true);
|
||||
|
||||
var maint = localStorage.getItem("mainuse");
|
||||
if (!maint) {
|
||||
var maint = "remain";
|
||||
}
|
||||
$("#mn_" + maint).prop("checked", true);
|
||||
|
||||
var sect = localStorage.getItem("sec");
|
||||
if (!sect) {
|
||||
var sect = "nothing";
|
||||
}
|
||||
$("#sec-" + sect).prop("checked", true);
|
||||
|
||||
}
|
||||
|
||||
function climute(){
|
||||
//クライアントミュート
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var obj = JSON.parse(cli);
|
||||
if(!obj){
|
||||
$("#mute-cli").html(lang.lang_setting_nomuting);
|
||||
}else{
|
||||
if(!obj[0]){
|
||||
$("#mute-cli").html(lang.lang_setting_nomuting);
|
||||
return;
|
||||
}
|
||||
var templete;
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
var cli = obj[key];
|
||||
var list = key * 1 + 1;
|
||||
templete = '<div class="acct" id="acct_' + key + '">' + list +
|
||||
'.' +
|
||||
cli + '<button class="btn waves-effect red disTar" onclick="cliMuteDel(' +
|
||||
key + ')">'+lang.lang_del+'</button><br></div>';
|
||||
$("#mute-cli").append(templete);
|
||||
});
|
||||
}
|
||||
}
|
||||
function cliMuteDel(key){
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var obj = JSON.parse(cli);
|
||||
obj.splice(key, 1);
|
||||
var json = JSON.stringify(obj);
|
||||
localStorage.setItem("client_mute", json);
|
||||
mute();
|
||||
}
|
||||
|
||||
function wordmute(){
|
||||
var word = localStorage.getItem("word_mute");
|
||||
var obj = JSON.parse(word);
|
||||
$('#wordmute').material_chip({
|
||||
data: obj,
|
||||
});
|
||||
}
|
||||
function wordmuteSave(){
|
||||
var word=$('#wordmute').material_chip('data');
|
||||
var json = JSON.stringify(word);
|
||||
localStorage.setItem("word_mute", json);
|
||||
}
|
||||
|
||||
function wordemp(){
|
||||
var word = localStorage.getItem("word_emp");
|
||||
var obj = JSON.parse(word);
|
||||
$('#wordemp').material_chip({
|
||||
data: obj,
|
||||
});
|
||||
}
|
||||
function wordempSave(){
|
||||
var word=$('#wordemp').material_chip('data');
|
||||
var json = JSON.stringify(word);
|
||||
localStorage.setItem("word_emp", json);
|
||||
}
|
||||
function notftest(){
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
var os = electron.remote.process.platform;
|
||||
var options = {
|
||||
body: lang.lang_setting_notftest+'('+lang.lang_setting_notftestprof+')',
|
||||
icon: localStorage.getItem("prof_0")
|
||||
};
|
||||
if(os=="darwin"){
|
||||
var n = new Notification('TheDesk'+lang.lang_setting_notftest, options);
|
||||
}else{
|
||||
ipc.send('native-notf', ['TheDesk'+lang.lang_setting_notftest,lang.lang_setting_notftest+'('+lang.lang_setting_notftestprof+')',localStorage.getItem('prof_0'),"",""]);
|
||||
}
|
||||
|
||||
}
|
||||
function oks(no){
|
||||
var txt=$("#oks-"+no).val();
|
||||
localStorage.setItem("oks-"+no, txt);
|
||||
Materialize.toast(lang.lang_setting_ksref, 3000);
|
||||
}
|
||||
function oksload(){
|
||||
if(localStorage.getItem("oks-1")){$("#oks-1").val(localStorage.getItem("oks-1"))}
|
||||
if(localStorage.getItem("oks-2")){$("#oks-2").val(localStorage.getItem("oks-2"))}
|
||||
if(localStorage.getItem("oks-3")){$("#oks-3").val(localStorage.getItem("oks-3"))}
|
||||
}
|
||||
function changelang(lang){
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('lang',lang);
|
||||
ipc.on('langres', function (event, arg) {
|
||||
location.href="../"+lang+"/setting.html"
|
||||
});
|
||||
}
|
||||
function exportSettings(){
|
||||
if(!confirm(lang.lang_setting_exportwarn)){
|
||||
return false;
|
||||
}
|
||||
var electron = require("electron");
|
||||
var remote=electron.remote;
|
||||
var dialog=remote.dialog;
|
||||
var ipc = electron.ipcRenderer;
|
||||
dialog.showSaveDialog(null, {
|
||||
title: 'Export',
|
||||
properties: ['openFile', 'createDirectory'],
|
||||
defaultPath: "export.thedeskconfig"
|
||||
}, (savedFiles) => {
|
||||
console.log(savedFiles);
|
||||
if(!savedFiles){
|
||||
return false;
|
||||
}
|
||||
var exp={};
|
||||
//Accounts
|
||||
var multi = localStorage.getItem("multi");
|
||||
var acct = JSON.parse(multi);
|
||||
exp.accts=acct;
|
||||
//Columns
|
||||
var multi = localStorage.getItem("column");
|
||||
var column = JSON.parse(multi);
|
||||
exp.columns=column;
|
||||
//Themes
|
||||
exp.theme=localStorage.getItem("theme");
|
||||
//Min width
|
||||
exp.minwidth=localStorage.getItem("width");
|
||||
//Font
|
||||
exp.font=localStorage.getItem("font");
|
||||
exp.size=localStorage.getItem("size");
|
||||
//Img height
|
||||
exp.imgheight=localStorage.getItem("img-height");
|
||||
//Main
|
||||
exp.mainuse=localStorage.getItem("mainuse");
|
||||
//CW text
|
||||
exp.cw=localStorage.getItem("cw-text");
|
||||
//vis
|
||||
exp.vis=localStorage.getItem("vis");
|
||||
//keysc
|
||||
exp.ksc=[
|
||||
localStorage.getItem("oks-1"),
|
||||
localStorage.getItem("oks-2"),
|
||||
localStorage.getItem("oks-3")
|
||||
];
|
||||
//climu
|
||||
var cli = localStorage.getItem("client_mute");
|
||||
var climu = JSON.parse(cli);
|
||||
exp.clientMute=climu;
|
||||
//wordmu
|
||||
var wdm = localStorage.getItem("word_mute");
|
||||
var wordmu = JSON.parse(wdm);
|
||||
exp.wordMute=wordmu;
|
||||
//spotify
|
||||
exp.spotifyArtwork=localStorage.getItem("artwork")
|
||||
var content=localStorage.getItem("np-temp");
|
||||
if(content || content=="" || content=="null"){
|
||||
exp.spotifyTemplete=content;
|
||||
}else{
|
||||
exp.spotifyTemplete=null;
|
||||
}
|
||||
//tags
|
||||
var tagarr = localStorage.getItem("tag");
|
||||
var favtag = JSON.parse(tagarr);
|
||||
exp.favoriteTags=favtag;
|
||||
console.log(exp);
|
||||
ipc.send('export', [savedFiles,JSON.stringify(exp)]);
|
||||
alert("Done.")
|
||||
//cards
|
||||
//lang
|
||||
});
|
||||
}
|
||||
function importSettings(){
|
||||
if(!confirm(lang.lang_setting_importwarn)){
|
||||
return false;
|
||||
}
|
||||
var electron = require("electron");
|
||||
var remote=electron.remote;
|
||||
var dialog=remote.dialog;
|
||||
var ipc = electron.ipcRenderer;
|
||||
dialog.showOpenDialog(null, {
|
||||
title: 'Import',
|
||||
properties: ['openFile'],
|
||||
filters: [
|
||||
{name: 'TheDesk Config', extensions: ['thedeskconfig']},
|
||||
]
|
||||
}, (fileNames) => {
|
||||
console.log(fileNames);
|
||||
if(!fileNames){
|
||||
return false;
|
||||
}
|
||||
ipc.send('import', fileNames[0]);
|
||||
ipc.on('config', function (event, arg) {
|
||||
var obj = JSON.parse(arg);
|
||||
if(obj){
|
||||
localStorage.clear();
|
||||
localStorage.setItem("multi",JSON.stringify(obj.accts));
|
||||
for(var key=0;key<obj.accts.length;key++){
|
||||
var acct=obj.accts[key];
|
||||
localStorage.setItem("name_" + key, acct.name);
|
||||
localStorage.setItem("user_" + key, acct.user);
|
||||
localStorage.setItem("user-id_" + key, acct.id);
|
||||
localStorage.setItem("prof_" + key, acct.prof);
|
||||
localStorage.setItem("domain_" + key, acct.domain);
|
||||
localStorage.setItem("acct_"+ key + "_at", acct.at);
|
||||
}
|
||||
localStorage.setItem("column",JSON.stringify(obj.columns));
|
||||
localStorage.setItem("theme",obj.theme);
|
||||
if(obj.width){
|
||||
console.log(obj.width)
|
||||
localStorage.setItem("width",obj.width);
|
||||
}
|
||||
if(obj.font){
|
||||
localStorage.setItem("font",obj.font);
|
||||
}
|
||||
if(obj.size){
|
||||
localStorage.setItem("size",obj.size);
|
||||
}
|
||||
themes(obj.theme);
|
||||
if(obj.imgheight){
|
||||
localStorage.setItem("img-height",obj.imgheight);
|
||||
}
|
||||
localStorage.setItem("mainuse",obj.mainuse);
|
||||
if(obj.cw){
|
||||
localStorage.setItem("cwtext",obj.cw);
|
||||
}
|
||||
localStorage.setItem("vis",obj.vis);
|
||||
if(obj.ksc[0]){
|
||||
localStorage.setItem("oks-1",obj.ksc[0]);
|
||||
}
|
||||
if(obj.ksc[1]){
|
||||
localStorage.setItem("oks-2",obj.ksc[1]);
|
||||
}
|
||||
if(obj.ksc[2]){
|
||||
localStorage.setItem("oks-3",obj.ksc[2]);
|
||||
}
|
||||
if(obj.clientMute){
|
||||
localStorage.setItem("client_mute",JSON.stringify(obj.clientMute));
|
||||
}
|
||||
if(obj.wordMute){
|
||||
localStorage.setItem("word_mute",JSON.stringify(obj.wordMute));
|
||||
}
|
||||
if(obj.favoriteTags){
|
||||
localStorage.setItem("tag",JSON.stringify(obj.favoriteTags));
|
||||
}
|
||||
|
||||
localStorage.setItem("np-temp",obj.spotifyTemplete);
|
||||
for(var i=0;i<obj.columns.length;i++){
|
||||
localStorage.setItem("card_" + i,"true");
|
||||
localStorage.removeItem("catch_" + i);
|
||||
}
|
||||
location.href="language.html";
|
||||
}else{
|
||||
alert("Error.")
|
||||
}
|
||||
})
|
||||
//cards
|
||||
//lang
|
||||
});
|
||||
}
|
||||
function savefolder(){
|
||||
var electron = require("electron");
|
||||
var remote=electron.remote;
|
||||
var dialog=remote.dialog;
|
||||
dialog.showOpenDialog(null, {
|
||||
title: 'Save folder',
|
||||
properties: ['openDirectory'],
|
||||
}, (fileNames) => {
|
||||
localStorage.setItem("savefolder",fileNames[0]);
|
||||
});
|
||||
}
|
||||
|
||||
function font(){
|
||||
var electron = require("electron");
|
||||
var ipc = electron.ipcRenderer;
|
||||
ipc.send('fonts', []);
|
||||
ipc.on('font-list', function (event, arg) {
|
||||
$("#fonts").removeClass("hide");
|
||||
for( var i=0; i<arg.length; i++) {
|
||||
var font=arg[i];
|
||||
$("#fonts").append('<div class="font pointer" style="font-family:'+font.family+'" onclick="insertFont(\''+font.family+'\')">'+font.family+"</div>")
|
||||
}
|
||||
});
|
||||
}
|
||||
function insertFont(name){
|
||||
$("#font").val(name);
|
||||
}
|
||||
$(".color-picker").each(function(i, elem) {
|
||||
pickerDefine(i,"fff");
|
||||
});
|
||||
function pickerDefine(i,color){
|
||||
var pickr = new Pickr({
|
||||
el: '#color-picker'+i,
|
||||
default: color,
|
||||
showAlways: true,
|
||||
appendToBody: true,
|
||||
closeWithKey: 'Escape',
|
||||
comparison: false,
|
||||
components: {
|
||||
preview: true, // Left side color comparison
|
||||
opacity: false, // Opacity slider
|
||||
hue: true, // Hue slider
|
||||
interaction: {
|
||||
rgba: false, // rgba option (red green blue and alpha)
|
||||
input: true, // input / output element
|
||||
}
|
||||
},
|
||||
strings: {
|
||||
save: 'Save', // Default for save button
|
||||
clear: 'Clear' // Default for clear button
|
||||
}
|
||||
});
|
||||
pickr.on('change', (...args) => {
|
||||
var rgb='rgb('+args[0].toRGBA()[0]+','+args[0].toRGBA()[1]+','+args[0].toRGBA()[2]+')';
|
||||
$("#color-picker"+i+"_value").val(rgb)
|
||||
});
|
||||
}
|
||||
function customComp(){
|
||||
var nameC=$("#custom_name").val();
|
||||
if(!nameC){return false;}
|
||||
var descC=$("#custom_desc").val();
|
||||
var primaryC=$("#color-picker0_value").val();
|
||||
if(!primaryC){primaryC="rgb(255,255,255)"}
|
||||
var secondaryC=$("#color-picker1_value").val();
|
||||
if(!secondaryC){secondaryC="rgb(255,255,255)"}
|
||||
var textC=$("#color-picker2_value").val();
|
||||
if(!textC){textC="rgb(255,255,255)"}
|
||||
var accentC=$("#color-picker3_value").val();
|
||||
if(!accentC){accentC="rgb(255,255,255)"}
|
||||
var multi = localStorage.getItem("multi");
|
||||
var my=JSON.parse(multi)[0].name;
|
||||
var id=$("#custom-edit-sel").val();
|
||||
if(id=="add_new"){
|
||||
id=makeCID();
|
||||
}
|
||||
var json={
|
||||
"name": nameC,
|
||||
"author": my,
|
||||
"desc": descC,
|
||||
"base": $("[name=direction]:checked").val(),
|
||||
"vars": {
|
||||
"primary": primaryC,
|
||||
"secondary": secondaryC,
|
||||
"text": textC
|
||||
},
|
||||
"props": {
|
||||
"TheDeskAccent": accentC
|
||||
},
|
||||
"id": id
|
||||
}
|
||||
$("#custom_json").val(JSON.stringify(json));
|
||||
themes();
|
||||
$("#custom_name").val("");
|
||||
$("#custom_desc").val("");
|
||||
$("#dark").prop("checked", true);
|
||||
$("#custom_json").val("");
|
||||
$("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
|
||||
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
|
||||
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
|
||||
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
|
||||
$("#color-picker0_value").val("");
|
||||
$("#color-picker1_value").val("");
|
||||
$("#color-picker2_value").val("");
|
||||
$("#color-picker3_value").val("");
|
||||
pickerDefine(0,"fff");
|
||||
pickerDefine(1,"fff");
|
||||
pickerDefine(2,"fff");
|
||||
pickerDefine(3,"fff");
|
||||
ipc.send('theme-json-create', JSON.stringify(json));
|
||||
}
|
||||
function deleteIt(){
|
||||
var id=$("#custom-sel-sel").val();
|
||||
$("#custom_name").val("");
|
||||
$("#custom_desc").val("");
|
||||
$("#dark").prop("checked", true);
|
||||
$("#custom_json").val("");
|
||||
$("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
|
||||
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
|
||||
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
|
||||
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
|
||||
$("#color-picker0_value").val("");
|
||||
$("#color-picker1_value").val("");
|
||||
$("#color-picker2_value").val("");
|
||||
$("#color-picker3_value").val("");
|
||||
pickerDefine(0,"fff");
|
||||
pickerDefine(1,"fff");
|
||||
pickerDefine(2,"fff");
|
||||
pickerDefine(3,"fff");
|
||||
ipc.on('theme-json-delete-complete', function (event, args) {
|
||||
ctLoad()
|
||||
});
|
||||
ipc.send('theme-json-delete', id);
|
||||
}
|
||||
function ctLoad(){
|
||||
ipc.send('theme-json-list', "");
|
||||
ipc.on('theme-json-list-response', function (event, args) {
|
||||
console.log(args);
|
||||
var templete="";
|
||||
Object.keys(args).forEach(function(key) {
|
||||
var theme = args[key];
|
||||
var themeid=theme.id
|
||||
templete = templete+'<option value="'+themeid+'">' + theme.name +'</option>';
|
||||
});
|
||||
if(args[0]){
|
||||
localStorage.setItem("customtheme-id",args[0].id)
|
||||
}
|
||||
$("#custom-sel-sel").html(templete);
|
||||
templete='<option value="add_new">'+$("#edit-selector").attr("data-add")+'</option>'+templete;
|
||||
$("#custom-edit-sel").html(templete);
|
||||
$('select').material_select('update');
|
||||
});
|
||||
}
|
||||
function customSel(){
|
||||
var id=$("#custom-sel-sel").val();
|
||||
localStorage.setItem("customtheme-id",id)
|
||||
}
|
||||
function custom(){
|
||||
var id=$("#custom-edit-sel").val();
|
||||
if(id=="add_new"){
|
||||
$("#custom_name").val("");
|
||||
$("#custom_desc").val("");
|
||||
$("#dark").prop("checked", true);
|
||||
$("#custom_json").val("");
|
||||
$("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
|
||||
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
|
||||
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
|
||||
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
|
||||
$("#color-picker0_value").val("");
|
||||
$("#color-picker1_value").val("");
|
||||
$("#color-picker2_value").val("");
|
||||
$("#color-picker3_value").val("");
|
||||
pickerDefine(0,"fff");
|
||||
pickerDefine(1,"fff");
|
||||
pickerDefine(2,"fff");
|
||||
pickerDefine(3,"fff");
|
||||
$("#delTheme").addClass("disabled")
|
||||
}else{
|
||||
$("#delTheme").removeClass("disabled")
|
||||
ipc.send('theme-json-request', id);
|
||||
ipc.on('theme-json-response', function (event, args) {
|
||||
console.log(args);
|
||||
$("#custom_name").val(args.name);
|
||||
$("#custom_desc").val(args.desc);
|
||||
$("#"+args.base).prop("checked", true);
|
||||
$("#color-picker0-wrap").html('<div class="color-picker" id="color-picker0"></div>')
|
||||
pickerDefine(0,rgbToHex(args.vars.primary))
|
||||
$("#color-picker0_value").val(args.vars.primary);
|
||||
$("#color-picker1-wrap").html('<div class="color-picker" id="color-picker1"></div>')
|
||||
pickerDefine(1,rgbToHex(args.vars.secondary))
|
||||
$("#color-picker1_value").val(args.vars.secondary);
|
||||
$("#color-picker2-wrap").html('<div class="color-picker" id="color-picker2"></div>')
|
||||
$("#color-picker2_value").val(args.vars.text);
|
||||
pickerDefine(2,rgbToHex(args.vars.text))
|
||||
if(args.props){
|
||||
if(args.props.TheDeskAccent){
|
||||
var accent=args.props.TheDeskAccent;
|
||||
}else{
|
||||
var accent=args.vars.secondary;
|
||||
}
|
||||
}else{
|
||||
var accent=args.vars.secondary;
|
||||
}
|
||||
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
|
||||
pickerDefine(3,rgbToHex(accent))
|
||||
$("#custom_json").val(JSON.stringify(args));
|
||||
});
|
||||
}
|
||||
}
|
||||
function customImp(){
|
||||
var json=$("#custom_import").val();
|
||||
if(JSON5.parse(json)){
|
||||
ipc.send('theme-json-create', json);
|
||||
}else{
|
||||
alert("Error")
|
||||
}
|
||||
}
|
||||
function hardwareAcceleration(){
|
||||
var had = $("[name=ha]:checked").val();
|
||||
localStorage.setItem("ha", had);
|
||||
console.log("ha");
|
||||
ipc.send('ha', had);
|
||||
}
|
||||
|
||||
ipc.on('theme-json-create-complete', function (event, args) {
|
||||
$("#custom_import").val("");
|
||||
ctLoad()
|
||||
});
|
||||
//最初に読む
|
||||
load();
|
||||
climute();
|
||||
wordmute();
|
||||
wordemp();
|
||||
checkSpotify();
|
||||
voiceSettingLoad();
|
||||
oksload();
|
||||
npprovider();
|
||||
ctLoad()
|
|
@ -247,7 +247,7 @@ ipc.on('theme-css-request', function(e, arg) {
|
|||
var css=".customtheme {--bg:"+secondary+";--drag:"+drag+";"+
|
||||
"--color:"+text+";--beforehover:"+beforehover+";--modal:"+secondary+";--subcolor:"+primary+";--box:"+primary+";--sidebar:"+primary+";--shared:"+emphasized+";"+
|
||||
"--notfbox:"+secondary+";--emphasized:"+primary+";--his-data:"+secondary+
|
||||
+"--active:"+primary+";--postbox:"+primary+";--modalfooter:"+primary+";}.blacktheme #imagemodal{background: url(\"../img/pixel.svg\");}";
|
||||
"--active:"+primary+";--postbox:"+primary+";--modalfooter:"+primary+";}.blacktheme #imagemodal{background: url(\"../img/pixel.svg\");}";
|
||||
mainWindow.webContents.send('theme-css-response', css);
|
||||
} catch (e) {
|
||||
var css="";
|
||||
|
|
7
app/package-lock.json
generated
7
app/package-lock.json
generated
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "thedesk",
|
||||
"version": "17.2.0",
|
||||
"version": "17.3.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -3160,6 +3160,11 @@
|
|||
"extsprintf": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"vue": {
|
||||
"version": "2.6.9",
|
||||
"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.9.tgz",
|
||||
"integrity": "sha512-t1+tvH8hybPM86oNne3ZozCD02zj/VoZIiojOBPJLjwBn7hxYU5e1gBObFpq8ts1NEn1VhPf/hVXBDAJ3X5ljg=="
|
||||
},
|
||||
"wcwidth": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "thedesk",
|
||||
"version": "17.3.0",
|
||||
"version": "18.0.0",
|
||||
"description": "TheDesk is a Mastodon client for PC.",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
|
@ -39,7 +39,8 @@
|
|||
"jimp": "^0.2.28",
|
||||
"json5": "^2.1.0",
|
||||
"node-notifier": "^5.2.1",
|
||||
"sumchecker": "^2.0.2"
|
||||
"sumchecker": "^2.0.2",
|
||||
"vue": "^2.6.9"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"itunes-nowplaying-mac": "^0.2.3",
|
||||
|
|
|
@ -32,15 +32,14 @@
|
|||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver="Miria (17.3.0)";
|
||||
var ver="Usamin (18.0.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
//WinstoreではバージョンCK・言語・Misskeyトークンの機能が排除
|
||||
var winstore=false;
|
||||
var acct_id=0;
|
||||
var tlid=0;
|
||||
verck(ver,winstore);
|
||||
verck(ver);
|
||||
</script>
|
||||
<textarea id="copy" style="top:-100px; position:fixed;"></textarea>
|
||||
<div id="tl">
|
||||
|
@ -582,19 +581,22 @@ var tlid=0;
|
|||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Miria_17-2-1" class="release-do" style="display:none; ">
|
||||
<div id="release-Usamin_18-0-0" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Miria (17.2.1)</h5>
|
||||
多くの機能を「メニュー」に集約。結局何のボタンかわからないアイコンの羅列から解放。<br>
|
||||
Alt+Enterでセカンダリートゥートボタン<br>
|
||||
引用ボタンを表示しない設定(引用形式設定を「使用しない」)<br>
|
||||
実況機能をまともに書き直した。<br>
|
||||
サジェストをトゥートボックスの右に<br>
|
||||
ハードウェアアクセラレーションを無効化するオプション。(設定の表示などが乱れるときに設定)<br>
|
||||
返信時に「@」が複数含まれない仕様を訂正<br>
|
||||
<h5>Release Note Usamin (18.0.0)</h5>
|
||||
・多くの機能を「メニュー」に集約。結局何のボタンかわからないアイコンの羅列から解放。<br>
|
||||
・Alt+Enterでセカンダリートゥートボタン<br>
|
||||
・引用ボタンを表示しない設定(引用形式設定を「使用しない」)<br>
|
||||
・実況機能をまともに書き直した。<br>
|
||||
・サジェストをトゥートボックスの右に<br>
|
||||
・ハードウェアアクセラレーションを無効化するオプション。(設定の表示などが乱れるときに設定)<br>
|
||||
・返信時に「@」が複数含まれない仕様を訂正<br>
|
||||
・一部のデフォルト値を修正。<br>
|
||||
・設定のエクスポート(バックアップ)がバージョン2に。ほとんどの設定をエクスポートします。<br>
|
||||
・イメージビューワーの修正<br>
|
||||
<img class="emoji" draggable="false" alt="⚠" src="https://twemoji.maxcdn.com/2/72x72/26a0.png">TheDeskのMisskeyについての機能追加は終了しています。<br>
|
||||
</div>
|
||||
<br><br>
|
||||
|
@ -640,29 +642,31 @@ var tlid=0;
|
|||
<div class="waves-effect" onclick="listMenu()" id="listMenu"><i class="material-icons">view_headline</i><span>List</span></div>
|
||||
<div class="waves-effect" onclick="filterMenu()" id="filterMenu"><i class="material-icons">filter_list</i><span>Filter</span></div>
|
||||
<div class="waves-effect" onclick="help()"><i class="material-icons">help_outline</i><span>Help</span></div>
|
||||
<div class="waves-effect" onclick="about()"><i class="material-icons">info</i><span>About TheDesk</span></div>
|
||||
</div>
|
||||
<div id="right-menu">
|
||||
<!--カラム追加-->
|
||||
<div id="add-box" class="hide menu-content">
|
||||
<div class="input-field"><span data-trans="your_acct">Select an account</span>
|
||||
<div class="input-field"><span data-trans="your_acct">Account(Scroll to show all)</span>
|
||||
<br>
|
||||
<select id="add-acct-sel" class="acct-sel" style="color:black" onchange="addselCk()"></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<div class="input-field">
|
||||
<div id="auth">
|
||||
<select id="type-sel" style="color:black">
|
||||
<option value="local" data-trans="local">Local</option>
|
||||
<option value="local-media" data-trans="local-media">Local(Media)</option>
|
||||
<option value="home" data-trans="home">Home</option>
|
||||
<option value="pub" data-trans="public">Federated</option>
|
||||
<option value="pub-media" data-trans="public-media">Federated(Media)</option>
|
||||
<option value="dm" data-trans="dm">Direct Message</option>
|
||||
<option value="mix" data-trans="integrated">Integrated(Local and Home)</option>
|
||||
<option value="plus" data-trans="plus">Integrated(Local and replies and BT on Home)</option>
|
||||
<option value="notf" data-trans="notification">Notifications</option>
|
||||
</select>
|
||||
<label data-trans="show_tl">Show this TL:</label>
|
||||
<input type="hidden" value="local" id="type-sel">
|
||||
Show this TL:
|
||||
<div id="tltype">
|
||||
<div class="type waves-effect active" data-type="local"><div><i class="material-icons">people_outline</i></div><span>Local</span></div>
|
||||
<div class="type waves-effect" data-type="local-media"><div><i class="material-icons">people_outline</i><i class="material-icons sub-icon">perm_media</i></div><span>Local(Media)</span></div>
|
||||
<div class="type waves-effect" data-type="home"><div><i class="material-icons">home</i></div><span>Home</span></div>
|
||||
<div class="type waves-effect" data-type="pub"><div><i class="material-icons">language</i></div><span>Federated</span></div>
|
||||
<div class="type waves-effect" data-type="pub-media"><div><i class="material-icons">language</i><i class="material-icons sub-icon">perm_media</i></div><span>Federated(Media)</span></div>
|
||||
<div class="type waves-effect" data-type="dm"><div><i class="material-icons">mail_outline</i></div><span>Direct Message</span></div>
|
||||
<div class="type waves-effect" data-type="mix"><div><i class="material-icons">merge_type</i></div><span>Integrated(Local/Home)</span></div>
|
||||
<div class="type waves-effect" data-type="plus"><div><i class="material-icons">merge_type</i><i class="material-icons sub-icon">reply</i></div><span>LTL+Reply+BT</span></div>
|
||||
<div class="type waves-effect" data-type="notf"><div><i class="material-icons">notifications</i></div><span>Notifications</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="noauth" class="hide">Show this TL:
|
||||
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
|
||||
|
@ -708,7 +712,7 @@ var tlid=0;
|
|||
<div id="list-box" class="hide menu-content">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="list-acct-sel" class="acct-sel"></select>
|
||||
<label>Select an account</label>
|
||||
<label>Account(Scroll to show all)</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="list()" data-trans-i="lists">
|
||||
|
@ -725,7 +729,7 @@ var tlid=0;
|
|||
<div id="filter-box" class="hide menu-content">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="filter-acct-sel" class="acct-sel"></select>
|
||||
<label>Select an account</label>
|
||||
<label>Account(Scroll to show all)</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="filter()" data-trans-i="filters">
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
<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">
|
||||
|
@ -39,30 +41,31 @@
|
|||
<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>
|
||||
<br>
|
||||
<h5>Popup notification(on Windows)</h5>Hide to set "0"
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="popup">sec
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Native notification</h5>
|
||||
This does not work on Windows Portable ver.<br><a onclick="notftest()" class="pointer">Notification test</a>
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_yes" value="yes" />
|
||||
<label for="ntf_yes">Yes</label>
|
||||
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_no" value="no" />
|
||||
<label for="ntf_no">No</label>
|
||||
<br>
|
||||
<h5>Minimum width of columns</h5>Scroll bar will be shown when your window size is more than ammounts of columns.
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="width">pxabove
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Minimum width of TweetDeck browser</h5>
|
||||
<input type="text" style="width:50px" id="fixwidth">pxabove
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Font</h5>
|
||||
<div id="envView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
{{item.text.desc}}<br>
|
||||
<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>
|
||||
</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>
|
||||
|
@ -70,23 +73,10 @@
|
|||
<input type="text" style="width:150px" id="font">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Font size</h5>
|
||||
<span style="font-size:15px">15px(absolute value)</span>
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="size">px
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button><br>
|
||||
<h5>Folder to save</h5>
|
||||
<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>
|
||||
<h5>Disable hardware acceleration</h5>
|
||||
Auto restarted
|
||||
<br>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_true" value="true" />
|
||||
<label for="ha_true">Yes</label>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_false" value="false" />
|
||||
<label for="ha_false">No</label>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -160,101 +150,29 @@
|
|||
<i class="material-icons">reorder</i>Timeline Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Time format</h5>Relative format:"1 minutes ago","3 days ago"
|
||||
<br>Absolute format:"23:25:21","2017/12/30 23:59:00"
|
||||
<br>Mixed format:toots posted today are relative-format, others are absolute-format.
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" onchange="settings()" name="time" type="radio" id="relative" value="relative" />
|
||||
<label for="relative">Relative</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="absolute" value="absolute" />
|
||||
<label for="absolute">Absolute</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="double" value="double" />
|
||||
<label for="double">Both relative and absolute</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="medium" value="medium" />
|
||||
<label for="medium">Mixed</label>
|
||||
<h5>Server's unique locale</h5>This value is available on some Japanese servers
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_yes" value="yes" />
|
||||
<label for="ul_yes">Yes</label>
|
||||
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_no" value="no" />
|
||||
<label for="ul_no">No</label>
|
||||
<br>
|
||||
<h5>Hide NSFW pictures</h5>Strong blur effect
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_yes" value="yes" />
|
||||
<label for="n_yes">Yes</label>
|
||||
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_no" value="no" />
|
||||
<label for="n_no">No</label>
|
||||
<br>
|
||||
<h5>Hide CW contents</h5>
|
||||
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_yes" value="yes" />
|
||||
<label for="c_yes">Yes</label>
|
||||
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_no" value="no" />
|
||||
<label for="c_no">No</label>
|
||||
<br>
|
||||
<h5>Reply counter style</h5>
|
||||
<input class="with-gap" onchange="settings()" name="rp" type="radio" id="rp_hidden" value="hidden" />
|
||||
<label for="rp_hidden">Show 1+ if the replies are more than 1.</label>
|
||||
<input class="with-gap" onchange="settings()" name="rp" type="radio" id="rp_all" value="all" />
|
||||
<label for="rp_all">Show full count(1,2...)</label>
|
||||
<br>
|
||||
<h5>Animated GIF images animation</h5>
|
||||
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_yes" value="yes" />
|
||||
<label for="g_yes">Yes</label>
|
||||
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_no" value="no" />
|
||||
<label for="g_no">No</label>
|
||||
<br>
|
||||
<h5>Tag TL Search</h5>
|
||||
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_all" value="all" />
|
||||
<label for="t_all">Use federated network</label>
|
||||
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_local" value="local" />
|
||||
<label for="t_local">Use local network</label>
|
||||
<br>
|
||||
<h5>Show via</h5>
|
||||
<input class="with-gap" onchange="settings()" name="via" type="radio" id="via_yes" value="yes" />
|
||||
<label for="via_yes">Yes</label>
|
||||
<input class="with-gap" onchange="settings()" name="via" type="radio" id="via_hide" value="hide" />
|
||||
<label for="via_hide">No</label>
|
||||
<br>
|
||||
<h5>Hide action buttons without mouseover</h5>
|
||||
You may feel 'mouseover' is unconfortable:(<br>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_yes" value="yes" />
|
||||
<label for="mov_yes">Mouseover to show</label>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_click" value="click" />
|
||||
<label for="mov_click">Click to show</label>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_no" value="no" />
|
||||
<label for="mov_no">No</label>
|
||||
<br>
|
||||
<h5>Show Notification marker, red colored bell and counter(if you show a notification column.)</h5>
|
||||
<input class="with-gap" onchange="settings()" name="notfm" type="radio" id="notfm_yes" value="yes" />
|
||||
<label for="notfm_yes">Yes</label>
|
||||
<input class="with-gap" onchange="settings()" name="notfm" type="radio" id="notfm_no" value="no" />
|
||||
<label for="notfm_no">No</label>
|
||||
<br>
|
||||
<h5>Auto folding</h5>
|
||||
TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="sentence">lines above or
|
||||
<input type="text" style="width:50px" id="letters">letters above
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Height of images
|
||||
</h5>
|
||||
<input type="text" style="width:50px" id="img-height">px
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Enable #InstanceTicker</h5>
|
||||
Show colorful stickers about tooters' server. <a href="https://cdn.weep.me/mastodon/">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.<br>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_yes" value="yes" />
|
||||
<label for="ticker_yes">Yes</label>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_no" value="no" />
|
||||
<label for="ticker_no">No</label>
|
||||
<br>
|
||||
<h5>Animation of timelines</h5>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_yes" value="yes" />
|
||||
<label for="anime_yes">Yes</label>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_no" value="no" />
|
||||
<label for="anime_no">No</label>
|
||||
<div id="tlView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
{{item.text.desc}}<br>
|
||||
<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>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -262,90 +180,32 @@
|
|||
<i class="material-icons">send</i>Posting Preferences
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>Default warining text</h5>
|
||||
<input type="text" style="width:150px" id="cw-text">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Alert before posting a long toot.</h5>
|
||||
Show dialog whether you make too-long text hidden.
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="cw_sentence">lines above or
|
||||
<input type="text" style="width:50px" id="cw_letters">letters above
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">Save</button>
|
||||
<br>
|
||||
<h5>Always CW set</h5>
|
||||
<input class="with-gap" onchange="settings()" name="cws" type="radio" id="cws_yes" value="yes" />
|
||||
<label for="cws_yes">Yes</label>
|
||||
<input class="with-gap" onchange="settings()" name="cws" type="radio" id="cws_no" value="no" />
|
||||
<label for="cws_no">No
|
||||
</label>
|
||||
<br>
|
||||
<h5>Default visibility</h5>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="public" value="public" />
|
||||
<label for="public">Public</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="unlisted" value="unlisted" />
|
||||
<label for="unlisted">Unlisted</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="private" value="private" />
|
||||
<label for="private">Private</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="direct" value="direct" />
|
||||
<label for="direct">Direct</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="memory" value="memory" />
|
||||
<label for="memory">Memory(memorized as each server)</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="server" value="server" />
|
||||
<label for="server">Default of your visibility(Set on preferences of Mastodon server)</label>
|
||||
<br>
|
||||
<h5>Posting images preferences</h5>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_url" value="url" />
|
||||
<label for="i_url">Insert media URL</label>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_no-act" value="no-act" />
|
||||
<label for="i_no-act">Insert nothig</label>
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_inline" value="inline" disabled />
|
||||
<label for="i_inline">Disabled
|
||||
<!--画像を投稿し、インラインで表示(Markdownに対応したインスタンスのみ。マルチアカウント環境では非推奨。)-->
|
||||
</label>
|
||||
<br>
|
||||
<h5>Action of posting-box</h5>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_yes" value="yes" />
|
||||
<label for="bx_yes">Folding</label>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_no" value="no" />
|
||||
<label for="bx_no">Open after posting
|
||||
</label>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_abs" value="absolute" />
|
||||
<label for="bx_abs">Absolutely open</label>
|
||||
<br>
|
||||
<h5>Quote format</h5>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_simple" value="simple" />
|
||||
<label for="q_simple">Only URL</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_mention" value="mention" />
|
||||
<label for="q_mention">URL and acct(mention to the user)</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_full" value="full" />
|
||||
<label for="q_full">URL, text and acct(mention to the user)</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_nothing" value="nothing" />
|
||||
<label for="q_nothing">Disabled(Hide buttons on TLs)</label>
|
||||
<br>
|
||||
<h5>Default accounts of actions</h5>
|
||||
Main account can be set on Account Manager.<br>
|
||||
<input class="with-gap" onchange="settings()" name="main" type="radio" id="mn_remain" value="remain" />
|
||||
<label for="mn_remain">Account you used recently</label>
|
||||
<input class="with-gap" onchange="settings()" name="main" type="radio" id="mn_main" value="main" />
|
||||
<label for="mn_main">Main account</label>
|
||||
</label>
|
||||
<h5>Secondary Toot Button</h5>
|
||||
Toot with other visibility setting<br>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-nothing" value="nothing" />
|
||||
<label for="sec-nothing">Hidden</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-public" value="public" />
|
||||
<label for="sec-public">Public</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-unlisted" value="unlisted" />
|
||||
<label for="sec-unlisted">Unlisted</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-private" value="private" />
|
||||
<label for="sec-private">Private</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-direct" value="direct" />
|
||||
<label for="sec-direct">Direct</label>
|
||||
<input class="with-gap hide kirishima" onchange="settings()" name="sec" type="radio" id="sec-local" value="local" />
|
||||
<label for="sec-local">Local Only</label><span class="hide kirishima">非対応インスタンスでは「未収載」になります。</span>
|
||||
<br>
|
||||
<div id="postView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
{{item.text.desc}}<br>
|
||||
<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>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -510,7 +370,6 @@ TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のため
|
|||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/logout.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
|
|
480
app/view/en/setting.vue.js
Normal file
480
app/view/en/setting.vue.js
Normal file
|
@ -0,0 +1,480 @@
|
|||
var yesno=[
|
||||
{
|
||||
text:"Yes",
|
||||
value:"yes"
|
||||
},{
|
||||
text:"No",
|
||||
value:"no"
|
||||
}
|
||||
];
|
||||
var envConstruction=[
|
||||
{
|
||||
id:"popup",
|
||||
storage:"popup",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
setValue:0,
|
||||
width:50,
|
||||
text:{
|
||||
head:"Popup notification(on Windows)",
|
||||
desc:"Hide to set "0"",
|
||||
after:"sec"
|
||||
}
|
||||
},{
|
||||
id:"notf",
|
||||
storage:"nativenotf",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"Native notification",
|
||||
desc:"This does not work on Windows Portable ver.",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"width",
|
||||
storage:"width",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:50,
|
||||
setValue:300,
|
||||
text:{
|
||||
head:"Minimum width of columns",
|
||||
desc:"Scroll bar will be shown when your window size is more than ammounts of columns.",
|
||||
after:"px above"
|
||||
}
|
||||
},{
|
||||
id:"fixwidth",
|
||||
storage:"fixwidth",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
setValue:300,
|
||||
width:50,
|
||||
text:{
|
||||
head:"Minimum width of TweetDeck browser",
|
||||
desc:"",
|
||||
after:"px above"
|
||||
}
|
||||
},{
|
||||
id:"size",
|
||||
storage:"size",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:50,
|
||||
setValue:13,
|
||||
text:{
|
||||
head:"Font size",
|
||||
desc:'<span style="font-size:15px">15px(absolute value)</span>',
|
||||
after:"px"
|
||||
}
|
||||
},{
|
||||
id:"ha",
|
||||
storage:"ha",
|
||||
checkbox:true,
|
||||
setValue:false,
|
||||
text:{
|
||||
head:"Disable hardware acceleration",
|
||||
desc:"Auto restarted",
|
||||
checkbox:[
|
||||
{
|
||||
text:"Yes",
|
||||
value:"true"
|
||||
},{
|
||||
text:"No",
|
||||
value:"false"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
];
|
||||
var tlConstruction=[
|
||||
{
|
||||
id:"time",
|
||||
storage:"datetype",
|
||||
checkbox:true,
|
||||
setValue:"absolute",
|
||||
text:{
|
||||
head:"Time format",
|
||||
desc:'Relative format:"1 minutes ago","3 days ago"<br>Absolute format:"23:25:21","2017/12/30 23:59:00"<br>Mixed format:toots posted today are relative-format, others are absolute-format.',
|
||||
checkbox:[
|
||||
{
|
||||
text:"Relative",
|
||||
value:"relative"
|
||||
},{
|
||||
text:"Absolute",
|
||||
value:"absolute"
|
||||
},{
|
||||
text:"Both relative and absolute",
|
||||
value:"double"
|
||||
},{
|
||||
text:"Mixed",
|
||||
value:"medium"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"ul",
|
||||
storage:"locale",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"Server's unique locale",
|
||||
desc:"This value is available on some Japanese servers",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"nsfw",
|
||||
storage:"nsfw",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"Hide NSFW pictures",
|
||||
desc:"Strong blur effect",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"cw",
|
||||
storage:"cw",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"Hide CW contents",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"rp",
|
||||
storage:"replyct",
|
||||
checkbox:true,
|
||||
setValue:"hidden",
|
||||
text:{
|
||||
head:"Reply counter style",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"Show 1+ if the replies are more than 1.",
|
||||
value:"hidden"
|
||||
},{
|
||||
text:"Show 1+ if the replies are more than 1.",
|
||||
value:"all"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"gif",
|
||||
storage:"gif",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"Animated GIF images animation",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"tag",
|
||||
storage:"tag-range",
|
||||
checkbox:true,
|
||||
setValue:"local",
|
||||
text:{
|
||||
head:"Tag TL Search",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"Use federated network",
|
||||
value:"all"
|
||||
},{
|
||||
text:"Use local network",
|
||||
value:"local"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"via",
|
||||
storage:"viashow",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"Show via",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"mov",
|
||||
storage:"mouseover",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"Hide action buttons without mouseover",
|
||||
desc:"You may feel 'mouseover' is unconfortable:(",
|
||||
checkbox:[
|
||||
{
|
||||
text:"Mouseover to show",
|
||||
value:"yes"
|
||||
},{
|
||||
text:"Click to show",
|
||||
value:"click"
|
||||
},{
|
||||
text:"No",
|
||||
value:"no"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"notfm",
|
||||
storage:"setasread",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"Show Notification marker, red colored bell and counter(if you show a notification column.)",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
checkbox:false,
|
||||
doubleText:true,
|
||||
data:[
|
||||
{
|
||||
id:"sentence",
|
||||
storage:"sentence",
|
||||
width:50,
|
||||
setValue:500,
|
||||
text:{after:"lines above or"}
|
||||
},{
|
||||
id:"letters",
|
||||
storage:"letters",
|
||||
width:50,
|
||||
setValue:7000,
|
||||
text:{after:"letters above"}
|
||||
}
|
||||
],
|
||||
text:{
|
||||
head:"Auto folding",
|
||||
desc:"TheDesk does not collapse totes of 5 characters or less. Also, when collapsing, newlines are not shown. TheDesk count only newlines as the number of lines.",
|
||||
}
|
||||
},{
|
||||
id:"img-height",
|
||||
storage:"img-height",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:80,
|
||||
setValue:200,
|
||||
text:{
|
||||
head:"Height of images",
|
||||
desc:"",
|
||||
after:"px"
|
||||
}
|
||||
},{
|
||||
id:"ticker",
|
||||
storage:"ticker_ok",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"Enable #InstanceTicker",
|
||||
desc:'Show colorful stickers about tooters' server. <a href="https://cdn.weep.me/mastodon/">About #InstanceTicker</a> Copyright 2018 weepjp, kyori19.',
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"anime",
|
||||
storage:"animation",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"Animation of timelines",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
}
|
||||
];
|
||||
var postConstruction=[
|
||||
{
|
||||
id:"cw-text",
|
||||
storage:"cw-text",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:150,
|
||||
setValue:"",
|
||||
text:{
|
||||
head:"Default warining text",
|
||||
desc:"",
|
||||
after:""
|
||||
}
|
||||
},{
|
||||
checkbox:false,
|
||||
doubleText:true,
|
||||
data:[
|
||||
{
|
||||
id:"cw_sentence",
|
||||
storage:"cw_sentence",
|
||||
width:50,
|
||||
setValue:500,
|
||||
text:{after:"lines above or"}
|
||||
},{
|
||||
id:"cw_letters",
|
||||
storage:"cw_letters",
|
||||
width:50,
|
||||
setValue:7000,
|
||||
text:{after:"letters above"}
|
||||
}
|
||||
],
|
||||
text:{
|
||||
head:"Alert before posting a long toot.",
|
||||
desc:"Show dialog whether you make too-long text hidden.",
|
||||
}
|
||||
},{
|
||||
id:"cws",
|
||||
storage:"always-cw",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"Always CW set",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"vis",
|
||||
storage:"vis",
|
||||
checkbox:true,
|
||||
setValue:"public",
|
||||
text:{
|
||||
head:"Default visibility",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"Public",
|
||||
value:"public"
|
||||
},{
|
||||
text:"Unlisted",
|
||||
value:"unlisted"
|
||||
},{
|
||||
text:"Private",
|
||||
value:"private"
|
||||
},{
|
||||
text:"Direct",
|
||||
value:"direct"
|
||||
},{
|
||||
text:"Memory(memorized as each server)",
|
||||
value:"memory"
|
||||
},{
|
||||
text:"Default of your visibility(Set on preferences of Mastodon server)",
|
||||
value:"useapi"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"img",
|
||||
storage:"img",
|
||||
checkbox:true,
|
||||
setValue:"no-act",
|
||||
text:{
|
||||
head:"Posting images preferences",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"Insert media URL",
|
||||
value:"url"
|
||||
},{
|
||||
text:"Insert nothig",
|
||||
value:"no-act"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"box",
|
||||
storage:"box",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"Action of posting-box",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"Folding",
|
||||
value:"yes"
|
||||
},{
|
||||
text:"Open after posting",
|
||||
value:"no"
|
||||
},{
|
||||
text:"Absolutely open",
|
||||
value:"absolute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"quote",
|
||||
storage:"quote",
|
||||
checkbox:true,
|
||||
setValue:"nothing",
|
||||
text:{
|
||||
head:"Quote format",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"Only URL",
|
||||
value:"simple"
|
||||
},{
|
||||
text:"URL and acct(mention to the user)",
|
||||
value:"mention"
|
||||
},{
|
||||
text:"URL, text and acct(mention to the user)",
|
||||
value:"full"
|
||||
},{
|
||||
text:"Disabled(Hide buttons on TLs)",
|
||||
value:"nothing"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"main",
|
||||
storage:"mainuse",
|
||||
checkbox:true,
|
||||
setValue:"remain",
|
||||
text:{
|
||||
head:"Default accounts of actions",
|
||||
desc:"Main account can be set on Account Manager.",
|
||||
checkbox:[
|
||||
{
|
||||
text:"Account you used recently",
|
||||
value:"remain"
|
||||
},{
|
||||
text:"Main account",
|
||||
value:"main"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"sec",
|
||||
storage:"sec",
|
||||
checkbox:true,
|
||||
setValue:"public",
|
||||
text:{
|
||||
head:"Secondary Toot Button",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"Hidden",
|
||||
value:"nothing"
|
||||
},{
|
||||
text:"Public",
|
||||
value:"public"
|
||||
},{
|
||||
text:"Unlisted",
|
||||
value:"unlisted"
|
||||
},{
|
||||
text:"Private",
|
||||
value:"private"
|
||||
},{
|
||||
text:"Direct",
|
||||
value:"direct"
|
||||
},{
|
||||
text:"Local Only",
|
||||
value:"local",
|
||||
kirishima:true,
|
||||
kirishimaText:"非対応インスタンスでは「未収載」になります。"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
|
@ -32,15 +32,14 @@
|
|||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver="Miria (17.3.0)";
|
||||
var ver="Usamin (18.0.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
//WinstoreではバージョンCK・言語・Misskeyトークンの機能が排除
|
||||
var winstore=false;
|
||||
var acct_id=0;
|
||||
var tlid=0;
|
||||
verck(ver,winstore);
|
||||
verck(ver);
|
||||
</script>
|
||||
<textarea id="copy" style="top:-100px; position:fixed;"></textarea>
|
||||
<div id="tl">
|
||||
|
@ -582,19 +581,22 @@ var tlid=0;
|
|||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Miria_17-2-1" class="release-do" style="display:none; ">
|
||||
<div id="release-Usamin_18-0-0" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Miria (17.2.1)</h5>
|
||||
多くの機能を「メニュー」に集約。結局何のボタンかわからないアイコンの羅列から解放。<br>
|
||||
Alt+Enterでセカンダリートゥートボタン<br>
|
||||
引用ボタンを表示しない設定(引用形式設定を「使用しない」)<br>
|
||||
実況機能をまともに書き直した。<br>
|
||||
サジェストをトゥートボックスの右に<br>
|
||||
ハードウェアアクセラレーションを無効化するオプション。(設定の表示などが乱れるときに設定)<br>
|
||||
返信時に「@」が複数含まれない仕様を訂正<br>
|
||||
<h5>Release Note Usamin (18.0.0)</h5>
|
||||
・多くの機能を「メニュー」に集約。結局何のボタンかわからないアイコンの羅列から解放。<br>
|
||||
・Alt+Enterでセカンダリートゥートボタン<br>
|
||||
・引用ボタンを表示しない設定(引用形式設定を「使用しない」)<br>
|
||||
・実況機能をまともに書き直した。<br>
|
||||
・サジェストをトゥートボックスの右に<br>
|
||||
・ハードウェアアクセラレーションを無効化するオプション。(設定の表示などが乱れるときに設定)<br>
|
||||
・返信時に「@」が複数含まれない仕様を訂正<br>
|
||||
・一部のデフォルト値を修正。<br>
|
||||
・設定のエクスポート(バックアップ)がバージョン2に。ほとんどの設定をエクスポートします。<br>
|
||||
・イメージビューワーの修正<br>
|
||||
<img class="emoji" draggable="false" alt="⚠" src="https://twemoji.maxcdn.com/2/72x72/26a0.png">TheDeskのMisskeyについての機能追加は終了しています。<br>
|
||||
</div>
|
||||
<br><br>
|
||||
|
@ -640,29 +642,31 @@ var tlid=0;
|
|||
<div class="waves-effect" onclick="listMenu()" id="listMenu"><i class="material-icons">view_headline</i><span>リスト</span></div>
|
||||
<div class="waves-effect" onclick="filterMenu()" id="filterMenu"><i class="material-icons">filter_list</i><span>フィルター</span></div>
|
||||
<div class="waves-effect" onclick="help()"><i class="material-icons">help_outline</i><span>ヘルプ</span></div>
|
||||
<div class="waves-effect" onclick="about()"><i class="material-icons">info</i><span>このソフトについて</span></div>
|
||||
</div>
|
||||
<div id="right-menu">
|
||||
<!--カラム追加-->
|
||||
<div id="add-box" class="hide menu-content">
|
||||
<div class="input-field"><span data-trans="your_acct">アカウントを選択</span>
|
||||
<div class="input-field"><span data-trans="your_acct">選択(スクロールで全選択肢表示)</span>
|
||||
<br>
|
||||
<select id="add-acct-sel" class="acct-sel" style="color:black" onchange="addselCk()"></select>
|
||||
<label></label>
|
||||
</div>
|
||||
<div class="input-field">
|
||||
<div id="auth">
|
||||
<select id="type-sel" style="color:black">
|
||||
<option value="local" data-trans="local">ローカル</option>
|
||||
<option value="local-media" data-trans="local-media">ローカル(メディア)</option>
|
||||
<option value="home" data-trans="home">ホーム</option>
|
||||
<option value="pub" data-trans="public">連合</option>
|
||||
<option value="pub-media" data-trans="public-media">連合(メディア)</option>
|
||||
<option value="dm" data-trans="dm">ダイレクトメッセージ</option>
|
||||
<option value="mix" data-trans="integrated">統合(ローカルとホーム)</option>
|
||||
<option value="plus" data-trans="plus">統合(ローカルとブースト・リプライ)</option>
|
||||
<option value="notf" data-trans="notification">通知</option>
|
||||
</select>
|
||||
<label data-trans="show_tl">表示するタイムライン</label>
|
||||
<input type="hidden" value="local" id="type-sel">
|
||||
表示するタイムライン
|
||||
<div id="tltype">
|
||||
<div class="type waves-effect active" data-type="local"><div><i class="material-icons">people_outline</i></div><span>ローカル</span></div>
|
||||
<div class="type waves-effect" data-type="local-media"><div><i class="material-icons">people_outline</i><i class="material-icons sub-icon">perm_media</i></div><span>ローカル(メディア)</span></div>
|
||||
<div class="type waves-effect" data-type="home"><div><i class="material-icons">home</i></div><span>ホーム</span></div>
|
||||
<div class="type waves-effect" data-type="pub"><div><i class="material-icons">language</i></div><span>連合</span></div>
|
||||
<div class="type waves-effect" data-type="pub-media"><div><i class="material-icons">language</i><i class="material-icons sub-icon">perm_media</i></div><span>連合(メディア)</span></div>
|
||||
<div class="type waves-effect" data-type="dm"><div><i class="material-icons">mail_outline</i></div><span>ダイレクトメッセージ</span></div>
|
||||
<div class="type waves-effect" data-type="mix"><div><i class="material-icons">merge_type</i></div><span>統合(ローカルとホーム)</span></div>
|
||||
<div class="type waves-effect" data-type="plus"><div><i class="material-icons">merge_type</i><i class="material-icons sub-icon">reply</i></div><span>統合(LTL+BT+返信)</span></div>
|
||||
<div class="type waves-effect" data-type="notf"><div><i class="material-icons">notifications</i></div><span>通知</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="noauth" class="hide">表示するタイムライン
|
||||
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
|
||||
|
@ -708,7 +712,7 @@ var tlid=0;
|
|||
<div id="list-box" class="hide menu-content">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="list-acct-sel" class="acct-sel"></select>
|
||||
<label>アカウントを選択</label>
|
||||
<label>選択(スクロールで全選択肢表示)</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="list()" data-trans-i="lists">
|
||||
|
@ -725,7 +729,7 @@ var tlid=0;
|
|||
<div id="filter-box" class="hide menu-content">
|
||||
<div class="input-field" style="width:calc( 100% - 100px);float:left">
|
||||
<select id="filter-acct-sel" class="acct-sel"></select>
|
||||
<label>アカウントを選択</label>
|
||||
<label>選択(スクロールで全選択肢表示)</label>
|
||||
</div>
|
||||
<div style="float:left; padding-top:8px; padding-bottom:28px;">
|
||||
<button class="btn waves-effect indigo" style="width:80px;" onclick="filter()" data-trans-i="filters">
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
<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">
|
||||
|
@ -39,30 +41,31 @@
|
|||
<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>
|
||||
<br>
|
||||
<h5>新規通知のポップアップお知らせの表示秒数</h5>0に設定すると表示されません
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="popup">秒
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>ネイティブ通知設定</h5>
|
||||
Portableバージョンでは表示できません。<br><a onclick="notftest()" class="pointer">通知テスト</a>
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_yes" value="yes" />
|
||||
<label for="ntf_yes">はい</label>
|
||||
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_no" value="no" />
|
||||
<label for="ntf_no">いいえ</label>
|
||||
<br>
|
||||
<h5>マルチカラムの最低横幅</h5>画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="width">px以上
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>TweetDeckの限定の最低横幅</h5>
|
||||
<input type="text" style="width:50px" id="fixwidth">px以上
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>フォント</h5>
|
||||
<div id="envView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
{{item.text.desc}}<br>
|
||||
<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>
|
||||
</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>
|
||||
|
@ -70,23 +73,10 @@
|
|||
<input type="text" style="width:150px" id="font">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>フォントサイズ</h5>
|
||||
<span style="font-size:15px">15px(絶対指定)</span>
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="size">px
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button><br>
|
||||
<h5>デフォルトの保存先</h5>
|
||||
<h5>デフォルトの保存先</h5>
|
||||
画像ダウンロードやスクリーンショットに影響します。<br>
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">変更</button>
|
||||
<br>
|
||||
<h5>ハードウェアアクセラレーションの無効化</h5>
|
||||
表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。
|
||||
<br>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_true" value="true" />
|
||||
<label for="ha_true">はい</label>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_false" value="false" />
|
||||
<label for="ha_false">いいえ</label>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -160,101 +150,29 @@
|
|||
<i class="material-icons">reorder</i>タイムラインの設定
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>時間表記設定</h5>相対時間の例:"1分前","3日前"
|
||||
<br>絶対時間の例"23:25:21","2017年12月30日 23:59:00"
|
||||
<br>混合表示は、当日のトゥートのみ相対、それ以外は絶対で表示
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" onchange="settings()" name="time" type="radio" id="relative" value="relative" />
|
||||
<label for="relative">相対時間</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="absolute" value="absolute" />
|
||||
<label for="absolute">絶対時間</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="double" value="double" />
|
||||
<label for="double">両方表示</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="medium" value="medium" />
|
||||
<label for="medium">混合表示</label>
|
||||
<h5>独自ロケールを使用</h5>対応サーバーではそのサーバーにあわせた言語表示ができます。
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_yes" value="yes" />
|
||||
<label for="ul_yes">はい</label>
|
||||
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_no" value="no" />
|
||||
<label for="ul_no">いいえ</label>
|
||||
<br>
|
||||
<h5>非表示設定の画像(NSFW)を隠す</h5>きつめのぼかしがかかります。
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_yes" value="yes" />
|
||||
<label for="n_yes">はい</label>
|
||||
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_no" value="no" />
|
||||
<label for="n_no">いいえ</label>
|
||||
<br>
|
||||
<h5>非表示設定のテキスト(CW)を隠す</h5>
|
||||
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_yes" value="yes" />
|
||||
<label for="c_yes">はい</label>
|
||||
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_no" value="no" />
|
||||
<label for="c_no">いいえ</label>
|
||||
<br>
|
||||
<h5>リプライ数表示</h5>
|
||||
<input class="with-gap" onchange="settings()" name="rp" type="radio" id="rp_hidden" value="hidden" />
|
||||
<label for="rp_hidden">2以上のとき1+と表示</label>
|
||||
<input class="with-gap" onchange="settings()" name="rp" type="radio" id="rp_all" value="all" />
|
||||
<label for="rp_all">完全に表示</label>
|
||||
<br>
|
||||
<h5>アイコンのアニメーションを再生する</h5>
|
||||
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_yes" value="yes" />
|
||||
<label for="g_yes">はい</label>
|
||||
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_no" value="no" />
|
||||
<label for="g_no">いいえ</label>
|
||||
<br>
|
||||
<h5>タグタイムラインの表示範囲</h5>
|
||||
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_all" value="all" />
|
||||
<label for="t_all">接続しているサーバー</label>
|
||||
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_local" value="local" />
|
||||
<label for="t_local">検索対象のサーバーのみ</label>
|
||||
<br>
|
||||
<h5>viaを表示する</h5>
|
||||
<input class="with-gap" onchange="settings()" name="via" type="radio" id="via_yes" value="yes" />
|
||||
<label for="via_yes">はい</label>
|
||||
<input class="with-gap" onchange="settings()" name="via" type="radio" id="via_hide" value="hide" />
|
||||
<label for="via_hide">いいえ</label>
|
||||
<br>
|
||||
<h5>アクションメニューを非表示</h5>
|
||||
「マウスオーバー」はすこし鬱陶しいと思うかもしれません。<br>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_yes" value="yes" />
|
||||
<label for="mov_yes">マウスオーバーで表示</label>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_click" value="click" />
|
||||
<label for="mov_click">クリックで表示</label>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_no" value="no" />
|
||||
<label for="mov_no">いいえ</label>
|
||||
<br>
|
||||
<h5>通知を開いているとき、通知新着お知らせを表示する</h5>
|
||||
<input class="with-gap" onchange="settings()" name="notfm" type="radio" id="notfm_yes" value="yes" />
|
||||
<label for="notfm_yes">はい</label>
|
||||
<input class="with-gap" onchange="settings()" name="notfm" type="radio" id="notfm_no" value="no" />
|
||||
<label for="notfm_no">いいえ</label>
|
||||
<br>
|
||||
<h5>指定行数以上を折りたたむ</h5>
|
||||
5文字以下のトゥートは折りたたみません。また、折りたたみ時は改行が描画されません。改行のみを行数とカウントします。
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="sentence">行 以上 または
|
||||
<input type="text" style="width:50px" id="letters">文字 以上
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>画像の高さ
|
||||
</h5>
|
||||
<input type="text" style="width:50px" id="img-height">px
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>#InstanceTickerを使う</h5>
|
||||
トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href="https://cdn.weep.me/mastodon/">#InstanceTickerについて</a> Copyright 2018 weepjp, kyori19.<br>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_yes" value="yes" />
|
||||
<label for="ticker_yes">はい</label>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_no" value="no" />
|
||||
<label for="ticker_no">いいえ</label>
|
||||
<br>
|
||||
<h5>タイムラインのアニメーション</h5>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_yes" value="yes" />
|
||||
<label for="anime_yes">はい</label>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_no" value="no" />
|
||||
<label for="anime_no">いいえ</label>
|
||||
<div id="tlView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
{{item.text.desc}}<br>
|
||||
<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>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -262,90 +180,32 @@
|
|||
<i class="material-icons">send</i>投稿設定
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>デフォルトの警告文</h5>
|
||||
<input type="text" style="width:150px" id="cw-text">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>長文投稿時に警告</h5>
|
||||
下で指定した以上のトゥートを投稿するときにCWするかのダイアログを表示します。
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="cw_sentence">行 以上 または
|
||||
<input type="text" style="width:50px" id="cw_letters">文字 以上
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">設定</button>
|
||||
<br>
|
||||
<h5>標準でCWを設定</h5>
|
||||
<input class="with-gap" onchange="settings()" name="cws" type="radio" id="cws_yes" value="yes" />
|
||||
<label for="cws_yes">はい</label>
|
||||
<input class="with-gap" onchange="settings()" name="cws" type="radio" id="cws_no" value="no" />
|
||||
<label for="cws_no">いいえ
|
||||
</label>
|
||||
<br>
|
||||
<h5>デフォルトの公開設定</h5>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="public" value="public" />
|
||||
<label for="public">公開(Public)</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="unlisted" value="unlisted" />
|
||||
<label for="unlisted">未収載(Unlisted)</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="private" value="private" />
|
||||
<label for="private">非公開(Private)</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="direct" value="direct" />
|
||||
<label for="direct">ダイレクト(Direct)</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="memory" value="memory" />
|
||||
<label for="memory">前回の投稿設定を記憶する(サーバーごとに記憶されます)</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="server" value="server" />
|
||||
<label for="server">マストドンアカウント設定の既定値</label>
|
||||
<br>
|
||||
<h5>画像投稿設定</h5>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_url" value="url" />
|
||||
<label for="i_url">画像を投稿し、画像のURLを最後に表示</label>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_no-act" value="no-act" />
|
||||
<label for="i_no-act">画像を投稿するがURLは表示しない</label>
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_inline" value="inline" disabled />
|
||||
<label for="i_inline">現在利用できません。
|
||||
<!--画像を投稿し、インラインで表示(Markdownに対応したインスタンスのみ。マルチアカウント環境では非推奨。)-->
|
||||
</label>
|
||||
<br>
|
||||
<h5>投稿ボックスの挙動</h5>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_yes" value="yes" />
|
||||
<label for="bx_yes">たたむ</label>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_no" value="no" />
|
||||
<label for="bx_no">投稿後も隠さない
|
||||
</label>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_abs" value="absolute" />
|
||||
<label for="bx_abs">枠外クリックで閉じない(起動時に展開)</label>
|
||||
<br>
|
||||
<h5>引用形式</h5>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_simple" value="simple" />
|
||||
<label for="q_simple">URLのみ</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_mention" value="mention" />
|
||||
<label for="q_mention">URLとアカウント名(相手に通知)</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_full" value="full" />
|
||||
<label for="q_full">本文・URL・アカウント名</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_nothing" value="nothing" />
|
||||
<label for="q_nothing">使わない(TL上にボタンも表示されません)</label>
|
||||
<br>
|
||||
<h5>投稿後や起動時のアカウント</h5>
|
||||
メインアカウントはアカウント設定で指定できます。投稿以外のアカウント選択にも影響します。<br>
|
||||
<input class="with-gap" onchange="settings()" name="main" type="radio" id="mn_remain" value="remain" />
|
||||
<label for="mn_remain">最後に使用したアカウント</label>
|
||||
<input class="with-gap" onchange="settings()" name="main" type="radio" id="mn_main" value="main" />
|
||||
<label for="mn_main">メインアカウント</label>
|
||||
</label>
|
||||
<h5>セカンダリートゥートボタン</h5>
|
||||
公開範囲の変更とトゥートを一発でできます。<br>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-nothing" value="nothing" />
|
||||
<label for="sec-nothing">表示しない</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-public" value="public" />
|
||||
<label for="sec-public">公開(Public)</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-unlisted" value="unlisted" />
|
||||
<label for="sec-unlisted">未収載(Unlisted)</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-private" value="private" />
|
||||
<label for="sec-private">非公開(Private)</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-direct" value="direct" />
|
||||
<label for="sec-direct">ダイレクト(Direct)</label>
|
||||
<input class="with-gap hide kirishima" onchange="settings()" name="sec" type="radio" id="sec-local" value="local" />
|
||||
<label for="sec-local">ローカル限定</label><span class="hide kirishima">非対応インスタンスでは「未収載」になります。</span>
|
||||
<br>
|
||||
<div id="postView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
{{item.text.desc}}<br>
|
||||
<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>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -510,7 +370,6 @@ TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のため
|
|||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/logout.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
|
|
480
app/view/ja/setting.vue.js
Normal file
480
app/view/ja/setting.vue.js
Normal file
|
@ -0,0 +1,480 @@
|
|||
var yesno=[
|
||||
{
|
||||
text:"はい",
|
||||
value:"yes"
|
||||
},{
|
||||
text:"いいえ",
|
||||
value:"no"
|
||||
}
|
||||
];
|
||||
var envConstruction=[
|
||||
{
|
||||
id:"popup",
|
||||
storage:"popup",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
setValue:0,
|
||||
width:50,
|
||||
text:{
|
||||
head:"新規通知のポップアップお知らせの表示秒数",
|
||||
desc:"0に設定すると表示されません",
|
||||
after:"秒"
|
||||
}
|
||||
},{
|
||||
id:"notf",
|
||||
storage:"nativenotf",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"ネイティブ通知設定",
|
||||
desc:"Portableバージョンでは表示できません。",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"width",
|
||||
storage:"width",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:50,
|
||||
setValue:300,
|
||||
text:{
|
||||
head:"マルチカラムの最低横幅",
|
||||
desc:"画面全体の横幅÷コラム数がこの値を超えた時、横スクロールとなります。",
|
||||
after:"px 以上"
|
||||
}
|
||||
},{
|
||||
id:"fixwidth",
|
||||
storage:"fixwidth",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
setValue:300,
|
||||
width:50,
|
||||
text:{
|
||||
head:"TweetDeckの限定の最低横幅",
|
||||
desc:"",
|
||||
after:"px 以上"
|
||||
}
|
||||
},{
|
||||
id:"size",
|
||||
storage:"size",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:50,
|
||||
setValue:13,
|
||||
text:{
|
||||
head:"フォントサイズ",
|
||||
desc:'<span style="font-size:15px">15px(絶対指定)</span>',
|
||||
after:"px"
|
||||
}
|
||||
},{
|
||||
id:"ha",
|
||||
storage:"ha",
|
||||
checkbox:true,
|
||||
setValue:false,
|
||||
text:{
|
||||
head:"ハードウェアアクセラレーションの無効化",
|
||||
desc:"表示(特に設定画面)が乱れる場合に「はい」を選択してください。自動で再起動します。",
|
||||
checkbox:[
|
||||
{
|
||||
text:"はい",
|
||||
value:"true"
|
||||
},{
|
||||
text:"いいえ",
|
||||
value:"false"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
];
|
||||
var tlConstruction=[
|
||||
{
|
||||
id:"time",
|
||||
storage:"datetype",
|
||||
checkbox:true,
|
||||
setValue:"absolute",
|
||||
text:{
|
||||
head:"時間表記設定",
|
||||
desc:'相対時間の例:"1分前","3日前"<br>絶対時間の例"23:25:21","2017年12月30日 23:59:00"<br>混合表示は、当日のトゥートのみ相対、それ以外は絶対で表示 ',
|
||||
checkbox:[
|
||||
{
|
||||
text:"相対時間",
|
||||
value:"relative"
|
||||
},{
|
||||
text:"絶対時間",
|
||||
value:"absolute"
|
||||
},{
|
||||
text:"両方表示",
|
||||
value:"double"
|
||||
},{
|
||||
text:"混合表示",
|
||||
value:"medium"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"ul",
|
||||
storage:"locale",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"独自ロケールを使用",
|
||||
desc:"対応サーバーではそのサーバーにあわせた言語表示ができます。",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"nsfw",
|
||||
storage:"nsfw",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"非表示設定の画像(NSFW)を隠す",
|
||||
desc:"きつめのぼかしがかかります。",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"cw",
|
||||
storage:"cw",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"非表示設定のテキスト(CW)を隠す",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"rp",
|
||||
storage:"replyct",
|
||||
checkbox:true,
|
||||
setValue:"hidden",
|
||||
text:{
|
||||
head:"リプライ数表示",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"2以上のとき1+と表示",
|
||||
value:"hidden"
|
||||
},{
|
||||
text:"2以上のとき1+と表示",
|
||||
value:"all"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"gif",
|
||||
storage:"gif",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"アイコンのアニメーションを再生する",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"tag",
|
||||
storage:"tag-range",
|
||||
checkbox:true,
|
||||
setValue:"local",
|
||||
text:{
|
||||
head:"タグタイムラインの表示範囲",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"接続しているサーバー",
|
||||
value:"all"
|
||||
},{
|
||||
text:"検索対象のサーバーのみ",
|
||||
value:"local"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"via",
|
||||
storage:"viashow",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"viaを表示する",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"mov",
|
||||
storage:"mouseover",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"アクションメニューを非表示",
|
||||
desc:"「マウスオーバー」はすこし鬱陶しいと思うかもしれません。",
|
||||
checkbox:[
|
||||
{
|
||||
text:"マウスオーバーで表示",
|
||||
value:"yes"
|
||||
},{
|
||||
text:"クリックで表示",
|
||||
value:"click"
|
||||
},{
|
||||
text:"いいえ",
|
||||
value:"no"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"notfm",
|
||||
storage:"setasread",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"通知を開いているとき、通知新着お知らせを表示する",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
checkbox:false,
|
||||
doubleText:true,
|
||||
data:[
|
||||
{
|
||||
id:"sentence",
|
||||
storage:"sentence",
|
||||
width:50,
|
||||
setValue:500,
|
||||
text:{after:"行 以上 または"}
|
||||
},{
|
||||
id:"letters",
|
||||
storage:"letters",
|
||||
width:50,
|
||||
setValue:7000,
|
||||
text:{after:"文字 以上"}
|
||||
}
|
||||
],
|
||||
text:{
|
||||
head:"指定行数以上を折りたたむ",
|
||||
desc:"5文字以下のトゥートは折りたたみません。また、折りたたみ時は改行が描画されません。改行のみを行数とカウントします。",
|
||||
}
|
||||
},{
|
||||
id:"img-height",
|
||||
storage:"img-height",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:80,
|
||||
setValue:200,
|
||||
text:{
|
||||
head:"画像の高さ",
|
||||
desc:"",
|
||||
after:"px"
|
||||
}
|
||||
},{
|
||||
id:"ticker",
|
||||
storage:"ticker_ok",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"#InstanceTickerを使う",
|
||||
desc:'トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href="https://cdn.weep.me/mastodon/">#InstanceTickerについて</a> Copyright 2018 weepjp, kyori19.',
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"anime",
|
||||
storage:"animation",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"タイムラインのアニメーション",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
}
|
||||
];
|
||||
var postConstruction=[
|
||||
{
|
||||
id:"cw-text",
|
||||
storage:"cw-text",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:150,
|
||||
setValue:"",
|
||||
text:{
|
||||
head:"デフォルトの警告文",
|
||||
desc:"",
|
||||
after:""
|
||||
}
|
||||
},{
|
||||
checkbox:false,
|
||||
doubleText:true,
|
||||
data:[
|
||||
{
|
||||
id:"cw_sentence",
|
||||
storage:"cw_sentence",
|
||||
width:50,
|
||||
setValue:500,
|
||||
text:{after:"行 以上 または"}
|
||||
},{
|
||||
id:"cw_letters",
|
||||
storage:"cw_letters",
|
||||
width:50,
|
||||
setValue:7000,
|
||||
text:{after:"文字 以上"}
|
||||
}
|
||||
],
|
||||
text:{
|
||||
head:"長文投稿時に警告",
|
||||
desc:"下で指定した以上のトゥートを投稿するときにCWするかのダイアログを表示します。",
|
||||
}
|
||||
},{
|
||||
id:"cws",
|
||||
storage:"always-cw",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"標準でCWを設定",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"vis",
|
||||
storage:"vis",
|
||||
checkbox:true,
|
||||
setValue:"public",
|
||||
text:{
|
||||
head:"デフォルトの公開設定",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"公開(Public)",
|
||||
value:"public"
|
||||
},{
|
||||
text:"未収載(Unlisted)",
|
||||
value:"unlisted"
|
||||
},{
|
||||
text:"非公開(Private)",
|
||||
value:"private"
|
||||
},{
|
||||
text:"ダイレクト(Direct)",
|
||||
value:"direct"
|
||||
},{
|
||||
text:"前回の投稿設定を記憶する(サーバーごとに記憶されます)",
|
||||
value:"memory"
|
||||
},{
|
||||
text:"マストドンアカウント設定の既定値",
|
||||
value:"useapi"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"img",
|
||||
storage:"img",
|
||||
checkbox:true,
|
||||
setValue:"no-act",
|
||||
text:{
|
||||
head:"画像投稿設定",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"画像を投稿し、画像のURLを最後に表示",
|
||||
value:"url"
|
||||
},{
|
||||
text:"画像を投稿するがURLは表示しない",
|
||||
value:"no-act"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"box",
|
||||
storage:"box",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"投稿ボックスの挙動",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"たたむ",
|
||||
value:"yes"
|
||||
},{
|
||||
text:"投稿後も隠さない",
|
||||
value:"no"
|
||||
},{
|
||||
text:"枠外クリックで閉じない(起動時に展開)",
|
||||
value:"absolute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"quote",
|
||||
storage:"quote",
|
||||
checkbox:true,
|
||||
setValue:"nothing",
|
||||
text:{
|
||||
head:"引用形式",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"URLのみ",
|
||||
value:"simple"
|
||||
},{
|
||||
text:"URLとアカウント名(相手に通知)",
|
||||
value:"mention"
|
||||
},{
|
||||
text:"本文・URL・アカウント名",
|
||||
value:"full"
|
||||
},{
|
||||
text:"使わない(TL上にボタンも表示されません)",
|
||||
value:"nothing"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"main",
|
||||
storage:"mainuse",
|
||||
checkbox:true,
|
||||
setValue:"remain",
|
||||
text:{
|
||||
head:"投稿後や起動時のアカウント",
|
||||
desc:"メインアカウントはアカウント設定で指定できます。投稿以外のアカウント選択にも影響します。",
|
||||
checkbox:[
|
||||
{
|
||||
text:"最後に使用したアカウント",
|
||||
value:"remain"
|
||||
},{
|
||||
text:"メインアカウント",
|
||||
value:"main"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"sec",
|
||||
storage:"sec",
|
||||
checkbox:true,
|
||||
setValue:"public",
|
||||
text:{
|
||||
head:"セカンダリートゥートボタン",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"表示しない",
|
||||
value:"nothing"
|
||||
},{
|
||||
text:"公開(Public)",
|
||||
value:"public"
|
||||
},{
|
||||
text:"未収載(Unlisted)",
|
||||
value:"unlisted"
|
||||
},{
|
||||
text:"非公開(Private)",
|
||||
value:"private"
|
||||
},{
|
||||
text:"ダイレクト(Direct)",
|
||||
value:"direct"
|
||||
},{
|
||||
text:"ローカル限定",
|
||||
value:"local",
|
||||
kirishima:true,
|
||||
kirishimaText:"非対応インスタンスでは「未収載」になります。"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
|
@ -37,10 +37,9 @@ var ver="{{versionLetter}}";
|
|||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
//WinstoreではバージョンCK・言語・Misskeyトークンの機能が排除
|
||||
var winstore=false;
|
||||
var acct_id=0;
|
||||
var tlid=0;
|
||||
verck(ver,winstore);
|
||||
verck(ver);
|
||||
</script>
|
||||
<textarea id="copy" style="top:-100px; position:fixed;"></textarea>
|
||||
<div id="tl">
|
||||
|
@ -582,19 +581,22 @@ var tlid=0;
|
|||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Miria_17-2-1" class="release-do" style="display:none; ">
|
||||
<div id="release-Usamin_18-0-0" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Miria (17.2.1)</h5>
|
||||
多くの機能を「メニュー」に集約。結局何のボタンかわからないアイコンの羅列から解放。<br>
|
||||
Alt+Enterでセカンダリートゥートボタン<br>
|
||||
引用ボタンを表示しない設定(引用形式設定を「使用しない」)<br>
|
||||
実況機能をまともに書き直した。<br>
|
||||
サジェストをトゥートボックスの右に<br>
|
||||
ハードウェアアクセラレーションを無効化するオプション。(設定の表示などが乱れるときに設定)<br>
|
||||
返信時に「@」が複数含まれない仕様を訂正<br>
|
||||
<h5>Release Note Usamin (18.0.0)</h5>
|
||||
・多くの機能を「メニュー」に集約。結局何のボタンかわからないアイコンの羅列から解放。<br>
|
||||
・Alt+Enterでセカンダリートゥートボタン<br>
|
||||
・引用ボタンを表示しない設定(引用形式設定を「使用しない」)<br>
|
||||
・実況機能をまともに書き直した。<br>
|
||||
・サジェストをトゥートボックスの右に<br>
|
||||
・ハードウェアアクセラレーションを無効化するオプション。(設定の表示などが乱れるときに設定)<br>
|
||||
・返信時に「@」が複数含まれない仕様を訂正<br>
|
||||
・一部のデフォルト値を修正。<br>
|
||||
・設定のエクスポート(バックアップ)がバージョン2に。ほとんどの設定をエクスポートします。<br>
|
||||
・イメージビューワーの修正<br>
|
||||
<img class="emoji" draggable="false" alt="⚠" src="https://twemoji.maxcdn.com/2/72x72/26a0.png">TheDeskのMisskeyについての機能追加は終了しています。<br>
|
||||
</div>
|
||||
<br><br>
|
||||
|
@ -640,6 +642,7 @@ var tlid=0;
|
|||
<div class="waves-effect" onclick="listMenu()" id="listMenu"><i class="material-icons">view_headline</i><span>{{list}}</span></div>
|
||||
<div class="waves-effect" onclick="filterMenu()" id="filterMenu"><i class="material-icons">filter_list</i><span>{{filter}}</span></div>
|
||||
<div class="waves-effect" onclick="help()"><i class="material-icons">help_outline</i><span>{{help}}</span></div>
|
||||
<div class="waves-effect" onclick="about()"><i class="material-icons">info</i><span>{{about}}</span></div>
|
||||
</div>
|
||||
<div id="right-menu">
|
||||
<!--カラム追加-->
|
||||
|
@ -651,18 +654,19 @@ var tlid=0;
|
|||
</div>
|
||||
<div class="input-field">
|
||||
<div id="auth">
|
||||
<select id="type-sel" style="color:black">
|
||||
<option value="local" data-trans="local">{{local}}</option>
|
||||
<option value="local-media" data-trans="local-media">{{localMedia}}</option>
|
||||
<option value="home" data-trans="home">{{home}}</option>
|
||||
<option value="pub" data-trans="public">{{fed}}</option>
|
||||
<option value="pub-media" data-trans="public-media">{{fedMedia}}</option>
|
||||
<option value="dm" data-trans="dm">{{dm}}</option>
|
||||
<option value="mix" data-trans="integrated">{{integratedTLDes}}</option>
|
||||
<option value="plus" data-trans="plus">{{localPlusDes}}</option>
|
||||
<option value="notf" data-trans="notification">{{notf}}</option>
|
||||
</select>
|
||||
<label data-trans="show_tl">{{showThisTL}}</label>
|
||||
<input type="hidden" value="local" id="type-sel">
|
||||
{{showThisTL}}
|
||||
<div id="tltype">
|
||||
<div class="type waves-effect active" data-type="local"><div><i class="material-icons">people_outline</i></div><span>{{local}}</span></div>
|
||||
<div class="type waves-effect" data-type="local-media"><div><i class="material-icons">people_outline</i><i class="material-icons sub-icon">perm_media</i></div><span>{{localMedia}}</span></div>
|
||||
<div class="type waves-effect" data-type="home"><div><i class="material-icons">home</i></div><span>{{home}}</span></div>
|
||||
<div class="type waves-effect" data-type="pub"><div><i class="material-icons">language</i></div><span>{{fed}}</span></div>
|
||||
<div class="type waves-effect" data-type="pub-media"><div><i class="material-icons">language</i><i class="material-icons sub-icon">perm_media</i></div><span>{{fedMedia}}</span></div>
|
||||
<div class="type waves-effect" data-type="dm"><div><i class="material-icons">mail_outline</i></div><span>{{dm}}</span></div>
|
||||
<div class="type waves-effect" data-type="mix"><div><i class="material-icons">merge_type</i></div><span>{{integratedTLDes}}</span></div>
|
||||
<div class="type waves-effect" data-type="plus"><div><i class="material-icons">merge_type</i><i class="material-icons sub-icon">reply</i></div><span>{{localPlusDes}}</span></div>
|
||||
<div class="type waves-effect" data-type="notf"><div><i class="material-icons">notifications</i></div><span>{{notf}}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="noauth" class="hide">{{showThisTL}}
|
||||
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
|
||||
|
|
|
@ -115,15 +115,15 @@
|
|||
"fed":"Federated",
|
||||
"fedMedia":"Federated(Media)",
|
||||
"dm":"Direct Message",
|
||||
"integratedTLDes":"Integrated(Local and Home)",
|
||||
"localPlusDes":"Integrated(Local and replies and BT on Home)",
|
||||
"integratedTLDes":"Integrated(Local/Home)",
|
||||
"localPlusDes":"LTL+Reply+BT",
|
||||
"notf":"Notifications",
|
||||
"showThisTL":"Show this TL:",
|
||||
"webviewWarn":"TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.",
|
||||
"add":"Add",
|
||||
"search":"Search",
|
||||
"sortSet":"Sort",
|
||||
"selectAcct":"Select an account",
|
||||
"selectAcct":"Account(Scroll to show all)",
|
||||
"listLocale":"List",
|
||||
"filterWord":"Filtering words",
|
||||
"degree":"Filter contexts",
|
||||
|
@ -154,5 +154,6 @@
|
|||
"clockTips":"Clock",
|
||||
"ramTips":"RAM status",
|
||||
"changeTips":"Change Tips",
|
||||
"help":"Help"
|
||||
"help":"Help",
|
||||
"about":"About TheDesk"
|
||||
}
|
|
@ -116,14 +116,14 @@
|
|||
"fedMedia":"連合(メディア)",
|
||||
"dm":"ダイレクトメッセージ",
|
||||
"integratedTLDes":"統合(ローカルとホーム)",
|
||||
"localPlusDes":"統合(ローカルとブースト・リプライ)",
|
||||
"localPlusDes":"統合(LTL+BT+返信)",
|
||||
"notf":"通知",
|
||||
"showThisTL":"表示するタイムライン",
|
||||
"webviewWarn":"TweetDeckを表示します。TJDeckをカスタムしたものが読み込まれます(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>)。キーボードショートカットが邪魔をするので、文字入力時はカラムの「WebView優先」にチェックを入れてください。",
|
||||
"add":"追加",
|
||||
"search":"検索",
|
||||
"sortSet":"並べ替え設定",
|
||||
"selectAcct":"アカウントを選択",
|
||||
"selectAcct":"選択(スクロールで全選択肢表示)",
|
||||
"filterWord":"フィルターワード",
|
||||
"listLocale":"一覧",
|
||||
"degree":"適応範囲",
|
||||
|
@ -154,5 +154,6 @@
|
|||
"clockTips":"時計",
|
||||
"ramTips":"システムメモリ容量",
|
||||
"changeTips":"Tips変更",
|
||||
"help":"ヘルプ"
|
||||
"help":"ヘルプ",
|
||||
"about":"このソフトについて"
|
||||
}
|
|
@ -1,14 +1,14 @@
|
|||
<!doctype html>
|
||||
<html lang="{{lang}}">
|
||||
<html lang="@@lang@@">
|
||||
<head>
|
||||
<title>Settings - TheDesk</title>
|
||||
{{comment-start}}
|
||||
@@comment-start@@
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
{{comment-end}}
|
||||
@@comment-end@@
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
|
@ -23,78 +23,68 @@
|
|||
<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 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>
|
||||
<h4>@@setting@@</h4>
|
||||
<ul class="collapsible" data-collapsible="accordion">
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">desktop_windows</i>{{env}}
|
||||
<i class="material-icons">desktop_windows</i>@@env@@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{{setlang}}</h5>
|
||||
<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>
|
||||
<br>
|
||||
<h5>{{popup}}</h5>{{popupwarn}}
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="popup">{{s}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{nativenotf}}</h5>
|
||||
{{nnwarn}}<br><a onclick="notftest()" class="pointer">{{nntest}}</a>
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_yes" value="yes" />
|
||||
<label for="ntf_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_no" value="no" />
|
||||
<label for="ntf_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{minwidth}}</h5>{{minwidthwarn}}
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="width">px{{above}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{fixwidth}}</h5>{{fixwidthwarn}}
|
||||
<input type="text" style="width:50px" id="fixwidth">px{{above}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{font}}</h5>
|
||||
{{fontwarn}}<br>
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="font()">{{select}}</button><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>
|
||||
{{item.text.desc}}<br>
|
||||
<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>
|
||||
</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>
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">@@set@@</button>
|
||||
<br>
|
||||
<h5>{{fontsize}}</h5>
|
||||
<span style="font-size:15px">15px({{absolute}})</span>
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="size">px
|
||||
<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>
|
||||
<h5>{{hardwareAcceleration}}</h5>
|
||||
{{hardwareAccelerationWarn}}
|
||||
<br>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_true" value="true" />
|
||||
<label for="ha_true">{{yes}}</label>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_false" value="false" />
|
||||
<label for="ha_false">{{no}}</label>
|
||||
<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}}
|
||||
<i class="material-icons">color_lens</i>@@theme@@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h4>{{themeSel}}</h4>
|
||||
<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" />
|
||||
|
@ -110,289 +100,159 @@
|
|||
<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}}">
|
||||
<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>
|
||||
<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>
|
||||
<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}}
|
||||
<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}}
|
||||
<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}}
|
||||
<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}}
|
||||
<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>
|
||||
<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>
|
||||
@@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>
|
||||
<button class="btn waves-effect" onclick="customImp()">@@import@@</button><br>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">reorder</i>{{timeline}}
|
||||
<i class="material-icons">reorder</i>@@timeline@@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{{timemode}}</h5>{{relativetime}}
|
||||
<br>{{absolutetime}}
|
||||
<br>{{mixtime}}
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" onchange="settings()" name="time" type="radio" id="relative" value="relative" />
|
||||
<label for="relative">{{relativesel}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="absolute" value="absolute" />
|
||||
<label for="absolute">{{absolutesel}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="double" value="double" />
|
||||
<label for="double">{{doublesel}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="medium" value="medium" />
|
||||
<label for="medium">{{mixsel}}</label>
|
||||
<h5>{{locale}}</h5>{{localewarn}}
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_yes" value="yes" />
|
||||
<label for="ul_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_no" value="no" />
|
||||
<label for="ul_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{nswf}}</h5>{{nsfwwarn}}
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_yes" value="yes" />
|
||||
<label for="n_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_no" value="no" />
|
||||
<label for="n_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{cw}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_yes" value="yes" />
|
||||
<label for="c_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_no" value="no" />
|
||||
<label for="c_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{replyct}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="rp" type="radio" id="rp_hidden" value="hidden" />
|
||||
<label for="rp_hidden">{{replyct_hidden}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="rp" type="radio" id="rp_all" value="all" />
|
||||
<label for="rp_all">{{replyct_full}}</label>
|
||||
<br>
|
||||
<h5>{{gif}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_yes" value="yes" />
|
||||
<label for="g_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_no" value="no" />
|
||||
<label for="g_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{tag}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_all" value="all" />
|
||||
<label for="t_all">{{tagfed}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_local" value="local" />
|
||||
<label for="t_local">{{taglocal}}</label>
|
||||
<br>
|
||||
<h5>{{via}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="via" type="radio" id="via_yes" value="yes" />
|
||||
<label for="via_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="via" type="radio" id="via_hide" value="hide" />
|
||||
<label for="via_hide">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{mouseover}}</h5>
|
||||
{{mouseoverwarn}}<br>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_yes" value="yes" />
|
||||
<label for="mov_yes">{{mv}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_click" value="click" />
|
||||
<label for="mov_click">{{mvclick}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_no" value="no" />
|
||||
<label for="mov_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{notfmarker}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="notfm" type="radio" id="notfm_yes" value="yes" />
|
||||
<label for="notfm_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="notfm" type="radio" id="notfm_no" value="no" />
|
||||
<label for="notfm_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{autofold}}</h5>
|
||||
{{autofoldwarn}}
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="sentence">{{lines}} {{above}} {{or}}
|
||||
<input type="text" style="width:50px" id="letters">{{letters}} {{above}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{imgheight}}
|
||||
</h5>
|
||||
<input type="text" style="width:50px" id="img-height">px
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{ticker}}</h5>
|
||||
{{tickerwarn}}<br>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_yes" value="yes" />
|
||||
<label for="ticker_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_no" value="no" />
|
||||
<label for="ticker_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{animation}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_yes" value="yes" />
|
||||
<label for="anime_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_no" value="no" />
|
||||
<label for="anime_no">{{no}}</label>
|
||||
<div id="tlView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
{{item.text.desc}}<br>
|
||||
<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>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">send</i>{{post}}
|
||||
<i class="material-icons">send</i>@@post@@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{{defaultcw}}</h5>
|
||||
<input type="text" style="width:150px" id="cw-text">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{autocw}}</h5>
|
||||
{{autocwwarn}}
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="cw_sentence">{{lines}} {{above}} {{or}}
|
||||
<input type="text" style="width:50px" id="cw_letters">{{letters}} {{above}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{cws}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="cws" type="radio" id="cws_yes" value="yes" />
|
||||
<label for="cws_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="cws" type="radio" id="cws_no" value="no" />
|
||||
<label for="cws_no">{{no}}
|
||||
</label>
|
||||
<br>
|
||||
<h5>{{defaultvis}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="public" value="public" />
|
||||
<label for="public">{{public}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="unlisted" value="unlisted" />
|
||||
<label for="unlisted">{{unlisted}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="private" value="private" />
|
||||
<label for="private">{{private}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="direct" value="direct" />
|
||||
<label for="direct">{{direct}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="memory" value="memory" />
|
||||
<label for="memory">{{memory}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="server" value="server" />
|
||||
<label for="server">{{useapi}}</label>
|
||||
<br>
|
||||
<h5>{{postimg}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_url" value="url" />
|
||||
<label for="i_url">{{showurl}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_no-act" value="no-act" />
|
||||
<label for="i_no-act">{{nourl}}</label>
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_inline" value="inline" disabled />
|
||||
<label for="i_inline">{{disabled}}
|
||||
<!--画像を投稿し、インラインで表示(Markdownに対応したインスタンスのみ。マルチアカウント環境では非推奨。)-->
|
||||
</label>
|
||||
<br>
|
||||
<h5>{{box}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_yes" value="yes" />
|
||||
<label for="bx_yes">{{boxyes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_no" value="no" />
|
||||
<label for="bx_no">{{boxno}}
|
||||
</label>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_abs" value="absolute" />
|
||||
<label for="bx_abs">{{boxabs}}</label>
|
||||
<br>
|
||||
<h5>{{quote}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_simple" value="simple" />
|
||||
<label for="q_simple">{{simple}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_mention" value="mention" />
|
||||
<label for="q_mention">{{mention}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_full" value="full" />
|
||||
<label for="q_full">{{full}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_nothing" value="nothing" />
|
||||
<label for="q_nothing">{{notqt}}</label>
|
||||
<br>
|
||||
<h5>{{main}}</h5>
|
||||
{{mainwarn}}<br>
|
||||
<input class="with-gap" onchange="settings()" name="main" type="radio" id="mn_remain" value="remain" />
|
||||
<label for="mn_remain">{{lastacct}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="main" type="radio" id="mn_main" value="main" />
|
||||
<label for="mn_main">{{usemainacct}}</label>
|
||||
</label>
|
||||
<h5>{{secondary}}</h5>
|
||||
{{secwarn}}<br>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-nothing" value="nothing" />
|
||||
<label for="sec-nothing">{{nothing}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-public" value="public" />
|
||||
<label for="sec-public">{{public}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-unlisted" value="unlisted" />
|
||||
<label for="sec-unlisted">{{unlisted}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-private" value="private" />
|
||||
<label for="sec-private">{{private}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-direct" value="direct" />
|
||||
<label for="sec-direct">{{direct}}</label>
|
||||
<input class="with-gap hide kirishima" onchange="settings()" name="sec" type="radio" id="sec-local" value="local" />
|
||||
<label for="sec-local">{{localonly}}</label><span class="hide kirishima">非対応インスタンスでは「未収載」になります。</span>
|
||||
<br>
|
||||
<div id="postView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
{{item.text.desc}}<br>
|
||||
<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>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">keyboard</i>{{keysc}}
|
||||
<i class="material-icons">keyboard</i>@@keysc@@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{{iks}}</h5>
|
||||
{{okswarn}}<br>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<button onclick="oks(3)" class="btn waves-effect" style="width:100px;">@@set@@</button><br><br>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">bookmark</i>{{muteemp}}
|
||||
<i class="material-icons">bookmark</i>@@muteemp@@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{{climute}}</h5>
|
||||
<h5>@@climute@@</h5>
|
||||
<div id="mute-cli"></div>
|
||||
<h5>{{cliemp}}</h5>
|
||||
{{cliwarn}}
|
||||
<h5>{{wordmute}}</h5>
|
||||
{{enter}}<br>
|
||||
<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>
|
||||
<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>
|
||||
<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}}
|
||||
<i class="fa fa-spotify"></i>@@spotify@@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{{npProvider}}</h5>
|
||||
{{npPeoviderWarn}}<br>
|
||||
<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" />
|
||||
|
@ -407,73 +267,73 @@
|
|||
<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>
|
||||
@@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>
|
||||
@@templete1@@<br>
|
||||
@@templete2@@<br>
|
||||
@@templete3@@<br>
|
||||
<span class="imas hide">CINDERELLA NowPlaying(imastodon.net限定)では作曲家{composer}/作詞家{lyricist}/BPM{bpm}が有効です。<br>
|
||||
CINDERELLA NowPlayingはimastodon.netにログインしているとき、トゥート欄に「//」を入力し、その後に曲名を入れることで可能です。</span><br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">{{set}}</button>
|
||||
<h5>{{postartwork}}</h5>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">@@set@@</button>
|
||||
<h5>@@postartwork@@</h5>
|
||||
<span class="imas hide">この設定はCINDERELLA NowPlaying(imastodon.net限定)にも適用されます。</span><br>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
|
||||
<label for="awk_yes">{{yes}}</label>
|
||||
<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>
|
||||
<label for="awk_no">@@no@@</label>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">hearing</i>{{tts}}
|
||||
<i class="material-icons">hearing</i>@@tts@@
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{{speed}}</h5>
|
||||
{{speedwarn}}<br>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<li>Ctrl+Shift+P:@@keyshowprof@@</li>
|
||||
<li>←/→:@@keyrow@@</li>
|
||||
<li>@@keyzoom@@</li>
|
||||
<div class="hide kirishima">
|
||||
以下Markdownに対応したインスタンスのみ。
|
||||
<br>
|
||||
|
@ -486,19 +346,19 @@
|
|||
<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://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>
|
||||
<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://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i class="material-icons left">list</i>@@help@@/Docs(Constructing)</a>
|
||||
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2" style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a>
|
||||
<a href="index.html?mode=user&code=Cutls@kirishima.cloud" class="btn waves-effect blue lighten-2" style="width:100%; max-width:500px;"><img src="../../img/desk_full.svg" class="left" width="25" style="padding-top:5px;">Developer: Cutls@kirishima.cloud</a>
|
||||
<a class="btn waves-effect red lighten-2" href="https://osushi.love/Cutls_P" target="_blank" style="width:100%; max-width:500px;"><img src="../../img/sushi.svg" class="left" width="25" style="padding-top:5px;">{{sushi}}</a>
|
||||
<a class="btn waves-effect red lighten-2" href="https://osushi.love/Cutls_P" target="_blank" style="width:100%; max-width:500px;"><img src="../../img/sushi.svg" class="left" width="25" style="padding-top:5px;">@@sushi@@</a>
|
||||
<br>
|
||||
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>
|
||||
<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(
|
||||
|
@ -510,7 +370,6 @@ TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のため
|
|||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/logout.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
|
|
480
app/view/make/setting.sample.js
Normal file
480
app/view/make/setting.sample.js
Normal file
|
@ -0,0 +1,480 @@
|
|||
var yesno=[
|
||||
{
|
||||
text:"@@yes@@",
|
||||
value:"yes"
|
||||
},{
|
||||
text:"@@no@@",
|
||||
value:"no"
|
||||
}
|
||||
];
|
||||
var envConstruction=[
|
||||
{
|
||||
id:"popup",
|
||||
storage:"popup",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
setValue:0,
|
||||
width:50,
|
||||
text:{
|
||||
head:"@@popup@@",
|
||||
desc:"@@popupwarn@@",
|
||||
after:"@@s@@"
|
||||
}
|
||||
},{
|
||||
id:"notf",
|
||||
storage:"nativenotf",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"@@nativenotf@@",
|
||||
desc:"@@nnwarn@@",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"width",
|
||||
storage:"width",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:50,
|
||||
setValue:300,
|
||||
text:{
|
||||
head:"@@minwidth@@",
|
||||
desc:"@@minwidthwarn@@",
|
||||
after:"px @@above@@"
|
||||
}
|
||||
},{
|
||||
id:"fixwidth",
|
||||
storage:"fixwidth",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
setValue:300,
|
||||
width:50,
|
||||
text:{
|
||||
head:"@@fixwidth@@",
|
||||
desc:"@@fixwidthwarn@@",
|
||||
after:"px @@above@@"
|
||||
}
|
||||
},{
|
||||
id:"size",
|
||||
storage:"size",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:50,
|
||||
setValue:13,
|
||||
text:{
|
||||
head:"@@fontsize@@",
|
||||
desc:'<span style="font-size:15px">15px(@@absolute@@)</span>',
|
||||
after:"px"
|
||||
}
|
||||
},{
|
||||
id:"ha",
|
||||
storage:"ha",
|
||||
checkbox:true,
|
||||
setValue:false,
|
||||
text:{
|
||||
head:"@@hardwareAcceleration@@",
|
||||
desc:"@@hardwareAccelerationWarn@@",
|
||||
checkbox:[
|
||||
{
|
||||
text:"@@yes@@",
|
||||
value:"true"
|
||||
},{
|
||||
text:"@@no@@",
|
||||
value:"false"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
];
|
||||
var tlConstruction=[
|
||||
{
|
||||
id:"time",
|
||||
storage:"datetype",
|
||||
checkbox:true,
|
||||
setValue:"absolute",
|
||||
text:{
|
||||
head:"@@timemode@@",
|
||||
desc:'@@relativetime@@<br>@@absolutetime@@<br>@@mixtime@@',
|
||||
checkbox:[
|
||||
{
|
||||
text:"@@relativesel@@",
|
||||
value:"relative"
|
||||
},{
|
||||
text:"@@absolutesel@@",
|
||||
value:"absolute"
|
||||
},{
|
||||
text:"@@doublesel@@",
|
||||
value:"double"
|
||||
},{
|
||||
text:"@@mixsel@@",
|
||||
value:"medium"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"ul",
|
||||
storage:"locale",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"@@locale@@",
|
||||
desc:"@@localewarn@@",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"nsfw",
|
||||
storage:"nsfw",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"@@nswf@@",
|
||||
desc:"@@nsfwwarn@@",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"cw",
|
||||
storage:"cw",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"@@cw@@",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"rp",
|
||||
storage:"replyct",
|
||||
checkbox:true,
|
||||
setValue:"hidden",
|
||||
text:{
|
||||
head:"@@replyct@@",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"@@replyct_hidden@@",
|
||||
value:"hidden"
|
||||
},{
|
||||
text:"@@replyct_hidden@@",
|
||||
value:"all"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"gif",
|
||||
storage:"gif",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"@@gif@@",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"tag",
|
||||
storage:"tag-range",
|
||||
checkbox:true,
|
||||
setValue:"local",
|
||||
text:{
|
||||
head:"@@tag@@",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"@@tagfed@@",
|
||||
value:"all"
|
||||
},{
|
||||
text:"@@taglocal@@",
|
||||
value:"local"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"via",
|
||||
storage:"viashow",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"@@via@@",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"mov",
|
||||
storage:"mouseover",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"@@mouseover@@",
|
||||
desc:"@@mouseoverwarn@@",
|
||||
checkbox:[
|
||||
{
|
||||
text:"@@mv@@",
|
||||
value:"yes"
|
||||
},{
|
||||
text:"@@mvclick@@",
|
||||
value:"click"
|
||||
},{
|
||||
text:"@@no@@",
|
||||
value:"no"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"notfm",
|
||||
storage:"setasread",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"@@notfmarker@@",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
checkbox:false,
|
||||
doubleText:true,
|
||||
data:[
|
||||
{
|
||||
id:"sentence",
|
||||
storage:"sentence",
|
||||
width:50,
|
||||
setValue:500,
|
||||
text:{after:"@@lines@@ @@above@@ @@or@@"}
|
||||
},{
|
||||
id:"letters",
|
||||
storage:"letters",
|
||||
width:50,
|
||||
setValue:7000,
|
||||
text:{after:"@@letters@@ @@above@@"}
|
||||
}
|
||||
],
|
||||
text:{
|
||||
head:"@@autofold@@",
|
||||
desc:"@@autofoldwarn@@",
|
||||
}
|
||||
},{
|
||||
id:"img-height",
|
||||
storage:"img-height",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:80,
|
||||
setValue:200,
|
||||
text:{
|
||||
head:"@@imgheight@@",
|
||||
desc:"",
|
||||
after:"px"
|
||||
}
|
||||
},{
|
||||
id:"ticker",
|
||||
storage:"ticker_ok",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"@@ticker@@",
|
||||
desc:'@@tickerwarn@@',
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"anime",
|
||||
storage:"animation",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"@@animation@@",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
}
|
||||
];
|
||||
var postConstruction=[
|
||||
{
|
||||
id:"cw-text",
|
||||
storage:"cw-text",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:150,
|
||||
setValue:"",
|
||||
text:{
|
||||
head:"@@defaultcw@@",
|
||||
desc:"",
|
||||
after:""
|
||||
}
|
||||
},{
|
||||
checkbox:false,
|
||||
doubleText:true,
|
||||
data:[
|
||||
{
|
||||
id:"cw_sentence",
|
||||
storage:"cw_sentence",
|
||||
width:50,
|
||||
setValue:500,
|
||||
text:{after:"@@lines@@ @@above@@ @@or@@"}
|
||||
},{
|
||||
id:"cw_letters",
|
||||
storage:"cw_letters",
|
||||
width:50,
|
||||
setValue:7000,
|
||||
text:{after:"@@letters@@ @@above@@"}
|
||||
}
|
||||
],
|
||||
text:{
|
||||
head:"@@autocw@@",
|
||||
desc:"@@autocwwarn@@",
|
||||
}
|
||||
},{
|
||||
id:"cws",
|
||||
storage:"always-cw",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"@@cws@@",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"vis",
|
||||
storage:"vis",
|
||||
checkbox:true,
|
||||
setValue:"public",
|
||||
text:{
|
||||
head:"@@defaultvis@@",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"@@public@@",
|
||||
value:"public"
|
||||
},{
|
||||
text:"@@unlisted@@",
|
||||
value:"unlisted"
|
||||
},{
|
||||
text:"@@private@@",
|
||||
value:"private"
|
||||
},{
|
||||
text:"@@direct@@",
|
||||
value:"direct"
|
||||
},{
|
||||
text:"@@memory@@",
|
||||
value:"memory"
|
||||
},{
|
||||
text:"@@useapi@@",
|
||||
value:"useapi"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"img",
|
||||
storage:"img",
|
||||
checkbox:true,
|
||||
setValue:"no-act",
|
||||
text:{
|
||||
head:"@@postimg@@",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"@@showurl@@",
|
||||
value:"url"
|
||||
},{
|
||||
text:"@@nourl@@",
|
||||
value:"no-act"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"box",
|
||||
storage:"box",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"@@box@@",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"@@boxyes@@",
|
||||
value:"yes"
|
||||
},{
|
||||
text:"@@boxno@@",
|
||||
value:"no"
|
||||
},{
|
||||
text:"@@boxabs@@",
|
||||
value:"absolute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"quote",
|
||||
storage:"quote",
|
||||
checkbox:true,
|
||||
setValue:"nothing",
|
||||
text:{
|
||||
head:"@@quote@@",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"@@simple@@",
|
||||
value:"simple"
|
||||
},{
|
||||
text:"@@mention@@",
|
||||
value:"mention"
|
||||
},{
|
||||
text:"@@full@@",
|
||||
value:"full"
|
||||
},{
|
||||
text:"@@notqt@@",
|
||||
value:"nothing"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"main",
|
||||
storage:"mainuse",
|
||||
checkbox:true,
|
||||
setValue:"remain",
|
||||
text:{
|
||||
head:"@@main@@",
|
||||
desc:"@@mainwarn@@",
|
||||
checkbox:[
|
||||
{
|
||||
text:"@@lastacct@@",
|
||||
value:"remain"
|
||||
},{
|
||||
text:"@@usemainacct@@",
|
||||
value:"main"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"sec",
|
||||
storage:"sec",
|
||||
checkbox:true,
|
||||
setValue:"public",
|
||||
text:{
|
||||
head:"@@secondary@@",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"@@nothing@@",
|
||||
value:"nothing"
|
||||
},{
|
||||
text:"@@public@@",
|
||||
value:"public"
|
||||
},{
|
||||
text:"@@unlisted@@",
|
||||
value:"unlisted"
|
||||
},{
|
||||
text:"@@private@@",
|
||||
value:"private"
|
||||
},{
|
||||
text:"@@direct@@",
|
||||
value:"direct"
|
||||
},{
|
||||
text:"@@localonly@@",
|
||||
value:"local",
|
||||
kirishima:true,
|
||||
kirishimaText:"非対応インスタンスでは「未収載」になります。"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
519
app/view/make/setting.sample.old.html
Normal file
519
app/view/make/setting.sample.old.html
Normal file
|
@ -0,0 +1,519 @@
|
|||
<!doctype html>
|
||||
<html lang="{{lang}}">
|
||||
<head>
|
||||
<title>Settings - TheDesk</title>
|
||||
{{comment-start}}
|
||||
<script type="text/javascript">
|
||||
var _jipt = [];
|
||||
_jipt.push(['project', 'thedesk']);
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
{{comment-end}}
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport">
|
||||
<link href="../../css/materialize.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/pickr.css" type="text/css" rel="stylesheet">
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet">
|
||||
<link href='../../css/font-awesome.css' rel='stylesheet' type='text/css'>
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
|
||||
<meta charset="utf-8">
|
||||
<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>
|
||||
|
||||
<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>
|
||||
<br>
|
||||
<h5>{{popup}}</h5>{{popupwarn}}
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="popup">{{s}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{nativenotf}}</h5>
|
||||
{{nnwarn}}<br><a onclick="notftest()" class="pointer">{{nntest}}</a>
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_yes" value="yes" />
|
||||
<label for="ntf_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_no" value="no" />
|
||||
<label for="ntf_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{minwidth}}</h5>{{minwidthwarn}}
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="width">px{{above}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{fixwidth}}</h5>{{fixwidthwarn}}
|
||||
<input type="text" style="width:50px" id="fixwidth">px{{above}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<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>{{fontsize}}</h5>
|
||||
<span style="font-size:15px">15px({{absolute}})</span>
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="size">px
|
||||
<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>
|
||||
<h5>{{hardwareAcceleration}}</h5>
|
||||
{{hardwareAccelerationWarn}}
|
||||
<br>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_true" value="true" />
|
||||
<label for="ha_true">{{yes}}</label>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_false" value="false" />
|
||||
<label for="ha_false">{{no}}</label>
|
||||
<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">
|
||||
<h5>{{timemode}}</h5>{{relativetime}}
|
||||
<br>{{absolutetime}}
|
||||
<br>{{mixtime}}
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" onchange="settings()" name="time" type="radio" id="relative" value="relative" />
|
||||
<label for="relative">{{relativesel}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="absolute" value="absolute" />
|
||||
<label for="absolute">{{absolutesel}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="double" value="double" />
|
||||
<label for="double">{{doublesel}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="medium" value="medium" />
|
||||
<label for="medium">{{mixsel}}</label>
|
||||
<h5>{{locale}}</h5>{{localewarn}}
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_yes" value="yes" />
|
||||
<label for="ul_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_no" value="no" />
|
||||
<label for="ul_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{nswf}}</h5>{{nsfwwarn}}
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_yes" value="yes" />
|
||||
<label for="n_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_no" value="no" />
|
||||
<label for="n_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{cw}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_yes" value="yes" />
|
||||
<label for="c_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_no" value="no" />
|
||||
<label for="c_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{replyct}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="rp" type="radio" id="rp_hidden" value="hidden" />
|
||||
<label for="rp_hidden">{{replyct_hidden}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="rp" type="radio" id="rp_all" value="all" />
|
||||
<label for="rp_all">{{replyct_full}}</label>
|
||||
<br>
|
||||
<h5>{{gif}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_yes" value="yes" />
|
||||
<label for="g_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_no" value="no" />
|
||||
<label for="g_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{tag}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_all" value="all" />
|
||||
<label for="t_all">{{tagfed}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_local" value="local" />
|
||||
<label for="t_local">{{taglocal}}</label>
|
||||
<br>
|
||||
<h5>{{via}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="via" type="radio" id="via_yes" value="yes" />
|
||||
<label for="via_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="via" type="radio" id="via_hide" value="hide" />
|
||||
<label for="via_hide">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{mouseover}}</h5>
|
||||
{{mouseoverwarn}}<br>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_yes" value="yes" />
|
||||
<label for="mov_yes">{{mv}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_click" value="click" />
|
||||
<label for="mov_click">{{mvclick}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_no" value="no" />
|
||||
<label for="mov_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{notfmarker}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="notfm" type="radio" id="notfm_yes" value="yes" />
|
||||
<label for="notfm_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="notfm" type="radio" id="notfm_no" value="no" />
|
||||
<label for="notfm_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{autofold}}</h5>
|
||||
{{autofoldwarn}}
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="sentence">{{lines}} {{above}} {{or}}
|
||||
<input type="text" style="width:50px" id="letters">{{letters}} {{above}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{imgheight}}
|
||||
</h5>
|
||||
<input type="text" style="width:50px" id="img-height">px
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{ticker}}</h5>
|
||||
{{tickerwarn}}<br>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_yes" value="yes" />
|
||||
<label for="ticker_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_no" value="no" />
|
||||
<label for="ticker_no">{{no}}</label>
|
||||
<br>
|
||||
<h5>{{animation}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_yes" value="yes" />
|
||||
<label for="anime_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_no" value="no" />
|
||||
<label for="anime_no">{{no}}</label>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">send</i>{{post}}
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>{{defaultcw}}</h5>
|
||||
<input type="text" style="width:150px" id="cw-text">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{autocw}}</h5>
|
||||
{{autocwwarn}}
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="cw_sentence">{{lines}} {{above}} {{or}}
|
||||
<input type="text" style="width:50px" id="cw_letters">{{letters}} {{above}}
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">{{set}}</button>
|
||||
<br>
|
||||
<h5>{{cws}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="cws" type="radio" id="cws_yes" value="yes" />
|
||||
<label for="cws_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="cws" type="radio" id="cws_no" value="no" />
|
||||
<label for="cws_no">{{no}}
|
||||
</label>
|
||||
<br>
|
||||
<h5>{{defaultvis}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="public" value="public" />
|
||||
<label for="public">{{public}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="unlisted" value="unlisted" />
|
||||
<label for="unlisted">{{unlisted}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="private" value="private" />
|
||||
<label for="private">{{private}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="direct" value="direct" />
|
||||
<label for="direct">{{direct}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="memory" value="memory" />
|
||||
<label for="memory">{{memory}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="server" value="server" />
|
||||
<label for="server">{{useapi}}</label>
|
||||
<br>
|
||||
<h5>{{postimg}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_url" value="url" />
|
||||
<label for="i_url">{{showurl}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_no-act" value="no-act" />
|
||||
<label for="i_no-act">{{nourl}}</label>
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_inline" value="inline" disabled />
|
||||
<label for="i_inline">{{disabled}}
|
||||
<!--画像を投稿し、インラインで表示(Markdownに対応したインスタンスのみ。マルチアカウント環境では非推奨。)-->
|
||||
</label>
|
||||
<br>
|
||||
<h5>{{box}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_yes" value="yes" />
|
||||
<label for="bx_yes">{{boxyes}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_no" value="no" />
|
||||
<label for="bx_no">{{boxno}}
|
||||
</label>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_abs" value="absolute" />
|
||||
<label for="bx_abs">{{boxabs}}</label>
|
||||
<br>
|
||||
<h5>{{quote}}</h5>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_simple" value="simple" />
|
||||
<label for="q_simple">{{simple}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_mention" value="mention" />
|
||||
<label for="q_mention">{{mention}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_full" value="full" />
|
||||
<label for="q_full">{{full}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_nothing" value="nothing" />
|
||||
<label for="q_nothing">{{notqt}}</label>
|
||||
<br>
|
||||
<h5>{{main}}</h5>
|
||||
{{mainwarn}}<br>
|
||||
<input class="with-gap" onchange="settings()" name="main" type="radio" id="mn_remain" value="remain" />
|
||||
<label for="mn_remain">{{lastacct}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="main" type="radio" id="mn_main" value="main" />
|
||||
<label for="mn_main">{{usemainacct}}</label>
|
||||
</label>
|
||||
<h5>{{secondary}}</h5>
|
||||
{{secwarn}}<br>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-nothing" value="nothing" />
|
||||
<label for="sec-nothing">{{nothing}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-public" value="public" />
|
||||
<label for="sec-public">{{public}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-unlisted" value="unlisted" />
|
||||
<label for="sec-unlisted">{{unlisted}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-private" value="private" />
|
||||
<label for="sec-private">{{private}}</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-direct" value="direct" />
|
||||
<label for="sec-direct">{{direct}}</label>
|
||||
<input class="with-gap hide kirishima" onchange="settings()" name="sec" type="radio" id="sec-local" value="local" />
|
||||
<label for="sec-local">{{localonly}}</label><span class="hide kirishima">非対応インスタンスでは「未収載」になります。</span>
|
||||
<br>
|
||||
</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>
|
||||
</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}
|
||||
{url}</textarea><br>
|
||||
{{templete1}}<br>
|
||||
{{templete2}}<br>
|
||||
{{templete3}}<br>
|
||||
<span class="imas hide">CINDERELLA NowPlaying(imastodon.net限定)では作曲家{composer}/作詞家{lyricist}/BPM{bpm}が有効です。<br>
|
||||
CINDERELLA NowPlayingはimastodon.netにログインしているとき、トゥート欄に「//」を入力し、その後に曲名を入れることで可能です。</span><br>
|
||||
<button onclick="spotifySave()" class="btn waves-effect" style="width:100px;">{{set}}</button>
|
||||
<h5>{{postartwork}}</h5>
|
||||
<span class="imas hide">この設定はCINDERELLA NowPlaying(imastodon.net限定)にも適用されます。</span><br>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_yes" value="yes" />
|
||||
<label for="awk_yes">{{yes}}</label>
|
||||
<input class="with-gap" onchange="spotifyFlagSave()" name="awk" type="radio" id="awk_no" value="no" />
|
||||
<label for="awk_no">{{no}}</label>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="collapsible-header">
|
||||
<i class="material-icons">hearing</i>{{tts}}
|
||||
</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://docs.thedesk.top" class="btn waves-effect blue darken-2" style="width:100%; max-width:500px;"><i class="material-icons left">list</i>{{help}}/Docs(Constructing)</a>
|
||||
<a href="https://github.com/cutls/TheDesk" class="btn waves-effect black lighten-2" style="width:100%; max-width:500px;"><i class="fa fa-github left"></i>GitHub</a>
|
||||
<a href="index.html?mode=user&code=Cutls@kirishima.cloud" class="btn waves-effect blue lighten-2" style="width:100%; max-width:500px;"><img src="../../img/desk_full.svg" class="left" width="25" style="padding-top:5px;">Developer: Cutls@kirishima.cloud</a>
|
||||
<a class="btn waves-effect red lighten-2" href="https://osushi.love/Cutls_P" target="_blank" style="width:100%; max-width:500px;"><img src="../../img/sushi.svg" class="left" width="25" style="padding-top:5px;">{{sushi}}</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/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/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>
|
|
@ -32,15 +32,14 @@
|
|||
<script type="text/javascript" src="../../js/common/modal.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/jquery-ui.min.js"></script>
|
||||
<script>
|
||||
var ver="Miria (17.3.0)";
|
||||
var ver="Usamin (18.0.0)";
|
||||
//betaを入れるとバージョンチェックしない
|
||||
//GitHubに上げるときはindex.htmlをちゃんとする。(index.start.html)
|
||||
//var ver="beta";
|
||||
//WinstoreではバージョンCK・言語・Misskeyトークンの機能が排除
|
||||
var winstore=false;
|
||||
var acct_id=0;
|
||||
var tlid=0;
|
||||
verck(ver,winstore);
|
||||
verck(ver);
|
||||
</script>
|
||||
<textarea id="copy" style="top:-100px; position:fixed;"></textarea>
|
||||
<div id="tl">
|
||||
|
@ -582,19 +581,22 @@ var tlid=0;
|
|||
<a href="https://thedesk.top" target="_blank">HP</a><br>
|
||||
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br>
|
||||
<br>
|
||||
<div id="release-Miria_17-2-1" class="release-do" style="display:none; ">
|
||||
<div id="release-Usamin_18-0-0" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Entyでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Miria (17.2.1)</h5>
|
||||
多くの機能を「メニュー」に集約。結局何のボタンかわからないアイコンの羅列から解放。<br>
|
||||
Alt+Enterでセカンダリートゥートボタン<br>
|
||||
引用ボタンを表示しない設定(引用形式設定を「使用しない」)<br>
|
||||
実況機能をまともに書き直した。<br>
|
||||
サジェストをトゥートボックスの右に<br>
|
||||
ハードウェアアクセラレーションを無効化するオプション。(設定の表示などが乱れるときに設定)<br>
|
||||
返信時に「@」が複数含まれない仕様を訂正<br>
|
||||
<h5>Release Note Usamin (18.0.0)</h5>
|
||||
・多くの機能を「メニュー」に集約。結局何のボタンかわからないアイコンの羅列から解放。<br>
|
||||
・Alt+Enterでセカンダリートゥートボタン<br>
|
||||
・引用ボタンを表示しない設定(引用形式設定を「使用しない」)<br>
|
||||
・実況機能をまともに書き直した。<br>
|
||||
・サジェストをトゥートボックスの右に<br>
|
||||
・ハードウェアアクセラレーションを無効化するオプション。(設定の表示などが乱れるときに設定)<br>
|
||||
・返信時に「@」が複数含まれない仕様を訂正<br>
|
||||
・一部のデフォルト値を修正。<br>
|
||||
・設定のエクスポート(バックアップ)がバージョン2に。ほとんどの設定をエクスポートします。<br>
|
||||
・イメージビューワーの修正<br>
|
||||
<img class="emoji" draggable="false" alt="⚠" src="https://twemoji.maxcdn.com/2/72x72/26a0.png">TheDeskのMisskeyについての機能追加は終了しています。<br>
|
||||
</div>
|
||||
<br><br>
|
||||
|
@ -640,6 +642,7 @@ var tlid=0;
|
|||
<div class="waves-effect" onclick="listMenu()" id="listMenu"><i class="material-icons">view_headline</i><span>crwdns444:0crwdne444:0</span></div>
|
||||
<div class="waves-effect" onclick="filterMenu()" id="filterMenu"><i class="material-icons">filter_list</i><span>crwdns515:0crwdne515:0</span></div>
|
||||
<div class="waves-effect" onclick="help()"><i class="material-icons">help_outline</i><span>crwdns1894:0crwdne1894:0</span></div>
|
||||
<div class="waves-effect" onclick="about()"><i class="material-icons">info</i><span>{{about}}</span></div>
|
||||
</div>
|
||||
<div id="right-menu">
|
||||
<!--カラム追加-->
|
||||
|
@ -651,18 +654,19 @@ var tlid=0;
|
|||
</div>
|
||||
<div class="input-field">
|
||||
<div id="auth">
|
||||
<select id="type-sel" style="color:black">
|
||||
<option value="local" data-trans="local">crwdns480:0crwdne480:0</option>
|
||||
<option value="local-media" data-trans="local-media">crwdns481:0crwdne481:0</option>
|
||||
<option value="home" data-trans="home">crwdns482:0crwdne482:0</option>
|
||||
<option value="pub" data-trans="public">crwdns483:0crwdne483:0</option>
|
||||
<option value="pub-media" data-trans="public-media">crwdns484:0crwdne484:0</option>
|
||||
<option value="dm" data-trans="dm">crwdns485:0crwdne485:0</option>
|
||||
<option value="mix" data-trans="integrated">crwdns486:0crwdne486:0</option>
|
||||
<option value="plus" data-trans="plus">crwdns487:0crwdne487:0</option>
|
||||
<option value="notf" data-trans="notification">crwdns488:0crwdne488:0</option>
|
||||
</select>
|
||||
<label data-trans="show_tl">crwdns489:0crwdne489:0</label>
|
||||
<input type="hidden" value="local" id="type-sel">
|
||||
crwdns489:0crwdne489:0
|
||||
<div id="tltype">
|
||||
<div class="type waves-effect active" data-type="local"><div><i class="material-icons">people_outline</i></div><span>crwdns480:0crwdne480:0</span></div>
|
||||
<div class="type waves-effect" data-type="local-media"><div><i class="material-icons">people_outline</i><i class="material-icons sub-icon">perm_media</i></div><span>crwdns481:0crwdne481:0</span></div>
|
||||
<div class="type waves-effect" data-type="home"><div><i class="material-icons">home</i></div><span>crwdns482:0crwdne482:0</span></div>
|
||||
<div class="type waves-effect" data-type="pub"><div><i class="material-icons">language</i></div><span>crwdns483:0crwdne483:0</span></div>
|
||||
<div class="type waves-effect" data-type="pub-media"><div><i class="material-icons">language</i><i class="material-icons sub-icon">perm_media</i></div><span>crwdns484:0crwdne484:0</span></div>
|
||||
<div class="type waves-effect" data-type="dm"><div><i class="material-icons">mail_outline</i></div><span>crwdns485:0crwdne485:0</span></div>
|
||||
<div class="type waves-effect" data-type="mix"><div><i class="material-icons">merge_type</i></div><span>crwdns486:0crwdne486:0</span></div>
|
||||
<div class="type waves-effect" data-type="plus"><div><i class="material-icons">merge_type</i><i class="material-icons sub-icon">reply</i></div><span>crwdns487:0crwdne487:0</span></div>
|
||||
<div class="type waves-effect" data-type="notf"><div><i class="material-icons">notifications</i></div><span>crwdns488:0crwdne488:0</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="noauth" class="hide">crwdns489:0crwdne489:0
|
||||
<input id="noauth-url" type="text" class="validate" style="width:calc( 70% - 40px);" placeholder="e.g:mstdn.jp">
|
||||
|
|
|
@ -25,6 +25,8 @@
|
|||
<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">
|
||||
|
@ -39,30 +41,31 @@
|
|||
<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>
|
||||
<br>
|
||||
<h5>crwdns1898:0crwdne1898:0</h5>crwdns536:0crwdne536:0
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="popup">crwdns537:0crwdne537:0
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
|
||||
<br>
|
||||
<h5>crwdns538:0crwdne538:0</h5>
|
||||
crwdns539:0crwdne539:0<br><a onclick="notftest()" class="pointer">crwdns540:0crwdne540:0</a>
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_yes" value="yes" />
|
||||
<label for="ntf_yes">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="notf" type="radio" id="ntf_no" value="no" />
|
||||
<label for="ntf_no">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
<h5>crwdns2376:0crwdne2376:0</h5>crwdns542:0crwdne542:0
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="width">pxcrwdns543:0crwdne543:0
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
|
||||
<br>
|
||||
<h5>crwdns2378:0crwdne2378:0</h5>crwdns2380:0crwdne2380:0
|
||||
<input type="text" style="width:50px" id="fixwidth">pxcrwdns543:0crwdne543:0
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
|
||||
<br>
|
||||
<h5>crwdns544:0crwdne544:0</h5>
|
||||
<div id="envView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
{{item.text.desc}}<br>
|
||||
<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>
|
||||
</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>
|
||||
|
@ -70,23 +73,10 @@
|
|||
<input type="text" style="width:150px" id="font">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
|
||||
<br>
|
||||
<h5>crwdns546:0crwdne546:0</h5>
|
||||
<span style="font-size:15px">15px(crwdns549:0crwdne549:0)</span>
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="size">px
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button><br>
|
||||
<h5>crwdns547:0crwdne547:0</h5>
|
||||
<h5>crwdns547:0crwdne547:0</h5>
|
||||
crwdns548:0crwdne548:0<br>
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="savefolder()">crwdns528:0crwdne528:0</button>
|
||||
<br>
|
||||
<h5>{{hardwareAcceleration}}</h5>
|
||||
{{hardwareAccelerationWarn}}
|
||||
<br>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_true" value="true" />
|
||||
<label for="ha_true">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="hardwareAcceleration()" name="ha" type="radio" id="ha_false" value="false" />
|
||||
<label for="ha_false">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -147,11 +137,11 @@
|
|||
<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>
|
||||
<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>
|
||||
@@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>
|
||||
|
@ -160,101 +150,29 @@
|
|||
<i class="material-icons">reorder</i>crwdns550:0crwdne550:0
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>crwdns551:0crwdne551:0</h5>crwdns552:0crwdne552:0
|
||||
<br>crwdns553:0crwdne553:0
|
||||
<br>crwdns554:0crwdne554:0
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" onchange="settings()" name="time" type="radio" id="relative" value="relative" />
|
||||
<label for="relative">crwdns555:0crwdne555:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="absolute" value="absolute" />
|
||||
<label for="absolute">crwdns1902:0crwdne1902:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="double" value="double" />
|
||||
<label for="double">crwdns557:0crwdne557:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="time" type="radio" id="medium" value="medium" />
|
||||
<label for="medium">crwdns558:0crwdne558:0</label>
|
||||
<h5>crwdns1904:0crwdne1904:0</h5>crwdns1906:0crwdne1906:0
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_yes" value="yes" />
|
||||
<label for="ul_yes">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="ul" type="radio" id="ul_no" value="no" />
|
||||
<label for="ul_no">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
<h5>crwdns561:0crwdne561:0</h5>crwdns562:0crwdne562:0
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_yes" value="yes" />
|
||||
<label for="n_yes">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="nsfw" type="radio" id="n_no" value="no" />
|
||||
<label for="n_no">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
<h5>crwdns563:0crwdne563:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_yes" value="yes" />
|
||||
<label for="c_yes">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="cw" type="radio" id="c_no" value="no" />
|
||||
<label for="c_no">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
<h5>crwdns564:0crwdne564:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="rp" type="radio" id="rp_hidden" value="hidden" />
|
||||
<label for="rp_hidden">crwdns565:0crwdne565:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="rp" type="radio" id="rp_all" value="all" />
|
||||
<label for="rp_all">crwdns566:0crwdne566:0</label>
|
||||
<br>
|
||||
<h5>crwdns567:0crwdne567:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_yes" value="yes" />
|
||||
<label for="g_yes">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="gif" type="radio" id="g_no" value="no" />
|
||||
<label for="g_no">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
<h5>crwdns572:0crwdne572:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_all" value="all" />
|
||||
<label for="t_all">crwdns573:0crwdne573:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="tag" type="radio" id="t_local" value="local" />
|
||||
<label for="t_local">crwdns574:0crwdne574:0</label>
|
||||
<br>
|
||||
<h5>crwdns575:0crwdne575:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="via" type="radio" id="via_yes" value="yes" />
|
||||
<label for="via_yes">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="via" type="radio" id="via_hide" value="hide" />
|
||||
<label for="via_hide">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
<h5>crwdns576:0crwdne576:0</h5>
|
||||
crwdns577:0crwdne577:0<br>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_yes" value="yes" />
|
||||
<label for="mov_yes">crwdns578:0crwdne578:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_click" value="click" />
|
||||
<label for="mov_click">crwdns579:0crwdne579:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="mov" type="radio" id="mov_no" value="no" />
|
||||
<label for="mov_no">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
<h5>crwdns580:0crwdne580:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="notfm" type="radio" id="notfm_yes" value="yes" />
|
||||
<label for="notfm_yes">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="notfm" type="radio" id="notfm_no" value="no" />
|
||||
<label for="notfm_no">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
<h5>crwdns581:0crwdne581:0</h5>
|
||||
crwdns582:0crwdne582:0
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="sentence">crwdns583:0crwdne583:0 crwdns543:0crwdne543:0 crwdns585:0crwdne585:0
|
||||
<input type="text" style="width:50px" id="letters">crwdns584:0crwdne584:0 crwdns543:0crwdne543:0
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
|
||||
<br>
|
||||
<h5>crwdns586:0crwdne586:0
|
||||
</h5>
|
||||
<input type="text" style="width:50px" id="img-height">px
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
|
||||
<br>
|
||||
<h5>crwdns1908:0crwdne1908:0</h5>
|
||||
crwdns1910:0crwdne1910:0<br>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_yes" value="yes" />
|
||||
<label for="ticker_yes">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="ticker" type="radio" id="ticker_no" value="no" />
|
||||
<label for="ticker_no">crwdns527:0crwdne527:0</label>
|
||||
<br>
|
||||
<h5>crwdns2446:0crwdne2446:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_yes" value="yes" />
|
||||
<label for="anime_yes">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="anime" type="radio" id="anime_no" value="no" />
|
||||
<label for="anime_no">crwdns527:0crwdne527:0</label>
|
||||
<div id="tlView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
{{item.text.desc}}<br>
|
||||
<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>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -262,90 +180,32 @@
|
|||
<i class="material-icons">send</i>crwdns587:0crwdne587:0
|
||||
</div>
|
||||
<div class="collapsible-body">
|
||||
<h5>crwdns590:0crwdne590:0</h5>
|
||||
<input type="text" style="width:150px" id="cw-text">
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
|
||||
<br>
|
||||
<h5>crwdns588:0crwdne588:0</h5>
|
||||
crwdns589:0crwdne589:0
|
||||
<br>
|
||||
<input type="text" style="width:50px" id="cw_sentence">crwdns583:0crwdne583:0 crwdns543:0crwdne543:0 crwdns585:0crwdne585:0
|
||||
<input type="text" style="width:50px" id="cw_letters">crwdns584:0crwdne584:0 crwdns543:0crwdne543:0
|
||||
<button class="btn waves-effect" style="width:100px;" onclick="settings()">crwdns525:0crwdne525:0</button>
|
||||
<br>
|
||||
<h5>crwdns591:0crwdne591:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="cws" type="radio" id="cws_yes" value="yes" />
|
||||
<label for="cws_yes">crwdns526:0crwdne526:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="cws" type="radio" id="cws_no" value="no" />
|
||||
<label for="cws_no">crwdns527:0crwdne527:0
|
||||
</label>
|
||||
<br>
|
||||
<h5>crwdns592:0crwdne592:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="public" value="public" />
|
||||
<label for="public">crwdns593:0crwdne593:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="unlisted" value="unlisted" />
|
||||
<label for="unlisted">crwdns594:0crwdne594:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="private" value="private" />
|
||||
<label for="private">crwdns595:0crwdne595:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="direct" value="direct" />
|
||||
<label for="direct">crwdns596:0crwdne596:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="memory" value="memory" />
|
||||
<label for="memory">crwdns1912:0crwdne1912:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="vis" type="radio" id="server" value="server" />
|
||||
<label for="server">crwdns1914:0crwdne1914:0</label>
|
||||
<br>
|
||||
<h5>crwdns599:0crwdne599:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_url" value="url" />
|
||||
<label for="i_url">crwdns600:0crwdne600:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_no-act" value="no-act" />
|
||||
<label for="i_no-act">crwdns601:0crwdne601:0</label>
|
||||
<br>
|
||||
<input class="with-gap" onchange="settings()" name="img" type="radio" id="i_inline" value="inline" disabled />
|
||||
<label for="i_inline">crwdns602:0crwdne602:0
|
||||
<!--画像を投稿し、インラインで表示(Markdownに対応したインスタンスのみ。マルチアカウント環境では非推奨。)-->
|
||||
</label>
|
||||
<br>
|
||||
<h5>crwdns568:0crwdne568:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_yes" value="yes" />
|
||||
<label for="bx_yes">crwdns569:0crwdne569:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_no" value="no" />
|
||||
<label for="bx_no">crwdns571:0crwdne571:0
|
||||
</label>
|
||||
<input class="with-gap" onchange="settings()" name="box" type="radio" id="bx_abs" value="absolute" />
|
||||
<label for="bx_abs">crwdns570:0crwdne570:0</label>
|
||||
<br>
|
||||
<h5>crwdns603:0crwdne603:0</h5>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_simple" value="simple" />
|
||||
<label for="q_simple">crwdns604:0crwdne604:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_mention" value="mention" />
|
||||
<label for="q_mention">crwdns605:0crwdne605:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_full" value="full" />
|
||||
<label for="q_full">crwdns606:0crwdne606:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="quote" type="radio" id="q_nothing" value="nothing" />
|
||||
<label for="q_nothing">{{notqt}}</label>
|
||||
<br>
|
||||
<h5>crwdns607:0crwdne607:0</h5>
|
||||
crwdns608:0crwdne608:0<br>
|
||||
<input class="with-gap" onchange="settings()" name="main" type="radio" id="mn_remain" value="remain" />
|
||||
<label for="mn_remain">crwdns609:0crwdne609:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="main" type="radio" id="mn_main" value="main" />
|
||||
<label for="mn_main">crwdns610:0crwdne610:0</label>
|
||||
</label>
|
||||
<h5>crwdns1916:0crwdne1916:0</h5>
|
||||
crwdns1918:0crwdne1918:0<br>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-nothing" value="nothing" />
|
||||
<label for="sec-nothing">crwdns1920:0crwdne1920:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-public" value="public" />
|
||||
<label for="sec-public">crwdns593:0crwdne593:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-unlisted" value="unlisted" />
|
||||
<label for="sec-unlisted">crwdns594:0crwdne594:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-private" value="private" />
|
||||
<label for="sec-private">crwdns595:0crwdne595:0</label>
|
||||
<input class="with-gap" onchange="settings()" name="sec" type="radio" id="sec-direct" value="direct" />
|
||||
<label for="sec-direct">crwdns596:0crwdne596:0</label>
|
||||
<input class="with-gap hide kirishima" onchange="settings()" name="sec" type="radio" id="sec-local" value="local" />
|
||||
<label for="sec-local">crwdns1922:0crwdne1922:0</label><span class="hide kirishima">非対応インスタンスでは「未収載」になります。</span>
|
||||
<br>
|
||||
<div id="postView">
|
||||
<template v-for="(item, i) in config">
|
||||
<h5>{{item.text.head}}</h5>
|
||||
{{item.text.desc}}<br>
|
||||
<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>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
|
@ -510,7 +370,6 @@ TheDeskおよびCutls Pは<a href="https://donken.org/">被災地支援のため
|
|||
<script type="text/javascript" src="../../js/common/about.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/end.js"></script>
|
||||
<script type="text/javascript" src="../../js/login/logout.js"></script>
|
||||
<script type="text/javascript" src="../../js/lang/lang.js"></script>
|
||||
<script type="text/javascript" src="../../js/ui/spotify.js"></script>
|
||||
<script type="text/javascript" src="../../js/tl/speech.js"></script>
|
||||
<script type="text/javascript" src="../../js/platform/pickr.js"></script>
|
||||
|
|
480
app/view/ps/setting.vue.js
Normal file
480
app/view/ps/setting.vue.js
Normal file
|
@ -0,0 +1,480 @@
|
|||
var yesno=[
|
||||
{
|
||||
text:"crwdns526:0crwdne526:0",
|
||||
value:"yes"
|
||||
},{
|
||||
text:"crwdns527:0crwdne527:0",
|
||||
value:"no"
|
||||
}
|
||||
];
|
||||
var envConstruction=[
|
||||
{
|
||||
id:"popup",
|
||||
storage:"popup",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
setValue:0,
|
||||
width:50,
|
||||
text:{
|
||||
head:"crwdns1898:0crwdne1898:0",
|
||||
desc:"crwdns536:0crwdne536:0",
|
||||
after:"crwdns537:0crwdne537:0"
|
||||
}
|
||||
},{
|
||||
id:"notf",
|
||||
storage:"nativenotf",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"crwdns538:0crwdne538:0",
|
||||
desc:"crwdns539:0crwdne539:0",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"width",
|
||||
storage:"width",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:50,
|
||||
setValue:300,
|
||||
text:{
|
||||
head:"crwdns2376:0crwdne2376:0",
|
||||
desc:"crwdns542:0crwdne542:0",
|
||||
after:"px crwdns543:0crwdne543:0"
|
||||
}
|
||||
},{
|
||||
id:"fixwidth",
|
||||
storage:"fixwidth",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
setValue:300,
|
||||
width:50,
|
||||
text:{
|
||||
head:"crwdns2378:0crwdne2378:0",
|
||||
desc:"crwdns2380:0crwdne2380:0",
|
||||
after:"px crwdns543:0crwdne543:0"
|
||||
}
|
||||
},{
|
||||
id:"size",
|
||||
storage:"size",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:50,
|
||||
setValue:13,
|
||||
text:{
|
||||
head:"crwdns546:0crwdne546:0",
|
||||
desc:'<span style="font-size:15px">15px(crwdns549:0crwdne549:0)</span>',
|
||||
after:"px"
|
||||
}
|
||||
},{
|
||||
id:"ha",
|
||||
storage:"ha",
|
||||
checkbox:true,
|
||||
setValue:false,
|
||||
text:{
|
||||
head:"@@hardwareAcceleration@@",
|
||||
desc:"@@hardwareAccelerationWarn@@",
|
||||
checkbox:[
|
||||
{
|
||||
text:"crwdns526:0crwdne526:0",
|
||||
value:"true"
|
||||
},{
|
||||
text:"crwdns527:0crwdne527:0",
|
||||
value:"false"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
];
|
||||
var tlConstruction=[
|
||||
{
|
||||
id:"time",
|
||||
storage:"datetype",
|
||||
checkbox:true,
|
||||
setValue:"absolute",
|
||||
text:{
|
||||
head:"crwdns551:0crwdne551:0",
|
||||
desc:'crwdns552:0crwdne552:0<br>crwdns553:0crwdne553:0<br>crwdns554:0crwdne554:0',
|
||||
checkbox:[
|
||||
{
|
||||
text:"crwdns555:0crwdne555:0",
|
||||
value:"relative"
|
||||
},{
|
||||
text:"crwdns1902:0crwdne1902:0",
|
||||
value:"absolute"
|
||||
},{
|
||||
text:"crwdns557:0crwdne557:0",
|
||||
value:"double"
|
||||
},{
|
||||
text:"crwdns558:0crwdne558:0",
|
||||
value:"medium"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"ul",
|
||||
storage:"locale",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"crwdns1904:0crwdne1904:0",
|
||||
desc:"crwdns1906:0crwdne1906:0",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"nsfw",
|
||||
storage:"nsfw",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"crwdns561:0crwdne561:0",
|
||||
desc:"crwdns562:0crwdne562:0",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"cw",
|
||||
storage:"cw",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"crwdns563:0crwdne563:0",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"rp",
|
||||
storage:"replyct",
|
||||
checkbox:true,
|
||||
setValue:"hidden",
|
||||
text:{
|
||||
head:"crwdns564:0crwdne564:0",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"crwdns565:0crwdne565:0",
|
||||
value:"hidden"
|
||||
},{
|
||||
text:"crwdns565:0crwdne565:0",
|
||||
value:"all"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"gif",
|
||||
storage:"gif",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"crwdns567:0crwdne567:0",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"tag",
|
||||
storage:"tag-range",
|
||||
checkbox:true,
|
||||
setValue:"local",
|
||||
text:{
|
||||
head:"crwdns572:0crwdne572:0",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"crwdns573:0crwdne573:0",
|
||||
value:"all"
|
||||
},{
|
||||
text:"crwdns574:0crwdne574:0",
|
||||
value:"local"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"via",
|
||||
storage:"viashow",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"crwdns575:0crwdne575:0",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"mov",
|
||||
storage:"mouseover",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"crwdns576:0crwdne576:0",
|
||||
desc:"crwdns577:0crwdne577:0",
|
||||
checkbox:[
|
||||
{
|
||||
text:"crwdns578:0crwdne578:0",
|
||||
value:"yes"
|
||||
},{
|
||||
text:"crwdns579:0crwdne579:0",
|
||||
value:"click"
|
||||
},{
|
||||
text:"crwdns527:0crwdne527:0",
|
||||
value:"no"
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"notfm",
|
||||
storage:"setasread",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"crwdns580:0crwdne580:0",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
checkbox:false,
|
||||
doubleText:true,
|
||||
data:[
|
||||
{
|
||||
id:"sentence",
|
||||
storage:"sentence",
|
||||
width:50,
|
||||
setValue:500,
|
||||
text:{after:"crwdns583:0crwdne583:0 crwdns543:0crwdne543:0 crwdns585:0crwdne585:0"}
|
||||
},{
|
||||
id:"letters",
|
||||
storage:"letters",
|
||||
width:50,
|
||||
setValue:7000,
|
||||
text:{after:"crwdns584:0crwdne584:0 crwdns543:0crwdne543:0"}
|
||||
}
|
||||
],
|
||||
text:{
|
||||
head:"crwdns581:0crwdne581:0",
|
||||
desc:"crwdns582:0crwdne582:0",
|
||||
}
|
||||
},{
|
||||
id:"img-height",
|
||||
storage:"img-height",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:80,
|
||||
setValue:200,
|
||||
text:{
|
||||
head:"crwdns586:0crwdne586:0",
|
||||
desc:"",
|
||||
after:"px"
|
||||
}
|
||||
},{
|
||||
id:"ticker",
|
||||
storage:"ticker_ok",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"crwdns1908:0crwdne1908:0",
|
||||
desc:'crwdns1910:0crwdne1910:0',
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"anime",
|
||||
storage:"animation",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"crwdns2446:0crwdne2446:0",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
}
|
||||
];
|
||||
var postConstruction=[
|
||||
{
|
||||
id:"cw-text",
|
||||
storage:"cw-text",
|
||||
checkbox:false,
|
||||
doubleText:false,
|
||||
width:150,
|
||||
setValue:"",
|
||||
text:{
|
||||
head:"crwdns590:0crwdne590:0",
|
||||
desc:"",
|
||||
after:""
|
||||
}
|
||||
},{
|
||||
checkbox:false,
|
||||
doubleText:true,
|
||||
data:[
|
||||
{
|
||||
id:"cw_sentence",
|
||||
storage:"cw_sentence",
|
||||
width:50,
|
||||
setValue:500,
|
||||
text:{after:"crwdns583:0crwdne583:0 crwdns543:0crwdne543:0 crwdns585:0crwdne585:0"}
|
||||
},{
|
||||
id:"cw_letters",
|
||||
storage:"cw_letters",
|
||||
width:50,
|
||||
setValue:7000,
|
||||
text:{after:"crwdns584:0crwdne584:0 crwdns543:0crwdne543:0"}
|
||||
}
|
||||
],
|
||||
text:{
|
||||
head:"crwdns588:0crwdne588:0",
|
||||
desc:"crwdns589:0crwdne589:0",
|
||||
}
|
||||
},{
|
||||
id:"cws",
|
||||
storage:"always-cw",
|
||||
checkbox:true,
|
||||
setValue:"no",
|
||||
text:{
|
||||
head:"crwdns591:0crwdne591:0",
|
||||
desc:"",
|
||||
checkbox:yesno
|
||||
}
|
||||
},{
|
||||
id:"vis",
|
||||
storage:"vis",
|
||||
checkbox:true,
|
||||
setValue:"public",
|
||||
text:{
|
||||
head:"crwdns592:0crwdne592:0",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"crwdns593:0crwdne593:0",
|
||||
value:"public"
|
||||
},{
|
||||
text:"crwdns594:0crwdne594:0",
|
||||
value:"unlisted"
|
||||
},{
|
||||
text:"crwdns595:0crwdne595:0",
|
||||
value:"private"
|
||||
},{
|
||||
text:"crwdns596:0crwdne596:0",
|
||||
value:"direct"
|
||||
},{
|
||||
text:"crwdns1912:0crwdne1912:0",
|
||||
value:"memory"
|
||||
},{
|
||||
text:"crwdns1914:0crwdne1914:0",
|
||||
value:"useapi"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"img",
|
||||
storage:"img",
|
||||
checkbox:true,
|
||||
setValue:"no-act",
|
||||
text:{
|
||||
head:"crwdns599:0crwdne599:0",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"crwdns600:0crwdne600:0",
|
||||
value:"url"
|
||||
},{
|
||||
text:"crwdns601:0crwdne601:0",
|
||||
value:"no-act"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"box",
|
||||
storage:"box",
|
||||
checkbox:true,
|
||||
setValue:"yes",
|
||||
text:{
|
||||
head:"crwdns568:0crwdne568:0",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"crwdns569:0crwdne569:0",
|
||||
value:"yes"
|
||||
},{
|
||||
text:"crwdns571:0crwdne571:0",
|
||||
value:"no"
|
||||
},{
|
||||
text:"crwdns570:0crwdne570:0",
|
||||
value:"absolute"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"quote",
|
||||
storage:"quote",
|
||||
checkbox:true,
|
||||
setValue:"nothing",
|
||||
text:{
|
||||
head:"crwdns603:0crwdne603:0",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"crwdns604:0crwdne604:0",
|
||||
value:"simple"
|
||||
},{
|
||||
text:"crwdns605:0crwdne605:0",
|
||||
value:"mention"
|
||||
},{
|
||||
text:"crwdns606:0crwdne606:0",
|
||||
value:"full"
|
||||
},{
|
||||
text:"@@notqt@@",
|
||||
value:"nothing"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"main",
|
||||
storage:"mainuse",
|
||||
checkbox:true,
|
||||
setValue:"remain",
|
||||
text:{
|
||||
head:"crwdns607:0crwdne607:0",
|
||||
desc:"crwdns608:0crwdne608:0",
|
||||
checkbox:[
|
||||
{
|
||||
text:"crwdns609:0crwdne609:0",
|
||||
value:"remain"
|
||||
},{
|
||||
text:"crwdns610:0crwdne610:0",
|
||||
value:"main"
|
||||
}
|
||||
]
|
||||
}
|
||||
},{
|
||||
id:"sec",
|
||||
storage:"sec",
|
||||
checkbox:true,
|
||||
setValue:"public",
|
||||
text:{
|
||||
head:"crwdns1916:0crwdne1916:0",
|
||||
desc:"",
|
||||
checkbox:[
|
||||
{
|
||||
text:"crwdns1920:0crwdne1920:0",
|
||||
value:"nothing"
|
||||
},{
|
||||
text:"crwdns593:0crwdne593:0",
|
||||
value:"public"
|
||||
},{
|
||||
text:"crwdns594:0crwdne594:0",
|
||||
value:"unlisted"
|
||||
},{
|
||||
text:"crwdns595:0crwdne595:0",
|
||||
value:"private"
|
||||
},{
|
||||
text:"crwdns596:0crwdne596:0",
|
||||
value:"direct"
|
||||
},{
|
||||
text:"crwdns1922:0crwdne1922:0",
|
||||
value:"local",
|
||||
kirishima:true,
|
||||
kirishimaText:"非対応インスタンスでは「未収載」になります。"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
Loading…
Reference in New Issue
Block a user