Compare commits

..

26 Commits

Author SHA1 Message Date
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
23 changed files with 324 additions and 199 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

@@ -151,6 +151,11 @@ function media(b64, type, no) {
$("#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();
$("#mec").text(lang.lang_there);

View File

@@ -18,23 +18,24 @@ function fav(id, acct_id, remote) {
httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) {
var json = httpreq.response;
if(json.reblog){
json = json.reblog
}
if (remote != "remote") {
//APIのふぁぼカウントがおかしい
if ($("[toot-id=" + id + "] .fav_ct").text() == json.favourites_count) {
if (flag == "unfavourite") {
var fav = json.favourites_count - 1;
if ( fav * 1 < 0){ fav = 0}
} else {
var fav = json.favourites_count + 1;
var fav = json.favourites_count;
//var fav = json.favourites_count;
}
} else {
var fav = json.favourites_count;
}
$("[toot-id=" + id + "] .fav_ct").text(fav);
if (!json.reblog) {
} else {
$("[toot-id=" + id + "] .rt_ct").text(fav);
}
$("[toot-id=" + id + "] .rt_ct").text(json.reblogs_count);
if ($("[toot-id=" + id + "]").hasClass("faved")) {
$("[toot-id=" + id + "]").removeClass("faved");
$(".fav_" + id).removeClass("yellow-text");
@@ -72,18 +73,22 @@ function rt(id, acct_id, remote, vis) {
httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) {
var json = httpreq.response;
if(json.reblog){
json = json.reblog
}
console.log(["Success: boost", json]);
if (remote != "remote") {
$("[toot-id=" + id + "] .fav_ct").text(json.favourites_count);
if (!json.reblog) {
if (flag == "unreblog") {
var rt = json.reblogs_count - 1;
if ( rt * 1 < 0){ rt = 0}
} else {
var rt = json.reblogs_count + 1;
var rt = json.reblogs_count;
}
$("[toot-id=" + id + "] .rt_ct").text(rt);
} else {
$("[toot-id=" + id + "] .rt_ct").text(json.reblog.reblogs_count);
$("[toot-id=" + id + "] .rt_ct").text(json.reblogs_count);
}
if ($("[toot-id=" + id + "]").hasClass("rted")) {

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") {

View File

@@ -196,7 +196,12 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var dmid = toot.id;
toot = toot.last_status;
}
var dis_name = escapeHTML(toot.account.display_name);
if(toot.account.display_name){
var dis_name = escapeHTML(toot.account.display_name);
}else{
var dis_name = toot.account.acct;
}
if (toot.account.emojis) {
var actemojick = toot.account.emojis[0];
} else {
@@ -320,19 +325,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
body: toot.account.display_name + "(" + toot.account.acct + ")" + what + "\n\n" + $.strip_tags(toot.status.content),
icon: toot.account.avatar
};
if (os == "darwin") {
var n = new Notification('TheDesk:' + domain, options);
} else {
var nativeNotfOpt = [
'TheDesk:' + domain,
toot.account.display_name + "(" + toot.account.acct + ")" + what + "\n\n" + $.strip_tags(toot.status.content),
toot.account.avatar,
"toot",
acct_id,
toot.status.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");
@@ -874,7 +867,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
acct_id + ',\'' + visen +
'\')" class="waves-effect waves-dark btn-flat actct rep-btn" data-men="' + to_mention + '" data-visen="' + visen + '" style="padding:0" title="' + lang.lang_parse_replyto + '"><i class="fas fa-share"></i><span class="rep_ct">' + replyct +
'</a></span></a></div>' +
'<div class="action ' + can_rt + ' ' + disp["rt"] + ' ' + noauth + '"><a onclick="rt(\'' + toot.id + '\',' + acct_id +
'<div class="action ' + can_rt + ' ' + disp["rt"] + ' ' + noauth + '"><a onclick="rt(\'' + uniqueid + '\',' + acct_id +
',\'' + tlid +
'\')" class="waves-effect waves-dark btn-flat actct bt-btn" style="padding:0" title="' + lang.lang_parse_bt + '"><i class="fas fa-retweet ' +
if_rt + ' rt_' + toot.id + '"></i><span class="rt_ct">' + toot.reblogs_count +
@@ -882,7 +875,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
'<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 fas fa-quote-right"></i></a></div>' +
'<div class="action ' + disp["fav"] + ' ' + noauth + '"><a onclick="fav(\'' + toot.id + '\',' + acct_id +
'<div class="action ' + disp["fav"] + ' ' + noauth + '"><a onclick="fav(\'' + uniqueid + '\',' + acct_id +
',\'' + tlid +
'\')" class="waves-effect waves-dark btn-flat actct fav-btn" style="padding:0" title="' + lang.lang_parse_fav + '"><i class="fas text-darken-3 fa-star' +
if_fav + ' fav_' + toot.id + '"></i><span class="fav_ct">' + toot.favourites_count +
@@ -972,19 +965,7 @@ function userparse(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.display_name) {

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

@@ -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

@@ -1,6 +1,6 @@
{
"name": "thedesk",
"version": "18.11.0",
"version": "18.11.1",
"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": "cutls/itunes-nowplaying-mac"
},
"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,67 @@
<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-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>
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.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

@@ -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",

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

@@ -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

@@ -1,5 +1,5 @@
const fs = require("fs")
let ver = "Usamin (18.11.0)"
let ver = "Usamin (18.11.1)"
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)
})

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

@@ -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"