TheDesk (ver.12)

This commit is contained in:
cutls 2018-02-16 22:08:43 +09:00
parent 1dd2ea1faa
commit 10367c93c7
12 changed files with 175 additions and 113 deletions

View File

@ -22,13 +22,6 @@
<script type="text/javascript" src="./js/ui/tips.js"></script>
<script type="text/javascript" src="./js/common/time.js"></script>
<script type="text/javascript" src="./js/common/modal.js"></script>
<div id="tools">
<div id="notice" >Account Manager</div>
<a onclick="notfToggle()" class="setting nex"><i class="material-icons nex notf-icon">notifications</i></a>
<a href="index.html" class="setting nex"><i class="material-icons nex">home</i></a>
<a onclick="udg()" class="pointer"><img src="./img/loading.svg" width="24" class="my-prof"></a>
</div>
<div id="notf-box" class="hide"><div id="notifications">Notifications will be showed here...</div><button class="btn waves-effect orange more-hide" style="width:calc( 100% - 10px); padding:0;" onclick="notfToggle()">閉じる</button></div>
<a href="setting.html" class="btn waves-effect orange nex" style="width:100%; max-width:200px;">戻る</a><br>
<div id="acct-list"></div>
<div class="divider"></div>
@ -56,7 +49,7 @@
コネクション:<span id="ins-per"></span>%<br>
マストドンバージョン:<span id="ins-ver"></span><br>
マストドンアップデート:<span id="ins-sys"></span><br>
<script type="text/javascript" src="./js/ui/theme.js"></script>
<script type="text/javascript" src="./js/login/manager.js"></script>
<script type="text/javascript" src="./js/login/instance.js"></script>
<script type="text/javascript" src="./js/tl/date.js"></script>

View File

@ -43,6 +43,10 @@ option {
#imagemodal .modal-content {
overflow: hidden;
}
#imagemodal .modal-footer{
overflow-x:scroll;
overflow-y:hidden;
}
#imagewrap {
width: 100%;
height: 100%;

View File

@ -23,7 +23,7 @@
<script type="text/javascript" src="./js/common/keyshortcut.js"></script>
<script type="text/javascript" src="./js/common/modal.js"></script>
<script>
var ver="Miho (ver.11)";
var ver="Miho (ver.12)";
//betaを入れるとバージョンチェックしない
//var ver="beta";
var acct_id=0;
@ -111,13 +111,14 @@ var tlid=0;
<a href="setting.html" class="setting nex"><i class="material-icons nex" title="設定">settings</i></a>
<a href="acct.html"><i class="material-icons nex" title="アカウント管理">account_circle</i></a>
<a href="index.html" class="setting nex"><i class="material-icons nex" title="スーパーリロード">refresh</i></a>
<a onclick="window.open('https://thedesk.top/labo.php');" class="setting nex" target="_blank" id="ranking-btn" style="display:none;"><i class="material-icons nex" title="アスタルテランキング">timeline</i></a>
<a onclick="window.open('https://astarte.thedesk.top');" class="setting nex" target="_blank" id="ranking-btn" style="display:none;"><i class="material-icons nex" title="アスタルテランキング">timeline</i></a>
<a onclick="Rtoggle()" class="setting nex" id="radio-btn"><i class="material-icons nex" title="Radio(Select/Pause)">play_circle_outline</i></a><span id="radio-sta" class="radio"></span>
<div id="radio-view" class="hide radio">
<span class="cbadge pointer" onclick="Rplay('https://listen.moe/stream','Listen.moe')" data-name="Listen.moe">Listen.moe</span>
<span class="cbadge pointer" onclick="Rplay('http://itori.animenfo.com:443','AnimeNfo Radio')" data-name="AnimeNfo Radio">AnimeNfo Radio</span>
<span class="cbadge pointer" onclick="Rplay('http://hyades.shoutca.st:8043/stream','LoFi hip hop Radio')" data-name="LoFi hip hop Radio">LoFi hip hop Radio</span>
<span class="cbadge pointer" onclick="Rplay('http://89.16.185.174:8004/stream','Linn Classical')" data-name="Linn Classical">Linn Classical</span>
<span class="cbadge pointer" onclick="Rplay('http://edge-ads-01-cr.sharp-stream.com/jazzfmmobile.aac','Jazz FM')" data-name="Jazz FM">Jazz FM</span>
<span class="cbadge pointer" onclick="Ryourself()">Others</span>
</div>
<div id="radio-input" class="hide radio">
@ -126,7 +127,7 @@ var tlid=0;
<button class="btn waves-effect" onclick="Rselect()">Presets</button>
</div>
<div class="row" style="margin-bottom:0;">
<span class="sml"><span class="gray">画面内どこでもドラッグ・アンド・ドロップできます。</span><br></span>アカウント選択</span><br>
<span class="sml gray">画面内どこでもドラッグ・アンド・ドロップできます。</span><br>アカウント選択<!--[<a onclick="profShow()" class="pointer sml">プロフィール確認・編集</a>]</span>--><br>
<div class="input-field">
<select id="post-acct-sel" class="acct-sel" onchange="mdCheck()">
@ -343,19 +344,20 @@ var tlid=0;
</div>
</div>
<!-- Modal Structure Image-->
<div id="imagemodal" class="modal modal-fixed-footer" style="min-width:650px">
<div id="imagemodal" class="modal modal-fixed-footer" style="min-width:550px">
<div class="modal-content">
<div id="imagewrap">
<img src="" id="imgmodal">
</div><br>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Close</a>
<a class="waves-effect white-text" onclick="zoom(2)"><i class="material-icons">zoom_in</i></a>
<a class="waves-effect white-text" onclick="zoom(0.5)"><i class="material-icons">zoom_out</i></a>
<button class="btn waves-effect purple" onclick="dlImg()"><i class="material-icons">file_download</i></button>
<button class="btn waves-effect brown" onclick="detFromImg()">当該トゥート</button>
<button class="btn waves-effect orange" onclick="imgCont('prev')" id="image-prev"></button>
<button class="btn waves-effect" onclick="zoom(2)">2x</button>
<button class="btn waves-effect" onclick="zoom(0.5)">0.5x</button>
<button class="btn waves-effect orange" onclick="imgCont('next')" id="image-next"></button>
<button class="btn waves-effect orange" onclick="imgCont('prev')" id="image-prev"><i class="material-icons">keyboard_arrow_left</i></button>
<button class="btn waves-effect orange" onclick="imgCont('next')" id="image-next"><i class="material-icons">keyboard_arrow_right</i></button>
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat"><i class="material-icons">close</i></a>
</div>
</div>
<!-- Modal Structure Video-->

View File

@ -38,7 +38,7 @@ $(function($) {
if (event.ctrlKey) {
if (e.keyCode === 82) {
if(localStorage.getItem("kirishima")){
window.open("https://thedesk.top/labo.php");
window.open("https://astarte.thedesk.top");
}
}
}

View File

@ -251,7 +251,12 @@ function getdata(domain, at) {
};
var multi = localStorage.getItem("multi");
var obj = JSON.parse(multi);
var target = obj.lengtth;
obj.push(add);
localStorage.setItem("name_" + target, json["display_name"]);
localStorage.setItem("user_" + target, json["acct"]);
localStorage.setItem("user-id_" + target, json["id"]);
localStorage.setItem("prof_" + target, json["avatar"]);
console.log(obj);
var json = JSON.stringify(obj);
localStorage.setItem("multi", json);
@ -265,6 +270,7 @@ function refresh(target) {
var obj = JSON.parse(multi);
var start = "https://" + obj[target].domain +
"/api/v1/accounts/verify_credentials";
console.log(start);
fetch(start, {
method: 'GET',
headers: {
@ -292,6 +298,11 @@ function refresh(target) {
prof: json["avatar"],
id: json["id"]
};
localStorage.setItem("name_" + target, json["display_name"]);
localStorage.setItem("user_" + target, json["acct"]);
localStorage.setItem("user-id_" + target, json["id"]);
console.log("user-id_" + target+":"+json["id"])
localStorage.setItem("prof_" + target, json["avatar"]);
obj[target] = ref;
console.log(obj);
var json = JSON.stringify(obj);

View File

@ -25,6 +25,29 @@ function imgv(id, key, acct_id) {
var windowH = $(window).height();
var windowW = $(window).width();
var aspect = width/height;
if (aspect < 2.8 && aspect > 0.3){
//moderate
if(windowW > windowH){
//画面が横長(縦幅基準)
$("#imgmodal").css('height',windowH/1.2-70+"px");
var imgW = (windowH/1.2-70)/height*width;
$("#imgmodal").css('width',imgW+"px");
$("#imagewrap").css('height',windowH/1.2-60+"px");
$("#imagemodal").css('height',windowH/1.2+"px");
$("#imagewrap").css('width',imgW+50+"px");
$("#imagemodal").css('width',imgW+50+"px");
}else{
//画面が縦長・正方形(横幅基準)
$("#imgmodal").css('width',windowW/1.2-30+"px");
var imgH = (windowW/1.2-30)/width*height;
$("#imgmodal").css('height',imgH+"px");
$("#imagewrap").css('width',windowW/1.2+"px");
$("#imagemodal").css('width',windowW/1.2+"px");
$("#imagewrap").css('height',imgH+60+"px");
$("#imagemodal").css('height',imgH+120+"px");
}
}else{
//極端な画像
if(height > width){
//縦長
$("#imgmodal").css('height',windowH-60+"px");
@ -45,6 +68,7 @@ function imgv(id, key, acct_id) {
$("#imagemodal").css('height',imgH+120+"px");
}
}
}
if ($("#" + id + "-image-" + (key * 1 + 1)).length == 0) {
$("#image-next").prop("disabled", true);
} else {
@ -89,6 +113,29 @@ function imgCont(type) {
var windowH = $(window).height();
var windowW = $(window).width();
var aspect = width/height;
if (aspect < 2.8 && aspect > 0.3){
//moderate
if(windowW > windowH){
//画面が横長(縦幅基準)
$("#imgmodal").css('height',windowH/1.2-70+"px");
var imgW = (windowH/1.2-70)/height*width;
$("#imgmodal").css('width',imgW+"px");
$("#imagewrap").css('height',windowH/1.2-60+"px");
$("#imagemodal").css('height',windowH/1.2+"px");
$("#imagewrap").css('width',imgW+50+"px");
$("#imagemodal").css('width',imgW+50+"px");
}else{
//画面が縦長・正方形(横幅基準)
$("#imgmodal").css('width',windowW/1.2-30+"px");
var imgH = (windowW/1.2-30)/width*height;
$("#imgmodal").css('height',imgH+"px");
$("#imagewrap").css('width',windowW/1.2+"px");
$("#imagemodal").css('width',windowW/1.2+"px");
$("#imagewrap").css('height',imgH+60+"px");
$("#imagemodal").css('height',imgH+120+"px");
}
}else{
//極端な画像
if(height > width){
//縦長
$("#imgmodal").css('height',windowH-60+"px");
@ -109,6 +156,7 @@ function imgCont(type) {
$("#imagemodal").css('height',imgH+120+"px");
}
}
}
if ($("#" + id + "-image-" + (key * 1 + 1)).length == 0) {
$("#image-next").prop("disabled", true);
} else {
@ -217,3 +265,15 @@ function detFromImg(){
$('#imagemodal').modal('close');
details(id,acct_id);
}
function dlImg(){
var url=$("#imgmodal").attr("src");
var electron = require("electron");
var ipc = electron.ipcRenderer;
ipc.send('general-dl', url);
ipc.on('general-dl-prog', function (event, arg) {
console.log(arg);
})
ipc.on('general-dl-message', function (event, arg) {
console.log(arg);
})
}

View File

@ -2,7 +2,8 @@
localStorage.removeItem("history");
function udg(user, acct_id) {
if (!user) {
user = localStorage.getItem("user-id");
user = localStorage.getItem("user-id_"+acct_id);
console.log(user);
}
todo("User Data Loading...");
var domain = localStorage.getItem("domain_" + acct_id);
@ -86,6 +87,13 @@ function historyShow(){
var user=$('#his-data').attr("history");
udg(user, acct_id, "true")
}
//選択アカウントのプロフ
function profShow(){
var acct_id = $("#post-acct-sel").val();
var user = localStorage.getItem("user-id_"+acct_id);
console.log("user-id_"+acct_id+":"+user);
udg(user, acct_id)
}
//FF関係取得
function relations(user, acct_id) {

View File

@ -3,6 +3,7 @@
// Electronのモジュール
const electron = require("electron");
const fs = require("fs");
const dialog = require('electron').dialog
// アプリケーションをコントロールするモジュール
const app = electron.app;
@ -76,13 +77,26 @@ ipc.on('nano', function(e, x, y) {
return "true"
})
ipc.on('download-btn', (e, args) => {
if(args=="true"){
dialog.showOpenDialog({
properties: ['openDirectory']
}, function(files) {
dl(files[0]);
})
}else{
dl();
}
});
function dl(files){
mainWindow.webContents.send('comp', "ダウンロードを開始します。");
const opts = {
directory:files,
openFolderWhenDone: true,
onProgress: function(e) {
mainWindow.webContents.send('prog', e);
},
saveAs: args
saveAs: false
};
download(BrowserWindow.getFocusedWindow(),
'https://dl.thedesk.top/TheDesk-win32-x64.zip', opts)
@ -91,6 +105,24 @@ ipc.on('download-btn', (e, args) => {
app.quit();
})
.catch(console.error);
}
ipc.on('general-dl', (e, args) => {
console.log(args)
mainWindow.webContents.send('general-dl-message', "ダウンロードを開始します。");
const opts = {
directory: app.getPath('home')+"\\Pictures\\TheDesk",
openFolderWhenDone: true,
onProgress: function(e) {
mainWindow.webContents.send('general-dl-prog', e);
},
saveAs: false
};
download(BrowserWindow.getFocusedWindow(),
args, opts)
.then(dl => {
mainWindow.webContents.send('general-dl-message', "ダウンロードが完了しました。");
})
.catch(console.error);
});
ipc.on('quit', (e, args) => {
app.quit();
@ -98,8 +130,8 @@ ipc.on('quit', (e, args) => {
ipc.on('about', (e, args) => {
openAboutWindow({
icon_path: join(__dirname, 'desk.png'),
copyright: 'Copyright (c) TheDesk on Mastodon 2018 & Cutls.com 2015 All Rights Reserved. CDN provided by AWS as 8i9.me belonging to Cutls.com.',
license: 'This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.',
copyright: 'Copyright (c) TheDesk on Mastodon 2018 & Cutls.com 2015 All Rights Reserved. CDN provided by AWS CloudFront.',
license: 'This work is licensed under TheDesk LICENSE. See also GitHub.',
description: 'ここに表示されているバージョンは内部バージョンで、一般的に使われている愛称とは異なります。',
bug_report_url: 'https://cutls.com/report',
css_path: join(__dirname, './css/about.css'),

View File

@ -1,14 +1,14 @@
{
"name": "TheDesk",
"version": "11.11.0",
"version": "11.12.0",
"description": "TheDesk on Mastodonはシンプルと多機能を両立したデスクトップ向けクライアントです",
"main": "main.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"author": "Cutls P",
"license": "TheDesk LICENSE",
"dependencies":{
"electron-dl":"1.10.0",
"about-window":"1.8.0"

View File

@ -21,12 +21,6 @@
<script type="text/javascript" src="./js/common/time.js"></script>
<script type="text/javascript" src="./js/common/modal.js"></script>
<script type="text/javascript" src="./js/ui/jquery-ui.min.js"></script>
<div id="tools">
<div id="notice" >Settings</div>
<a onclick="notfToggle()" class="setting nex"><i class="material-icons nex notf-icon">notifications</i></a>
<a href="index.html" class="setting nex"><i class="material-icons nex">home</i></a>
<a onclick="udg()" class="pointer"><img src="./img/loading.svg" width="24" id="my-prof"></a>
</div>
<div id="notf-box" class="hide"><div id="notifications">Notifications will be showed here...</div><button class="btn waves-effect orange more-hide" style="width:calc( 100% - 10px); padding:0;" onclick="notfToggle()">閉じる</button></div>
<a href="acct.html" class="btn waves-effect blue nex" style="width:100%; max-width:400px;">アカウントマネージャー</a><br>
<h5>カラム並べ替え</H5>
@ -126,8 +120,10 @@
<li>マウスホイール:イメージビューワー時に拡大縮小</li>
以下Markdownに対応したインスタンスのみ。<br>
<li>Ctrl+B/I/S/U:太字/斜字/取り消し/下線</li>
<li>Shift+Enter:全角スペースを入れて改行</li>
<li>Shift+Space:ゼロ幅スペース</li>
以下アスタルテにログインしている場合のみ<br>
<li>Ctrl+R:アスタルテ暇人ランキングを開く</li>
<li>Ctrl+R:<a href="https://astarte.thedesk.top">アスタルテ暇人ランキング</a>を開く</li>
<br>
<button class="btn waves-effect red" style="width:100%; max-width:500px;" onclick="if(confirm('初期化します')){ localStorage.clear(); location.href='index.html'; }">初期化</button><br>
<button class="btn waves-effect indigo" onclick="about()" style="width:100%; max-width:500px;">このソフトについて</button><br>
@ -137,47 +133,8 @@
<span style="font-family:Open Sans;">
Copyright &copy; TheDesk on Mastodon 2018 & Cutls.com 2015 All Rights Reserved. <a href="https://github.com/cutls/TheDesk/blob/master/LICENSE.md">TheDesk LICENSE (Latest Ver.)</a><br>
Developer: <a onclick="udg('12336')" style="cursor:pointer" class="nex pointer">Cutls P(@Cutls@kirishima.cloud)</a><br>
Developer: Cutls P(@Cutls@kirishima.cloud)<br>
</span>
<!-- Modal Structure Userdata -->
<div id="his-data" class="modal bottom-sheet modal-fixed-footer" style="max-height:750px; height:90%;">
<div id="his-data-content" class="modal-content" style="padding-bottom: 0;">
<div id="his-data-show">
<img src="./img/loading.svg" id="his-prof" style="">
<div class="his-float">
<span id="his-name" style="font-size:200%">Loading...</span><br>
@<span id="his-acct"></span>
<span class="gray" id="his-relation"></span><br>
<span class="cbadge"><span id="his-sta"></span>トゥート</span><span class="cbadge">フォロー:<span id="his-follow"></span></span>
<span class="cbadge">フォロワー:<span id="his-follower"></span></span><span class="cbadge">Since:<span id="his-since"></span>
</div>
<div class="his-float">
<span id="his-des"></span><br>
</div>
<div class="row">
<div class="col s12">
<ul class="tabs">
<li class="tab col s4"><a href="#his-tl">Timeline</a></li>
<li class="tab col s4"><a href="#his-follow-list">Follows</a></li>
<li class="tab col s4"><a href="#his-follower-list">Followers</a></li>
</ul>
</div>
<div id="his-tl" class="col s12 tab-content">A</div>
<div id="his-follow-list" class="col s12 tab-content">B</div>
<div id="his-follower-list" class="col s12 tab-content">C</div>
</div>
</div>
</div>
<div class="modal-footer">
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-follow-btn" onclick="follow()">フォロー</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-mute-btn" onclick="mute()">ミュート</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" id="his-block-btn" onclick="block()">ブロック</a>
<a href="#!" class="modal-action waves-effect waves-green btn-flat" onclick="hisclose()">Close</a>
</div>
</div>
<script type="text/javascript" src="./js/common/about.js"></script>
<script type="text/javascript" src="./js/platform/end.js"></script>
@ -185,9 +142,4 @@ Developer: <a onclick="udg('12336')" style="cursor:pointer" class="nex pointer">
<script type="text/javascript" src="./js/ui/sort.js"></script>
<script type="text/javascript" src="./js/ui/settings.js"></script>
<script type="text/javascript" src="./js/ui/theme.js"></script>
<script type="text/javascript" src="./js/userdata/showOnTL.js"></script>
<script type="text/javascript" src="./js/userdata/his-data.js"></script>
<script type="text/javascript" src="./js/tl/notification.js"></script>
<script type="text/javascript" src="./js/post/status.js"></script>
<script type="text/javascript" src="./js/tl/parse.js"></script>
<script type="text/javascript" src="./js/tl/date.js"></script>

View File

@ -43,7 +43,7 @@ ipc.on('mess', function (event, arg) {
$("#prog").text(arg);
})
function verck(){
var start="https://desk.cutls.com/ver.json";
var start="https://dl.thedesk.top/ver.json";
fetch(start, {
method: 'GET',
headers: {'content-type': 'application/json'},

View File

@ -1 +1 @@
{"desk":"Miho (ver.11)","date":"2018-02-14","detail":"内部V:11.11.0|イメージビューワー他バグ修正"}
{"desk":"Miho (ver.12)","date":"2018-02-16","detail":"内部V:11.12.0|イメージビューワー他バグ修正。ラジオにJazz FM追加。画像ダウンローダー。アップデータの改良"}