Compare commits
22 Commits
gh-pages
...
untagged-5
Author | SHA1 | Date | |
---|---|---|---|
|
3d9b97ccb5 | ||
|
2c3dbba052 | ||
|
907eecd030 | ||
|
d217fb33a9 | ||
|
8cea32d01b | ||
|
c8d2da0c07 | ||
|
a458f51b9a | ||
|
bd8ac2935b | ||
|
dd59cc1468 | ||
|
fd365c52cc | ||
|
ad7e77a067 | ||
|
6b9135a205 | ||
|
fdca5b1c60 | ||
|
f891b30f9f | ||
|
8fbd8070f2 | ||
|
657dec1c10 | ||
|
0d93dcdc45 | ||
|
5a50c0e1e6 | ||
|
ab8da89fbc | ||
|
c9edf47643 | ||
|
84328bf693 | ||
|
6fdbf0b48e |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -12,7 +12,6 @@ enq.md
|
||||
app/.tkn
|
||||
app/node_modules
|
||||
app/js/login/tkn.js
|
||||
app/package-lock.json
|
||||
app/view/en
|
||||
app/view/ja
|
||||
app/view/de
|
||||
|
25
.travis.yml
25
.travis.yml
@@ -3,21 +3,26 @@ os:
|
||||
- linux
|
||||
- osx
|
||||
language: node_js
|
||||
env:
|
||||
- YARN_GPG=no
|
||||
node_js:
|
||||
- '10.15.2'
|
||||
cache:
|
||||
yarn: true
|
||||
script: node -v
|
||||
before_deploy:
|
||||
- npm install electron-builder -g
|
||||
- yarn global add electron-builder
|
||||
- cd app
|
||||
- VERSION=$(cat package.json | grep version | head -1 | awk -F= "{ print $2 }" | sed 's/[version:,\",]//g' | tr -d '[[:space:]]')
|
||||
- npm install
|
||||
- npm run construct
|
||||
- if [ "$TRAVIS_OS_NAME" = "osx" ];then electron-builder --mac -p never;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ];then electron-builder --linux --x64 -p never;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ];then cd ../build;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ];then ls;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ];then mv thedesk-*.zip thedesk.zip;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ];then cd ../app;else :;fi
|
||||
- yarn install --no-lockfile --prod
|
||||
- yarn construct
|
||||
#- if [ "$TRAVIS_OS_NAME" = "osx" ];then electron-builder --mac -p never;else :;fi
|
||||
#- if [ "$TRAVIS_OS_NAME" = "linux" ];then electron-builder --linux --x64 -p never;else :;fi
|
||||
#- if [ "$TRAVIS_OS_NAME" = "linux" ];then cd ../build;else :;fi
|
||||
#- if [ "$TRAVIS_OS_NAME" = "linux" ];then ls;else :;fi
|
||||
#- if [ "$TRAVIS_OS_NAME" = "linux" ];then mv thedesk-*.zip thedesk.zip;else :;fi
|
||||
#- if [ "$TRAVIS_OS_NAME" = "linux" ];then cd ../app;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "windows" ];then yarn add electron-builder;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "windows" ];then electron-builder --win --ia32 -p never;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "windows" ];then cd ../build;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "windows" ];then ls;else :;fi
|
||||
@@ -44,5 +49,5 @@ deploy:
|
||||
skip_cleanup: true
|
||||
on:
|
||||
repo: cutls/TheDesk
|
||||
tags: true
|
||||
tags: false
|
||||
all_branches: true
|
38
README.md
38
README.md
@@ -80,6 +80,10 @@ Fellow coder
|
||||
|
||||
## Build
|
||||
|
||||
You have to use either **npm** or **yarn**. Whichever you use, it works well.
|
||||
|
||||
### npm
|
||||
|
||||
```sh
|
||||
git clone https://github.com/cutls/TheDesk
|
||||
cd TheDesk/app
|
||||
@@ -88,8 +92,25 @@ npm install --only=dev
|
||||
npm run construct
|
||||
```
|
||||
|
||||
### yarn
|
||||
|
||||
```sh
|
||||
git clone https://github.com/cutls/TheDesk
|
||||
cd TheDesk/app
|
||||
# Linux or macOS
|
||||
yarn install --no-lockfile
|
||||
# Windows
|
||||
yarn install
|
||||
|
||||
yarn construct
|
||||
```
|
||||
|
||||
run `npm run dev` or `yarn dev` to launch developer version with console(click `view`)
|
||||
|
||||
### electron-builder(Recommended)
|
||||
Use npm scripts.
|
||||
Use scripts(they can work well with npm, **yarn**).
|
||||
|
||||
#### npm
|
||||
|
||||
```sh
|
||||
# Build for current platform
|
||||
@@ -103,6 +124,21 @@ npm run build:win
|
||||
npm run build:all
|
||||
```
|
||||
|
||||
#### yarn
|
||||
|
||||
```sh
|
||||
# Build for current platform
|
||||
yarn build
|
||||
|
||||
# Select build target
|
||||
## Windows
|
||||
yarn build:win
|
||||
|
||||
## Windows and Linux (The macOS target should run on macOS. So, this option hasn't include the build for macOS)
|
||||
yarn build:all
|
||||
```
|
||||
|
||||
|
||||
Config is all on package.json
|
||||
|
||||
### electron-packager
|
||||
|
35
README_ja.md
35
README_ja.md
@@ -79,6 +79,9 @@ Linuxビルダー
|
||||
|
||||
## ビルド
|
||||
|
||||
npmでもyarnでも好きな方を選んでください。
|
||||
|
||||
### npm
|
||||
|
||||
```sh
|
||||
git clone https://github.com/cutls/TheDesk
|
||||
@@ -88,8 +91,24 @@ npm install --only=dev
|
||||
npm run construct
|
||||
```
|
||||
|
||||
### yarn
|
||||
|
||||
```sh
|
||||
git clone https://github.com/cutls/TheDesk
|
||||
cd TheDesk/app
|
||||
# Linux or macOS
|
||||
yarn install --no-lockfile
|
||||
# Windows
|
||||
yarn install
|
||||
|
||||
yarn construct
|
||||
```
|
||||
|
||||
### electron-builder(推奨)
|
||||
npm scriptsを利用します
|
||||
|
||||
scriptsを利用します
|
||||
|
||||
#### npm
|
||||
|
||||
```sh
|
||||
# 実行している環境向けにビルド
|
||||
@@ -103,6 +122,20 @@ npm run build:win
|
||||
npm run build:all
|
||||
```
|
||||
|
||||
#### yarn
|
||||
|
||||
```sh
|
||||
# 実行している環境向けにビルド
|
||||
yarn build
|
||||
|
||||
# ターゲットを指定してビルド
|
||||
## Windows
|
||||
yarn build:win
|
||||
|
||||
## macOS向けのビルドにはmacOSで実行する必要があるためこのコマンドではビルドされません
|
||||
yarn build:all
|
||||
```
|
||||
|
||||
ビルド設定はすべてpackage.jsonに記載しています。
|
||||
|
||||
### electron-packager(非推奨)
|
||||
|
@@ -698,8 +698,8 @@ audio {
|
||||
}
|
||||
}
|
||||
.box-anime {
|
||||
animation-duration: 1s;
|
||||
animation-name: fadeInLeft;
|
||||
/*animation-duration: 1s;
|
||||
animation-name: fadeInLeft;*/
|
||||
}
|
||||
|
||||
.cvo-anime {
|
||||
@@ -712,3 +712,15 @@ audio {
|
||||
font-size: 1rem;
|
||||
background-color: #009688;
|
||||
}
|
||||
.box .ui-resizable-s{
|
||||
display: none !important;
|
||||
}
|
||||
.boxIn .ui-resizable-e{
|
||||
display: none !important;
|
||||
}
|
||||
.boxIn .ui-resizable-s{
|
||||
display: block !important;
|
||||
}
|
||||
.box .ui-resizable-se{
|
||||
display: none !important;
|
||||
}
|
||||
|
@@ -525,7 +525,6 @@ function ticker() {
|
||||
}).catch(function (error) {
|
||||
console.error(error);
|
||||
}).then(function (json) {
|
||||
console.log(json)
|
||||
if (json) {
|
||||
localStorage.setItem("ticker", JSON.stringify(json));
|
||||
}
|
||||
|
@@ -108,12 +108,16 @@ function opendev() {
|
||||
});
|
||||
*/
|
||||
}
|
||||
var soundFile
|
||||
function playSound() {
|
||||
window.AudioContext = window.AudioContext || window.webkitAudioContext;
|
||||
if(soundFile){
|
||||
soundFile.stop()
|
||||
}
|
||||
context = new AudioContext();
|
||||
context.createBufferSource().start(0);
|
||||
context.decodeAudioData(request.response, function (buf) {
|
||||
console.log("Playing:" + source)
|
||||
//console.log("Playing:" , source)
|
||||
source.buffer = buf;
|
||||
source.loop = false;
|
||||
});
|
||||
@@ -121,8 +125,20 @@ function playSound() {
|
||||
volumeControl = context.createGain();
|
||||
source.connect(volumeControl);
|
||||
volumeControl.connect(context.destination);
|
||||
volumeControl.gain.value = 0.8
|
||||
var cvol = localStorage.getItem("customVol")
|
||||
if (cvol) {
|
||||
vol = cvol
|
||||
}else{
|
||||
vol = 0.8
|
||||
}
|
||||
volumeControl.gain.value = vol
|
||||
source.start(0);
|
||||
soundFile = source;
|
||||
|
||||
function newFunction() {
|
||||
var source;
|
||||
return source;
|
||||
}
|
||||
}
|
||||
function nano() {
|
||||
postMessage(["nano", null], "*")
|
||||
|
@@ -295,6 +295,7 @@ function redraft(id, acct_id) {
|
||||
show();
|
||||
del(id, acct_id);
|
||||
$("#post-acct-sel").prop("disabled", true);
|
||||
$('select').formSelect();
|
||||
var medias = $("[toot-id=" + id + "]").attr("data-medias");
|
||||
var vismode = $("[toot-id=" + id + "] .vis-data").attr("data-vis");
|
||||
vis(vismode);
|
||||
@@ -473,7 +474,7 @@ function staEx(mode) {
|
||||
var acct_id = $("#status-acct-sel").val();
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v1/search?resolve=true&q=" + url
|
||||
var start = "https://" + domain + "/api/v2/search?resolve=true&q=" + url
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
|
@@ -6,17 +6,21 @@ function additional(acct_id, tlid) {
|
||||
|
||||
$("#timeline-container .mention").addClass("parsed");
|
||||
|
||||
$("#timeline-container .hashtag").each(function (i, elem) {
|
||||
$("#timeline-container .hashtag, #timeline-container [rel=tag]").each(function (i, elem) {
|
||||
var tags = $(this).attr("href").match(
|
||||
/https?:\/\/([-a-zA-Z0-9@.]+)\/tags\/([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)/
|
||||
);
|
||||
$(this).attr("href", "#");
|
||||
if (tags) {
|
||||
if (tags[2]) {
|
||||
$(this).attr("onclick", 'tagShow(\'' + tags[2] + '\')');
|
||||
}
|
||||
|
||||
if(tags){
|
||||
var tagThis = tags[2]
|
||||
}else{
|
||||
var tagThis = $(this).attr("data-tag")
|
||||
}
|
||||
|
||||
if(tagThis){
|
||||
$(this).attr("onclick", 'tagShow(\'' + tagThis + '\')');
|
||||
$(this).attr("href", "#");
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
//トゥートサムネ
|
||||
|
@@ -426,7 +426,12 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (toot.content) {
|
||||
if (toot.content == "") {
|
||||
var content = " "
|
||||
} else {
|
||||
var content = toot.content
|
||||
}
|
||||
if (content) {
|
||||
var id = toot.id;
|
||||
if (mix == "home") {
|
||||
var home = ""
|
||||
@@ -468,31 +473,29 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
boostback = "emphasized";
|
||||
}
|
||||
if (toot.spoiler_text && cw) {
|
||||
var content = toot.content;
|
||||
var spoil = escapeHTML(toot.spoiler_text);
|
||||
var spoiler = "cw cw_hide_" + toot.id;
|
||||
var api_spoil = "gray";
|
||||
var spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id +
|
||||
'\')" class="nex parsed cw_btn">' + lang.lang_parse_cwshow + '</a><br>';
|
||||
} else {
|
||||
if (toot.content) {
|
||||
var ct1 = toot.content.split('</p>').length + toot.content.split('<br />').length - 2;
|
||||
var ct2 = toot.content.split('</p>').length + toot.content.split('<br>').length - 2;
|
||||
if (content) {
|
||||
var ct1 = content.split('</p>').length + content.split('<br />').length - 2;
|
||||
var ct2 = content.split('</p>').length + content.split('<br>').length - 2;
|
||||
} else {
|
||||
var ct1 = 100;
|
||||
var ct2 = 100;
|
||||
}
|
||||
if (ct1 > ct2) { var ct = ct1; } else { var ct = ct2; }
|
||||
if ((sent < ct && $.mb_strlen($.strip_tags(toot.content)) > 5) || ($.strip_tags(toot.content).length > ltr && $.mb_strlen($.strip_tags(toot.content)) > 5)) {
|
||||
var content = '<span class="gray">' + lang.lang_parse_fulltext + '</span><br>' + toot.content
|
||||
if ((sent < ct && $.mb_strlen($.strip_tags(content)) > 5) || ($.strip_tags(content).length > ltr && $.mb_strlen($.strip_tags(content)) > 5)) {
|
||||
var content = '<span class="gray">' + lang.lang_parse_fulltext + '</span><br>' + content
|
||||
var spoil = '<span class="cw-long-' + toot.id + '">' + $.mb_substr($.strip_tags(
|
||||
toot.content), 0, 100) +
|
||||
content), 0, 100) +
|
||||
'</span><span class="gray">' + lang.lang_parse_autofold + '</span>';
|
||||
var spoiler = "cw cw_hide_" + toot.id;
|
||||
var spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id +
|
||||
'\')" class="nex parsed cw_btn">' + lang.lang_parse_more + '</a><br>';
|
||||
} else {
|
||||
var content = toot.content;
|
||||
var spoil = escapeHTML(toot.spoiler_text);
|
||||
var spoiler = "";
|
||||
var spoiler_show = "";
|
||||
@@ -593,7 +596,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
' toot-img pointer" style="max-width:100%;" loop="true"></a></span>';
|
||||
} else {
|
||||
if (media.type == "unknown") {
|
||||
viewer = viewer + '<a href="' + media.remote_url + '" title="' + media.remote_url + '">[' + lang.lang_parse_unknown + ']</a> '
|
||||
var mty = media.remote_url.match(/.+(\..+)$/)[1]
|
||||
viewer = viewer + '<a href="' + media.remote_url + '" title="' + media.remote_url + '">[' + lang.lang_parse_unknown + '( ' + mty + ' )]</a> '
|
||||
} else if (media.type == "audio") {
|
||||
viewer = viewer + '<audio src="' +
|
||||
url + '" class="pointer" style="width:100%;" controls></span>';
|
||||
@@ -620,8 +624,6 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
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)) {
|
||||
@@ -629,6 +631,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
} else {
|
||||
//そのトゥの人NG
|
||||
if (toot.account.acct != mention.acct) {
|
||||
mentions = mentions + '<a onclick="udg(\'' + mention.id + '\',' +
|
||||
acct_id + ')" class="pointer">@' + mention.acct + '</a> ';
|
||||
to_mention.push(mention.acct);
|
||||
}
|
||||
}
|
||||
@@ -650,7 +654,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
if (tagck) {
|
||||
Object.keys(toot.tags).forEach(function (key4) {
|
||||
var tag = toot.tags[key4];
|
||||
var featured = ' <a onclick="tagFeature(\'' + tag.name + '\',' + acct_id +')" class="pointer" title="add it to Featured tags">Feature</a> '
|
||||
var featured = ' <a onclick="tagFeature(\'' + tag.name + '\',' + acct_id + ')" class="pointer" title="add it to Featured tags">Feature</a> '
|
||||
tags = tags + '<span class="hide" data-tag="' + tag.name + '">#' + tag.name + ':<a onclick="tl(\'tag\',\'' + tag.name + '\',' + acct_id +
|
||||
',\'add\')" class="pointer" title="' + lang.lang_parse_tagTL.replace("{{tag}}", '#' + tag.name) + '">TL</a> <a onclick="brInsert(\'#' + tag.name + '\')" class="pointer" title="' + lang.lang_parse_tagtoot.replace("{{tag}}", '#' + tag.name) + '">Toot</a> ' +
|
||||
'<a onclick="tagPin(\'' + tag.name + '\')" class="pointer" title="' + lang.lang_parse_tagpin.replace("{{tag}}", '#' + tag.name) + '">Pin</a>' + featured + '</span> ';
|
||||
|
@@ -127,6 +127,8 @@ function voteMastodonrefresh(acct_id, id) {
|
||||
var choice = choices[keyc];
|
||||
if (!json.voted) {
|
||||
votesel = 'voteSelMastodon(\'' + acct_id + '\',\'' + json.id + '\',' + keyc + ',' + json.multiple + ')';
|
||||
}else {
|
||||
votesel =""
|
||||
}
|
||||
poll = poll + '<div class="pointer vote vote_' + acct_id + '_' + json.id + '_' + keyc + '" onclick="' + votesel + '">' + escapeHTML(choice.title) + '<span class="vote_' + acct_id + '_' + json.id + '_result ' + result_hide + '">(' + choice.votes_count + ')</span></div>';
|
||||
});
|
||||
|
@@ -98,11 +98,14 @@ function voiceSettingLoad() {
|
||||
var vol = localStorage.getItem("voice_vol");
|
||||
if (speed) {
|
||||
$("#voicespeed").val(speed * 10);
|
||||
$("#voicespeedVal").text(speed * 10);
|
||||
}
|
||||
if (pitch) {
|
||||
$("#voicepitch").val(pitch * 50);
|
||||
$("#voicepitchVal").text(pitch * 50);
|
||||
}
|
||||
if (vol) {
|
||||
$("#voicevol").val(vol * 100);
|
||||
$("#voicevolVal").text(vol * 100);
|
||||
}
|
||||
}
|
@@ -95,6 +95,7 @@ function parseColumn(target, dontclose) {
|
||||
var tlidtar = null
|
||||
if ($("#timeline-container").length) {
|
||||
$("#timeline-container").html("");
|
||||
$(".box, .boxIn").resizable("destroy");
|
||||
}
|
||||
}
|
||||
var basekey = 0;
|
||||
@@ -155,6 +156,16 @@ function parseColumn(target, dontclose) {
|
||||
} else {
|
||||
localStorage.removeItem("hasNotfC_" + acct.domain);
|
||||
}
|
||||
var width = localStorage.getItem("width");
|
||||
if (width) {
|
||||
var css = " min-width:" + width + "px;"
|
||||
}
|
||||
if(acct.width){
|
||||
var css = " min-width:" + acct.width + "px;max-width:" + acct.width + "px;"
|
||||
}
|
||||
if(!css){
|
||||
var css = ""
|
||||
}
|
||||
if (acct.type == "webview") {
|
||||
if (localStorage.getItem("fixwidth")) {
|
||||
var fixwidth = localStorage.getItem("fixwidth");
|
||||
@@ -168,10 +179,7 @@ function parseColumn(target, dontclose) {
|
||||
if (!acct.left_fold) {
|
||||
basekey = key;
|
||||
}
|
||||
var width = localStorage.getItem("width");
|
||||
if (width) {
|
||||
var css = " min-width:" + width + "px;"
|
||||
}
|
||||
|
||||
var anime = localStorage.getItem("animation");
|
||||
if (anime == "yes" || !anime) {
|
||||
var animecss = "box-anime";
|
||||
@@ -180,10 +188,6 @@ function parseColumn(target, dontclose) {
|
||||
}
|
||||
unstreamingTL(acct.type, key, basekey, insert, icnsert, acct.left_fold, css, animecss, acct.data);
|
||||
} else {
|
||||
var width = localStorage.getItem("width");
|
||||
if (width) {
|
||||
var css = " min-width:" + width + "px;"
|
||||
}
|
||||
var anime = localStorage.getItem("animation");
|
||||
if (anime == "yes" || !anime) {
|
||||
var animecss = "box-anime";
|
||||
@@ -242,8 +246,13 @@ function parseColumn(target, dontclose) {
|
||||
var isMisRed = "red-text"
|
||||
var if_misskey_hide = ""
|
||||
}
|
||||
if(acct.height){
|
||||
var addHeight = " min-height:" + acct.height + "px;max-height:" + acct.height + "px;"
|
||||
}else {
|
||||
var addHeight = ""
|
||||
}
|
||||
var html = '<div class="boxIn" id="timeline_box_' + key + '_box" tlid="' + key +
|
||||
'" data-acct="' + acct.domain + '"><div class="notice-box z-depth-2" id="menu_' + key + '" style="' + insert + ' ">' +
|
||||
'" data-acct="' + acct.domain + '" style="' + addHeight + '"><div class="notice-box z-depth-2" id="menu_' + key + '" style="' + insert + ' ">' +
|
||||
'<div class="area-notice"><i class="material-icons waves-effect ' + isMisRed + '" id="notice_icon_' + key + '"' + notf_attr + ' style="font-size:40px; padding-top:25%;" onclick="checkStr(\'' + acct.type + '\', \'' + data + '\', \'' + acct.domain + '\', \'' + key + '\', \'' + delc + '\',\'' + voice + '\',null)" title="' + lang.lang_layout_gotop + '"></i></div>' +
|
||||
'<div class="area-notice_name"><span id="notice_' + key + '" class="tl-title"></span></div>' +
|
||||
'<div class="area-a1"><a onclick="notfToggle(' + acct.domain + ',' + key +
|
||||
@@ -293,6 +302,7 @@ function parseColumn(target, dontclose) {
|
||||
mediaCheck(key);
|
||||
catchCheck(key);
|
||||
voiceCheck(key);
|
||||
var css = ""
|
||||
}
|
||||
}
|
||||
var box = localStorage.getItem("box");
|
||||
@@ -320,6 +330,40 @@ function parseColumn(target, dontclose) {
|
||||
}
|
||||
}
|
||||
}
|
||||
$(".box, .boxIn").resizable({
|
||||
minHeight: 50,
|
||||
minWidth: 50,
|
||||
grid: 50,
|
||||
resize: function (event, ui) {
|
||||
$(this).css("min-width", ui.size.width + "px")
|
||||
$(this).css("max-width", ui.size.width + "px")
|
||||
$(this).css("min-height", ui.size.height + "px")
|
||||
$(this).css("max-height", ui.size.height + "px")
|
||||
},
|
||||
stop: function (event, ui) {
|
||||
var col = localStorage.getItem("column");
|
||||
var o = JSON.parse(col);
|
||||
var width = ui.size.width
|
||||
var height = ui.size.height
|
||||
if ($(this).hasClass("boxIn")) {
|
||||
//縦幅。その縦幅を持つカラムのidは
|
||||
console.log("tate")
|
||||
var key = $(this).attr("tlid")
|
||||
var obj = o[key];
|
||||
obj.height = height;
|
||||
o[key] = obj;
|
||||
} else {
|
||||
//横幅。その縦幅を持つカラムのidは
|
||||
console.log("yoko")
|
||||
var key = $(this).find(".boxIn").attr("tlid")
|
||||
var obj = o[key];
|
||||
obj.width = width;
|
||||
o[key] = obj;
|
||||
}
|
||||
var json = JSON.stringify(o);
|
||||
localStorage.setItem("column", json);
|
||||
}
|
||||
});
|
||||
}
|
||||
function checkStr(type, data, acct_id, key, delc, voice) {
|
||||
if ($('#notice_icon_' + key).hasClass("red-text") && type != "notf" && type != "mix") {
|
||||
|
@@ -161,8 +161,37 @@ function load() {
|
||||
$("#c2-file").text(localStorage.getItem("custom2"));
|
||||
$("#c3-file").text(localStorage.getItem("custom3"));
|
||||
$("#c4-file").text(localStorage.getItem("custom4"));
|
||||
var cvol = localStorage.getItem("customVol")
|
||||
if (cvol) {
|
||||
$("#soundvol").val(cvol * 100);
|
||||
$("#soundVolVal").text(cvol * 100)
|
||||
}
|
||||
//$("#log").val(localStorage.getItem("errors"))
|
||||
}
|
||||
function customVol() {
|
||||
var cvol = $("#soundvol").val()
|
||||
$("#soundVolVal").text(cvol)
|
||||
localStorage.setItem("customVol", cvol / 100)
|
||||
var sound = localStorage.getItem("favSound");
|
||||
if (sound == "default") {
|
||||
var file = "../../source/notif.wav"
|
||||
}else{
|
||||
if (sound == "c1") {
|
||||
var file = localStorage.getItem("custom1");
|
||||
} else if (sound == "c2") {
|
||||
var file = localStorage.getItem("custom2");
|
||||
} else if (sound == "c3") {
|
||||
var file = localStorage.getItem("custom3");
|
||||
} else if (sound == "c4") {
|
||||
var file = localStorage.getItem("custom4");
|
||||
}
|
||||
}
|
||||
request = new XMLHttpRequest();
|
||||
request.open("GET", file, true);
|
||||
request.responseType = "arraybuffer";
|
||||
request.onload = playSound;
|
||||
request.send();
|
||||
}
|
||||
|
||||
function climute() {
|
||||
//クライアントミュート
|
||||
|
@@ -23,7 +23,7 @@ function udgEx(user, acct_id) {
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
if (localStorage.getItem("mode_" + domain) == "misskey") { return false; }
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v1/search?resolve=true&q=" + user
|
||||
var start = "https://" + domain + "/api/v2/search?resolve=true&q=" + user
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "thedesk",
|
||||
"version": "18.9.2",
|
||||
"version": "18.10.0",
|
||||
"description": "TheDesk is a Mastodon client for PC.",
|
||||
"repository": "https://github.com/cutls/TheDesk",
|
||||
"main": "main.js",
|
||||
@@ -51,7 +51,7 @@
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-free": "^5.10.1",
|
||||
"electron-dl": "^1.14.0",
|
||||
"jimp": "^0.7.0",
|
||||
"jimp": "^0.8.2",
|
||||
"jquery": "^3.4.1",
|
||||
"jquery-ui-dist": "^1.12.1",
|
||||
"json5": "^2.1.0",
|
||||
@@ -68,6 +68,7 @@
|
||||
"devDependencies": {
|
||||
"electron": "^6.0.0",
|
||||
"electron-builder": "^21.1.5",
|
||||
"electron-rebuild": "^1.8.6",
|
||||
"readline-sync": "1.4.10"
|
||||
},
|
||||
"build": {
|
||||
|
@@ -709,30 +709,18 @@
|
||||
<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-9-2" class="release-do" style="display:none; ">
|
||||
<div id="release-Usamin_18-10-0" class="release-do" style="display:none; ">
|
||||
<a href="https://code.cutls.com/thedesk-log/" target="_blank">開発の経緯</a><br>
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br>
|
||||
Pixiv Fanboxでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br>
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note Usamin (18.9.2)</h5>
|
||||
・トゥートボックスが閉じない、消えない不具合を修正。
|
||||
<h5>Release Note Usamin (18.9.1)</h5>
|
||||
・トゥートボックスのリサイズを横だけにした<br>
|
||||
・アンケートが上手く作成できない不具合を修正。
|
||||
<h5>Release Note Usamin (18.9.0)</h5>
|
||||
・設定エクスポートファイルが変更された<br>
|
||||
.thedeskconfigv2: 17.2.0~18.8.3<br>
|
||||
.thedeskconfig: 16.0.1~17.2.0<br>
|
||||
.json5: 本バージョン以降<br>
|
||||
<u>エクスポート可能な形式</u><br>
|
||||
.json5<br>
|
||||
<u>インポート可能な形式</u><br>
|
||||
.thedeskconfigv2, .thedeskconfig, .json5<br>
|
||||
・カスタムCSSを読み込める(自己責任): macOS: /Users/:user/Library/Application Support/TheDesk | Windows: C:\Users\:user\AppData\Roaming\thedesk<br>
|
||||
・(v3.0|m追従)プロフィールディレクトリ読み込み<br>
|
||||
・(v3.0|m追従)最終アクティブ時間をユーザー一覧表示時に一緒に表示<br>
|
||||
・自己紹介をユーザー一覧表示時に一緒に表示<br>
|
||||
・メニューとトゥートボックスがリサイズ可能になった<br>
|
||||
<h5>Release Note Usamin (18.10.0)</h5>
|
||||
・全てのカラムの縦、横幅を自由に変更できるように。<br>
|
||||
・一部トゥートがTLに表示されない不具合を修正。<br>
|
||||
・初回起動時にガイダンスを表示<br>
|
||||
・Featured tag(master|v3.0)<br>
|
||||
・未読マーカー(master|v3.0)<br>
|
||||
・引用のトゥート(設定で引用形式を「パラメーター」にすることで対応インスタンスで利用可)<br>
|
||||
</div>
|
||||
<div id="release-en" style="display:none">
|
||||
<h5>Let's make it native!</h5>
|
||||
|
@@ -158,6 +158,7 @@
|
||||
"pitchwarn": "0-100(default:50)",
|
||||
"vol": "Volume",
|
||||
"volwarn": "0-100(default:100)",
|
||||
"volwarn80": "0-100(default:80)",
|
||||
"test": "Test",
|
||||
"sample": "TheDesk is an open-source Mastodon client for PC.",
|
||||
"playstop": "Play/Stop",
|
||||
|
@@ -158,6 +158,7 @@
|
||||
"pitchwarn": "0-100(default:50)",
|
||||
"vol": "Volume",
|
||||
"volwarn": "0-100(default:100)",
|
||||
"volwarn80": "0-100(default:80)",
|
||||
"test": "Test",
|
||||
"sample": "TheDesk is an open-source Mastodon client for PC.",
|
||||
"playstop": "Play/Stop",
|
||||
|
@@ -158,6 +158,7 @@
|
||||
"pitchwarn": "0-100(Standard:50)",
|
||||
"vol": "Lautstärke",
|
||||
"volwarn": "0-100(Standard:100)",
|
||||
"volwarn80": "0-100(Standard:80)",
|
||||
"test": "Test",
|
||||
"sample": "TheDesk ist ein Open-Source Mastodon Client für PC.",
|
||||
"playstop": "Abspielen/Stoppen",
|
||||
|
@@ -158,6 +158,7 @@
|
||||
"pitchwarn": "0-100(default:50)",
|
||||
"vol": "Volume",
|
||||
"volwarn": "0-100(default:100)",
|
||||
"volwarn80": "0-100(default:80)",
|
||||
"test": "Test",
|
||||
"sample": "TheDesk is an open-source Mastodon client for PC.",
|
||||
"playstop": "Play/Stop",
|
||||
|
@@ -158,6 +158,7 @@
|
||||
"pitchwarn": "0-100まで、デフォルトは50。(大きくなるほど高い)",
|
||||
"vol": "読み上げの音量",
|
||||
"volwarn": "0-100まで、デフォルトは100。",
|
||||
"volwarn80": "0-100まで、デフォルトは80。",
|
||||
"test": "テスト",
|
||||
"sample": "これはテスト音声です。TheDeskはオープンソースのPC向けマストドンクライアントです。マルチサーバーやマルチカラムに対応しています。",
|
||||
"playstop": "再生/停止",
|
||||
|
@@ -1,5 +1,5 @@
|
||||
const fs = require("fs")
|
||||
let ver = "Usamin (18.9.2)"
|
||||
let ver = "Usamin (18.10.1)-beta"
|
||||
const execSync = require('child_process').execSync;
|
||||
let gitHash = execSync("git rev-parse HEAD").toString().trim()
|
||||
fs.writeFileSync("../../git", gitHash)
|
||||
|
@@ -247,6 +247,11 @@
|
||||
id="c3-file"></span><br>
|
||||
<button class="btn waves-effect" style="width:120px;" onclick="customSound(4)">Custom 4</button><span
|
||||
id="c4-file"></span><br>
|
||||
<h5>@@vol@@</h5>
|
||||
@@volwarn80@@<br>
|
||||
<p class="range-field"><span id="soundVolVal">80</span><br>
|
||||
<input type="range" id="soundvol" min="0" max="100" value="80" onchange="customVol()"
|
||||
style="width:500px; max-width:100%" /></p>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
@@ -373,15 +378,18 @@
|
||||
<div class="collapsible-body">
|
||||
<h5>@@speed@@</h5>
|
||||
@@speedwarn@@<br>
|
||||
<p class="range-field"><input type="range" id="voicespeed" min="1" max="100" value="10"
|
||||
<p class="range-field"><span id="voicespeedVal">10</span><br>
|
||||
<input type="range" id="voicespeed" min="1" max="100" value="10" onchange="document.getElementById('voicespeedVal').innerText=this.value"
|
||||
style="width:500px; max-width:100%" /></p>
|
||||
<h5>@@pitch@@</h5>
|
||||
@@pitchwarn@@<br>
|
||||
<p class="range-field"><input type="range" id="voicepitch" min="0" max="100" value="50"
|
||||
<p class="range-field"><span id="voicepitchVal">50</span><br>
|
||||
<input type="range" id="voicepitch" min="0" max="100" value="50" onchange="document.getElementById('voicepitchVal').innerText=this.value"
|
||||
style="width:500px; max-width:100%" /></p>
|
||||
<h5>@@vol@@</h5>
|
||||
@@volwarn@@<br>
|
||||
<p class="range-field"><input type="range" id="voicevol" min="0" max="100" value="100"
|
||||
<p class="range-field"><span id="voicevolVal">100</span><br>
|
||||
<input type="range" id="voicevol" min="0" max="100" value="100" onchange="document.getElementById('voicevolVal').innerText=this.value"
|
||||
style="width:500px; max-width:100%" /></p>
|
||||
<h5>@@test@@</h5>
|
||||
<input type="text" style="width:350px" id="voicetxt" value="@@sample@@">
|
||||
|
3061
app/yarn.lock
Normal file
3061
app/yarn.lock
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user