Titlebar(test)

This commit is contained in:
Cutls 2019-03-13 00:51:07 +09:00
parent 28e39cdd3d
commit 2856aec405
28 changed files with 240 additions and 63 deletions

View File

@ -9,6 +9,26 @@ html,body{
background-color: var(--bg);
color: var(--color);
}
body{
border: thin solid gray;
}
#titlebar{
font-family: Open Sans;
background-color: var(--notfbox);
-webkit-app-region: drag;
width: 100vw;
height: 2.5rem;
padding: 0.5rem;
}
#titlebar i{
-webkit-app-region: no-drag;
}
#tb-btns{
right: 0;
top: 0;
position: absolute;
cursor: pointer;
}
.btn {
margin: 5px;
text-transform: none;

View File

@ -64,6 +64,10 @@
}
#emoji {
}
#suggest{
max-height:300px;
overflow-y: scroll;
}
#emoji-list {
width: 100%;

View File

@ -111,6 +111,7 @@ iframe {
height: 100vh;
flex: 1;
border: thin solid gray;
border-top:none;
}
.box .pin,#his-data .pin{
display:none;
@ -242,6 +243,9 @@ grid-area: toot;
font-size:1.2rem;
margin-right:2px;
}
.action .fa-quote-right{
margin-top: 2px;
}
.actct{
color:var(--beforehover);
}

View File

@ -101,7 +101,8 @@ var lang={
"lang_tags_always":"Always toots with ",
"lang_tags_realtime":"Tag-stream toot",
"lang_tags_tagunpin":"Unpin {{tag}}",
"lang_tags_tagwarn":"When you toot without {{tag}}, tag-streaming mode will be off.",
"lang_tags_unrealtime":"Disable TsT",
"lang_tags_tagwarn":"Auto complete {{tag}}, if toot without {{tag}}",
//tl/tl.js
"lang_tl_media":"Media",
"lang_tl_reconnect":"Reconnect to streaming API",

View File

@ -101,7 +101,8 @@ var lang={
"lang_tags_always":"常に",
"lang_tags_realtime":"実況",
"lang_tags_tagunpin":"{{tag}}をよく使うタグから削除",
"lang_tags_tagwarn":"次に{{tag}}なしでトゥートするまで全てのトゥートに{{tag}}が付与されます。",
"lang_tags_unrealtime":"実況解除",
"lang_tags_tagwarn":"{{tag}}がない場合自動で補完されます。",
//tl/tl.js
"lang_tl_media":"メディア",
"lang_tl_reconnect":"Streamingに再接続しました",

View File

@ -5,6 +5,7 @@
localStorage.removeItem("kirishima")
localStorage.removeItem("imas")
localStorage.removeItem("image");
localStorage.removeItem("stable")
localStorage.setItem("mode_misskey.xyz","misskey")
function ck() {
var main = localStorage.getItem("main");

View File

@ -15,6 +15,7 @@ function emojiToggle() {
if ($("#emoji").hasClass("hide")) {
$("#emoji").removeClass("hide")
$("#right-side").show()
$("#suggest").html("");
if (!localStorage.getItem("emoji_" + acct_id)) {
var html =
'<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet(\'true\');">'+lang.lang_emoji_get+'</button>';
@ -25,6 +26,7 @@ function emojiToggle() {
} else {
$("#poll").addClass("hide")
$("#emoji").addClass("hide")
$("#suggest").html("");
$("#right-side").hide()
}

View File

@ -45,6 +45,7 @@ function post(mode,postvis) {
}else{
var cw_ltres=localStorage.getItem("cw_letters");
}
if(domain!="kirishima.cloud"){
if(mode!="pass" && !$("#cw").hasClass("cw-avail") && (str.length>cw_sent || (str.split("\n").length - 1)>cw_ltres)){
var electron = require("electron");
var remote=electron.remote;
@ -69,6 +70,7 @@ function post(mode,postvis) {
})
return false;
}
}
if(localStorage.getItem("mode_" + domain)=="misskey"){
misskeyPost();
return;
@ -78,6 +80,9 @@ function post(mode,postvis) {
var at = localStorage.getItem("acct_"+ acct_id + "_at");
var start = "https://" + domain + "/api/v1/statuses";
var reply = $("#reply").val();
if(str.indexOf(localStorage.getItem("stable"))==-1){
str+" #"+localStorage.getItem("stable");
}
var toot={
status: str
}
@ -106,6 +111,7 @@ function post(mode,postvis) {
toot.status=str+"👁️";
}
//ここに非公開・未収載タグについてwarn
if(domain!="kirishima.cloud" && domain!="imastodon.net"){
if(~str.indexOf("#")){
if(vis == "local" || vis=="unlisted" || vis=="direct" || vis=="private"){
if(!confirm(lang.lang_post_tagVis)){
@ -113,6 +119,7 @@ function post(mode,postvis) {
}
}
}
}
if ($("#cw").hasClass("cw-avail")) {
var spo = $("#cw-text").val();
cw();
@ -166,11 +173,7 @@ function post(mode,postvis) {
httpreq.send(JSON.stringify(toot));
httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) {
if(str.indexOf(localStorage.getItem("stable"))==-1){
localStorage.removeItem("stable")
}
var json = httpreq.response;
console.log(json);
var box = localStorage.getItem("box");
if (box == "yes" || !box) {
$("#textarea").blur();
@ -261,7 +264,7 @@ function misskeyPost(){
function clear() {
$("#textarea").val("");
if(localStorage.getItem("stable")){
$("#textarea").val(localStorage.getItem("stable"));
$("#textarea").val("#"+localStorage.getItem("stable")+" ")
}
$("#textarea").attr("placeholder", lang.lang_toot);
$("#reply").val("");

View File

@ -13,6 +13,13 @@ input.addEventListener("focus", function() {
window.clearInterval(timer);
timer = window.setInterval(function() {
var new_val = input.value;
if(new_val==""){
$("#suggest").html("");
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
$("#right-side").hide()
}
return;
}
if (prev_val != new_val) {
var semoji = new_val.match(/:(\S{3,})/);
if(semoji){
@ -32,7 +39,15 @@ input.addEventListener("focus", function() {
}
}
}
if(ehtml!=""){
$("#right-side").show()
$("#poll").addClass("hide")
$("#emoji").addClass("hide")
}else{
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
$("#right-side").hide()
}
}
$("#suggest").html(ehtml);
}
@ -52,7 +67,10 @@ input.addEventListener("focus", function() {
} else if (acct && acct[1]) {
var q = acct[1];
}else {
//$("#suggest").html("");
$("#suggest").html("");
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
$("#right-side").hide()
}
return;
}
var domain = localStorage.getItem("domain_" + acct_id);
@ -72,24 +90,38 @@ input.addEventListener("focus", function() {
todo(error);
console.error(error);
}).then(function(json) {
if (json.hashtags[0] && tag[1]) {
if (json.hashtags[0] && tag) {
if(tag[1]){
var tags = "";
Object.keys(json.hashtags).forEach(function(key4) {
var tag = json.hashtags[key4];
if(tag!=q){
tags = tags + '<a onclick="tagInsert(\'#' + tag + '\',\'#' + q +
'\')" class="pointer">#' + tag + '</a> ';
'\')" class="pointer">#' + tag + '</a><br>';
}
});
$("#suggest").html("Tags:" + tags);
$("#right-side").show()
$("#suggest").html("Tags:<br>" + tags);
$("#poll").addClass("hide")
$("#emoji").addClass("hide")
}
} else if (json.accounts[0] && acct[1]) {
var accts = "";
Object.keys(json.accounts).forEach(function(key3) {
var acct = json.accounts[key3];
if(acct.acct!=q){
accts = accts + '<a onclick="tagInsert(\'@' + acct.acct +
'\',\'@' + q + '\')" class="pointer">@' + acct.acct + '</a> ';
'\',\'@' + q + '\')" class="pointer">@' + acct.acct + '</a><br>';
}
});
$("#suggest").html("@:" + accts);
$("#right-side").show()
$("#suggest").html("@:<br>" + accts);
$("#poll").addClass("hide")
$("#emoji").addClass("hide")
} else {
$("#suggest").html("Not Found");
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
$("#right-side").hide()
}
}
});
}
@ -121,6 +153,9 @@ function tagInsert(code, del) {
}
$("#textarea").val(newt);
$("#textarea").focus();
if($("#poll").hasClass("hide") && $("#emoji").hasClass("hide")){
$("#right-side").hide()
}
$("#suggest").html("");
}
function cgNPs(q){

View File

@ -1,10 +1,15 @@
/*リプライ*/
function re(id,at,acct_id,mode){
function re(id,ats_cm,acct_id,mode){
clear();
var ats=ats_cm.split(',');
localStorage.setItem("nohide",true);
show();
$("#reply").val(id);
for(var i=0;i<ats.length;i++){
var at=ats[i];
var te=$("#textarea").val();
$("#textarea").val("@"+at+" "+te);
}
$("#rec").text(lang.lang_yesno);
$("#post-acct-sel").val(acct_id);
$("#post-acct-sel").prop("disabled", true);
@ -32,6 +37,9 @@ function qt(id,acct_id,at,url){
if(!qt){
var qt="simple";
}
if(qt=="nothing"){
return false;
}
if(qt=="simple"){
show();
$("#textarea").val("\n"+url);

View File

@ -44,7 +44,7 @@ function notfColumn(acct_id, tlid, sys){
httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) {
var json = httpreq.response;
var max_id = httpreq.getResponseHeader("link").match(/\?max_id=([0-9]+)/)[1];
var max_id = httpreq.getResponseHeader("link").match(/[?&]{1}max_id=([0-9]+)/)[1];
if(json[0]){
var templete="";
var lastnotf=localStorage.getItem("lastnotf_" + acct_id);
@ -397,7 +397,7 @@ function notfmore(tlid) {
if (httpreq.readyState === 4) {
var json = httpreq.response;
console.log(json);
var max_id = httpreq.getResponseHeader("link").match(/\?max_id=([0-9]+)/)[1];
var max_id = httpreq.getResponseHeader("link").match(/[?&]{1}max_id=([0-9]+)/)[1];
if(json[0]){
var templete="";
var lastnotf=localStorage.getItem("lastnotf_" + acct_id);

View File

@ -8,7 +8,6 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
localStorage.setItem("lastunix_"+ tlid,date(obj[0].created_at, 'unix'));
}
var actb = localStorage.getItem("action_btns");
var actb='re,rt,fav,qt,del,pin,red';
if(actb){
var actb = actb.split(',');
@ -22,6 +21,12 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
disp[actb[k]]=tp;
}
}
var qt = localStorage.getItem("quote");
if(qt=="nothing"){
var qtClass="hide";
}else{
var qtClass="";
}
var datetype = localStorage.getItem("datetype");
var nsfwtype = localStorage.getItem("nsfw");
var sent = localStorage.getItem("sentence");
@ -503,12 +508,27 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
//メンションであれば
if (menck) {
mentions = "";
var to_mention=[];
Object.keys(toot.mentions).forEach(function(key3) {
var mention = toot.mentions[key3];
mentions = mentions + '<a onclick="udg(\'' + mention.id + '\',' +
acct_id + ')" class="pointer">@' + mention.acct + '</a> ';
//自分は除外
//自インスタンスかどうかを確認し、IDの一致
if(mention.acct==mention.username && mention.id==localStorage.getItem("user-id_" + acct_id)){
//自分
}else{
//そのトゥの人NG
if(toot.account.acct!=mention.acct){
to_mention.push(mention.acct);
}
}
});
to_mention.push(toot.account.acct);
mentions = '<div style="float:right">' + mentions + '</div>';
}else{
var to_mention=[toot.account.acct];
}
var tagck = toot.tags[0];
var tags = "";
@ -726,7 +746,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
'<div class="action">'+vis+'</div>'+
'<div class="action '+antinoauth+'"><a onclick="detEx(\''+toot.url+'\',\'main\')" class="waves-effect waves-dark details" style="padding:0">'+lang.lang_parse_det+'</a></div>' +
'<div class="action '+disp["re"]+' '+noauth+'"><a onclick="re(\'' + toot.id +
'\',\'' + toot.account.acct + '\',' +
'\',\'' + to_mention + '\',' +
acct_id + ',\''+visen+
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="'+lang.lang_parse_replyto+'"><i class="fa fa-share"></i><span class="rep_ct">' + replyct +
'</a></span></a></div>' +
@ -735,7 +755,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter) {
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="'+lang.lang_parse_bt+'"><i class="fa fa-retweet ' +
if_rt + ' rt_' + toot.id + '"></i><span class="rt_ct">' + toot.reblogs_count +
'</span></a></div>' +
'<div class="action '+can_rt+' '+disp["qt"]+' '+noauth+'"><a onclick="qt(\'' + toot.id + '\',' + acct_id +
'<div class="action '+can_rt+' '+disp["qt"]+' '+noauth+' '+qtClass+'"><a onclick="qt(\'' + toot.id + '\',' + acct_id +
',\'' + toot.account.acct +'\',\''+toot.url+
'\')" class="waves-effect waves-dark btn-flat actct" style="padding:0" title="'+lang.lang_parse_quote+'"><i class="text-darken-3 fa fa-quote-right"></i></a></div>' +
'<div class="action '+disp["fav"]+' '+noauth+'"><a onclick="fav(\'' + toot.id + '\',' + acct_id +

View File

@ -54,10 +54,19 @@ function favTag(){
var obj = JSON.parse(tagarr);
}
var tags="";
var nowPT=localStorage.getItem("stable")
Object.keys(obj).forEach(function(key) {
var tag = obj[key];
tags = tags + '<a onclick="tagShow(\'' + tag + '\')" class="pointer">#' + tag + '</a><span class="hide" data-tag="' + tag + '"> <a onclick="tagTL(\'tag\',\'' + tag + '\',false,\'add\')" class="pointer" title="' +lang.lang_parse_tagTL.replace("{{tag}}" ,'#'+tag)+ '">TL</a> <a onclick="brInsert(\'#' + tag + '\')" class="pointer" title="' + lang.lang_parse_tagtoot.replace("{{tag}}" ,'#'+tag) + '">Toot</a> '+
'<a onclick="autoToot(\'#' + tag + ' \');brInsert(\'#' + tag + ' \')" class="pointer" title="'+lang.lang_tags_always + lang.lang_parse_tagtoot.replace("{{tag}}" ,'#'+tag) + '">'+lang.lang_tags_realtime+'</a> <a onclick="tagRemove(\'' + key + '\')" class="pointer" title="' +lang.lang_tags_tagunpin.replace("{{tag}}" ,'#'+tag)+ '">'+lang.lang_del+'</a></span> ';
if(nowPT!=tag){
console.log(nowPT+"/"+tag);
var ptt=lang.lang_tags_realtime;
var nowon="";
}else{
var ptt=lang.lang_tags_unrealtime;
var nowon="("+lang.lang_tags_realtime+")";
}
tags = tags + '<a onclick="tagShow(\'' + tag + '\')" class="pointer">#' + tag + '</a>'+nowon+'<span class="hide" data-tag="' + tag + '"> <a onclick="tagTL(\'tag\',\'' + tag + '\',false,\'add\')" class="pointer" title="' +lang.lang_parse_tagTL.replace("{{tag}}" ,'#'+tag)+ '">TL</a> <a onclick="brInsert(\'#' + tag + '\')" class="pointer" title="' + lang.lang_parse_tagtoot.replace("{{tag}}" ,'#'+tag) + '">Toot</a> '+
'<a onclick="autoToot(\'' + tag + '\');" class="pointer" title="'+lang.lang_tags_always + lang.lang_parse_tagtoot.replace("{{tag}}" ,'#'+tag) + '">'+ptt+'</a> <a onclick="tagRemove(\'' + key + '\')" class="pointer" title="' +lang.lang_tags_tagunpin.replace("{{tag}}" ,'#'+tag)+ '">'+lang.lang_del+'</a></span> ';
});
if(obj.length>0){
$("#taglist").append("My Tags:" + tags);
@ -106,6 +115,14 @@ function tagTL(a,b,c,d){
tl(a,b,acct_id,d);
}
function autoToot(tag){
var nowPT=localStorage.getItem("stable")
if(nowPT==tag){
localStorage.removeItem("stable");
Materialize.toast(lang.lang_tags_unrealtime,3000);
}else{
localStorage.setItem("stable",tag);
Materialize.toast(lang.lang_tags_tagwarn +replace("{{tag}}" ,tag).replace("{{tag}}" ,tag),3000);
Materialize.toast(lang.lang_tags_tagwarn.replace("{{tag}}" ,tag).replace("{{tag}}" ,tag),3000);
brInsert('#' + tag+" ")
}
favTag();
}

18
app/js/ui/menubar.js Normal file
View File

@ -0,0 +1,18 @@
function quit(){
console.log("quit")
var electron = require("electron");
var ipc = electron.ipcRenderer;
ipc.send('quit', 'go');
}
function minimize(){
console.log("mini")
var electron = require("electron");
var ipc = electron.ipcRenderer;
ipc.send('minimize', 'go');
}
function maxToggle(){
console.log("max")
var electron = require("electron");
var ipc = electron.ipcRenderer;
ipc.send('maximize', 'go');
}

View File

@ -1,6 +1,7 @@
/*ささやきボックス(Cr民並感)*/
//✕隠す
function hide() {
$("#right-side").hide()
$('#post-box').fadeOut()
$("#post-box").removeClass("appear")
$("#emoji").addClass("hide")

View File

@ -83,7 +83,9 @@ function createWindow() {
var bit=process.arch;
if(platform=="linux"){
var arg={width:window_size.width,height:window_size.height,x:window_size.x,y:window_size.y,icon: __dirname + '/desk.png'}
}else{
}else if(platform=="win32"){
var arg={width:window_size.width,height:window_size.height,x:window_size.x,y:window_size.y,simpleFullscreen:true}
}else if(platform=="darwin"){
var arg={width:window_size.width,height:window_size.height,x:window_size.x,y:window_size.y,simpleFullscreen:true}
}
mainWindow = new BrowserWindow(arg);
@ -143,8 +145,13 @@ app.on('ready', createWindow);
var onError = function(err,response){
console.error(err,response);
};
var ipc = electron.ipcMain;
ipc.on('minimize', function(e, args) {
mainWindow.minimize();
});
ipc.on('maximize', function(e, args) {
mainWindow.isMaximized() ? mainWindow.unmaximize() : mainWindow.maximize();
});
ipc.on('native-notf', function(e, args) {
var platform=process.platform;
var bit=process.arch;

View File

@ -125,7 +125,6 @@ var tlid=0;
<span class="sml gray pointer anti-markdown mize">
<a onclick="mdToggle()">Markdownエディタを表示</a>
</span>
<span id="suggest"></span>
</div>
<div class="col s12 mize" style="margin-top: 0; display:flex; justify-content: space-between">
<i class="waves-effect gray material-icons" id="nsfw" title="Mark media as sensitive" onclick="nsfw()">visibility_off</i>
@ -202,6 +201,7 @@ var tlid=0;
</div>
</div>
<div id="right-side">
<div id="suggest"></div>
<!--絵文字ピッカー-->
<div id="emoji" class="hide">
<span class="gray sml">
@ -880,3 +880,4 @@ var tlid=0;
<script type="text/javascript" src="../../js/emoji/emojipack.js"></script>
<script type="text/javascript" src="../../js/emoji/default-emoji.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script type="text/javascript" src="../../js/ui/menubar.js"></script>

View File

@ -255,6 +255,11 @@
<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>
<br>
<h5>{{actionBtns}}</h5>
<input type="text" style="width:150px" id="action_btns"><br>
{{actionBtnsDesc}}<br>
{{alltoots}}<input type="text" style="width:50px" id="icons">{{icons}}
</div>
</li>
<li>
@ -320,8 +325,9 @@
<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>
<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>
@ -462,6 +468,7 @@
<li>X:Toggle toot box</li>
<li>Ctrl+Enter:Post</li>
<li>Ctrl+Enter+Shift:Post(secondary toot)</li>
<li>Alt+Enter:Secondary Toot Button</li>
<li>Ctrl+E:Make all notifications read</li>
<li>Esc:Hide toot box</li>
<li>F5:Super Reload</li>

View File

@ -125,7 +125,6 @@ var tlid=0;
<span class="sml gray pointer anti-markdown mize">
<a onclick="mdToggle()">Markdownエディタを表示</a>
</span>
<span id="suggest"></span>
</div>
<div class="col s12 mize" style="margin-top: 0; display:flex; justify-content: space-between">
<i class="waves-effect gray material-icons" id="nsfw" title="画像に制限を付与" onclick="nsfw()">visibility_off</i>
@ -202,6 +201,7 @@ var tlid=0;
</div>
</div>
<div id="right-side">
<div id="suggest"></div>
<!--絵文字ピッカー-->
<div id="emoji" class="hide">
<span class="gray sml">サーバーによって実装が異なります。
@ -880,3 +880,4 @@ var tlid=0;
<script type="text/javascript" src="../../js/emoji/emojipack.js"></script>
<script type="text/javascript" src="../../js/emoji/default-emoji.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script type="text/javascript" src="../../js/ui/menubar.js"></script>

View File

@ -255,6 +255,11 @@
<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>
<br>
<h5>{{actionBtns}}</h5>
<input type="text" style="width:150px" id="action_btns"><br>
{{actionBtnsDesc}}<br>
{{alltoots}}<input type="text" style="width:50px" id="icons">{{icons}}
</div>
</li>
<li>
@ -320,8 +325,9 @@
<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>
<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>
@ -462,6 +468,7 @@
<li>X:投稿パネルを開閉</li>
<li>Ctrl+Enter:投稿</li>
<li>Ctrl+Enter+Shift:投稿(セカンダリートゥート)</li>
<li>Alt+Enter:セカンダリートゥートボタン</li>
<li>Ctrl+E:全ての通知を既読にする</li>
<li>Esc:投稿パネルを消す</li>
<li>F5:スーパーリロード</li>

View File

@ -125,7 +125,6 @@ var tlid=0;
<span class="sml gray pointer anti-markdown mize">
<a onclick="mdToggle()">Markdownエディタを表示</a>
</span>
<span id="suggest"></span>
</div>
<div class="col s12 mize" style="margin-top: 0; display:flex; justify-content: space-between">
<i class="waves-effect gray material-icons" id="nsfw" title="{{nsfwDes}}" onclick="nsfw()">visibility_off</i>
@ -202,6 +201,7 @@ var tlid=0;
</div>
</div>
<div id="right-side">
<div id="suggest"></div>
<!--絵文字ピッカー-->
<div id="emoji" class="hide">
<span class="gray sml">{{emojiWarn}}
@ -582,17 +582,18 @@ 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-0" class="release-do" style="display:none; ">
<div id="release-Miria_17-2-1" 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.0)</h5>
カスタムテーマを実装。Misskeyのテーマとの一定の互換性あり。<a href="https://assets.msky.cafe/" target="_blank">MiAS</a>から80を超えるテーマを入手。
<a href="https://thedesk.top/mias.html">注意点</a><br>
Misskeyのログイン方法変更につき、いちいちDevCenterに行かなくてもよくなりました。<br>
日本語でベタ書きしていたダイアログを一部多言語対応に変更。<br>
<h5>Release Note Miria (17.2.1)</h5>
Alt+Enterでセカンダリートゥートボタン<br>
引用ボタンを表示しない設定(引用形式設定を「使用しない」)<br>
実況機能をまともに書き直した。<br>
サジェストをトゥートボックスの右に<br>
ハードウェアアクセラレーションを無効化するオプション。(設定の表示などが乱れるときに設定)<br>
返信時に「@」が複数含まれない仕様を訂正<br>
<img class="emoji" draggable="false" alt="⚠" src="https://twemoji.maxcdn.com/2/72x72/26a0.png">TheDeskのMisskeyについての機能追加は終了しています。<br>
</div>
<br><br>
@ -880,3 +881,4 @@ var tlid=0;
<script type="text/javascript" src="../../js/emoji/emojipack.js"></script>
<script type="text/javascript" src="../../js/emoji/default-emoji.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script type="text/javascript" src="../../js/ui/menubar.js"></script>

View File

@ -104,6 +104,7 @@
"simple":"Only URL",
"mention":"URL and acct(mention to the user)",
"full":"URL, text and acct(mention to the user)",
"notqt":"Disabled(Hide buttons on TLs)",
"main":"Default accounts of actions",
"mainwarn":"Main account can be set on Account Manager.",
"lastacct":"Account you used recently",

View File

@ -104,6 +104,7 @@
"simple":"URLのみ",
"mention":"URLとアカウント名(相手に通知)",
"full":"本文・URL・アカウント名",
"notqt":"使わない(TL上にボタンも表示されません)",
"main":"投稿後や起動時のアカウント",
"mainwarn":"メインアカウントはアカウント設定で指定できます。投稿以外のアカウント選択にも影響します。",
"lastacct":"最後に使用したアカウント",

View File

@ -255,6 +255,11 @@
<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>
<br>
<h5>{{actionBtns}}</h5>
<input type="text" style="width:150px" id="action_btns"><br>
{{actionBtnsDesc}}<br>
{{alltoots}}<input type="text" style="width:50px" id="icons">{{icons}}
</div>
</li>
<li>
@ -320,8 +325,9 @@
<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>
<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>
@ -462,6 +468,7 @@
<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>

View File

@ -20,13 +20,13 @@ body,html{overflow-y: scroll;}
.card .colorsel div.exc{width:40px;height:20px;}
</style>
<meta charset="utf-8">
{{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}}
</head>
<body id="mainView">
<script type="text/javascript" src="../../js/common/jquery.js"></script>

View File

@ -13,13 +13,13 @@
<link href='../../css/sort.css' rel='stylesheet' type='text/css'>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300|Baloo+Bhai" rel="stylesheet">
<meta charset="utf-8">
{{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}}
</head>
<body>
<script type="text/javascript" src="../../js/common/jquery.js"></script>
@ -125,7 +125,6 @@ var tlid=0;
<span class="sml gray pointer anti-markdown mize">
<a onclick="mdToggle()">Markdownエディタを表示</a>
</span>
<span id="suggest"></span>
</div>
<div class="col s12 mize" style="margin-top: 0; display:flex; justify-content: space-between">
<i class="waves-effect gray material-icons" id="nsfw" title="crwdns389:0crwdne389:0" onclick="nsfw()">visibility_off</i>
@ -202,6 +201,7 @@ var tlid=0;
</div>
</div>
<div id="right-side">
<div id="suggest"></div>
<!--絵文字ピッカー-->
<div id="emoji" class="hide">
<span class="gray sml">crwdns409:0crwdne409:0
@ -880,3 +880,4 @@ var tlid=0;
<script type="text/javascript" src="../../js/emoji/emojipack.js"></script>
<script type="text/javascript" src="../../js/emoji/default-emoji.js"></script>
<script type="text/javascript" src="../../js/platform/end.js"></script>
<script type="text/javascript" src="../../js/ui/menubar.js"></script>

View File

@ -2,13 +2,13 @@
<html lang="ps">
<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">
@ -255,6 +255,11 @@
<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>
<br>
<h5>{{actionBtns}}</h5>
<input type="text" style="width:150px" id="action_btns"><br>
{{actionBtnsDesc}}<br>
{{alltoots}}<input type="text" style="width:50px" id="icons">{{icons}}
</div>
</li>
<li>
@ -320,8 +325,9 @@
<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>
<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>
@ -462,6 +468,7 @@
<li>X:crwdns650:0crwdne650:0</li>
<li>Ctrl+Enter:crwdns651:0crwdne651:0</li>
<li>Ctrl+Enter+Shift:crwdns1924:0crwdne1924:0</li>
<li>Alt+Enter:crwdns1916:0crwdne1916:0</li>
<li>Ctrl+E:crwdns652:0crwdne652:0</li>
<li>Esc:crwdns653:0crwdne653:0</li>
<li>F5:crwdns654:0crwdne654:0</li>

View File

@ -6,13 +6,13 @@
<link href="../../css/master.css" type="text/css" rel="stylesheet">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons|Open+Sans:300" rel="stylesheet">
<meta charset="utf-8">
{{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}}
</head>
<body>
<style>