Compare commits
119 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
81c476c1bb | ||
|
ccc44ca769 | ||
|
82c5a853cb | ||
|
e11af25ba6 | ||
|
16b68bb190 | ||
|
051dbb3b1b | ||
|
bdf2b9be71 | ||
|
0b6a76d01a | ||
|
bd1e1f7ee8 | ||
|
e9c7ffe825 | ||
|
9e735bc7df | ||
|
eefc03c4f3 | ||
|
135caffaec | ||
|
c1f7abac58 | ||
|
a325c50f1f | ||
|
37daa5638b | ||
|
8118806f4e | ||
|
3f7aaa7e99 | ||
|
700de676d0 | ||
|
52a8ec8033 | ||
|
40a884b4f5 | ||
|
62df4e2fac | ||
|
69d60a7372 | ||
|
9623b79197 | ||
|
ec1481aed0 | ||
|
1e76867fd1 | ||
|
7ff01413e5 | ||
|
48b3ed3aca | ||
|
e75d52f985 | ||
|
3f95e755b5 | ||
|
9d0f4096f8 | ||
|
e402e0e7a7 | ||
|
38c77fb39e | ||
|
3020adbe9d | ||
|
4df390713c | ||
|
bec4444388 | ||
|
2d249f6f19 | ||
|
4d1053ce99 | ||
|
0522331977 | ||
|
eb9520397c | ||
|
f0c93b8fce | ||
|
b3e9c3d6ce | ||
|
99793f2e20 | ||
|
f43bd64be2 | ||
|
fa440e8d9b | ||
|
91bc8c8bdd | ||
|
74d756d43b | ||
|
2281d0ca35 | ||
|
31cc929c68 | ||
|
80ce93785a | ||
|
1710ab0035 | ||
|
dafc50bbd7 | ||
|
50f58f8d3b | ||
|
b9be1529cc | ||
|
fb3a89b547 | ||
|
c01915c397 | ||
|
e9a774c1d4 | ||
|
04d08ae6c1 | ||
|
0585f95a85 | ||
|
2300e02a12 | ||
|
fec4b61cb6 | ||
|
e1941ce621 | ||
|
3aeb47b039 | ||
|
73701be7c9 | ||
|
7941eb7e9d | ||
|
a8dedc94e9 | ||
|
26fd6a72d6 | ||
|
9d6f06cbde | ||
|
b0bd85ccc6 | ||
|
9fc570e183 | ||
|
695d812ecb | ||
|
ef6db98da5 | ||
|
cd38819a7a | ||
|
f207ed274b | ||
|
c3691783de | ||
|
7171831b14 | ||
|
fa14921421 | ||
|
475a80acdd | ||
|
9826c3f33e | ||
|
ecee949547 | ||
|
95eea7051f | ||
|
74e3ea41a7 | ||
|
dc27db920a | ||
|
b2724fe362 | ||
|
5d43a5b159 | ||
|
7435f3ddfd | ||
|
94b6de6d3f | ||
|
1eb49e9a26 | ||
|
0893aa4ee1 | ||
|
ccdd9fba88 | ||
|
01dc5ff700 | ||
|
346e8319df | ||
|
5ca7046d5c | ||
|
f39e851211 | ||
|
3747020876 | ||
|
5ed5a9ade3 | ||
|
04f157353f | ||
|
a1bbcc9be2 | ||
|
1266ef44ee | ||
|
0da36709d5 | ||
|
2b5637f388 | ||
|
6d478906a0 | ||
|
e436aed6c5 | ||
|
25867690f3 | ||
|
b5efbebadb | ||
|
e93f860c0c | ||
|
df04ebca4c | ||
|
d2aaf2c2cf | ||
|
8386cd675c | ||
|
ad7b3cf485 | ||
|
f9f2aeab23 | ||
|
ea735d279f | ||
|
fa616d56fd | ||
|
907e55e6d7 | ||
|
874be5bca8 | ||
|
f49907e5e5 | ||
|
da197340ec | ||
|
cf6e5b5dd5 | ||
|
917cd322fc |
2
.github/FUNDING.yml
vendored
2
.github/FUNDING.yml
vendored
@@ -5,4 +5,4 @@ patreon: cutls
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
ko_fi: # Replace with a single Ko-fi username
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
custom: https://www.pixiv.net/fanbox/creator/28105985
|
||||
custom: https://cutls.fanbox.cc
|
||||
|
15
.travis.yml
15
.travis.yml
@@ -15,6 +15,20 @@ before_deploy:
|
||||
- cd app
|
||||
- VERSION=$(cat package.json | grep version | head -1 | awk -F= "{ print $2 }" | sed 's/[version:,\",]//g' | tr -d '[[:space:]]')
|
||||
- yarn install --no-lockfile --prod
|
||||
- yarn construct:store
|
||||
- if [ "$TRAVIS_OS_NAME" = "osx" ];then electron-builder --mac -p never;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "osx" ];then cd ../build;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "osx" ];then mv *.dmg TheDesk-$VERSION-store.dmg;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "osx" ];then cd ../app;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ];then electron-builder --linux snap:x64 -p never;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ];then cd ../build;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ];then mv *.snap TheDesk-$VERSION-store.snap;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 appx:x64 -p never ;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "windows" ];then cd ../build;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "windows" ];then mv *.appx TheDesk-$VERSION-store.appx;else :;fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "windows" ];then cd ../app;else :;fi
|
||||
- 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
|
||||
@@ -22,7 +36,6 @@ before_deploy:
|
||||
- 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
|
||||
|
@@ -13,6 +13,9 @@ Mastodon/Misskey client for PC(Windows/Linux/macOS)
|
||||
|
||||
Download:[TheDesk](https://thedesk.top) [](https://status.cutls.com)
|
||||
|
||||
On GitHub Releases, `-store.*` assets are made for some application store or manager(Snapcraft, Homebrew, Microsoft Store).
|
||||
They do not check the latest version(Which you can get the latest ver or not depends on the store)
|
||||
|
||||
<a href="https://www.patreon.com/cutls"><img src="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png" alt="Become a Patron!" width="160"></a>
|
||||
<a href="https://liberapay.com/cutls/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a>
|
||||

|
||||
@@ -165,4 +168,3 @@ Please write issues to improve TheDesk affinity with Pleroma.
|
||||
## Vulnerabilities when `npm i`???
|
||||
|
||||
No, if your npm says materialize-css has vulnerabilities(CVE-2019-11002/3/4), look at [here](https://github.com/Dogfalo/materialize/issues/6286) under discussion.
|
||||
|
||||
|
@@ -14,6 +14,8 @@ Download:[TheDesk](https://thedesk.top) [
|
||||
|
||||
`-store.*`とあるアセットはストアやパッケージマネージャ向けのもので、アップデートの確認をソフト本体で行いません。
|
||||
|
||||

|
||||
|
||||
## ライセンス
|
||||
|
5
app/.eslintignore
Normal file
5
app/.eslintignore
Normal file
@@ -0,0 +1,5 @@
|
||||
js/common/blurhash.js
|
||||
js/common/hammer.min.js
|
||||
js/common/sha256.js
|
||||
js/platform/punycode.js
|
||||
js/platform/tj-deck.js
|
14
app/.eslintrc.json
Normal file
14
app/.eslintrc.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"extends": "eslint:recommended",
|
||||
"env": {"browser": true},
|
||||
"rules": {
|
||||
"no-console": "off",
|
||||
"semi": ["error", "never"]
|
||||
},
|
||||
"globals": {
|
||||
"$": false,
|
||||
"ver": true,
|
||||
"pwa": true,
|
||||
"lang": true
|
||||
}
|
||||
}
|
@@ -21,6 +21,15 @@ html {
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
#acct-list .btn-flat.white-text {
|
||||
color: inherit !important;
|
||||
}
|
||||
|
||||
#acct-list .btn-flat.red-text {
|
||||
background-color: white !important;
|
||||
}
|
||||
|
||||
|
||||
.lts {
|
||||
font-size: 150%;
|
||||
}
|
||||
@@ -48,6 +57,12 @@ html {
|
||||
.first .hide-first {
|
||||
display: none;
|
||||
}
|
||||
.hide-second {
|
||||
display: none;
|
||||
}
|
||||
.first .hide-second {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#compt {
|
||||
margin-top: 20px;
|
||||
|
@@ -5,23 +5,28 @@ body {
|
||||
overflow: hidden;
|
||||
user-select: none;
|
||||
cursor: default;
|
||||
font-size: 13px;
|
||||
height: 100vh;
|
||||
color: var(--color);
|
||||
color: var(--text);
|
||||
}
|
||||
html {
|
||||
font-size: 13px;
|
||||
}
|
||||
.titlebar,
|
||||
.menubar-menu-container,
|
||||
.action-menu-item {
|
||||
background-color: var(--notfbox) !important;
|
||||
background-color: var(--subcolor) !important;
|
||||
filter: brightness(110%) !important;
|
||||
color: var(--color) !important;
|
||||
color: var(--text) !important;
|
||||
}
|
||||
.action-menu-item:hover {
|
||||
filter: brightness(80%) !important;
|
||||
}
|
||||
.btn {
|
||||
margin: 5px;
|
||||
.btn, .btn-flat {
|
||||
font-size: 1.1rem;
|
||||
margin: 0.4rem;
|
||||
text-transform: none;
|
||||
height: 2.76rem;
|
||||
line-height: 2.76rem;
|
||||
}
|
||||
.markdown {
|
||||
display: none;
|
||||
@@ -89,7 +94,7 @@ option {
|
||||
}
|
||||
.badge {
|
||||
min-width: 0 !important;
|
||||
margin-left: 5px !important;
|
||||
margin-left: 0.4rem !important;
|
||||
}
|
||||
.unvisible {
|
||||
opacity: 0;
|
||||
@@ -163,16 +168,17 @@ pre {
|
||||
display: block;
|
||||
border-left: 5px solid;
|
||||
border-color: #079903;
|
||||
padding-left: 10px;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
margin-left: 5px;
|
||||
padding-left: 0.75rem;
|
||||
margin-top: 0.75rem;
|
||||
margin-bottom: 0.75rem;
|
||||
margin-left: 0.75rem;
|
||||
background-color: #000;
|
||||
padding: 1em 1em 1em;
|
||||
position: relative;
|
||||
border-top-left-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
border-bottom-left-radius: 10px;
|
||||
border-top-left-radius: 0.75rem;
|
||||
border-bottom-right-radius: 0.75rem;
|
||||
border-bottom-left-radius: 0.75rem;
|
||||
white-space: normal;
|
||||
}
|
||||
blockquote,
|
||||
.quote p {
|
||||
@@ -184,9 +190,9 @@ blockquote,
|
||||
background-color: #ddd;
|
||||
padding: 1em 1em 1em;
|
||||
position: relative;
|
||||
border-top-left-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
border-bottom-left-radius: 10px;
|
||||
border-top-left-radius: 0.75rem;
|
||||
border-bottom-right-radius: 0.75rem;
|
||||
border-bottom-left-radius: 0.5rem;
|
||||
}
|
||||
blockquote:before,
|
||||
.quote:before {
|
||||
@@ -204,9 +210,9 @@ blockquote:before,
|
||||
background-color: #fff;
|
||||
padding: 1em 1em 1em;
|
||||
position: relative;
|
||||
border-top-left-radius: 10px;
|
||||
border-bottom-right-radius: 10px;
|
||||
border-bottom-left-radius: 10px;
|
||||
border-top-left-radius: 0.75rem;
|
||||
border-bottom-right-radius: 0.75rem;
|
||||
border-bottom-left-radius: 0.75rem;
|
||||
border-left: 5px solid #0096fa;
|
||||
}
|
||||
.pixiv-post :before {
|
||||
@@ -223,9 +229,10 @@ blockquote:before,
|
||||
display: none;
|
||||
position: fixed;
|
||||
width: 100vw;
|
||||
height: calc(100vh - 40px);
|
||||
height: calc(100vh - 3rem);
|
||||
background-color: var(--bg);
|
||||
color: var(--color);
|
||||
filter: brightness(50%);
|
||||
color: var(--text);
|
||||
z-index: 99999;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
@@ -236,7 +243,7 @@ blockquote:before,
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background-color: var(--bg);
|
||||
color: var(--color);
|
||||
color: var(--text);
|
||||
z-index: 99999;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
@@ -247,7 +254,7 @@ blockquote:before,
|
||||
#pip {
|
||||
z-index: 504;
|
||||
width: 418px;
|
||||
background-color: var(--subcolor);
|
||||
background-color: var(--thirdColor);
|
||||
position: absolute;
|
||||
}
|
||||
.pip-bottom {
|
||||
@@ -308,40 +315,53 @@ blockquote:before,
|
||||
}
|
||||
.collapsible-header,
|
||||
.tabs {
|
||||
background-color: var(--subcolor);
|
||||
background-color: var(--thirdColor);
|
||||
}
|
||||
.collapsible-header:focus {
|
||||
background-color: var(--subcolor) !important;
|
||||
background-color: var(--thirdColor) !important;
|
||||
}
|
||||
.modal-footer {
|
||||
background-color: var(--modalfooter) !important;
|
||||
}
|
||||
.font {
|
||||
font-size: 1.5rem;
|
||||
margin-bottom: 5px;
|
||||
margin-bottom: 0.4rem;
|
||||
}
|
||||
.font:hover {
|
||||
background-color: #999;
|
||||
}
|
||||
.release-do {
|
||||
border: solid 2px;
|
||||
border-color: var(--color);
|
||||
border-color: var(--text);
|
||||
padding: 5px;
|
||||
}
|
||||
#pickers {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
flex-direction: column;
|
||||
}
|
||||
input[type="color"] {
|
||||
-webkit-appearance: none;
|
||||
border: none;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
input[type="color"]::-webkit-color-swatch-wrapper {
|
||||
padding: 0;
|
||||
}
|
||||
input[type="color"]::-webkit-color-swatch {
|
||||
border: none;
|
||||
}
|
||||
#menu {
|
||||
position: fixed;
|
||||
z-index: 9999;
|
||||
z-index: 999;
|
||||
background-color: var(--postbox);
|
||||
width: 540px;
|
||||
top: calc(50% - 150px);
|
||||
left: calc(50% - 250px);
|
||||
padding: 5px;
|
||||
padding: 0.4rem;
|
||||
border: thin solid gray;
|
||||
border-radius: 5px;
|
||||
border-radius: 0.4rem;
|
||||
overflow: hidden;
|
||||
}
|
||||
#menu-wrapper {
|
||||
@@ -351,31 +371,34 @@ blockquote:before,
|
||||
overflow: hidden;
|
||||
}
|
||||
#left-menu {
|
||||
width: 230px;
|
||||
width: 17.7rem;
|
||||
}
|
||||
#left-menu a {
|
||||
padding-left: 5px;
|
||||
padding-left: 0.4rem;
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
height: 3rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
cursor: pointer;
|
||||
color: var(--color);
|
||||
color: var(--text);
|
||||
}
|
||||
#left-menu a:hover {
|
||||
background-color: var(--beforehover);
|
||||
}
|
||||
#left-menu span {
|
||||
margin-left: 5px;
|
||||
margin-left: 0.4rem;
|
||||
}
|
||||
#left-menu a.active {
|
||||
background-color: var(--emphasized);
|
||||
}
|
||||
#left-menu a.active span {
|
||||
text-decoration: underline;
|
||||
}
|
||||
#right-menu {
|
||||
width: 100%;
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
padding: 5px;
|
||||
padding: 0.4rem;
|
||||
}
|
||||
#tltype {
|
||||
display: flex;
|
||||
@@ -385,13 +408,13 @@ blockquote:before,
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
width: 170px;
|
||||
height: 40px;
|
||||
width: 13rem;
|
||||
height: 3.1rem;
|
||||
cursor: pointer;
|
||||
color: var(--color);
|
||||
color: var(--text);
|
||||
}
|
||||
#tltype .type span {
|
||||
width: calc(100% - 30px);
|
||||
width: calc(100% - 2.3rem);
|
||||
}
|
||||
#tltype .type:hover {
|
||||
background-color: var(--beforehover);
|
||||
@@ -400,28 +423,28 @@ blockquote:before,
|
||||
background-color: var(--emphasized);
|
||||
}
|
||||
#tltype i {
|
||||
font-size: 30px;
|
||||
font-size: 2.3rem;
|
||||
}
|
||||
#tltype i.sub-icon {
|
||||
font-size: 20px;
|
||||
font-size: 1.53rem;
|
||||
position: absolute;
|
||||
color: var(--beforehover);
|
||||
left: 10px;
|
||||
bottom: 5px;
|
||||
left: 0.9rem;
|
||||
bottom: 0.4rem;
|
||||
background-color: #fff;
|
||||
}
|
||||
.drag-bar {
|
||||
cursor: move;
|
||||
text-align: center;
|
||||
width: calc(100% + 10px);
|
||||
width: calc(100% + 0.8rem);
|
||||
border-radius: 5px;
|
||||
background-color: var(--box);
|
||||
background-color: var(--subcolor);
|
||||
filter: brightness(80%);
|
||||
margin-left: -5px;
|
||||
margin-right: -5px;
|
||||
margin-top: -5px;
|
||||
font-size: 16px;
|
||||
padding: 4px;
|
||||
margin-left: -0.4rem;
|
||||
margin-right: -0.4rem;
|
||||
margin-top: -0.4rem;
|
||||
font-size: 1.3rem;
|
||||
padding: 0.3rem;
|
||||
}
|
||||
#something-wrong {
|
||||
flex-direction: column;
|
||||
@@ -436,12 +459,12 @@ blockquote:before,
|
||||
position: fixed;
|
||||
bottom: -300px;
|
||||
width: 100vw;
|
||||
background-color: var(--box);
|
||||
background-color: var(--subcolor);
|
||||
z-index: 9999;
|
||||
padding: 10px;
|
||||
padding: 0.8rem;
|
||||
display: grid;
|
||||
grid-template-columns: 3fr 1fr 1fr;
|
||||
grid-template-rows: 1fr 36px;
|
||||
grid-template-rows: 1fr 2.7rem;
|
||||
grid-template-areas: 'note middle right' 'note close close';
|
||||
}
|
||||
#support-btm-en,
|
||||
@@ -458,23 +481,23 @@ blockquote:before,
|
||||
grid-area: close;
|
||||
}
|
||||
.select-wrapper .dropdown-content {
|
||||
width: 250px !important;
|
||||
width: 19.2rem !important;
|
||||
}
|
||||
input,
|
||||
textarea {
|
||||
color: var(--color);
|
||||
color: var(--text);
|
||||
font-size: 1rem !important;
|
||||
font-family: inherit;
|
||||
}
|
||||
.swal2-popup {
|
||||
background-color: var(--notfbox) !important;
|
||||
background-color: var(--subcolor) !important;
|
||||
}
|
||||
.swal2-title,
|
||||
.swal2-content {
|
||||
color: var(--color) !important;
|
||||
color: var(--text) !important;
|
||||
}
|
||||
#src-contents svg {
|
||||
margin-right: 5px;
|
||||
margin-right: 0.4rem;
|
||||
}
|
||||
.contributor {
|
||||
cursor: pointer;
|
||||
@@ -484,11 +507,11 @@ textarea {
|
||||
}
|
||||
.tagComp {
|
||||
display: grid;
|
||||
grid-template-columns: 60px 80px 1fr;
|
||||
grid-template-columns: 4.6rem 6.15rem 1fr;
|
||||
grid-template-rows: 1fr 1fr;
|
||||
grid-template-areas: 'svg toot user' 'svg toot tag' 'svg toots tag';
|
||||
border-top: dotted 0.5px var(--gray);
|
||||
padding: 5px;
|
||||
padding: 0.4rem;
|
||||
}
|
||||
.tagCompSvg {
|
||||
grid-area: svg;
|
||||
@@ -506,7 +529,7 @@ textarea {
|
||||
}
|
||||
.tagCompTag {
|
||||
grid-area: tag;
|
||||
padding-top: 10px;
|
||||
padding-top: 0.4rem;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
@@ -517,15 +540,15 @@ textarea {
|
||||
#pageSrc {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: calc(50vw - 150px);
|
||||
width: 300px;
|
||||
left: calc(50vw - 11.53rem);
|
||||
width: 23rem;
|
||||
max-width: 100%;
|
||||
background-color: var(--box);
|
||||
background-color: var(--subcolor);
|
||||
z-index: 501;
|
||||
padding: 5px;
|
||||
padding: 0.4rem;
|
||||
}
|
||||
#pageSrcInput {
|
||||
width: 160px;
|
||||
width: 12.3rem;
|
||||
}
|
||||
.voice {
|
||||
clip: rect(1px, 1px, 1px, 1px);
|
||||
@@ -576,7 +599,7 @@ textarea {
|
||||
font-family: 'Material Icons';
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-size: 24px;
|
||||
font-size: 1.84rem;
|
||||
line-height: 1;
|
||||
letter-spacing: normal;
|
||||
text-transform: none;
|
||||
@@ -600,3 +623,14 @@ textarea {
|
||||
.darwin .win {
|
||||
display: none;
|
||||
}
|
||||
.dropdown-content.header:hover {
|
||||
background-color: white;
|
||||
}
|
||||
button {
|
||||
font-family: inherit !important;
|
||||
}
|
||||
.via-dropdown {
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow-x: hidden;
|
||||
}
|
@@ -8,15 +8,16 @@
|
||||
border: thin solid gray;
|
||||
z-index: 501;
|
||||
max-width: 100%;
|
||||
padding: 5px;
|
||||
border-radius: 5px;
|
||||
padding: 0.4rem;
|
||||
border-radius: 0.4rem;
|
||||
overflow: hidden;
|
||||
}
|
||||
textarea {
|
||||
min-height: 100px !important;
|
||||
min-height: 7.7rem !important;
|
||||
font-family: inherit;
|
||||
}
|
||||
#post-box .ui-resizable-s, #post-box .ui-resizable-se{
|
||||
#post-box .ui-resizable-s,
|
||||
#post-box .ui-resizable-se {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
@@ -64,67 +65,69 @@ textarea {
|
||||
#emoji {
|
||||
}
|
||||
#suggest {
|
||||
max-height: 300px;
|
||||
max-height: 23rem;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
#emoji-list {
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
height: 15.4rem;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
#preview-field {
|
||||
display: none;
|
||||
}
|
||||
.preview-img {
|
||||
width: 50px;
|
||||
max-height: 100px;
|
||||
width: 4rem;
|
||||
max-height: 7.6rem;
|
||||
}
|
||||
.pi-wrap {
|
||||
display: inline-block;
|
||||
width: 50px;
|
||||
max-height: 100px;
|
||||
width: 3.8rem;
|
||||
max-height: 7.7rem;
|
||||
}
|
||||
#default-emoji a {
|
||||
color: var(--color);
|
||||
margin-right: 2px;
|
||||
color: var(--text);
|
||||
margin-right: 0.15rem;
|
||||
}
|
||||
.character-counter {
|
||||
position: relative;
|
||||
top: -25px;
|
||||
top: -1.9rem;
|
||||
}
|
||||
.trendtag {
|
||||
overflow-y: scroll;
|
||||
max-height: 100px;
|
||||
max-height: 7.7rem;
|
||||
}
|
||||
#toot-btn-field {
|
||||
display: flex;
|
||||
}
|
||||
#toot-post-btn {
|
||||
width: calc(100% - 10px);
|
||||
width: calc(100% - 0.7rem);
|
||||
padding: 0;
|
||||
margin-top: 10px;
|
||||
margin-top: 0.7rem;
|
||||
height: 2.7rem;
|
||||
}
|
||||
#toot-sec-btn {
|
||||
width: 30px;
|
||||
width: 2.3rem;
|
||||
padding: 0;
|
||||
margin-top: 10px;
|
||||
margin-top: 0.7rem;
|
||||
}
|
||||
#left-side {
|
||||
float: left;
|
||||
overflow-x: hidden;
|
||||
height: calc(100% - 32px);
|
||||
height: calc(100% - 2.5rem);
|
||||
}
|
||||
#right-side {
|
||||
display: none;
|
||||
float: left;
|
||||
width: 300px;
|
||||
padding: 5px;
|
||||
width: 23rem;
|
||||
padding: 0.4rem;
|
||||
overflow-x: hidden;
|
||||
height: calc(100% - 32px);
|
||||
height: calc(100% - 2.5rem);
|
||||
}
|
||||
#posttgl,#toot-post-btn {
|
||||
background-color: var(--accentbtn);
|
||||
color: var(--color);
|
||||
#posttgl,
|
||||
#toot-post-btn {
|
||||
background-color: var(--active);
|
||||
color: var(--text);
|
||||
}
|
||||
/*mini*/
|
||||
.mini-post .mize {
|
||||
@@ -134,8 +137,8 @@ textarea {
|
||||
padding: 0;
|
||||
}
|
||||
.mini-post #post-box {
|
||||
width: 200px;
|
||||
min-width: 100px;
|
||||
width: 15.4rem;
|
||||
min-width: 7.7rem;
|
||||
}
|
||||
.mini-post #toot-field {
|
||||
padding: 0;
|
||||
|
@@ -3,29 +3,29 @@
|
||||
cursor: move;
|
||||
user-select: none;
|
||||
background-color: var(--modalfooter);
|
||||
margin: 5px;
|
||||
border-radius: 5px;
|
||||
color: var(--color);
|
||||
margin: 0.4rem;
|
||||
border-radius: 0.4rem;
|
||||
color: var(--text);
|
||||
padding: 3px;
|
||||
display: grid;
|
||||
grid-template-columns: 43px 1fr 60px;
|
||||
grid-template-columns: 3.3rem 1fr 4.6rem;
|
||||
grid-template-areas: "sorticon sorttitle sorttitle" "sorticon sortacct sortaction";
|
||||
}
|
||||
.sorticon {
|
||||
grid-area: sorticon;
|
||||
}
|
||||
.sorticon i {
|
||||
font-size: 43px;
|
||||
font-size: 3.3rem;
|
||||
}
|
||||
.sorttitle {
|
||||
margin-left: 5px;
|
||||
margin-left: 0.4rem;
|
||||
grid-area: sorttitle;
|
||||
}
|
||||
.sortacct {
|
||||
margin-left: 5px;
|
||||
margin-left: 0.4rem;
|
||||
grid-area: sortacct;
|
||||
}
|
||||
.sortaction {
|
||||
margin-left: 5px;
|
||||
margin-left: 0.4rem;
|
||||
grid-area: sortaction;
|
||||
}
|
||||
|
@@ -1,192 +1,22 @@
|
||||
:root {
|
||||
--bg: white;
|
||||
--drag: rgba(255, 255, 255, 0.8);
|
||||
--color: black;
|
||||
--beforehover: #757575;
|
||||
--modal: white;
|
||||
--subcolor: #e0e0e0;
|
||||
--box: white;
|
||||
--sidebar: #eeeeee;
|
||||
--shared: #cfd8dc;
|
||||
--notfbox: white;
|
||||
--emphasized: #81c784;
|
||||
--his-data: rgba(255, 255, 255, 0.9);
|
||||
--active: #e6ee9c;
|
||||
--postbox: white;
|
||||
--modalfooter: #fafafa;
|
||||
--accentbtn: #009688;
|
||||
--selected: #c0c0c0;
|
||||
--selectedWithShare: #b2babd;
|
||||
--gray: #757575;
|
||||
}
|
||||
#imagemodal {
|
||||
background: url("../img/pixel.white.svg");
|
||||
}
|
||||
.blacktheme {
|
||||
--bg: #212121;
|
||||
--drag: rgba(0, 0, 0, 0.8);
|
||||
--color: white;
|
||||
--text: white;
|
||||
--beforehover: #9e9e9e;
|
||||
--modal: black;
|
||||
--subcolor: #212121;
|
||||
--box: #424242;
|
||||
--sidebar: #424242;
|
||||
--shared: #004d40;
|
||||
--notfbox: #333333;
|
||||
--thirdColor: #212121;
|
||||
--bottom: #424242;
|
||||
--accent: #004d40;
|
||||
--subcolor: #333333;
|
||||
--emphasized: #4e342e;
|
||||
--his-data: rgba(0, 0, 0, 0.8);
|
||||
--active: #757575;
|
||||
--postbox: #424242;
|
||||
--modalfooter: #212121;
|
||||
--accentbtn: #3f51b5;
|
||||
--active: #3f51b5;
|
||||
--selected: #3f3f3f;
|
||||
--selectedWithShare: #003a30;
|
||||
--gray: #cccccc;
|
||||
}
|
||||
.blacktheme #imagemodal {
|
||||
#imagemodal {
|
||||
background: url("../img/pixel.svg");
|
||||
}
|
||||
.indigotheme {
|
||||
--bg: #031833;
|
||||
--drag: rgba(0, 0, 0, 0.8);
|
||||
--color: white;
|
||||
--beforehover: #9e9e9e;
|
||||
--modal: #0d1351;
|
||||
--subcolor: #0d1351;
|
||||
--shared: #004d40;
|
||||
--box: #0d1351;
|
||||
--sidebar: #0d1351;
|
||||
--notfbox: #0d47a1;
|
||||
--emphasized: #4e342e;
|
||||
--his-data: rgba(13, 19, 81, 0.8);
|
||||
--active: #757575;
|
||||
--postbox: #1a237e;
|
||||
--modalfooter: #031833;
|
||||
--accentbtn: #00acc1;
|
||||
--selected: #214f8a;
|
||||
--selectedWithShare: #003a30;
|
||||
--gray: #cccccc ;
|
||||
}
|
||||
.indigotheme #imagemodal {
|
||||
background: url("../img/pixel.svg");
|
||||
}
|
||||
.browntheme {
|
||||
--bg: #261411;
|
||||
--drag: rgba(0, 0, 0, 0.8);
|
||||
--color: white;
|
||||
--beforehover: #9e9e9e;
|
||||
--modal: #261411;
|
||||
--subcolor: #4e342e;
|
||||
--shared: #004d40;
|
||||
--box: #4e342e;
|
||||
--sidebar: #4e342e;
|
||||
--notfbox: #4e342e;
|
||||
--emphasized: #0d47a1;
|
||||
--his-data: rgba(62, 39, 35, 0.8);
|
||||
--active: #757575;
|
||||
--postbox: #4e342e;
|
||||
--modalfooter: #261411;
|
||||
--accentbtn: #827717;
|
||||
--selected: #6d352b;
|
||||
--selectedWithShare: #003a30;
|
||||
--gray: #cccccc;
|
||||
}
|
||||
.browntheme #imagemodal {
|
||||
background: url("../img/pixel.svg");
|
||||
}
|
||||
.greentheme {
|
||||
--bg: #c8e6c9;
|
||||
--drag: rgba(255, 255, 255, 0.8);
|
||||
--color: black;
|
||||
--beforehover: #757575;
|
||||
--modal: #81c784;
|
||||
--subcolor: #a5d6a7;
|
||||
--box: #81c784;
|
||||
--sidebar: #c5e1a5;
|
||||
--shared: #ffcc80;
|
||||
--notfbox: #a5d6a7;
|
||||
--emphasized: #9e9d24;
|
||||
--his-data: rgba(255, 255, 255, 0.9);
|
||||
--active: #e6ee9c;
|
||||
--postbox: #a5d6a7;
|
||||
--modalfooter: #81c784;
|
||||
--accentbtn: #33691e;
|
||||
--selected: #78c17a;
|
||||
--selectedWithShare: #caa266;
|
||||
--gray: #757575;
|
||||
}
|
||||
.greentheme #imagemodal {
|
||||
background: url("../img/pixel.white.svg");
|
||||
}
|
||||
.bluetheme {
|
||||
--bg: #c9e1ec;
|
||||
--drag: rgba(255, 255, 255, 0.8);
|
||||
--color: black;
|
||||
--beforehover: #757575;
|
||||
--modal: #b2ebf2;
|
||||
--subcolor: #90caf9;
|
||||
--box: #90caf9;
|
||||
--sidebar: #b6e6f5;
|
||||
--shared: #e0ffe4;
|
||||
--notfbox: #90caf9;
|
||||
--emphasized: #c5e1a5;
|
||||
--his-data: rgba(255, 255, 255, 0.9);
|
||||
--active: #b39ddb;
|
||||
--postbox: #dff1ff;
|
||||
--modalfooter: #2196f3;
|
||||
--accentbtn: #2f7bb7;
|
||||
--selected: #9dcade;
|
||||
--selectedWithShare: #c1dac4;
|
||||
--gray: #757575;
|
||||
}
|
||||
.bluetheme #imagemodal {
|
||||
background: url("../img/pixel.white.svg");
|
||||
}
|
||||
.polartheme {
|
||||
--bg: #2e3440;
|
||||
--drag: rgba(0, 0, 0, 0.8);
|
||||
--color: white;
|
||||
--beforehover: #8d94a0;
|
||||
--modal: #3b4252;
|
||||
--subcolor: #434c5e;
|
||||
--box: #4c566a;
|
||||
--sidebar: #3b4252;
|
||||
--shared: #2d3b58;
|
||||
--notfbox: #2a3857;
|
||||
--emphasized: #2f4b86;
|
||||
--his-data: rgba(0, 0, 0, 0.8);
|
||||
--active: #2a3857;
|
||||
--postbox: #434c5e;
|
||||
--modalfooter: #485166;
|
||||
--accentbtn: #2f4b86;
|
||||
--selected: #464f61;
|
||||
--selectedWithShare: #3e527e;
|
||||
--gray: #cccccc;
|
||||
}
|
||||
.polartheme #imagemodal {
|
||||
background: url("../img/pixel.svg");
|
||||
}
|
||||
.snowtheme {
|
||||
--bg: #eceff4;
|
||||
--drag: rgba(255, 255, 255, 0.8);
|
||||
--color: #36425a;
|
||||
--beforehover: #344058;
|
||||
--modal: #e5e9f0;
|
||||
--subcolor: #d8dee9;
|
||||
--box: #c0c8d6;
|
||||
--sidebar: #eeeeee;
|
||||
--shared: #c3d4e6;
|
||||
--notfbox: #d8dee9;
|
||||
--emphasized: #88c0d0;
|
||||
--his-data: rgba(255, 255, 255, 0.9);
|
||||
--active: #8fbcbb;
|
||||
--postbox: #d8dee9;
|
||||
--modalfooter: #b2bed4;
|
||||
--accentbtn: #81a1c1;
|
||||
--selected: #b4bdd0;
|
||||
--selectedWithShare: #a3afbb;
|
||||
--gray: #5c6c8c;
|
||||
}
|
||||
.snowtheme #imagemodal {
|
||||
background: url("../img/pixel.white.svg");
|
||||
}
|
334
app/css/tl.css
334
app/css/tl.css
@@ -1,7 +1,7 @@
|
||||
/*TL CSS(ただしBBCode pulse:master.css/spin:font-awesome*/
|
||||
#main {
|
||||
width: 100vw;
|
||||
height: calc(100vh - 40px);
|
||||
height: calc(100% - 3rem);
|
||||
}
|
||||
#timeline-container {
|
||||
overflow-x: scroll;
|
||||
@@ -11,18 +11,19 @@
|
||||
}
|
||||
#bottom {
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
bottom: 0;
|
||||
width: 100vw;
|
||||
height: 40px;
|
||||
padding: 3px;
|
||||
height: 3rem;
|
||||
padding: 0.23rem;
|
||||
padding-right: 0;
|
||||
padding-left: 40px;
|
||||
background-color: var(--sidebar);
|
||||
padding-left: 3rem;
|
||||
background-color: var(--bottom);
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
z-index: 500;
|
||||
box-shadow: 10px 0 10px 10px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: 0.77rem 0 0.77rem, 0.77rem rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
#demobottom {
|
||||
width: 500px;
|
||||
@@ -30,24 +31,24 @@
|
||||
}
|
||||
#bottom.reverse {
|
||||
padding-left: 0;
|
||||
padding-right: 40px;
|
||||
padding-right: 3rem;
|
||||
}
|
||||
.reverse {
|
||||
flex-direction: row-reverse;
|
||||
}
|
||||
#bottom #dambox {
|
||||
width: 300px;
|
||||
margin-right: 10px;
|
||||
width: 23rem;
|
||||
margin-right: 0.76rem;
|
||||
}
|
||||
#bottom.reverse #dambox {
|
||||
margin-right: 0;
|
||||
}
|
||||
#bottom .trendtag {
|
||||
height: 40px;
|
||||
height: 3rem;
|
||||
}
|
||||
#bottom #group,
|
||||
#demogroup {
|
||||
margin-right: 40px;
|
||||
margin-right: 3rem;
|
||||
}
|
||||
#bottom .leftside {
|
||||
display: flex;
|
||||
@@ -57,41 +58,41 @@
|
||||
align-items: center;
|
||||
}
|
||||
#bottom #tips img {
|
||||
vertical-align: -3px;
|
||||
vertical-align: -0.23rem;
|
||||
}
|
||||
#bottom a,
|
||||
#demogroup a {
|
||||
color: var(--color);
|
||||
color: var(--text);
|
||||
}
|
||||
#bottom i {
|
||||
font-size: 30px;
|
||||
font-size: 2.3rem;
|
||||
}
|
||||
.exc-icons {
|
||||
font-size: 20px;
|
||||
font-size: 1.53rem;
|
||||
}
|
||||
.exc-chb {
|
||||
padding-left: 24px !important;
|
||||
padding-left: 1.84rem !important;
|
||||
}
|
||||
.btnsgroup {
|
||||
border: 1px solid;
|
||||
padding-top: 1px;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
margin-right: 15px;
|
||||
border-radius: 5px;
|
||||
height: 35px;
|
||||
padding-left: 0.4rem;
|
||||
padding-right: 0.4rem;
|
||||
margin-right: 1.15rem;
|
||||
border-radius: 0.4rem;
|
||||
height: 2.7rem;
|
||||
}
|
||||
.bgReport {
|
||||
height: 34px;
|
||||
height: 2.61rem;
|
||||
padding-top: 0.45rem;
|
||||
text-decoration: underline;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
padding-left: 0.4rem;
|
||||
padding-right: 0.4rem;
|
||||
}
|
||||
#spot-box {
|
||||
display: grid;
|
||||
grid-template-columns: 40px 30px 2.5fr 1fr 60px;
|
||||
grid-template-rows: 22px 20px;
|
||||
grid-template-columns: 3rem 2.3rem 2.5fr 1fr 4.6rem;
|
||||
grid-template-rows: 1.7rem 1.5rem;
|
||||
grid-template-areas: 'cover name name artist refresh' 'cover progress progress progress time';
|
||||
}
|
||||
#spot-refresh {
|
||||
@@ -105,14 +106,14 @@
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
line-height: 25px;
|
||||
line-height: 1.92rem;
|
||||
}
|
||||
#spot-artist {
|
||||
grid-area: artist;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
line-height: 25px;
|
||||
line-height: 1.92rem;
|
||||
}
|
||||
#spot-img {
|
||||
width: 90%;
|
||||
@@ -126,7 +127,7 @@
|
||||
}
|
||||
.btnsgroup .grouptitle {
|
||||
font-family: Open Sans;
|
||||
font-size: 15px;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
@media screen and (max-width: 890px) {
|
||||
.btnsgroup .grouptitle {
|
||||
@@ -140,7 +141,7 @@
|
||||
iframe,
|
||||
.cvo video {
|
||||
max-width: 100%;
|
||||
max-height: 300px;
|
||||
max-height: 23rem;
|
||||
}
|
||||
@media screen and (max-width: 600px) {
|
||||
.mobile #timeline-container {
|
||||
@@ -157,11 +158,12 @@ iframe,
|
||||
.box {
|
||||
overflow: hidden;
|
||||
min-width: 300px;
|
||||
max-width: 600px;
|
||||
flex: 1;
|
||||
border-top: none;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-bottom: -10px;
|
||||
margin-bottom: -0.75rem;
|
||||
}
|
||||
.img_FTL {
|
||||
display: none;
|
||||
@@ -215,16 +217,20 @@ iframe,
|
||||
}
|
||||
.emoji,
|
||||
.emoji-img {
|
||||
width: 15px;
|
||||
width: 1.153rem;
|
||||
height: 1.153rem;
|
||||
object-fit: cover;
|
||||
}
|
||||
.area-toot .emoji,
|
||||
.area-toot .emoji-img {
|
||||
width: 20px;
|
||||
width: 1.538rem;
|
||||
height: 1.538rem;
|
||||
object-fit: cover;
|
||||
vertical-align: middle;
|
||||
margin: -1px 0;
|
||||
}
|
||||
.bigemoji {
|
||||
width: 100px !important;
|
||||
width: 7.7rem !important;
|
||||
height: auto !important;
|
||||
position: relative;
|
||||
z-index: 9999;
|
||||
@@ -237,6 +243,7 @@ iframe,
|
||||
flex: 1;
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
background-color: var(--bg);
|
||||
}
|
||||
.additional {
|
||||
overflow-x: scroll;
|
||||
@@ -253,13 +260,13 @@ iframe,
|
||||
}
|
||||
.cvo {
|
||||
user-select: text;
|
||||
padding-left: 5px;
|
||||
padding-left: 0.4rem;
|
||||
border-bottom: 0.5px solid;
|
||||
padding-right: 2px;
|
||||
padding-right: 0.15rem;
|
||||
word-break: break-word;
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: 43px 2fr 1fr;
|
||||
grid-template-columns: 3.3rem 2fr 1fr;
|
||||
grid-template-rows: auto 1.6rem 1fr auto 2.5rem;
|
||||
grid-template-areas: 'notice notice notice' 'icon display_name display_name' 'space toot toot' 'space additional additional' 'vis actions side';
|
||||
}
|
||||
@@ -285,21 +292,21 @@ iframe,
|
||||
}
|
||||
|
||||
.area-notice {
|
||||
margin: 2px;
|
||||
margin: 0.15rem;
|
||||
grid-area: notice;
|
||||
}
|
||||
|
||||
.area-icon {
|
||||
width: 40px;
|
||||
margin: 2px;
|
||||
width: 3rem;
|
||||
margin: 0.15rem;
|
||||
grid-area: icon;
|
||||
}
|
||||
|
||||
.area-display_name {
|
||||
user-select: text;
|
||||
height: 1.5em;
|
||||
margin: 2px;
|
||||
margin-left: 5px;
|
||||
margin: 0.15rem;
|
||||
margin-left: 0.4rem;
|
||||
overflow: hidden;
|
||||
grid-area: display_name;
|
||||
white-space: nowrap;
|
||||
@@ -310,7 +317,7 @@ iframe,
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
.flex-name {
|
||||
max-width: calc(100% - 60px);
|
||||
max-width: calc(100% - 4.6rem);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
@@ -318,9 +325,9 @@ iframe,
|
||||
.area-toot {
|
||||
cursor: text;
|
||||
user-select: auto;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
margin-left: 5px;
|
||||
margin-top: 0.4rem;
|
||||
margin-bottom: 0.4rem;
|
||||
margin-left: 0.4rem;
|
||||
grid-area: toot;
|
||||
}
|
||||
|
||||
@@ -353,7 +360,7 @@ iframe,
|
||||
.area-actions {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
top: -5px;
|
||||
top: -0.4rem;
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
@@ -361,28 +368,28 @@ iframe,
|
||||
grid-area: actions;
|
||||
}
|
||||
.area-vis {
|
||||
margin: 2px;
|
||||
margin: 0.4rem;
|
||||
grid-area: vis;
|
||||
text-align: center;
|
||||
}
|
||||
.area-side {
|
||||
display: flex;
|
||||
top: -5px;
|
||||
top: -0.4rem;
|
||||
position: relative;
|
||||
justify-content: flex-end;
|
||||
margin: 2px;
|
||||
margin: 0.15rem;
|
||||
grid-area: side;
|
||||
}
|
||||
|
||||
.cusr {
|
||||
user-select: text;
|
||||
padding-left: 5px;
|
||||
padding-left: 0.4rem;
|
||||
border-bottom: 0.5px solid;
|
||||
padding-right: 2px;
|
||||
padding-right: 0.15rem;
|
||||
word-break: break-word;
|
||||
width: 100%;
|
||||
display: grid;
|
||||
grid-template-columns: 43px 2fr 1fr;
|
||||
grid-template-columns: 3.3rem 2fr 1fr;
|
||||
grid-template-rows: auto 1.6rem 2fr auto;
|
||||
grid-template-areas: 'notice notice notice' 'icon display_name display_name' 'space status status' 'space actions actions';
|
||||
}
|
||||
@@ -391,12 +398,12 @@ iframe,
|
||||
grid-area: status;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 5px;
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
|
||||
.cusr .cbadge {
|
||||
margin-top: 6px;
|
||||
margin-left: 6px;
|
||||
margin-top: 0.46rem;
|
||||
margin-left: 0.46rem;
|
||||
}
|
||||
|
||||
.quote-inline {
|
||||
@@ -404,16 +411,16 @@ iframe,
|
||||
}
|
||||
.quote-renote {
|
||||
display: grid;
|
||||
grid-template-columns: 43px 2fr 25px;
|
||||
grid-template-columns: 3.3rem 2fr 1.92rem;
|
||||
grid-template-areas: 'ricon ruser rdet' 'ricon rtext rdet';
|
||||
border: 1px solid;
|
||||
margin-top: 3px;
|
||||
margin-top: 0.23rem;
|
||||
padding: 1px;
|
||||
border-radius: 3px;
|
||||
border-radius: 0.23rem;
|
||||
}
|
||||
.renote-icon {
|
||||
grid-area: ricon;
|
||||
padding: 5px;
|
||||
padding: 0.4rem;
|
||||
}
|
||||
.renote-details {
|
||||
grid-area: rdet;
|
||||
@@ -429,63 +436,34 @@ iframe,
|
||||
}
|
||||
|
||||
.btn-flat {
|
||||
color: var(--color);
|
||||
color: var(--text);
|
||||
}
|
||||
.area-side i {
|
||||
margin-left: 10px;
|
||||
margin-left: 0.75rem;
|
||||
}
|
||||
.viabadge {
|
||||
margin-top: 10px;
|
||||
margin-top: 0.75rem;
|
||||
}
|
||||
.action i {
|
||||
font-size: 1.2rem;
|
||||
margin-right: 2px;
|
||||
margin-right: 0.15rem;
|
||||
}
|
||||
.action .fa-quote-right {
|
||||
margin-top: 2px;
|
||||
margin-top: 0.15rem;
|
||||
}
|
||||
.actct {
|
||||
color: var(--beforehover);
|
||||
}
|
||||
.actct:hover {
|
||||
color: var(--color);
|
||||
color: var(--text);
|
||||
transition: 0.5s;
|
||||
}
|
||||
#contextWrap {
|
||||
position: fixed;
|
||||
width: 199vw;
|
||||
height: 100vh;
|
||||
z-index: 100;
|
||||
.contextMenu.dropdown-content {
|
||||
padding-top: 5px;
|
||||
overflow-y: hidden;
|
||||
left: calc(100% - 200px) !important;
|
||||
width: 200px !important;
|
||||
}
|
||||
.contextMenu {
|
||||
position: fixed;
|
||||
background-color: var(--box);
|
||||
z-index: 9999;
|
||||
border-radius: 5px;
|
||||
padding: 5px;
|
||||
}
|
||||
.contextMenu.bottom:before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
right: 27px;
|
||||
border: 15px solid transparent;
|
||||
border-top: 15px solid var(--box);
|
||||
}
|
||||
.contextMenu.top:before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -30px;
|
||||
right: 27px;
|
||||
border: 15px solid transparent;
|
||||
border-bottom: 15px solid var(--box);
|
||||
}
|
||||
.contextMenu .btn-flat {
|
||||
text-transform: none !important;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.gray {
|
||||
color: var(--gray);
|
||||
}
|
||||
@@ -501,30 +479,30 @@ iframe,
|
||||
}
|
||||
.toot img:not(.emoji-img) {
|
||||
max-width: 100%;
|
||||
max-height: 300px;
|
||||
max-height: 23rem;
|
||||
}
|
||||
.cbadge {
|
||||
display: inline-block;
|
||||
min-width: 10px;
|
||||
max-width: 100px;
|
||||
padding: 3px 7px;
|
||||
min-width: 0.76rem;
|
||||
max-width: 7.7rem;
|
||||
padding: 0.23rem 0.5rem;
|
||||
font-size: 0.8em;
|
||||
margin-right: 5px;
|
||||
margin-right: 0.4rem;
|
||||
line-height: 1;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: middle;
|
||||
background-color: #777;
|
||||
border-radius: 10px;
|
||||
border-radius: 0.75rem;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
height: calc(0.8em + 8px);
|
||||
height: calc(0.8em + 0.6rem);
|
||||
user-select: none;
|
||||
}
|
||||
.cbadge-hover {
|
||||
color: var(--color);
|
||||
color: var(--text);
|
||||
background-color: transparent;
|
||||
}
|
||||
.cbadge-hover:hover {
|
||||
@@ -534,13 +512,13 @@ iframe,
|
||||
p {
|
||||
margin: 0;
|
||||
margin-bottom: 0px;
|
||||
line-height: 20px;
|
||||
line-height: 1.53rem;
|
||||
}
|
||||
p:not(:last-child) {
|
||||
margin-bottom: 10px;
|
||||
margin-bottom: 0.76rem;
|
||||
}
|
||||
.shared {
|
||||
background-color: var(--shared);
|
||||
background-color: var(--accent);
|
||||
}
|
||||
.emphasized {
|
||||
background-color: var(--emphasized);
|
||||
@@ -550,17 +528,17 @@ p:not(:last-child) {
|
||||
}
|
||||
.notice-box {
|
||||
top: 0;
|
||||
background-color: var(--notfbox);
|
||||
background-color: var(--subcolor);
|
||||
filter: brightness(110%);
|
||||
position: relative;
|
||||
margin-right: 10px;
|
||||
margin-right: 0.7rem;
|
||||
width: 100%;
|
||||
min-height: 60px;
|
||||
min-height: 4.6rem;
|
||||
z-index: 500;
|
||||
padding: 5px;
|
||||
padding: 0.4rem;
|
||||
display: grid;
|
||||
grid-template-columns: 40px 65px 1fr 24px;
|
||||
grid-template-rows: 30px 30px;
|
||||
grid-template-columns: 3rem 5rem 1fr 1.8rem;
|
||||
grid-template-rows: 2.3rem 2.3rem;
|
||||
grid-template-areas: 'notice notice_name notice_name a2' 'notice a1 sta a3' 'notf-box notf-box notf-box notf-box';
|
||||
}
|
||||
.emp {
|
||||
@@ -604,8 +582,8 @@ p:not(:last-child) {
|
||||
}
|
||||
#tools {
|
||||
position: fixed;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
top: 0.76rem;
|
||||
right: 0.76rem;
|
||||
float: right;
|
||||
}
|
||||
.setting {
|
||||
@@ -618,14 +596,14 @@ p:not(:last-child) {
|
||||
}
|
||||
.notf-box {
|
||||
position: fixed;
|
||||
right: 70px;
|
||||
background-color: var(--box);
|
||||
right: 5.4rem;
|
||||
background-color: var(--subcolor);
|
||||
border: thin solid gray;
|
||||
z-index: 501;
|
||||
width: 400px;
|
||||
padding: 5px;
|
||||
min-height: 100px;
|
||||
max-height: 500px;
|
||||
width: 30rem;
|
||||
padding: 0.4rem;
|
||||
min-height: 7.7rem;
|
||||
max-height: 38.4rem;
|
||||
}
|
||||
.column-hide {
|
||||
display: none;
|
||||
@@ -633,17 +611,21 @@ p:not(:last-child) {
|
||||
height: 0;
|
||||
}
|
||||
.prof-img {
|
||||
border-radius: 3px;
|
||||
border-radius: 0.23rem;
|
||||
width: 3rem;
|
||||
}
|
||||
.prof-img-sml {
|
||||
width: 1.5rem;
|
||||
}
|
||||
.notf-icon {
|
||||
position: relative;
|
||||
top: -20px;
|
||||
width: 20px;
|
||||
left: 20px;
|
||||
top: -1.53rem;
|
||||
width: 1.5rem;
|
||||
left: 1.5rem;
|
||||
}
|
||||
.notf-indv-box {
|
||||
width: 100%;
|
||||
max-height: 400px;
|
||||
max-height: 30.7rem;
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
border: thin solid gray;
|
||||
@@ -652,14 +634,29 @@ p:not(:last-child) {
|
||||
box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12),
|
||||
0 5px 5px -3px rgba(0, 0, 0, 0.3), 0px -10px 10px 0px rgba(0, 0, 0, 0.3) inset;
|
||||
}
|
||||
.notf-indv-box label span {
|
||||
padding-left: 23px !important;
|
||||
margin-right: 5px;
|
||||
}
|
||||
.notf-indv-box .setting {
|
||||
font-size: 1rem;
|
||||
width: calc(25% - 3px);
|
||||
text-align: left;
|
||||
padding: 5px;
|
||||
height: 70px;
|
||||
}
|
||||
.notf-exclude-btn:hover {
|
||||
background-color: inherit !important;
|
||||
border: 1px solid;
|
||||
}
|
||||
.type-b {
|
||||
display: none;
|
||||
}
|
||||
.modal-footer {
|
||||
background-color: var(--box);
|
||||
background-color: var(--subcolor);
|
||||
}
|
||||
.ballons {
|
||||
background-color: var(--box);
|
||||
background-color: var(--subcolor);
|
||||
position: absolute;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
@@ -676,54 +673,54 @@ p:not(:last-child) {
|
||||
.vote {
|
||||
width: 100%;
|
||||
border: 1px solid;
|
||||
margin-top: 3px;
|
||||
margin-top: 0.23rem;
|
||||
padding: 1px;
|
||||
border-radius: 3px;
|
||||
border-radius: 0.23rem;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
.fa-2x > .emoji-img {
|
||||
width: 36px !important;
|
||||
height: 36px !important;
|
||||
width: 2.3rem !important;
|
||||
height: 2.3rem !important;
|
||||
}
|
||||
.fa-3x > .emoji-img {
|
||||
width: 54px !important;
|
||||
height: 54px !important;
|
||||
width: 4.15rem !important;
|
||||
height: 4.15rem !important;
|
||||
}
|
||||
.fa-4x > .emoji-img {
|
||||
width: 72px !important;
|
||||
height: 72px !important;
|
||||
width: 4.6rem !important;
|
||||
height: 4.6rem !important;
|
||||
}
|
||||
.fa-5x > .emoji-img {
|
||||
width: 90px !important;
|
||||
height: 90px !important;
|
||||
width: 6.9rem !important;
|
||||
height: 6.9rem !important;
|
||||
}
|
||||
#lists-user {
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
max-height: 200px;
|
||||
max-height: 15.4rem;
|
||||
}
|
||||
.votebtn {
|
||||
border: 1px solid;
|
||||
color: var(--bg);
|
||||
background-color: var(--beforehover);
|
||||
cursor: pointer;
|
||||
width: 50px;
|
||||
padding: 2px;
|
||||
width: 3.8rem;
|
||||
height: 1.7rem;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
margin-top: 5px;
|
||||
border-radius: 10px;
|
||||
margin-top: 0.38rem;
|
||||
border-radius: 0.75rem;
|
||||
transition-duration: 0.5s;
|
||||
}
|
||||
.votebtn:hover {
|
||||
background-color: var(--color);
|
||||
background-color: var(--text);
|
||||
}
|
||||
.leadPoll {
|
||||
position: absolute;
|
||||
background-color: var(--box);
|
||||
height: 20px;
|
||||
border-radius: 3px;
|
||||
background-color: var(--subcolor);
|
||||
height: 1.5rem;
|
||||
border-radius: 0.23rem;
|
||||
}
|
||||
.lpAnime {
|
||||
animation-duration: 1s;
|
||||
@@ -740,7 +737,7 @@ p:not(:last-child) {
|
||||
width: 1.2rem !important;
|
||||
position: relative;
|
||||
top: -1px;
|
||||
margin-left: 5px !important;
|
||||
margin-left: 0.38rem !important;
|
||||
}
|
||||
.jump {
|
||||
display: inline-block;
|
||||
@@ -765,6 +762,9 @@ p:not(:last-child) {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.fav_ct, .rt_ct, .rep_ct {
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
.shared.selectedToot {
|
||||
background-color: var(--selectedWithShare);
|
||||
}
|
||||
@@ -778,18 +778,18 @@ audio {
|
||||
white-space: normal;
|
||||
}
|
||||
.cw_btn {
|
||||
margin: 3px;
|
||||
margin: 0.23rem;
|
||||
background-color: var(--emphasized);
|
||||
color: var(--color);
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid var(--color);
|
||||
color: var(--text);
|
||||
padding-left: 0.23rem;
|
||||
padding-right: 0.23rem;
|
||||
border-radius: 0.23rem;
|
||||
border: 1px solid var(--text);
|
||||
user-select: none;
|
||||
}
|
||||
.vis-data {
|
||||
font-size: 1rem !important;
|
||||
margin: 5px;
|
||||
margin: 0.4rem;
|
||||
user-select: none;
|
||||
}
|
||||
@keyframes jump {
|
||||
@@ -863,29 +863,29 @@ audio {
|
||||
display: none !important;
|
||||
}
|
||||
.announcement {
|
||||
padding: 5px;
|
||||
padding: 0.38rem;
|
||||
border-bottom: 1px solid;
|
||||
}
|
||||
.announReaction {
|
||||
width: 35px;
|
||||
width: 2.7rem;
|
||||
height: 1.7rem;
|
||||
font-size: 1.1rem;
|
||||
margin: 3px;
|
||||
margin: 0.23rem;
|
||||
cursor: pointer;
|
||||
border: solid 1px;
|
||||
padding-left: 2px;
|
||||
background-color: var(--notfbox);
|
||||
border-radius: 2px;
|
||||
padding-left: 0.15rem;
|
||||
background-color: var(--subcolor);
|
||||
border-radius: 0.15rem;
|
||||
}
|
||||
.announReaction img {
|
||||
position: relative;
|
||||
top: 3px;
|
||||
top: 0.23rem;
|
||||
}
|
||||
.announReaction.reactioned {
|
||||
background-color: var(--emphasized);
|
||||
}
|
||||
.announReaction.add {
|
||||
width: 19px;
|
||||
width: 1.46rem;
|
||||
}
|
||||
.reactionsPack {
|
||||
display: flex;
|
||||
|
@@ -16,27 +16,27 @@
|
||||
}
|
||||
#his-prof {
|
||||
float: left;
|
||||
width: 100px;
|
||||
margin-right: 5px;
|
||||
width: 7.7rem;
|
||||
margin-right: 0.4rem;
|
||||
}
|
||||
.his-float {
|
||||
overflow-y: scroll;
|
||||
padding: 5px;
|
||||
padding: 0.4rem;
|
||||
}
|
||||
#his-float-data {
|
||||
height: 100%;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
#his-leftside {
|
||||
width: 500px;
|
||||
width: 38.4rem;
|
||||
}
|
||||
#his-float-timeline {
|
||||
max-width: 775px;
|
||||
max-width: 59.6rem;
|
||||
height: 100%;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
#his-basic-prof {
|
||||
min-height: 130px;
|
||||
min-height: 10rem;
|
||||
}
|
||||
#his-field {
|
||||
vertical-align: baseline;
|
||||
@@ -51,14 +51,14 @@
|
||||
padding: 0;
|
||||
background-color: #757575;
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
padding: 0.4rem;
|
||||
margin-bottom: 1px;
|
||||
width: 30%;
|
||||
}
|
||||
.his-field-content {
|
||||
height: 1.5rem;
|
||||
padding: 0;
|
||||
padding-left: 5px;
|
||||
padding-left: 0.4rem;
|
||||
}
|
||||
.his-var-content a span.ellipsis:after {
|
||||
content: "...";
|
||||
@@ -72,13 +72,13 @@
|
||||
display: inline !important;
|
||||
}
|
||||
#his-data-show {
|
||||
margin: 20px;
|
||||
margin-left: 50px;
|
||||
margin-right: 50px;
|
||||
margin: 1.5rem;
|
||||
margin-left: 3.8rem;
|
||||
margin-right: 3.8rem;
|
||||
background-color: var(--his-data);
|
||||
height: calc(100% - 20px);
|
||||
height: calc(100% - 1.5rem);
|
||||
margin-bottom: 0;
|
||||
padding: 5px;
|
||||
padding: 0.4rem;
|
||||
}
|
||||
#his-data-wrap {
|
||||
display: flex;
|
||||
@@ -86,39 +86,40 @@
|
||||
.his-var-content {
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
height: calc(100% - 45px);
|
||||
height: calc(100% - 3.4rem);
|
||||
padding-bottom: 60px;
|
||||
}
|
||||
#my-data-nav .btn {
|
||||
width: 140px;
|
||||
width: 10.7rem;
|
||||
}
|
||||
.active-back {
|
||||
background-color: var(--active);
|
||||
}
|
||||
#his-name .emojione,
|
||||
#his-name .emoji-img {
|
||||
width: 20px;
|
||||
width: 1.538rem;
|
||||
}
|
||||
#his-plus-action .btn {
|
||||
padding-right: 5px;
|
||||
padding-left: 5px;
|
||||
padding-right: 0.4rem;
|
||||
padding-left: 0.4rem;
|
||||
}
|
||||
.tabs {
|
||||
display: flex;
|
||||
}
|
||||
.tabs .tab a {
|
||||
padding: 8px 12px;
|
||||
padding: 0.6rem 0.9rem;
|
||||
}
|
||||
#his-des {
|
||||
max-height: 250px;
|
||||
max-height: 17.7rem;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
#his-sign-action {
|
||||
border: 1px solid;
|
||||
border-radius: 5px;
|
||||
border-radius: 0.4rem;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
padding-left: 0.75rem;
|
||||
padding-right: 0.75rem;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
#his-sign-action .btn {
|
||||
@@ -129,7 +130,7 @@
|
||||
cursor: pointer;
|
||||
}
|
||||
#his-table{
|
||||
max-height: 150px;
|
||||
max-height: 11.538rem;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
#his-float-blocked {
|
||||
@@ -142,6 +143,9 @@
|
||||
#hisdropdown{
|
||||
background-color: var(--bg);
|
||||
}
|
||||
#hisdropdown li a {
|
||||
color: white;
|
||||
}
|
||||
#hisdropdown li:hover{
|
||||
background-color: var(--active);
|
||||
}
|
69
app/img/2025.svg
Normal file
69
app/img/2025.svg
Normal file
@@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 600 600" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g id="輝き" transform="matrix(0.892356,0,0,0.892356,36.941,-15.9516)">
|
||||
<g transform="matrix(2.39479,0,0,2.21494,-178.97,-182.183)">
|
||||
<ellipse cx="123.217" cy="151.049" rx="36.923" ry="35.804" style="fill:rgb(84,82,81);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,8.39159,-32.1678)">
|
||||
<ellipse cx="120.479" cy="305.524" rx="112.5" ry="52" style="fill:rgb(84,82,81);"/>
|
||||
</g>
|
||||
<g transform="matrix(0.952046,-0.305955,0.305955,0.952046,-139.881,8.62199)">
|
||||
<ellipse cx="134.479" cy="430.524" rx="46.5" ry="84" style="fill:rgb(84,82,81);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,2.39158,-65.1678)">
|
||||
<ellipse cx="130.479" cy="561.024" rx="72.5" ry="74.5" style="fill:rgb(84,82,81);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,8.39159,-32.1678)">
|
||||
<ellipse cx="156.979" cy="651.76" rx="68" ry="60.235" style="fill:rgb(84,82,81);"/>
|
||||
</g>
|
||||
<g transform="matrix(0.954888,0.296965,-0.296965,0.954888,55.6063,-54.2336)">
|
||||
<ellipse cx="199.479" cy="158.995" rx="98.5" ry="51" style="fill:rgb(240,132,46);"/>
|
||||
</g>
|
||||
<g transform="matrix(0.931851,0.362841,-0.362841,0.931851,63.1962,-89.0819)">
|
||||
<ellipse cx="344.979" cy="135.857" rx="74" ry="90.137" style="fill:rgb(240,132,46);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-56.6084,-45.1678)">
|
||||
<ellipse cx="493.479" cy="301.22" rx="126.5" ry="55.5" style="fill:rgb(240,132,46);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-14.6084,-70.1678)">
|
||||
<ellipse cx="531.479" cy="368.22" rx="58.5" ry="54.5" style="fill:rgb(240,132,46);"/>
|
||||
</g>
|
||||
<g transform="matrix(0.973706,-0.227807,0.227807,0.973706,-124.722,44.48)">
|
||||
<ellipse cx="265.479" cy="614.97" rx="98.5" ry="37.5" style="fill:rgb(54,76,159);"/>
|
||||
</g>
|
||||
<g transform="matrix(0.982834,-0.184492,0.184492,0.982834,-148.417,-31.379)">
|
||||
<ellipse cx="407.479" cy="676.47" rx="71.5" ry="96" style="fill:rgb(54,76,159);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,-34.6084,-22.1678)">
|
||||
<ellipse cx="468.979" cy="511.47" rx="48" ry="31" style="fill:rgb(54,76,159);"/>
|
||||
</g>
|
||||
<g transform="matrix(0.880625,0.473815,-0.473815,0.880625,260.236,-235.714)">
|
||||
<ellipse cx="533.979" cy="472.97" rx="46" ry="99.5" style="fill:rgb(54,76,159);"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,9.39159,-36.1678)">
|
||||
<circle cx="69.229" cy="310.72" r="24.25" style="fill:white;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,8.39159,-48.1678)">
|
||||
<circle cx="98.229" cy="417.72" r="25.25" style="fill:white;"/>
|
||||
</g>
|
||||
<g transform="matrix(0.76,0,0,0.76,96.9465,101.545)">
|
||||
<circle cx="375.229" cy="646.72" r="56.25" style="fill:white;"/>
|
||||
</g>
|
||||
<g transform="matrix(1,0,0,1,8.39159,-32.1678)">
|
||||
<circle cx="427.729" cy="287.22" r="32.75" style="fill:white;"/>
|
||||
</g>
|
||||
<g id="cat" transform="matrix(0.0249784,0,0,0.0249784,346.146,563.341)">
|
||||
<path d="M1592.47,2584L2048.94,2584C2048.94,2519.11 2044.31,2506.24 1936.84,2506.24C1954.01,2454.74 2023.79,2330.13 2062.57,2330.13C2096.88,2330.13 2137.81,2332.02 2137.81,2410.3C2137.81,2499.17 2287.37,2642.46 2323.63,2584C2377.67,2496.88 2230.72,2523.45 2230.72,2313.35C2230.72,2025.92 2398.46,2066.84 2398.46,1905.36C2398.46,1824.57 2376.14,1813.66 2376.14,1755.9C2376.14,1679.56 2443.39,1683.99 2430.31,1620.7C2421.27,1576.98 2414.2,1541.92 2408.93,1489.05C2405.19,1451.54 2404,1411.55 2365.03,1413.16C2319.25,1415.05 2301.88,1495.63 2230.72,1501.41C2159.7,1507.18 2099.15,1440.95 2071.66,1450.41C2044.41,1459.79 2052.98,1533.73 2069.14,1586.24C2094.54,1668.78 2149.93,1776.1 2048.94,1792.26C1947.95,1808.42 1774.25,1824.58 1649.02,1990.2C1523.79,2155.82 1528.42,2350.19 1479.36,2410.31C1314.72,2612.08 1146,2529.23 1146,2697.11C1146,2772.27 1273.35,2826.38 1293.55,2802.14C1313.75,2777.9 1121.93,2705.68 1336.56,2620.36C1519.91,2547.46 1536.28,2532.58 1592.47,2584Z" style="fill:rgb(5,127,254);"/>
|
||||
</g>
|
||||
<g id="cat1" serif:id="cat" transform="matrix(-0.0249784,0,0,0.0249784,147.519,318.341)">
|
||||
<path d="M1592.47,2584L2048.94,2584C2048.94,2519.11 2044.31,2506.24 1936.84,2506.24C1954.01,2454.74 2023.79,2330.13 2062.57,2330.13C2096.88,2330.13 2137.81,2332.02 2137.81,2410.3C2137.81,2499.17 2287.37,2642.46 2323.63,2584C2377.67,2496.88 2230.72,2523.45 2230.72,2313.35C2230.72,2025.92 2398.46,2066.84 2398.46,1905.36C2398.46,1824.57 2376.14,1813.66 2376.14,1755.9C2376.14,1679.56 2443.39,1683.99 2430.31,1620.7C2421.27,1576.98 2414.2,1541.92 2408.93,1489.05C2405.19,1451.54 2404,1411.55 2365.03,1413.16C2319.25,1415.05 2301.88,1495.63 2230.72,1501.41C2159.7,1507.18 2099.15,1440.95 2071.66,1450.41C2044.41,1459.79 2052.98,1533.73 2069.14,1586.24C2094.54,1668.78 2149.93,1776.1 2048.94,1792.26C1947.95,1808.42 1774.25,1824.58 1649.02,1990.2C1523.79,2155.82 1528.42,2350.19 1479.36,2410.31C1314.72,2612.08 1146,2529.23 1146,2697.11C1146,2772.27 1273.35,2826.38 1293.55,2802.14C1313.75,2777.9 1121.93,2705.68 1336.56,2620.36C1519.91,2547.46 1536.28,2532.58 1592.47,2584Z" style="fill:rgb(5,127,254);"/>
|
||||
</g>
|
||||
<g id="cat2" serif:id="cat" transform="matrix(-0.0249784,0,0,0.0249784,120.519,222.341)">
|
||||
<path d="M1592.47,2584L2048.94,2584C2048.94,2519.11 2044.31,2506.24 1936.84,2506.24C1954.01,2454.74 2023.79,2330.13 2062.57,2330.13C2096.88,2330.13 2137.81,2332.02 2137.81,2410.3C2137.81,2499.17 2287.37,2642.46 2323.63,2584C2377.67,2496.88 2230.72,2523.45 2230.72,2313.35C2230.72,2025.92 2398.46,2066.84 2398.46,1905.36C2398.46,1824.57 2376.14,1813.66 2376.14,1755.9C2376.14,1679.56 2443.39,1683.99 2430.31,1620.7C2421.27,1576.98 2414.2,1541.92 2408.93,1489.05C2405.19,1451.54 2404,1411.55 2365.03,1413.16C2319.25,1415.05 2301.88,1495.63 2230.72,1501.41C2159.7,1507.18 2099.15,1440.95 2071.66,1450.41C2044.41,1459.79 2052.98,1533.73 2069.14,1586.24C2094.54,1668.78 2149.93,1776.1 2048.94,1792.26C1947.95,1808.42 1774.25,1824.58 1649.02,1990.2C1523.79,2155.82 1528.42,2350.19 1479.36,2410.31C1314.72,2612.08 1146,2529.23 1146,2697.11C1146,2772.27 1273.35,2826.38 1293.55,2802.14C1313.75,2777.9 1121.93,2705.68 1336.56,2620.36C1519.91,2547.46 1536.28,2532.58 1592.47,2584Z" style="fill:rgb(5,127,254);"/>
|
||||
</g>
|
||||
<g id="cat3" serif:id="cat" transform="matrix(0.0249784,0,0,0.0249784,390.146,196.341)">
|
||||
<path d="M1592.47,2584L2048.94,2584C2048.94,2519.11 2044.31,2506.24 1936.84,2506.24C1954.01,2454.74 2023.79,2330.13 2062.57,2330.13C2096.88,2330.13 2137.81,2332.02 2137.81,2410.3C2137.81,2499.17 2287.37,2642.46 2323.63,2584C2377.67,2496.88 2230.72,2523.45 2230.72,2313.35C2230.72,2025.92 2398.46,2066.84 2398.46,1905.36C2398.46,1824.57 2376.14,1813.66 2376.14,1755.9C2376.14,1679.56 2443.39,1683.99 2430.31,1620.7C2421.27,1576.98 2414.2,1541.92 2408.93,1489.05C2405.19,1451.54 2404,1411.55 2365.03,1413.16C2319.25,1415.05 2301.88,1495.63 2230.72,1501.41C2159.7,1507.18 2099.15,1440.95 2071.66,1450.41C2044.41,1459.79 2052.98,1533.73 2069.14,1586.24C2094.54,1668.78 2149.93,1776.1 2048.94,1792.26C1947.95,1808.42 1774.25,1824.58 1649.02,1990.2C1523.79,2155.82 1528.42,2350.19 1479.36,2410.31C1314.72,2612.08 1146,2529.23 1146,2697.11C1146,2772.27 1273.35,2826.38 1293.55,2802.14C1313.75,2777.9 1121.93,2705.68 1336.56,2620.36C1519.91,2547.46 1536.28,2532.58 1592.47,2584Z" style="fill:rgb(5,127,254);"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.8 KiB |
@@ -1,3 +1,4 @@
|
||||
//@ts-check
|
||||
//このソフトについて
|
||||
function about() {
|
||||
postMessage(["sendSinmpleIpc", "about"], "*")
|
||||
|
@@ -10,7 +10,7 @@ $(document).ready(function () {
|
||||
belowOrigin: false, // Displays dropdown below the button
|
||||
alignment: 'left', // Displays dropdown with edge aligned to the left of button
|
||||
stopPropagation: false
|
||||
});
|
||||
})
|
||||
$('.dropdown-trigger').dropdown({
|
||||
inDuration: 300,
|
||||
outDuration: 225,
|
||||
@@ -21,9 +21,9 @@ $(document).ready(function () {
|
||||
alignment: 'left', // Displays dropdown with edge aligned to the left of button
|
||||
stopPropagation: false // Stops event propagation
|
||||
}
|
||||
);
|
||||
$('.collapsible').collapsible();
|
||||
)
|
||||
$('.collapsible').collapsible()
|
||||
$('#videomodal').modal({
|
||||
onCloseEnd: stopVideo
|
||||
});
|
||||
});
|
||||
})
|
||||
})
|
@@ -17,26 +17,26 @@
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
// AMD. Register as an anonymous module.
|
||||
define(['jquery'], factory);
|
||||
define(['jquery'], factory)
|
||||
} else if (typeof module === 'object' && typeof module.exports === 'object') {
|
||||
factory(require('jquery'));
|
||||
factory(require('jquery'))
|
||||
} else {
|
||||
// Browser globals
|
||||
factory(jQuery);
|
||||
factory(jQuery)
|
||||
}
|
||||
}(function ($) {
|
||||
$.timeago = function (timestamp) {
|
||||
if (timestamp instanceof Date) {
|
||||
return inWords(timestamp);
|
||||
return inWords(timestamp)
|
||||
} else if (typeof timestamp === "string") {
|
||||
return inWords($.timeago.parse(timestamp));
|
||||
return inWords($.timeago.parse(timestamp))
|
||||
} else if (typeof timestamp === "number") {
|
||||
return inWords(new Date(timestamp));
|
||||
return inWords(new Date(timestamp))
|
||||
} else {
|
||||
return inWords($.timeago.datetime(timestamp));
|
||||
return inWords($.timeago.datetime(timestamp))
|
||||
}
|
||||
};
|
||||
var $t = $.timeago;
|
||||
}
|
||||
var $t = $.timeago
|
||||
$.extend($.timeago, {
|
||||
settings: {
|
||||
refreshMillis: 60000,
|
||||
@@ -69,33 +69,33 @@
|
||||
|
||||
inWords: function (distanceMillis) {
|
||||
if (!this.settings.allowPast && !this.settings.allowFuture) {
|
||||
throw 'timeago allowPast and allowFuture settings can not both be set to false.';
|
||||
throw 'timeago allowPast and allowFuture settings can not both be set to false.'
|
||||
}
|
||||
|
||||
var $l = this.settings.strings;
|
||||
var prefix = $l.prefixAgo;
|
||||
var suffix = $l.suffixAgo;
|
||||
var $l = this.settings.strings
|
||||
var prefix = $l.prefixAgo
|
||||
var suffix = $l.suffixAgo
|
||||
if (this.settings.allowFuture) {
|
||||
if (distanceMillis < 0) {
|
||||
prefix = $l.prefixFromNow;
|
||||
suffix = $l.suffixFromNow;
|
||||
prefix = $l.prefixFromNow
|
||||
suffix = $l.suffixFromNow
|
||||
}
|
||||
}
|
||||
|
||||
if (!this.settings.allowPast && distanceMillis >= 0) {
|
||||
return this.settings.strings.inPast;
|
||||
return this.settings.strings.inPast
|
||||
}
|
||||
|
||||
var seconds = Math.abs(distanceMillis) / 1000;
|
||||
var minutes = seconds / 60;
|
||||
var hours = minutes / 60;
|
||||
var days = hours / 24;
|
||||
var years = days / 365;
|
||||
var seconds = Math.abs(distanceMillis) / 1000
|
||||
var minutes = seconds / 60
|
||||
var hours = minutes / 60
|
||||
var days = hours / 24
|
||||
var years = days / 365
|
||||
|
||||
function substitute(stringOrFunction, number) {
|
||||
var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction;
|
||||
var value = ($l.numbers && $l.numbers[number]) || number;
|
||||
return string.replace(/%d/i, value);
|
||||
var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction
|
||||
var value = ($l.numbers && $l.numbers[number]) || number
|
||||
return string.replace(/%d/i, value)
|
||||
}
|
||||
|
||||
var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
|
||||
@@ -108,124 +108,124 @@
|
||||
days < 45 && substitute($l.month, 1) ||
|
||||
days < 365 && substitute($l.months, Math.round(days / 30)) ||
|
||||
years < 1.5 && substitute($l.year, 1) ||
|
||||
substitute($l.years, Math.round(years));
|
||||
substitute($l.years, Math.round(years))
|
||||
|
||||
var separator = $l.wordSeparator || "";
|
||||
if ($l.wordSeparator === undefined) { separator = " "; }
|
||||
return $.trim([prefix, words, suffix].join(separator));
|
||||
var separator = $l.wordSeparator || ""
|
||||
if ($l.wordSeparator === undefined) { separator = " " }
|
||||
return $.trim([prefix, words, suffix].join(separator))
|
||||
},
|
||||
|
||||
parse: function (iso8601) {
|
||||
var s = $.trim(iso8601);
|
||||
s = s.replace(/\.\d+/, ""); // remove milliseconds
|
||||
s = s.replace(/-/, "/").replace(/-/, "/");
|
||||
s = s.replace(/T/, " ").replace(/Z/, " UTC");
|
||||
s = s.replace(/([\+\-]\d\d)\:?(\d\d)/, " $1$2"); // -04:00 -> -0400
|
||||
s = s.replace(/([\+\-]\d\d)$/, " $100"); // +09 -> +0900
|
||||
return new Date(s);
|
||||
var s = $.trim(iso8601)
|
||||
s = s.replace(/\.\d+/, "") // remove milliseconds
|
||||
s = s.replace(/-/, "/").replace(/-/, "/")
|
||||
s = s.replace(/T/, " ").replace(/Z/, " UTC")
|
||||
s = s.replace(/([\+\-]\d\d)\:?(\d\d)/, " $1$2") // -04:00 -> -0400
|
||||
s = s.replace(/([\+\-]\d\d)$/, " $100") // +09 -> +0900
|
||||
return new Date(s)
|
||||
},
|
||||
datetime: function (elem) {
|
||||
var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title");
|
||||
return $t.parse(iso8601);
|
||||
var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title")
|
||||
return $t.parse(iso8601)
|
||||
},
|
||||
isTime: function (elem) {
|
||||
// jQuery's `is()` doesn't play well with HTML5 in IE
|
||||
return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time");
|
||||
return $(elem).get(0).tagName.toLowerCase() === "time" // $(elem).is("time");
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
// functions that can be called via $(el).timeago('action')
|
||||
// init is default when no action is given
|
||||
// functions are called with context of a single element
|
||||
var functions = {
|
||||
init: function () {
|
||||
functions.dispose.call(this);
|
||||
var refresh_el = $.proxy(refresh, this);
|
||||
refresh_el();
|
||||
var $s = $t.settings;
|
||||
functions.dispose.call(this)
|
||||
var refresh_el = $.proxy(refresh, this)
|
||||
refresh_el()
|
||||
var $s = $t.settings
|
||||
if ($s.refreshMillis > 0) {
|
||||
this._timeagoInterval = setInterval(refresh_el, $s.refreshMillis);
|
||||
this._timeagoInterval = setInterval(refresh_el, $s.refreshMillis)
|
||||
}
|
||||
},
|
||||
update: function (timestamp) {
|
||||
var date = (timestamp instanceof Date) ? timestamp : $t.parse(timestamp);
|
||||
$(this).data('timeago', { datetime: date });
|
||||
var date = (timestamp instanceof Date) ? timestamp : $t.parse(timestamp)
|
||||
$(this).data('timeago', { datetime: date })
|
||||
if ($t.settings.localeTitle) {
|
||||
$(this).attr("title", date.toLocaleString());
|
||||
$(this).attr("title", date.toLocaleString())
|
||||
}
|
||||
refresh.apply(this);
|
||||
refresh.apply(this)
|
||||
},
|
||||
updateFromDOM: function () {
|
||||
$(this).data('timeago', { datetime: $t.parse($t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title")) });
|
||||
refresh.apply(this);
|
||||
$(this).data('timeago', { datetime: $t.parse($t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title")) })
|
||||
refresh.apply(this)
|
||||
},
|
||||
dispose: function () {
|
||||
if (this._timeagoInterval) {
|
||||
window.clearInterval(this._timeagoInterval);
|
||||
this._timeagoInterval = null;
|
||||
window.clearInterval(this._timeagoInterval)
|
||||
this._timeagoInterval = null
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.timeago = function (action, options) {
|
||||
var fn = action ? functions[action] : functions.init;
|
||||
var fn = action ? functions[action] : functions.init
|
||||
if (!fn) {
|
||||
throw new Error("Unknown function name '" + action + "' for timeago");
|
||||
throw new Error("Unknown function name '" + action + "' for timeago")
|
||||
}
|
||||
// each over objects here and call the requested function
|
||||
this.each(function () {
|
||||
fn.call(this, options);
|
||||
});
|
||||
return this;
|
||||
};
|
||||
fn.call(this, options)
|
||||
})
|
||||
return this
|
||||
}
|
||||
|
||||
function refresh() {
|
||||
var $s = $t.settings;
|
||||
var $s = $t.settings
|
||||
|
||||
//check if it's still visible
|
||||
if ($s.autoDispose && !$.contains(document.documentElement, this)) {
|
||||
//stop if it has been removed
|
||||
$(this).timeago("dispose");
|
||||
return this;
|
||||
$(this).timeago("dispose")
|
||||
return this
|
||||
}
|
||||
|
||||
var data = prepareData(this);
|
||||
var data = prepareData(this)
|
||||
|
||||
if (!isNaN(data.datetime)) {
|
||||
if ($s.cutoff === 0 || Math.abs(distance(data.datetime)) < $s.cutoff) {
|
||||
$(this).text(inWords(data.datetime));
|
||||
$(this).text(inWords(data.datetime))
|
||||
} else {
|
||||
if ($(this).attr('title').length > 0) {
|
||||
$(this).text($(this).attr('title'));
|
||||
$(this).text($(this).attr('title'))
|
||||
}
|
||||
}
|
||||
}
|
||||
return this;
|
||||
return this
|
||||
}
|
||||
|
||||
function prepareData(element) {
|
||||
element = $(element);
|
||||
element = $(element)
|
||||
if (!element.data("timeago")) {
|
||||
element.data("timeago", { datetime: $t.datetime(element) });
|
||||
var text = $.trim(element.text());
|
||||
element.data("timeago", { datetime: $t.datetime(element) })
|
||||
var text = $.trim(element.text())
|
||||
if ($t.settings.localeTitle) {
|
||||
element.attr("title", element.data('timeago').datetime.toLocaleString());
|
||||
element.attr("title", element.data('timeago').datetime.toLocaleString())
|
||||
} else if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) {
|
||||
element.attr("title", text);
|
||||
element.attr("title", text)
|
||||
}
|
||||
}
|
||||
return element.data("timeago");
|
||||
return element.data("timeago")
|
||||
}
|
||||
|
||||
function inWords(date) {
|
||||
return $t.inWords(distance(date));
|
||||
return $t.inWords(distance(date))
|
||||
}
|
||||
|
||||
function distance(date) {
|
||||
return (new Date().getTime() - date.getTime());
|
||||
return (new Date().getTime() - date.getTime())
|
||||
}
|
||||
|
||||
// fix for IE6 suckage
|
||||
document.createElement("abbr");
|
||||
document.createElement("time");
|
||||
}));
|
||||
document.createElement("abbr")
|
||||
document.createElement("time")
|
||||
}))
|
@@ -1,21 +1,25 @@
|
||||
//バージョンチェッカー
|
||||
function verck(ver, jp) {
|
||||
if (store) return false
|
||||
console.log('%c Welcome😊 ' + ver, 'color: red;font-size:200%;')
|
||||
$('body').addClass(localStorage.getItem('platform'))
|
||||
var date = new Date()
|
||||
var showVer = false
|
||||
//Spotify
|
||||
if (localStorage.getItem('spotify')) {
|
||||
localStorage.removeItem('spotify')
|
||||
localStorage.removeItem('spotify-refresh')
|
||||
var spDc = 'Spotify NowPlaying sysytem was changed, please re-login to Spotify'
|
||||
if(lang.language == 'ja') {
|
||||
spDc = 'Spotify NowPlayingの機能が変更されたため、もう一度ログインしてください'
|
||||
}
|
||||
Swal.fire({
|
||||
type: 'info',
|
||||
title: spDc,
|
||||
})
|
||||
}
|
||||
//Spotify(e)
|
||||
if (localStorage.getItem('ver') != ver && localStorage.getItem('winstore')) {
|
||||
//ちょっと削除とリンク解析の都合上アレ(s)
|
||||
//対象外のアプデ:storageが20の最初まで"Usamin (18.6.5)"
|
||||
if (!localStorage.getItem('usamin_18_6_5_flag')) {
|
||||
localStorage.setItem('usamin_18_6_5_flag', true)
|
||||
var multi = localStorage.getItem('column')
|
||||
var obj = JSON.parse(multi)
|
||||
for (var i = 0; i < obj.length; i++) {
|
||||
localStorage.removeItem('card_' + i)
|
||||
}
|
||||
}
|
||||
//ちょっと削除とリンク解析の都合上アレ(e)
|
||||
showVer = true
|
||||
console.log('%c Thank you for your update🎉', 'color: red;font-size:200%;')
|
||||
$(document).ready(function() {
|
||||
@@ -324,82 +328,8 @@ function closeSupport() {
|
||||
}
|
||||
)
|
||||
}
|
||||
function storeDialog(platform, ver) {
|
||||
if($('body').hasClass('accessibility')) return false
|
||||
if (platform == 'win32') {
|
||||
var mes = lang.lang_version_platform
|
||||
} else if (platform == 'linux') {
|
||||
var mes = lang.lang_version_platform_linux
|
||||
} else if (platform == 'darwin') {
|
||||
var mes = lang.lang_version_platform_mac
|
||||
} else {
|
||||
var mes = false
|
||||
}
|
||||
if (mes) {
|
||||
Swal.fire({
|
||||
title: 'Select your platform',
|
||||
text: mes,
|
||||
type: 'info',
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: '#3085d6',
|
||||
cancelButtonColor: '#3085d6',
|
||||
confirmButtonText: lang.lang_no,
|
||||
cancelButtonText: lang.lang_yesno
|
||||
}).then(result => {
|
||||
//逆にしてる
|
||||
if (!result.value) {
|
||||
localStorage.setItem('winstore', 'winstore')
|
||||
} else {
|
||||
localStorage.setItem('winstore', 'localinstall')
|
||||
}
|
||||
localStorage.setItem('ver', ver)
|
||||
showVer = true
|
||||
if(pwa) return false
|
||||
console.log('%c Thank you for your update🎉', 'color: red;font-size:200%;')
|
||||
$(document).ready(function() {
|
||||
$('#releasenote').modal('open')
|
||||
verp = ver.replace('(', '')
|
||||
verp = verp.replace('.', '-')
|
||||
verp = verp.replace('.', '-')
|
||||
verp = verp.replace('[', '-')
|
||||
verp = verp.replace(']', '')
|
||||
verp = verp.replace(')', '')
|
||||
verp = verp.replace(' ', '_')
|
||||
console.log('%c ' + verp, 'color: red;font-size:200%;')
|
||||
if (lang.language == 'ja') {
|
||||
$('#release-' + verp).show()
|
||||
} else {
|
||||
$('#release-en').show()
|
||||
}
|
||||
})
|
||||
})
|
||||
} else {
|
||||
localStorage.setItem('ver', ver)
|
||||
showVer = true
|
||||
console.log('%c Thank you for your update🎉', 'color: red;font-size:200%;')
|
||||
$(document).ready(function() {
|
||||
if(pwa) return false
|
||||
$('#releasenote').modal('open')
|
||||
verp = ver.replace('(', '')
|
||||
verp = verp.replace('.', '-')
|
||||
verp = verp.replace('.', '-')
|
||||
verp = verp.replace('[', '-')
|
||||
verp = verp.replace(']', '')
|
||||
verp = verp.replace(')', '')
|
||||
verp = verp.replace(' ', '_')
|
||||
console.log('%c ' + verp, 'color: red;font-size:200%;')
|
||||
if (lang.language == 'ja') {
|
||||
$('#release-' + verp).show()
|
||||
} else {
|
||||
$('#release-en').show()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
function closeStart() {
|
||||
$('#start').css('display', 'none')
|
||||
var platform = localStorage.getItem('platform')
|
||||
var ver = localStorage.getItem('ver')
|
||||
storeDialog(platform, ver)
|
||||
}
|
||||
|
@@ -92,7 +92,7 @@ var activity=[
|
||||
{shortcode:"man-rowing-boat",css:"95.8333% 14.5833%"},
|
||||
{shortcode:"man-biking",css:"95.8333% 39.5833%"},
|
||||
{shortcode:"man-mountain-biking",css:"95.8333% 64.5833%"}
|
||||
];
|
||||
]
|
||||
var flag=[
|
||||
{shortcode:"checkered_flag",css:"16.6667% 58.3333%"},
|
||||
{shortcode:"crossed_flags",css:"14.5833% 60.4167%"},
|
||||
@@ -356,7 +356,7 @@ var flag=[
|
||||
{shortcode:"rainbow-flag",css:"83.3333% 100%"},
|
||||
{shortcode:"triangular_flag_on_post",css:"54.1667% 6.25%"},
|
||||
{shortcode:"waving_black_flag",css:"20.8333% 29.1667%"},
|
||||
{shortcode:"waving_white_flag",css:"20.8333% 27.0833%"}];
|
||||
{shortcode:"waving_white_flag",css:"20.8333% 27.0833%"}]
|
||||
var food=[
|
||||
{shortcode:"green_apple",css:"12.5% 25%"},
|
||||
{shortcode:"apple",css:"12.5% 22.9167%"},
|
||||
@@ -444,7 +444,7 @@ var food=[
|
||||
{shortcode:"spoon",css:"62.5% 14.5833%"},
|
||||
{shortcode:"fork_and_knife",css:"14.5833% 0%"},
|
||||
{shortcode:"knife_fork_plate",css:"14.5833% 18.75%"}
|
||||
];
|
||||
]
|
||||
var nature=[
|
||||
{shortcode:"dog",css:"22.9167% 62.5%"},
|
||||
{shortcode:"cat",css:"22.9167% 52.0833%"},
|
||||
@@ -605,7 +605,7 @@ var nature=[
|
||||
{shortcode:"droplet",css:"35.4167% 39.5833%"},
|
||||
{shortcode:"sweat_drops",css:"35.4167% 37.5%"},
|
||||
{shortcode:"umbrella_with_rain_drops",css:"0% 100%"}
|
||||
];
|
||||
]
|
||||
var object=[
|
||||
{shortcode:"watch",css:"0% 29.1667%"},
|
||||
{shortcode:"iphone",css:"39.5833% 0%"},
|
||||
@@ -780,7 +780,7 @@ var object=[
|
||||
{shortcode:"closed_lock_with_key",css:"39.5833% 62.5%"},
|
||||
{shortcode:"lock",css:"39.5833% 66.6667%"},
|
||||
{shortcode:"unlock",css:"39.5833% 68.75%"}
|
||||
];
|
||||
]
|
||||
var people=[
|
||||
{shortcode:"grinning",css:"45.8333% 68.75%"},
|
||||
{shortcode:"smiley",css:"45.8333% 75%"},
|
||||
@@ -1096,7 +1096,7 @@ var people=[
|
||||
{shortcode:"woman-raising-hand",css:"93.75% 29.1667%"},
|
||||
{shortcode:"woman-frowning",css:"93.75% 54.1667%"},
|
||||
{shortcode:"woman-pouting",css:"93.75% 79.1667%"}
|
||||
];
|
||||
]
|
||||
var place=[
|
||||
{shortcode:"car",css:"52.0833% 60.4167%"},
|
||||
{shortcode:"taxi",css:"52.0833% 56.25%"},
|
||||
@@ -1217,7 +1217,7 @@ var place=[
|
||||
{shortcode:"milky_way",css:"8.33333% 93.75%"},
|
||||
{shortcode:"bridge_at_night",css:"8.33333% 87.5%"},
|
||||
{shortcode:"foggy",css:"8.33333% 70.8333%"}
|
||||
];
|
||||
]
|
||||
var symbol=[
|
||||
{shortcode:"heart",css:"6.25% 62.5%"},
|
||||
{shortcode:"yellow_heart",css:"35.4167% 14.5833%"},
|
||||
@@ -1492,7 +1492,7 @@ var symbol=[
|
||||
{shortcode:"female_sign",css:"2.08333% 37.5%"},
|
||||
{shortcode:"male_sign",css:"2.08333% 39.5833%"},
|
||||
{shortcode:"staff_of_aesculapius",css:"2.08333% 87.5%"}
|
||||
];
|
||||
]
|
||||
var faicons=[
|
||||
"fa-500px",
|
||||
"fa-address-book",
|
||||
|
@@ -83,6 +83,6 @@ var idata = {
|
||||
"nitiasa.com_quote":"enabled",
|
||||
"biwakodon.com_quote":"enabled",
|
||||
"comm.cx_quote":"enabled"
|
||||
};
|
||||
}
|
||||
|
||||
localStorage.setItem("instance", JSON.stringify(idata));
|
||||
localStorage.setItem("instance", JSON.stringify(idata))
|
||||
|
@@ -590,7 +590,7 @@ function enc(ver) {
|
||||
}
|
||||
//インスタンスティッカー
|
||||
function ticker() {
|
||||
var start = 'https://toot.app/toot/index.php'
|
||||
var start = 'https://s.0px.io/json'
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
cors: true,
|
||||
@@ -611,7 +611,8 @@ function ticker() {
|
||||
})
|
||||
.then(function(json) {
|
||||
if (json) {
|
||||
localStorage.setItem('ticker', JSON.stringify(json))
|
||||
localStorage.removeItem('ticker')
|
||||
localStorage.setItem('sticker', JSON.stringify(json))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
//ログアウトします
|
||||
function logout() {
|
||||
localStorage.removeItem("acct_" + acct_id + "_at");
|
||||
localStorage.removeItem("domain_" + acct_id);
|
||||
location.href = "index.html";
|
||||
todc();
|
||||
localStorage.removeItem("acct_" + acct_id + "_at")
|
||||
localStorage.removeItem("domain_" + acct_id)
|
||||
location.href = "index.html"
|
||||
todc()
|
||||
}
|
@@ -252,11 +252,31 @@ function multiDel(target) {
|
||||
var newdom = oldcol.domain
|
||||
}
|
||||
var type = oldcol.type
|
||||
var data = null
|
||||
if(oldcol.data) {
|
||||
data = oldcol.data
|
||||
}
|
||||
var background = null
|
||||
if(oldcol.background) {
|
||||
background = oldcol.background
|
||||
}
|
||||
var text = null
|
||||
if(oldcol.text) {
|
||||
text = oldcol.text
|
||||
}
|
||||
var left_fold = false
|
||||
if(oldcol.left_fold) {
|
||||
left_fold = true
|
||||
}
|
||||
//消した垢のコラムじゃないときコピー
|
||||
if (target != oldcol.domain) {
|
||||
var add = {
|
||||
domain: newdom,
|
||||
type: type
|
||||
type: type,
|
||||
data: data,
|
||||
background: background,
|
||||
text: text,
|
||||
left_fold: left_fold
|
||||
}
|
||||
newcols.push(add)
|
||||
}
|
||||
|
@@ -130,17 +130,11 @@ function playSound() {
|
||||
volumeControl.gain.value = vol
|
||||
source.start(0)
|
||||
soundFile = source
|
||||
|
||||
function newFunction() {
|
||||
var source
|
||||
return source
|
||||
}
|
||||
}
|
||||
function nano() {
|
||||
postMessage(['nano', null], '*')
|
||||
}
|
||||
onmessage = function(e) {
|
||||
console.log(e)
|
||||
if (e.data[0] == 'details') {
|
||||
details(e.data[1][0], e.data[1][1])
|
||||
} else if (e.data[0] == 'udg') {
|
||||
|
@@ -1,11 +1,11 @@
|
||||
$.strip_tags = function(str, allowed) {
|
||||
$.strip_tags = function (str, allowed) {
|
||||
if (!str) {
|
||||
return ''
|
||||
}
|
||||
allowed = (((allowed || '') + '').toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join('')
|
||||
var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>?/gi,
|
||||
commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi
|
||||
return str.replace(commentsAndPhpTags, '').replace(tags, function($0, $1) {
|
||||
return str.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) {
|
||||
return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : ''
|
||||
})
|
||||
}
|
||||
@@ -88,17 +88,18 @@ function formattimeutc(date) {
|
||||
}
|
||||
postMessage(['sendSinmpleIpc', 'custom-css-request'], '*')
|
||||
function makeCID() {
|
||||
return (
|
||||
randomStr(8) +
|
||||
'-' +
|
||||
randomStr(4) +
|
||||
'-' +
|
||||
randomStr(4) +
|
||||
'-' +
|
||||
randomStr(4) +
|
||||
'-' +
|
||||
randomStr(12)
|
||||
)
|
||||
let chars = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("")
|
||||
for (let i = 0, len = chars.length; i < len; i++) {
|
||||
switch (chars[i]) {
|
||||
case "x":
|
||||
chars[i] = Math.floor(Math.random() * 16).toString(16)
|
||||
break
|
||||
case "y":
|
||||
chars[i] = (Math.floor(Math.random() * 4) + 8).toString(16)
|
||||
break
|
||||
}
|
||||
}
|
||||
return chars.join("")
|
||||
}
|
||||
function randomStr(l) {
|
||||
// 生成する文字列に含める文字セット
|
||||
@@ -147,15 +148,15 @@ function rgbToHex(color) {
|
||||
console.error(color + ':第1引数はRGB形式で入力')
|
||||
}
|
||||
/*マルチバイト用切り出し*/
|
||||
$.isSurrogatePear = function(upper, lower) {
|
||||
$.isSurrogatePear = function (upper, lower) {
|
||||
return 0xd800 <= upper && upper <= 0xdbff && 0xdc00 <= lower && lower <= 0xdfff
|
||||
}
|
||||
$.mb_strlen = function(str) {
|
||||
$.mb_strlen = function (str) {
|
||||
var splitter = new GraphemeSplitter()
|
||||
var arr = splitter.splitGraphemes(str)
|
||||
return arr.length
|
||||
}
|
||||
$.mb_substr = function(str, begin, end) {
|
||||
$.mb_substr = function (str, begin, end) {
|
||||
//配列にする
|
||||
var splitter = new GraphemeSplitter()
|
||||
var arr = splitter.splitGraphemes(str)
|
||||
@@ -175,7 +176,7 @@ function object_array_sort(data, key, order, fn) {
|
||||
num_a = 1
|
||||
num_b = -1
|
||||
}
|
||||
data = data.sort(function(a, b) {
|
||||
data = data.sort(function (a, b) {
|
||||
var x = a[key]
|
||||
var y = b[key]
|
||||
if (x > y) return num_a
|
||||
|
@@ -207,6 +207,7 @@ ipc.on('theme-json-response', function(event, args) {
|
||||
postMessage(['customConnect', args], '*')
|
||||
})
|
||||
ipc.on('theme-json-create-complete', function(event, args) {
|
||||
if(args != '') alert(args)
|
||||
postMessage(['clearCustomImport', ''], '*')
|
||||
postMessage(['ctLoad', ''], '*')
|
||||
})
|
||||
|
@@ -122,6 +122,10 @@ function post(mode, postvis) {
|
||||
console.log('This toot will be posted at:' + scheduled)
|
||||
schedule()
|
||||
toot.scheduled_at = scheduled
|
||||
if($('#sch-box').hasClass('expire')) {
|
||||
toot.scheduled_at = null
|
||||
toot.expires_at = scheduled
|
||||
}
|
||||
} else {
|
||||
var scheduled = ''
|
||||
}
|
||||
@@ -195,6 +199,20 @@ function post(mode, postvis) {
|
||||
}
|
||||
}
|
||||
}
|
||||
function expPostMode() {
|
||||
$('#sch-box').toggleClass('expire')
|
||||
if($('#sch-box').hasClass('expire')) {
|
||||
Swal.fire({
|
||||
type: 'info',
|
||||
title: 'Expiring toot On'
|
||||
})
|
||||
} else {
|
||||
Swal.fire({
|
||||
type: 'info',
|
||||
title: 'Expireing toot Off'
|
||||
})
|
||||
}
|
||||
}
|
||||
function misskeyPost() {
|
||||
var str = $('#textarea').val()
|
||||
var acct_id = $('#post-acct-sel').val()
|
||||
|
@@ -160,8 +160,14 @@ function bkm(id, acct_id, tlid) {
|
||||
|
||||
//フォロー
|
||||
async function follow(acct_id, resolve) {
|
||||
if($('#his-data').hasClass('locked')) {
|
||||
locked = true
|
||||
} else {
|
||||
locked = false
|
||||
}
|
||||
if (!acct_id && acct_id != 'selector') {
|
||||
var acct_id = $('#his-data').attr('use-acct')
|
||||
|
||||
} else if (acct_id == 'selector') {
|
||||
var acct_id = $('#user-acct-sel').val()
|
||||
}
|
||||
@@ -172,6 +178,7 @@ async function follow(acct_id, resolve) {
|
||||
var flag = 'follow'
|
||||
var flagm = 'create'
|
||||
}
|
||||
|
||||
var id = $('#his-data').attr('user-id')
|
||||
if (resolve == 'selector') {
|
||||
var fullacct = $('#his-acct').attr('fullname')
|
||||
@@ -205,10 +212,14 @@ async function follow(acct_id, resolve) {
|
||||
$('#his-follow-btn-text').text(lang.lang_status_follow)
|
||||
} else {
|
||||
$('#his-data').addClass('following')
|
||||
if(locked) {
|
||||
$('#his-follow-btn-text').text(lang.lang_status_requesting)
|
||||
} else {
|
||||
$('#his-follow-btn-text').text(lang.lang_status_unfollow)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
async function acctResolve(acct_id, user) {
|
||||
console.log('Get user data of ' + user)
|
||||
@@ -669,7 +680,12 @@ function staEx(mode) {
|
||||
})
|
||||
return
|
||||
}
|
||||
function toggleAction(elem, height) {
|
||||
function toggleAction(id) {
|
||||
console.log(document.getElementById(id))
|
||||
var instance = M.Dropdown.init(document.getElementById(id));
|
||||
instance.open()
|
||||
return
|
||||
var height = ct * 39 + 6
|
||||
var cont = elem.parents('.cvo').find('.contextMenu')
|
||||
if (cont.hasClass('hide')) {
|
||||
$('#contextWrap').removeClass('hide')
|
||||
@@ -680,6 +696,7 @@ function toggleAction(elem, height) {
|
||||
cont.removeClass('bottom')
|
||||
cont.addClass('top')
|
||||
} else {
|
||||
top = elem.offset().top - 105
|
||||
cont.removeClass('top')
|
||||
cont.addClass('bottom')
|
||||
}
|
||||
|
@@ -1,95 +1,98 @@
|
||||
//日付パーサー
|
||||
function date(str, datetype) {
|
||||
if (datetype == "relative") {
|
||||
return '<time class="timeago" datetime="' + str + '"></time>';
|
||||
function date(str, datetype, lastStatus) {
|
||||
if (lastStatus) {
|
||||
var date = new Date(str)
|
||||
return date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + date.getDate()
|
||||
} else if (datetype == "relative") {
|
||||
return '<time class="timeago" datetime="' + str + '"></time>'
|
||||
} else {
|
||||
var date = new Date(str);
|
||||
var date = new Date(str)
|
||||
if (datetype == "unix") {
|
||||
var unixm = date.getTime();
|
||||
return Math.floor(unixm / 1000);
|
||||
var unixm = date.getTime()
|
||||
return Math.floor(unixm / 1000)
|
||||
}
|
||||
var now = new Date();
|
||||
var month = date.getMonth() + 1;
|
||||
var now = new Date()
|
||||
var month = date.getMonth() + 1
|
||||
if (date.getMinutes() < 10) {
|
||||
var min = "0" + date.getMinutes();
|
||||
var min = "0" + date.getMinutes()
|
||||
} else {
|
||||
var min = date.getMinutes();
|
||||
var min = date.getMinutes()
|
||||
}
|
||||
var sec = null;
|
||||
var sec = null
|
||||
if (date.getSeconds() < 10) {
|
||||
sec = "0" + date.getSeconds();
|
||||
sec = "0" + date.getSeconds()
|
||||
} else {
|
||||
sec = date.getSeconds();
|
||||
sec = date.getSeconds()
|
||||
}
|
||||
if (datetype == "full") {
|
||||
var ret = date.getFullYear() + "/" + month + "/" + date.getDate() + "/ " +
|
||||
date.getHours() + ":" + min + ":" + sec;
|
||||
date.getHours() + ":" + min + ":" + sec
|
||||
}
|
||||
if (date.getFullYear() == now.getFullYear()) {
|
||||
if (date.getMonth() == now.getMonth()) {
|
||||
if (date.getDate() == now.getDate()) {
|
||||
if (datetype == "medium") {
|
||||
var ret = '<time class="timeago" datetime="' + str + '"></time>';
|
||||
var ret = '<time class="timeago" datetime="' + str + '"></time>'
|
||||
} else {
|
||||
var ret = date.getHours() + ":" + min + ":" + sec;
|
||||
var ret = date.getHours() + ":" + min + ":" + sec
|
||||
}
|
||||
|
||||
} else {
|
||||
var ret = month + "/" + date.getDate() + " " + date.getHours() + ":" +
|
||||
min + ":" + sec;
|
||||
min + ":" + sec
|
||||
}
|
||||
} else {
|
||||
var ret = month + "/" + date.getDate() + " " + date.getHours() + ":" + min +
|
||||
":" + sec;
|
||||
":" + sec
|
||||
}
|
||||
} else {
|
||||
var ret = date.getFullYear() + "/" + month + "/" + date.getDate() + " " +
|
||||
date.getHours() + ":" + min + ":" + sec;
|
||||
date.getHours() + ":" + min + ":" + sec
|
||||
}
|
||||
if (datetype == "double") {
|
||||
return '<time class="timeago" datetime="' + str + '"></time>/' + ret;
|
||||
return '<time class="timeago" datetime="' + str + '"></time>/' + ret
|
||||
} else {
|
||||
return ret;
|
||||
return ret
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//特殊フォーマット(インスタンス情報で利用)
|
||||
function crat(str) {
|
||||
var date = new Date(str);
|
||||
var mnt = null;
|
||||
var date = new Date(str)
|
||||
var mnt = null
|
||||
if (date.getMonth() < 9) {
|
||||
mnt = "0" + (date.getMonth() + 1);
|
||||
mnt = "0" + (date.getMonth() + 1)
|
||||
} else {
|
||||
mnt = date.getMonth() + 1;
|
||||
mnt = date.getMonth() + 1
|
||||
}
|
||||
if (date.getDate() < 10) {
|
||||
var dat = "0" + date.getDate();
|
||||
var dat = "0" + date.getDate()
|
||||
} else {
|
||||
var dat = date.getDate();
|
||||
var dat = date.getDate()
|
||||
}
|
||||
if (date.getHours() < 10) {
|
||||
var hrs = "0" + date.getHours();
|
||||
var hrs = "0" + date.getHours()
|
||||
} else {
|
||||
var hrs = date.getHours();
|
||||
var hrs = date.getHours()
|
||||
}
|
||||
if (date.getMinutes() < 10) {
|
||||
var mns = "0" + date.getMinutes();
|
||||
var mns = "0" + date.getMinutes()
|
||||
} else {
|
||||
var mns = date.getMinutes();
|
||||
var mns = date.getMinutes()
|
||||
}
|
||||
if (date.getSeconds() < 10) {
|
||||
var sec = "0" + date.getSeconds();
|
||||
var sec = "0" + date.getSeconds()
|
||||
} else {
|
||||
var sec = date.getSeconds();
|
||||
var sec = date.getSeconds()
|
||||
}
|
||||
format_str = 'YYYY-MM-DD hh:mm:ss';
|
||||
format_str = format_str.replace(/YYYY/g, date.getFullYear());
|
||||
format_str = format_str.replace(/MM/g, mnt);
|
||||
format_str = format_str.replace(/DD/g, dat);
|
||||
format_str = format_str.replace(/hh/g, hrs);
|
||||
format_str = format_str.replace(/mm/g, mns);
|
||||
format_str = format_str.replace(/ss/g, sec);
|
||||
format_str = 'YYYY-MM-DD hh:mm:ss'
|
||||
format_str = format_str.replace(/YYYY/g, date.getFullYear())
|
||||
format_str = format_str.replace(/MM/g, mnt)
|
||||
format_str = format_str.replace(/DD/g, dat)
|
||||
format_str = format_str.replace(/hh/g, hrs)
|
||||
format_str = format_str.replace(/mm/g, mns)
|
||||
format_str = format_str.replace(/ss/g, sec)
|
||||
|
||||
return format_str;
|
||||
return format_str
|
||||
}
|
||||
|
@@ -1,49 +1,49 @@
|
||||
//ディレクトリ
|
||||
//ディレクトリトグル
|
||||
function dirMenu() {
|
||||
$("#dir-contents").html("");
|
||||
directory();
|
||||
$("#left-menu a").removeClass("active");
|
||||
$("#dirMenu").addClass("active");
|
||||
$(".menu-content").addClass("hide");
|
||||
$("#dir-box").removeClass("hide");
|
||||
$("#dir-contents").html("")
|
||||
directory()
|
||||
$("#left-menu a").removeClass("active")
|
||||
$("#dirMenu").addClass("active")
|
||||
$(".menu-content").addClass("hide")
|
||||
$("#dir-box").removeClass("hide")
|
||||
}
|
||||
function dirselCk() {
|
||||
var acct = $("#dir-acct-sel").val();
|
||||
var acct = $("#dir-acct-sel").val()
|
||||
if (acct == "noauth") {
|
||||
$("#dirNoAuth").removeClass("hide");
|
||||
$("#dirNoAuth").removeClass("hide")
|
||||
} else {
|
||||
$("#dirNoAuth").addClass("hide");
|
||||
directory();
|
||||
$("#dirNoAuth").addClass("hide")
|
||||
directory()
|
||||
}
|
||||
}
|
||||
function directory(isMore) {
|
||||
var order = $("[name=sort]:checked").val();
|
||||
var order = $("[name=sort]:checked").val()
|
||||
if (!order) {
|
||||
order = "active";
|
||||
order = "active"
|
||||
}
|
||||
var local_only = $("#local_only:checked").val();
|
||||
var local_only = $("#local_only:checked").val()
|
||||
if (local_only) {
|
||||
local_only = "true";
|
||||
local_only = "true"
|
||||
} else {
|
||||
local_only = "false";
|
||||
local_only = "false"
|
||||
}
|
||||
var acct_id = $("#dir-acct-sel").val();
|
||||
var acct_id = $("#dir-acct-sel").val()
|
||||
if (acct_id == "noauth") {
|
||||
var domain = $("#dirNoAuth-url").val();
|
||||
var at = "";
|
||||
var domain = $("#dirNoAuth-url").val()
|
||||
var at = ""
|
||||
} else {
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var domain = localStorage.getItem("domain_" + acct_id)
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at")
|
||||
}
|
||||
if (isMore) {
|
||||
var addOffset = $("#dir-contents .cvo").length;
|
||||
var addOffset = $("#dir-contents .cvo").length
|
||||
} else {
|
||||
var addOffset = 0;
|
||||
$("#dir-contents").html("");
|
||||
var addOffset = 0
|
||||
$("#dir-contents").html("")
|
||||
}
|
||||
var start = "https://" + domain + "/api/v1/directory?order=" + order + "&local=" + local_only + "&offset=" + addOffset;
|
||||
console.log(start);
|
||||
var start = "https://" + domain + "/api/v1/directory?order=" + order + "&local=" + local_only + "&offset=" + addOffset
|
||||
console.log(start)
|
||||
fetch(start, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
@@ -54,23 +54,23 @@ function directory(isMore) {
|
||||
.then(function(response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function(text) {
|
||||
setLog(response.url, response.status, text);
|
||||
});
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json();
|
||||
return response.json()
|
||||
})
|
||||
.catch(function(error) {
|
||||
setLog(start, "JSON", error);
|
||||
console.error(error);
|
||||
setLog(start, "JSON", error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function(json) {
|
||||
if (json) {
|
||||
$("#moreDir").removeClass("disabled");
|
||||
var html = userparse(json, null, acct_id, "dir", null);
|
||||
$("#dir-contents").append(html);
|
||||
jQuery("time.timeago").timeago();
|
||||
$("#moreDir").removeClass("disabled")
|
||||
var html = userparse(json, null, acct_id, "dir", null)
|
||||
$("#dir-contents").append(html)
|
||||
jQuery("time.timeago").timeago()
|
||||
} else {
|
||||
$("#moreDir").addClass("disabled");
|
||||
$("#moreDir").addClass("disabled")
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
|
488
app/js/tl/dm.js
488
app/js/tl/dm.js
@@ -1,8 +1,8 @@
|
||||
//DM(Conv) TL
|
||||
function dm(acct_id, tlid, type, delc, voice) {
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v1/conversations";
|
||||
var domain = localStorage.getItem("domain_" + acct_id)
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at")
|
||||
var start = "https://" + domain + "/api/v1/conversations"
|
||||
fetch(start, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
@@ -13,38 +13,38 @@ function dm(acct_id, tlid, type, delc, voice) {
|
||||
.then(function(response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function(text) {
|
||||
setLog(response.url, response.status, text);
|
||||
});
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json();
|
||||
return response.json()
|
||||
})
|
||||
.catch(function(error) {
|
||||
todo(error);
|
||||
setLog(start, "JSON", error);
|
||||
console.error(error);
|
||||
todo(error)
|
||||
setLog(start, "JSON", error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function(json) {
|
||||
var templete = '<div id="convList' + tlid + '">' + dmListParse(json, type, acct_id, tlid, "", mute) + "</div>";
|
||||
localStorage.setItem("lastobj_" + tlid, json[0].id);
|
||||
$("#timeline_" + tlid).html(templete);
|
||||
additional(acct_id, tlid);
|
||||
jQuery("time.timeago").timeago();
|
||||
todc();
|
||||
var templete = '<div id="convList' + tlid + '">' + dmListParse(json, type, acct_id, tlid, "", mute) + "</div>"
|
||||
localStorage.setItem("lastobj_" + tlid, json[0].id)
|
||||
$("#timeline_" + tlid).html(templete)
|
||||
additional(acct_id, tlid)
|
||||
jQuery("time.timeago").timeago()
|
||||
todc()
|
||||
//reload(type, '', acct_id, tlid, data, mute, delc,voice);
|
||||
$(window).scrollTop(0);
|
||||
});
|
||||
$(window).scrollTop(0)
|
||||
})
|
||||
}
|
||||
function dmmore(tlid) {
|
||||
var multi = localStorage.getItem("column");
|
||||
var obj = JSON.parse(multi);
|
||||
var acct_id = obj[tlid].domain;
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var multi = localStorage.getItem("column")
|
||||
var obj = JSON.parse(multi)
|
||||
var acct_id = obj[tlid].domain
|
||||
var domain = localStorage.getItem("domain_" + acct_id)
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at")
|
||||
var sid = $("#timeline_" + tlid + " .cvo")
|
||||
.last()
|
||||
.attr("unique-id");
|
||||
var start = "https://" + domain + "/api/v1/conversations?max_id=" + sid;
|
||||
var type = "dm";
|
||||
.attr("unique-id")
|
||||
var start = "https://" + domain + "/api/v1/conversations?max_id=" + sid
|
||||
var type = "dm"
|
||||
fetch(start, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
@@ -55,444 +55,444 @@ function dmmore(tlid) {
|
||||
.then(function(response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function(text) {
|
||||
setLog(response.url, response.status, text);
|
||||
});
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json();
|
||||
return response.json()
|
||||
})
|
||||
.catch(function(error) {
|
||||
todo(error);
|
||||
setLog(start, "JSON", error);
|
||||
console.error(error);
|
||||
todo(error)
|
||||
setLog(start, "JSON", error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function(json) {
|
||||
var templete = '<div id="convList' + tlid + '">' + dmListParse(json, type, acct_id, tlid, "", mute) + "</div>";
|
||||
$("#timeline_" + tlid).append(templete);
|
||||
additional(acct_id, tlid);
|
||||
jQuery("time.timeago").timeago();
|
||||
moreloading = false;
|
||||
});
|
||||
var templete = '<div id="convList' + tlid + '">' + dmListParse(json, type, acct_id, tlid, "", mute) + "</div>"
|
||||
$("#timeline_" + tlid).append(templete)
|
||||
additional(acct_id, tlid)
|
||||
jQuery("time.timeago").timeago()
|
||||
moreloading = false
|
||||
})
|
||||
}
|
||||
//DMオブジェクトパーサー(トゥート)
|
||||
function dmListParse(obj, mix, acct_id, tlid, popup, mutefilter) {
|
||||
var templete = "";
|
||||
var templete = ""
|
||||
if (obj[0]) {
|
||||
localStorage.setItem("lastunix_" + tlid, date(obj[0].created_at, "unix"));
|
||||
localStorage.setItem("lastunix_" + tlid, date(obj[0].created_at, "unix"))
|
||||
}
|
||||
|
||||
var actb = localStorage.getItem("action_btns");
|
||||
var actb = "re,rt,fav,qt,del,pin,red";
|
||||
var actb = localStorage.getItem("action_btns")
|
||||
var actb = "re,rt,fav,qt,del,pin,red"
|
||||
if (actb) {
|
||||
var actb = actb.split(",");
|
||||
var disp = {};
|
||||
var actb = actb.split(",")
|
||||
var disp = {}
|
||||
for (var k = 0; k < actb.length; k++) {
|
||||
if (k < 4) {
|
||||
var tp = "type-a";
|
||||
var tp = "type-a"
|
||||
} else {
|
||||
var tp = "type-b";
|
||||
var tp = "type-b"
|
||||
}
|
||||
disp[actb[k]] = tp;
|
||||
disp[actb[k]] = tp
|
||||
}
|
||||
}
|
||||
var datetype = localStorage.getItem("datetype");
|
||||
var nsfwtype = localStorage.getItem("nsfw");
|
||||
var sent = localStorage.getItem("sentence");
|
||||
var ltr = localStorage.getItem("letters");
|
||||
var gif = localStorage.getItem("gif");
|
||||
var imh = localStorage.getItem("img-height");
|
||||
var datetype = localStorage.getItem("datetype")
|
||||
var nsfwtype = localStorage.getItem("nsfw")
|
||||
var sent = localStorage.getItem("sentence")
|
||||
var ltr = localStorage.getItem("letters")
|
||||
var gif = localStorage.getItem("gif")
|
||||
var imh = localStorage.getItem("img-height")
|
||||
//独自ロケール
|
||||
var locale = localStorage.getItem("locale");
|
||||
var locale = localStorage.getItem("locale")
|
||||
if (locale == "yes") {
|
||||
var locale = false;
|
||||
var locale = false
|
||||
}
|
||||
//ネイティブ通知
|
||||
var native = localStorage.getItem("nativenotf");
|
||||
var native = localStorage.getItem("nativenotf")
|
||||
if (!native) {
|
||||
native = "yes";
|
||||
native = "yes"
|
||||
}
|
||||
//クライアント強調
|
||||
var emp = localStorage.getItem("client_emp");
|
||||
var emp = localStorage.getItem("client_emp")
|
||||
if (emp) {
|
||||
var emp = JSON.parse(emp);
|
||||
var emp = JSON.parse(emp)
|
||||
}
|
||||
//クライアントミュート
|
||||
var mute = localStorage.getItem("client_mute");
|
||||
var mute = localStorage.getItem("client_mute")
|
||||
if (mute) {
|
||||
var mute = JSON.parse(mute);
|
||||
var mute = JSON.parse(mute)
|
||||
}
|
||||
//ユーザー強調
|
||||
var useremp = localStorage.getItem("user_emp");
|
||||
var useremp = localStorage.getItem("user_emp")
|
||||
if (useremp) {
|
||||
var useremp = JSON.parse(useremp);
|
||||
var useremp = JSON.parse(useremp)
|
||||
}
|
||||
//ワード強調
|
||||
var wordemp = localStorage.getItem("word_emp");
|
||||
var wordemp = localStorage.getItem("word_emp")
|
||||
if (wordemp) {
|
||||
var wordemp = JSON.parse(wordemp);
|
||||
var wordemp = JSON.parse(wordemp)
|
||||
}
|
||||
//ワードミュート
|
||||
var wordmute = localStorage.getItem("word_mute");
|
||||
var wordmute = localStorage.getItem("word_mute")
|
||||
if (wordmute) {
|
||||
var wordmute = JSON.parse(wordmute);
|
||||
wordmute = wordmute.concat(mutefilter);
|
||||
var wordmute = JSON.parse(wordmute)
|
||||
wordmute = wordmute.concat(mutefilter)
|
||||
} else {
|
||||
wordmute = mutefilter;
|
||||
wordmute = mutefilter
|
||||
}
|
||||
//Ticker
|
||||
var tickerck = localStorage.getItem("ticker_ok");
|
||||
var tickerck = localStorage.getItem("ticker_ok")
|
||||
if (tickerck) {
|
||||
var ticker = true;
|
||||
var ticker = true
|
||||
} else {
|
||||
var ticker = false;
|
||||
var ticker = false
|
||||
}
|
||||
//Cards
|
||||
var card = localStorage.getItem("card_" + tlid);
|
||||
var card = localStorage.getItem("card_" + tlid)
|
||||
|
||||
if (!sent) {
|
||||
var sent = 500;
|
||||
var sent = 500
|
||||
}
|
||||
if (!ltr) {
|
||||
var ltr = 500;
|
||||
var ltr = 500
|
||||
}
|
||||
if (!nsfwtype || nsfwtype == "yes") {
|
||||
var nsfw = "ok";
|
||||
var nsfw = "ok"
|
||||
} else {
|
||||
var nsfw;
|
||||
var nsfw
|
||||
}
|
||||
var cwtype = localStorage.getItem("cw");
|
||||
var cwtype = localStorage.getItem("cw")
|
||||
if (!cwtype || cwtype == "yes") {
|
||||
var cw = "ok";
|
||||
var cw = "ok"
|
||||
} else {
|
||||
var cw;
|
||||
var cw
|
||||
}
|
||||
if (!datetype) {
|
||||
datetype = "absolute";
|
||||
datetype = "absolute"
|
||||
}
|
||||
if (!gif) {
|
||||
var gif = "yes";
|
||||
var gif = "yes"
|
||||
}
|
||||
if (!imh) {
|
||||
var imh = "200";
|
||||
var imh = "200"
|
||||
}
|
||||
if (!emp) {
|
||||
var emp = [];
|
||||
var emp = []
|
||||
}
|
||||
if (!mute) {
|
||||
var mute = [];
|
||||
var mute = []
|
||||
}
|
||||
if (!useremp) {
|
||||
var useremp = [];
|
||||
var useremp = []
|
||||
}
|
||||
if (!wordemp) {
|
||||
var wordemp = [];
|
||||
var wordemp = []
|
||||
}
|
||||
if (!wordmute) {
|
||||
var wordmute = [];
|
||||
var wordmute = []
|
||||
}
|
||||
//via通知
|
||||
var viashow = localStorage.getItem("viashow");
|
||||
var viashow = localStorage.getItem("viashow")
|
||||
if (!viashow) {
|
||||
viashow = "via-hide";
|
||||
viashow = "via-hide"
|
||||
}
|
||||
if (viashow == "hide") {
|
||||
viashow = "via-hide";
|
||||
viashow = "via-hide"
|
||||
}
|
||||
//認証なしTL
|
||||
if (mix == "noauth") {
|
||||
var noauth = "hide";
|
||||
var antinoauth = "";
|
||||
var noauth = "hide"
|
||||
var antinoauth = ""
|
||||
} else {
|
||||
var noauth = "";
|
||||
var antinoauth = "hide";
|
||||
var noauth = ""
|
||||
var antinoauth = "hide"
|
||||
}
|
||||
//マウスオーバーのみ
|
||||
var mouseover = localStorage.getItem("mouseover");
|
||||
var mouseover = localStorage.getItem("mouseover")
|
||||
if (!mouseover) {
|
||||
mouseover = "";
|
||||
mouseover = ""
|
||||
} else if (mouseover == "yes" || mouseover == "click") {
|
||||
mouseover = "hide";
|
||||
mouseover = "hide"
|
||||
} else if (mouseover == "no") {
|
||||
mouseover = "";
|
||||
mouseover = ""
|
||||
}
|
||||
var local = [];
|
||||
var times = [];
|
||||
var local = []
|
||||
var times = []
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
var conv_id = obj[key].id;
|
||||
var toot = obj[key].last_status;
|
||||
var dis_name = escapeHTML(toot.account.display_name);
|
||||
var conv_id = obj[key].id
|
||||
var toot = obj[key].last_status
|
||||
var dis_name = escapeHTML(toot.account.display_name)
|
||||
if (toot.account.emojis) {
|
||||
var actemojick = toot.account.emojis[0];
|
||||
var actemojick = toot.account.emojis[0]
|
||||
} else {
|
||||
var actemojick = false;
|
||||
var actemojick = false
|
||||
}
|
||||
//絵文字があれば
|
||||
if (actemojick) {
|
||||
Object.keys(toot.account.emojis).forEach(function(key5) {
|
||||
var emoji = toot.account.emojis[key5];
|
||||
var shortcode = emoji.shortcode;
|
||||
var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" alt=" :' + shortcode + ': ">';
|
||||
var regExp = new RegExp(":" + shortcode + ":", "g");
|
||||
dis_name = dis_name.replace(regExp, emoji_url);
|
||||
});
|
||||
var emoji = toot.account.emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" alt=" :' + shortcode + ': ">'
|
||||
var regExp = new RegExp(":" + shortcode + ":", "g")
|
||||
dis_name = dis_name.replace(regExp, emoji_url)
|
||||
})
|
||||
}
|
||||
var noticeavatar = "";
|
||||
var if_notf = "";
|
||||
var uniqueid = toot.id;
|
||||
var notice = "";
|
||||
var boostback = "";
|
||||
var noticeavatar = ""
|
||||
var if_notf = ""
|
||||
var uniqueid = toot.id
|
||||
var notice = ""
|
||||
var boostback = ""
|
||||
//ユーザー強調
|
||||
if (toot.account.username != toot.account.acct) {
|
||||
var fullname = toot.account.acct;
|
||||
var fullname = toot.account.acct
|
||||
} else {
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var fullname = toot.account.acct + "@" + domain;
|
||||
var domain = localStorage.getItem("domain_" + acct_id)
|
||||
var fullname = toot.account.acct + "@" + domain
|
||||
}
|
||||
if (useremp) {
|
||||
Object.keys(useremp).forEach(function(key10) {
|
||||
var user = useremp[key10];
|
||||
var user = useremp[key10]
|
||||
if (user == fullname) {
|
||||
boostback = "emphasized";
|
||||
boostback = "emphasized"
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
var id = toot.id;
|
||||
var home = "";
|
||||
var id = toot.id
|
||||
var home = ""
|
||||
if (toot.account.locked) {
|
||||
var locked = ' <i class="fas fa-lock red-text"></i>';
|
||||
var locked = ' <i class="fas fa-lock red-text"></i>'
|
||||
} else {
|
||||
var locked = "";
|
||||
var locked = ""
|
||||
}
|
||||
if (!toot.application) {
|
||||
var via = "";
|
||||
viashow = "hide";
|
||||
var via = ""
|
||||
viashow = "hide"
|
||||
} else {
|
||||
var via = escapeHTML(toot.application.name);
|
||||
var via = escapeHTML(toot.application.name)
|
||||
//強調チェック
|
||||
Object.keys(emp).forEach(function(key6) {
|
||||
var cli = emp[key6];
|
||||
var cli = emp[key6]
|
||||
if (cli == via) {
|
||||
boostback = "emphasized";
|
||||
boostback = "emphasized"
|
||||
}
|
||||
});
|
||||
})
|
||||
//ミュートチェック
|
||||
Object.keys(mute).forEach(function(key7) {
|
||||
var cli = mute[key7];
|
||||
var cli = mute[key7]
|
||||
if (cli == via) {
|
||||
boostback = "hide";
|
||||
boostback = "hide"
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
if (mix == "pinned") {
|
||||
boostback = "emphasized";
|
||||
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">' + lang.lang_parse_cwshow + "</a><br>";
|
||||
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">' + lang.lang_parse_cwshow + "</a><br>"
|
||||
} else {
|
||||
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;
|
||||
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 (ct1 > ct2) {
|
||||
var ct = ct1;
|
||||
var ct = ct1
|
||||
} else {
|
||||
var ct = ct2;
|
||||
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;
|
||||
var spoil = '<span class="cw-long-' + toot.id + '">' + $.mb_substr($.strip_tags(toot.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">' + lang.lang_parse_more + "</a><br>";
|
||||
var content = '<span class="gray">' + lang.lang_parse_fulltext + "</span><br>" + toot.content
|
||||
var spoil = '<span class="cw-long-' + toot.id + '">' + $.mb_substr($.strip_tags(toot.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">' + lang.lang_parse_more + "</a><br>"
|
||||
} else {
|
||||
var content = toot.content;
|
||||
var spoil = escapeHTML(toot.spoiler_text);
|
||||
var spoiler = "";
|
||||
var spoiler_show = "";
|
||||
var content = toot.content
|
||||
var spoil = escapeHTML(toot.spoiler_text)
|
||||
var spoiler = ""
|
||||
var spoiler_show = ""
|
||||
}
|
||||
}
|
||||
var urls = $.strip_tags(content)
|
||||
.replace(/\n/g, " ")
|
||||
.match(/https?:\/\/([-a-zA-Z0-9@.]+)\/?(?!.*((media|tags)|mentions)).*([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)?/);
|
||||
.match(/https?:\/\/([-a-zA-Z0-9@.]+)\/?(?!.*((media|tags)|mentions)).*([-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)?/)
|
||||
if (urls) {
|
||||
var analyze = "<a onclick=\"additionalIndv('" + tlid + "'," + acct_id + ",'" + id + '\')" class="add-show pointer">' + lang.lang_parse_url + "</a><br>";
|
||||
var analyze = "<a onclick=\"additionalIndv('" + tlid + "'," + acct_id + ",'" + id + '\')" class="add-show pointer">' + lang.lang_parse_url + "</a><br>"
|
||||
} else {
|
||||
var analyze = "";
|
||||
var analyze = ""
|
||||
}
|
||||
var viewer = "";
|
||||
var hasmedia = "";
|
||||
var youtube = "";
|
||||
var viewer = ""
|
||||
var hasmedia = ""
|
||||
var youtube = ""
|
||||
if (toot.emojis) {
|
||||
var emojick = toot.emojis[0];
|
||||
var emojick = toot.emojis[0]
|
||||
} else {
|
||||
var emojick = false;
|
||||
var emojick = false
|
||||
}
|
||||
//絵文字があれば
|
||||
if (emojick) {
|
||||
Object.keys(toot.emojis).forEach(function(key5) {
|
||||
var emoji = toot.emojis[key5];
|
||||
var shortcode = emoji.shortcode;
|
||||
var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" alt=" :' + shortcode + ': ">';
|
||||
var regExp = new RegExp(":" + shortcode + ":", "g");
|
||||
content = content.replace(regExp, emoji_url);
|
||||
spoil = spoil.replace(regExp, emoji_url);
|
||||
});
|
||||
var emoji = toot.emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" alt=" :' + shortcode + ': ">'
|
||||
var regExp = new RegExp(":" + shortcode + ":", "g")
|
||||
content = content.replace(regExp, emoji_url)
|
||||
spoil = spoil.replace(regExp, emoji_url)
|
||||
})
|
||||
}
|
||||
//ニコフレ絵文字
|
||||
if (toot.profile_emojis) {
|
||||
var nicoemojick = toot.profile_emojis[0];
|
||||
var nicoemojick = toot.profile_emojis[0]
|
||||
} else {
|
||||
var nicoemojick = false;
|
||||
var nicoemojick = false
|
||||
}
|
||||
//絵文字があれば
|
||||
if (nicoemojick) {
|
||||
Object.keys(toot.profile_emojis).forEach(function(keynico) {
|
||||
var emoji = toot.profile_emojis[keynico];
|
||||
var shortcode = emoji.shortcode;
|
||||
var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" alt=" :' + shortcode + ': ">';
|
||||
var regExp = new RegExp(":" + shortcode + ":", "g");
|
||||
content = content.replace(regExp, emoji_url);
|
||||
spoil = spoil.replace(regExp, emoji_url);
|
||||
});
|
||||
var emoji = toot.profile_emojis[keynico]
|
||||
var shortcode = emoji.shortcode
|
||||
var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" alt=" :' + shortcode + ': ">'
|
||||
var regExp = new RegExp(":" + shortcode + ":", "g")
|
||||
content = content.replace(regExp, emoji_url)
|
||||
spoil = spoil.replace(regExp, emoji_url)
|
||||
})
|
||||
}
|
||||
//デフォ絵文字
|
||||
content = twemoji.parse(content);
|
||||
content = twemoji.parse(content)
|
||||
if (dis_name) {
|
||||
dis_name = twemoji.parse(dis_name);
|
||||
dis_name = twemoji.parse(dis_name)
|
||||
}
|
||||
if (spoil) {
|
||||
spoil = twemoji.parse(spoil);
|
||||
spoil = twemoji.parse(spoil)
|
||||
}
|
||||
var mediack = toot.media_attachments[0];
|
||||
var mediack = toot.media_attachments[0]
|
||||
//メディアがあれば
|
||||
var media_ids = "";
|
||||
var media_ids = ""
|
||||
if (mediack) {
|
||||
hasmedia = "hasmedia";
|
||||
var cwdt = 100 / toot.media_attachments.length;
|
||||
hasmedia = "hasmedia"
|
||||
var cwdt = 100 / toot.media_attachments.length
|
||||
Object.keys(toot.media_attachments).forEach(function(key2) {
|
||||
var media = toot.media_attachments[key2];
|
||||
var purl = media.preview_url;
|
||||
media_ids = media_ids + media.id + ",";
|
||||
var url = media.url;
|
||||
var media = toot.media_attachments[key2]
|
||||
var purl = media.preview_url
|
||||
media_ids = media_ids + media.id + ","
|
||||
var url = media.url
|
||||
if (toot.sensitive && nsfw) {
|
||||
var sense = "sensitive";
|
||||
var sense = "sensitive"
|
||||
} else {
|
||||
var sense = "";
|
||||
var sense = ""
|
||||
}
|
||||
viewer = viewer + "<a onclick=\"imgv('" + id + "','" + key2 + "','" + acct_id + '\')" id="' + id + "-image-" + key2 + '" data-url="' + url + '" data-type="' + media.type + '" class="img-parsed"><img src="' + purl + '" class="' + sense + ' toot-img pointer" style="width:' + cwdt + "%; height:" + imh + 'px;"></a></span>';
|
||||
});
|
||||
media_ids = media_ids.slice(0, -1);
|
||||
viewer = viewer + "<a onclick=\"imgv('" + id + "','" + key2 + "','" + acct_id + '\')" id="' + id + "-image-" + key2 + '" data-url="' + url + '" data-type="' + media.type + '" class="img-parsed"><img src="' + purl + '" class="' + sense + ' toot-img pointer" style="width:' + cwdt + "%; height:" + imh + 'px;"></a></span>'
|
||||
})
|
||||
media_ids = media_ids.slice(0, -1)
|
||||
} else {
|
||||
viewer = "";
|
||||
hasmedia = "nomedia";
|
||||
viewer = ""
|
||||
hasmedia = "nomedia"
|
||||
}
|
||||
var menck = toot.mentions[0];
|
||||
var mentions = "";
|
||||
var menck = toot.mentions[0]
|
||||
var mentions = ""
|
||||
//メンションであれば
|
||||
if (menck) {
|
||||
mentions = "";
|
||||
mentions = ""
|
||||
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> ";
|
||||
});
|
||||
mentions = '<div style="float:right">' + mentions + "</div>";
|
||||
var mention = toot.mentions[key3]
|
||||
mentions = mentions + "<a onclick=\"udg('" + mention.id + "'," + acct_id + ')" class="pointer">@' + mention.acct + "</a> "
|
||||
})
|
||||
mentions = '<div style="float:right">' + mentions + "</div>"
|
||||
}
|
||||
var tagck = toot.tags[0];
|
||||
var tags = "";
|
||||
var tagck = toot.tags[0]
|
||||
var tags = ""
|
||||
//タグであれば
|
||||
if (tagck) {
|
||||
Object.keys(toot.tags).forEach(function(key4) {
|
||||
var tag = toot.tags[key4];
|
||||
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></span> ';
|
||||
});
|
||||
tags = '<div style="float:right">' + tags + "</div>";
|
||||
var tag = toot.tags[key4]
|
||||
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></span> '
|
||||
})
|
||||
tags = '<div style="float:right">' + tags + "</div>"
|
||||
}
|
||||
//アニメ再生
|
||||
if (gif == "yes") {
|
||||
var avatar = toot.account.avatar;
|
||||
var avatar = toot.account.avatar
|
||||
} else {
|
||||
var avatar = toot.account.avatar_static;
|
||||
var avatar = toot.account.avatar_static
|
||||
}
|
||||
//ワードミュート
|
||||
if (wordmute) {
|
||||
Object.keys(wordmute).forEach(function(key8) {
|
||||
var worde = wordmute[key8];
|
||||
var worde = wordmute[key8]
|
||||
if (worde) {
|
||||
if (worde.tag) {
|
||||
var word = worde.tag;
|
||||
var word = worde.tag
|
||||
} else {
|
||||
var word = worde;
|
||||
var word = worde
|
||||
}
|
||||
var regExp = new RegExp(word, "g");
|
||||
var regExp = new RegExp(word, "g")
|
||||
if ($.strip_tags(content).match(regExp)) {
|
||||
boostback = "hide by_filter";
|
||||
boostback = "hide by_filter"
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
//ワード強調
|
||||
if (wordemp) {
|
||||
Object.keys(wordemp).forEach(function(key9) {
|
||||
var word = wordemp[key9];
|
||||
var word = wordemp[key9]
|
||||
if (word) {
|
||||
var word = word.tag;
|
||||
var regExp = new RegExp(word, "g");
|
||||
content = content.replace(regExp, '<span class="emp">' + escapeHTML(word) + "</span>");
|
||||
var word = word.tag
|
||||
var regExp = new RegExp(word, "g")
|
||||
content = content.replace(regExp, '<span class="emp">' + escapeHTML(word) + "</span>")
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
//日本語じゃない
|
||||
if (toot.language != "ja") {
|
||||
var trans = '<div class="action pin"><a onclick="trans(\'' + toot.language + '\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_parse_trans + '"><i class="material-icons">g_translate</i></a></div>';
|
||||
var trans = '<div class="action pin"><a onclick="trans(\'' + toot.language + '\')" class="waves-effect waves-dark btn-flat" style="padding:0" title="' + lang.lang_parse_trans + '"><i class="material-icons">g_translate</i></a></div>'
|
||||
} else {
|
||||
var trans = "";
|
||||
var trans = ""
|
||||
}
|
||||
if (toot.favourited) {
|
||||
var if_fav = " yellow-text";
|
||||
var fav_app = "faved";
|
||||
var if_fav = " yellow-text"
|
||||
var fav_app = "faved"
|
||||
} else {
|
||||
var if_fav = "";
|
||||
var fav_app = "";
|
||||
var if_fav = ""
|
||||
var fav_app = ""
|
||||
}
|
||||
//Cards
|
||||
if (!card && toot.card) {
|
||||
var cards = toot.card;
|
||||
var cards = toot.card
|
||||
if (cards.provider_name == "Twitter") {
|
||||
if (cards.image) {
|
||||
var twiImg = '<br><img src="' + cards.image + '">';
|
||||
var twiImg = '<br><img src="' + cards.image + '">'
|
||||
} else {
|
||||
var twiImg = "";
|
||||
var twiImg = ""
|
||||
}
|
||||
analyze = '<blockquote class="twitter-tweet"><b>' + escapeHTML(cards.author_name) + "</b><br>" + escapeHTML(cards.description) + twiImg + "</blockquote>";
|
||||
analyze = '<blockquote class="twitter-tweet"><b>' + escapeHTML(cards.author_name) + "</b><br>" + escapeHTML(cards.description) + twiImg + "</blockquote>"
|
||||
}
|
||||
if (cards.title) {
|
||||
analyze = '<span class="gray">URL' + lang.lang_cards_check + ":<br>Title:" + escapeHTML(cards.title) + "<br>" + escapeHTML(cards.description) + "</span>";
|
||||
analyze = '<span class="gray">URL' + lang.lang_cards_check + ":<br>Title:" + escapeHTML(cards.title) + "<br>" + escapeHTML(cards.description) + "</span>"
|
||||
}
|
||||
if (cards.html) {
|
||||
analyze = cards.html + '<i class="material-icons" onclick="pip(' + id + ')" title="' + lang.lang_cards_pip + '">picture_in_picture_alt</i>';
|
||||
analyze = cards.html + '<i class="material-icons" onclick="pip(' + id + ')" title="' + lang.lang_cards_pip + '">picture_in_picture_alt</i>'
|
||||
}
|
||||
}
|
||||
//Ticker
|
||||
var tickerdom = "";
|
||||
var tickerdom = ""
|
||||
if (ticker) {
|
||||
var tickerdata = localStorage.getItem("ticker");
|
||||
var tickerdata = localStorage.getItem("ticker")
|
||||
if (tickerdata) {
|
||||
var tickerdata = JSON.parse(tickerdata);
|
||||
var tickerdata = JSON.parse(tickerdata)
|
||||
|
||||
var thisdomain = toot.account.acct.split("@");
|
||||
var thisdomain = toot.account.acct.split("@")
|
||||
if (thisdomain.length > 1) {
|
||||
thisdomain = thisdomain[1];
|
||||
thisdomain = thisdomain[1]
|
||||
}
|
||||
for (var i = 0; i < tickerdata.length; i++) {
|
||||
var value = tickerdata[i];
|
||||
var value = tickerdata[i]
|
||||
if (value.domain == thisdomain) {
|
||||
var tickerdom = '<div style="background:linear-gradient(to left,transparent, ' + value.bg + " 96%) !important; color:" + value.text + ';width:100%; height:0.9rem; font-size:0.8rem;"><img src="' + value.image + '" style="height:100%;"><span style="position:relative; top:-0.2rem;"> ' + escapeHTML(value.name) + "</span></div>";
|
||||
break;
|
||||
var tickerdom = '<div style="background:linear-gradient(to left,transparent, ' + value.bg + " 96%) !important; color:" + value.text + ';width:100%; height:0.9rem; font-size:0.8rem;"><img src="' + value.image + '" style="height:100%;"><span style="position:relative; top:-0.2rem;"> ' + escapeHTML(value.name) + "</span></div>"
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
templete = templete + '<div id="pub_' + toot.id + '" class="cvo ' + boostback + " " + fav_app + " " + hasmedia + '" toot-id="' + id + '" unique-id="' + uniqueid + '" data-medias="' + media_ids + ' " unixtime="' + date(obj[key].created_at, "unix") + '" ' + if_notf + ' onclick="dmStatus()">' + '<div class="area-notice"><span class="gray sharesta">' + notice + home + "</span></div>" + '<div class="area-icon"><a onclick="udg(\'' + toot.account.id + "'," + acct_id + ');" user="' + toot.account.acct + '" class="udg">' + '<img src="' + avatar + '" width="40" class="prof-img" user="' + toot.account.acct + '"></a>' + noticeavatar + "</div>" + '<div class="area-display_name"><div class="flex-name"><span class="user">' + dis_name + '</span><span class="sml gray" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis; cursor:text;"> @' + toot.account.acct + locked + "</span></div>" + '<div class="flex-time"><span class="cbadge cbadge-hover pointer waves-effect" onclick="tootUriCopy(\'' + toot.url + '\');" title="' + date(toot.created_at, "absolute") + "(" + lang.lang_parse_clickcopyurl + ')"><i class="far fa-clock-o"></i>' + date(toot.created_at, datetype) + "</span>" + "</div></div>" + '<div class="area-toot">' + tickerdom + '<span class="' + api_spoil + " cw_text_" + toot.id + '"><span class="cw_text">' + spoil + "</span>" + spoiler_show + '</span><span class="toot ' + spoiler + '">' + content + "</span>" + "" + viewer + "" + "<br><a onclick=\"details('" + toot.id + "'," + acct_id + ",'" + tlid + "','dm')\" class=\"pointer waves-effect\">" + lang.lang_parse_thread + "</a></div>" + '<div class="area-vis"></div>' + "</div></div>";
|
||||
});
|
||||
return templete;
|
||||
templete = templete + '<div id="pub_' + toot.id + '" class="cvo ' + boostback + " " + fav_app + " " + hasmedia + '" toot-id="' + id + '" unique-id="' + uniqueid + '" data-medias="' + media_ids + ' " unixtime="' + date(obj[key].created_at, "unix") + '" ' + if_notf + ' onclick="dmStatus()">' + '<div class="area-notice"><span class="gray sharesta">' + notice + home + "</span></div>" + '<div class="area-icon"><a onclick="udg(\'' + toot.account.id + "'," + acct_id + ');" user="' + toot.account.acct + '" class="udg">' + '<img src="' + avatar + '" width="40" class="prof-img" user="' + toot.account.acct + '"></a>' + noticeavatar + "</div>" + '<div class="area-display_name"><div class="flex-name"><span class="user">' + dis_name + '</span><span class="sml gray" style="overflow: hidden;white-space: nowrap;text-overflow: ellipsis; cursor:text;"> @' + toot.account.acct + locked + "</span></div>" + '<div class="flex-time"><span class="cbadge cbadge-hover pointer waves-effect" onclick="tootUriCopy(\'' + toot.url + '\');" title="' + date(toot.created_at, "absolute") + "(" + lang.lang_parse_clickcopyurl + ')"><i class="far fa-clock-o"></i>' + date(toot.created_at, datetype) + "</span>" + "</div></div>" + '<div class="area-toot">' + tickerdom + '<span class="' + api_spoil + " cw_text_" + toot.id + '"><span class="cw_text">' + spoil + "</span>" + spoiler_show + '</span><span class="toot ' + spoiler + '">' + content + "</span>" + "" + viewer + "" + "<br><a onclick=\"details('" + toot.id + "'," + acct_id + ",'" + tlid + "','dm')\" class=\"pointer waves-effect\">" + lang.lang_parse_thread + "</a></div>" + '<div class="area-vis"></div>' + "</div></div>"
|
||||
})
|
||||
return templete
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -19,7 +19,22 @@ async function mixtl(acct_id, tlid, type, delc, voice) {
|
||||
additional(acct_id, tlid)
|
||||
jQuery('time.timeago').timeago()
|
||||
todc()
|
||||
if(mastodonBaseWsStatus[domain] == 'cannotuse') {
|
||||
mixre(acct_id, tlid, 'mix', mute, voice, '')
|
||||
} else if (mastodonBaseWsStatus[domain] == 'undetected' || mastodonBaseWsStatus[domain] == 'connecting') {
|
||||
const mbws = setInterval(function () {
|
||||
if(mastodonBaseWsStatus[domain] == 'cannotuse') {
|
||||
mixre(acct_id, tlid, 'mix', mute, voice, '')
|
||||
clearInterval(mbws)
|
||||
} else if(mastodonBaseWsStatus[domain] == 'available') {
|
||||
mastodonBaseWs[domain].send(`{"type":"subscribe","stream":"public:local"}`)
|
||||
clearInterval(mbws)
|
||||
}
|
||||
}, 1000)
|
||||
} else if(mastodonBaseWsStatus[domain] == 'available') {
|
||||
mastodonBaseWs[domain].send(`{"type":"subscribe","stream":"public:local"}`)
|
||||
}
|
||||
|
||||
$(window).scrollTop(0)
|
||||
lastId = integrated[0].id
|
||||
beforeLastId = integrated[1].id
|
||||
|
@@ -116,7 +116,7 @@ function notfColumn(acct_id, tlid, sys) {
|
||||
var start = 'wss://' + domain + '/?i=' + at
|
||||
}
|
||||
}
|
||||
function notfCommon(acct_id, tlid, sys) {
|
||||
function notfCommon(acct_id, tlid, sys, stream) {
|
||||
todo('Notifications Loading...')
|
||||
var native = localStorage.getItem('nativenotf')
|
||||
var at = localStorage.getItem('acct_' + acct_id + '_at')
|
||||
@@ -147,6 +147,10 @@ function notfCommon(acct_id, tlid, sys) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if(stream == 'only') {
|
||||
notfWS(misskey, acct_id, tlid, domain, at)
|
||||
return false
|
||||
}
|
||||
fetch(start, i)
|
||||
.then(function(response) {
|
||||
console.log('header to get param:' + response.headers.get('link'))
|
||||
@@ -203,7 +207,7 @@ function notfCommon(acct_id, tlid, sys) {
|
||||
}
|
||||
$('#notf-box').addClass('fetched')
|
||||
todc()
|
||||
notfWS(misskey, acct_id, tlid, domain, at)
|
||||
if(stream != 'no') notfWS(misskey, acct_id, tlid, domain, at)
|
||||
})
|
||||
}
|
||||
function notfWS(misskey, acct_id, tlid, domain, at) {
|
||||
|
@@ -194,7 +194,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
var local = []
|
||||
var times = []
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var domain = localStorage.getItem('domain_' + acct_id)
|
||||
var toot = obj[key]
|
||||
if (type == 'dm') {
|
||||
@@ -214,7 +214,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//絵文字があれば
|
||||
if (actemojick) {
|
||||
Object.keys(toot.account.emojis).forEach(function(key5) {
|
||||
Object.keys(toot.account.emojis).forEach(function (key5) {
|
||||
var emoji = toot.account.emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
if (gif == 'yes') {
|
||||
@@ -369,7 +369,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//絵文字があれば
|
||||
if (actemojick) {
|
||||
Object.keys(toot.account.emojis).forEach(function(key5) {
|
||||
Object.keys(toot.account.emojis).forEach(function (key5) {
|
||||
var emoji = toot.account.emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
if (gif == 'yes') {
|
||||
@@ -393,8 +393,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
} else {
|
||||
noticeavatar = toot.account.avatar_static
|
||||
}
|
||||
noticeavatar = `<a onclick="udg('${toot.account.id}','${acct_id}');" user="${toot.account.acct}" class="notf-icon udg" aria-hidden="true">
|
||||
<img draggable="false" src="${noticeavatar}" width="20" class="prof-img"
|
||||
noticeavatar = `<a onclick="udg('${toot.account.id}','${acct_id}');" user="${toot.account.acct}" class="udg" aria-hidden="true">
|
||||
<img draggable="false" src="${noticeavatar}" width="20" class="notf-icon prof-img"
|
||||
user="${toot.account.acct}" onerror="this.src=\'../../img/loading.svg\'">
|
||||
</a>`
|
||||
var rebtxt = lang.lang_parse_btedsimple
|
||||
@@ -426,7 +426,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//絵文字があれば
|
||||
if (actemojick) {
|
||||
Object.keys(toot.account.emojis).forEach(function(key5) {
|
||||
Object.keys(toot.account.emojis).forEach(function (key5) {
|
||||
var emoji = toot.account.emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
if (gif == 'yes') {
|
||||
@@ -454,7 +454,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var fullname = toot.account.acct + '@' + domain
|
||||
}
|
||||
if (useremp) {
|
||||
Object.keys(useremp).forEach(function(key10) {
|
||||
Object.keys(useremp).forEach(function (key10) {
|
||||
var user = useremp[key10]
|
||||
if (user == fullname) {
|
||||
boostback = 'emphasized'
|
||||
@@ -494,7 +494,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var via = escapeHTML(toot.application.name)
|
||||
if (empCli) {
|
||||
//強調チェック
|
||||
Object.keys(empCli).forEach(function(key6) {
|
||||
Object.keys(empCli).forEach(function (key6) {
|
||||
var empCliList = empCli[key6]
|
||||
if (empCliList == via) {
|
||||
boostback = 'emphasized'
|
||||
@@ -503,7 +503,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
if (muteCli) {
|
||||
//ミュートチェック
|
||||
Object.keys(muteCli).forEach(function(key7) {
|
||||
Object.keys(muteCli).forEach(function (key7) {
|
||||
var muteCliList = muteCli[key7]
|
||||
if (muteCliList == via) {
|
||||
boostback = 'hide'
|
||||
@@ -597,7 +597,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
if (mediack) {
|
||||
hasmedia = 'hasmedia'
|
||||
var cwdt = 100 / toot.media_attachments.length
|
||||
Object.keys(toot.media_attachments).forEach(function(key2) {
|
||||
Object.keys(toot.media_attachments).forEach(function (key2) {
|
||||
var media = toot.media_attachments[key2]
|
||||
var purl = media.preview_url
|
||||
media_ids = media_ids + media.id + ','
|
||||
@@ -628,7 +628,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var mty = media.remote_url.match(/.+(\..+)$/)[1]
|
||||
viewer =
|
||||
viewer +
|
||||
`<a href="${media.remote_url}" title="${media.remote_url}">[${lang.lang_parse_unknown}(${mty})]</a> `
|
||||
`<a href="${media.url ? media.url : media.remote_url}" title="${media.remote_url} from ${media.url}">[${lang.lang_parse_unknown}(${mty})]</a> `
|
||||
} else if (media.type == 'audio') {
|
||||
viewer =
|
||||
viewer +
|
||||
@@ -669,7 +669,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
if (menck) {
|
||||
mentions = ''
|
||||
var to_mention = []
|
||||
Object.keys(toot.mentions).forEach(function(key3) {
|
||||
Object.keys(toot.mentions).forEach(function (key3) {
|
||||
var mention = toot.mentions[key3]
|
||||
//自分は除外
|
||||
//自インスタンスかどうかを確認し、IDの一致
|
||||
@@ -704,7 +704,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
var tags = ''
|
||||
//タグであれば
|
||||
if (tagck) {
|
||||
Object.keys(toot.tags).forEach(function(key4) {
|
||||
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> `
|
||||
tags =
|
||||
@@ -812,7 +812,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//ワードミュート
|
||||
if (wordmuteList) {
|
||||
Object.keys(wordmuteList).forEach(function(key8) {
|
||||
Object.keys(wordmuteList).forEach(function (key8) {
|
||||
var worde = wordmuteList[key8]
|
||||
if (worde) {
|
||||
if (worde.tag) {
|
||||
@@ -829,7 +829,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//ワード強調
|
||||
if (wordempList) {
|
||||
Object.keys(wordempList).forEach(function(key9) {
|
||||
Object.keys(wordempList).forEach(function (key9) {
|
||||
var wordList = wordempList[key9]
|
||||
if (wordList) {
|
||||
var wordList = wordList.tag
|
||||
@@ -845,7 +845,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//絵文字があれば
|
||||
if (emojick) {
|
||||
Object.keys(toot.emojis).forEach(function(key5) {
|
||||
Object.keys(toot.emojis).forEach(function (key5) {
|
||||
var emoji = toot.emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
if (gif == 'yes') {
|
||||
@@ -871,7 +871,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//絵文字があれば(nico)
|
||||
if (nicoemojick) {
|
||||
Object.keys(toot.profile_emojis).forEach(function(keynico) {
|
||||
Object.keys(toot.profile_emojis).forEach(function (keynico) {
|
||||
var emoji = toot.profile_emojis[keynico]
|
||||
var shortcode = emoji.shortcode
|
||||
var emoji_url = `<img draggable="false" src="${emoji.url}" class="emoji-img" data-emoji="${shortcode}" alt=" :${shortcode}: "
|
||||
@@ -901,12 +901,10 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
}
|
||||
//日本語じゃない
|
||||
if (toot.language != lang.language && toot.language) {
|
||||
var trans = `<div class="">
|
||||
<a onclick="trans('${toot.language}','${lang.language}', $(this))"
|
||||
class="waves-effect waves-dark btn-flat actct" style="padding:0">
|
||||
var trans = `<li onclick="trans('${toot.language}','${lang.language}', $(this))"
|
||||
style="padding:0">
|
||||
<i class="material-icons" aria-hidden="true">g_translate</i>${lang.lang_parse_trans}
|
||||
</a>
|
||||
</div>`
|
||||
</li>`
|
||||
} else {
|
||||
var trans = ''
|
||||
}
|
||||
@@ -918,9 +916,10 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
//Ticker
|
||||
var tickerdom = ''
|
||||
if (ticker) {
|
||||
var tickerdata = localStorage.getItem('ticker')
|
||||
var tickerdata = localStorage.getItem('sticker')
|
||||
if (tickerdata) {
|
||||
var tickerdata = JSON.parse(tickerdata)
|
||||
var tickerdataRaw = JSON.parse(tickerdata)
|
||||
var tickerdata = tickerdataRaw.data
|
||||
|
||||
var thisdomain = toot.account.acct.split('@')
|
||||
if (thisdomain.length > 1) {
|
||||
@@ -929,13 +928,40 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
for (var i = 0; i < tickerdata.length; i++) {
|
||||
var value = tickerdata[i]
|
||||
if (value.domain == thisdomain) {
|
||||
var tickerdom = `<div aria-hidden="true" style="user-select:none;cursor:default;background:linear-gradient(90deg, ${
|
||||
value.bg
|
||||
}, transparent 96%) !important; color:${
|
||||
value.text
|
||||
var bgColor = value.bgColor
|
||||
var fontColor = value.fontColor
|
||||
if (!value.bgColor || !value.fontColor) {
|
||||
if (value.type == 'mastodon') {
|
||||
if (!value.bgColor) bgColor = tickerdataRaw.default.mastodon.bgColor
|
||||
if (!value.fontColor) fontColor = tickerdataRaw.default.mastodon.fontColor
|
||||
} else if (value.type == 'pleroma') {
|
||||
if (!value.bgColor) bgColor = tickerdataRaw.default.pleroma.bgColor
|
||||
if (!value.fontColor) fontColor = tickerdataRaw.default.pleroma.fontColor
|
||||
} else if (value.type == 'misskey') {
|
||||
if (!value.bgColor) bgColor = tickerdataRaw.default.misskey.bgColor
|
||||
if (!value.fontColor) fontColor = tickerdataRaw.default.misskey.fontColor
|
||||
} else if (value.type == 'misskeylegacy') {
|
||||
if (!value.bgColor) bgColor = tickerdataRaw.default.misskeylegacy.bgColor
|
||||
if (!value.fontColor) fontColor = tickerdataRaw.default.misskeylegacy.fontColor
|
||||
} else if (value.type == 'pixelfed') {
|
||||
if (!value.bgColor) bgColor = tickerdataRaw.default.pixelfed.bgColor
|
||||
if (!value.fontColor) fontColor = tickerdataRaw.default.pixelfed.fontColor
|
||||
}
|
||||
} else {
|
||||
var bgColor = value.bgColor
|
||||
var fontColor = value.fontColor
|
||||
}
|
||||
bgColorCSS = ''
|
||||
for (let j = 0; j < bgColor.length; j++) {
|
||||
const bg = bgColor[j]
|
||||
bgColorCSS = bgColorCSS + bg + ','
|
||||
}
|
||||
bgColorCSS = `linear-gradient(90deg, ${bgColorCSS} transparent)`
|
||||
var tickerdom = `<div aria-hidden="true" style="user-select:none;cursor:default;background:${bgColorCSS} !important; color:${
|
||||
fontColor
|
||||
};width:100%; height:0.9rem; font-size:0.8rem;" class="tickers">
|
||||
<img draggable="false" src="${
|
||||
value.image
|
||||
value.favicon
|
||||
}" style="height:100%;" onerror="this.src=\'../../img/loading.svg\'">
|
||||
<span style="position:relative; top:-0.2rem;">${escapeHTML(value.name)}</span>
|
||||
</div>`
|
||||
@@ -950,6 +976,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
if (!quoteUser) {
|
||||
quoteUser = toot.quote.account.acct
|
||||
}
|
||||
if (!toot.quote.quote_muted) {
|
||||
poll =
|
||||
poll +
|
||||
`<div class="quote-renote">
|
||||
@@ -974,6 +1001,12 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
</a>
|
||||
</div>
|
||||
</div>`
|
||||
} else {
|
||||
poll =
|
||||
poll +
|
||||
`<span class="gray sml">${lang.lang_parse_hidden}</span>`
|
||||
}
|
||||
|
||||
}
|
||||
//menuは何個?
|
||||
var menuct = 2
|
||||
@@ -1097,8 +1130,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
</div>
|
||||
<div class="area-side">
|
||||
<div class="action ${noauth}">
|
||||
<a onclick="toggleAction($(this), ${menuct * 39 + 6})"
|
||||
class="ctxMenu waves-effect waves-dark btn-flat" style="padding:0">
|
||||
<a onclick="toggleAction('trigger_${tlid}_${uniqueid}')" data-target="dropdown_${tlid}_${uniqueid}"
|
||||
class="ctxMenu waves-effect waves-dark btn-flat" style="padding:0" id="trigger_${tlid}_${uniqueid}">
|
||||
<i class="text-darken-3 material-icons act-icon" aria-hidden="true">expand_more</i>
|
||||
<span class="voice">Other actions</span>
|
||||
</a>
|
||||
@@ -1111,45 +1144,32 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
|
||||
<span class="voice">${lang.lang_parse_detail}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contextMenu hide z-depth-4">
|
||||
<div class="${viashow}">
|
||||
via ${escapeHTML(via)}<br>
|
||||
<a onclick="client('${$.strip_tags(via)}')" class="pointer">${lang.lang_parse_clientop}</a>
|
||||
</div>
|
||||
<ul class="dropdown-content contextMenu" id="dropdown_${tlid}_${uniqueid}">
|
||||
<li class="${viashow} via-dropdown" onclick="client('${$.strip_tags(via)}')" title="${lang.lang_parse_clientop}">
|
||||
via ${escapeHTML(via)}</a>
|
||||
</li>
|
||||
<div>
|
||||
<button onclick="bkm('${uniqueid}','${acct_id}','${tlid}')"
|
||||
class="waves-effect waves-dark btn-flat actct bkm-btn" style="padding:0">
|
||||
<i class="fas text-darken-3 fa-bookmark bkm_${toot.id} ${if_bkm}"></i>
|
||||
<span class="bkmStr_${uniqueid}">${bkmStr}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="${if_mine}">
|
||||
<button onclick="del('${uniqueid}','${acct_id}')" class="waves-effect waves-dark btn-flat actct"
|
||||
<li onclick="bkm('${uniqueid}','${acct_id}','${tlid}')"
|
||||
class="bkm-btn bkmStr_${uniqueid}" style="padding:0">
|
||||
<i class="fas text-darken-3 fa-bookmark bkm_${toot.id} ${if_bkm}"></i>${bkmStr}
|
||||
</li>
|
||||
<li class="${if_mine}" onclick="del('${uniqueid}','${acct_id}')"
|
||||
style="padding:0">
|
||||
<i class="fas fa-trash"></i>${lang.lang_parse_del}
|
||||
</button>
|
||||
</div>
|
||||
<div class="${if_mine}">
|
||||
<button onclick="pin('${uniqueid}','${acct_id}')" class="waves-effect waves-dark btn-flat actct" style="padding:0">
|
||||
<i class="fas fa-map-pin pin_${uniqueid} ${if_pin}"></i>
|
||||
<span class="pinStr_${uniqueid}">${pinStr}</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="${if_mine}">
|
||||
<button onclick="redraft('${uniqueid}','${acct_id}')" class="waves-effect waves-dark btn-flat actct"
|
||||
</li>
|
||||
<li class="${if_mine}" onclick="pin('${uniqueid}','${acct_id}')" style="padding:0" class="pinStr_${uniqueid}">
|
||||
<i class="fas fa-map-pin pin_${uniqueid} ${if_pin}"></i>${pinStr}
|
||||
</li>
|
||||
<li class="${if_mine}" onclick="redraft('${uniqueid}','${acct_id}')"
|
||||
style="padding:0">
|
||||
<i class="material-icons" aria-hidden="true">redo</i>${lang.lang_parse_redraft}
|
||||
</button>
|
||||
</div>
|
||||
</li>
|
||||
${trans}
|
||||
<div>
|
||||
<button onclick="postMessage(['openUrl', '${toot.url}'], '*')"
|
||||
class="waves-effect waves-dark btn-flat actct" style="padding:0">
|
||||
<i class="fas text-darken-3 fa-globe"></i>
|
||||
${lang.lang_parse_link}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<li onclick="postMessage(['openUrl', '${toot.url}'], '*')"
|
||||
style="padding:0">
|
||||
<i class="fas text-darken-3 fa-globe"></i>${lang.lang_parse_link}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
`
|
||||
}
|
||||
@@ -1174,7 +1194,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
}
|
||||
var templete = ''
|
||||
var datetype = localStorage.getItem('datetype')
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var toot = obj[key]
|
||||
if (toot) {
|
||||
if (!toot.username) {
|
||||
@@ -1211,7 +1231,6 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
} else if (auth == 'request') {
|
||||
var ftxt = lang.lang_parse_request
|
||||
}
|
||||
console.log(auth, ftxt)
|
||||
if (popup > 0 || popup == -1 || notf) {
|
||||
var notftext = ftxt + '<br>'
|
||||
} else {
|
||||
@@ -1251,7 +1270,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
}
|
||||
//絵文字があれば
|
||||
if (actemojick) {
|
||||
Object.keys(toot.emojis).forEach(function(key5) {
|
||||
Object.keys(toot.emojis).forEach(function (key5) {
|
||||
var emoji = toot.emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
if (gif == 'yes') {
|
||||
@@ -1284,7 +1303,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
} else {
|
||||
var udg = `<a onclick="udg('${toot.id}','${acct_id}');" user="${toot.acct}" class="udg">`
|
||||
}
|
||||
var latest = date(toot.last_status_at, 'relative')
|
||||
var latest = date(toot.last_status_at, 'relative', true)
|
||||
if (toot.last_status_at) {
|
||||
var latesthtml = `<div class="cbadge" style="width:100px;">Last <span class="voice">toot</span>: ${latest}</div>`
|
||||
} else {
|
||||
@@ -1337,7 +1356,6 @@ function userparse(obj, auth, acct_id, tlid, popup) {
|
||||
}
|
||||
//クライアントダイアログ
|
||||
function client(name) {
|
||||
$('#contextWrap').addClass('hide')
|
||||
if (name != 'Unknown') {
|
||||
//聞く
|
||||
Swal.fire({
|
||||
@@ -1362,7 +1380,7 @@ function client(name) {
|
||||
M.toast({ html: escapeHTML(name) + lang.lang_status_emphas, displayLength: 2000 })
|
||||
} else {
|
||||
var can
|
||||
Object.keys(obj).forEach(function(key) {
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var cliT = obj[key]
|
||||
if (cliT != name && !can) {
|
||||
can = false
|
||||
@@ -1450,7 +1468,7 @@ function pollParse(poll, acct_id, emojis) {
|
||||
var max = 0
|
||||
}
|
||||
|
||||
Object.keys(choices).forEach(function(keyc) {
|
||||
Object.keys(choices).forEach(function (keyc) {
|
||||
var choice = choices[keyc]
|
||||
var voteit = ''
|
||||
for (var i = 0; i < minechoice.length; i++) {
|
||||
@@ -1485,7 +1503,7 @@ function pollParse(poll, acct_id, emojis) {
|
||||
var choiceText = escapeHTML(choice.title)
|
||||
if (emojis) {
|
||||
//絵文字があれば
|
||||
Object.keys(emojis).forEach(function(key5) {
|
||||
Object.keys(emojis).forEach(function (key5) {
|
||||
var emoji = emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
if (gif == 'yes') {
|
||||
@@ -1525,3 +1543,306 @@ function pollParse(poll, acct_id, emojis) {
|
||||
</div>`
|
||||
return pollHtml
|
||||
}
|
||||
|
||||
//MastodonBaseStreaming
|
||||
var mastodonBaseWs = {}
|
||||
var mastodonBaseWsStatus = {}
|
||||
function mastodonBaseStreaming(acct_id) {
|
||||
notfCommon(acct_id, 0, null, 'no')
|
||||
const domain = localStorage.getItem(`domain_${acct_id}`)
|
||||
if (mastodonBaseWsStatus[domain]) return
|
||||
mastodonBaseWsStatus[domain] = 'undetected'
|
||||
const at = localStorage.getItem(`acct_${acct_id}_at`)
|
||||
let wss = 'wss://' + domain
|
||||
if (localStorage.getItem('streaming_' + acct_id)) {
|
||||
wss = localStorage.getItem('streaming_' + acct_id)
|
||||
}
|
||||
const start = `${wss}/api/v1/streaming/?access_token=${at}`
|
||||
mastodonBaseWs[domain] = new WebSocket(start)
|
||||
mastodonBaseWs[domain].onopen = function () {
|
||||
mastodonBaseWsStatus[domain] = 'connecting'
|
||||
setTimeout(function () {
|
||||
mastodonBaseWsStatus[domain] = 'available'
|
||||
}, 3000)
|
||||
mastodonBaseWs[domain].send(`{"type":"subscribe","stream":"user"}`)
|
||||
$('.notice_icon_acct_' + acct_id).removeClass('red-text')
|
||||
}
|
||||
mastodonBaseWs[domain].onmessage = function (mess) {
|
||||
const typeA = JSON.parse(mess.data).event
|
||||
if (typeA == 'delete') {
|
||||
$(`[unique-id=${JSON.parse(mess.data).payload}]`).hide()
|
||||
$(`[unique-id=${JSON.parse(mess.data).payload}]`).remove()
|
||||
} else if (typeA == 'update' || typeA == 'conversation') {
|
||||
//markers show中はダメ
|
||||
const tl = JSON.parse(mess.data).stream
|
||||
const obj = JSON.parse(JSON.parse(mess.data).payload)
|
||||
const tls = getTlMeta(tl[0], tl, acct_id, obj)
|
||||
insertTl(obj, tls)
|
||||
} else if (typeA == 'filters_changed') {
|
||||
filterUpdate(acct_id)
|
||||
} else if (~typeA.indexOf('announcement')) {
|
||||
announ(acct_id, tlid)
|
||||
} else if (typeA == 'notification') {
|
||||
const obj = JSON.parse(JSON.parse(mess.data).payload)
|
||||
let template = ''
|
||||
localStorage.setItem('lastnotf_' + acct_id, obj.id)
|
||||
let popup = localStorage.getItem('popup')
|
||||
if (!popup) {
|
||||
popup = 0
|
||||
}
|
||||
if (obj.type != 'follow' && obj.type != 'follow_request') {
|
||||
template = parse([obj], 'notf', acct_id, 'notf', popup)
|
||||
} else if (obj.type == 'follow_request') {
|
||||
template = userparse([obj.account], 'request', acct_id, 'notf', -1)
|
||||
} else {
|
||||
template = userparse([obj], obj.type, acct_id, 'notf', popup)
|
||||
}
|
||||
if (!$('div[data-notfIndv=' + acct_id + '_' + obj.id + ']').length) {
|
||||
$('div[data-notf=' + acct_id + ']').prepend(template)
|
||||
$('div[data-const=notf_' + acct_id + ']').prepend(template)
|
||||
}
|
||||
jQuery('time.timeago').timeago()
|
||||
} else {
|
||||
console.error('unknown type ' + typeA)
|
||||
}
|
||||
}
|
||||
mastodonBaseWs[domain].onerror = function (error) {
|
||||
notfCommon(acct_id, 0, null, 'only') //fallback
|
||||
console.error("Error closing " + domain)
|
||||
console.error(error)
|
||||
if (mastodonBaseWsStatus[domain] == 'available') {
|
||||
M.toast({
|
||||
html:
|
||||
`${lang.lang_parse_disconnected}<button class="btn-flat toast-action" onclick="location.reload()">${lang.lang_layout_reconnect}</button>`,
|
||||
completeCallback: function () {
|
||||
mastodonBaseWs[domain] = new WebSocket(start)
|
||||
},
|
||||
displayLength: 3000
|
||||
})
|
||||
}
|
||||
mastodonBaseWsStatus[domain] = 'cannotuse'
|
||||
setTimeout(function () {
|
||||
mastodonBaseWsStatus[domain] = 'cannotuse'
|
||||
}, 3000)
|
||||
mastodonBaseWs[domain] = false
|
||||
return false
|
||||
}
|
||||
mastodonBaseWs[domain].onclose = function () {
|
||||
notfCommon(acct_id, 0, null, 'only') //fallback
|
||||
console.warn("Closing " + domain)
|
||||
if (mastodonBaseWsStatus[domain] == 'available') {
|
||||
M.toast({
|
||||
html:
|
||||
`${lang.lang_parse_disconnected}<button class="btn-flat toast-action" onclick="location.reload()">${lang.lang_layout_reconnect}</button>`,
|
||||
completeCallback: function () {
|
||||
mastodonBaseWs[domain] = new WebSocket(start)
|
||||
},
|
||||
displayLength: 3000
|
||||
})
|
||||
}
|
||||
mastodonBaseWs[domain] = false
|
||||
mastodonBaseWsStatus[domain] = 'cannotuse'
|
||||
setTimeout(function () {
|
||||
mastodonBaseWsStatus[domain] = 'cannotuse'
|
||||
}, 3000)
|
||||
return false
|
||||
}
|
||||
}
|
||||
function insertTl(obj, tls) {
|
||||
for (const timeline of tls) {
|
||||
const { id, voice, type, acct_id } = timeline
|
||||
const mute = getFilterTypeByAcct(acct_id, type)
|
||||
if ($(`#unread_${id} .material-icons`).hasClass('teal-text')) continue
|
||||
if (!$(`#timeline_${id} [toot-id=${obj.id}]`).length) {
|
||||
if (voice) {
|
||||
say(obj.content)
|
||||
}
|
||||
const template = parse([obj], type, acct_id, id, '', mute, type)
|
||||
console.log($(`#timeline_box_${id}_box .tl-box`).scrollTop(), `timeline_box_${id}_box .tl-box`)
|
||||
if (
|
||||
$(`#timeline_box_${id}_box .tl-box`).scrollTop() === 0
|
||||
) {
|
||||
$(`#timeline_${id}`).prepend(template)
|
||||
} else {
|
||||
let pool = localStorage.getItem('pool_' + id)
|
||||
if (pool) {
|
||||
pool = template + pool
|
||||
} else {
|
||||
pool = template
|
||||
}
|
||||
localStorage.setItem('pool_' + id, pool)
|
||||
}
|
||||
scrollck()
|
||||
additional(acct_id, id)
|
||||
jQuery('time.timeago').timeago()
|
||||
}
|
||||
}
|
||||
}
|
||||
function getTlMeta(type, data, num, status) {
|
||||
const acct_id = num.toString()
|
||||
const columns = localStorage.getItem('column')
|
||||
const obj = JSON.parse(columns)
|
||||
let ret = []
|
||||
let i = 0
|
||||
switch (type) {
|
||||
case 'user':
|
||||
for (const tl of obj) {
|
||||
if (tl.domain != acct_id) continue
|
||||
if (tl.type == 'mix' || tl.type == 'home') {
|
||||
let voice = false
|
||||
if (localStorage.getItem('voice_' + i)) voice = true
|
||||
ret.push({
|
||||
id: i,
|
||||
voice: voice,
|
||||
type: tl.type,
|
||||
acct_id: tl.domain
|
||||
})
|
||||
}
|
||||
i++
|
||||
}
|
||||
break
|
||||
case 'public:local':
|
||||
for (const tl of obj) {
|
||||
if (tl.domain != acct_id) continue
|
||||
if (tl.type == 'mix' || tl.type == 'local') {
|
||||
let voice = false
|
||||
if (localStorage.getItem('voice_' + i)) voice = true
|
||||
ret.push({
|
||||
id: i,
|
||||
voice: voice,
|
||||
type: tl.type,
|
||||
acct_id: tl.domain
|
||||
})
|
||||
}
|
||||
i++
|
||||
}
|
||||
break
|
||||
case 'public:local:media':
|
||||
for (const tl of obj) {
|
||||
if (tl.domain != acct_id) continue
|
||||
if (tl.type == 'local-media') {
|
||||
let voice = false
|
||||
if (localStorage.getItem('voice_' + i)) voice = true
|
||||
ret.push({
|
||||
id: i,
|
||||
voice: voice,
|
||||
type: tl.type,
|
||||
acct_id: tl.domain
|
||||
})
|
||||
}
|
||||
i++
|
||||
}
|
||||
break;
|
||||
case 'public':
|
||||
for (const tl of obj) {
|
||||
if (tl.domain != acct_id) continue
|
||||
if (tl.type == 'pub') {
|
||||
let voice = false
|
||||
if (localStorage.getItem('voice_' + i)) voice = true
|
||||
ret.push({
|
||||
id: i,
|
||||
voice: voice,
|
||||
type: tl.type,
|
||||
acct_id: tl.domain
|
||||
})
|
||||
}
|
||||
i++
|
||||
}
|
||||
break;
|
||||
case 'public:media':
|
||||
for (const tl of obj) {
|
||||
if (tl.domain != acct_id) continue
|
||||
if (tl.type == 'pub-media') {
|
||||
let voice = false
|
||||
if (localStorage.getItem('voice_' + i)) voice = true
|
||||
ret.push({
|
||||
id: i,
|
||||
voice: voice,
|
||||
type: tl.type,
|
||||
acct_id: tl.domain
|
||||
})
|
||||
}
|
||||
i++
|
||||
}
|
||||
break;
|
||||
case 'list':
|
||||
for (const tl of obj) {
|
||||
if (tl.domain != acct_id) continue
|
||||
if (tl.type == 'list' && tl.data == data[1]) {
|
||||
let voice = false
|
||||
if (localStorage.getItem('voice_' + i)) voice = true
|
||||
ret.push({
|
||||
id: i,
|
||||
voice: voice,
|
||||
type: tl.type,
|
||||
acct_id: tl.domain
|
||||
})
|
||||
}
|
||||
i++
|
||||
}
|
||||
break;
|
||||
case 'direct':
|
||||
for (const tl of obj) {
|
||||
if (tl.domain != acct_id) continue
|
||||
if (tl.type == 'dm') {
|
||||
let voice = false
|
||||
if (localStorage.getItem('voice_' + i)) voice = true
|
||||
ret.push({
|
||||
id: i,
|
||||
voice: voice,
|
||||
type: tl.type,
|
||||
acct_id: tl.domain
|
||||
})
|
||||
}
|
||||
i++
|
||||
}
|
||||
break;
|
||||
case 'hashtag':
|
||||
for (const tl of obj) {
|
||||
if (tl.domain != acct_id) continue
|
||||
const columnDataRaw = tl.data
|
||||
let columnData
|
||||
if (!columnDataRaw.name) {
|
||||
columnData = { name: columnDataRaw }
|
||||
} else {
|
||||
columnData = columnDataRaw
|
||||
}
|
||||
if (tl.type == 'tag') {
|
||||
let voice = false
|
||||
let can = false
|
||||
if (columnData.name == data[1]) can = true
|
||||
//any
|
||||
if (columnData.any.split(',').includes(data[1])) can = true
|
||||
//all
|
||||
const { tags } = status
|
||||
if (columnData.all) can = true
|
||||
for (const { name } of tags) {
|
||||
if (!columnData.all.split(',').includes(name)) {
|
||||
can = false
|
||||
break
|
||||
}
|
||||
}
|
||||
//none
|
||||
if (columnData.none) can = true
|
||||
for (const { name } of tags) {
|
||||
if (columnData.none.split(',').includes(name)) {
|
||||
can = false
|
||||
break
|
||||
}
|
||||
}
|
||||
if (localStorage.getItem('voice_' + i)) voice = true
|
||||
ret.push({
|
||||
id: i,
|
||||
voice: voice,
|
||||
type: tl.type,
|
||||
acct_id: tl.domain
|
||||
})
|
||||
}
|
||||
i++
|
||||
}
|
||||
break;
|
||||
default:
|
||||
console.error(`Cannot catch`);
|
||||
}
|
||||
return ret
|
||||
}
|
@@ -219,9 +219,9 @@ function moreTs(tlid, q) {
|
||||
function graphDraw(tag, acct_id) {
|
||||
var tags = ''
|
||||
var his = tag.history
|
||||
return graphDrawCore(his, tag)
|
||||
return graphDrawCore(his, tag, acct_id)
|
||||
}
|
||||
function graphDrawCore(his, tag) {
|
||||
function graphDrawCore(his, tag, acct_id) {
|
||||
var max = Math.max.apply(null, [
|
||||
his[0].uses,
|
||||
his[1].uses,
|
||||
@@ -307,7 +307,7 @@ function trend() {
|
||||
Object.keys(json).forEach(function(keye) {
|
||||
var tag = json[keye]
|
||||
var his = tag.history
|
||||
tags = graphDrawCore(his, tag)
|
||||
tags = graphDrawCore(his, tag, acct_id)
|
||||
|
||||
$('#src-contents').append(tags)
|
||||
})
|
||||
|
@@ -206,7 +206,7 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
|
||||
additional(acct_id, tlid)
|
||||
jQuery('time.timeago').timeago()
|
||||
todc()
|
||||
reload(type, '', acct_id, tlid, data, mute, delc, voice)
|
||||
reload(type, 'from timeline to reload', acct_id, tlid, data, mute, delc, voice)
|
||||
if (type == 'home' || type == 'notf') {
|
||||
//Markers
|
||||
var markers = localStorage.getItem('markers')
|
||||
@@ -247,7 +247,57 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
|
||||
}
|
||||
}, 100)
|
||||
} else {
|
||||
var domain = localStorage.getItem('domain_' + acct_id)
|
||||
if (mastodonBaseWsStatus[domain] == 'cannotuse') {
|
||||
oldStreaming(type, cc, acct_id, tlid, data, mute, delc, voice, mode)
|
||||
} else if (mastodonBaseWsStatus[domain] == 'undetected' || mastodonBaseWsStatus[domain] == 'connecting') {
|
||||
const mbws = setInterval(function () {
|
||||
if (mastodonBaseWsStatus[domain] == 'cannotuse') {
|
||||
oldStreaming(type, cc, acct_id, tlid, data, mute, delc, voice, mode)
|
||||
clearInterval(mbws)
|
||||
} else if (mastodonBaseWsStatus[domain] == 'available') {
|
||||
$('#notice_icon_' + tlid).removeClass('red-text')
|
||||
stremaingSubscribe(type, acct_id, data)
|
||||
clearInterval(mbws)
|
||||
}
|
||||
}, 1000)
|
||||
} else if (mastodonBaseWsStatus[domain] == 'available') {
|
||||
$('#notice_icon_' + tlid).removeClass('red-text')
|
||||
stremaingSubscribe(type, acct_id, data)
|
||||
}
|
||||
}
|
||||
}
|
||||
function stremaingSubscribe(type, acct_id, data, unsubscribe) {
|
||||
let command = 'subscribe'
|
||||
if (unsubscribe) command = 'unsubscribe'
|
||||
let stream
|
||||
const domain = localStorage.getItem('domain_' + acct_id)
|
||||
if(type == 'home') return false
|
||||
if (type === 'local' || type === 'mix') { stream = 'public:local' }
|
||||
else if (type === 'local-media') { stream = 'public:local:media' }
|
||||
else if (type === 'pub') { stream = 'public' }
|
||||
else if (type === 'pub-media') { stream = 'public:media' }
|
||||
else if (type === 'list') {
|
||||
mastodonBaseWs[domain].send(`{"type":"${command}","stream":"list","list":"${data}"}`)
|
||||
return true
|
||||
} else if (type === 'tag') {
|
||||
let arr = []
|
||||
let name = data
|
||||
if (data.name) name = data.name
|
||||
arr.push(name)
|
||||
if (data.any) arr = arr.concat(data.any.split(','))
|
||||
if (data.all) arr = arr.concat(data.all.split(','))
|
||||
for (const tag of arr) {
|
||||
mastodonBaseWs[domain].send(`{"type":"${command}","stream":"hashtag","tag":"${tag}"}`)
|
||||
}
|
||||
return true
|
||||
}
|
||||
mastodonBaseWs[domain].send(`{"type":"${command}","stream":"${stream}"`)
|
||||
}
|
||||
function oldStreaming(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
|
||||
var misskey = false
|
||||
const domain = localStorage.getItem(`domain_${acct_id}`)
|
||||
var at = localStorage.getItem('acct_' + acct_id + '_at')
|
||||
if (localStorage.getItem('streaming_' + acct_id)) {
|
||||
var wss = localStorage.getItem('streaming_' + acct_id)
|
||||
} else {
|
||||
@@ -257,15 +307,15 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
|
||||
var start = wss + '/api/v1/streaming/?stream=user&access_token=' + at
|
||||
} else if (type == 'pub') {
|
||||
var add = ''
|
||||
if(remoteOnlyCk(tlid)){
|
||||
if (remoteOnlyCk(tlid)) {
|
||||
add = '&remote=true'
|
||||
}
|
||||
var start = wss + '/api/v1/streaming/?stream=public&access_token=' + at + add
|
||||
} else if (type == 'pub-media') {
|
||||
var add = ''
|
||||
if(remoteOnlyCk(tlid)){
|
||||
if (remoteOnlyCk(tlid)) {
|
||||
add = '&remote=true'
|
||||
}var start =
|
||||
} var start =
|
||||
wss + '/api/v1/streaming/?stream=public:media&access_token=' + at + add
|
||||
} else if (type == 'local') {
|
||||
var start =
|
||||
@@ -276,18 +326,19 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
|
||||
'/api/v1/streaming/?stream=public:local:media&only_media=true&access_token=' +
|
||||
at
|
||||
} else if (type == 'tag') {
|
||||
if (type == 'tag') {
|
||||
var tag = localStorage.getItem('tag-range')
|
||||
if (tag == 'local') {
|
||||
data = data + '&local=true'
|
||||
}
|
||||
if (data.name) {
|
||||
data = data.name
|
||||
}
|
||||
var start =
|
||||
wss +
|
||||
'/api/v1/streaming/?stream=hashtag&tag=' +
|
||||
data +
|
||||
'&access_token=' +
|
||||
at
|
||||
at + add
|
||||
} else if (type == 'noauth') {
|
||||
var start = 'wss://' + acct_id + '/api/v1/streaming/?stream=public:local'
|
||||
} else if (type == 'list') {
|
||||
@@ -432,9 +483,7 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
|
||||
}
|
||||
return false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//一定のスクロールで発火
|
||||
function moreload(type, tlid) {
|
||||
var multi = localStorage.getItem('column')
|
||||
@@ -851,7 +900,7 @@ function cap(type, data, acct_id) {
|
||||
} else if (type == 'bookmark') {
|
||||
var response = 'Bookmarks'
|
||||
} else if (type == 'utl') {
|
||||
var response = 'User TL(' + data.acct + ')'
|
||||
var response = 'User TL(' + escapeHTML(data.acct) + ')'
|
||||
}
|
||||
return response
|
||||
}
|
||||
@@ -866,13 +915,13 @@ function com(type, data, tlid) {
|
||||
return 'public?local=true&only_media=true&'
|
||||
} else if (type == 'pub') {
|
||||
var add = ''
|
||||
if(remoteOnlyCk(tlid)){
|
||||
if (remoteOnlyCk(tlid)) {
|
||||
add = 'remote=true&'
|
||||
}
|
||||
return 'public?' + add
|
||||
} else if (type == 'pub-media') {
|
||||
var add = ''
|
||||
if(remoteOnlyCk(tlid)){
|
||||
if (remoteOnlyCk(tlid)) {
|
||||
add = 'remote=true&'
|
||||
}
|
||||
return 'public?only_media=true&' + add
|
||||
@@ -998,7 +1047,7 @@ function reconnector(tlid, type, acct_id, data, mode) {
|
||||
var voice = false
|
||||
}
|
||||
var mute = getFilterTypeByAcct(acct_id, type)
|
||||
reload(type, '', acct_id, tlid, data, mute, '', voice, mode)
|
||||
var domain = localStorage.getItem('domain_' + acct_id)
|
||||
}
|
||||
M.toast({ html: lang.lang_tl_reconnect, displayLength: 2000 })
|
||||
}
|
||||
@@ -1008,6 +1057,12 @@ function columnReload(tlid, type) {
|
||||
var multi = localStorage.getItem('column')
|
||||
var obj = JSON.parse(multi)
|
||||
var acct_id = obj[tlid].domain
|
||||
var domain = localStorage.getItem('domain_' + acct_id)
|
||||
if (mastodonBaseWsStatus[domain] == 'available') {
|
||||
stremaingSubscribe(type, acct_id, obj[tlid].data, true)
|
||||
parseColumn(tlid, true)
|
||||
return true
|
||||
}
|
||||
if (type == 'mix' || type == 'integrated' || type == 'plus') {
|
||||
if (localStorage.getItem('voice_' + tlid)) {
|
||||
var voice = true
|
||||
@@ -1027,15 +1082,10 @@ function columnReload(tlid, type) {
|
||||
$('#notice_icon_' + tlid).removeClass('red-text')
|
||||
getBookmark(acct_id, tlid, false)
|
||||
} else {
|
||||
|
||||
var wss = localStorage.getItem('wss_' + tlid)
|
||||
websocket[wss].close()
|
||||
if (localStorage.getItem('voice_' + tlid)) {
|
||||
var voice = true
|
||||
} else {
|
||||
var voice = false
|
||||
}
|
||||
var mute = getFilterTypeByAcct(acct_id, type)
|
||||
parseColumn(tlid)
|
||||
parseColumn(tlid, false)
|
||||
}
|
||||
}
|
||||
//Markers
|
||||
@@ -1285,8 +1335,8 @@ function asReadEnd() {
|
||||
onBeforeOpen: () => {
|
||||
Swal.showLoading()
|
||||
},
|
||||
onClose: () => {},
|
||||
}).then((result) => {})
|
||||
onClose: () => { },
|
||||
}).then((result) => { })
|
||||
} else {
|
||||
postMessage(['asReadComp', ''], '*')
|
||||
}
|
||||
@@ -1418,7 +1468,7 @@ function announ(acct_id, tlid) {
|
||||
$('.notf-announ_' + acct_id).addClass('hide')
|
||||
}
|
||||
var templete = announParse(json, acct_id, tlid)
|
||||
$('#announce_' + tlid).html(templete)
|
||||
$('.announce_' + acct_id).html(templete)
|
||||
jQuery('time.timeago').timeago()
|
||||
todc()
|
||||
}
|
||||
@@ -1426,7 +1476,7 @@ function announ(acct_id, tlid) {
|
||||
}
|
||||
//buildQuery
|
||||
function buildQuery(name, data) {
|
||||
if(!data || data == '') return ''
|
||||
if (!data || data == '') return ''
|
||||
var arr = data.split(',')
|
||||
var str = ''
|
||||
for (var i = 0; i < arr.length; i++) {
|
||||
|
@@ -120,7 +120,7 @@ function imageXhr(id, key, murl) {
|
||||
element.onload = function() {
|
||||
var width = element.naturalWidth
|
||||
if(width < 650) {
|
||||
width = 650;
|
||||
width = 650
|
||||
}
|
||||
var height = element.naturalHeight
|
||||
var windowH = $(window).height()
|
||||
@@ -182,7 +182,7 @@ function zoom(z) {
|
||||
$('#imagewrap img').css('height', hgt + 'px')
|
||||
}
|
||||
//スマホ対応ドラッグ移動システム
|
||||
;(function() {
|
||||
(function() {
|
||||
$.fn.dragScroll = function() {
|
||||
var target = this
|
||||
$(this)
|
||||
|
@@ -42,18 +42,16 @@ function parseColumn(target, dontclose) {
|
||||
var multi = localStorage.getItem('multi')
|
||||
if (multi) {
|
||||
var obj = JSON.parse(multi)
|
||||
|
||||
var templete
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var acct = obj[key]
|
||||
|
||||
localStorage.setItem('name_' + key, acct.name)
|
||||
localStorage.setItem('user_' + key, acct.user)
|
||||
localStorage.setItem('user-id_' + key, acct.id)
|
||||
localStorage.setItem('prof_' + key, acct.prof)
|
||||
localStorage.setItem('domain_' + key, acct.domain)
|
||||
localStorage.setItem('acct_' + key + '_at', acct.at)
|
||||
notf(key, 0)
|
||||
if(!target) mastodonBaseStreaming(key)
|
||||
ckdb(key)
|
||||
//フィルターデータ読もう
|
||||
getFilter(key)
|
||||
@@ -76,8 +74,12 @@ function parseColumn(target, dontclose) {
|
||||
var obj = [
|
||||
{
|
||||
domain: 0,
|
||||
type: 'local',
|
||||
type: 'home',
|
||||
},
|
||||
{
|
||||
domain: 0,
|
||||
type: 'local',
|
||||
}
|
||||
]
|
||||
var json = JSON.stringify(obj)
|
||||
localStorage.setItem('column', json)
|
||||
@@ -147,7 +149,6 @@ function parseColumn(target, dontclose) {
|
||||
icnsert = ' style="color: #' + ichex + '" '
|
||||
}
|
||||
}
|
||||
console.log(acct)
|
||||
if (acctlist[acct.domain]) {
|
||||
if (acctlist[acct.domain].background != 'def') {
|
||||
insert = insert + ' border-bottom:medium solid #' + acctlist[acct.domain].background + ';'
|
||||
@@ -158,15 +159,21 @@ function parseColumn(target, dontclose) {
|
||||
} else {
|
||||
localStorage.removeItem('hasNotfC_' + acct.domain)
|
||||
}
|
||||
var css = ''
|
||||
var width = localStorage.getItem('width')
|
||||
if (width) {
|
||||
var css = ' min-width:' + width + 'px;'
|
||||
css = ' min-width:' + width + 'px;'
|
||||
}
|
||||
var maxWidth = localStorage.getItem('max-width')
|
||||
if (maxWidth) {
|
||||
css = css +'max-width:' + maxWidth + 'px;'
|
||||
}
|
||||
var margin = localStorage.getItem('margin')
|
||||
if (margin) {
|
||||
css = css +'margin-right:' + margin + 'px;'
|
||||
}
|
||||
if (acct.width) {
|
||||
var css = ' min-width:' + acct.width + 'px;max-width:' + acct.width + 'px;'
|
||||
}
|
||||
if (!css) {
|
||||
var css = ''
|
||||
css = css + ' min-width:' + acct.width + 'px !important;max-width:' + acct.width + 'px !important;'
|
||||
}
|
||||
if (acct.type == 'webview') {
|
||||
if (localStorage.getItem('fixwidth')) {
|
||||
@@ -221,65 +228,63 @@ function parseColumn(target, dontclose) {
|
||||
var animecss = ''
|
||||
}
|
||||
var unread = `<a id="unread_${key}" onclick="showUnread('${key}','${acct.type}','${acct.domain}')"
|
||||
class="setting nex" title="${lang.lang_layout_unread}">
|
||||
<i class="material-icons waves-effect nex">more</i>
|
||||
</a>${lang.lang_layout_unread}<br>`
|
||||
class="setting nex waves-effect" title="${lang.lang_layout_unread}">
|
||||
<i class="material-icons waves-effect nex">more</i><br />${lang.lang_layout_unread}
|
||||
</a>`
|
||||
var notfDomain = acct.domain
|
||||
var notfKey = key
|
||||
var if_tag = ''
|
||||
var if_tag_btn = ''
|
||||
if (acct.type == 'notf') {
|
||||
var exclude =
|
||||
lang.lang_excluded +
|
||||
`:<br>
|
||||
`<div style="border: 1px solid; padding: 5px; margin-top: 5px; margin-bottom: 5px;">${lang.lang_layout_excluded}:<br>
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="exc-reply-${key}" ${excludeCk(key, 'mention')} />
|
||||
<span>
|
||||
<i class="fas fa-share exc-icons"></i>
|
||||
${lang.lang_layout_mention}
|
||||
</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="exc-fav-${key}" ${excludeCk(key, 'favourite')} />
|
||||
<span>
|
||||
<i class="fas fa-star exc-icons"></i>
|
||||
${lang.lang_layout_fav}
|
||||
</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="exc-bt-${key}" ${excludeCk(key, 'reblog')} />
|
||||
<span>
|
||||
<i class="fas fa-retweet exc-icons"></i>
|
||||
${lang.lang_layout_bt}
|
||||
</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="exc-follow-${key}" ${excludeCk(key, 'follow')} />
|
||||
<span>
|
||||
<i class="fas fa-users exc-icons"></i>
|
||||
${lang.lang_status_follow}
|
||||
</span>
|
||||
</label>
|
||||
<label>
|
||||
<input type="checkbox" class="filled-in" id="exc-poll-${key}" ${excludeCk(key, 'poll')} />
|
||||
<span>
|
||||
<i class="fas fa-tasks exc-icons"></i>
|
||||
${lang.lang_layout_poll}
|
||||
</span>
|
||||
</label>
|
||||
<button class="btn waves-effect" style="width:60px; padding:0;" onclick="exclude('${key}')">Filter</button>`
|
||||
</label> <br />
|
||||
<button class="btn btn-flat waves-effect notf-exclude-btn waves-light" style="width:calc(50% - 11px); padding:0;" onclick="exclude('${key}')">Filter</button>`
|
||||
if (checkNotfFilter(key)) {
|
||||
exclude =
|
||||
exclude +
|
||||
`<button class="btn red waves-effect" style="width:60px; padding:0;" onclick="resetNotfFilter('${key}')">
|
||||
`<button class="btn btn-flat red-text waves-effect notf-exclude-btn waves-light" style="width:calc(50% - 11px); padding:0;" onclick="resetNotfFilter('${key}')">
|
||||
Clear all
|
||||
</button>`
|
||||
}
|
||||
exclude = exclude + '<br>'
|
||||
exclude = exclude + '</div>'
|
||||
notfDomain = 'dummy'
|
||||
notfKey = 'dummy'
|
||||
} else if (acct.type == 'home') {
|
||||
var exclude = `<a onclick="ebtToggle('${key}')" class="setting nex">
|
||||
<i class="fas fa-retweet waves-effect nex" title="${lang.lang_layout_excludingbt}" style="font-size:24px"></i>
|
||||
<span id="sta-bt-${key}">Off</span>
|
||||
</a>
|
||||
var exclude = `<a onclick="ebtToggle('${key}')" class="setting nex waves-effect">
|
||||
<i class="fas fa-retweet nex" title="${lang.lang_layout_excludingbt}" style="font-size: 24px"></i>
|
||||
<span id="sta-bt-${key}">Off</span><br />
|
||||
${lang.lang_layout_excludingbt}
|
||||
<br>`
|
||||
</a>`
|
||||
} else if (acct.type == 'tag') {
|
||||
if (acct.data.name) {
|
||||
var name = acct.data.name
|
||||
@@ -328,15 +333,13 @@ function parseColumn(target, dontclose) {
|
||||
var basehtml = `<div style="${css}" class="box ${animecss}" id="timeline_box_${basekey}_parentBox"></div>`
|
||||
$('#timeline-container').append(basehtml)
|
||||
}
|
||||
var left_hold = `<a onclick="leftFoldSet('${key}')" class="setting nex">
|
||||
<i class="material-icons waves-effect nex" title="${lang.lang_layout_leftFold}">view_agenda</i>
|
||||
</a>
|
||||
${lang.lang_layout_leftFold}<br>`
|
||||
var left_hold = `<a onclick="leftFoldSet('${key}')" class="setting nex waves-effect">
|
||||
<i class="material-icons waves-effect nex" title="${lang.lang_layout_leftFold}">view_agenda</i><br />
|
||||
${lang.lang_layout_leftFold}</a>`
|
||||
} else {
|
||||
var left_hold = `<a onclick="leftFoldRemove('${key}')" class="setting nex">
|
||||
<i class="material-icons waves-effect nex" title="${lang.lang_layout_leftUnfold}">view_column</i>
|
||||
</a>
|
||||
${lang.lang_layout_leftUnfold}<br>`
|
||||
var left_hold = `<a onclick="leftFoldRemove('${key}')" class="setting nex waves-effect">
|
||||
<i class="material-icons waves-effect nex" title="${lang.lang_layout_leftUnfold}">view_column</i><br />
|
||||
${lang.lang_layout_leftUnfold}</a>`
|
||||
}
|
||||
if (key === 0) {
|
||||
left_hold = ''
|
||||
@@ -355,22 +358,21 @@ function parseColumn(target, dontclose) {
|
||||
var addHeight = ''
|
||||
}
|
||||
if (acct.type != 'pub' && acct.type != 'pub-media') {
|
||||
console.log(acct.type, key)
|
||||
var mediaFil = `<a onclick="mediaToggle('${key}')" class="setting nex">
|
||||
<i class="material-icons waves-effect nex" title="${lang.lang_layout_mediafil}">perm_media</i>
|
||||
<span id="sta-media-${key}">On</span>
|
||||
</a>${lang.lang_layout_mediafil}`
|
||||
var mediaFil = `<a onclick="mediaToggle('${key}')" class="setting nex waves-effect">
|
||||
<i class="material-icons nex" title="${lang.lang_layout_mediafil}">perm_media</i>
|
||||
<span id="sta-media-${key}">On</span><br />
|
||||
${lang.lang_layout_mediafil}</a>`
|
||||
} else {
|
||||
var mediaFil = `<a onclick="remoteOnly('${key}','${acct.type}')" class="setting nex">
|
||||
<i class="material-icons waves-effect nex" title="${lang.lang_layout_remoteOnly}">perm_media</i>
|
||||
var mediaFil = `<a onclick="remoteOnly('${key}','${acct.type}')" class="setting nex waves-effect">
|
||||
<i class="material-icons nex" title="${lang.lang_layout_remoteOnly}">perm_media</i><br />
|
||||
<span id="sta-remote-${key}">Off</span>
|
||||
</a>${lang.lang_layout_remoteOnly}`
|
||||
${lang.lang_layout_remoteOnly}</a>`
|
||||
}
|
||||
var html = `
|
||||
<div class="boxIn" id="timeline_box_${key}_box" tlid="${key}" 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}
|
||||
<i class="material-icons waves-effect ${isMisRed} notice_icon_acct_${acct.domain}" 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}" aria-hidden="true">
|
||||
@@ -413,33 +415,30 @@ function parseColumn(target, dontclose) {
|
||||
</div>
|
||||
</div>
|
||||
<div class="column-hide notf-indv-box z-depth-4" id="notf-box_${notfKey}">
|
||||
<div id="announce_${notfKey}" style="border: 1px solid"></div>
|
||||
<div class="announce_${acct.domain}" style="border: 1px solid"></div>
|
||||
<div id="notifications_${notfKey}" data-notf="${notfDomain}" data-type="notf" class="notf-timeline">
|
||||
</div>
|
||||
</div>
|
||||
<div class="column-hide notf-indv-box" id="util-box_${key}" style="padding:5px;">
|
||||
${exclude}
|
||||
${unread}
|
||||
${exclude}${left_hold}
|
||||
${mediaFil}<br>
|
||||
<a onclick="cardToggle('${key}')" class="setting nex">
|
||||
<i class="material-icons waves-effect nex" title="${lang.lang_layout_linkanades}">link</i>
|
||||
<span id="sta-card-${key}">On</span>
|
||||
</a>
|
||||
${left_hold}
|
||||
${mediaFil}
|
||||
<a onclick="cardToggle('${key}')" class="setting nex waves-effect">
|
||||
<i class="material-icons nex" title="${lang.lang_layout_linkanades}">link</i>
|
||||
<span id="sta-card-${key}">On</span><br />
|
||||
${lang.lang_layout_linkana}
|
||||
<br>
|
||||
<a onclick="voiceToggle('${key}')" class="setting nex">
|
||||
<i class="material-icons waves-effect nex" title="${lang.lang_layout_tts}">hearing</i>
|
||||
<span id="sta-voice-${key}">On</span>
|
||||
</a>
|
||||
<a onclick="voiceToggle('${key}')" class="setting nex waves-effect">
|
||||
<i class="material-icons nex" title="${lang.lang_layout_tts}">hearing</i>
|
||||
<span id="sta-voice-${key}">On</span><br />
|
||||
${lang.lang_layout_tts}
|
||||
TL<br>
|
||||
<a onclick="columnReload('${key}','${acct.type}')" class="setting nex ${if_misskey_hide}">
|
||||
<i class="material-icons waves-effect nex" title="${lang.lang_layout_reconnect}">refresh</i>
|
||||
</a>
|
||||
<span>
|
||||
TL</a>
|
||||
<a onclick="columnReload('${key}','${acct.type}')" class="setting nex ${if_misskey_hide} waves-effect">
|
||||
<i class="material-icons nex" title="${lang.lang_layout_reconnect}">refresh</i>
|
||||
<br />
|
||||
${lang.lang_layout_reconnect}
|
||||
</span>
|
||||
<br>
|
||||
</a><br />
|
||||
${lang.lang_layout_headercolor}
|
||||
<br>
|
||||
<div id="picker_${key}" class="color-picker"></div>
|
||||
@@ -646,12 +645,16 @@ function removeColumn(tlid) {
|
||||
if (result.value) {
|
||||
var multi = localStorage.getItem('column')
|
||||
var obj = JSON.parse(multi)
|
||||
var data = obj[tlid]
|
||||
obj.splice(tlid, 1)
|
||||
var json = JSON.stringify(obj)
|
||||
localStorage.setItem('column', json)
|
||||
sortLoad()
|
||||
$('#timeline_box_' + tlid + '_box').remove()
|
||||
if (!data.left_fold) {
|
||||
$('#timeline_box_' + tlid + '_parentBox').remove()
|
||||
}
|
||||
}
|
||||
$('#sort-box').removeClass('hide')
|
||||
$('#sort-box').addClass('show')
|
||||
})
|
||||
@@ -782,7 +785,8 @@ function webviewParse(url, key, insert, icnsert, css) {
|
||||
<i class="fab fa-twitter waves-effect" id="notice_icon_${key}" style="font-size:40px; padding-top:25%;"></i>
|
||||
</div>
|
||||
<div class="area-notice_name tl-title">WebView('${url}')</div>
|
||||
<div class="area-sta"></div>
|
||||
<div class="area-sta">
|
||||
</div>
|
||||
<div class="area-a2">
|
||||
<a onclick="removeColumn('${key}')" class="setting nex">
|
||||
<i class="material-icons waves-effect nex" title="${lang.lang_layout_delthis}" ${icnsert}>cancel</i>
|
||||
@@ -825,7 +829,7 @@ function unstreamingTL(type, key, basekey, insert, icnsert, left_fold, css, anim
|
||||
${lang.lang_layout_leftUnfold}
|
||||
</span><br>`
|
||||
}
|
||||
if(type == 'utl') {
|
||||
if (type == 'utl') {
|
||||
var dataHtml = false
|
||||
} else {
|
||||
var dataHtml = data
|
||||
@@ -895,7 +899,7 @@ function bookmark(key, data) {
|
||||
tl('bookmark', '', data, key, 'false', voice, '')
|
||||
}
|
||||
function utl(key, acct_id, data) {
|
||||
if(!data) {
|
||||
if (!data) {
|
||||
var multi = localStorage.getItem('column')
|
||||
var obj = JSON.parse(multi)
|
||||
data = obj[key].data
|
||||
|
@@ -1,24 +1,24 @@
|
||||
function menu() {
|
||||
localStorage.setItem("menu-done", true);
|
||||
localStorage.setItem("menu-done", true)
|
||||
$("#fukidashi").addClass("hide")
|
||||
if (!$("#menu").hasClass("appear")) {
|
||||
$("#menu").addClass("appear")
|
||||
var left = localStorage.getItem("menu-left");
|
||||
var left = localStorage.getItem("menu-left")
|
||||
if (left > $('body').width() - $('#menu').width()) {
|
||||
left = $('body').width() - $('#menu').width();
|
||||
left = $('body').width() - $('#menu').width()
|
||||
} else if (left < 0) {
|
||||
left = 0;
|
||||
left = 0
|
||||
}
|
||||
var top = localStorage.getItem("menu-top");
|
||||
var top = localStorage.getItem("menu-top")
|
||||
if (top > $('body').height() - $('#menu').height()) {
|
||||
top = $('body').height() - $('#menu').height();
|
||||
top = $('body').height() - $('#menu').height()
|
||||
} else if (top < 0) {
|
||||
top = 0;
|
||||
top = 0
|
||||
}
|
||||
$('#menu').css("left", left + "px")
|
||||
$('#menu').css("top", top + "px")
|
||||
var height = localStorage.getItem("menu-height");
|
||||
var width = localStorage.getItem("menu-width");
|
||||
var height = localStorage.getItem("menu-height")
|
||||
var width = localStorage.getItem("menu-width")
|
||||
if(height){
|
||||
$('#menu').css("height", height + "px")
|
||||
}else{
|
||||
@@ -27,13 +27,13 @@ function menu() {
|
||||
if(width){
|
||||
$('#menu').css("width", width + "px")
|
||||
}
|
||||
$('#menu').fadeIn();
|
||||
$("#menu-bar").html("TheDesk " + localStorage.getItem("ver"));
|
||||
$(".menu-content").addClass("hide");
|
||||
$("#add-box").removeClass("hide");
|
||||
$("#left-menu div").removeClass("active");
|
||||
$("#addColumnMenu").addClass("active");
|
||||
$("#addColumnMenu").click();
|
||||
$('#menu').fadeIn()
|
||||
$("#menu-bar").html("TheDesk " + localStorage.getItem("ver"))
|
||||
$(".menu-content").addClass("hide")
|
||||
$("#add-box").removeClass("hide")
|
||||
$("#left-menu div").removeClass("active")
|
||||
$("#addColumnMenu").addClass("active")
|
||||
$("#addColumnMenu").click()
|
||||
} else {
|
||||
$('#menu').fadeOut()
|
||||
$("#menu").removeClass("appear")
|
||||
@@ -44,35 +44,35 @@ $(function () {
|
||||
$("#menu").draggable({
|
||||
handle: "#menu-bar",
|
||||
stop: function () {
|
||||
var left = $('#menu').offset().left;
|
||||
var left = $('#menu').offset().left
|
||||
if (left > $('body').width() - $('#menu').width()) {
|
||||
left = $('body').width() - $('#menu').width();
|
||||
left = $('body').width() - $('#menu').width()
|
||||
} else if (left < 0) {
|
||||
left = 0;
|
||||
left = 0
|
||||
}
|
||||
var top = $('#menu').offset().top;
|
||||
var top = $('#menu').offset().top
|
||||
if (top > $('body').height() - $('#menu').height()) {
|
||||
top = $('body').height() - $('#menu').height();
|
||||
top = $('body').height() - $('#menu').height()
|
||||
} else if (top < 0) {
|
||||
top = 0;
|
||||
top = 0
|
||||
}
|
||||
localStorage.setItem("menu-left", left);
|
||||
localStorage.setItem("menu-top", top);
|
||||
localStorage.setItem("menu-left", left)
|
||||
localStorage.setItem("menu-top", top)
|
||||
}
|
||||
});
|
||||
})
|
||||
$("#menu").resizable({
|
||||
minHeight: 150,
|
||||
minWidth: 200,
|
||||
stop: function (event, ui) {
|
||||
localStorage.setItem("menu-height", ui.size.height);
|
||||
localStorage.setItem("menu-width", ui.size.width);
|
||||
localStorage.setItem("menu-height", ui.size.height)
|
||||
localStorage.setItem("menu-width", ui.size.width)
|
||||
}
|
||||
});
|
||||
});
|
||||
})
|
||||
})
|
||||
function help() {
|
||||
$("#left-menu a").removeClass("active");
|
||||
$("#helpMenu").addClass("active");
|
||||
$(".menu-content").addClass("hide");
|
||||
$("#help-box").removeClass("hide");
|
||||
$("#left-menu a").removeClass("active")
|
||||
$("#helpMenu").addClass("active")
|
||||
$(".menu-content").addClass("hide")
|
||||
$("#help-box").removeClass("hide")
|
||||
postMessage(["sendSinmpleIpc", "getLogs"], "*")
|
||||
}
|
@@ -1,32 +1,32 @@
|
||||
function pip(id) {
|
||||
$("#pip-content").html($("[toot-id=" + id + "] .additional").html());
|
||||
$("#pip").removeClass("hide");
|
||||
$("#pip-content").html($("[toot-id=" + id + "] .additional").html())
|
||||
$("#pip").removeClass("hide")
|
||||
}
|
||||
function endPip() {
|
||||
$("#pip-content").html("");
|
||||
$("#pip").addClass("hide");
|
||||
$("#pip-content").html("")
|
||||
$("#pip").addClass("hide")
|
||||
}
|
||||
|
||||
function pipHoriz() {
|
||||
if ($("#pip").hasClass("pip-left")) {
|
||||
$("#pip").removeClass("pip-left");
|
||||
$(".pip-horiz").text("chevron_left");
|
||||
$("#pip").addClass("pip-right");
|
||||
$("#pip").removeClass("pip-left")
|
||||
$(".pip-horiz").text("chevron_left")
|
||||
$("#pip").addClass("pip-right")
|
||||
} else {
|
||||
$("#pip").addClass("pip-left");
|
||||
$("#pip").removeClass("pip-right");
|
||||
$(".pip-horiz").text("chevron_right");
|
||||
$("#pip").addClass("pip-left")
|
||||
$("#pip").removeClass("pip-right")
|
||||
$(".pip-horiz").text("chevron_right")
|
||||
}
|
||||
}
|
||||
|
||||
function pipVert() {
|
||||
if ($("#pip").hasClass("pip-top")) {
|
||||
$("#pip").removeClass("pip-top");
|
||||
$("#pip").addClass("pip-bottom");
|
||||
$(".pip-vert").text("expand_less");
|
||||
$("#pip").removeClass("pip-top")
|
||||
$("#pip").addClass("pip-bottom")
|
||||
$(".pip-vert").text("expand_less")
|
||||
} else {
|
||||
$("#pip").addClass("pip-top");
|
||||
$("#pip").removeClass("pip-bottom");
|
||||
$(".pip-vert").text("expand_more");
|
||||
$("#pip").addClass("pip-top")
|
||||
$("#pip").removeClass("pip-bottom")
|
||||
$(".pip-vert").text("expand_more")
|
||||
}
|
||||
}
|
@@ -126,11 +126,6 @@ function initPostbox() {
|
||||
localStorage.removeItem('nohide')
|
||||
srcBox('close')
|
||||
})
|
||||
$('#contextWrap').click(function (e) {
|
||||
$('#contextWrap').addClass('hide')
|
||||
$('.contextMenu').addClass('hide')
|
||||
$('.act-icon').text('expand_more')
|
||||
})
|
||||
$('#textarea,#cw-text').focusout(function (e) {
|
||||
localStorage.setItem('nohide', true)
|
||||
var countup = function () {
|
||||
|
@@ -1,38 +1,38 @@
|
||||
var r = document.getElementById("radio");
|
||||
var r = document.getElementById("radio")
|
||||
function Rtoggle() {
|
||||
if ($("#radio").hasClass("play")) {
|
||||
Rstop();
|
||||
Rstop()
|
||||
} else {
|
||||
$("#radio-view").toggleClass("hide");
|
||||
$("#radio-view").toggleClass("show");
|
||||
$("#radio-input").addClass("hide");
|
||||
$("#radio-view").toggleClass("hide")
|
||||
$("#radio-view").toggleClass("show")
|
||||
$("#radio-input").addClass("hide")
|
||||
}
|
||||
}
|
||||
function Rplay(url, name) {
|
||||
$("#radio").attr('src', url);
|
||||
r.load();
|
||||
r.play();
|
||||
$("#radio").addClass("play");
|
||||
$("#radio-btn").addClass("teal-text");
|
||||
$("#radio-sta").html("<br>Now Playing:" + name);
|
||||
$("#radio").attr('src', url)
|
||||
r.load()
|
||||
r.play()
|
||||
$("#radio").addClass("play")
|
||||
$("#radio-btn").addClass("teal-text")
|
||||
$("#radio-sta").html("<br>Now Playing:" + name)
|
||||
}
|
||||
function Rstop() {
|
||||
$("#radio").attr("src", "");
|
||||
r.pause();
|
||||
$("#radio").removeClass("play");
|
||||
$("#radio-btn").removeClass("teal-text");
|
||||
$("#radio-sta").html("");
|
||||
$("#radio").attr("src", "")
|
||||
r.pause()
|
||||
$("#radio").removeClass("play")
|
||||
$("#radio-btn").removeClass("teal-text")
|
||||
$("#radio-sta").html("")
|
||||
}
|
||||
function Ryourself() {
|
||||
$("#radio-input").removeClass("hide");
|
||||
$("#radio-view").addClass("hide");
|
||||
$("#radio-input").removeClass("hide")
|
||||
$("#radio-view").addClass("hide")
|
||||
}
|
||||
function Rselect() {
|
||||
$("#radio-input").addClass("hide");
|
||||
$("#radio-view").removeClass("hide");
|
||||
$("#radio-input").addClass("hide")
|
||||
$("#radio-view").removeClass("hide")
|
||||
}
|
||||
function Rinput() {
|
||||
var url = $("#radio-url").val();
|
||||
var url = $("#radio-url").val()
|
||||
Rplay(url, url)
|
||||
}
|
||||
/*
|
||||
|
@@ -80,33 +80,17 @@ var postView = new Vue({
|
||||
})
|
||||
//設定ボタン押した。
|
||||
function settings() {
|
||||
var cd = $('[name=theme]:checked').val()
|
||||
var ct = $('[data-ct=' + cd + ']').html()
|
||||
if (cd == 'custom' && !$('#custom-sel-sel').val()) {
|
||||
var theme = localStorage.getItem('theme')
|
||||
if (!theme) {
|
||||
var theme = 'white'
|
||||
}
|
||||
$('#' + theme).prop('checked', true)
|
||||
} else {
|
||||
if (cd != localStorage.getItem('theme')) {
|
||||
M.toast({ html: lang.lang_setting_theme.replace('{{set}}', ct), displayLength: 3000 })
|
||||
}
|
||||
//テーマはこの場で設定
|
||||
themes(cd)
|
||||
localStorage.setItem('theme', cd)
|
||||
}
|
||||
var fontd = $('#font').val()
|
||||
if (fontd) {
|
||||
if (fontd != localStorage.getItem('font')) {
|
||||
M.toast({ html: lang.lang_setting_font.replace('{{set}}', ct), displayLength: 3000 })
|
||||
M.toast({ html: lang.lang_setting_font.replace('{{set}}', fontd), displayLength: 3000 })
|
||||
}
|
||||
localStorage.setItem('font', fontd)
|
||||
themes()
|
||||
} else {
|
||||
if (localStorage.getItem('font')) {
|
||||
localStorage.removeItem('font')
|
||||
M.toast({ html: lang.lang_setting_font.replace('{{set}}', ct), displayLength: 3000 })
|
||||
M.toast({ html: lang.lang_setting_font.replace('{{set}}', '"default"'), displayLength: 3000 })
|
||||
themes()
|
||||
}
|
||||
}
|
||||
@@ -167,10 +151,10 @@ function load() {
|
||||
var font = ''
|
||||
}
|
||||
$('#font').val(font)
|
||||
$('#c1-file').text(localStorage.getItem('custom1'))
|
||||
$('#c2-file').text(localStorage.getItem('custom2'))
|
||||
$('#c3-file').text(localStorage.getItem('custom3'))
|
||||
$('#c4-file').text(localStorage.getItem('custom4'))
|
||||
$('#c1-file').text(localStorage.getItem('custom1') != 'null' ? localStorage.getItem('custom1') : '')
|
||||
$('#c2-file').text(localStorage.getItem('custom2') != 'null' ? localStorage.getItem('custom2') : '')
|
||||
$('#c3-file').text(localStorage.getItem('custom3') != 'null' ? localStorage.getItem('custom3') : '')
|
||||
$('#c4-file').text(localStorage.getItem('custom4') != 'null' ? localStorage.getItem('custom4') : '')
|
||||
var cvol = localStorage.getItem('customVol')
|
||||
if (cvol) {
|
||||
$('#soundvol').val(cvol * 100)
|
||||
@@ -508,35 +492,39 @@ function fontList(arg) {
|
||||
function insertFont(name) {
|
||||
$('#font').val(name)
|
||||
}
|
||||
$('.color-picker').each(function (i, elem) {
|
||||
pickerDefine(i, 'fff')
|
||||
})
|
||||
function pickerDefine(i, color) {
|
||||
var pickr = new Pickr({
|
||||
el: '#color-picker' + i,
|
||||
default: color,
|
||||
showAlways: true,
|
||||
appendToBody: true,
|
||||
closeWithKey: 'Escape',
|
||||
comparison: false,
|
||||
components: {
|
||||
preview: true, // Left side color comparison
|
||||
opacity: false, // Opacity slider
|
||||
hue: true, // Hue slider
|
||||
interaction: {
|
||||
rgba: false, // rgba option (red green blue and alpha)
|
||||
input: true, // input / output element
|
||||
},
|
||||
},
|
||||
strings: {
|
||||
save: 'Save', // Default for save button
|
||||
clear: 'Clear', // Default for clear button
|
||||
},
|
||||
})
|
||||
pickr.on('change', (...args) => {
|
||||
var rgb = 'rgb(' + args[0].toRGBA()[0] + ',' + args[0].toRGBA()[1] + ',' + args[0].toRGBA()[2] + ')'
|
||||
$('#color-picker' + i + '_value').val(rgb)
|
||||
function copyColor(from, to) {
|
||||
let props = [
|
||||
'background', 'subcolor', 'text', 'accent',
|
||||
'modal', 'modalFooter', 'third', 'forth',
|
||||
'bottom', 'emphasized', 'postbox', 'active',
|
||||
'selected', 'selectedWithShared'
|
||||
]
|
||||
let i = 0
|
||||
let color
|
||||
for (tag of props) {
|
||||
if(tag == from) {
|
||||
let used = $(`#use-color_${i}`).prop('checked')
|
||||
if(!used) {
|
||||
Swal.fire({
|
||||
type: 'error',
|
||||
title: 'Not checked',
|
||||
})
|
||||
break
|
||||
}
|
||||
color = $(`#color-picker${i}_value`).val()
|
||||
break
|
||||
}
|
||||
i++
|
||||
}
|
||||
if(!color) return false
|
||||
for (tag of props) {
|
||||
if(tag == to) {
|
||||
$(`#color-picker${i}_value`).val(color)
|
||||
$(`#use-color_${i}`).prop('checked', true)
|
||||
break
|
||||
}
|
||||
i++
|
||||
}
|
||||
}
|
||||
function customComp() {
|
||||
var nameC = $('#custom_name').val()
|
||||
@@ -544,59 +532,32 @@ function customComp() {
|
||||
return false
|
||||
}
|
||||
var descC = $('#custom_desc').val()
|
||||
var primaryC = $('#color-picker0_value').val()
|
||||
if (!primaryC) {
|
||||
primaryC = 'rgb(255,255,255)'
|
||||
}
|
||||
var secondaryC = $('#color-picker1_value').val()
|
||||
if (!secondaryC) {
|
||||
secondaryC = 'rgb(255,255,255)'
|
||||
}
|
||||
var textC = $('#color-picker2_value').val()
|
||||
if (!textC) {
|
||||
textC = 'rgb(255,255,255)'
|
||||
}
|
||||
var multi = localStorage.getItem('multi')
|
||||
if ($('#pickers').hasClass('advanceTheme')) {
|
||||
var bgC = $('#color-picker0_value').val()
|
||||
var subcolorC = $('#color-picker2_value').val()
|
||||
var textC = $('#color-picker1_value').val()
|
||||
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 multi = localStorage.getItem('multi')
|
||||
let advanced = [
|
||||
'modal', 'modalFooter', 'third', 'forth',
|
||||
'bottom', 'emphasized', 'postbox', 'active',
|
||||
'selected', 'selectedWithShared'
|
||||
]
|
||||
var advanceTheme = {}
|
||||
let i = 4
|
||||
for (tag of advanced) {
|
||||
let used = $(`#use-color_${i}`).prop('checked')
|
||||
if (used) {
|
||||
advanceTheme[tag] = $(`#color-picker${i}_value`).val()
|
||||
}
|
||||
i++
|
||||
}
|
||||
|
||||
var my = JSON.parse(multi)[0].name
|
||||
var id = $('#custom-edit-sel').val()
|
||||
if (id == 'add_new') {
|
||||
const defaults = [
|
||||
'black','blue','brown','green','indigo','polar','snow','white'
|
||||
]
|
||||
if (id == 'add_new' || defaults.includes(id)) {
|
||||
id = makeCID()
|
||||
}
|
||||
localStorage.setItem('customtheme-id', id)
|
||||
@@ -605,26 +566,48 @@ function customComp() {
|
||||
author: my,
|
||||
desc: descC,
|
||||
base: $('[name=direction]:checked').val(),
|
||||
vars: {
|
||||
primary: primaryC,
|
||||
secondary: secondaryC,
|
||||
primary: {
|
||||
background: bgC,
|
||||
subcolor: subcolorC,
|
||||
text: textC,
|
||||
accent: accentC
|
||||
},
|
||||
props: advanceTheme,
|
||||
advanced: advanceTheme,
|
||||
id: id,
|
||||
version: '2'
|
||||
}
|
||||
$('#custom_json').val(JSON.stringify(json))
|
||||
themes('custom')
|
||||
$('#custom').prop('checked', true)
|
||||
$('#custom_name').val('')
|
||||
$('#custom_desc').val('')
|
||||
$('#dark').prop('checked', true)
|
||||
$('#custom_json').val('')
|
||||
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')
|
||||
let timerInterval
|
||||
Swal.fire({
|
||||
title: 'Saving...',
|
||||
html: '',
|
||||
timer: 1000,
|
||||
timerProgressBar: true,
|
||||
onBeforeOpen: () => {
|
||||
Swal.showLoading()
|
||||
},
|
||||
onClose: () => {
|
||||
clearInterval(timerInterval)
|
||||
}
|
||||
}).then((result) => {
|
||||
themes()
|
||||
ctLoad()
|
||||
Swal.fire({
|
||||
title: 'Refreshing...',
|
||||
html: '',
|
||||
timer: 1000,
|
||||
timerProgressBar: true,
|
||||
onBeforeOpen: () => {
|
||||
Swal.showLoading()
|
||||
},
|
||||
onClose: () => {
|
||||
clearInterval(timerInterval)
|
||||
}
|
||||
}).then((result) => {
|
||||
$('#custom-edit-sel').val(id)
|
||||
$('select').formSelect()
|
||||
})
|
||||
})
|
||||
postMessage(['themeJsonCreate', JSON.stringify(json)], '*')
|
||||
}
|
||||
function deleteIt() {
|
||||
@@ -633,34 +616,34 @@ function deleteIt() {
|
||||
$('#custom_desc').val('')
|
||||
$('#dark').prop('checked', true)
|
||||
$('#custom_json').val('')
|
||||
for (var i = 0; i <= 8; i++) {
|
||||
$('#color-picker' + i + '-wrap').html('<div class="color-picker" id="color-picker' + i + '"></div>')
|
||||
for (var i = 0; i <= 13; i++) {
|
||||
if (i >= 4) $(`#use-color_${i}`).prop('checked', false)
|
||||
$('#color-picker' + i + '_value').val('')
|
||||
pickerDefine(i, 'fff')
|
||||
}
|
||||
postMessage(['themeJsonDelete', id], '*')
|
||||
postMessage(['themeJsonDelete', id + '.thedesktheme'], '*')
|
||||
}
|
||||
function ctLoad() {
|
||||
postMessage(['sendSinmpleIpc', 'theme-json-list'], '*')
|
||||
}
|
||||
function ctLoadCore(args) {
|
||||
var templete = ''
|
||||
var template = ''
|
||||
var editTemplate = ''
|
||||
Object.keys(args).forEach(function (key) {
|
||||
var theme = args[key]
|
||||
var themeid = theme.id
|
||||
templete = templete + '<option value="' + themeid + '">' + theme.name + '</option>'
|
||||
template = template + `<option value="${themeid}">${theme.name}${theme.compatible ? `(${lang.lang_setting_compat})` : ''}</option>`
|
||||
if (!theme.compatible) editTemplate = editTemplate + `<option value="${themeid}">${theme.name}</option>`
|
||||
})
|
||||
if (args[0]) {
|
||||
localStorage.setItem('customtheme-id', args[0].id)
|
||||
}
|
||||
$('#custom-sel-sel').html(templete)
|
||||
templete = '<option value="add_new">' + $('#edit-selector').attr('data-add') + '</option>' + templete
|
||||
$('#custom-edit-sel').html(templete)
|
||||
$('#custom-sel-sel').html(template)
|
||||
editTemplate = '<option value="add_new">' + $('#edit-selector').attr('data-add') + '</option>' + editTemplate
|
||||
$('#custom-edit-sel').html(editTemplate)
|
||||
$('#custom-sel-sel').val(localStorage.getItem('customtheme-id'))
|
||||
$('select').formSelect()
|
||||
}
|
||||
function customSel() {
|
||||
var id = $('#custom-sel-sel').val()
|
||||
localStorage.setItem('customtheme-id', id)
|
||||
themes(id)
|
||||
}
|
||||
function custom() {
|
||||
var id = $('#custom-edit-sel').val()
|
||||
@@ -669,58 +652,47 @@ function custom() {
|
||||
$('#custom_desc').val('')
|
||||
$('#dark').prop('checked', true)
|
||||
$('#custom_json').val('')
|
||||
for (var i = 0; i <= 8; i++) {
|
||||
$('#color-picker' + i + '-wrap').html('<div class="color-picker" id="color-picker' + i + '"></div>')
|
||||
for (var i = 0; i <= 13; i++) {
|
||||
if (i >= 4) $(`#use-color_${i}`).prop('checked', false)
|
||||
$('#color-picker' + i + '_value').val('')
|
||||
pickerDefine(i, 'fff')
|
||||
}
|
||||
$('#delTheme').addClass('disabled')
|
||||
} else {
|
||||
$('#delTheme').removeClass('disabled')
|
||||
postMessage(['themeJsonRequest', id], '*')
|
||||
postMessage(['themeJsonRequest', id + '.thedesktheme'], '*')
|
||||
}
|
||||
}
|
||||
function customConnect(raw) {
|
||||
var args = raw[0]
|
||||
$('#custom_name').val(args.name)
|
||||
$('#custom_desc').val(args.desc)
|
||||
$('#custom_name').val(`${args.name} ${args.default ? 'Customed' : ''}`)
|
||||
$('#custom_desc').val(args.default ? 'TheDesk default theme with some changes by user' : 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)
|
||||
//Background
|
||||
$('#color-picker0_value').val(args.primary.background)
|
||||
//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)
|
||||
$('#color-picker1_value').val(args.primary.text)
|
||||
//Subcolor
|
||||
$('#color-picker2_value').val(args.primary.subcolor)
|
||||
//Accent
|
||||
$('#color-picker3_value').val(args.primary.accent)
|
||||
let advanced = [
|
||||
'modal', 'modalFooter', 'third', 'forth',
|
||||
'bottom', 'emphasized', 'postbox', 'active',
|
||||
'selected', 'selectedWithShared'
|
||||
]
|
||||
let i = 4
|
||||
for (tag of advanced) {
|
||||
if (args.advanced[tag]) {
|
||||
$(`#color-picker${i}_value`).val(args.advanced[tag])
|
||||
|
||||
}
|
||||
$(`#use-color_${i}`).prop('checked', true)
|
||||
i++
|
||||
}
|
||||
$('#custom_json').val(raw[1])
|
||||
}
|
||||
function advancedConncet(args, tar, sub, i) {
|
||||
if (args.props) {
|
||||
if (args.props[tar]) {
|
||||
var color = args.props[tar]
|
||||
$('#pickers').addClass('advanceTheme')
|
||||
$('.advanced').removeClass('hide')
|
||||
} else {
|
||||
var color = args.vars[sub]
|
||||
if(args.default) {
|
||||
$('#delTheme').addClass('disabled')
|
||||
}
|
||||
} else {
|
||||
var color = args.vars[sub]
|
||||
}
|
||||
$('#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()
|
||||
@@ -754,7 +726,7 @@ function customSound(key) {
|
||||
}
|
||||
function customSoundSave(key, file) {
|
||||
localStorage.setItem('custom' + key, file)
|
||||
$('#c1-file').text(file)
|
||||
$(`#c${key}-file`).text(file)
|
||||
}
|
||||
window.onload = function () {
|
||||
//最初に読む
|
||||
@@ -832,3 +804,5 @@ function lastFmSet() {
|
||||
}
|
||||
M.toast({ html: 'Complete: last.fm', displayLength: 3000 })
|
||||
}
|
||||
|
||||
function stopVideo() { return false }
|
@@ -1,44 +1,44 @@
|
||||
//ソートデータ読み込み
|
||||
function sortLoad () {
|
||||
$("#sort").html("");
|
||||
var col = localStorage.getItem("column");
|
||||
$("#sort").html("")
|
||||
var col = localStorage.getItem("column")
|
||||
if (col) {
|
||||
var obj = JSON.parse(col);
|
||||
var obj = JSON.parse(col)
|
||||
}
|
||||
Object.keys(obj).forEach(function (key) {
|
||||
var acct = obj[key];
|
||||
var flag = "false";
|
||||
var acct = obj[key]
|
||||
var flag = "false"
|
||||
if (localStorage.getItem("card_" + key) == "true") {
|
||||
flag = "true"
|
||||
}
|
||||
var insert = "";
|
||||
var insert = ""
|
||||
|
||||
if (acct.background) {
|
||||
if (acct.text == "def") {
|
||||
|
||||
} else {
|
||||
if (acct.text == "black") {
|
||||
var txhex = "000000";
|
||||
var txhex = "000000"
|
||||
} else if (acct.text == "white") {
|
||||
var txhex = "ffffff";
|
||||
var txhex = "ffffff"
|
||||
}
|
||||
insert = ' style="background-color:#' + acct.background + '; color: #' + txhex + '" ';
|
||||
insert = ' style="background-color:#' + acct.background + '; color: #' + txhex + '" '
|
||||
}
|
||||
}
|
||||
var user = localStorage.getItem("user_" + acct.domain);
|
||||
var domain = localStorage.getItem("domain_" + acct.domain);
|
||||
var user = localStorage.getItem("user_" + acct.domain)
|
||||
var domain = localStorage.getItem("domain_" + acct.domain)
|
||||
if (!user || !domain) {
|
||||
var acctdata = "";
|
||||
var acctdata = ""
|
||||
} else {
|
||||
var acctdata = user + "@" + domain;
|
||||
var acctdata = user + "@" + domain
|
||||
}
|
||||
|
||||
var html = '<li class="drag-content" data-id="' + key + '" data-flag="' + flag + '"' + insert + '><div class="sorticon"><i class="material-icons">' + icon(acct.type) + '</i></div><div class="sorttitle">' + cap(acct.type, escapeHTML(acct.data), acct.domain) + '</div><div class="sortaction"><a onclick="goColumn(' + key +
|
||||
var html = '<li class="drag-content" data-id="' + key + '" data-flag="' + flag + '"' + insert + '><div class="sorticon"><i class="material-icons">' + icon(acct.type) + '</i></div><div class="sorttitle">' + cap(acct.type, acct.data, acct.domain) + '</div><div class="sortaction"><a onclick="goColumn(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="' + lang.lang_sort_gothis + '">forward</i></a> <a onclick="removeColumn(' + key +
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="このカラムを削除">cancel</i></a></div><div class="sortacct">' + acctdata + '</div></li>';
|
||||
$("#sort").append(html);
|
||||
});
|
||||
drag();
|
||||
')" class="setting nex"><i class="material-icons waves-effect nex" title="このカラムを削除">cancel</i></a></div><div class="sortacct">' + acctdata + '</div></li>'
|
||||
$("#sort").append(html)
|
||||
})
|
||||
drag()
|
||||
}
|
||||
|
||||
//TLのタイトル
|
||||
@@ -62,59 +62,59 @@ function Scap(type, data) {
|
||||
} else if (type == "tootsearch") {
|
||||
return "tootsearch(" + data + ")"
|
||||
} else {
|
||||
console.error("unknown timeline type: " + type);
|
||||
console.error("unknown timeline type: " + type)
|
||||
}
|
||||
}
|
||||
|
||||
//jquery-ui依存
|
||||
function drag() {
|
||||
$('#sort').sortable();
|
||||
$('#sort').disableSelection();
|
||||
$('#sort').sortable()
|
||||
$('#sort').disableSelection()
|
||||
}
|
||||
|
||||
//ソート指定
|
||||
function sort() {
|
||||
var arr = [];
|
||||
var flags = [];
|
||||
var arr = []
|
||||
var flags = []
|
||||
$(".drag-content").each(function (i, elem) {
|
||||
var id = $(this).attr("data-id");
|
||||
var flag = $(this).attr("data-flag");
|
||||
var id = $(this).attr("data-id")
|
||||
var flag = $(this).attr("data-flag")
|
||||
arr.push(id)
|
||||
flags.push(flag);
|
||||
});
|
||||
var col = localStorage.getItem("column");
|
||||
var obj = JSON.parse(col);
|
||||
var newobj = [];
|
||||
flags.push(flag)
|
||||
})
|
||||
var col = localStorage.getItem("column")
|
||||
var obj = JSON.parse(col)
|
||||
var newobj = []
|
||||
for (i = 0; i < arr.length; i++) {
|
||||
var data = obj[arr[i]];
|
||||
var data = obj[arr[i]]
|
||||
var add = {
|
||||
domain: data.domain,
|
||||
type: data.type,
|
||||
data: data.data,
|
||||
background: data.background,
|
||||
text: data.text
|
||||
};
|
||||
newobj.push(add);
|
||||
}
|
||||
newobj.push(add)
|
||||
if (flags[i] == "true") {
|
||||
localStorage.setItem("card_" + i, "true");
|
||||
localStorage.setItem("card_" + i, "true")
|
||||
} else {
|
||||
localStorage.removeItem("card_" + i);
|
||||
localStorage.removeItem("card_" + i)
|
||||
}
|
||||
}
|
||||
var json = JSON.stringify(newobj);
|
||||
localStorage.setItem("column", json);
|
||||
$("#sort").html("");
|
||||
var json = JSON.stringify(newobj)
|
||||
localStorage.setItem("column", json)
|
||||
$("#sort").html("")
|
||||
M.toast({ html: "Sorted", displayLength: 3000 })
|
||||
sortLoad();
|
||||
parseColumn();
|
||||
sortLoad()
|
||||
parseColumn()
|
||||
sortMenu()
|
||||
}
|
||||
//ソートボタントグル
|
||||
function sortMenu() {
|
||||
$("#left-menu a").removeClass("active");
|
||||
$("#sortMenu").addClass("active");
|
||||
$(".menu-content").addClass("hide");
|
||||
$("#sort-box").removeClass("hide");
|
||||
$("#sort").html("");
|
||||
sortLoad();
|
||||
$("#left-menu a").removeClass("active")
|
||||
$("#sortMenu").addClass("active")
|
||||
$(".menu-content").addClass("hide")
|
||||
$("#sort-box").removeClass("hide")
|
||||
$("#sort").html("")
|
||||
sortLoad()
|
||||
}
|
@@ -1,30 +1,44 @@
|
||||
function spotifyConnect() {
|
||||
var auth = 'https://accounts.spotify.com/authorize?client_id=0f18e54abe0b4aedb4591e353d3aff69&redirect_uri=https://thedesk.top/spotify-connect&response_type=code&scope=user-read-currently-playing'
|
||||
var platform = localStorage.getItem('platform')
|
||||
if (platform == 'win32') {
|
||||
postMessage(['openUrl', auth], '*')
|
||||
postMessage(['sendSinmpleIpc', 'quit'], '*')
|
||||
} else {
|
||||
auth = auth + '&state=code'
|
||||
var auth = 'https://spotify.thedesk.top/connect'
|
||||
$('#spotify-code-show').removeClass('hide')
|
||||
postMessage(['openUrl', auth], '*')
|
||||
}
|
||||
}
|
||||
function spotifyAuth() {
|
||||
var code = $('#spotify-code').val()
|
||||
localStorage.setItem('spotify', 'code')
|
||||
localStorage.setItem('spotify-refresh', code)
|
||||
localStorage.setItem('spotify-token', code)
|
||||
$('#spotify-code-show').addClass('hide')
|
||||
$('#spotify-enable').addClass('disabled')
|
||||
$('#spotify-disable').removeClass('disabled')
|
||||
}
|
||||
function spotifyDisconnect() {
|
||||
localStorage.removeItem('spotify')
|
||||
localStorage.removeItem('spotify-refresh')
|
||||
var start = 'https://spotify.thedesk.top/disconnect?code=' + localStorage.getItem('spotify-token')
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'content-type': 'application/json',
|
||||
},
|
||||
})
|
||||
.then(function (response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function (text) {
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json()
|
||||
})
|
||||
.catch(function (error) {
|
||||
todo(error)
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
if (!json.success) alert('error')
|
||||
localStorage.removeItem('spotify-token')
|
||||
checkSpotify()
|
||||
})
|
||||
}
|
||||
function checkSpotify() {
|
||||
if (localStorage.getItem('spotify')) {
|
||||
if (localStorage.getItem('spotify-token')) {
|
||||
$('#spotify-enable').addClass('disabled')
|
||||
$('#spotify-disable').removeClass('disabled')
|
||||
} else {
|
||||
@@ -71,8 +85,8 @@ function aMusicFlagSave() {
|
||||
}
|
||||
function nowplaying(mode) {
|
||||
if (mode == 'spotify') {
|
||||
var start = 'https://thedesk.top/now-playing?at=' + localStorage.getItem('spotify') + '&rt=' + localStorage.getItem('spotify-refresh')
|
||||
var at = localStorage.getItem('spotify')
|
||||
var start = 'https://spotify.thedesk.top/current-playing?code=' + localStorage.getItem('spotify-token')
|
||||
var at = localStorage.getItem('spotify-token')
|
||||
if (at) {
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
@@ -93,7 +107,10 @@ function nowplaying(mode) {
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function (json) {
|
||||
.then(function (jsonRaw) {
|
||||
var code = jsonRaw.token
|
||||
localStorage.setItem('spotify-token', code)
|
||||
var json = jsonRaw.data
|
||||
console.table(json)
|
||||
if (json.length < 1) {
|
||||
return false
|
||||
@@ -169,11 +186,10 @@ function nowplaying(mode) {
|
||||
return false
|
||||
}
|
||||
var item = json.recenttracks.track[0]
|
||||
if(!item['@attr']) return false
|
||||
if (!item['@attr']) return false
|
||||
var img = item.image[3]['#text']
|
||||
var isImg = item.streamable*1
|
||||
var flag = localStorage.getItem('artwork')
|
||||
if (flag && isImg && img) {
|
||||
if (flag && img != 'https://lastfm.freetls.fastly.net/i/u/300x300/2a96cbd8b46e442fc41c2b86b821562f.png' && img) {
|
||||
postMessage(['bmpImage', [img, 0]], '*')
|
||||
}
|
||||
var content = localStorage.getItem('np-temp')
|
||||
@@ -187,7 +203,7 @@ function nowplaying(mode) {
|
||||
var regExp = new RegExp('{artist}', 'g')
|
||||
content = content.replace(regExp, item.artist['#text'])
|
||||
var regExp = new RegExp('{url}', 'g')
|
||||
content = content.replace(regExp,'')
|
||||
content = content.replace(regExp, '')
|
||||
var regExp = new RegExp('{composer}', 'g')
|
||||
content = content.replace(regExp, '')
|
||||
var regExp = new RegExp('{hz}', 'g')
|
||||
|
@@ -1,35 +1,20 @@
|
||||
//テーマ適用
|
||||
function themes(theme) {
|
||||
if (!theme) {
|
||||
var theme = localStorage.getItem('theme')
|
||||
var theme = localStorage.getItem('customtheme-id')
|
||||
if (!theme) {
|
||||
var theme = 'black'
|
||||
localStorage.setItem('theme', 'black')
|
||||
localStorage.setItem('customtheme-id', 'black')
|
||||
theme = 'black'
|
||||
}
|
||||
}
|
||||
postMessage(['themeCSSRequest', theme + '.thedesktheme'], '*')
|
||||
var el = document.getElementsByTagName('html')[0]
|
||||
|
||||
el.classList.remove('indigotheme')
|
||||
el.classList.remove('greentheme')
|
||||
el.classList.remove('browntheme')
|
||||
el.classList.remove('blacktheme')
|
||||
el.classList.remove('bluetheme')
|
||||
el.classList.remove('polartheme')
|
||||
el.classList.remove('snowtheme')
|
||||
el.classList.remove('customtheme')
|
||||
el.classList.add(theme + 'theme')
|
||||
el.style.backgroundColor = 'var(--bg)'
|
||||
var font = localStorage.getItem('font')
|
||||
if (font) {
|
||||
font = font.replace(/"(.+)"/, '$1')
|
||||
el.style.fontFamily = '"' + font + '"'
|
||||
if(font) {
|
||||
el.style.fontFamily = font
|
||||
} else {
|
||||
el.style.fontFamily = ''
|
||||
}
|
||||
if (theme == 'custom') {
|
||||
if (localStorage.getItem('customtheme-id')) {
|
||||
postMessage(['themeCSSRequest', localStorage.getItem('customtheme-id')], '*')
|
||||
}
|
||||
}
|
||||
el.style.backgroundColor = 'var(--bg)'
|
||||
}
|
||||
themes()
|
||||
|
@@ -131,12 +131,8 @@ function trendTagonTip() {
|
||||
spotint = null
|
||||
function spotifytips() {
|
||||
if (spotint) clearInterval(spotint)
|
||||
var start =
|
||||
'https://thedesk.top/now-playing?at=' +
|
||||
localStorage.getItem('spotify') +
|
||||
'&rt=' +
|
||||
localStorage.getItem('spotify-refresh')
|
||||
var at = localStorage.getItem('spotify')
|
||||
var start = 'https://spotify.thedesk.top/current-playing?code=' + localStorage.getItem('spotify-token')
|
||||
var at = localStorage.getItem('spotify-token')
|
||||
if (at) {
|
||||
fetch(start, {
|
||||
method: 'GET',
|
||||
@@ -157,7 +153,10 @@ function spotifytips() {
|
||||
setLog(start, 'JSON', error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function(json) {
|
||||
.then(function(jsonRaw) {
|
||||
var code = jsonRaw.token
|
||||
localStorage.setItem('spotify-token', code)
|
||||
var json = jsonRaw.data
|
||||
var ms = json.progress_ms
|
||||
if(!ms) {
|
||||
tips('ver')
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,65 +1,65 @@
|
||||
//プロフ編集
|
||||
//文字系
|
||||
function profedit() {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
todo("Updating...");
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v1/accounts/update_credentials";
|
||||
var name = $("#his-name-val").val();
|
||||
var des = $("#his-des-val").val();
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('PATCH', start, true);
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json');
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = "json";
|
||||
var acct_id = $('#his-data').attr("use-acct")
|
||||
todo("Updating...")
|
||||
var domain = localStorage.getItem("domain_" + acct_id)
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at")
|
||||
var start = "https://" + domain + "/api/v1/accounts/update_credentials"
|
||||
var name = $("#his-name-val").val()
|
||||
var des = $("#his-des-val").val()
|
||||
var httpreq = new XMLHttpRequest()
|
||||
httpreq.open('PATCH', start, true)
|
||||
httpreq.setRequestHeader('Content-Type', 'application/json')
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
|
||||
httpreq.responseType = "json"
|
||||
httpreq.send(JSON.stringify({
|
||||
display_name: name,
|
||||
note: des,
|
||||
}));
|
||||
}))
|
||||
httpreq.onreadystatechange = function () {
|
||||
if (httpreq.readyState === 4) {
|
||||
$('#his-data').modal('close');
|
||||
todc();
|
||||
$('#his-data').modal('close')
|
||||
todc()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//画像系
|
||||
function imgChange(imgfile, target) {
|
||||
var acct_id = $('#his-data').attr("use-acct");
|
||||
var acct_id = $('#his-data').attr("use-acct")
|
||||
todo("アップロードしています")
|
||||
if (!imgfile.files.length) {
|
||||
console.warn("No Image to upload");
|
||||
return;
|
||||
console.warn("No Image to upload")
|
||||
return
|
||||
}
|
||||
var file = imgfile.files[0];
|
||||
var fr = new FileReader();
|
||||
var file = imgfile.files[0]
|
||||
var fr = new FileReader()
|
||||
fr.onload = function (evt) {
|
||||
var b64 = this.result;
|
||||
var blob = toBlob(b64, 'image/png');
|
||||
var fd = new FormData();
|
||||
fd.append(target, blob);
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v1/accounts/update_credentials";
|
||||
var httpreq = new XMLHttpRequest();
|
||||
httpreq.open('PATCH', start, true);
|
||||
httpreq.upload.addEventListener("progress", progshow, false);
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at);
|
||||
httpreq.responseType = "json";
|
||||
httpreq.send(fd);
|
||||
var b64 = this.result
|
||||
var blob = toBlob(b64, 'image/png')
|
||||
var fd = new FormData()
|
||||
fd.append(target, blob)
|
||||
var domain = localStorage.getItem("domain_" + acct_id)
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at")
|
||||
var start = "https://" + domain + "/api/v1/accounts/update_credentials"
|
||||
var httpreq = new XMLHttpRequest()
|
||||
httpreq.open('PATCH', start, true)
|
||||
httpreq.upload.addEventListener("progress", progshow, false)
|
||||
httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
|
||||
httpreq.responseType = "json"
|
||||
httpreq.send(fd)
|
||||
httpreq.onreadystatechange = function () {
|
||||
if (httpreq.readyState === 4) {
|
||||
var json = httpreq.response;
|
||||
if(this.status!==200){ setLog(start, this.status, this.response); }
|
||||
$('#his-data').modal('close');
|
||||
todc();
|
||||
localStorage.removeItem("image");
|
||||
var json = httpreq.response
|
||||
if(this.status!==200){ setLog(start, this.status, this.response) }
|
||||
$('#his-data').modal('close')
|
||||
todc()
|
||||
localStorage.removeItem("image")
|
||||
}
|
||||
}
|
||||
}
|
||||
$("#prof-change").html($("#prof-change").html());
|
||||
$("#header-change").html($("#header-change").html());
|
||||
fr.readAsDataURL(file);
|
||||
$("#prof-change").html($("#prof-change").html())
|
||||
$("#header-change").html($("#header-change").html())
|
||||
fr.readAsDataURL(file)
|
||||
}
|
||||
|
@@ -1,31 +1,31 @@
|
||||
//ユーザーデータ表示
|
||||
localStorage.removeItem("history");
|
||||
localStorage.removeItem("history")
|
||||
//コード受信
|
||||
if (location.search) {
|
||||
var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/);
|
||||
var mode = m[1];
|
||||
var codex = m[2];
|
||||
var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/)
|
||||
var mode = m[1]
|
||||
var codex = m[2]
|
||||
if (mode == "user") {
|
||||
udgEx(codex, "main");
|
||||
udgEx(codex, "main")
|
||||
}
|
||||
}
|
||||
function udgEx(user, acct_id) {
|
||||
if (user == "selector") {
|
||||
user = $("#his-acct").attr("fullname");
|
||||
user = $("#his-acct").attr("fullname")
|
||||
}
|
||||
if (acct_id == "selector") {
|
||||
acct_id = $("#user-acct-sel").val();
|
||||
acct_id = $("#user-acct-sel").val()
|
||||
}
|
||||
if (acct_id == "main") {
|
||||
acct_id = localStorage.getItem("main");
|
||||
acct_id = localStorage.getItem("main")
|
||||
}
|
||||
console.log("Get user data of " + user);
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
console.log("Get user data of " + user)
|
||||
var domain = localStorage.getItem("domain_" + acct_id)
|
||||
if (localStorage.getItem("mode_" + domain) == "misskey") {
|
||||
return false;
|
||||
return false
|
||||
}
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v2/search?resolve=true&q=" + encodeURIComponent(user);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at")
|
||||
var start = "https://" + domain + "/api/v2/search?resolve=true&q=" + encodeURIComponent(user)
|
||||
fetch(start, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
@@ -36,39 +36,39 @@ function udgEx(user, acct_id) {
|
||||
.then(function(response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function(text) {
|
||||
setLog(response.url, response.status, text);
|
||||
});
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json();
|
||||
return response.json()
|
||||
})
|
||||
.catch(function(error) {
|
||||
todo(error);
|
||||
setLog(start, "JSON", error);
|
||||
console.error(error);
|
||||
todo(error)
|
||||
setLog(start, "JSON", error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function(json) {
|
||||
if (json.accounts[0]) {
|
||||
var id = json.accounts[0].id;
|
||||
udg(id, acct_id);
|
||||
var id = json.accounts[0].id
|
||||
udg(id, acct_id)
|
||||
} else {
|
||||
postMessage(["openUrl", user], "*");
|
||||
postMessage(["openUrl", user], "*")
|
||||
}
|
||||
});
|
||||
return true;
|
||||
})
|
||||
return true
|
||||
}
|
||||
function udg(user, acct_id) {
|
||||
reset();
|
||||
reset()
|
||||
if (!user) {
|
||||
user = localStorage.getItem("user-id_" + acct_id);
|
||||
user = localStorage.getItem("user-id_" + acct_id)
|
||||
}
|
||||
todo("User Data Loading...");
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
todo("User Data Loading...")
|
||||
var domain = localStorage.getItem("domain_" + acct_id)
|
||||
if (localStorage.getItem("mode_" + domain) == "misskey") {
|
||||
misskeyUdg(user, acct_id);
|
||||
return;
|
||||
misskeyUdg(user, acct_id)
|
||||
return
|
||||
}
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v1/accounts/" + user;
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at")
|
||||
var start = "https://" + domain + "/api/v1/accounts/" + user
|
||||
fetch(start, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
@@ -79,183 +79,188 @@ function udg(user, acct_id) {
|
||||
.then(function(response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function(text) {
|
||||
setLog(response.url, response.status, text);
|
||||
});
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json();
|
||||
return response.json()
|
||||
})
|
||||
.catch(function(error) {
|
||||
todo(error);
|
||||
setLog(start, "JSON", error);
|
||||
console.error(error);
|
||||
todo(error)
|
||||
setLog(start, "JSON", error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function(json) {
|
||||
//一つ前のユーザーデータ
|
||||
if (!localStorage.getItem("history")) {
|
||||
$("#his-history-btn").prop("disabled", true);
|
||||
$("#his-history-btn").prop("disabled", true)
|
||||
} else {
|
||||
$("#his-history-btn").prop("disabled", false);
|
||||
$("#his-data").attr("history", localStorage.getItem("history"));
|
||||
$("#his-history-btn").prop("disabled", false)
|
||||
$("#his-data").attr("history", localStorage.getItem("history"))
|
||||
}
|
||||
//moved設定時
|
||||
if (json.moved) {
|
||||
M.toast({
|
||||
html: lang.lang_showontl_movetxt + '<button class="btn-flat toast-action" onclick="udg(\'' + json.moved.id + "','" + acct_id + "')\">" + lang.lang_showontl_movebtn + "</button>",
|
||||
displayLength: 4000
|
||||
});
|
||||
})
|
||||
}
|
||||
$("#his-data").modal("open");
|
||||
$("#his-data").attr("user-id", user);
|
||||
$("#his-data").attr("use-acct", acct_id);
|
||||
$("#his-data").modal("open")
|
||||
$("#his-data").attr("user-id", user)
|
||||
$("#his-data").attr("use-acct", acct_id)
|
||||
if (json.username != json.acct) {
|
||||
//Remote
|
||||
$("#his-data").attr("remote", "true");
|
||||
var fullname = json.acct;
|
||||
$("#his-data").attr("remote", "true")
|
||||
var fullname = json.acct
|
||||
} else {
|
||||
$("#his-data").attr("remote", "false");
|
||||
var fullname = json.acct + "@" + domain;
|
||||
$("#his-data").attr("remote", "false")
|
||||
var fullname = json.acct + "@" + domain
|
||||
}
|
||||
utlShow(json.id, "", acct_id);
|
||||
flw(json.id, "", acct_id);
|
||||
fer(json.id, "", acct_id);
|
||||
var dis_name = escapeHTML(json.display_name);
|
||||
dis_name = twemoji.parse(dis_name);
|
||||
utlShow(json.id, "", acct_id)
|
||||
flw(json.id, "", acct_id)
|
||||
fer(json.id, "", acct_id)
|
||||
var dis_name = escapeHTML(json.display_name)
|
||||
dis_name = twemoji.parse(dis_name)
|
||||
|
||||
var note = json.note;
|
||||
var note = json.note
|
||||
if (json.emojis) {
|
||||
var actemojick = json.emojis[0];
|
||||
var actemojick = json.emojis[0]
|
||||
} else {
|
||||
var actemojick = false;
|
||||
var actemojick = false
|
||||
}
|
||||
//絵文字があれば
|
||||
if (actemojick) {
|
||||
Object.keys(json.emojis).forEach(function(key5) {
|
||||
var emoji = json.emojis[key5];
|
||||
var shortcode = emoji.shortcode;
|
||||
var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" draggable="false">';
|
||||
var regExp = new RegExp(":" + shortcode + ":", "g");
|
||||
dis_name = dis_name.replace(regExp, emoji_url);
|
||||
note = note.replace(regExp, emoji_url);
|
||||
});
|
||||
var emoji = json.emojis[key5]
|
||||
var shortcode = emoji.shortcode
|
||||
var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" draggable="false">'
|
||||
var regExp = new RegExp(":" + shortcode + ":", "g")
|
||||
dis_name = dis_name.replace(regExp, emoji_url)
|
||||
note = note.replace(regExp, emoji_url)
|
||||
})
|
||||
}
|
||||
//noteの解析
|
||||
//var tags = '<a onclick="tl(\'tag\',\'$1\',' + acct_id +',\'add\')" class="pointer parsed">#$1</a>';
|
||||
//var mens = '<a onclick="udgEx(\'$1\',' + acct_id +')" class="pointer parsed">@$1</a>';
|
||||
//note=note.replace(/#(\S+)/gi, tags)
|
||||
//note=note.replace(/\s@([a-zA-Z_0-9@.-]+)/gi, mens)
|
||||
$("#his-name").html(dis_name);
|
||||
$("#his-acct").text(json.acct);
|
||||
$("#his-acct").attr("fullname", fullname);
|
||||
$("#his-prof").attr("src", json.avatar);
|
||||
$("#his-data").css("background-image", "url(" + json.header + ")");
|
||||
$("#his-sta").text(json.statuses_count);
|
||||
$("#his-follow").text(json.following_count);
|
||||
var flerc = json.followers_count;
|
||||
$("#his-name").html(dis_name)
|
||||
$("#his-acct").text(json.acct)
|
||||
$("#his-acct").attr("fullname", fullname)
|
||||
$("#his-prof").attr("src", json.avatar)
|
||||
$("#his-data").css("background-image", "url(" + json.header + ")")
|
||||
$("#his-sta").text(json.statuses_count)
|
||||
$("#his-follow").text(json.following_count)
|
||||
var flerc = json.followers_count
|
||||
if (flerc < 0) {
|
||||
flerc = "-";
|
||||
flerc = "-"
|
||||
}
|
||||
$("#his-follower").text(flerc);
|
||||
$("#his-since").text(crat(json.created_at));
|
||||
$("#his-openin").attr("data-href", json.url);
|
||||
$("#his-follower").text(flerc)
|
||||
$("#his-since").text(crat(json.created_at))
|
||||
$("#his-openin").attr("data-href", json.url)
|
||||
if (json.fields) {
|
||||
var table = "";
|
||||
var table = ""
|
||||
if (json.fields.length > 0) {
|
||||
$("#his-des").css("max-height", "250px");
|
||||
table = '<table id="his-field">';
|
||||
$("#his-des").css("max-height", "250px")
|
||||
table = '<table id="his-field">'
|
||||
for (var i = 0; i < json.fields.length; i++) {
|
||||
var fname = json.fields[i].name;
|
||||
var fval = json.fields[i].value;
|
||||
var fname = json.fields[i].name
|
||||
var fval = json.fields[i].value
|
||||
if (json.fields[i].verified_at) {
|
||||
var when = lang.lang_showontl_verified + ":" + crat(json.fields[i].verified_at);
|
||||
var color = "rgba(121,189,154,.25);";
|
||||
var when = lang.lang_showontl_verified + ":" + crat(json.fields[i].verified_at)
|
||||
var color = "rgba(121,189,154,.25);"
|
||||
} else {
|
||||
var when = "";
|
||||
var color = "inherit";
|
||||
var when = ""
|
||||
var color = "inherit"
|
||||
}
|
||||
table = table + '<tr><td class="his-field-title">' + escapeHTML(fname) + '</td><td class="his-field-content" title="' + when + '" style="background-color:' + color + '">' + fval + "</td></tr>";
|
||||
table = table + '<tr><td class="his-field-title">' + escapeHTML(fname) + '</td><td class="his-field-content" title="' + when + '" style="background-color:' + color + '">' + fval + "</td></tr>"
|
||||
}
|
||||
table = table + "</table>";
|
||||
$("#his-des").html(twemoji.parse(note));
|
||||
table = table + "</table>"
|
||||
$("#his-des").html(twemoji.parse(note))
|
||||
} else {
|
||||
$("#his-des").css("max-height", "400px");
|
||||
$("#his-des").css("max-height", "400px")
|
||||
}
|
||||
$("#his-table").html(twemoji.parse(table));
|
||||
$("#his-table").html(twemoji.parse(table))
|
||||
} else {
|
||||
$("#his-des").css("max-height", "400px");
|
||||
$("#his-des").css("max-height", "400px")
|
||||
}
|
||||
$("#his-des").html(twemoji.parse(note));
|
||||
$("#his-des").html(twemoji.parse(note))
|
||||
if (json.bot) {
|
||||
$("#his-bot").html(lang.lang_showontl_botacct);
|
||||
$("#his-bot").html(lang.lang_showontl_botacct)
|
||||
}
|
||||
$("#his-des").attr("data-acct", acct_id);
|
||||
$("#his-data").css("background-size", "cover");
|
||||
$("#his-float-timeline").css("height", $("#his-data-show").height() + "px");
|
||||
localStorage.setItem("history", user);
|
||||
$("#his-des").attr("data-acct", acct_id)
|
||||
$("#his-data").css("background-size", "cover")
|
||||
$("#his-float-timeline").css("height", $("#his-data-show").height() + "px")
|
||||
localStorage.setItem("history", user)
|
||||
//自分の時
|
||||
if (json.acct == localStorage.getItem("user_" + acct_id)) {
|
||||
showFav("", acct_id);
|
||||
showBlo("", acct_id);
|
||||
showMut("", acct_id);
|
||||
showDom("", acct_id);
|
||||
showReq("", acct_id);
|
||||
showFrl("", acct_id);
|
||||
$("#his-name-val").val(json.display_name);
|
||||
showFav("", acct_id)
|
||||
showBlo("", acct_id)
|
||||
showMut("", acct_id)
|
||||
showDom("", acct_id)
|
||||
showReq("", acct_id)
|
||||
showFrl("", acct_id)
|
||||
$("#his-name-val").val(json.display_name)
|
||||
if (json.fields.length > 0) {
|
||||
if (json.fields[0]) {
|
||||
$("#his-f1-name").val(json.fields[0].name);
|
||||
$("#his-f1-val").val($.strip_tags(json.fields[0].value));
|
||||
$("#his-f1-name").val(json.fields[0].name)
|
||||
$("#his-f1-val").val($.strip_tags(json.fields[0].value))
|
||||
}
|
||||
if (json.fields[1]) {
|
||||
$("#his-f2-name").val(json.fields[1].name);
|
||||
$("#his-f2-val").val($.strip_tags(json.fields[1].value));
|
||||
$("#his-f2-name").val(json.fields[1].name)
|
||||
$("#his-f2-val").val($.strip_tags(json.fields[1].value))
|
||||
}
|
||||
if (json.fields[2]) {
|
||||
$("#his-f3-name").val(json.fields[2].name);
|
||||
$("#his-f3-val").val($.strip_tags(json.fields[2].value));
|
||||
$("#his-f3-name").val(json.fields[2].name)
|
||||
$("#his-f3-val").val($.strip_tags(json.fields[2].value))
|
||||
}
|
||||
if (json.fields[3]) {
|
||||
$("#his-f4-name").val(json.fields[3].name);
|
||||
$("#his-f4-val").val($.strip_tags(json.fields[3].value));
|
||||
$("#his-f4-name").val(json.fields[3].name)
|
||||
$("#his-f4-val").val($.strip_tags(json.fields[3].value))
|
||||
}
|
||||
}
|
||||
var des = json.note;
|
||||
des = des.replace(/<br \/>/g, "\n");
|
||||
des = $.strip_tags(des);
|
||||
$("#his-des-val").val(des);
|
||||
$("#his-follow-btn").hide();
|
||||
$("#his-block-btn").hide();
|
||||
$("#his-mute-btn").hide();
|
||||
$("#his-notf-btn").hide();
|
||||
$("#his-domain-btn").hide();
|
||||
$("#his-emp-btn").hide();
|
||||
$(".only-my-data").show();
|
||||
$(".only-his-data").hide();
|
||||
var des = json.note
|
||||
des = des.replace(/<br \/>/g, "\n")
|
||||
des = $.strip_tags(des)
|
||||
$("#his-des-val").val(des)
|
||||
$("#his-follow-btn").hide()
|
||||
$("#his-block-btn").hide()
|
||||
$("#his-mute-btn").hide()
|
||||
$("#his-notf-btn").hide()
|
||||
$("#his-domain-btn").hide()
|
||||
$("#his-emp-btn").hide()
|
||||
$(".only-my-data").show()
|
||||
$(".only-his-data").hide()
|
||||
if (localStorage.getItem("main") == acct_id) {
|
||||
$("#his-main-acct").hide();
|
||||
$("#his-main-acct").hide()
|
||||
}
|
||||
} else {
|
||||
relations(user, acct_id);
|
||||
$(".only-my-data").hide();
|
||||
$(".only-his-data").show();
|
||||
relations(user, acct_id)
|
||||
$(".only-my-data").hide()
|
||||
$(".only-his-data").show()
|
||||
}
|
||||
todc()
|
||||
if(json.locked) {
|
||||
$('#his-data').addClass('locked')
|
||||
} else {
|
||||
$('#his-data').removeClass('locked')
|
||||
}
|
||||
todc();
|
||||
//外部データ取得(死かもしれないので)
|
||||
udAdd(acct_id, user, json.url);
|
||||
});
|
||||
udAdd(acct_id, user, json.url)
|
||||
})
|
||||
}
|
||||
function misskeyUdg(user, acct_id) {
|
||||
reset();
|
||||
reset()
|
||||
if (!user) {
|
||||
user = localStorage.getItem("user-id_" + acct_id);
|
||||
user = localStorage.getItem("user-id_" + acct_id)
|
||||
}
|
||||
todo("User Data Loading...");
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
todo("User Data Loading...")
|
||||
var domain = localStorage.getItem("domain_" + acct_id)
|
||||
if (localStorage.getItem("mode_" + domain) != "misskey") {
|
||||
udg(user, acct_id);
|
||||
return;
|
||||
udg(user, acct_id)
|
||||
return
|
||||
}
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/users/show";
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at")
|
||||
var start = "https://" + domain + "/api/users/show"
|
||||
fetch(start, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
@@ -269,127 +274,127 @@ function misskeyUdg(user, acct_id) {
|
||||
.then(function(response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function(text) {
|
||||
setLog(response.url, response.status, text);
|
||||
});
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json();
|
||||
return response.json()
|
||||
})
|
||||
.catch(function(error) {
|
||||
todo(error);
|
||||
setLog(start, "JSON", error);
|
||||
console.error(error);
|
||||
todo(error)
|
||||
setLog(start, "JSON", error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function(json) {
|
||||
//一つ前のユーザーデータ
|
||||
if (!localStorage.getItem("history")) {
|
||||
$("#his-history-btn").prop("disabled", true);
|
||||
$("#his-history-btn").prop("disabled", true)
|
||||
} else {
|
||||
$("#his-history-btn").prop("disabled", false);
|
||||
$("#his-data").attr("history", localStorage.getItem("history"));
|
||||
$("#his-history-btn").prop("disabled", false)
|
||||
$("#his-data").attr("history", localStorage.getItem("history"))
|
||||
}
|
||||
$("#his-data").modal("open");
|
||||
$("#his-data").attr("user-id", user);
|
||||
$("#his-data").attr("use-acct", acct_id);
|
||||
$("#his-data").modal("open")
|
||||
$("#his-data").attr("user-id", user)
|
||||
$("#his-data").attr("use-acct", acct_id)
|
||||
if (json.host) {
|
||||
//Remote
|
||||
$("#his-data").attr("remote", "false");
|
||||
var fullname = json.username + "@" + json.host;
|
||||
$("#his-data").attr("remote", "false")
|
||||
var fullname = json.username + "@" + json.host
|
||||
} else {
|
||||
$("#his-data").attr("remote", "false");
|
||||
var fullname = json.acct + "@" + domain;
|
||||
$("#his-data").attr("remote", "false")
|
||||
var fullname = json.acct + "@" + domain
|
||||
}
|
||||
utlShow(json.id, "", acct_id);
|
||||
flw(json.id, "", acct_id);
|
||||
fer(json.id, "", acct_id);
|
||||
utlShow(json.id, "", acct_id)
|
||||
flw(json.id, "", acct_id)
|
||||
fer(json.id, "", acct_id)
|
||||
if (json.name) {
|
||||
var dis_name = escapeHTML(json.name);
|
||||
dis_name = twemoji.parse(dis_name);
|
||||
var dis_name = escapeHTML(json.name)
|
||||
dis_name = twemoji.parse(dis_name)
|
||||
} else {
|
||||
var dis_name = json.name;
|
||||
var dis_name = json.name
|
||||
}
|
||||
$("#his-name").html(dis_name);
|
||||
$("#his-acct").text(json.username);
|
||||
$("#his-acct").attr("fullname", fullname);
|
||||
$("#his-prof").attr("src", json.avatarUrl);
|
||||
$("#his-data").css("background-image", "url(" + json.bannerUrl + ")");
|
||||
$("#his-sta").text(json.notesCount);
|
||||
$("#his-follow").text(json.followingCount);
|
||||
$("#his-follower").text(json.followersCount);
|
||||
$("#his-since").text(crat(json.createdAt));
|
||||
var note = escapeHTML(json.description);
|
||||
$("#his-des").html(twemoji.parse(note));
|
||||
$("#his-name").html(dis_name)
|
||||
$("#his-acct").text(json.username)
|
||||
$("#his-acct").attr("fullname", fullname)
|
||||
$("#his-prof").attr("src", json.avatarUrl)
|
||||
$("#his-data").css("background-image", "url(" + json.bannerUrl + ")")
|
||||
$("#his-sta").text(json.notesCount)
|
||||
$("#his-follow").text(json.followingCount)
|
||||
$("#his-follower").text(json.followersCount)
|
||||
$("#his-since").text(crat(json.createdAt))
|
||||
var note = escapeHTML(json.description)
|
||||
$("#his-des").html(twemoji.parse(note))
|
||||
if (json.isCat) {
|
||||
$("#his-bot").html("Cat" + twemoji.parse("😺"));
|
||||
$("#his-bot").html("Cat" + twemoji.parse("😺"))
|
||||
}
|
||||
$("#his-data").css("background-size", "cover");
|
||||
localStorage.setItem("history", user);
|
||||
$("#his-data").css("background-size", "cover")
|
||||
localStorage.setItem("history", user)
|
||||
//自分の時
|
||||
if (json.username == localStorage.getItem("user_" + acct_id) && !json.host) {
|
||||
//showFav('', acct_id);
|
||||
//showMut('', acct_id);
|
||||
//showReq('', acct_id);
|
||||
showFrl("", acct_id);
|
||||
$("#his-name-val").val(json.name);
|
||||
var des = json.note;
|
||||
des = nl2br(des);
|
||||
des = $.strip_tags(des);
|
||||
$("#his-des-val").val(des);
|
||||
$("#his-follow-btn").hide();
|
||||
$("#his-block-btn").hide();
|
||||
$("#his-mute-btn").hide();
|
||||
$("#his-notf-btn").hide();
|
||||
$("#his-domain-btn").hide();
|
||||
$("#his-emp-btn").hide();
|
||||
$(".only-my-data").show();
|
||||
$(".only-his-data").hide();
|
||||
showFrl("", acct_id)
|
||||
$("#his-name-val").val(json.name)
|
||||
var des = json.note
|
||||
des = nl2br(des)
|
||||
des = $.strip_tags(des)
|
||||
$("#his-des-val").val(des)
|
||||
$("#his-follow-btn").hide()
|
||||
$("#his-block-btn").hide()
|
||||
$("#his-mute-btn").hide()
|
||||
$("#his-notf-btn").hide()
|
||||
$("#his-domain-btn").hide()
|
||||
$("#his-emp-btn").hide()
|
||||
$(".only-my-data").show()
|
||||
$(".only-his-data").hide()
|
||||
if (localStorage.getItem("main") == acct_id) {
|
||||
$("#his-main-acct").hide();
|
||||
$("#his-main-acct").hide()
|
||||
}
|
||||
} else {
|
||||
if (json.isFollowing) {
|
||||
//自分がフォローしている
|
||||
$("#his-data").addClass("following");
|
||||
$("#his-follow-btn-text").text(lang.lang_status_unfollow);
|
||||
hisList(user, acct_id);
|
||||
$("#his-data").addClass("following")
|
||||
$("#his-follow-btn-text").text(lang.lang_status_unfollow)
|
||||
hisList(user, acct_id)
|
||||
} else {
|
||||
$("#his-follow-btn-text").text(lang.lang_status_follow);
|
||||
$("#his-follow-btn-text").text(lang.lang_status_follow)
|
||||
}
|
||||
if (json.isFollowed) {
|
||||
//フォローされてる
|
||||
$("#his-relation").text(lang.lang_showontl_followed);
|
||||
$("#his-relation").text(lang.lang_showontl_followed)
|
||||
}
|
||||
$("#his-block-btn").hide();
|
||||
$("#his-block-btn").hide()
|
||||
if (json.isMuted) {
|
||||
$("#his-data").addClass("muting");
|
||||
$("#his-mute-btn-text").text(lang.lang_status_unmute);
|
||||
$("#his-data").addClass("muting")
|
||||
$("#his-mute-btn-text").text(lang.lang_status_unmute)
|
||||
} else {
|
||||
$("#his-mute-btn-text").text(lang.lang_status_mute);
|
||||
$("#his-mute-btn-text").text(lang.lang_status_mute)
|
||||
}
|
||||
$(".only-my-data").hide();
|
||||
$(".only-his-data").show();
|
||||
$(".only-my-data").hide()
|
||||
$(".only-his-data").show()
|
||||
}
|
||||
todc();
|
||||
});
|
||||
todc()
|
||||
})
|
||||
}
|
||||
//一つ前のユーザーデータ表示
|
||||
function historyShow() {
|
||||
var acct_id = $("#his-data").attr("use-acct");
|
||||
var user = $("#his-data").attr("history");
|
||||
udg(user, acct_id, "true");
|
||||
var acct_id = $("#his-data").attr("use-acct")
|
||||
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);
|
||||
udg(user, acct_id);
|
||||
hide();
|
||||
var acct_id = $("#post-acct-sel").val()
|
||||
var user = localStorage.getItem("user-id_" + acct_id)
|
||||
udg(user, acct_id)
|
||||
hide()
|
||||
}
|
||||
|
||||
//FF関係取得
|
||||
function relations(user, acct_id) {
|
||||
var domain = localStorage.getItem("domain_" + acct_id);
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at");
|
||||
var start = "https://" + domain + "/api/v1/accounts/relationships?id=" + user;
|
||||
var domain = localStorage.getItem("domain_" + acct_id)
|
||||
var at = localStorage.getItem("acct_" + acct_id + "_at")
|
||||
var start = "https://" + domain + "/api/v1/accounts/relationships?id=" + user
|
||||
fetch(start, {
|
||||
method: "GET",
|
||||
headers: {
|
||||
@@ -400,151 +405,158 @@ function relations(user, acct_id) {
|
||||
.then(function(response) {
|
||||
if (!response.ok) {
|
||||
response.text().then(function(text) {
|
||||
setLog(response.url, response.status, text);
|
||||
});
|
||||
setLog(response.url, response.status, text)
|
||||
})
|
||||
}
|
||||
return response.json();
|
||||
return response.json()
|
||||
})
|
||||
.catch(function(error) {
|
||||
todo(error);
|
||||
setLog(start, "JSON", error);
|
||||
console.error(error);
|
||||
todo(error)
|
||||
setLog(start, "JSON", error)
|
||||
console.error(error)
|
||||
})
|
||||
.then(function(json) {
|
||||
var json = json[0];
|
||||
var json = json[0]
|
||||
if(json.requested) {
|
||||
//フォロリク中
|
||||
$('#his-data').addClass('following')
|
||||
$("#his-follow-btn-text").text(lang.lang_status_requesting)
|
||||
}
|
||||
if (json.following) {
|
||||
//自分がフォローしている
|
||||
$("#his-data").addClass("following");
|
||||
$("#his-follow-btn-text").text(lang.lang_status_unfollow);
|
||||
hisList(user, acct_id);
|
||||
$("#his-data").addClass("following")
|
||||
$("#his-follow-btn-text").text(lang.lang_status_unfollow)
|
||||
hisList(user, acct_id)
|
||||
} else {
|
||||
$("#his-follow-btn-text").text(lang.lang_status_follow);
|
||||
$("#his-follow-btn-text").text(lang.lang_status_follow)
|
||||
}
|
||||
if (json.followed_by) {
|
||||
//フォローされてる
|
||||
$("#his-relation").text(lang.lang_showontl_followed);
|
||||
$("#his-relation").text(lang.lang_showontl_followed)
|
||||
}
|
||||
if (json.blocking) {
|
||||
$("#his-data").addClass("blocking");
|
||||
$("#his-block-btn-text").text(lang.lang_status_unblock);
|
||||
$("#his-data").addClass("blocking")
|
||||
$("#his-block-btn-text").text(lang.lang_status_unblock)
|
||||
} else {
|
||||
$("#his-block-btn-text").text(lang.lang_status_block);
|
||||
$("#his-block-btn-text").text(lang.lang_status_block)
|
||||
}
|
||||
if (json.muting) {
|
||||
$("#his-data").addClass("muting");
|
||||
$("#his-mute-btn-text").text(lang.lang_status_unmute);
|
||||
$("#his-data").addClass("muting")
|
||||
$("#his-mute-btn-text").text(lang.lang_status_unmute)
|
||||
} else {
|
||||
$("#his-mute-btn-text").text(lang.lang_status_mute);
|
||||
$("#his-mute-btn-text").text(lang.lang_status_mute)
|
||||
}
|
||||
if (json.muting_notifications) {
|
||||
$("#his-data").addClass("mutingNotf");
|
||||
$("#his-notf-btn-text").text(lang.lang_showontl_notf + lang.lang_status_unmute);
|
||||
$("#his-data").addClass("mutingNotf")
|
||||
$("#his-notf-btn-text").text(lang.lang_showontl_notf + lang.lang_status_unmute)
|
||||
} else {
|
||||
$("#his-notf-btn-text").text(lang.lang_showontl_notf + lang.lang_status_mute);
|
||||
$("#his-notf-btn-text").text(lang.lang_showontl_notf + lang.lang_status_mute)
|
||||
}
|
||||
if (json.domain_blocking) {
|
||||
$("#his-data").addClass("blockingDom");
|
||||
$("#his-domain-btn-text").text(lang.lang_showontl_domain + lang.lang_status_unblock);
|
||||
$("#his-data").addClass("blockingDom")
|
||||
$("#his-domain-btn-text").text(lang.lang_showontl_domain + lang.lang_status_unblock)
|
||||
} else {
|
||||
$("#his-domain-btn-text").text(lang.lang_showontl_domain + lang.lang_status_block);
|
||||
$("#his-domain-btn-text").text(lang.lang_showontl_domain + lang.lang_status_block)
|
||||
}
|
||||
//Endorsed
|
||||
if (json.endorsed) {
|
||||
$("#his-end-btn").addClass("endorsed");
|
||||
$("#his-end-btn-text").text(lang.lang_status_unendorse);
|
||||
$("#his-end-btn").addClass("endorsed")
|
||||
$("#his-end-btn-text").text(lang.lang_status_unendorse)
|
||||
} else {
|
||||
$("#his-end-btn").removeClass("endorsed");
|
||||
$("#his-end-btn-text").text(lang.lang_status_endorse);
|
||||
$("#his-end-btn").removeClass("endorsed")
|
||||
$("#his-end-btn-text").text(lang.lang_status_endorse)
|
||||
}
|
||||
//Blocked
|
||||
if (json.blocked_by) {
|
||||
$("#my-data-nav .btn").addClass("disabled");
|
||||
$(".his-var-content").hide();
|
||||
$("#his-float-blocked").show();
|
||||
$("#his-follow-btn").hide();
|
||||
$("#my-data-nav .btn").addClass("disabled")
|
||||
$(".his-var-content").hide()
|
||||
$("#his-float-blocked").show()
|
||||
$("#his-follow-btn").hide()
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
function profbrws() {
|
||||
var url = $("#his-openin").attr("data-href");
|
||||
postMessage(["openUrl", url], "*");
|
||||
var url = $("#his-openin").attr("data-href")
|
||||
postMessage(["openUrl", url], "*")
|
||||
}
|
||||
function setMain() {
|
||||
var acct_id = $("#his-data").attr("use-acct");
|
||||
localStorage.setItem("main", acct_id);
|
||||
multiSelector(true);
|
||||
M.toast({ html: lang.lang_manager_mainAcct, displayLength: 3000 });
|
||||
var acct_id = $("#his-data").attr("use-acct")
|
||||
localStorage.setItem("main", acct_id)
|
||||
multiSelector(true)
|
||||
M.toast({ html: lang.lang_manager_mainAcct, displayLength: 3000 })
|
||||
}
|
||||
//オールリセット
|
||||
function hisclose() {
|
||||
$("#his-data").modal("close");
|
||||
reset();
|
||||
$("#his-data").attr("history", "");
|
||||
localStorage.removeItem("history");
|
||||
$("#his-data").modal("close")
|
||||
reset()
|
||||
$("#his-data").attr("history", "")
|
||||
localStorage.removeItem("history")
|
||||
}
|
||||
function reset() {
|
||||
$(".his-var-content:eq(0)").show();
|
||||
$(".his-var-content:gt(0)").hide();
|
||||
$("#my-data-nav .btn").removeClass("disabled");
|
||||
$(".active-back").removeClass("active-back");
|
||||
$(".column-first").addClass("active-back");
|
||||
$("#his-name").text("Loading");
|
||||
$("#his-acct").text("");
|
||||
$("#his-prof").attr("src", "../../img/loading.svg");
|
||||
$("#his-data").css("background-image", "url(../../img/loading.svg)");
|
||||
$("#his-sta").text("");
|
||||
$("#his-follow").text("");
|
||||
$("#his-follower").text("");
|
||||
$("#his-des").html("");
|
||||
$("#his-data").css("background-size", "cover");
|
||||
$("#his-since").text("");
|
||||
$("#his-data").removeClass("following");
|
||||
$("#his-data").removeClass("muting");
|
||||
$("#his-data").removeClass("blocking");
|
||||
$("#his-data").removeClass("mutingNotf");
|
||||
$("#his-data").removeClass("blockingDom");
|
||||
$("#his-end-btn").removeClass("endorsed");
|
||||
$("#his-des").css("max-height", "250px");
|
||||
$("#his-bot").html("");
|
||||
$("#his-follow-btn").show();
|
||||
$("#his-block-btn").show();
|
||||
$("#his-mute-btn").show();
|
||||
$("#his-notf-btn").show();
|
||||
$("#his-domain-btn").show();
|
||||
$("#his-emp-btn").show();
|
||||
$("#his-follow-btn-text").text(lang.lang_status_follow);
|
||||
$("#his-mute-btn-text").text(lang.lang_status_mute);
|
||||
$("#his-block-btn-text").text(lang.lang_status_block);
|
||||
$("#his-notf-btn").text(lang.lang_showontl_notf + lang.lang_status_mute);
|
||||
$("#his-domain-btn").text(lang.lang_showontl_domain + lang.lang_status_block);
|
||||
$("#his-relation").text("");
|
||||
$(".cont-series").html("");
|
||||
$("#domainblock").val("");
|
||||
$("#his-lists-a").html(lang.lang_showontl_listwarn);
|
||||
$("#his-lists-b").html("");
|
||||
$("#his-name-val").val("");
|
||||
$("#his-des-val").val("");
|
||||
$("#his-f1-name").val("");
|
||||
$("#his-f1-val").val("");
|
||||
$("#his-f2-name").val("");
|
||||
$("#his-f2-val").val("");
|
||||
$("#his-f3-name").val("");
|
||||
$("#his-f3-val").val("");
|
||||
$("#his-f4-name").val("");
|
||||
$("#his-f4-val").val("");
|
||||
$("#his-endorse").html("");
|
||||
$("#his-openin").attr("data-href", "");
|
||||
$("#his-float-timeline").show();
|
||||
$("#his-float-blocked").hide();
|
||||
$("#his-main-acct").show();
|
||||
$("#his-proof-prof").html("");
|
||||
$(".his-var-content:eq(0)").show()
|
||||
$(".his-var-content:gt(0)").hide()
|
||||
$("#my-data-nav .btn").removeClass("disabled")
|
||||
$(".active-back").removeClass("active-back")
|
||||
$(".column-first").addClass("active-back")
|
||||
$("#his-name").text("Loading")
|
||||
$("#his-acct").text("")
|
||||
$("#his-prof").attr("src", "../../img/loading.svg")
|
||||
$("#his-data").css("background-image", "url(../../img/loading.svg)")
|
||||
$("#his-sta").text("")
|
||||
$("#his-follow").text("")
|
||||
$("#his-follower").text("")
|
||||
$("#his-des").html("")
|
||||
$("#his-data").css("background-size", "cover")
|
||||
$("#his-since").text("")
|
||||
$("#his-data").removeClass("following")
|
||||
$("#his-data").removeClass("muting")
|
||||
$("#his-data").removeClass("blocking")
|
||||
$("#his-data").removeClass("mutingNotf")
|
||||
$("#his-data").removeClass("blockingDom")
|
||||
$("#his-end-btn").removeClass("endorsed")
|
||||
$("#his-des").css("max-height", "250px")
|
||||
$("#his-bot").html("")
|
||||
$("#his-follow-btn").show()
|
||||
$("#his-block-btn").show()
|
||||
$("#his-mute-btn").show()
|
||||
$("#his-notf-btn").show()
|
||||
$("#his-domain-btn").show()
|
||||
$("#his-emp-btn").show()
|
||||
$("#his-follow-btn-text").text(lang.lang_status_follow)
|
||||
$("#his-mute-btn-text").text(lang.lang_status_mute)
|
||||
$("#his-block-btn-text").text(lang.lang_status_block)
|
||||
$("#his-notf-btn").text(lang.lang_showontl_notf + lang.lang_status_mute)
|
||||
$("#his-domain-btn").text(lang.lang_showontl_domain + lang.lang_status_block)
|
||||
$("#his-relation").text("")
|
||||
$(".cont-series").html("")
|
||||
$("#domainblock").val("")
|
||||
$("#his-lists-a").html(lang.lang_showontl_listwarn)
|
||||
$("#his-lists-b").html("")
|
||||
$("#his-name-val").val("")
|
||||
$("#his-des-val").val("")
|
||||
$("#his-f1-name").val("")
|
||||
$("#his-f1-val").val("")
|
||||
$("#his-f2-name").val("")
|
||||
$("#his-f2-val").val("")
|
||||
$("#his-f3-name").val("")
|
||||
$("#his-f3-val").val("")
|
||||
$("#his-f4-name").val("")
|
||||
$("#his-f4-val").val("")
|
||||
$("#his-endorse").html("")
|
||||
$("#his-openin").attr("data-href", "")
|
||||
$("#his-float-timeline").show()
|
||||
$("#his-float-blocked").hide()
|
||||
$("#his-main-acct").show()
|
||||
$("#his-proof-prof").html("")
|
||||
$('#his-data').removeClass('locked')
|
||||
$('#his-data').removeClass('requesting')
|
||||
}
|
||||
$("#my-data-nav .anc-link").on("click", function() {
|
||||
var target = $(this).attr("go");
|
||||
var target = $(this).attr("go")
|
||||
if (target) {
|
||||
$("#my-data-nav .anc-link").removeClass("active-back");
|
||||
$(this).addClass("active-back");
|
||||
$(target).show();
|
||||
$(".his-var-content:not(" + target + ")").hide();
|
||||
$("#my-data-nav .anc-link").removeClass("active-back")
|
||||
$(this).addClass("active-back")
|
||||
$(target).show()
|
||||
$(".his-var-content:not(" + target + ")").hide()
|
||||
}
|
||||
});
|
||||
})
|
||||
|
@@ -79,7 +79,11 @@ function createWindow() {
|
||||
if(lang == 'ja') {
|
||||
const maxims = JSON.parse(fs.readFileSync(__dirname + '/maxim.ja.json'))
|
||||
var show = maxims[Math.floor(Math.random() * maxims.length)]
|
||||
} else {
|
||||
} else if(lang == 'ja-KS') {
|
||||
//ja-KSも作れたらいいね
|
||||
const maxims = JSON.parse(fs.readFileSync(__dirname + '/maxim.ja.json'))
|
||||
var show = maxims[Math.floor(Math.random() * maxims.length)]
|
||||
} else{
|
||||
var show = 'TheDesk 2018'
|
||||
}
|
||||
const data = JSON.parse(package)
|
||||
|
205
app/main/css.js
205
app/main/css.js
@@ -31,23 +31,131 @@ function css(mainWindow) {
|
||||
}
|
||||
})
|
||||
ipc.on('theme-json-delete', function (e, arg) {
|
||||
var themecss = join(app.getPath("userData"), arg + ".thedesktheme");
|
||||
try{
|
||||
var themecss = join(app.getPath("userData"), arg);
|
||||
console.log(themecss);
|
||||
fs.unlink(themecss, function (err) {
|
||||
e.sender.webContents.send('theme-json-delete-complete', "");
|
||||
});
|
||||
} catch {
|
||||
e.sender.webContents.send('theme-json-delete-complete', 'cannot delete');
|
||||
}
|
||||
|
||||
})
|
||||
ipc.on('theme-json-request', function (e, arg) {
|
||||
var themecss = join(app.getPath("userData"), arg + ".thedesktheme");
|
||||
try {
|
||||
var themecss = join(app.getAppPath(), '/source/themes', arg)
|
||||
var raw = fs.readFileSync(themecss, 'utf8')
|
||||
var json = JSON5.parse(raw);
|
||||
var json = JSON5.parse(raw)
|
||||
} catch {
|
||||
var themecss = join(app.getPath("userData"), arg)
|
||||
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 = JSON5.parse(fs.readFileSync(themecss, 'utf8'));
|
||||
var themecss = join(app.getAppPath(), '/source/themes', arg)
|
||||
var json = JSON5.parse(fs.readFileSync(themecss, 'utf8'))
|
||||
} catch {
|
||||
var themecss = join(app.getPath("userData"), arg)
|
||||
var json = JSON5.parse(fs.readFileSync(themecss, 'utf8'))
|
||||
}
|
||||
|
||||
try {
|
||||
var css
|
||||
if (json.version) {
|
||||
var bg = json.primary.background
|
||||
var subcolor = json.primary.subcolor
|
||||
var text = json.primary.text
|
||||
var accent = json.primary.accent
|
||||
if (json.base == "light") {
|
||||
var drag = "rgba(255, 255, 255, 0.8)";
|
||||
var beforehover = "#757575";
|
||||
var selected = "#3f3f3f"
|
||||
var selectedWithShare = "#b2babd"
|
||||
var gray = "#757575"
|
||||
var hisData = 'rgba(255, 255, 255, 0.9)'
|
||||
} else {
|
||||
var drag = "rgba(0, 0, 0, 0.8)";
|
||||
var beforehover = "#9e9e9e";
|
||||
var selected = "#c0c0c0"
|
||||
var selectedWithShare = "#003a30"
|
||||
var gray = "#cccccc"
|
||||
var hisData = 'rgba(0, 0, 0, 0.8)'
|
||||
}
|
||||
if (!json.advanced) {
|
||||
json.advanced = {}
|
||||
}
|
||||
if (json.advanced.modal) {
|
||||
var modal = json.advanced.modal
|
||||
} else {
|
||||
var modal = bg
|
||||
}
|
||||
if (json.advanced.modalFooter) {
|
||||
var modalFooter = json.advanced.modalFooter
|
||||
} else {
|
||||
var modalFooter = bg
|
||||
if (modal != bg) modalFooter = modal
|
||||
}
|
||||
if (json.advanced.thirdColor) {
|
||||
var thirdColor = json.advanced.thirdColor
|
||||
} else {
|
||||
var thirdColor = subcolor
|
||||
}
|
||||
if (json.advanced.forthColor) {
|
||||
var forthColor = json.advanced.forthColor
|
||||
} else {
|
||||
var forthColor = subcolor
|
||||
if (thirdColor != subcolor) forthColor = thirdColor
|
||||
}
|
||||
if (json.advanced.bottom) {
|
||||
var bottom = json.advanced.bottom
|
||||
} else {
|
||||
var bottom = subcolor
|
||||
}
|
||||
if (json.advanced.emphasized) {
|
||||
var emphasized = json.advanced.emphasized
|
||||
} else {
|
||||
var emphasized = accent
|
||||
}
|
||||
if (json.advanced.postbox) {
|
||||
var postbox = json.advanced.postbox
|
||||
} else {
|
||||
var postbox = subcolor
|
||||
}
|
||||
if (json.advanced.active) {
|
||||
var active = json.advanced.active
|
||||
} else {
|
||||
var active = accent
|
||||
}
|
||||
if (json.advanced.selected) {
|
||||
var selected = json.advanced.selected
|
||||
}
|
||||
if (json.advanced.selectedWithShare) {
|
||||
var selectedWithShare = json.advanced.selectedWithShare
|
||||
}
|
||||
|
||||
var css = ":root {--bg:" + bg + ";--drag:" + drag + ";" +
|
||||
"--text:" + text + ";--beforehover:" + beforehover + ";--modal:" +
|
||||
modal + ";--thirdColor:" + thirdColor + ";--subcolor:" + forthColor +
|
||||
";--bottom:" + bottom + ";--accent:" + accent + ";" + ";--emphasized:" + emphasized + ";--his-data:" +
|
||||
hisData +
|
||||
";--active:" + active + ";--postbox:" + postbox + ";--modalfooter:" +
|
||||
modalFooter + ";--selected:" + selected + ";--selectedWithShare:" + selectedWithShare +
|
||||
"--gray:" + gray + ";}" +
|
||||
".customtheme #imagemodal{background: url(\"../img/pixel.svg\");}";
|
||||
} else {
|
||||
var css = compatibleTheme(json)
|
||||
}
|
||||
e.sender.webContents.send('theme-css-response', css);
|
||||
} catch (e) {
|
||||
var css = "";
|
||||
}
|
||||
|
||||
})
|
||||
function compatibleTheme(json) {
|
||||
var primary = json.vars.primary;
|
||||
var secondary = json.vars.secondary;
|
||||
var text = json.vars.text;
|
||||
@@ -64,34 +172,34 @@ function css(mainWindow) {
|
||||
var selectedWithShare = "#003a30"
|
||||
var gray = "#cccccc"
|
||||
}
|
||||
if (json.props) {
|
||||
if (json.props.TheDeskAccent) {
|
||||
var emphasized = json.props.TheDeskAccent
|
||||
if (json.advanced) {
|
||||
if (json.advanced.TheDeskAccent) {
|
||||
var emphasized = json.advanced.TheDeskAccent
|
||||
} else {
|
||||
var emphasized = secondary
|
||||
}
|
||||
if (json.props.TheDeskActive) {
|
||||
var active = json.props.TheDeskActive
|
||||
if (json.advanced.TheDeskActive) {
|
||||
var active = json.advanced.TheDeskActive
|
||||
} else {
|
||||
var active = primary
|
||||
}
|
||||
if (json.props.TheDeskModal) {
|
||||
var modal = json.props.TheDeskModal
|
||||
if (json.advanced.TheDeskModal) {
|
||||
var modal = json.advanced.TheDeskModal
|
||||
} else {
|
||||
var modal = secondary
|
||||
}
|
||||
if (json.props.TheDeskBottom) {
|
||||
var bottom = json.props.TheDeskBottom
|
||||
if (json.advanced.TheDeskBottom) {
|
||||
var bottom = json.advanced.TheDeskBottom
|
||||
} else {
|
||||
var bottom = primary
|
||||
}
|
||||
if (json.props.TheDeskPostbox) {
|
||||
var postbox = json.props.TheDeskPostbox
|
||||
if (json.advanced.TheDeskPostbox) {
|
||||
var postbox = json.advanced.TheDeskPostbox
|
||||
} else {
|
||||
var postbox = primary
|
||||
}
|
||||
if (json.props.TheDeskSubcolor) {
|
||||
var subcolor = json.props.TheDeskSubcolor
|
||||
if (json.advanced.TheDeskSubcolor) {
|
||||
var subcolor = json.advanced.TheDeskSubcolor
|
||||
} else {
|
||||
var subcolor = primary
|
||||
}
|
||||
@@ -106,44 +214,63 @@ function css(mainWindow) {
|
||||
}
|
||||
|
||||
var css = ".customtheme {--bg:" + secondary + ";--drag:" + drag + ";" +
|
||||
"--color:" + text + ";--beforehover:" + beforehover + ";--modal:" +
|
||||
modal + ";--subcolor:" + subcolor + ";--box:" + subcolor +
|
||||
";--sidebar:" + bottom + ";--shared:" + emphasized + ";" +
|
||||
"--notfbox:" + secondary + ";--emphasized:" + active + ";--his-data:" +
|
||||
"--text:" + text + ";--beforehover:" + beforehover + ";--modal:" +
|
||||
modal + ";--thirdColor:" + subcolor + ";--subcolor:" + subcolor +
|
||||
";--bottom:" + bottom + ";--accent:" + emphasized + ";" +
|
||||
"--subcolor:" + secondary + ";--emphasized:" + active + ";--his-data:" +
|
||||
secondary +
|
||||
";--active:" + active + ";--postbox:" + postbox + ";--modalfooter:" +
|
||||
primary +
|
||||
";--accentbtn:" + subcolor + ";--selected:" + selected + ";--selectedWithShare:" + selectedWithShare + "}"+
|
||||
"--gray:" + gray + ";"+
|
||||
";--active:" + subcolor + ";--selected:" + selected + ";--selectedWithShare:" + selectedWithShare + "}" +
|
||||
"--gray:" + gray + ";" +
|
||||
".customtheme #imagemodal{background: url(\"../img/pixel.svg\");}";
|
||||
e.sender.webContents.send('theme-css-response', css);
|
||||
} catch (e) {
|
||||
var css = "";
|
||||
return css
|
||||
}
|
||||
|
||||
})
|
||||
ipc.on('theme-json-list', function (e, arg) {
|
||||
fs.readdir(app.getPath("userData"), function (err, files) {
|
||||
if (err || !files) throw err;
|
||||
var fileList = files.filter(function (file) {
|
||||
if(file.match(/\.thedesktheme$/)){
|
||||
var tfile = join(app.getPath("userData"), file)
|
||||
var files1 = fs.readdirSync(join(app.getAppPath(), '/source/themes'))
|
||||
var file1List = files1.filter(function (file) {
|
||||
if (file.match(/\.thedesktheme$/)) {
|
||||
var tfile = join(app.getAppPath(), '/source/themes', file)
|
||||
return fs.statSync(tfile).isFile() && /.*\.thedesktheme$/.test(tfile)
|
||||
}else{
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
})
|
||||
var themes = [];
|
||||
for (var i = 0; i < fileList.length; i++) {
|
||||
var themecss = join(app.getPath("userData"), fileList[i]);
|
||||
for (var i = 0; i < file1List.length; i++) {
|
||||
var themecss = join(app.getAppPath(), '/source/themes', file1List[i]);
|
||||
var json = JSON5.parse(fs.readFileSync(themecss, 'utf8'));
|
||||
let compat = true
|
||||
if (json.version) compat = false
|
||||
themes.push({
|
||||
name: json.name,
|
||||
id: json.id
|
||||
id: json.id,
|
||||
compatible: compat,
|
||||
default: true
|
||||
})
|
||||
}
|
||||
var files2 = fs.readdirSync(app.getPath("userData"))
|
||||
var file2List = files2.filter(function (file) {
|
||||
if (file.match(/\.thedesktheme$/)) {
|
||||
var tfile = join(app.getPath("userData"), file)
|
||||
return fs.statSync(tfile).isFile() && /.*\.thedesktheme$/.test(tfile)
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
})
|
||||
for (var i = 0; i < file2List.length; i++) {
|
||||
var themecss = join(app.getPath("userData"), file2List[i]);
|
||||
var json = JSON5.parse(fs.readFileSync(themecss, 'utf8'));
|
||||
let compat = true
|
||||
if (json.version) compat = false
|
||||
themes.push({
|
||||
name: json.name,
|
||||
id: json.id,
|
||||
compatible: compat,
|
||||
default: false
|
||||
})
|
||||
}
|
||||
e.sender.webContents.send('theme-json-list-response', themes);
|
||||
});
|
||||
})
|
||||
}
|
||||
exports.css = css;
|
||||
|
@@ -28,6 +28,7 @@ function dl(mainWindow, lang_path, base, dirname) {
|
||||
show: false
|
||||
})
|
||||
var lang = fs.readFileSync(lang_path, 'utf8')
|
||||
//updatewin.toggleDevTools()
|
||||
updatewin.loadURL(base + lang + '/update.html')
|
||||
updatewin.webContents.once('dom-ready', () => {
|
||||
updatewin.show()
|
||||
|
@@ -1,5 +1,4 @@
|
||||
[
|
||||
"TheDeskは自称ステイホームの必須アイテム",
|
||||
"あと数秒でPCのファンが全力で回り始める",
|
||||
"カラムの数だけ夢があるがネットワークは逼迫する",
|
||||
"朝起きたらストリーミングが止まっていた…",
|
||||
@@ -44,5 +43,17 @@
|
||||
"たまにここに何も出ないことがあるけど、なんでかはわからない",
|
||||
"Kawaii->Mayu(今ここ)->Koume->Chieri->Anastasia->Aiko",
|
||||
"言語設定を日本語以外にするとこの表示はどうなると思う?",
|
||||
"今日も使ってくれてありがとう。利用者カウンターがキリ番ならご報告を"
|
||||
"今日も使ってくれてありがとう。利用者カウンターがキリ番ならご報告を",
|
||||
"Ctrl+Eで通知の赤くなって「Fav: 1」とかなってるのをリセットできる",
|
||||
"このアプリケーションの正式な名称は小文字thedeskだけど、内部でしか使われてない",
|
||||
"N押すとトゥートのボックスが出て、すぐ打ち込める。",
|
||||
"Xを押すとトゥートのボックスは出るけど、打ち込めない。その代わりもう一度押すと消せる。",
|
||||
"トゥートした後ボックスを閉じるとかそのままにしておくとかは、設定で変えられます。",
|
||||
"OpenStickerへの登録データ募集中",
|
||||
"Microsoft Store版のアップデートは向こうに止められてます",
|
||||
"いのちの輝き版ロゴ",
|
||||
"いのちの輝き版ロゴ",
|
||||
"いのちの輝き版ロゴ",
|
||||
"いのちの輝き版ロゴ",
|
||||
"いのちの輝き版ロゴ"
|
||||
]
|
@@ -6,6 +6,7 @@
|
||||
<link href="./css/tl.css" type="text/css" rel="stylesheet" />
|
||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" />
|
||||
<link href="./node_modules/@fortawesome/fontawesome-free/css/all.min.css" type="text/css" rel="stylesheet">
|
||||
<script type="text/javascript" src="./node_modules/grapheme-splitter/index.js"></script>
|
||||
<title>TheDesk Nano</title>
|
||||
<style>
|
||||
html {
|
||||
@@ -15,7 +16,7 @@
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
font-family: sans-serif;
|
||||
color: var(--color) !important;
|
||||
color: var(--text) !important;
|
||||
}
|
||||
|
||||
body {
|
||||
@@ -44,7 +45,7 @@
|
||||
|
||||
textarea {
|
||||
-webkit-app-region: no-drag;
|
||||
color: var(--color) !important;
|
||||
color: var(--text) !important;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
@@ -82,12 +83,16 @@
|
||||
.cvo {
|
||||
grid-template-rows: auto 1rem 1fr auto 2rem;
|
||||
}
|
||||
.voice {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<script type="text/javascript" src="./node_modules/jquery/dist/jquery.js"></script>
|
||||
<script>
|
||||
var pwa = false
|
||||
$.strip_tags = function(str, allowed) {
|
||||
if (!str) {
|
||||
return "";
|
||||
@@ -141,7 +146,7 @@
|
||||
}
|
||||
</script>
|
||||
<script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.7"></script>
|
||||
<script type="text/javascript" src="view/en/main.js"></script>
|
||||
<script type="text/javascript" src="./js/platform/first.js"></script>
|
||||
<script type="text/javascript" src="./js/post/status.js"></script>
|
||||
<script type="text/javascript" src="./js/post/post.js"></script>
|
||||
<script type="text/javascript" src="./js/post/use-txtbox.js"></script>
|
||||
|
5
app/netlify.toml
Normal file
5
app/netlify.toml
Normal file
@@ -0,0 +1,5 @@
|
||||
[[redirects]]
|
||||
from = "/"
|
||||
to = "/app"
|
||||
status = 301
|
||||
force = true
|
@@ -75,7 +75,7 @@
|
||||
</head>
|
||||
|
||||
<body class="center" style="overflow: hidden;">
|
||||
<img src="./img/desk-animation.svg" style="max-width: 62%;" />
|
||||
<img src="./img/desk-animation.svg" id="leader" style="max-width: 62%;" />
|
||||
<h1>TheDesk</h1>
|
||||
<span id="ver"></span><br />
|
||||
<span class="loading"></span><br />
|
||||
@@ -84,11 +84,12 @@
|
||||
<script>
|
||||
if (location.search) {
|
||||
var m = location.search.match(/\?ver=([0-9.]+)&codename=([a-zA-Z]+)&maxim=(.+)/)
|
||||
var maxim = decodeURI(m[3])
|
||||
if(maxim == 'いのちの輝き版ロゴ') document.getElementById('leader').setAttribute('src', './img/2025.svg')
|
||||
var ver = m[1]
|
||||
var code = m[2]
|
||||
var maxim = m[3]
|
||||
document.getElementById('ver').innerText = `${ver}(${code})`
|
||||
document.getElementById('maxim').innerText = `${decodeURI(maxim)}`
|
||||
document.getElementById('maxim').innerText = maxim
|
||||
}
|
||||
</script>
|
||||
</div>
|
||||
|
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "thedesk",
|
||||
"version": "21.0.1",
|
||||
"version": "21.2.2",
|
||||
"codename": "Mayu",
|
||||
"description": "TheDesk is a Mastodon client for PC.",
|
||||
"repository": "https://github.com/cutls/TheDesk",
|
||||
@@ -8,14 +8,21 @@
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"construct": "cd view/make && node make --automatic && cd ../../",
|
||||
"construct:store": "cd view/make && node make --automatic --store && cd ../../",
|
||||
"dev": "npx electron ./ --dev",
|
||||
"dist": "build --linux snap",
|
||||
"watchview": "node view/make/make.js --automatic --watch",
|
||||
"build:js": "node build.js",
|
||||
"build": "node view/make/make.js --automatic && npx electron-builder",
|
||||
"build:all": "npx electron-builder --win --linux",
|
||||
"build:win": "npx electron-builder --win",
|
||||
"build:pwa": "node view/make/make.js --automatic --pwa"
|
||||
"build:pwa": "node view/make/make.js --automatic --pwa",
|
||||
"build:win:web": "node view/make/make.js --automatic && npx electron-builder --win",
|
||||
"build:win:msstore": "node view/make/make.js --automatic --store && npx electron-builder --win appx",
|
||||
"build:linux:web": "node view/make/make.js --automatic && npx electron-builder --linux",
|
||||
"build:linux:snapstore": "node view/make/make.js --automatic --store && npx electron-builder --linux",
|
||||
"build:mac:web": "node view/make/make.js --automatic && npx electron-builder --mac",
|
||||
"build:mac:homebrew": "node view/make/make.js --automatic --store && npx electron-builder --mac",
|
||||
"lint:fix": "eslint js --fix" ,
|
||||
"lint": "eslint js"
|
||||
},
|
||||
"keywords": [
|
||||
"mastodon",
|
||||
@@ -25,13 +32,13 @@
|
||||
],
|
||||
"bugs": {
|
||||
"url": "https://github.com/cutls/TheDesk/issues",
|
||||
"email": "web-pro@cutls.com"
|
||||
"email": "p@cutls.com"
|
||||
},
|
||||
"homepage": "https://thedesk.top",
|
||||
"author": {
|
||||
"name": "Cutls",
|
||||
"url": "https://cutls.com/@Cutls",
|
||||
"email": "web-pro@cutls.com"
|
||||
"url": "https://cutls.dev",
|
||||
"email": "p@cutls.com"
|
||||
},
|
||||
"contributor": [
|
||||
{
|
||||
@@ -52,17 +59,17 @@
|
||||
],
|
||||
"license": "GPL-3.0",
|
||||
"dependencies": {
|
||||
"@fortawesome/fontawesome-free": "^5.13.0",
|
||||
"custom-electron-titlebar": "^3.2.2-hotfix62",
|
||||
"electron-dl": "^3.0.0",
|
||||
"jimp": "^0.10.3",
|
||||
"jquery": "^3.5.0",
|
||||
"@fortawesome/fontawesome-free": "^5.14.0",
|
||||
"custom-electron-titlebar": "^3.2.3",
|
||||
"electron-dl": "^3.0.1",
|
||||
"jimp": "^0.14.0",
|
||||
"jquery": "^3.5.1",
|
||||
"jquery-ui-dist": "^1.12.1",
|
||||
"json5": "^2.1.3",
|
||||
"lodash": "^4.17.15",
|
||||
"lodash": "^4.17.19",
|
||||
"materialize-css": "git://github.com/cutls/materialize#v1-dev",
|
||||
"sumchecker": "^3.0.1",
|
||||
"sweetalert2": "^9.10.12",
|
||||
"sweetalert2": "^9.17.0",
|
||||
"system-font-families": "^0.4.1",
|
||||
"vue": "^2.6.11"
|
||||
},
|
||||
@@ -70,10 +77,11 @@
|
||||
"itunes-nowplaying-mac": "0.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"chokidar": "^3.3.1",
|
||||
"electron": "^8.2.3",
|
||||
"electron-builder": "^22.5.1",
|
||||
"electron-rebuild": "^1.10.1",
|
||||
"chokidar": "^3.4.1",
|
||||
"electron": "^9.1.1",
|
||||
"electron-builder": "^22.7.0",
|
||||
"electron-rebuild": "^1.11.0",
|
||||
"eslint": "^7.6.0",
|
||||
"readline-sync": "1.4.10"
|
||||
},
|
||||
"build": {
|
||||
@@ -89,8 +97,8 @@
|
||||
"icon": "build/thedesk.ico",
|
||||
"target": [
|
||||
"nsis",
|
||||
"portable",
|
||||
"appx"
|
||||
"appx",
|
||||
"portable"
|
||||
]
|
||||
},
|
||||
"appx": {
|
||||
@@ -112,6 +120,7 @@
|
||||
"icon": "build/icons",
|
||||
"target": [
|
||||
"zip",
|
||||
"appImage",
|
||||
"snap",
|
||||
"deb"
|
||||
],
|
||||
@@ -124,8 +133,8 @@
|
||||
]
|
||||
},
|
||||
"electronDownload": {
|
||||
"version": "8.0.0"
|
||||
"version": "9.0.5"
|
||||
},
|
||||
"electronVersion": "8.0.0"
|
||||
"electronVersion": "9.0.5"
|
||||
}
|
||||
}
|
||||
|
27
app/source/themes/black.thedesktheme
Normal file
27
app/source/themes/black.thedesktheme
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
name: 'Black',
|
||||
author: 'TheDesk',
|
||||
desc: 'TheDesk Default Theme',
|
||||
base: 'dark',
|
||||
primary: {
|
||||
background: '#212121',
|
||||
subcolor: '#424242',
|
||||
text: '#fff',
|
||||
accent: '#004d40',
|
||||
},
|
||||
advanced: {
|
||||
modal: '#000',
|
||||
modalFooter: '#212121',
|
||||
third: '#212121',
|
||||
forth: '#333333',
|
||||
bottom: '#424242',
|
||||
emphasized: '#4e342e',
|
||||
postbox: '#424242',
|
||||
active: '#3f51b5',
|
||||
selected: '#3f3f3f',
|
||||
selectedWithShared: '#003a30',
|
||||
},
|
||||
id: 'black',
|
||||
version: '2',
|
||||
default: true
|
||||
}
|
27
app/source/themes/blue.thedesktheme
Normal file
27
app/source/themes/blue.thedesktheme
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
name: 'Blue',
|
||||
author: 'TheDesk',
|
||||
desc: 'TheDesk Default Theme',
|
||||
base: 'light',
|
||||
primary: {
|
||||
background: '#c9e1ec',
|
||||
subcolor: '#dff1ff',
|
||||
text: '#000',
|
||||
accent: '#e0ffe4',
|
||||
},
|
||||
advanced: {
|
||||
modal: '#b2ebf2',
|
||||
modalFooter: '#2196f3',
|
||||
third: '#90caf9',
|
||||
forth: '#90caf9',
|
||||
bottom: '#b6e6f5',
|
||||
emphasized: '#c5e1a5',
|
||||
postbox: '#dff1ff',
|
||||
active: '#2f7bb7',
|
||||
selected: '#9dcade',
|
||||
selectedWithShared: '#c1dac4',
|
||||
},
|
||||
id: 'blue',
|
||||
version: '2',
|
||||
default: true
|
||||
}
|
27
app/source/themes/brown.thedesktheme
Normal file
27
app/source/themes/brown.thedesktheme
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
name: 'Brown',
|
||||
author: 'TheDesk',
|
||||
desc: 'TheDesk Default Theme',
|
||||
base: 'dark',
|
||||
primary: {
|
||||
background: '#261411',
|
||||
subcolor: '#4e342e',
|
||||
text: '#fff',
|
||||
accent: '#004d40',
|
||||
},
|
||||
advanced: {
|
||||
modal: '#261411',
|
||||
modalFooter: '#261411',
|
||||
third: '#4e342e',
|
||||
forth: '#4e342e',
|
||||
bottom: '#4e342e',
|
||||
emphasized: '#0d47a1',
|
||||
postbox: '#4e342e',
|
||||
active: '#827717',
|
||||
selected: '#6d352b',
|
||||
selectedWithShared: '#003a30',
|
||||
},
|
||||
id: 'brown',
|
||||
version: '2',
|
||||
default: true
|
||||
}
|
27
app/source/themes/green.thedesktheme
Normal file
27
app/source/themes/green.thedesktheme
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
name: 'Green',
|
||||
author: 'TheDesk',
|
||||
desc: 'TheDesk Default Theme',
|
||||
base: 'light',
|
||||
primary: {
|
||||
background: '#c8e6c9',
|
||||
subcolor: '#a5d6a7',
|
||||
text: '#000',
|
||||
accent: '#ffcc80',
|
||||
},
|
||||
advanced: {
|
||||
modal: '#81c784',
|
||||
modalFooter: '#81c784',
|
||||
third: '#a5d6a7',
|
||||
forth: '#81c784',
|
||||
bottom: '#c5e1a5',
|
||||
emphasized: '#9e9d24',
|
||||
postbox: '#a5d6a7',
|
||||
active: '#33691e',
|
||||
selected: '#78c17a',
|
||||
selectedWithShared: '#caa266',
|
||||
},
|
||||
id: 'green',
|
||||
version: '2',
|
||||
default: true
|
||||
}
|
27
app/source/themes/indigo.thedesktheme
Normal file
27
app/source/themes/indigo.thedesktheme
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
name: 'Indigo',
|
||||
author: 'TheDesk',
|
||||
desc: 'TheDesk Default Theme',
|
||||
base: 'dark',
|
||||
primary: {
|
||||
background: '#031833',
|
||||
subcolor: '#1a237e',
|
||||
text: '#fff',
|
||||
accent: '#004d40',
|
||||
},
|
||||
advanced: {
|
||||
modal: '#0d1351',
|
||||
modalFooter: '#031833',
|
||||
third: '#0d1351',
|
||||
forth: '#0d47a1',
|
||||
bottom: '#0d1351',
|
||||
emphasized: '#4e342e',
|
||||
postbox: '#1a237e',
|
||||
active: '#00acc1',
|
||||
selected: '#214f8a',
|
||||
selectedWithShared: '#003a30',
|
||||
},
|
||||
id: 'indigo',
|
||||
version: '2',
|
||||
default: true
|
||||
}
|
27
app/source/themes/polar.thedesktheme
Normal file
27
app/source/themes/polar.thedesktheme
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
name: 'Polar Night',
|
||||
author: 'TheDesk',
|
||||
desc: 'TheDesk Default Theme',
|
||||
base: 'dark',
|
||||
primary: {
|
||||
background: '#2e3440',
|
||||
subcolor: '#434c5e',
|
||||
text: '#ffffff',
|
||||
accent: '#2d3b58',
|
||||
},
|
||||
advanced: {
|
||||
modal: '#3b4252',
|
||||
modalFooter: '#485166',
|
||||
third: '#434c5e',
|
||||
forth: '#4c566a',
|
||||
bottom: '#3b4252',
|
||||
emphasized: '#2f4b86',
|
||||
postbox: '#434c5e',
|
||||
active: '#2f4b86',
|
||||
selected: '#464f61',
|
||||
selectedWithShared: '#3e527e',
|
||||
},
|
||||
id: 'polar',
|
||||
version: '2',
|
||||
default: true
|
||||
}
|
27
app/source/themes/snow.thedesktheme
Normal file
27
app/source/themes/snow.thedesktheme
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
name: 'Snow Storm',
|
||||
author: 'TheDesk',
|
||||
desc: 'TheDesk Default Theme',
|
||||
base: 'light',
|
||||
primary: {
|
||||
background: '#eceff4',
|
||||
subcolor: '#d8dee9',
|
||||
text: '#36425a',
|
||||
accent: '#c3d4e6',
|
||||
},
|
||||
advanced: {
|
||||
modal: '#e5e9f0',
|
||||
modalFooter: '#b2bed4',
|
||||
third: '#d8dee9',
|
||||
forth: '#4c566a',
|
||||
bottom: '#eeeeee',
|
||||
emphasized: '#88c0d0',
|
||||
postbox: '#d8dee9',
|
||||
active: '#81a1c1',
|
||||
selected: '#b4bdd0',
|
||||
selectedWithShared: '#a3afbb',
|
||||
},
|
||||
id: 'snow',
|
||||
version: '2',
|
||||
default: true
|
||||
}
|
27
app/source/themes/white.thedesktheme
Normal file
27
app/source/themes/white.thedesktheme
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
name: 'White',
|
||||
author: 'TheDesk',
|
||||
desc: 'TheDesk Default Theme',
|
||||
base: 'light',
|
||||
primary: {
|
||||
background: '#fff',
|
||||
subcolor: '#fff',
|
||||
text: '#000',
|
||||
accent: '#cfd8dc',
|
||||
},
|
||||
advanced: {
|
||||
modal: '#fff',
|
||||
modalFooter: '#fafafa',
|
||||
third: '#e0e0e0',
|
||||
forth: '#fff',
|
||||
bottom: '#eeeeee',
|
||||
emphasized: '#81c784',
|
||||
postbox: '#fff',
|
||||
active: '#009688',
|
||||
selected: '#c0c0c0',
|
||||
selectedWithShared: '#b2babd',
|
||||
},
|
||||
id: 'white',
|
||||
version: '2',
|
||||
default: true
|
||||
}
|
@@ -1,5 +1,10 @@
|
||||
{
|
||||
"latest":[],
|
||||
"3.2.0": [],
|
||||
"3.1.5": [],
|
||||
"3.1.4": [
|
||||
"リモート限定の連合タイムライン"
|
||||
],
|
||||
"3.1.3": [],
|
||||
"3.1.2": [],
|
||||
"3.1.1": [],
|
||||
|
@@ -3,12 +3,12 @@
|
||||
<head>
|
||||
<title>Account Manager - TheDesk</title>
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport" />
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<link
|
||||
href="../../@@node_base@@/materialize-css/dist/css/materialize.css"
|
||||
type="text/css"
|
||||
rel="stylesheet"
|
||||
/>
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/master.css" type="text/css" rel="stylesheet" />
|
||||
<link href="../../css/tl.css" rel="stylesheet" type="text/css" />
|
||||
<link href="../../css/userdata.css" rel="stylesheet" type="text/css" />
|
||||
@@ -26,7 +26,7 @@
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
@@comment-end@@
|
||||
@@pwa@@
|
||||
@@pwa@@ @@store@@
|
||||
</head>
|
||||
|
||||
<body id="mainView" class="@@pwaClass@@">
|
||||
@@ -53,6 +53,9 @@
|
||||
<div id="acct-list"></div>
|
||||
<div class="divider"></div>
|
||||
</div>
|
||||
<div class="hide-second">
|
||||
<a href="setting.html">@@haveExported@@</a>
|
||||
</div>
|
||||
<div>
|
||||
<h5>@@add@@</h5>
|
||||
<br />
|
||||
|
@@ -1,8 +1,8 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="@@lang@@">
|
||||
<head>
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet" />
|
||||
<script type="text/javascript" src="../../js/ui/theme.js"></script>
|
||||
<link href="../../css/themes.css" type="text/css" rel="stylesheet">
|
||||
<meta content="width=device-width,initial-scale=1.0" name="viewport" />
|
||||
<link
|
||||
href="../../@@node_base@@/materialize-css/dist/css/materialize.css"
|
||||
@@ -31,7 +31,7 @@
|
||||
_jipt.push(['project', 'thedesk'])
|
||||
</script>
|
||||
<script type="text/javascript" src="https://cdn.crowdin.com/jipt/jipt.js"></script>
|
||||
@@comment-end@@ @@pwa@@
|
||||
@@comment-end@@ @@pwa@@ @@store@@
|
||||
</head>
|
||||
|
||||
<body class="@@pwaClass@@">
|
||||
@@ -69,16 +69,16 @@
|
||||
<div id="demobottom">
|
||||
<button
|
||||
class="btn waves-effect"
|
||||
style="width: 300px;height: 2.5rem;line-height: 0;margin: 0; background-color: var(--accentbtn);"
|
||||
style="width: 23rem;height: 2.5rem;line-height: 0;margin: 0; background-color: var(--active);"
|
||||
>
|
||||
<i
|
||||
class="material-icons"
|
||||
style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;"
|
||||
style="position: relative; top: 0.4rem; font-size: 1.5rem; text-align: center; margin-right: 0.7rem;"
|
||||
>edit</i
|
||||
>@@toot@@
|
||||
</button>
|
||||
<div class="leftside reverse" id="demogroup">
|
||||
<div class="btnsgroup" style="margin-left: 5px;">
|
||||
<div class="btnsgroup" style="margin-left: 0.4rem;">
|
||||
<a href="#" class="nex waves-effect">
|
||||
<i class="material-icons nex big-icon" title="@@acctMan@@(Ctrl+Shift+M)"
|
||||
>account_circle</i
|
||||
@@ -123,7 +123,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="contextWrap" class="hide"></div>
|
||||
<div id="post-box" class="z-depth-5">
|
||||
<div id="post-bar" class="drag-bar">
|
||||
<span id="unreact">@@post-new@@</span><span id="addreact" class="hide">Reaction</span>
|
||||
@@ -138,11 +137,11 @@
|
||||
id="acct-sel-prof"
|
||||
title="@@showSelectProf@@(Ctrl+Shift+P)"
|
||||
data-trans-title="post_box_prof"
|
||||
width="24px"
|
||||
style="width: 1.8rem"
|
||||
/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="input-field mize" style="float:left; width:calc(100% - 24px); margin-top:0;">
|
||||
<div class="input-field mize" style="float:left; width:calc(100% - 1.8rem); margin-top:0;">
|
||||
<select id="post-acct-sel" class="acct-sel" onchange="mdCheck()"></select>
|
||||
</div>
|
||||
<span class="cancel">
|
||||
@@ -260,7 +259,7 @@
|
||||
>
|
||||
<input
|
||||
id="size"
|
||||
style="width: calc(50% - 20px); margin: 0; height: 24px;"
|
||||
style="width: calc(50% - 1.5rem); margin: 0; height: 1.8rem;"
|
||||
value="12"
|
||||
/>px
|
||||
<i
|
||||
@@ -271,7 +270,7 @@
|
||||
>
|
||||
<input
|
||||
id="colorhex"
|
||||
style="width: calc(50% - 50px); margin: 0; height: 24px;"
|
||||
style="width: calc(50% - 3.8rem); margin: 0; height: 1.8rem;"
|
||||
type="color"
|
||||
/>
|
||||
<br />
|
||||
@@ -283,12 +282,12 @@
|
||||
>
|
||||
<input
|
||||
id="linkt"
|
||||
style="width: calc(50% - 20px); margin: 0; height: 24px;"
|
||||
style="width: calc(50% - 1.5rem); margin: 0; height: 1.8rem;"
|
||||
placeholder="リンクテキスト"
|
||||
/>
|
||||
<input
|
||||
id="link2"
|
||||
style="width: calc(50% - 20px); margin: 0; height: 24px;"
|
||||
style="width: calc(50% - 1.5rem); margin: 0; height: 1.8rem;"
|
||||
placeholder="リンクアドレス"
|
||||
/>
|
||||
<br />
|
||||
@@ -300,12 +299,12 @@
|
||||
>
|
||||
<input
|
||||
id="image"
|
||||
style="width: calc(50% - 20px); margin: 0; height: 24px;"
|
||||
style="width: calc(50% - 1.5rem); margin: 0; height: 1.8rem;"
|
||||
placeholder="代替テキスト"
|
||||
/>
|
||||
<input
|
||||
id="image2"
|
||||
style="width: calc(50% - 20px); margin: 0; height: 24px;"
|
||||
style="width: calc(50% - 1.5rem); margin: 0; height: 1.8rem;"
|
||||
placeholder="画像アドレス"
|
||||
/>
|
||||
</div>
|
||||
@@ -383,7 +382,7 @@
|
||||
>clear</i
|
||||
>
|
||||
</div>
|
||||
<div class="col s12 mize" style="margin-bottom:5px; padding:0;">
|
||||
<div class="col s12 mize" style="margin-bottom:0.4rem; padding:0;">
|
||||
<div id="taglist"></div>
|
||||
<div id="preview" class="mize"></div>
|
||||
<span class=" sml mize"
|
||||
@@ -404,7 +403,7 @@
|
||||
style="margin:0"
|
||||
/>
|
||||
<div id="sch-box">
|
||||
@@postat@@<br /><span class="sml">@@scheduleWarn@@</span><br />
|
||||
@@postat@@<br /><span class="sml">@@scheduleWarn@@</span><a onclick="expPostMode()">Expire mode(beta)</a><br />
|
||||
<input
|
||||
type="datetime-local"
|
||||
id="sch-date"
|
||||
@@ -417,9 +416,6 @@
|
||||
</div>
|
||||
<!-- 公開範囲 Dropdown Structure -->
|
||||
<ul id="dropdown1" class="dropdown-content">
|
||||
<li style="font-size: 16px; display: block; line-height: 22px; padding: 14px 16px;">
|
||||
@@selectVis@@
|
||||
</li>
|
||||
<li>
|
||||
<a onclick="vis('public')">@@publicJP@@(Public)</a>
|
||||
</li>
|
||||
@@ -767,7 +763,7 @@
|
||||
<span id="his-follow"></span>
|
||||
</span>
|
||||
<span class="cbadge">@@follower@@: <span id="his-follower"></span> </span><br />
|
||||
<span class="cbadge" style="max-width:150px; width:150px; "
|
||||
<span class="cbadge" style="max-width:11.5rem; width:11.5rem; "
|
||||
>Since:
|
||||
<span id="his-since"></span>
|
||||
</span>
|
||||
@@ -1072,7 +1068,7 @@
|
||||
<br />
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<div style="float: left;padding-top:3px;line-height: normal;">
|
||||
<div style="float: left;padding-top:0.23rem;line-height: normal;">
|
||||
<span id="imgprog"></span>% <br />
|
||||
<span id="imgsec"></span>ms <br /><span id="imgbyte"></span>KB
|
||||
</div>
|
||||
@@ -1120,60 +1116,6 @@
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
<!--mstdn.jp useragent-->
|
||||
<div
|
||||
id="askjp_jp_ua"
|
||||
class="hide"
|
||||
style="z-index:505;width:100vw;height:100vh; background-color: #530f0f;color:white;padding:20px;overflow-y:scroll;position:absolute;"
|
||||
>
|
||||
<p style="font-size:300%">【緊急】mstdn.jpへのアクセスについて</p>
|
||||
<br />
|
||||
<p style="font-size:200%">問題の概要</p>
|
||||
<p>
|
||||
合同会社分散型ソーシャルネットワーク機構は非公開審査によってユーザーエージェントベースで個々のアプリに対してAPIへのアクセスを許可する方法を取っています。
|
||||
</p>
|
||||
<p>
|
||||
TheDesk開発者はこれに強く反発し、TheDeskのユーザーエージェントをそのアプリからのアクセスであると特定することができない値にすることを決めました。
|
||||
</p>
|
||||
<p>具体的には、"Mastodon client: [起動毎に変わる100文字の英数記号]"と設定しました。</p>
|
||||
<p style="font-size:200%">ユーザーによる対策</p>
|
||||
<p>
|
||||
このバージョンのTheDeskでは任意のユーザーエージェントを適用できます。「設定」内の「環境設定」で設定していただけます。<a
|
||||
href="setting.html"
|
||||
>設定</a
|
||||
>
|
||||
</p>
|
||||
<p style="font-size:150%">1. 「TheDesk」を含む値に設定する</p>
|
||||
<p>
|
||||
「設定」内の「環境設定」、「ユーザーエージェント」に「TheDesk」を含む値を入れてください。大文字小文字に注意してください。
|
||||
</p>
|
||||
<p><b>懸念点</b></p>
|
||||
<p>
|
||||
TheDesk開発者は合同会社分散型ソーシャルネットワーク機構に対しこの件についてメールで問い合わせを行っています(抗議ではありません)。問い合わせの過程でアプリ許可が取り消され、使用不能になる可能性があります。
|
||||
</p>
|
||||
<p><u>ちなみに</u></p>
|
||||
<p>
|
||||
合同会社分散型ソーシャルネットワーク機構はmstdn.jpのお知らせアカウントに対するリプライに書かれたサードパーティクライアントを「審査」の後許可するとトゥートし、複数ユーザーがTheDeskの名前を挙げました。
|
||||
事実、トゥートの翌日までにTheDeskに対してアクセス許可が出されました。しかし、許可を出す際にTheDeskの標準ユーザーエージェントを機構は一切確認せず、「TheDesk」という文字列が入ったユーザーエージェントを一律で許可する設定にしたようです。
|
||||
結果として実際の標準ユーザーエージェントはそれに合致せず、不許可のままとなっていました。前バージョンまでの標準ユーザーエージェントは、パッケージ名の都合上全て小文字の「thedesk」を採用していました。
|
||||
</p>
|
||||
<p style="font-size:150%">2. 「認定済み」クライアントの名前を含む値に設定する</p>
|
||||
<p>
|
||||
「設定」内の「環境設定」、「ユーザーエージェント」に、<a href="https://mstdn.jp/about"
|
||||
>mstdn.jpのトップページ</a
|
||||
>記載のアプリ名を含む値を入れてください。大文字小文字やスペースに注意してください。
|
||||
</p>
|
||||
<p>
|
||||
「Mastodon日本鯖です.」と書かれた以降の一段を全てコピーして記載してもアクセス可能です。<u
|
||||
>これほどまでにユーザーエージェント制限は「抜け道」が多いのです。</u
|
||||
><a href="setting.html">設定</a>
|
||||
</p>
|
||||
<p><b>懸念点</b></p>
|
||||
<p>
|
||||
その記載されたアプリと合同会社分散型ソーシャルネットワーク機構になんの関係があるかは知りませんが、どちらにしろ他のクライアントの名を借りてアクセスの許可をいただくというあまり道徳的によろしくない方法です。
|
||||
</p>
|
||||
<button onclick="$('#askjp_jp_ua').addClass('hide')" class="btn waves-effect">閉じる</button>
|
||||
</div>
|
||||
<!-- Modal Structure Release Note-->
|
||||
<div id="releasenote" class="modal modal-fixed-footer scr">
|
||||
<div class="modal-content">
|
||||
@@ -1181,28 +1123,22 @@
|
||||
<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-21-0-1_Mayu" class="release-do" style="display:none; ">
|
||||
<div id="release-21-2-2_Mayu" class="release-do" style="display:none; ">
|
||||
<br />
|
||||
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br />
|
||||
Pixiv
|
||||
FanboxやPatreonでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br />
|
||||
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
|
||||
<h5>Release Note 21.0.1 (Mayu)</h5>
|
||||
・画像がアップロードできない <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('popn_ja@popon.pptdn.jp','main')" class="contributor"><img src="https://avatars3.githubusercontent.com/u/24523508?s=88&v=4">kaias1jp</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> <a onclick="udgEx('popn_ja@popon.pptdn.jp','main')" class="contributor"><img src="https://avatars3.githubusercontent.com/u/24523508?s=88&v=4">kaias1jp</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>
|
||||
・ユーザーマッチングを削除 <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>
|
||||
|
||||
<h5>Release Note 21.0.0 (Mayu)</h5>
|
||||
・フォロリクをストリーミングで受け取ったときにNo status hereになる <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>
|
||||
・Apple MusicのNowPlayingでアルバム情報がないときの挙動を改善 <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>
|
||||
・Last.fm NowPlaying <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>
|
||||
・テーマCSSに関するバグ <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>
|
||||
・プラットフォームやPWAか否か等で表示を切り替える <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> <img src="">anonymous user<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>
|
||||
・アイコンの微調整 <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>
|
||||
・FTLのRemote only <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>
|
||||
<h5>Release Note 21.2.2 (Mayu)</h5>
|
||||
<h5>Release Note 21.2.1 (Mayu)</h5>
|
||||
<h5>Release Note 21.2.0 (Mayu)</h5>
|
||||
<!--上のdivのidも変えてね-->
|
||||
・テーマが自由かつ高度に編集可能に <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>
|
||||
・カスタム通知音に関するバグの修正 <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>
|
||||
・Intgrated 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><br>
|
||||
・検索に使用したアカウントと別のアカウントでタグ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><br>
|
||||
|
||||
</div>
|
||||
<div id="release-en" style="display:none">
|
||||
@@ -1362,7 +1298,7 @@
|
||||
id="noauth-url"
|
||||
type="text"
|
||||
class="validate"
|
||||
style="width:calc( 70% - 40px);"
|
||||
style="width:calc( 70% - 3rem);"
|
||||
placeholder="e.g:mstdn.jp"
|
||||
/>
|
||||
</div>
|
||||
@@ -1370,7 +1306,7 @@
|
||||
</div>
|
||||
<button
|
||||
class="btn waves-effect blue "
|
||||
style="width:calc( 100% - 10px);"
|
||||
style="width:calc( 100% - 0.7rem);"
|
||||
onclick="addColumn()"
|
||||
data-trans-i="add"
|
||||
>
|
||||
@@ -1385,11 +1321,11 @@
|
||||
<select id="src-acct-sel" class="acct-sel" onchange="trend()"></select>
|
||||
</div>
|
||||
<div class="input-field">
|
||||
<input id="src" type="text" class="validate" style="width:60%" />
|
||||
<input id="src" type="text" class="validate" style="width:57%" />
|
||||
<label for="src" data-trans="src">@@search@@</label>
|
||||
<button
|
||||
class="btn waves-effect indigo"
|
||||
style="width: 36%;padding: 0;padding-left: 15px;"
|
||||
style="width: 36%;padding: 0;padding-left: 1.15rem;"
|
||||
onclick="src()"
|
||||
data-trans-i="src"
|
||||
>
|
||||
@@ -1412,12 +1348,12 @@
|
||||
id="dirNoAuth-url"
|
||||
type="text"
|
||||
class="validate"
|
||||
style="width:calc( 70% - 40px);"
|
||||
style="width:calc( 70% - 3rem);"
|
||||
placeholder="e.g:mastodon.social"
|
||||
/>
|
||||
<button
|
||||
class="btn waves-effect indigo"
|
||||
style="width: 120px;padding: 0;padding-left: 15px;"
|
||||
style="width: 9.23rem;padding: 0;padding-left: 1.15rem;"
|
||||
onclick="directory()"
|
||||
>
|
||||
<i class="material-icons left" style="margin:0">search</i>@@show@@
|
||||
@@ -1638,7 +1574,7 @@
|
||||
>
|
||||
<i
|
||||
class="material-icons"
|
||||
style="position: relative; top: 5px; font-size: 1.5rem; text-align: center; margin-right: 10px;"
|
||||
style="position: relative; top: 0.38rem; font-size: 1.5rem; text-align: center; margin-right: 0.76rem;"
|
||||
>edit</i
|
||||
>@@toot@@
|
||||
</button>
|
||||
@@ -1676,7 +1612,7 @@
|
||||
</div>
|
||||
<div>
|
||||
<div id="tips-menu">
|
||||
<div class="btnsgroup" style="height:34px">
|
||||
<div class="btnsgroup" style="height:2.61rem">
|
||||
<span class="grouptitle">Tips:</span>
|
||||
<a onclick="tips('ver')" class="nex waves-effect">
|
||||
<i class="material-icons nex" title="@@verTips@@" data-trans-title="ver">info</i>
|
||||
@@ -1708,7 +1644,7 @@
|
||||
>bubble_chart</i
|
||||
>
|
||||
</a>
|
||||
<div id="tips-text" style="width:300px;"></div>
|
||||
<div id="tips-text" style="width:23rem;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -20,5 +20,6 @@
|
||||
"thisismisskey": "Login as Misskey",
|
||||
"misskeylogin": "Read <a href=\"https://thedesk.top/how-to-misskey-login.html\">Docs(ja)</a> to login Misskey.",
|
||||
"nodata": "No data",
|
||||
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)"
|
||||
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)",
|
||||
"haveExported": "Having the exported file of TheDesk, click here to jump setting page"
|
||||
}
|
@@ -11,8 +11,6 @@
|
||||
"cwDes": "Hide text behind warning",
|
||||
"selfile": "Attach..",
|
||||
"insertEmoji": "Emojis",
|
||||
"NPSpotify": "NowPlaying(Spotify)",
|
||||
"NPiTunes": "NowPlaying(macOS)",
|
||||
"schedule": "Scheduled toot",
|
||||
"postat": "Post at",
|
||||
"scheduleWarn": "2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)",
|
||||
@@ -77,6 +75,7 @@
|
||||
"toots": "Toots",
|
||||
"follow": "Follow",
|
||||
"follower": "Follower",
|
||||
"utlColumn": "Show as a column",
|
||||
"timeline": "Timeline",
|
||||
"operateOtherAcct": "Cross-account",
|
||||
"list": "List",
|
||||
|
@@ -127,6 +127,7 @@
|
||||
"lang_layout_delthis": "Remove this column",
|
||||
"lang_layout_setthis": "Preferences of this column",
|
||||
"lang_layout_mediafil": "Media filtering",
|
||||
"lang_layout_remoteOnly": "Remote only",
|
||||
"lang_layout_linkana": "Auto Link Analyzer",
|
||||
"lang_layout_linkanades": "Auto link analyzer",
|
||||
"lang_layout_tts": "Text to speech ",
|
||||
@@ -165,6 +166,7 @@
|
||||
"lang_showontl_domain": "Domain ",
|
||||
"lang_showontl_listwarn": "Follow to add this user to lists.",
|
||||
"lang_showontl_verified": "This website is verified by owner at ",
|
||||
"lang_status_requesting": "Requesting",
|
||||
"lang_parse_mentioned": " replied to you",
|
||||
"lang_parse_faved": " favourited your toot",
|
||||
"lang_parse_bted": " boosted your toot",
|
||||
@@ -219,6 +221,7 @@
|
||||
"lang_parse_nsfw": "sensitive media",
|
||||
"lang_parse_html": "Show embed HTML",
|
||||
"lang_parse_notffilter": "Show this user's notifications",
|
||||
"lang_parse_hidden": "Unvisible quoted toot",
|
||||
"lang_misskeyparse_renote": "Repost",
|
||||
"lang_misskeyparse_renoteqt": "Renote",
|
||||
"lang_misskeyparse_reaction": "Reaction",
|
||||
|
@@ -167,6 +167,7 @@
|
||||
"linkwarn": "TheDesk save your data on thedesk.top server.",
|
||||
"connect": "Connect",
|
||||
"disconnect": "Disconnect",
|
||||
"lastFmWarn": "User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.",
|
||||
"templateedit": "Edit a template",
|
||||
"templateeditwarn": "",
|
||||
"template1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
|
||||
|
@@ -20,5 +20,6 @@
|
||||
"thisismisskey": "Login as Misskey",
|
||||
"misskeylogin": "Read <a href=\"https://thedesk.top/how-to-misskey-login.html\">Docs(ja)</a> to login Misskey.",
|
||||
"nodata": "No data",
|
||||
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)"
|
||||
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)",
|
||||
"haveExported": "Having the exported file of TheDesk, click here to jump setting page"
|
||||
}
|
@@ -11,8 +11,6 @@
|
||||
"cwDes": "Hide text behind warning",
|
||||
"selfile": "Attach..",
|
||||
"insertEmoji": "Emojis",
|
||||
"NPSpotify": "NowPlaying(Spotify)",
|
||||
"NPiTunes": "NowPlaying(macOS)",
|
||||
"schedule": "Scheduled toot",
|
||||
"postat": "Post at",
|
||||
"scheduleWarn": "2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)",
|
||||
@@ -77,6 +75,7 @@
|
||||
"toots": "Toots",
|
||||
"follow": "Follow",
|
||||
"follower": "Follower",
|
||||
"utlColumn": "Show as a column",
|
||||
"timeline": "Timeline",
|
||||
"operateOtherAcct": "Cross-account",
|
||||
"list": "List",
|
||||
|
@@ -127,6 +127,7 @@
|
||||
"lang_layout_delthis": "Remove this column",
|
||||
"lang_layout_setthis": "Preferences of this column",
|
||||
"lang_layout_mediafil": "Media filtering",
|
||||
"lang_layout_remoteOnly": "Remote only",
|
||||
"lang_layout_linkana": "Auto Link Analyzer",
|
||||
"lang_layout_linkanades": "Auto link analyzer",
|
||||
"lang_layout_tts": "Text to speech ",
|
||||
@@ -165,6 +166,7 @@
|
||||
"lang_showontl_domain": "Domain ",
|
||||
"lang_showontl_listwarn": "Follow to add this user to lists.",
|
||||
"lang_showontl_verified": "This website is verified by owner at ",
|
||||
"lang_status_requesting": "Requesting",
|
||||
"lang_parse_mentioned": " replied to you",
|
||||
"lang_parse_faved": " favourited your toot",
|
||||
"lang_parse_bted": " boosted your toot",
|
||||
@@ -219,6 +221,7 @@
|
||||
"lang_parse_nsfw": "sensitive media",
|
||||
"lang_parse_html": "Show embed HTML",
|
||||
"lang_parse_notffilter": "Show this user's notifications",
|
||||
"lang_parse_hidden": "Unvisible quoted toot",
|
||||
"lang_misskeyparse_renote": "Repost",
|
||||
"lang_misskeyparse_renoteqt": "Renote",
|
||||
"lang_misskeyparse_reaction": "Reaction",
|
||||
|
@@ -167,6 +167,7 @@
|
||||
"linkwarn": "TheDesk save your data on thedesk.top server.",
|
||||
"connect": "Connect",
|
||||
"disconnect": "Disconnect",
|
||||
"lastFmWarn": "User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.",
|
||||
"templateedit": "Edit a template",
|
||||
"templateeditwarn": "",
|
||||
"template1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
|
||||
|
@@ -20,5 +20,6 @@
|
||||
"thisismisskey": "Влезте като Misskey",
|
||||
"misskeylogin": "Прочетете <a href=\"https://thedesk.top/how-to-misskey-login.html\">Документацията</a>, за да влезете в Misskey.",
|
||||
"nodata": "Няма данни",
|
||||
"accessTokenSetup": "Използвайте маркера за достъп и вход (щракнете след попълване, но не код, а знак за достъп в поле: Разширено)"
|
||||
"accessTokenSetup": "Използвайте маркера за достъп и вход (щракнете след попълване, но не код, а знак за достъп в поле: Разширено)",
|
||||
"haveExported": "Having the exported file of TheDesk, click here to jump setting page"
|
||||
}
|
@@ -11,8 +11,6 @@
|
||||
"cwDes": "Скриване на текста зад предупреждение",
|
||||
"selfile": "Прикачи..",
|
||||
"insertEmoji": "Емотикони",
|
||||
"NPSpotify": "Възпроизвеждане сега (Spotify)",
|
||||
"NPiTunes": "Възпроизвеждане сега (macOS)",
|
||||
"schedule": "Планиран тоот",
|
||||
"postat": "Публикация в",
|
||||
"scheduleWarn": "2.7.0 ~ Минимален интервал от време:5мин. (часовникът на сървъра може да не е точен.)",
|
||||
@@ -77,6 +75,7 @@
|
||||
"toots": "Тоот",
|
||||
"follow": "Следвам",
|
||||
"follower": "Последователи",
|
||||
"utlColumn": "Show as a column",
|
||||
"timeline": "Времева линия",
|
||||
"operateOtherAcct": "Свързан-профил",
|
||||
"list": "Списък",
|
||||
|
@@ -127,6 +127,7 @@
|
||||
"lang_layout_delthis": "Премахване на тази колона",
|
||||
"lang_layout_setthis": "Предпочитания за тази колона",
|
||||
"lang_layout_mediafil": "Филтриране на медиите",
|
||||
"lang_layout_remoteOnly": "Remote only",
|
||||
"lang_layout_linkana": "Автоматичен анализатор на връзки",
|
||||
"lang_layout_linkanades": "Автоматичен анализатор на връзки",
|
||||
"lang_layout_tts": "Текст към говор ",
|
||||
@@ -165,6 +166,7 @@
|
||||
"lang_showontl_domain": "Domain ",
|
||||
"lang_showontl_listwarn": "Следвайте, за да добавите този потребител към списъците.",
|
||||
"lang_showontl_verified": "This website is verified by owner at ",
|
||||
"lang_status_requesting": "Requesting",
|
||||
"lang_parse_mentioned": " replied to you",
|
||||
"lang_parse_faved": " favourited your toot",
|
||||
"lang_parse_bted": " boosted your toot",
|
||||
@@ -219,6 +221,7 @@
|
||||
"lang_parse_nsfw": "NSFW media",
|
||||
"lang_parse_html": "Показване на вграденият HTML код",
|
||||
"lang_parse_notffilter": "Показване на известията от този потребител",
|
||||
"lang_parse_hidden": "Unvisible quoted toot",
|
||||
"lang_misskeyparse_renote": "Повторно публикуване",
|
||||
"lang_misskeyparse_renoteqt": "Повторна бележка",
|
||||
"lang_misskeyparse_reaction": "Реакция",
|
||||
|
@@ -167,6 +167,7 @@
|
||||
"linkwarn": "TheDesk save your data on thedesk.top server.",
|
||||
"connect": "Connect",
|
||||
"disconnect": "Disconnect",
|
||||
"lastFmWarn": "User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.",
|
||||
"templateedit": "Edit a template",
|
||||
"templateeditwarn": "",
|
||||
"template1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
|
||||
|
@@ -20,5 +20,6 @@
|
||||
"thisismisskey": "Login as Misskey",
|
||||
"misskeylogin": "Read <a href=\"https://thedesk.top/how-to-misskey-login.html\">Docs(ja)</a> to login Misskey.",
|
||||
"nodata": "No data",
|
||||
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)"
|
||||
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)",
|
||||
"haveExported": "Having the exported file of TheDesk, click here to jump setting page"
|
||||
}
|
@@ -11,8 +11,6 @@
|
||||
"cwDes": "Hide text behind warning",
|
||||
"selfile": "Attach..",
|
||||
"insertEmoji": "Emojis",
|
||||
"NPSpotify": "NowPlaying(Spotify)",
|
||||
"NPiTunes": "NowPlaying(macOS)",
|
||||
"schedule": "Scheduled toot",
|
||||
"postat": "Post at",
|
||||
"scheduleWarn": "2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)",
|
||||
@@ -77,6 +75,7 @@
|
||||
"toots": "Toots",
|
||||
"follow": "Follow",
|
||||
"follower": "Follower",
|
||||
"utlColumn": "Show as a column",
|
||||
"timeline": "Timeline",
|
||||
"operateOtherAcct": "Cross-account",
|
||||
"list": "List",
|
||||
|
@@ -127,6 +127,7 @@
|
||||
"lang_layout_delthis": "Remove this column",
|
||||
"lang_layout_setthis": "Preferences of this column",
|
||||
"lang_layout_mediafil": "Media filtering",
|
||||
"lang_layout_remoteOnly": "Remote only",
|
||||
"lang_layout_linkana": "Auto Link Analyzer",
|
||||
"lang_layout_linkanades": "Auto link analyzer",
|
||||
"lang_layout_tts": "Text to speech ",
|
||||
@@ -165,6 +166,7 @@
|
||||
"lang_showontl_domain": "Domain ",
|
||||
"lang_showontl_listwarn": "Follow to add this user to lists.",
|
||||
"lang_showontl_verified": "This website is verified by owner at ",
|
||||
"lang_status_requesting": "Requesting",
|
||||
"lang_parse_mentioned": " replied to you",
|
||||
"lang_parse_faved": " favourited your toot",
|
||||
"lang_parse_bted": " boosted your toot",
|
||||
@@ -219,6 +221,7 @@
|
||||
"lang_parse_nsfw": "sensitive media",
|
||||
"lang_parse_html": "Show embed HTML",
|
||||
"lang_parse_notffilter": "Show this user's notifications",
|
||||
"lang_parse_hidden": "Unvisible quoted toot",
|
||||
"lang_misskeyparse_renote": "Repost",
|
||||
"lang_misskeyparse_renoteqt": "Renote",
|
||||
"lang_misskeyparse_reaction": "Reaction",
|
||||
|
@@ -167,6 +167,7 @@
|
||||
"linkwarn": "TheDesk save your data on thedesk.top server.",
|
||||
"connect": "Connect",
|
||||
"disconnect": "Disconnect",
|
||||
"lastFmWarn": "User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.",
|
||||
"templateedit": "Edit a template",
|
||||
"templateeditwarn": "",
|
||||
"template1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
|
||||
|
@@ -20,5 +20,6 @@
|
||||
"thisismisskey": "Přihlásit jako Misskey",
|
||||
"misskeylogin": "Pro přihlášení do Misskey si přečtěte <a href=\"https://thedesk.top/how-to-misskey-login.html\">dokumentaci (ja)</a>.",
|
||||
"nodata": "No data",
|
||||
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)"
|
||||
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)",
|
||||
"haveExported": "Having the exported file of TheDesk, click here to jump setting page"
|
||||
}
|
@@ -11,8 +11,6 @@
|
||||
"cwDes": "Skrýt text za varováním",
|
||||
"selfile": "Přiložit...",
|
||||
"insertEmoji": "Emoji",
|
||||
"NPSpotify": "NowPlaying(Spotify)",
|
||||
"NPiTunes": "NowPlaying(macOS)",
|
||||
"schedule": "Plánovaný toot",
|
||||
"postat": "Odeslat jak",
|
||||
"scheduleWarn": "2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)",
|
||||
@@ -77,6 +75,7 @@
|
||||
"toots": "Tooty",
|
||||
"follow": "Sledovat",
|
||||
"follower": "Sledující",
|
||||
"utlColumn": "Show as a column",
|
||||
"timeline": "Časová osa",
|
||||
"operateOtherAcct": "Cross-account",
|
||||
"list": "Seznam",
|
||||
|
@@ -127,6 +127,7 @@
|
||||
"lang_layout_delthis": "Odstranit tento sloupec",
|
||||
"lang_layout_setthis": "Nastavení tohoto sloupce",
|
||||
"lang_layout_mediafil": "Filtrování médií",
|
||||
"lang_layout_remoteOnly": "Remote only",
|
||||
"lang_layout_linkana": "Automatický analyzátor odkazů",
|
||||
"lang_layout_linkanades": "Automatický analyzátor odkazů",
|
||||
"lang_layout_tts": "Převod textu na řeč ",
|
||||
@@ -165,6 +166,7 @@
|
||||
"lang_showontl_domain": "Doména ",
|
||||
"lang_showontl_listwarn": "Follow to add this user to lists.",
|
||||
"lang_showontl_verified": "This website is verified by owner at ",
|
||||
"lang_status_requesting": "Requesting",
|
||||
"lang_parse_mentioned": " vám odpověděl/a",
|
||||
"lang_parse_faved": " si oblíbil/a váš toot",
|
||||
"lang_parse_bted": " boostnul/a váš toot",
|
||||
@@ -219,6 +221,7 @@
|
||||
"lang_parse_nsfw": "NSFW media",
|
||||
"lang_parse_html": "Show embed HTML",
|
||||
"lang_parse_notffilter": "Show this user's notifications",
|
||||
"lang_parse_hidden": "Unvisible quoted toot",
|
||||
"lang_misskeyparse_renote": "Znovusdílení",
|
||||
"lang_misskeyparse_renoteqt": "Renotování",
|
||||
"lang_misskeyparse_reaction": "Reakce",
|
||||
|
@@ -167,6 +167,7 @@
|
||||
"linkwarn": "TheDesk save your data on thedesk.top server.",
|
||||
"connect": "Connect",
|
||||
"disconnect": "Disconnect",
|
||||
"lastFmWarn": "User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.",
|
||||
"templateedit": "Edit a template",
|
||||
"templateeditwarn": "",
|
||||
"template1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
|
||||
|
@@ -20,5 +20,6 @@
|
||||
"thisismisskey": "Login as Misskey",
|
||||
"misskeylogin": "Read <a href=\"https://thedesk.top/how-to-misskey-login.html\">Docs(ja)</a> to login Misskey.",
|
||||
"nodata": "No data",
|
||||
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)"
|
||||
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)",
|
||||
"haveExported": "Having the exported file of TheDesk, click here to jump setting page"
|
||||
}
|
@@ -11,8 +11,6 @@
|
||||
"cwDes": "Hide text behind warning",
|
||||
"selfile": "Attach..",
|
||||
"insertEmoji": "Emojis",
|
||||
"NPSpotify": "NowPlaying(Spotify)",
|
||||
"NPiTunes": "NowPlaying(macOS)",
|
||||
"schedule": "Scheduled toot",
|
||||
"postat": "Post at",
|
||||
"scheduleWarn": "2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)",
|
||||
@@ -77,6 +75,7 @@
|
||||
"toots": "Toots",
|
||||
"follow": "Follow",
|
||||
"follower": "Follower",
|
||||
"utlColumn": "Show as a column",
|
||||
"timeline": "Timeline",
|
||||
"operateOtherAcct": "Cross-account",
|
||||
"list": "List",
|
||||
|
@@ -127,6 +127,7 @@
|
||||
"lang_layout_delthis": "Remove this column",
|
||||
"lang_layout_setthis": "Preferences of this column",
|
||||
"lang_layout_mediafil": "Media filtering",
|
||||
"lang_layout_remoteOnly": "Remote only",
|
||||
"lang_layout_linkana": "Auto Link Analyzer",
|
||||
"lang_layout_linkanades": "Auto link analyzer",
|
||||
"lang_layout_tts": "Text to speech ",
|
||||
@@ -165,6 +166,7 @@
|
||||
"lang_showontl_domain": "Domain ",
|
||||
"lang_showontl_listwarn": "Follow to add this user to lists.",
|
||||
"lang_showontl_verified": "This website is verified by owner at ",
|
||||
"lang_status_requesting": "Requesting",
|
||||
"lang_parse_mentioned": " replied to you",
|
||||
"lang_parse_faved": " favourited your toot",
|
||||
"lang_parse_bted": " boosted your toot",
|
||||
@@ -219,6 +221,7 @@
|
||||
"lang_parse_nsfw": "sensitive media",
|
||||
"lang_parse_html": "Show embed HTML",
|
||||
"lang_parse_notffilter": "Show this user's notifications",
|
||||
"lang_parse_hidden": "Unvisible quoted toot",
|
||||
"lang_misskeyparse_renote": "Repost",
|
||||
"lang_misskeyparse_renoteqt": "Renote",
|
||||
"lang_misskeyparse_reaction": "Reaction",
|
||||
|
@@ -167,6 +167,7 @@
|
||||
"linkwarn": "TheDesk save your data on thedesk.top server.",
|
||||
"connect": "Connect",
|
||||
"disconnect": "Disconnect",
|
||||
"lastFmWarn": "User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.",
|
||||
"templateedit": "Edit a template",
|
||||
"templateeditwarn": "",
|
||||
"template1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
|
||||
|
@@ -20,5 +20,6 @@
|
||||
"thisismisskey": "Als Misskey anmelden",
|
||||
"misskeylogin": "Lies die <a href=\"https://thedesk.top/how-to-misskey-login.html\">Doku (japanisch)</a> um dich bei Misskey einzuloggen.",
|
||||
"nodata": "Keine Daten",
|
||||
"accessTokenSetup": "Benutze Zugangs-Token zum Anmelden (Klicke nach Ausfüllen nicht den Code, sondern den Access-Token im Kästchen: Erweitert)"
|
||||
"accessTokenSetup": "Benutze Zugangs-Token zum Anmelden (Klicke nach Ausfüllen nicht den Code, sondern den Access-Token im Kästchen: Erweitert)",
|
||||
"haveExported": "Having the exported file of TheDesk, click here to jump setting page"
|
||||
}
|
@@ -2,7 +2,7 @@
|
||||
"draghere": "Zum Hochladen hier her ziehen",
|
||||
"close": "Schließen",
|
||||
"webSrc": "Suche im Internet",
|
||||
"tsSrc": "Search on tootsearch",
|
||||
"tsSrc": "Bei Tootsearch suchen",
|
||||
"showSelectProf": "Ausgewähltes Konto anzeigen",
|
||||
"closethisbox": "Diesen Dialog schließen",
|
||||
"toot": "Tröt",
|
||||
@@ -11,8 +11,6 @@
|
||||
"cwDes": "Text hinter Warnung verstecken",
|
||||
"selfile": "Anhängen...",
|
||||
"insertEmoji": "Emojis",
|
||||
"NPSpotify": "Wird gerade gespielt (Spotify)",
|
||||
"NPiTunes": "Wird gerade wiedergegeben(macOS)",
|
||||
"schedule": "Geplanter Tröt",
|
||||
"postat": "Senden um",
|
||||
"scheduleWarn": "2.7.0~ Mindestzeitabstand: von 5min(Uhr auf dem Server ist möglicherweise ungenau.)",
|
||||
@@ -77,6 +75,7 @@
|
||||
"toots": "Tröts",
|
||||
"follow": "Folgen",
|
||||
"follower": "Abonnenten",
|
||||
"utlColumn": "Show as a column",
|
||||
"timeline": "Verlauf",
|
||||
"operateOtherAcct": "Cross-Account",
|
||||
"list": "Liste",
|
||||
@@ -179,11 +178,11 @@
|
||||
"active": "Kürzlich aktiv",
|
||||
"newcomer": "Neu eingetroffen",
|
||||
"local_only": "Nur lokal",
|
||||
"menu": "Menu",
|
||||
"menu": "Menü",
|
||||
"demoBottomBtns": "Willkommensguide",
|
||||
"lookAtBottom": "Schauen Sie sich den unteren Teil des Fensters an. Hier sind einige Tipps darüber.",
|
||||
"acctManDesc": "Fügen Sie weitere Konten hinzu und loggen Sie sie aus.",
|
||||
"settingDesc": "Many and many preferences here. You will couldn't check it all!",
|
||||
"settingDesc": "Hier sind sehr, sehr viele Einstellungen. Du könntest gar nicht alles ausprobieren!",
|
||||
"nanoDescPlus": "Mini-Fenster-Klient (experimentell)",
|
||||
"menuDesc": "All daily TheDesk and Mastodon tuning like <b>add and sort columns</b>, <b>list and filter check</b>."
|
||||
}
|
@@ -127,6 +127,7 @@
|
||||
"lang_layout_delthis": "Diese Spalte löschen",
|
||||
"lang_layout_setthis": "Einstellungen dieser Spalte",
|
||||
"lang_layout_mediafil": "Medien filtern",
|
||||
"lang_layout_remoteOnly": "Remote only",
|
||||
"lang_layout_linkana": "Automatische Link-Analyse",
|
||||
"lang_layout_linkanades": "Automatische Link-Analyse",
|
||||
"lang_layout_tts": "Sprachausgabe ",
|
||||
@@ -165,6 +166,7 @@
|
||||
"lang_showontl_domain": "Domäne ",
|
||||
"lang_showontl_listwarn": "Folgen, um diesen Benutzer zu Listen hinzuzufügen.",
|
||||
"lang_showontl_verified": "This website is verified by owner at ",
|
||||
"lang_status_requesting": "Requesting",
|
||||
"lang_parse_mentioned": " hat dir geantwortet",
|
||||
"lang_parse_faved": " favorisierte deinen Tröt",
|
||||
"lang_parse_bted": " hat deinen Tröt verstärkt",
|
||||
@@ -219,6 +221,7 @@
|
||||
"lang_parse_nsfw": "NSFW Medien",
|
||||
"lang_parse_html": "Show embed HTML",
|
||||
"lang_parse_notffilter": "Benachrichtigungen dieses Benutzers anzeigen",
|
||||
"lang_parse_hidden": "Unvisible quoted toot",
|
||||
"lang_misskeyparse_renote": "Weiterleiten",
|
||||
"lang_misskeyparse_renoteqt": "Renote",
|
||||
"lang_misskeyparse_reaction": "Reaktion",
|
||||
|
@@ -167,6 +167,7 @@
|
||||
"linkwarn": "TheDesk speichert Ihre Daten auf dem thedesk.top Server.",
|
||||
"connect": "Verbinden",
|
||||
"disconnect": "Trennen",
|
||||
"lastFmWarn": "User name...(empty to disconnect) You cannot hide your recent play log at last.fm privacy settings.",
|
||||
"templateedit": "Edit a template",
|
||||
"templateeditwarn": "",
|
||||
"template1": "Spotify:{song}:Song name/{album}:Album name/{artist}:Artist name/{url}:URL to Spotify",
|
||||
|
@@ -20,5 +20,6 @@
|
||||
"thisismisskey": "Login as Misskey",
|
||||
"misskeylogin": "Read <a href=\"https://thedesk.top/how-to-misskey-login.html\">Docs(ja)</a> to login Misskey.",
|
||||
"nodata": "No data",
|
||||
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)"
|
||||
"accessTokenSetup": "Use access token to login(click after fill not code but access-token in box: Advanced)",
|
||||
"haveExported": "Having the exported file of TheDesk, click here to jump setting page"
|
||||
}
|
@@ -11,8 +11,6 @@
|
||||
"cwDes": "Hide text behind warning",
|
||||
"selfile": "Attach..",
|
||||
"insertEmoji": "Emojis",
|
||||
"NPSpotify": "NowPlaying(Spotify)",
|
||||
"NPiTunes": "NowPlaying(macOS)",
|
||||
"schedule": "Scheduled toot",
|
||||
"postat": "Post at",
|
||||
"scheduleWarn": "2.7.0~ Minimum time gap:5min(clock on the server may not be accurate.)",
|
||||
@@ -77,6 +75,7 @@
|
||||
"toots": "Toots",
|
||||
"follow": "Follow",
|
||||
"follower": "Follower",
|
||||
"utlColumn": "Show as a column",
|
||||
"timeline": "Timeline",
|
||||
"operateOtherAcct": "Cross-account",
|
||||
"list": "List",
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user