Compare commits

..

36 Commits

Author SHA1 Message Date
cutls
f50c2d3049 fix np on macos 2019-10-12 01:33:40 +09:00
cutls
9957bd9b8a fix np on macos 2019-10-12 01:31:15 +09:00
cutls
e6767dc3f9 fix np on macos 2019-10-12 01:29:16 +09:00
cutls
136935d4f9 fix macOS np 2019-10-12 01:11:29 +09:00
cutls
d654b63bca Fix: macOS NP 2019-10-12 01:08:33 +09:00
cutls
3ba4dee8a7 TheDesk Usamin (18.11.2) 2019-10-12 00:46:52 +09:00
cutls
48028a8e09 Add: description of images 2019-10-12 00:18:43 +09:00
cutls
1917531c54 cannot fav and bt 2019-10-11 23:50:25 +09:00
cutls
f74e2262dc Fix en not showing settings menu 2019-10-11 22:04:28 +09:00
cutls
2971144d7f Fix fav and bt errors 2019-10-11 22:04:14 +09:00
cutls
2e2723427b Fix travis error 2019-10-11 00:46:59 +09:00
cutls
ee6127ffcc Fix: travis error 2019-10-11 00:42:01 +09:00
cutls
dcd6fa6958 Add: release note 2019-10-11 00:22:41 +09:00
cutls
7442216962 TheDesk Usamin (18.11.1) 2019-10-11 00:04:31 +09:00
cutls
bb0c781daa Merge branch 'master' of github.com:cutls/TheDesk 2019-10-11 00:00:08 +09:00
cutls
56e5a5ac53 #135 package update 2019-10-10 23:59:57 +09:00
Cutls
419fa4906d Merge pull request #136 from cutls/dependabot/npm_and_yarn/app/electron-6.0.12
Bump electron from 6.0.11 to 6.0.12 in /app
2019-10-10 23:59:27 +09:00
Cutls
16e7617b1e Merge pull request #138 from cutls/dependabot/npm_and_yarn/app/sweetalert2-8.18.3
Bump sweetalert2 from 8.18.0 to 8.18.3 in /app
2019-10-10 23:59:05 +09:00
dependabot-preview[bot]
2ca5798f89 Bump sweetalert2 from 8.18.0 to 8.18.3 in /app
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 8.18.0 to 8.18.3.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v8.18.0...v8.18.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-10 02:41:08 +00:00
cutls
a08ddc1b8c Merge branch 'master' of github.com:cutls/TheDesk 2019-10-09 23:05:32 +09:00
cutls
83153e2777 Merge branch 'l10n_master' of github.com:cutls/TheDesk 2019-10-09 23:02:40 +09:00
cutls
5b72b93248 Add: custom advanced theme 2019-10-09 23:00:46 +09:00
cutls
c7d911451c Fix error of non display_name acct 2019-10-09 23:00:25 +09:00
Cutls
c400cc317d Merge pull request #137 from kPherox/macos-quit-window-all-closed
Change to quit when window all closed in macOS
2019-10-09 15:22:21 +09:00
dependabot-preview[bot]
50784c9958 Bump electron from 6.0.11 to 6.0.12 in /app
Bumps [electron](https://github.com/electron/electron) from 6.0.11 to 6.0.12.
- [Release notes](https://github.com/electron/electron/releases)
- [Commits](https://github.com/electron/electron/compare/v6.0.11...v6.0.12)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-09 02:32:39 +00:00
cutls
c4a5d406c7 Add Custom Themes scheme 2019-10-09 01:14:27 +09:00
kPherox
d933eef8cc Change to quit when window all closed in macOS 2019-10-08 23:51:50 +09:00
cutls
ce84069429 WIP Fix #131 2019-10-08 23:46:59 +09:00
cutls
8140e56cbc Notification on Windows(can use render-process-based notification) 2019-10-08 23:26:21 +09:00
cutls
de40e0e22a Fix #132 2019-10-08 23:25:44 +09:00
cutls
44ccd111b2 Fix error on Linux 2019-10-08 22:04:51 +09:00
Cutls
7ac0889b78 Add some version 2019-10-05 22:48:21 +09:00
Cutls
c4a5996b21 New translations main.json (Spanish, Argentina) 2019-10-05 14:13:03 +09:00
Cutls
9eaca7bcb2 New translations index.json (Spanish, Argentina) 2019-10-05 14:13:01 +09:00
Cutls
90629aecb4 Add: always sensitive on 2019-10-05 03:51:05 +09:00
Cutls
cb6a75de3b Fix: lang selector 2019-10-05 03:50:49 +09:00
29 changed files with 1100 additions and 1031 deletions

2
.gitignore vendored
View File

@@ -20,3 +20,5 @@ app/view/cs
app/view/ps
app/view/es-AR
app/git
*.code-workspace
releasenote.md

View File

@@ -336,7 +336,7 @@ blockquote:before,
#menu {
position: fixed;
z-index: 9999;
background-color: var(--box);
background-color: var(--postbox);
width: 540px;
top: calc(50% - 150px);
left: calc(50% - 250px);
@@ -475,6 +475,12 @@ textarea {
#src-contents svg {
margin-right: 5px;
}
.contributor {
cursor: pointer;
}
.contributor img {
width: 1rem;
}
/*スクロールバー*/
::-webkit-scrollbar {

View File

@@ -291,7 +291,12 @@ function refresh(target, loadskip) {
localStorage.setItem("user-id_" + target, json["id"]);
localStorage.setItem("prof_" + target, avatar);
localStorage.setItem("follow_" + target, json["following_count"]);
console.log(obj)
if(json["source"]["sensitive"]){
localStorage.setItem("nsfw_" + target, "true");
}else{
localStorage.removeItem("nsfw_" + target);
}
obj[target] = ref;
var json = JSON.stringify(obj);
localStorage.setItem("multi", json);
if (!loadskip) {

View File

@@ -695,6 +695,11 @@ function refresh(target) {
localStorage.setItem("user_" + target, json["acct"]);
localStorage.setItem("user-id_" + target, json["id"]);
localStorage.setItem("prof_" + target, avatar);
if(json["source"]["sensitive"]){
localStorage.setItem("nsfw_" + target, "true");
}else{
localStorage.removeItem("nsfw_" + target);
}
obj[target] = ref;
var json = JSON.stringify(obj);
localStorage.setItem("multi", json);

View File

@@ -2,36 +2,35 @@
var obj = $("body");
var system;
//ドラッグスタート
obj.on('dragstart', function (e) {
system = "locked"
obj.on("dragstart", function(e) {
system = "locked";
});
//何もなくファイルが通過
obj.on('dragend', function (e) {
obj.on("dragend", function(e) {
system = "";
});
//ドラッグファイルが画面上に
obj.on('dragenter', function (e) {
obj.on("dragenter", function(e) {
if (system != "locked") {
$("#drag").css('display', 'flex');
$("#drag").css("display", "flex");
}
});
$("body").on('dragover', function (e) {
$("body").on("dragover", function(e) {
e.stopPropagation();
e.preventDefault();
});
//ドロップした
$("body").on('drop', function (e) {
$("body").on("drop", function(e) {
if (system != "locked") {
$("#drag").css('display', 'none');
$("#drag").css("display", "none");
e.preventDefault();
var files = e.originalEvent.dataTransfer.files;
pimg(files);
}
});
//何もなくファイルが通過
$("#drag").on('dragleave', function (e) {
$("#drag").css('display', 'none');
$("#drag").on("dragleave", function(e) {
$("#drag").css("display", "none");
});
//複数アップ
@@ -40,9 +39,8 @@ function pimg(files) {
for (i = 0; i < files.length; i++) {
var dot = files[i].path.match(/\.(.+)$/)[1];
if (dot == "bmp" || dot == "BMP") {
postMessage(["bmpImage", [files[i].path, i]], "*")
postMessage(["bmpImage", [files[i].path, i]], "*");
todo(lang.lang_progress);
} else {
handleFileUpload(files[i], obj, i);
}
@@ -50,21 +48,21 @@ function pimg(files) {
}
//ドラッグ・アンド・ドロップを終了
function closedrop() {
$("#drag").css('display', 'none');
$("#drag").css("display", "none");
}
//ファイル選択
function fileselect() {
postMessage(["sendSinmpleIpc", "file-select"], "*")
postMessage(["sendSinmpleIpc", "file-select"], "*");
}
//ファイル読み込み
function handleFileUpload(files, obj, no) {
var fr = new FileReader();
fr.onload = function (evt) {
fr.onload = function(evt) {
var b64 = evt.target.result;
$('#b64-box').val(b64);
var ret = media(b64, files["type"], no)
}
$("#b64-box").val(b64);
var ret = media(b64, files["type"], no);
};
fr.readAsDataURL(files);
$("#mec").append(files["name"] + "/");
}
@@ -79,7 +77,7 @@ function media(b64, type, no) {
r += c[Math.floor(Math.random() * cl)];
}
if ($("#media").val()) {
$("#media").val($("#media").val() + ',' + "tmp_" + r);
$("#media").val($("#media").val() + "," + "tmp_" + r);
} else {
$("#media").val("tmp_" + r);
}
@@ -89,14 +87,14 @@ function media(b64, type, no) {
todo("Image Upload...");
var media = toBlob(b64, type);
var fd = new FormData();
fd.append('file', media);
fd.append("file", media);
var acct_id = $("#post-acct-sel").val();
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_" + acct_id + "_at");
var httpreq = new XMLHttpRequest();
if (localStorage.getItem("mode_" + domain) == "misskey") {
var start = "https://" + domain + "/api/drive/files/create";
httpreq.open('POST', start, true);
httpreq.open("POST", start, true);
httpreq.upload.addEventListener("progress", progshow, false);
httpreq.responseType = "json";
if ($("#nsfw").hasClass("nsfw-avail")) {
@@ -104,20 +102,20 @@ function media(b64, type, no) {
} else {
var nsfw = false;
}
var previewer = "url"
fd.append('i', at);
var previewer = "url";
fd.append("i", at);
//fd.append('isSensitive', nsfw);
httpreq.send(fd);
} else {
var previewer = "preview_url"
var previewer = "preview_url";
var start = "https://" + domain + "/api/v1/media";
httpreq.open('POST', start, true);
httpreq.open("POST", start, true);
httpreq.upload.addEventListener("progress", progshow, false);
httpreq.responseType = "json";
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
httpreq.setRequestHeader("Authorization", "Bearer " + at);
httpreq.send(fd);
}
httpreq.onreadystatechange = function () {
httpreq.onreadystatechange = function() {
if (httpreq.readyState === 4) {
var json = httpreq.response;
if (!json.id) {
@@ -125,17 +123,17 @@ function media(b64, type, no) {
$("#imgup").text("");
$(".toot-btn-group").prop("disabled", false);
$("#post-acct-sel").prop("disabled", false);
$('select').formSelect();
$("select").formSelect();
$("#imgsel").show();
M.toast({ html: lang.lang_postimg_failupload, displayLength: 5000 })
return false
M.toast({ html: lang.lang_postimg_failupload, displayLength: 5000 });
return false;
}
var img = localStorage.getItem("img");
if (json.type.indexOf("image") != -1) {
var html = '<img src="' + json[previewer] + '" class="preview-img pointer" data-media="' + json["id"] + '" onclick="deleteImage(\'' + json["id"] + '\')" title="' + lang.lang_postimg_delete + '">';
$('#preview').append(html);
var html = '<img src="' + json[previewer] + '" class="preview-img pointer" data-media="' + json["id"] + '" oncontextmenu="deleteImage(\'' + json["id"] + "')\" onclick=\"altImage('" + acct_id + "','" + json["id"] + '\')" title="' + lang.lang_postimg_delete + '">';
$("#preview").append(html);
} else {
$('#preview').append(lang.lang_postimg_previewdis);
$("#preview").append(lang.lang_postimg_previewdis);
}
if (!img) {
var img = "no-act";
@@ -145,26 +143,30 @@ function media(b64, type, no) {
var regExp = new RegExp("tmp_" + r, "g");
mediav = mediav.replace(regExp, json["id"]);
$("#media").val(mediav);
}
if (img == "url") {
$("#textarea").val($("#textarea").val() + " " + json["text_url"])
$("#textarea").val($("#textarea").val() + " " + json["text_url"]);
}
todc();
if (localStorage.getItem("nsfw_" + acct_id)) {
$("#nsfw").addClass("yellow-text");
$("#nsfw").html("visibility");
$("#nsfw").addClass("nsfw-avail");
}
$(".toot-btn-group").prop("disabled", false);
$('select').formSelect();
$("select").formSelect();
$("#mec").text(lang.lang_there);
M.toast({ html: lang.lang_postimg_aftupload, displayLength: 1000 })
M.toast({ html: lang.lang_postimg_aftupload, displayLength: 1000 });
$("#imgup").text("");
$("#imgsel").show();
localStorage.removeItem("image");
}
}
};
}
//Base64からBlobへ
function toBlob(base64, type) {
var bin = atob(base64.replace(/^.*,/, ''));
var bin = atob(base64.replace(/^.*,/, ""));
var buffer = new Uint8Array(bin.length);
for (var i = 0; i < bin.length; i++) {
buffer[i] = bin.charCodeAt(i);
@@ -182,14 +184,14 @@ function toBlob(base64, type) {
}
//画像を貼り付けたら…
var element = document.querySelector("#textarea");
element.addEventListener("paste", function (e) {
element.addEventListener("paste", function(e) {
if (!e.clipboardData || !e.clipboardData.items) {
return true;
}
// DataTransferItemList に画像が含まれいない場合は終了する
var imageItems = [...e.clipboardData.items].filter(i => i.type.startsWith('image'));
var imageItems = [...e.clipboardData.items].filter(i => i.type.startsWith("image"));
if (imageItems.length == 0) {
console.warn("it is not image")
console.warn("it is not image");
return true;
}
@@ -200,7 +202,7 @@ element.addEventListener("paste", function (e) {
// FileReaderで読み込む
var fr = new FileReader();
fr.onload = function (e) {
fr.onload = function(e) {
// onload内ではe.target.resultにbase64が入っているのであとは煮るなり焼くなり
var base64 = e.target.result;
var mediav = $("#media").val();
@@ -208,7 +210,7 @@ element.addEventListener("paste", function (e) {
var i = mediav.split(",").length;
}
// DataTransferItem の type に mime tipes があるのでそれを使う
media(base64, imageType, i)
media(base64, imageType, i);
};
fr.readAsDataURL(imageFile);
@@ -217,13 +219,13 @@ element.addEventListener("paste", function (e) {
function deleteImage(key) {
Swal.fire({
title: lang.lang_postimg_delete,
type: 'warning',
type: "warning",
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: lang.lang_yesno,
cancelButtonText: lang.lang_no
}).then((result) => {
}).then(result => {
if (result.value) {
var media = $("#media").val();
var arr = media.split(",");
@@ -234,8 +236,54 @@ function deleteImage(key) {
}
}
$("#media").val(arr.join(","));
$('#preview [data-media=' + key + ']').remove();
$("#preview [data-media=" + key + "]").remove();
}
})
});
}
function altImage(acct_id, id) {
var domain = localStorage.getItem("domain_" + acct_id);
var at = localStorage.getItem("acct_" + acct_id + "_at");
var start = "https://" + domain + "/api/v1/media/" + id;
}
Swal.fire({
title: lang.lang_postimg_desc,
text: lang.lang_postimg_leadContext,
input: "text",
inputAttributes: {
autocapitalize: "off"
},
showCancelButton: true,
confirmButtonText: "Post",
showLoaderOnConfirm: true,
preConfirm: data => {
return fetch(start, {
method: "PUT",
headers: {
"content-type": "application/json",
Authorization: "Bearer " + at
},
body: JSON.stringify({
description: data
})
})
.then(function(response) {
return response.json();
})
.catch(function(error) {
todo(error);
console.error(error);
})
.then(function(json) {
console.log(json)
$("[data-media=" + id + "]").attr("title", data);
});
},
allowOutsideClick: () => !Swal.isLoading()
}).then(result => {
if (result.value) {
Swal.fire({
title: "Complete",
});
}
});
}

File diff suppressed because it is too large Load Diff

View File

@@ -268,19 +268,7 @@ function misskeyParse(obj, mix, acct_id, tlid, popup, mutefilter) {
body: toot.user.name + "(" + toot.user.username + ")" + what + "\n\n" + $.strip_tagstemp(toot.note.text),
icon: toot.user.avatarUrl
};
if (os == "darwin") {
var n = new Notification('TheDesk:' + domain, options);
} else {
var nativeNotfOpt = [
'TheDesk:' + domain,
toot.user.name + "(" + toot.user.username + ")" + what + "\n\n" + $.strip_tagstemp(toot.note.text),
toot.user.avatarUrl,
"toot",
acct_id,
toot.note.id
]
postMessage(["nativeNotf", nativeNotfOpt], "*")
}
var n = new Notification('TheDesk:' + domain, options);
}
if (localStorage.getItem("hasNotfC_" + acct_id) != "true") {
$(".notf-icon_" + acct_id).addClass("red-text");
@@ -917,19 +905,7 @@ function misskeyUserparse(obj, auth, acct_id, tlid, popup) {
icon: toot.avatar
};
var domain = localStorage.getItem("domain_" + acct_id);
if (os == "darwin") {
var n = new Notification('TheDesk:' + domain, options);
} else {
var nativeNotfOpt = [
'TheDesk:' + domain,
toot.display_name + "(" + toot.acct + ")" + ftxt,
toot.avatar,
"userdata",
acct_id,
toot.id
]
postMessage(["nativeNotf", nativeNotfOpt], "*")
}
var n = new Notification('TheDesk:' + domain, options);
}
}
if (toot.name) {

View File

@@ -63,12 +63,7 @@ function notfColumn(acct_id, tlid, sys) {
body: ct + lang.lang_notf_new,
icon: localStorage.getItem("prof_" + acct_id)
};
if (os == "darwin") {
var n = new Notification('TheDesk:' + domain, options);
} else {
var nativeNotfOpt = ['TheDesk:' + domain, ct + lang.lang_notf_new, localStorage.getItem("prof_" + acct_id)]
postMessage(["nativeNotf", nativeNotfOpt], "*")
}
var n = new Notification('TheDesk:' + domain, options);
}
if (localStorage.getItem("filter_" + acct_id) != "undefined") {
@@ -178,12 +173,7 @@ function notfCommon(acct_id, tlid, sys) {
body: ct + lang.lang_notf_new,
icon: localStorage.getItem("prof_" + acct_id)
};
if (os == "darwin") {
var n = new Notification('TheDesk:' + domain, options);
} else {
var nativeNotfOpt = ['TheDesk:' + domain, ct + lang.lang_notf_new, localStorage.getItem("prof_" + acct_id)]
postMessage(["nativeNotf", nativeNotfOpt], "*")
}
var n = new Notification('TheDesk:' + domain, options);
}
if (localStorage.getItem("filter_" + acct_id) != "undefined") {

File diff suppressed because one or more lines are too long

View File

@@ -55,6 +55,7 @@ function show() {
}
$('#post-box').fadeIn();
$('#textarea').characterCounter();
mdCheck()
}
$(function () {

View File

@@ -258,12 +258,7 @@ function notftest() {
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 {
var nativeNotfOpt = ['TheDesk' + lang.lang_setting_notftest, lang.lang_setting_notftest + '(' + lang.lang_setting_notftestprof + ')', localStorage.getItem('prof_0'), "", ""]
postMessage(["nativeNotf", nativeNotfOpt], "*")
}
var n = new Notification('TheDesk' + lang.lang_setting_notftest, options);
}
function oks(no) {
@@ -523,14 +518,38 @@ function customComp() {
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");
if($("#pickers").hasClass("advanceTheme")){
var accentC = $("#color-picker3_value").val();
if (!accentC) { accentC = null }
var activeC = $("#color-picker4_value").val();
if (!activeC) { activeC = null }
var modalC = $("#color-picker5_value").val();
if (!modalC) { modalC = null }
var bottomC = $("#color-picker6_value").val();
if (!bottomC) { bottomC = null }
var postboxC = $("#color-picker7_value").val();
if (!postboxC) { postboxC = null }
var subcolorC = $("#color-picker8_value").val();
if (!subcolorC) { subcolorC = null }
var advanceTheme = {
"TheDeskAccent": accentC,
"TheDeskActive": activeC,
"TheDeskModal": modalC,
"TheDeskBottom": bottomC,
"TheDeskPostbox": postboxC,
"TheDeskSubcolor": subcolorC
}
}else{
var advanceTheme = {}
}
var my = JSON.parse(multi)[0].name;
var id = $("#custom-edit-sel").val();
if (id == "add_new") {
id = makeCID();
}
localStorage.setItem("customtheme-id", id)
var json = {
"name": nameC,
"author": my,
@@ -541,29 +560,21 @@ function customComp() {
"secondary": secondaryC,
"text": textC
},
"props": {
"TheDeskAccent": accentC
},
"props": advanceTheme,
"id": id
}
$("#custom_json").val(JSON.stringify(json));
themes();
themes("custom");
$("#custom").prop("checked", true);
$("#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");
for(var i =0;i <= 8; i++){
$("#color-picker" + i + "-wrap").html('<div class="color-picker" id="color-picker' + i + '"></div>')
$("#color-picker" + i + "_value").val("");
pickerDefine(i, "fff");
}
postMessage(["themeJsonCreate", JSON.stringify(json)], "*")
}
function deleteIt() {
@@ -572,18 +583,11 @@ function deleteIt() {
$("#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");
for(var i =0;i <= 8; i++){
$("#color-picker" + i + "-wrap").html('<div class="color-picker" id="color-picker' + i + '"></div>')
$("#color-picker" + i + "_value").val("");
pickerDefine(i, "fff");
}
postMessage(["themeJsonDelete", id], "*")
}
function ctLoad() {
@@ -615,49 +619,58 @@ function custom() {
$("#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");
for(var i =0;i <= 8; i++){
$("#color-picker" + i + "-wrap").html('<div class="color-picker" id="color-picker' + i + '"></div>')
$("#color-picker" + i + "_value").val("");
pickerDefine(i, "fff");
}
$("#delTheme").addClass("disabled")
} else {
$("#delTheme").removeClass("disabled")
postMessage(["themeJsonRequest", id], "*")
}
}
function customConnect(args) {
function customConnect(raw) {
var args = raw[0]
$("#custom_name").val(args.name);
$("#custom_desc").val(args.desc);
$("#" + args.base).prop("checked", true);
//Primary
$("#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);
//Secondary
$("#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);
//Text
$("#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))
//TheDesk Only
advancedConncet(args, "TheDeskAccent", "secondary", 3)
advancedConncet(args, "TheDeskActive", "primary", 4)
advancedConncet(args, "TheDeskModal", "secondary", 5)
advancedConncet(args, "TheDeskBottom", "primary", 6)
advancedConncet(args, "TheDeskPostbox", "primary", 7)
advancedConncet(args, "TheDeskSubcolor", "primary", 8)
$("#custom_json").val(raw[1]);
}
function advancedConncet(args, tar, sub, i){
if (args.props) {
if (args.props.TheDeskAccent) {
var accent = args.props.TheDeskAccent;
if (args.props[tar]) {
var color = args.props[tar];
$("#pickers").addClass("advanceTheme")
$(".advanced").removeClass("hide")
} else {
var accent = args.vars.secondary;
var color = args.vars[sub];
}
} else {
var accent = args.vars.secondary;
var color = args.vars[sub];
}
$("#color-picker3-wrap").html('<div class="color-picker" id="color-picker3"></div>')
pickerDefine(3, rgbToHex(accent))
$("#custom_json").val(JSON.stringify(args));
$("#color-picker"+i+"-wrap").html('<div class="color-picker" id="color-picker'+i+'"></div>')
$("#color-picker"+i+"_value").val(color);
pickerDefine(i, rgbToHex(color))
}
function customImp() {
var json = $("#custom_import").val();
@@ -670,6 +683,10 @@ function customImp() {
})
}
}
function advanced(){
$(".advanced").toggleClass("hide")
$("#pickers").toggleClass("advanceTheme")
}
function clearCustomImport() {
$("#custom_import").val("");
}

View File

@@ -134,14 +134,18 @@ function npCore(arg) {
media(arg.path, "image/png", "new");
}
} else if (platform == "darwin") {
if (flag && arg.existsArtwork) {
media(arg.artworks[0].data, "image/png", "new");
if (flag && arg.artwork) {
media(arg.artwork, "image/png", "new");
}
}
var regExp = new RegExp("{song}", "g");
content = content.replace(regExp, arg.name);
var regExp = new RegExp("{album}", "g");
content = content.replace(regExp, arg.album);
if(arg.album){
if(arg.album.name){
content = content.replace(regExp, arg.album.name);
}
}
var regExp = new RegExp("{artist}", "g");
content = content.replace(regExp, arg.artist);
var regExp = new RegExp("{url}", "g");

View File

@@ -99,16 +99,8 @@ function isFile(file) {
}
// 全てのウィンドウが閉じたら終了
app.on('window-all-closed', function () {
if (process.platform != 'darwin') {
electron.session.defaultSession.clearCache(() => { })
app.quit();
}
});
// macOSでウィンドウを閉じた後に再度開けるようにする
app.on('activate', function () {
if (mainWindow == null) {
createWindow();
}
electron.session.defaultSession.clearCache(() => { })
app.quit();
});
function createWindow() {

View File

@@ -23,7 +23,7 @@ function css(mainWindow) {
ipc.on('theme-json-create', function (e, arg) {
var themecss = join(app.getPath("userData"), JSON5.parse(arg)["id"] +
".thedesktheme");
fs.writeFileSync(themecss, JSON.stringify(JSON5.parse(arg)));
fs.writeFileSync(themecss, JSON5.stringify(JSON5.parse(arg)));
if (JSON5.parse(arg)["id"]) {
e.sender.webContents.send('theme-json-create-complete', "");
} else {
@@ -39,13 +39,14 @@ function css(mainWindow) {
})
ipc.on('theme-json-request', function (e, arg) {
var themecss = join(app.getPath("userData"), arg + ".thedesktheme");
var json = JSON.parse(fs.readFileSync(themecss, 'utf8'));
e.sender.webContents.send('theme-json-response', json);
var raw = fs.readFileSync(themecss, 'utf8')
var json = JSON5.parse(raw);
e.sender.webContents.send('theme-json-response', [json, raw]);
})
ipc.on('theme-css-request', function (e, arg) {
var themecss = join(app.getPath("userData"), arg + ".thedesktheme");
try {
var json = JSON.parse(fs.readFileSync(themecss, 'utf8'));
var json = JSON5.parse(fs.readFileSync(themecss, 'utf8'));
var primary = json.vars.primary;
var secondary = json.vars.secondary;
@@ -67,21 +68,52 @@ function css(mainWindow) {
if (json.props.TheDeskAccent) {
var emphasized = json.props.TheDeskAccent
} else {
var emphasized = secondary;
var emphasized = secondary
}
if (json.props.TheDeskActive) {
var active = json.props.TheDeskActive
} else {
var active = primary
}
if (json.props.TheDeskModal) {
var modal = json.props.TheDeskModal
} else {
var modal = secondary
}
if (json.props.TheDeskBottom) {
var bottom = json.props.TheDeskBottom
} else {
var bottom = primary
}
if (json.props.TheDeskPostbox) {
var postbox = json.props.TheDeskPostbox
} else {
var postbox = primary
}
if (json.props.TheDeskSubcolor) {
var subcolor = json.props.TheDeskSubcolor
} else {
var subcolor = primary
}
} else {
var emphasized = primary;
var emphasized = primary
var acs = secondary
var active = primary
var modal = secondary
var bottom = primary
var postbox = primary
var subcolor = primary
}
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:" +
modal + ";--subcolor:" + subcolor + ";--box:" + subcolor +
";--sidebar:" + bottom + ";--shared:" + emphasized + ";" +
"--notfbox:" + secondary + ";--emphasized:" + active + ";--his-data:" +
secondary +
";--active:" + primary + ";--postbox:" + primary + ";--modalfooter:" +
";--active:" + active + ";--postbox:" + postbox + ";--modalfooter:" +
primary +
";--accentbtn:" + primary + ";--selected:" + selected + ";--selectedWithShare:" + selectedWithShare + "}"+
";--accentbtn:" + subcolor + ";--selected:" + selected + ";--selectedWithShare:" + selectedWithShare + "}"+
"--gray:" + gray + ";"+
".customtheme #imagemodal{background: url(\"../img/pixel.svg\");}";
e.sender.webContents.send('theme-css-response', css);
@@ -92,15 +124,19 @@ function css(mainWindow) {
})
ipc.on('theme-json-list', function (e, arg) {
fs.readdir(app.getPath("userData"), function (err, files) {
if (err) throw err;
if (err || !files) throw err;
var fileList = files.filter(function (file) {
var tfile = join(app.getPath("userData"), file);
return fs.statSync(tfile).isFile() && /.*\.thedesktheme$/.test(tfile); //絞り込み
if(file.match(/\.thedesktheme$/)){
var tfile = join(app.getPath("userData"), file)
return fs.statSync(tfile).isFile() && /.*\.thedesktheme$/.test(tfile)
}else{
return null
}
})
var themes = [];
for (var i = 0; i < fileList.length; i++) {
var themecss = join(app.getPath("userData"), fileList[i]);
var json = JSON.parse(fs.readFileSync(themecss, 'utf8'));
var json = JSON5.parse(fs.readFileSync(themecss, 'utf8'));
themes.push({
name: json.name,
id: json.id

View File

@@ -15,7 +15,11 @@ function np(mainWindow) {
if (platform == "darwin") {
try {
const nowplaying = require("itunes-nowplaying-mac");
const value = await nowplaying.getRawData();
let value = await nowplaying();
const artwork = await nowplaying.getThumbnailBuffer(value.databaseID);
const base64 = artwork.toString('base64');
value.artwork = base64
e.sender.webContents.send('itunes-np', value);
} catch (error) {
// エラーを返す

View File

@@ -1,6 +1,6 @@
{
"name": "thedesk",
"version": "18.11.0",
"version": "18.11.2",
"description": "TheDesk is a Mastodon client for PC.",
"repository": "https://github.com/cutls/TheDesk",
"main": "main.js",
@@ -58,15 +58,15 @@
"materialize-css": "^1.0.0",
"node-notifier": "^6.0.0",
"sumchecker": "^3.0.0",
"sweetalert2": "^8.18.0",
"sweetalert2": "^8.18.3",
"vue": "^2.6.10"
},
"optionalDependencies": {
"font-manager": "^0.3.0",
"itunes-nowplaying-mac": "kPherox/itunes-nowplaying-mac#get-artworks-base64"
"itunes-nowplaying-mac": "0.3.1"
},
"devDependencies": {
"electron": "^6.0.11",
"electron": "^6.0.12",
"electron-builder": "^21.1.5",
"electron-rebuild": "^1.8.6",
"readline-sync": "1.4.10"
@@ -107,7 +107,8 @@
"icon": "build/icons",
"target": [
"zip",
"snap"
"snap",
"deb"
],
"category": "Network"
},

View File

@@ -4,7 +4,8 @@
"プロフィールディレクトリの表示",
"ホワイトリスト式のトレンドタグ(3.0の機能)",
"Featuredハッシュタグの追加",
"ホームタイムラインと通知タイムラインの未読管理"
"ホームタイムラインと通知タイムラインの未読管理",
"自分がどの選択肢に投票したかを表示"
],
"2.9.3": [],
"2.9.2": [],
@@ -18,7 +19,8 @@
"アンケートの作成と投票",
"keybase等のアカウント認証対応",
"検索のオフセット等",
"ブロックされているアカウントを表示したときに「ブロックされています」と表示"
"ブロックされているアカウントを表示したときに「ブロックされています」と表示",
"公開範囲を指定してブースト"
],
"2.7.4": [],
"2.7.3": [],
@@ -73,7 +75,10 @@
"1.6.1": [],
"1.6.0": ["トゥートのピン留め"],
"1.5.1": [],
"1.5.0": ["Mastodonのサーバー規定値による投稿範囲の変更"],
"1.5.0": [
"Mastodonのサーバー規定値による投稿範囲の変更",
"Mastodonのサーバー規定値による閲覧注意画像設定"
],
"1.4.7": [],
"1.4.6": [],
"1.4.5": [],

View File

@@ -718,22 +718,76 @@
<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-Usamin_18-11-0" class="release-do" style="display:none; ">
<div id="release-Usamin_18-11-2" 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>
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
<h5>Release Note Usamin (18.11.0)</h5>
設定やアカウントマネージャーでウィンドウを閉じるときに時間がかかる不具合を修正<br>
・公開範囲を指定してブースト<br>
・ストリーミングの再接続を無限に繰り返す不具合を修正<br>
・たまにアカウント選択とその左のアイコンが一致しないことがあったので修正<br>
アルゼンチン方言スペイン語を追加<br>
・カスタム絵文字のカテゴリ分けを表示(絞り込みはまだ)<br>
・ログインするときにバージョンの制約で使用できない機能をリスト表示するように<br>
・トレンドタグのグラフのデザイン変更<br>
・開発ツールを自動で展開<br>
棒読みちゃんと連携(要設定)<br>
<h5>Release Note Usamin (18.11.2)</h5>
お気に入り登録/BTできない不具合を修正
<a onclick="udgEx('Cutls@cutls.com','main')" class="contributor">
<img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">Cutls
</a>
画像に説明を追加し、TLに表示する。
<a onclick="udgEx('Cutls@cutls.com','main')" class="contributor">
<img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">Cutls
</a>
<h5>Release Note Usamin (18.11.1)</h5>
WIP: iTunesのNowPlayingをCatalina(つまりミュージックアプリ)に対応
<a onclick="udgEx('toneji@minohdon.jp','main')" class="contributor">
<img src="https://user-images.githubusercontent.com/17561618/66582029-162df380-ebbc-11e9-8a6f-1832b3a35d89.png">toneji
</a>
<a onclick="udgEx('Cutls@cutls.com','main')" class="contributor">
<img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">Cutls
</a>
<a onclick="udgEx('rinsuki@mstdn.rinsuki.net','main')" class="contributor">
<img src="https://user-images.githubusercontent.com/17561618/66582300-83da1f80-ebbc-11e9-8a76-b3513fe3300f.png">rinsuki
</a>(External package)
<br>
・テーマとして設定できる色の項目数が倍増
<a onclick="udgEx('Cutls@cutls.com','main')" class="contributor">
<img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">Cutls
</a>
<br>
・macOSで閉じたときの挙動を変更。すべてのプラットフォームで同じ挙動をします。
<a onclick="udgEx('kPherox@pl.kpherox.dev','main')" class="contributor">
<img src="https://user-images.githubusercontent.com/17561618/66582379-a3714800-ebbc-11e9-8402-d81a35a3be9f.png">kPherox
</a>
<a onclick="udgEx('toneji@minohdon.jp','main')" class="contributor">
<img src="https://user-images.githubusercontent.com/17561618/66582029-162df380-ebbc-11e9-8a6f-1832b3a35d89.png">toneji
</a>
<br>
・お気に入り登録時のカウンターがおかしい不具合を修正
<a onclick="udgEx('osapon@mstdn.nere9.help','main')" class="contributor">
<img src="https://user-images.githubusercontent.com/17561618/66582531-eb906a80-ebbc-11e9-9969-7c245cb853c6.png">osapon
</a>
<a onclick="udgEx('Cutls@cutls.com','main')" class="contributor">
<img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">Cutls
</a>
<br>
・設定画面で機能しないリンクがあったのを修正
<a onclick="udgEx('osapon@mstdn.nere9.help','main')" class="contributor">
<img src="https://user-images.githubusercontent.com/17561618/66582531-eb906a80-ebbc-11e9-9969-7c245cb853c6.png">osapon
</a>
<a onclick="udgEx('Cutls@cutls.com','main')" class="contributor">
<img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">Cutls
</a><br>
・Windowsでの通知の方式を変更
<a onclick="udgEx('Cutls@cutls.com','main')" class="contributor">
<img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">Cutls
</a><br>
・Linuxの設定画面でのエラーを修正
<a onclick="udgEx('Cutls@cutls.com','main')" class="contributor">
<img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">Cutls
</a><br>
・APIレベルの「常に閲覧注意としてマーク」を追加
<a onclick="udgEx('Cutls@cutls.com','main')" class="contributor">
<img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">Cutls
</a><br>
・言語設定のデザインを変更
<a onclick="udgEx('Cutls@cutls.com','main')" class="contributor">
<img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">Cutls
</a><br>
</div>
<div id="release-en" style="display:none">
<h5>Let's make it native!</h5>

View File

@@ -56,7 +56,9 @@
"lang_postimg_previewdis": "cannot preview",
"lang_postimg_aftupload": "You cannot change accounts after uploading.",
"lang_postimg_failupload": "Failed",
"lang_postimg_delete": "Delete this image.",
"lang_postimg_delete": "Click to add description, right-click to delete this",
"lang_postimg_desc": "Description",
"lang_postimg_leadContext": "right-click the thumbnail to delete this",
"lang_post_tagTL": "This toot does not contain a default tag. This toot will not be shown on Local TL. Continue?",
"lang_post_tagVis": "This toot(not 'public' toot) is not shown on this tag's TL.",
"lang_post_cwtitle": "Auto CW Alert",

View File

@@ -35,6 +35,13 @@
"themeSel": "Select theme",
"customtheme": "Edit and add custom themes",
"customthemeDirection": "Color scheme",
"advanced":"Advanced options(6 additional colors)",
"advancedWarn":"Advanced options will be <i>null</i> if you set nothing, while basic 3 options will be white(<i>fff</i>). They(adv. options) will be reset if you saved with advanced panel closed.",
"active": "Background of Show or CW buttons, selected options...",
"modal": "Background of modals",
"bottom":"Background of bottom bar",
"postbox":"Background of post box and menu",
"subcolor":"Subcolor, has harmony with secondary color",
"primary": "Background color",
"secondarycolor": "Background of components",
"text": "Text color",
@@ -145,11 +152,11 @@
"linkwarn": "TheDesk save your data on thedesk.top server.",
"connect": "Connect",
"disconnect": "Disconnect",
"templeteedit": "Edit a template",
"templeteeditwarn": "",
"templete1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
"templete2": "macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}",
"templete3": "",
"templateedit": "Edit a template",
"templateeditwarn": "",
"template1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
"template2": "macOS:{song}:Song name/{album}:Album name/{artist}:Artist name/composer:{composer}/spampling rate:{hz}/bit rate:{bitRate}/genre:{genre}",
"template3": "",
"postartwork": "Attach an Artwork of Spotify",
"tts": "TTS(text to speech) Preferences",
"bouyomi": "BouyomiChan connect",

View File

@@ -62,7 +62,7 @@
"btedPeople": "Gente que lo retooteó",
"useOtherAcct1": "Usar otra cuenta",
"useOtherAcct2": ":Dejar de marcar como favorito y deshacer retoot están deshabilitados.",
"btWithVis": "Boost with visibility",
"btWithVis": "Retoots visibles",
"reply": "Responder",
"bt": "Retootear",
"favRegist": "Marcar como favorito",

View File

@@ -52,7 +52,7 @@
"lang_emoji_get": "Obtené emojis",
"lang_emoji_custom": "Emojis personalizados",
"lang_defaultemojis_text": "Emojis de {{cat}}",
"lang_emoji_uncat": "Uncategorized",
"lang_emoji_uncat": "Sin categoría",
"lang_postimg_previewdis": "no se puede previsualizar",
"lang_postimg_aftupload": "No podés cambiar cuentas después de subir.",
"lang_postimg_failupload": "Falló",
@@ -165,7 +165,7 @@
"lang_parse_url": "Analizador de direcciones web",
"lang_parse_tagTL": "Línea temporal de {{tag}}",
"lang_parse_tagtoot": "Toot con {{tag}}",
"lang_parse_tagpin": "Pin {{tag}}",
"lang_parse_tagpin": "Fijar {{tag}}",
"lang_parse_public": "Público",
"lang_parse_unlisted": "Sin listar",
"lang_parse_private": "Privado",

View File

@@ -56,7 +56,9 @@
"lang_postimg_previewdis": "プレビューできません。",
"lang_postimg_aftupload": "アップロード後はアカウントを切り替えられません。",
"lang_postimg_failupload": "アップロードに失敗しました。",
"lang_postimg_delete": "この画像を削除します",
"lang_postimg_delete": "クリック: 画像に説明を追加/右クリック: 削除",
"lang_postimg_desc": "説明",
"lang_postimg_leadContext": "画像を削除するためには右クリック",
"lang_post_tagTL": "デフォルトタグが挿入されていません。このまま投稿するとローカルには表示されません。",
"lang_post_tagVis": "公開範囲が「公開」以外だと、タグTLに表示されません。(一部インスタンスを除く)",
"lang_post_cwtitle": "長文投稿の警告",

View File

@@ -35,10 +35,17 @@
"themeSel": "テーマの選択",
"customtheme": "カスタムテーマの作成・編集",
"customthemeDirection": "色の系統",
"advanced":"拡張項目(6つ)を開く",
"advancedWarn":"拡張項目は設定しないと「指定なし」に、基本3項目は白(fff)になります。拡張項目を閉じた状態で「変更」すると拡張項目はすべてリセットされます。",
"primary": "全体の背景色など",
"secondarycolor": "補助要素に使われる背景色",
"text": "テキストの色",
"accent": "ブーストの背景色など",
"active": "CWボタンやメニュー選択時の背景色",
"modal": "モーダルウィンドウの背景色",
"bottom":"下のメニューバーの背景色",
"postbox":"投稿ボックスやメニューの色",
"subcolor":"背景に準ずる色",
"add_new": "新規作成",
"name": "名前",
"desc": "説明",
@@ -154,11 +161,11 @@
"tts": "読み上げの設定",
"bouyomi": "棒読みちゃん連携",
"bouyomiWarn": "「棒読みちゃん用のWebSocket受付プラグイン」が必要です。",
"speed": "読み上げの速さ",
"speed": "速さ",
"speedwarn": "1-100まで、デフォルトは10。",
"pitch": "読み上げの高さ",
"pitch": "高さ",
"pitchwarn": "0-100まで、デフォルトは50。(大きくなるほど高い)",
"vol": "読み上げの音量",
"vol": "音量",
"volwarn": "0-100まで、デフォルトは100。",
"volwarn80": "0-100まで、デフォルトは80。",
"test": "テスト",

View File

@@ -3,6 +3,9 @@
"download":"開始",
"portable":"ポータブル版",
"installer":"インストーラー版(推奨)",
"linux":"zip版",
"linuxdeb":"deb版(対応の場合推奨)",
"linuxsnap":"snap版",
"snap":"snap版はSnapcraft等よりDLしてください。",
"sureupd":"アップデートは必ず行ってください",
"skipupd":"アップデートをスキップする",

View File

@@ -1,5 +1,5 @@
const fs = require("fs")
let ver = "Usamin (18.11.0)"
let ver = "Usamin (18.11.2)"
const execSync = require('child_process').execSync;
let gitHash = execSync("git rev-parse HEAD").toString().trim()
fs.writeFileSync("../../git", gitHash)
@@ -10,8 +10,8 @@ if (process.argv.indexOf("--automatic") === -1) {
}
}
console.log("Constructing view files " + ver + ": make sure to update package.json")
const langs = ["ja", "en", "ps", "bg", "cs", "de", "es-AR"]
const langsh = ["日本語", "English", "Crowdin translate system(beta)", "български", "Česky", "Deutsch", "Spanish, Argentina"]
const langs = ["ja", "en", "bg", "cs", "de", "es-AR", "ps"]
const langsh = ["日本語", "English", "български", "Česky", "Deutsch", "Spanish, Argentina", "Crowdin translate system(beta)"]
const simples = ["acct", "index", "setting", "update", "setting"]
const samples = ["acct.sample.html", "index.sample.html", "setting.sample.html", "update.sample.html", "setting.sample.js"]
const pages = ["acct.html", "index.html", "setting.html", "update.html", "setting.vue.js"]
@@ -23,7 +23,7 @@ for (let n = 0; n < langs.length; n++) {
if (!fs.existsSync(targetDir)) {
fs.mkdirSync(targetDir);
}
langstr = langstr + '<a onclick="changelang(\'' + lang + '\')" class="pointer" style="margin-right:5px;">' + langsh[n] + '</a>'
langstr = langstr + '<a onclick="changelang(\'' + lang + '\')" class="pointer" style="margin:4px;border: 1px solid var(--color); padding: 3px">' + langsh[n] + '</a>'
fs.writeFileSync("../" + lang + "/main.js", fs.readFileSync("language/" + lang + "/main.json", 'utf8').replace(/^{/, "var lang = {"))
}
for (let i = 0; i < samples.length; i++) {
@@ -38,7 +38,9 @@ for (let i = 0; i < samples.length; i++) {
Object.keys(target).forEach(function (key) {
refKey.push(key)
let str = target[key]
str = str.replace(/"/g, '\\"')
if(pages[i]=="setting.vue.js"){
str = str.replace(/"/g, '\\"')
}
var regExp = new RegExp("@@" + key + "@@", "g")
source = source.replace(regExp, str)
})
@@ -50,6 +52,11 @@ for (let i = 0; i < samples.length; i++) {
} else {
var str = englishRefer[tarKey]
}
if(pages[i]=="setting.vue.js"){
if(str){
str = str.replace(/"/g, '\\"')
}
}
var regExp = new RegExp("@@" + tarKey + "@@", "g")
source = source.replace(regExp, str)
}

View File

@@ -46,7 +46,7 @@
</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>
To translate with Crowdin, you have to login Crowdin and restart TheDesk when login is finished.<br><br>
@@langlist@@
<h5>@@backup@@</h5>
<button onclick="exportSettings()" class="btn waves-effect lime darken-3"
@@ -160,7 +160,9 @@
<input class="with-gap" onchange="settings()" name="direction" type="radio" id="light"
value="light" />
<span>Light</span>
</label>
</label><br>
<button class="btn waves-effect" onclick="advanced()">@@advanced@@</button>
<span class="advanced hide">@@advancedWarn@@</span>
<div id="pickers">
<div>
<h5>Primary</h5>@@secondarycolor@@
@@ -183,13 +185,48 @@
</div>
<input type="hidden" id="color-picker2_value">
</div>
<div>
<div class="advanced hide">
<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 class="advanced hide">
<h5>Active</h5>@@active@@
<div id="color-picker4-wrap">
<div class="color-picker" id="color-picker4"></div>
</div>
<input type="hidden" id="color-picker4_value">
</div>
<div class="advanced hide">
<h5>Modal</h5>@@modal@@
<div id="color-picker5-wrap">
<div class="color-picker" id="color-picker5"></div>
</div>
<input type="hidden" id="color-picker5_value">
</div>
<div class="advanced hide">
<h5>Bottom</h5>@@bottom@@
<div id="color-picker6-wrap">
<div class="color-picker" id="color-picker6"></div>
</div>
<input type="hidden" id="color-picker6_value">
</div>
<div class="advanced hide">
<h5>Postbox</h5>@@postbox@@
<div id="color-picker7-wrap">
<div class="color-picker" id="color-picker7"></div>
</div>
<input type="hidden" id="color-picker7_value">
</div>
<div class="advanced hide">
<h5>Subcolor</h5>@@subcolor@@
<div id="color-picker8-wrap">
<div class="color-picker" id="color-picker8"></div>
</div>
<input type="hidden" id="color-picker8_value">
</div>
</div>
<button class="btn-large waves-effect" onclick="customComp()">@@change@@</button>&nbsp;<button
class="btn waves-effect red disabled" id="delTheme" onclick="deleteIt()">@@delete@@</button><br><br>

View File

@@ -92,7 +92,11 @@
<button class="waves-effect btn windows hide" onclick="update('portable')"
style="margin-left:15px;">@@portable@@</button>
<button class="waves-effect btn linux hide" onclick="update('linux')"
style="margin-left:15px;">@@download@@</button>
style="margin-left:15px;">@@linux@@</button>
<button class="waves-effect btn linux hide" onclick="update('linuxdeb')"
style="margin-left:15px;">@@linuxdeb@@</button>
<button class="waves-effect btn linux hide" onclick="update('linuxsnap')"
style="margin-left:15px;">@@linuxsnap@@</button>
<button class="waves-effect btn mac hide" onclick="update('mac')"
style="margin-left:15px;">@@download@@</button>
<br>
@@ -169,13 +173,17 @@
var file = "TheDesk-ia32.exe";
}
} else if (sel == "linux") {
if (bit == "x64") {
var url = json["linuxx64"];
var file = "TheDesk-linux-x64.zip";
} else if (bit == "ia32") {
var url = json["linuxia64"];
var file = "TheDesk-linux-ia32.zip";
}
var url = json["linuxx64"];
var file = "thedesk.zip";
} else if (sel == "linuxdeb") {
var url = json["linuxdeb"];
var url = json["mac"];
postMessage(["openUrl", url], "*")
return false;
} else if (sel == "linuxsnap") {
var url = json["linuxsnap"];
postMessage(["openUrl", url], "*")
return false;
} else if (sel == "mac") {
var url = json["mac"];
postMessage(["openUrl", url], "*")

View File

@@ -932,10 +932,10 @@ electron-rebuild@^1.8.6:
spawn-rx "^3.0.0"
yargs "^13.2.4"
electron@^6.0.11:
version "6.0.11"
resolved "https://registry.yarnpkg.com/electron/-/electron-6.0.11.tgz#64effa71397045779a1ddbf51312a41ccf26f491"
integrity sha512-mi1oHmeFIQrg+CDQ6lbugZAloOxuWPm/ecEKYe1230PGlDoWND7SYStiWQ2eI4YXAEOL/NvuY88ogemu1qhdBg==
electron@^6.0.12:
version "6.0.12"
resolved "https://registry.yarnpkg.com/electron/-/electron-6.0.12.tgz#85bf0061e32f660256cfde95488f1cb75253bc94"
integrity sha512-70ODZa1RP6K0gE9IV9YLCXPSyhLjXksCuYSSPb3MljbfwfHo5uE6X0CGxzm+54YuPdE2e7EPnWZxOOsJYrS5iQ==
dependencies:
"@types/node" "^10.12.18"
electron-download "^4.1.0"
@@ -2700,10 +2700,10 @@ supports-color@^5.3.0:
dependencies:
has-flag "^3.0.0"
sweetalert2@^8.18.0:
version "8.18.0"
resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-8.18.0.tgz#e8536aa0b1a1474ef36e5350ff4ae0cf473478b3"
integrity sha512-t8r4oIisUd/fPsd4/YKuiWTKnrxZsolUVk/w7nGhMu5MKsuGh6J5sQ9Jtio+5xKg/w5QOJpH8TUhb5INuVo/YQ==
sweetalert2@^8.18.3:
version "8.18.3"
resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-8.18.3.tgz#1cb6b5b0f28fe4b125cb7f8a9110315f5458b748"
integrity sha512-ptDszEk0q8pUorWAXiVj1aafbG6IAO8kAZepeyfphSwb4vaM5JSXnqek/s8ZyIkPcH9M/l3QaoR2X9V0KD0VHA==
tar@^4.4.8:
version "4.4.11"