Compare commits

..

44 Commits

Author SHA1 Message Date
cutls
ec1481aed0 fix 2020-09-07 00:58:26 +09:00
cutls
1e76867fd1 TheDesk 21.1.1 (Mayu) 2020-09-07 00:55:47 +09:00
cutls
7ff01413e5 some fix 2020-09-07 00:23:10 +09:00
cutls
48b3ed3aca some fix 2020-09-07 00:14:51 +09:00
cutls
e75d52f985 TheDesk 21.1.0 (Mayu) 2020-09-07 00:08:30 +09:00
cutls
3f95e755b5 cannot get next fav/flw/fler 2020-09-06 23:29:12 +09:00
cutls
9d0f4096f8 #317 nice reload 2020-09-06 22:57:20 +09:00
cutls
e402e0e7a7 materialize-css update 2020-09-06 21:39:16 +09:00
cutls
38c77fb39e streaming disconnect warrior 2020-09-06 21:38:15 +09:00
cutls
3020adbe9d #317 annoucement 2020-09-06 21:37:50 +09:00
cutls
4df390713c #317 announcement bug 2020-09-04 23:54:49 +09:00
cutls
bec4444388 #307 #317 margin between timelines 2020-09-04 23:43:04 +09:00
cutls
2d249f6f19 max/min width of column 2020-09-03 23:17:01 +09:00
cutls
4d1053ce99 Use proxy media url for unknown media 2020-09-03 22:57:53 +09:00
cutls
0522331977 Channel subscription type streaming 2020-09-03 11:21:20 +09:00
cutls
eb9520397c z-index 2020-09-03 11:20:57 +09:00
cutls
f0c93b8fce #342 emoji 2020-09-03 11:20:36 +09:00
cutls
b3e9c3d6ce wip: channel subscription type streaming 2020-09-02 13:24:59 +09:00
cutls
99793f2e20 TheDesk Nano fixed 2020-09-02 12:11:02 +09:00
cutls
f43bd64be2 minimum hashtag streaming 2020-09-02 12:02:31 +09:00
cutls
fa440e8d9b fix some CSS 2020-08-30 22:42:49 +09:00
cutls
91bc8c8bdd WIP #317 last.fm 2020-08-12 10:01:14 +09:00
cutls
74d756d43b #317 for a11y 2020-08-12 09:48:28 +09:00
cutls
2281d0ca35 #317 WebView prefer 2020-08-05 12:46:10 +09:00
cutls
31cc929c68 #317 last_status type 2020-08-05 12:38:51 +09:00
cutls
80ce93785a #317 context menu 2020-08-05 12:26:59 +09:00
cutls
1710ab0035 [WIP] linting 2020-08-02 16:08:07 +09:00
cutls
dafc50bbd7 TheDesk 21.0.5 (Mayu) 2020-08-02 13:26:18 +09:00
cutls
50f58f8d3b Merge branch 'master' of github.com:cutls/TheDesk 2020-08-02 13:16:45 +09:00
cutls
b9be1529cc Change InstanceTicker to OpenSticker 2020-08-02 13:16:31 +09:00
Cutls
fb3a89b547 Merge pull request #318 from cutls/dependabot/npm_and_yarn/app/sweetalert2-9.17.0
Bump sweetalert2 from 9.15.2 to 9.17.0 in /app
2020-07-21 09:21:23 +09:00
Cutls
c01915c397 Merge pull request #319 from cutls/dependabot/npm_and_yarn/app/fortawesome/fontawesome-free-5.14.0
Bump @fortawesome/fontawesome-free from 5.13.1 to 5.14.0 in /app
2020-07-21 09:20:57 +09:00
Cutls
e9a774c1d4 Merge pull request #315 from cutls/dependabot/npm_and_yarn/app/lodash-4.17.19
[Security] Bump lodash from 4.17.15 to 4.17.19 in /app
2020-07-21 09:20:20 +09:00
Cutls
04d08ae6c1 Merge pull request #320 from cutls/dependabot/npm_and_yarn/app/chokidar-3.4.1
Bump chokidar from 3.4.0 to 3.4.1 in /app
2020-07-21 09:19:54 +09:00
dependabot-preview[bot]
0585f95a85 Bump @fortawesome/fontawesome-free from 5.13.1 to 5.14.0 in /app
Bumps [@fortawesome/fontawesome-free](https://github.com/FortAwesome/Font-Awesome) from 5.13.1 to 5.14.0.
- [Release notes](https://github.com/FortAwesome/Font-Awesome/releases)
- [Changelog](https://github.com/FortAwesome/Font-Awesome/blob/master/CHANGELOG.md)
- [Commits](https://github.com/FortAwesome/Font-Awesome/compare/5.13.1...5.14.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-21 00:19:39 +00:00
dependabot-preview[bot]
2300e02a12 Bump chokidar from 3.4.0 to 3.4.1 in /app
Bumps [chokidar](https://github.com/paulmillr/chokidar) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/paulmillr/chokidar/releases)
- [Commits](https://github.com/paulmillr/chokidar/compare/3.4.0...3.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-21 00:19:24 +00:00
Cutls
fec4b61cb6 Merge pull request #321 from cutls/dependabot/npm_and_yarn/app/custom-electron-titlebar-3.2.3
Bump custom-electron-titlebar from 3.2.2-hotfix62 to 3.2.3 in /app
2020-07-21 09:18:00 +09:00
Cutls
e1941ce621 Merge pull request #322 from cutls/dependabot/npm_and_yarn/app/electron-9.1.1
Bump electron from 9.0.5 to 9.1.1 in /app
2020-07-21 09:17:44 +09:00
dependabot-preview[bot]
3aeb47b039 Bump electron from 9.0.5 to 9.1.1 in /app
Bumps [electron](https://github.com/electron/electron) from 9.0.5 to 9.1.1.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v9.0.5...v9.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-20 23:53:38 +00:00
dependabot-preview[bot]
73701be7c9 Bump custom-electron-titlebar from 3.2.2-hotfix62 to 3.2.3 in /app
Bumps [custom-electron-titlebar](https://github.com/AlexTorresSk/custom-electron-titlebar) from 3.2.2-hotfix62 to 3.2.3.
- [Release notes](https://github.com/AlexTorresSk/custom-electron-titlebar/releases)
- [Commits](https://github.com/AlexTorresSk/custom-electron-titlebar/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-17 20:58:08 +00:00
Cutls
7941eb7e9d Update FUNDING.yml 2020-07-17 11:17:25 +09:00
dependabot-preview[bot]
a8dedc94e9 Bump sweetalert2 from 9.15.2 to 9.17.0 in /app
Bumps [sweetalert2](https://github.com/sweetalert2/sweetalert2) from 9.15.2 to 9.17.0.
- [Release notes](https://github.com/sweetalert2/sweetalert2/releases)
- [Changelog](https://github.com/sweetalert2/sweetalert2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sweetalert2/sweetalert2/compare/v9.15.2...v9.17.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-14 21:03:09 +00:00
cutls
26fd6a72d6 InstanceTicker URL 2020-07-10 14:22:55 +09:00
dependabot-preview[bot]
9d6f06cbde Bump lodash from 4.17.15 to 4.17.19 in /app
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-08 21:41:51 +00:00
63 changed files with 3163 additions and 2118 deletions

2
.github/FUNDING.yml vendored
View File

@@ -5,4 +5,4 @@ patreon: cutls
open_collective: # Replace with a single Open Collective username open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 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

5
app/.eslintignore Normal file
View 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
View 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
}
}

View File

@@ -21,6 +21,15 @@ html {
align-items: flex-start; align-items: flex-start;
} }
#acct-list .btn-flat.white-text {
color: inherit !important;
}
#acct-list .btn-flat.red-text {
background-color: white !important;
}
.lts { .lts {
font-size: 150%; font-size: 150%;
} }

View File

@@ -11,12 +11,6 @@ body {
html { html {
font-size: 13px; font-size: 13px;
} }
.waves-effect:hover {
filter: brightness(80%);
}
.waves-effect:focus {
filter: brightness(70%);
}
.titlebar, .titlebar,
.menubar-menu-container, .menubar-menu-container,
.action-menu-item { .action-menu-item {
@@ -237,6 +231,7 @@ blockquote:before,
width: 100vw; width: 100vw;
height: calc(100vh - 3rem); height: calc(100vh - 3rem);
background-color: var(--bg); background-color: var(--bg);
filter: brightness(50%);
color: var(--color); color: var(--color);
z-index: 99999; z-index: 99999;
justify-content: center; justify-content: center;
@@ -346,7 +341,7 @@ blockquote:before,
} }
#menu { #menu {
position: fixed; position: fixed;
z-index: 9999; z-index: 999;
background-color: var(--postbox); background-color: var(--postbox);
width: 540px; width: 540px;
top: calc(50% - 150px); top: calc(50% - 150px);
@@ -383,6 +378,9 @@ blockquote:before,
#left-menu a.active { #left-menu a.active {
background-color: var(--emphasized); background-color: var(--emphasized);
} }
#left-menu a.active span {
text-decoration: underline;
}
#right-menu { #right-menu {
width: 100%; width: 100%;
overflow-y: scroll; overflow-y: scroll;
@@ -612,3 +610,6 @@ textarea {
.darwin .win { .darwin .win {
display: none; display: none;
} }
.dropdown-content.header:hover {
background-color: white;
}

View File

@@ -157,7 +157,8 @@ iframe,
} }
.box { .box {
overflow: hidden; overflow: hidden;
min-width: 23rem; min-width: 300px;
max-width: 600px;
flex: 1; flex: 1;
border-top: none; border-top: none;
display: flex; display: flex;
@@ -217,10 +218,14 @@ iframe,
.emoji, .emoji,
.emoji-img { .emoji-img {
width: 1.153rem; width: 1.153rem;
height: 1.153rem;
object-fit: cover;
} }
.area-toot .emoji, .area-toot .emoji,
.area-toot .emoji-img { .area-toot .emoji-img {
width: 1.538rem; width: 1.538rem;
height: 1.538rem;
object-fit: cover;
vertical-align: middle; vertical-align: middle;
margin: -1px 0; margin: -1px 0;
} }
@@ -238,6 +243,7 @@ iframe,
flex: 1; flex: 1;
overflow-y: scroll; overflow-y: scroll;
overflow-x: hidden; overflow-x: hidden;
background-color: var(--bg);
} }
.additional { .additional {
overflow-x: scroll; overflow-x: scroll;

View File

@@ -87,6 +87,7 @@
overflow-y: scroll; overflow-y: scroll;
overflow-x: hidden; overflow-x: hidden;
height: calc(100% - 3.4rem); height: calc(100% - 3.4rem);
padding-bottom: 60px;
} }
#my-data-nav .btn { #my-data-nav .btn {
width: 10.7rem; width: 10.7rem;
@@ -142,6 +143,9 @@
#hisdropdown{ #hisdropdown{
background-color: var(--bg); background-color: var(--bg);
} }
#hisdropdown li a {
color: white;
}
#hisdropdown li:hover{ #hisdropdown li:hover{
background-color: var(--active); background-color: var(--active);
} }

69
app/img/2025.svg Normal file
View 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

View File

@@ -1,7 +1,6 @@
//モーダル・ドロップダウンの各種設定 //モーダル・ドロップダウンの各種設定
$(document).ready(function () { $(document).ready(function () {
// the "href" attribute of the modal trigger must specify the modal ID that wants to be triggered // the "href" attribute of the modal trigger must specify the modal ID that wants to be triggered
return;
$('.modal').modal({ $('.modal').modal({
inDuration: 300, inDuration: 300,
outDuration: 225, outDuration: 225,
@@ -11,7 +10,7 @@ $(document).ready(function () {
belowOrigin: false, // Displays dropdown below the button belowOrigin: false, // Displays dropdown below the button
alignment: 'left', // Displays dropdown with edge aligned to the left of button alignment: 'left', // Displays dropdown with edge aligned to the left of button
stopPropagation: false stopPropagation: false
}); })
$('.dropdown-trigger').dropdown({ $('.dropdown-trigger').dropdown({
inDuration: 300, inDuration: 300,
outDuration: 225, outDuration: 225,
@@ -22,9 +21,9 @@ $(document).ready(function () {
alignment: 'left', // Displays dropdown with edge aligned to the left of button alignment: 'left', // Displays dropdown with edge aligned to the left of button
stopPropagation: false // Stops event propagation stopPropagation: false // Stops event propagation
} }
); )
$('.collapsible').collapsible(); $('.collapsible').collapsible()
$('#videomodal').modal({ $('#videomodal').modal({
onCloseEnd: stopVideo onCloseEnd: stopVideo
}); })
}); })

View File

@@ -17,26 +17,26 @@
(function (factory) { (function (factory) {
if (typeof define === 'function' && define.amd) { if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module. // AMD. Register as an anonymous module.
define(['jquery'], factory); define(['jquery'], factory)
} else if (typeof module === 'object' && typeof module.exports === 'object') { } else if (typeof module === 'object' && typeof module.exports === 'object') {
factory(require('jquery')); factory(require('jquery'))
} else { } else {
// Browser globals // Browser globals
factory(jQuery); factory(jQuery)
} }
}(function ($) { }(function ($) {
$.timeago = function (timestamp) { $.timeago = function (timestamp) {
if (timestamp instanceof Date) { if (timestamp instanceof Date) {
return inWords(timestamp); return inWords(timestamp)
} else if (typeof timestamp === "string") { } else if (typeof timestamp === "string") {
return inWords($.timeago.parse(timestamp)); return inWords($.timeago.parse(timestamp))
} else if (typeof timestamp === "number") { } else if (typeof timestamp === "number") {
return inWords(new Date(timestamp)); return inWords(new Date(timestamp))
} else { } else {
return inWords($.timeago.datetime(timestamp)); return inWords($.timeago.datetime(timestamp))
} }
}; }
var $t = $.timeago; var $t = $.timeago
$.extend($.timeago, { $.extend($.timeago, {
settings: { settings: {
refreshMillis: 60000, refreshMillis: 60000,
@@ -69,33 +69,33 @@
inWords: function (distanceMillis) { inWords: function (distanceMillis) {
if (!this.settings.allowPast && !this.settings.allowFuture) { 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 $l = this.settings.strings
var prefix = $l.prefixAgo; var prefix = $l.prefixAgo
var suffix = $l.suffixAgo; var suffix = $l.suffixAgo
if (this.settings.allowFuture) { if (this.settings.allowFuture) {
if (distanceMillis < 0) { if (distanceMillis < 0) {
prefix = $l.prefixFromNow; prefix = $l.prefixFromNow
suffix = $l.suffixFromNow; suffix = $l.suffixFromNow
} }
} }
if (!this.settings.allowPast && distanceMillis >= 0) { if (!this.settings.allowPast && distanceMillis >= 0) {
return this.settings.strings.inPast; return this.settings.strings.inPast
} }
var seconds = Math.abs(distanceMillis) / 1000; var seconds = Math.abs(distanceMillis) / 1000
var minutes = seconds / 60; var minutes = seconds / 60
var hours = minutes / 60; var hours = minutes / 60
var days = hours / 24; var days = hours / 24
var years = days / 365; var years = days / 365
function substitute(stringOrFunction, number) { function substitute(stringOrFunction, number) {
var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction; var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction
var value = ($l.numbers && $l.numbers[number]) || number; var value = ($l.numbers && $l.numbers[number]) || number
return string.replace(/%d/i, value); return string.replace(/%d/i, value)
} }
var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) || var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
@@ -108,124 +108,124 @@
days < 45 && substitute($l.month, 1) || days < 45 && substitute($l.month, 1) ||
days < 365 && substitute($l.months, Math.round(days / 30)) || days < 365 && substitute($l.months, Math.round(days / 30)) ||
years < 1.5 && substitute($l.year, 1) || years < 1.5 && substitute($l.year, 1) ||
substitute($l.years, Math.round(years)); substitute($l.years, Math.round(years))
var separator = $l.wordSeparator || ""; var separator = $l.wordSeparator || ""
if ($l.wordSeparator === undefined) { separator = " "; } if ($l.wordSeparator === undefined) { separator = " " }
return $.trim([prefix, words, suffix].join(separator)); return $.trim([prefix, words, suffix].join(separator))
}, },
parse: function (iso8601) { parse: function (iso8601) {
var s = $.trim(iso8601); var s = $.trim(iso8601)
s = s.replace(/\.\d+/, ""); // remove milliseconds s = s.replace(/\.\d+/, "") // remove milliseconds
s = s.replace(/-/, "/").replace(/-/, "/"); s = s.replace(/-/, "/").replace(/-/, "/")
s = s.replace(/T/, " ").replace(/Z/, " UTC"); s = s.replace(/T/, " ").replace(/Z/, " UTC")
s = s.replace(/([\+\-]\d\d)\:?(\d\d)/, " $1$2"); // -04:00 -> -0400 s = s.replace(/([\+\-]\d\d)\:?(\d\d)/, " $1$2") // -04:00 -> -0400
s = s.replace(/([\+\-]\d\d)$/, " $100"); // +09 -> +0900 s = s.replace(/([\+\-]\d\d)$/, " $100") // +09 -> +0900
return new Date(s); return new Date(s)
}, },
datetime: function (elem) { datetime: function (elem) {
var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title"); var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title")
return $t.parse(iso8601); return $t.parse(iso8601)
}, },
isTime: function (elem) { isTime: function (elem) {
// jQuery's `is()` doesn't play well with HTML5 in IE // 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') // functions that can be called via $(el).timeago('action')
// init is default when no action is given // init is default when no action is given
// functions are called with context of a single element // functions are called with context of a single element
var functions = { var functions = {
init: function () { init: function () {
functions.dispose.call(this); functions.dispose.call(this)
var refresh_el = $.proxy(refresh, this); var refresh_el = $.proxy(refresh, this)
refresh_el(); refresh_el()
var $s = $t.settings; var $s = $t.settings
if ($s.refreshMillis > 0) { if ($s.refreshMillis > 0) {
this._timeagoInterval = setInterval(refresh_el, $s.refreshMillis); this._timeagoInterval = setInterval(refresh_el, $s.refreshMillis)
} }
}, },
update: function (timestamp) { update: function (timestamp) {
var date = (timestamp instanceof Date) ? timestamp : $t.parse(timestamp); var date = (timestamp instanceof Date) ? timestamp : $t.parse(timestamp)
$(this).data('timeago', { datetime: date }); $(this).data('timeago', { datetime: date })
if ($t.settings.localeTitle) { if ($t.settings.localeTitle) {
$(this).attr("title", date.toLocaleString()); $(this).attr("title", date.toLocaleString())
} }
refresh.apply(this); refresh.apply(this)
}, },
updateFromDOM: function () { updateFromDOM: function () {
$(this).data('timeago', { datetime: $t.parse($t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title")) }); $(this).data('timeago', { datetime: $t.parse($t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title")) })
refresh.apply(this); refresh.apply(this)
}, },
dispose: function () { dispose: function () {
if (this._timeagoInterval) { if (this._timeagoInterval) {
window.clearInterval(this._timeagoInterval); window.clearInterval(this._timeagoInterval)
this._timeagoInterval = null; this._timeagoInterval = null
} }
} }
}; }
$.fn.timeago = function (action, options) { $.fn.timeago = function (action, options) {
var fn = action ? functions[action] : functions.init; var fn = action ? functions[action] : functions.init
if (!fn) { 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 // each over objects here and call the requested function
this.each(function () { this.each(function () {
fn.call(this, options); fn.call(this, options)
}); })
return this; return this
}; }
function refresh() { function refresh() {
var $s = $t.settings; var $s = $t.settings
//check if it's still visible //check if it's still visible
if ($s.autoDispose && !$.contains(document.documentElement, this)) { if ($s.autoDispose && !$.contains(document.documentElement, this)) {
//stop if it has been removed //stop if it has been removed
$(this).timeago("dispose"); $(this).timeago("dispose")
return this; return this
} }
var data = prepareData(this); var data = prepareData(this)
if (!isNaN(data.datetime)) { if (!isNaN(data.datetime)) {
if ($s.cutoff === 0 || Math.abs(distance(data.datetime)) < $s.cutoff) { if ($s.cutoff === 0 || Math.abs(distance(data.datetime)) < $s.cutoff) {
$(this).text(inWords(data.datetime)); $(this).text(inWords(data.datetime))
} else { } else {
if ($(this).attr('title').length > 0) { if ($(this).attr('title').length > 0) {
$(this).text($(this).attr('title')); $(this).text($(this).attr('title'))
} }
} }
} }
return this; return this
} }
function prepareData(element) { function prepareData(element) {
element = $(element); element = $(element)
if (!element.data("timeago")) { if (!element.data("timeago")) {
element.data("timeago", { datetime: $t.datetime(element) }); element.data("timeago", { datetime: $t.datetime(element) })
var text = $.trim(element.text()); var text = $.trim(element.text())
if ($t.settings.localeTitle) { 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"))) { } 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) { function inWords(date) {
return $t.inWords(distance(date)); return $t.inWords(distance(date))
} }
function distance(date) { function distance(date) {
return (new Date().getTime() - date.getTime()); return (new Date().getTime() - date.getTime())
} }
// fix for IE6 suckage // fix for IE6 suckage
document.createElement("abbr"); document.createElement("abbr")
document.createElement("time"); document.createElement("time")
})); }))

View File

@@ -4,18 +4,21 @@ function verck(ver, jp) {
$('body').addClass(localStorage.getItem('platform')) $('body').addClass(localStorage.getItem('platform'))
var date = new Date() var date = new Date()
var showVer = false var showVer = false
if (localStorage.getItem('ver') != ver && localStorage.getItem('winstore')) { //Spotify
//ちょっと削除とリンク解析の都合上アレ(s) if (localStorage.getItem('spotify')) {
//対象外のアプデ:storageが20の最初まで"Usamin (18.6.5)" localStorage.removeItem('spotify')
if (!localStorage.getItem('usamin_18_6_5_flag')) { localStorage.removeItem('spotify-refresh')
localStorage.setItem('usamin_18_6_5_flag', true) var spDc = 'Spotify NowPlaying sysytem was changed, please re-login to Spotify'
var multi = localStorage.getItem('column') if(lang.language == 'ja') {
var obj = JSON.parse(multi) spDc = 'Spotify NowPlayingの機能が変更されたため、もう一度ログインしてください'
for (var i = 0; i < obj.length; i++) {
localStorage.removeItem('card_' + i)
}
} }
//ちょっと削除とリンク解析の都合上アレ(e) Swal.fire({
type: 'info',
title: spDc,
})
}
//Spotify(e)
if (localStorage.getItem('ver') != ver && localStorage.getItem('winstore')) {
showVer = true showVer = true
console.log('%c Thank you for your update🎉', 'color: red;font-size:200%;') console.log('%c Thank you for your update🎉', 'color: red;font-size:200%;')
$(document).ready(function() { $(document).ready(function() {
@@ -204,7 +207,7 @@ function verck(ver, jp) {
} }
} }
if (showVer) { if (showVer) {
Mtoast({ M.toast({
html: html:
escapeHTML(obj.text) + escapeHTML(obj.text) +
toot + toot +
@@ -265,7 +268,7 @@ function infowebsocket() {
if (showVer) { if (showVer) {
console.log(obj.text) console.log(obj.text)
console.log(escapeHTML(obj.text)) console.log(escapeHTML(obj.text))
Mtoast({ M.toast({
html: html:
escapeHTML(obj.text) + escapeHTML(obj.text) +
toot + toot +

View File

@@ -92,7 +92,7 @@ var activity=[
{shortcode:"man-rowing-boat",css:"95.8333% 14.5833%"}, {shortcode:"man-rowing-boat",css:"95.8333% 14.5833%"},
{shortcode:"man-biking",css:"95.8333% 39.5833%"}, {shortcode:"man-biking",css:"95.8333% 39.5833%"},
{shortcode:"man-mountain-biking",css:"95.8333% 64.5833%"} {shortcode:"man-mountain-biking",css:"95.8333% 64.5833%"}
]; ]
var flag=[ var flag=[
{shortcode:"checkered_flag",css:"16.6667% 58.3333%"}, {shortcode:"checkered_flag",css:"16.6667% 58.3333%"},
{shortcode:"crossed_flags",css:"14.5833% 60.4167%"}, {shortcode:"crossed_flags",css:"14.5833% 60.4167%"},
@@ -356,7 +356,7 @@ var flag=[
{shortcode:"rainbow-flag",css:"83.3333% 100%"}, {shortcode:"rainbow-flag",css:"83.3333% 100%"},
{shortcode:"triangular_flag_on_post",css:"54.1667% 6.25%"}, {shortcode:"triangular_flag_on_post",css:"54.1667% 6.25%"},
{shortcode:"waving_black_flag",css:"20.8333% 29.1667%"}, {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=[ var food=[
{shortcode:"green_apple",css:"12.5% 25%"}, {shortcode:"green_apple",css:"12.5% 25%"},
{shortcode:"apple",css:"12.5% 22.9167%"}, {shortcode:"apple",css:"12.5% 22.9167%"},
@@ -444,7 +444,7 @@ var food=[
{shortcode:"spoon",css:"62.5% 14.5833%"}, {shortcode:"spoon",css:"62.5% 14.5833%"},
{shortcode:"fork_and_knife",css:"14.5833% 0%"}, {shortcode:"fork_and_knife",css:"14.5833% 0%"},
{shortcode:"knife_fork_plate",css:"14.5833% 18.75%"} {shortcode:"knife_fork_plate",css:"14.5833% 18.75%"}
]; ]
var nature=[ var nature=[
{shortcode:"dog",css:"22.9167% 62.5%"}, {shortcode:"dog",css:"22.9167% 62.5%"},
{shortcode:"cat",css:"22.9167% 52.0833%"}, {shortcode:"cat",css:"22.9167% 52.0833%"},
@@ -605,7 +605,7 @@ var nature=[
{shortcode:"droplet",css:"35.4167% 39.5833%"}, {shortcode:"droplet",css:"35.4167% 39.5833%"},
{shortcode:"sweat_drops",css:"35.4167% 37.5%"}, {shortcode:"sweat_drops",css:"35.4167% 37.5%"},
{shortcode:"umbrella_with_rain_drops",css:"0% 100%"} {shortcode:"umbrella_with_rain_drops",css:"0% 100%"}
]; ]
var object=[ var object=[
{shortcode:"watch",css:"0% 29.1667%"}, {shortcode:"watch",css:"0% 29.1667%"},
{shortcode:"iphone",css:"39.5833% 0%"}, {shortcode:"iphone",css:"39.5833% 0%"},
@@ -780,7 +780,7 @@ var object=[
{shortcode:"closed_lock_with_key",css:"39.5833% 62.5%"}, {shortcode:"closed_lock_with_key",css:"39.5833% 62.5%"},
{shortcode:"lock",css:"39.5833% 66.6667%"}, {shortcode:"lock",css:"39.5833% 66.6667%"},
{shortcode:"unlock",css:"39.5833% 68.75%"} {shortcode:"unlock",css:"39.5833% 68.75%"}
]; ]
var people=[ var people=[
{shortcode:"grinning",css:"45.8333% 68.75%"}, {shortcode:"grinning",css:"45.8333% 68.75%"},
{shortcode:"smiley",css:"45.8333% 75%"}, {shortcode:"smiley",css:"45.8333% 75%"},
@@ -1096,7 +1096,7 @@ var people=[
{shortcode:"woman-raising-hand",css:"93.75% 29.1667%"}, {shortcode:"woman-raising-hand",css:"93.75% 29.1667%"},
{shortcode:"woman-frowning",css:"93.75% 54.1667%"}, {shortcode:"woman-frowning",css:"93.75% 54.1667%"},
{shortcode:"woman-pouting",css:"93.75% 79.1667%"} {shortcode:"woman-pouting",css:"93.75% 79.1667%"}
]; ]
var place=[ var place=[
{shortcode:"car",css:"52.0833% 60.4167%"}, {shortcode:"car",css:"52.0833% 60.4167%"},
{shortcode:"taxi",css:"52.0833% 56.25%"}, {shortcode:"taxi",css:"52.0833% 56.25%"},
@@ -1217,7 +1217,7 @@ var place=[
{shortcode:"milky_way",css:"8.33333% 93.75%"}, {shortcode:"milky_way",css:"8.33333% 93.75%"},
{shortcode:"bridge_at_night",css:"8.33333% 87.5%"}, {shortcode:"bridge_at_night",css:"8.33333% 87.5%"},
{shortcode:"foggy",css:"8.33333% 70.8333%"} {shortcode:"foggy",css:"8.33333% 70.8333%"}
]; ]
var symbol=[ var symbol=[
{shortcode:"heart",css:"6.25% 62.5%"}, {shortcode:"heart",css:"6.25% 62.5%"},
{shortcode:"yellow_heart",css:"35.4167% 14.5833%"}, {shortcode:"yellow_heart",css:"35.4167% 14.5833%"},
@@ -1492,7 +1492,7 @@ var symbol=[
{shortcode:"female_sign",css:"2.08333% 37.5%"}, {shortcode:"female_sign",css:"2.08333% 37.5%"},
{shortcode:"male_sign",css:"2.08333% 39.5833%"}, {shortcode:"male_sign",css:"2.08333% 39.5833%"},
{shortcode:"staff_of_aesculapius",css:"2.08333% 87.5%"} {shortcode:"staff_of_aesculapius",css:"2.08333% 87.5%"}
]; ]
var faicons=[ var faicons=[
"fa-500px", "fa-500px",
"fa-address-book", "fa-address-book",

View File

@@ -83,6 +83,6 @@ var idata = {
"nitiasa.com_quote":"enabled", "nitiasa.com_quote":"enabled",
"biwakodon.com_quote":"enabled", "biwakodon.com_quote":"enabled",
"comm.cx_quote":"enabled" "comm.cx_quote":"enabled"
}; }
localStorage.setItem("instance", JSON.stringify(idata)); localStorage.setItem("instance", JSON.stringify(idata))

View File

@@ -197,7 +197,7 @@ function getdata() {
.then(function(json) { .then(function(json) {
if (json.error) { if (json.error) {
console.error('Error:' + json.error) console.error('Error:' + json.error)
Mtoast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 }) M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 })
return return
} }
var avatar = json['avatar'] var avatar = json['avatar']
@@ -255,7 +255,7 @@ function getdataAdv(domain, at) {
.then(function(json) { .then(function(json) {
if (json.error) { if (json.error) {
console.error('Error:' + json.error) console.error('Error:' + json.error)
Mtoast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 }) M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 })
return return
} }
var avatar = json['avatar'] var avatar = json['avatar']
@@ -321,7 +321,7 @@ function refresh(target, loadskip) {
.then(function(json) { .then(function(json) {
if (json.error) { if (json.error) {
console.error('Error:' + json.error) console.error('Error:' + json.error)
Mtoast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 }) M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 })
return return
} }
var avatar = json['avatar'] var avatar = json['avatar']
@@ -573,7 +573,7 @@ function multiSelector(parseC) {
) )
$('#dir-acct-sel').append('<option value="noauth">' + lang.lang_login_noauth + '</option>') $('#dir-acct-sel').append('<option value="noauth">' + lang.lang_login_noauth + '</option>')
} }
//$('select').formSelect() $('select').formSelect()
if (!parseC) { if (!parseC) {
parseColumn(null, true) parseColumn(null, true)
} }
@@ -590,7 +590,7 @@ function enc(ver) {
} }
//インスタンスティッカー //インスタンスティッカー
function ticker() { function ticker() {
var start = 'https://toot.app/toot/index.php' var start = 'https://s.0px.io/json'
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
cors: true, cors: true,
@@ -611,7 +611,8 @@ function ticker() {
}) })
.then(function(json) { .then(function(json) {
if (json) { if (json) {
localStorage.setItem('ticker', JSON.stringify(json)) localStorage.removeItem('ticker')
localStorage.setItem('sticker', JSON.stringify(json))
} }
}) })
} }

View File

@@ -1,7 +1,7 @@
//ログアウトします //ログアウトします
function logout() { function logout() {
localStorage.removeItem("acct_" + acct_id + "_at"); localStorage.removeItem("acct_" + acct_id + "_at")
localStorage.removeItem("domain_" + acct_id); localStorage.removeItem("domain_" + acct_id)
location.href = "index.html"; location.href = "index.html"
todc(); todc()
} }

View File

@@ -640,7 +640,7 @@ function code(code) {
$('#code').val('') $('#code').val('')
} }
if (!code || code == '') { if (!code || code == '') {
Mtoast({ html: lang.lang_fatalerroroccured + 'Error: no code', displayLength: 5000 }) M.toast({ html: lang.lang_fatalerroroccured + 'Error: no code', displayLength: 5000 })
return false return false
} }
var url = localStorage.getItem('domain_tmp') var url = localStorage.getItem('domain_tmp')
@@ -757,7 +757,7 @@ function getdata(domain, at) {
.then(function(json) { .then(function(json) {
if (json.error) { if (json.error) {
console.error('Error:' + json.error) console.error('Error:' + json.error)
Mtoast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 }) M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 })
return return
} }
var avatar = json['avatar'] var avatar = json['avatar']
@@ -830,7 +830,7 @@ function atSetup(type) {
} }
} }
if (!i || i == '') { if (!i || i == '') {
Mtoast({ html: lang.lang_fatalerroroccured + 'Error: access token', displayLength: 5000 }) M.toast({ html: lang.lang_fatalerroroccured + 'Error: access token', displayLength: 5000 })
return false return false
} }
var obj = JSON.parse(multi) var obj = JSON.parse(multi)
@@ -883,7 +883,7 @@ function refresh(target) {
.then(function(json) { .then(function(json) {
if (json.error) { if (json.error) {
console.error('Error:' + json.error) console.error('Error:' + json.error)
Mtoast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 }) M.toast({ html: lang.lang_fatalerroroccured + 'Error:' + json.error, displayLength: 5000 })
return return
} }
var avatar = json['avatar'] var avatar = json['avatar']
@@ -1007,12 +1007,12 @@ function multisel() {
$('.acct-sel').append(template) $('.acct-sel').append(template)
}) })
} }
//$('select').formSelect() $('select').formSelect()
} }
function mainacct() { function mainacct() {
var acct_id = $('#main-acct-sel').val() var acct_id = $('#main-acct-sel').val()
localStorage.setItem('main', acct_id) localStorage.setItem('main', acct_id)
Mtoast({ html: lang.lang_manager_mainAcct, displayLength: 3000 }) M.toast({ html: lang.lang_manager_mainAcct, displayLength: 3000 })
} }
function colorpicker(key) { function colorpicker(key) {
temp = `<div onclick="coloradd('${key}','def','def')" class="pointer exc">${lang.lang_manager_none}</div> temp = `<div onclick="coloradd('${key}','def','def')" class="pointer exc">${lang.lang_manager_none}</div>

View File

@@ -130,17 +130,11 @@ function playSound() {
volumeControl.gain.value = vol volumeControl.gain.value = vol
source.start(0) source.start(0)
soundFile = source soundFile = source
function newFunction() {
var source
return source
}
} }
function nano() { function nano() {
postMessage(['nano', null], '*') postMessage(['nano', null], '*')
} }
onmessage = function(e) { onmessage = function(e) {
console.log(e)
if (e.data[0] == 'details') { if (e.data[0] == 'details') {
details(e.data[1][0], e.data[1][1]) details(e.data[1][0], e.data[1][1])
} else if (e.data[0] == 'udg') { } else if (e.data[0] == 'udg') {
@@ -153,7 +147,7 @@ onmessage = function(e) {
var showTxt = `${lang.lang_img_DLDone}${ var showTxt = `${lang.lang_img_DLDone}${
e.data[1][0] e.data[1][0]
}<button class="btn-flat toast-action" onclick="openFinder('${e.data[1][1]}')">Show</button>` }<button class="btn-flat toast-action" onclick="openFinder('${e.data[1][1]}')">Show</button>`
Mtoast({ html: showTxt, displayLength: 5000 }) M.toast({ html: showTxt, displayLength: 5000 })
} else if (e.data[0] == 'parseColumn') { } else if (e.data[0] == 'parseColumn') {
parseColumn(e.data[1]) parseColumn(e.data[1])
} else if (e.data[0] == 'exportSettingsCore') { } else if (e.data[0] == 'exportSettingsCore') {

View File

@@ -225,9 +225,6 @@ function evalAttr(json, attr, lenCk) {
return false return false
} }
} }
function Mtoast(obj) {
return true
}
function statusModel(now) { function statusModel(now) {
if (!now) { if (!now) {
var now = new Date().toString() var now = new Date().toString()

View File

@@ -45,7 +45,7 @@ function mdCheck() {
$('#trendtag').html('') $('#trendtag').html('')
} }
if (localStorage.getItem('mode_' + domain) == 'misskey') { if (localStorage.getItem('mode_' + domain) == 'misskey') {
Mtoast({ html: lang.lang_bbmd_misskey, displayLength: 5000 }) M.toast({ html: lang.lang_bbmd_misskey, displayLength: 5000 })
} }
if (idata[domain + '_letters']) { if (idata[domain + '_letters']) {
$('#textarea').attr('data-length', idata[domain + '_letters']) $('#textarea').attr('data-length', idata[domain + '_letters'])

View File

@@ -154,9 +154,9 @@ async function media(b64, type, no, stamped) {
$('#nsfw').addClass('nsfw-avail') $('#nsfw').addClass('nsfw-avail')
} }
$('.toot-btn-group').prop('disabled', false) $('.toot-btn-group').prop('disabled', false)
//$('select').formSelect() $('select').formSelect()
$('#mec').text(lang.lang_there) $('#mec').text(lang.lang_there)
Mtoast({ html: '<span>' + lang.lang_postimg_sync + '</span><button class="btn-flat toast-action" onclick="syncDetail()">Click</button>', displayLength: 3000 }) M.toast({ html: '<span>' + lang.lang_postimg_sync + '</span><button class="btn-flat toast-action" onclick="syncDetail()">Click</button>', displayLength: 3000 })
$('#imgup').text('') $('#imgup').text('')
$('#imgsel').show() $('#imgsel').show()
localStorage.removeItem('image') localStorage.removeItem('image')
@@ -176,9 +176,9 @@ async function media(b64, type, no, stamped) {
if (this.status !== 200) { if (this.status !== 200) {
setLog(start, this.status, json) setLog(start, this.status, json)
$('.toot-btn-group').prop('disabled', false) $('.toot-btn-group').prop('disabled', false)
//$('select').formSelect() $('select').formSelect()
$('#mec').text(lang.lang_there) $('#mec').text(lang.lang_there)
Mtoast({ html: this.status + ':' +json, displayLength: 2000 }) M.toast({ html: this.status + ':' +json, displayLength: 2000 })
$('#imgup').text('') $('#imgup').text('')
$('#imgsel').show() $('#imgsel').show()
} }
@@ -187,14 +187,14 @@ async function media(b64, type, no, stamped) {
$('#imgup').text('') $('#imgup').text('')
$('.toot-btn-group').prop('disabled', false) $('.toot-btn-group').prop('disabled', false)
$('#post-acct-sel').prop('disabled', false) $('#post-acct-sel').prop('disabled', false)
//$('select').formSelect() $('select').formSelect()
$('#imgsel').show() $('#imgsel').show()
Mtoast({ html: lang.lang_postimg_failupload, displayLength: 5000 }) M.toast({ html: lang.lang_postimg_failupload, displayLength: 5000 })
return false return false
} }
$('#imgup').text('') $('#imgup').text('')
$('.toot-btn-group').prop('disabled', false) $('.toot-btn-group').prop('disabled', false)
//$('select').formSelect() $('select').formSelect()
$('#imgsel').show() $('#imgsel').show()
var img = localStorage.getItem('img') var img = localStorage.getItem('img')
if (json.type.indexOf('image') != -1) { if (json.type.indexOf('image') != -1) {

View File

@@ -34,7 +34,7 @@ function renoteqt(id, acct_id) {
$('#rec').text('Renote') $('#rec').text('Renote')
$('#post-acct-sel').val(acct_id) $('#post-acct-sel').val(acct_id)
$('#post-acct-sel').prop('disabled', true) $('#post-acct-sel').prop('disabled', true)
//$('select').formSelect() $('select').formSelect()
$('#textarea').attr('placeholder', lang.lang_misskeyparse_qt) $('#textarea').attr('placeholder', lang.lang_misskeyparse_qt)
$('#textarea').focus() $('#textarea').focus()
} }
@@ -46,7 +46,7 @@ function misskeyreply(id, acct_id) {
$('#rec').text('Renote') $('#rec').text('Renote')
$('#post-acct-sel').val(acct_id) $('#post-acct-sel').val(acct_id)
$('#post-acct-sel').prop('disabled', true) $('#post-acct-sel').prop('disabled', true)
//$('select').formSelect() $('select').formSelect()
$('#textarea').attr('placeholder', lang.lang_misskeyparse_qt) $('#textarea').attr('placeholder', lang.lang_misskeyparse_qt)
$('#textarea').focus() $('#textarea').focus()
} }
@@ -120,7 +120,7 @@ function reactioncustom(acct_id, id) {
$('#unreact').hide() $('#unreact').hide()
$('#addreact').removeClass('hide') $('#addreact').removeClass('hide')
$('#post-acct-sel').val(acct_id) $('#post-acct-sel').val(acct_id)
//$('select').formSelect() $('select').formSelect()
localStorage.setItem('nohide', true) localStorage.setItem('nohide', true)
show() show()
emojiToggle(true) emojiToggle(true)

View File

@@ -347,7 +347,7 @@ function clear() {
$('#post-acct-sel').val(localStorage.getItem('main')) $('#post-acct-sel').val(localStorage.getItem('main'))
} }
$('#emoji').addClass('hide') $('#emoji').addClass('hide')
//$('select').formSelect() $('select').formSelect()
$('#default-emoji').show() $('#default-emoji').show()
$('#unreact').show() $('#unreact').show()
$('#addreact').addClass('hide') $('#addreact').addClass('hide')

View File

@@ -49,7 +49,7 @@ function fav(id, acct_id, remote) {
$('.fav_' + id).addClass('yellow-text') $('.fav_' + id).addClass('yellow-text')
} }
} else { } else {
Mtoast({ html: lang.lang_status_favWarn, displayLength: 1000 }) M.toast({ html: lang.lang_status_favWarn, displayLength: 1000 })
} }
} }
} }
@@ -240,7 +240,7 @@ async function acctResolve(acct_id, user) {
if (idJson.accounts[0]) { if (idJson.accounts[0]) {
var id = idJson.accounts[0].id var id = idJson.accounts[0].id
} else { } else {
Mtoast({ html: lang.lang_fatalerroroccured, displayLength: 2000 }) M.toast({ html: lang.lang_fatalerroroccured, displayLength: 2000 })
} }
return id return id
} }
@@ -428,7 +428,7 @@ function redraft(id, acct_id) {
var json = httpreq.response var json = httpreq.response
$('#post-acct-sel').prop('disabled', true) $('#post-acct-sel').prop('disabled', true)
$('#post-acct-sel').val(acct_id) $('#post-acct-sel').val(acct_id)
//$('select').formSelect() $('select').formSelect()
mdCheck() mdCheck()
var medias = $('[toot-id=' + id + ']').attr('data-medias') var medias = $('[toot-id=' + id + ']').attr('data-medias')
var mediack = json.media_attachments[0] var mediack = json.media_attachments[0]
@@ -580,7 +580,7 @@ function empUser() {
if (!obj) { if (!obj) {
var obj = [] var obj = []
obj.push(id) obj.push(id)
Mtoast({ html: id + lang.lang_status_emphas, displayLength: 4000 }) M.toast({ html: id + lang.lang_status_emphas, displayLength: 4000 })
} else { } else {
var can var can
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function(key) {
@@ -590,7 +590,7 @@ function empUser() {
} else { } else {
can = true can = true
obj.splice(key, 1) obj.splice(key, 1)
Mtoast({ html: id + lang.lang_status_unemphas, displayLength: 4000 }) M.toast({ html: id + lang.lang_status_unemphas, displayLength: 4000 })
} }
}) })
} }
@@ -634,7 +634,7 @@ function pinUser() {
//URLコピー //URLコピー
function tootUriCopy(url) { function tootUriCopy(url) {
execCopy(url) execCopy(url)
Mtoast({ html: lang.lang_details_url, displayLength: 1500 }) M.toast({ html: lang.lang_details_url, displayLength: 1500 })
} }
//他のアカウントで… //他のアカウントで…
@@ -680,7 +680,8 @@ function staEx(mode) {
}) })
return return
} }
function toggleAction(elem, height) { function toggleAction(elem, ct) {
var height = ct * 39 + 6
var cont = elem.parents('.cvo').find('.contextMenu') var cont = elem.parents('.cvo').find('.contextMenu')
if (cont.hasClass('hide')) { if (cont.hasClass('hide')) {
$('#contextWrap').removeClass('hide') $('#contextWrap').removeClass('hide')
@@ -691,6 +692,7 @@ function toggleAction(elem, height) {
cont.removeClass('bottom') cont.removeClass('bottom')
cont.addClass('top') cont.addClass('top')
} else { } else {
top = elem.offset().top - 105
cont.removeClass('top') cont.removeClass('top')
cont.addClass('bottom') cont.addClass('bottom')
} }

View File

@@ -15,7 +15,7 @@ function re(id, ats_cm, acct_id, mode) {
$('#rec').text(lang.lang_yesno) $('#rec').text(lang.lang_yesno)
$('#post-acct-sel').val(acct_id) $('#post-acct-sel').val(acct_id)
$('#post-acct-sel').prop('disabled', true) $('#post-acct-sel').prop('disabled', true)
//$('select').formSelect() $('select').formSelect()
mdCheck() mdCheck()
$('#textarea').attr('placeholder', lang.lang_usetxtbox_reply) $('#textarea').attr('placeholder', lang.lang_usetxtbox_reply)
$('#textarea').focus() $('#textarea').focus()
@@ -65,7 +65,7 @@ function qt(id, acct_id, at, url) {
$('#quote').val(id) $('#quote').val(id)
$('#post-acct-sel').val(acct_id) $('#post-acct-sel').val(acct_id)
$('#post-acct-sel').prop('disabled', true) $('#post-acct-sel').prop('disabled', true)
//$('select').formSelect() $('select').formSelect()
$('#textarea').attr('placeholder', lang.lang_usetxtbox_reply) $('#textarea').attr('placeholder', lang.lang_usetxtbox_reply)
$('#textarea').focus() $('#textarea').focus()
var profimg = localStorage.getItem('prof_' + acct_id) var profimg = localStorage.getItem('prof_' + acct_id)
@@ -75,7 +75,7 @@ function qt(id, acct_id, at, url) {
$('#acct-sel-prof').attr('src', profimg) $('#acct-sel-prof').attr('src', profimg)
} }
$('#post-acct-sel').val(acct_id) $('#post-acct-sel').val(acct_id)
//$('select').formSelect() $('select').formSelect()
mdCheck() mdCheck()
$('#textarea').focus() $('#textarea').focus()
} }

View File

@@ -121,7 +121,7 @@ function announReactionNew(id, acct_id, tlid) {
$('#unreact').hide() $('#unreact').hide()
$('#addreact').removeClass('hide') $('#addreact').removeClass('hide')
$('#post-acct-sel').val(acct_id) $('#post-acct-sel').val(acct_id)
//$('select').formSelect() $('select').formSelect()
localStorage.setItem('nohide', true) localStorage.setItem('nohide', true)
show() show()
emojiToggle(true) emojiToggle(true)

View File

@@ -555,10 +555,10 @@ function cbCopy(mode) {
`<iframe src="${url}/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400"></iframe> `<iframe src="${url}/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400"></iframe>
<script src="https://${domain}/embed.js" async="async"></script>` <script src="https://${domain}/embed.js" async="async"></script>`
execCopy(emb) execCopy(emb)
Mtoast({ html: lang.lang_details_embed, displayLength: 1500 }) M.toast({ html: lang.lang_details_embed, displayLength: 1500 })
} else { } else {
if (execCopy(url)) { if (execCopy(url)) {
Mtoast({ html: lang.lang_details_url, displayLength: 1500 }) M.toast({ html: lang.lang_details_url, displayLength: 1500 })
} }
} }
} }
@@ -573,7 +573,7 @@ function staCopy(id) {
html = html.replace(/<img[\s\S]*alt="(.+?)"[\s\S]*?>/g, '$1') html = html.replace(/<img[\s\S]*alt="(.+?)"[\s\S]*?>/g, '$1')
html = $.strip_tags(html) html = $.strip_tags(html)
if (execCopy(html)) { if (execCopy(html)) {
Mtoast({ html: lang.lang_details_txt, displayLength: 1500 }) M.toast({ html: lang.lang_details_txt, displayLength: 1500 })
} }
} }
//翻訳 //翻訳

View File

@@ -1,95 +1,98 @@
//日付パーサー //日付パーサー
function date(str, datetype) { function date(str, datetype, lastStatus) {
if (datetype == "relative") { if (lastStatus) {
return '<time class="timeago" datetime="' + str + '"></time>'; 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 { } else {
var date = new Date(str); var date = new Date(str)
if (datetype == "unix") { if (datetype == "unix") {
var unixm = date.getTime(); var unixm = date.getTime()
return Math.floor(unixm / 1000); return Math.floor(unixm / 1000)
} }
var now = new Date(); var now = new Date()
var month = date.getMonth() + 1; var month = date.getMonth() + 1
if (date.getMinutes() < 10) { if (date.getMinutes() < 10) {
var min = "0" + date.getMinutes(); var min = "0" + date.getMinutes()
} else { } else {
var min = date.getMinutes(); var min = date.getMinutes()
} }
var sec = null; var sec = null
if (date.getSeconds() < 10) { if (date.getSeconds() < 10) {
sec = "0" + date.getSeconds(); sec = "0" + date.getSeconds()
} else { } else {
sec = date.getSeconds(); sec = date.getSeconds()
} }
if (datetype == "full") { if (datetype == "full") {
var ret = date.getFullYear() + "/" + month + "/" + date.getDate() + "/ " + var ret = date.getFullYear() + "/" + month + "/" + date.getDate() + "/ " +
date.getHours() + ":" + min + ":" + sec; date.getHours() + ":" + min + ":" + sec
} }
if (date.getFullYear() == now.getFullYear()) { if (date.getFullYear() == now.getFullYear()) {
if (date.getMonth() == now.getMonth()) { if (date.getMonth() == now.getMonth()) {
if (date.getDate() == now.getDate()) { if (date.getDate() == now.getDate()) {
if (datetype == "medium") { if (datetype == "medium") {
var ret = '<time class="timeago" datetime="' + str + '"></time>'; var ret = '<time class="timeago" datetime="' + str + '"></time>'
} else { } else {
var ret = date.getHours() + ":" + min + ":" + sec; var ret = date.getHours() + ":" + min + ":" + sec
} }
} else { } else {
var ret = month + "/" + date.getDate() + " " + date.getHours() + ":" + var ret = month + "/" + date.getDate() + " " + date.getHours() + ":" +
min + ":" + sec; min + ":" + sec
} }
} else { } else {
var ret = month + "/" + date.getDate() + " " + date.getHours() + ":" + min + var ret = month + "/" + date.getDate() + " " + date.getHours() + ":" + min +
":" + sec; ":" + sec
} }
} else { } else {
var ret = date.getFullYear() + "/" + month + "/" + date.getDate() + " " + var ret = date.getFullYear() + "/" + month + "/" + date.getDate() + " " +
date.getHours() + ":" + min + ":" + sec; date.getHours() + ":" + min + ":" + sec
} }
if (datetype == "double") { if (datetype == "double") {
return '<time class="timeago" datetime="' + str + '"></time>/' + ret; return '<time class="timeago" datetime="' + str + '"></time>/' + ret
} else { } else {
return ret; return ret
} }
} }
} }
//特殊フォーマット(インスタンス情報で利用) //特殊フォーマット(インスタンス情報で利用)
function crat(str) { function crat(str) {
var date = new Date(str); var date = new Date(str)
var mnt = null; var mnt = null
if (date.getMonth() < 9) { if (date.getMonth() < 9) {
mnt = "0" + (date.getMonth() + 1); mnt = "0" + (date.getMonth() + 1)
} else { } else {
mnt = date.getMonth() + 1; mnt = date.getMonth() + 1
} }
if (date.getDate() < 10) { if (date.getDate() < 10) {
var dat = "0" + date.getDate(); var dat = "0" + date.getDate()
} else { } else {
var dat = date.getDate(); var dat = date.getDate()
} }
if (date.getHours() < 10) { if (date.getHours() < 10) {
var hrs = "0" + date.getHours(); var hrs = "0" + date.getHours()
} else { } else {
var hrs = date.getHours(); var hrs = date.getHours()
} }
if (date.getMinutes() < 10) { if (date.getMinutes() < 10) {
var mns = "0" + date.getMinutes(); var mns = "0" + date.getMinutes()
} else { } else {
var mns = date.getMinutes(); var mns = date.getMinutes()
} }
if (date.getSeconds() < 10) { if (date.getSeconds() < 10) {
var sec = "0" + date.getSeconds(); var sec = "0" + date.getSeconds()
} else { } else {
var sec = date.getSeconds(); var sec = date.getSeconds()
} }
format_str = 'YYYY-MM-DD hh:mm:ss'; format_str = 'YYYY-MM-DD hh:mm:ss'
format_str = format_str.replace(/YYYY/g, date.getFullYear()); format_str = format_str.replace(/YYYY/g, date.getFullYear())
format_str = format_str.replace(/MM/g, mnt); format_str = format_str.replace(/MM/g, mnt)
format_str = format_str.replace(/DD/g, dat); format_str = format_str.replace(/DD/g, dat)
format_str = format_str.replace(/hh/g, hrs); format_str = format_str.replace(/hh/g, hrs)
format_str = format_str.replace(/mm/g, mns); format_str = format_str.replace(/mm/g, mns)
format_str = format_str.replace(/ss/g, sec); format_str = format_str.replace(/ss/g, sec)
return format_str; return format_str
} }

View File

@@ -1,49 +1,49 @@
//ディレクトリ //ディレクトリ
//ディレクトリトグル //ディレクトリトグル
function dirMenu() { function dirMenu() {
$("#dir-contents").html(""); $("#dir-contents").html("")
directory(); directory()
$("#left-menu a").removeClass("active"); $("#left-menu a").removeClass("active")
$("#dirMenu").addClass("active"); $("#dirMenu").addClass("active")
$(".menu-content").addClass("hide"); $(".menu-content").addClass("hide")
$("#dir-box").removeClass("hide"); $("#dir-box").removeClass("hide")
} }
function dirselCk() { function dirselCk() {
var acct = $("#dir-acct-sel").val(); var acct = $("#dir-acct-sel").val()
if (acct == "noauth") { if (acct == "noauth") {
$("#dirNoAuth").removeClass("hide"); $("#dirNoAuth").removeClass("hide")
} else { } else {
$("#dirNoAuth").addClass("hide"); $("#dirNoAuth").addClass("hide")
directory(); directory()
} }
} }
function directory(isMore) { function directory(isMore) {
var order = $("[name=sort]:checked").val(); var order = $("[name=sort]:checked").val()
if (!order) { if (!order) {
order = "active"; order = "active"
} }
var local_only = $("#local_only:checked").val(); var local_only = $("#local_only:checked").val()
if (local_only) { if (local_only) {
local_only = "true"; local_only = "true"
} else { } 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") { if (acct_id == "noauth") {
var domain = $("#dirNoAuth-url").val(); var domain = $("#dirNoAuth-url").val()
var at = ""; var at = ""
} else { } else {
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id)
var at = localStorage.getItem("acct_" + acct_id + "_at"); var at = localStorage.getItem("acct_" + acct_id + "_at")
} }
if (isMore) { if (isMore) {
var addOffset = $("#dir-contents .cvo").length; var addOffset = $("#dir-contents .cvo").length
} else { } else {
var addOffset = 0; var addOffset = 0
$("#dir-contents").html(""); $("#dir-contents").html("")
} }
var start = "https://" + domain + "/api/v1/directory?order=" + order + "&local=" + local_only + "&offset=" + addOffset; var start = "https://" + domain + "/api/v1/directory?order=" + order + "&local=" + local_only + "&offset=" + addOffset
console.log(start); console.log(start)
fetch(start, { fetch(start, {
method: "GET", method: "GET",
headers: { headers: {
@@ -54,23 +54,23 @@ function directory(isMore) {
.then(function(response) { .then(function(response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { 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) { .catch(function(error) {
setLog(start, "JSON", error); setLog(start, "JSON", error)
console.error(error); console.error(error)
}) })
.then(function(json) { .then(function(json) {
if (json) { if (json) {
$("#moreDir").removeClass("disabled"); $("#moreDir").removeClass("disabled")
var html = userparse(json, null, acct_id, "dir", null); var html = userparse(json, null, acct_id, "dir", null)
$("#dir-contents").append(html); $("#dir-contents").append(html)
jQuery("time.timeago").timeago(); jQuery("time.timeago").timeago()
} else { } else {
$("#moreDir").addClass("disabled"); $("#moreDir").addClass("disabled")
} }
}); })
} }

View File

@@ -1,8 +1,8 @@
//DM(Conv) TL //DM(Conv) TL
function dm(acct_id, tlid, type, delc, voice) { function dm(acct_id, tlid, type, delc, voice) {
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id)
var at = localStorage.getItem("acct_" + acct_id + "_at"); var at = localStorage.getItem("acct_" + acct_id + "_at")
var start = "https://" + domain + "/api/v1/conversations"; var start = "https://" + domain + "/api/v1/conversations"
fetch(start, { fetch(start, {
method: "GET", method: "GET",
headers: { headers: {
@@ -13,38 +13,38 @@ function dm(acct_id, tlid, type, delc, voice) {
.then(function(response) { .then(function(response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { 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) { .catch(function(error) {
todo(error); todo(error)
setLog(start, "JSON", error); setLog(start, "JSON", error)
console.error(error); console.error(error)
}) })
.then(function(json) { .then(function(json) {
var templete = '<div id="convList' + tlid + '">' + dmListParse(json, type, acct_id, tlid, "", mute) + "</div>"; var templete = '<div id="convList' + tlid + '">' + dmListParse(json, type, acct_id, tlid, "", mute) + "</div>"
localStorage.setItem("lastobj_" + tlid, json[0].id); localStorage.setItem("lastobj_" + tlid, json[0].id)
$("#timeline_" + tlid).html(templete); $("#timeline_" + tlid).html(templete)
additional(acct_id, tlid); additional(acct_id, tlid)
jQuery("time.timeago").timeago(); jQuery("time.timeago").timeago()
todc(); todc()
//reload(type, '', acct_id, tlid, data, mute, delc,voice); //reload(type, '', acct_id, tlid, data, mute, delc,voice);
$(window).scrollTop(0); $(window).scrollTop(0)
}); })
} }
function dmmore(tlid) { function dmmore(tlid) {
var multi = localStorage.getItem("column"); var multi = localStorage.getItem("column")
var obj = JSON.parse(multi); var obj = JSON.parse(multi)
var acct_id = obj[tlid].domain; var acct_id = obj[tlid].domain
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id)
var at = localStorage.getItem("acct_" + acct_id + "_at"); var at = localStorage.getItem("acct_" + acct_id + "_at")
var sid = $("#timeline_" + tlid + " .cvo") var sid = $("#timeline_" + tlid + " .cvo")
.last() .last()
.attr("unique-id"); .attr("unique-id")
var start = "https://" + domain + "/api/v1/conversations?max_id=" + sid; var start = "https://" + domain + "/api/v1/conversations?max_id=" + sid
var type = "dm"; var type = "dm"
fetch(start, { fetch(start, {
method: "GET", method: "GET",
headers: { headers: {
@@ -55,444 +55,444 @@ function dmmore(tlid) {
.then(function(response) { .then(function(response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { 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) { .catch(function(error) {
todo(error); todo(error)
setLog(start, "JSON", error); setLog(start, "JSON", error)
console.error(error); console.error(error)
}) })
.then(function(json) { .then(function(json) {
var templete = '<div id="convList' + tlid + '">' + dmListParse(json, type, acct_id, tlid, "", mute) + "</div>"; var templete = '<div id="convList' + tlid + '">' + dmListParse(json, type, acct_id, tlid, "", mute) + "</div>"
$("#timeline_" + tlid).append(templete); $("#timeline_" + tlid).append(templete)
additional(acct_id, tlid); additional(acct_id, tlid)
jQuery("time.timeago").timeago(); jQuery("time.timeago").timeago()
moreloading = false; moreloading = false
}); })
} }
//DMオブジェクトパーサー(トゥート) //DMオブジェクトパーサー(トゥート)
function dmListParse(obj, mix, acct_id, tlid, popup, mutefilter) { function dmListParse(obj, mix, acct_id, tlid, popup, mutefilter) {
var templete = ""; var templete = ""
if (obj[0]) { 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 = localStorage.getItem("action_btns")
var actb = "re,rt,fav,qt,del,pin,red"; var actb = "re,rt,fav,qt,del,pin,red"
if (actb) { if (actb) {
var actb = actb.split(","); var actb = actb.split(",")
var disp = {}; var disp = {}
for (var k = 0; k < actb.length; k++) { for (var k = 0; k < actb.length; k++) {
if (k < 4) { if (k < 4) {
var tp = "type-a"; var tp = "type-a"
} else { } else {
var tp = "type-b"; var tp = "type-b"
} }
disp[actb[k]] = tp; disp[actb[k]] = tp
} }
} }
var datetype = localStorage.getItem("datetype"); var datetype = localStorage.getItem("datetype")
var nsfwtype = localStorage.getItem("nsfw"); var nsfwtype = localStorage.getItem("nsfw")
var sent = localStorage.getItem("sentence"); var sent = localStorage.getItem("sentence")
var ltr = localStorage.getItem("letters"); var ltr = localStorage.getItem("letters")
var gif = localStorage.getItem("gif"); var gif = localStorage.getItem("gif")
var imh = localStorage.getItem("img-height"); var imh = localStorage.getItem("img-height")
//独自ロケール //独自ロケール
var locale = localStorage.getItem("locale"); var locale = localStorage.getItem("locale")
if (locale == "yes") { if (locale == "yes") {
var locale = false; var locale = false
} }
//ネイティブ通知 //ネイティブ通知
var native = localStorage.getItem("nativenotf"); var native = localStorage.getItem("nativenotf")
if (!native) { if (!native) {
native = "yes"; native = "yes"
} }
//クライアント強調 //クライアント強調
var emp = localStorage.getItem("client_emp"); var emp = localStorage.getItem("client_emp")
if (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) { 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) { 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) { 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) { if (wordmute) {
var wordmute = JSON.parse(wordmute); var wordmute = JSON.parse(wordmute)
wordmute = wordmute.concat(mutefilter); wordmute = wordmute.concat(mutefilter)
} else { } else {
wordmute = mutefilter; wordmute = mutefilter
} }
//Ticker //Ticker
var tickerck = localStorage.getItem("ticker_ok"); var tickerck = localStorage.getItem("ticker_ok")
if (tickerck) { if (tickerck) {
var ticker = true; var ticker = true
} else { } else {
var ticker = false; var ticker = false
} }
//Cards //Cards
var card = localStorage.getItem("card_" + tlid); var card = localStorage.getItem("card_" + tlid)
if (!sent) { if (!sent) {
var sent = 500; var sent = 500
} }
if (!ltr) { if (!ltr) {
var ltr = 500; var ltr = 500
} }
if (!nsfwtype || nsfwtype == "yes") { if (!nsfwtype || nsfwtype == "yes") {
var nsfw = "ok"; var nsfw = "ok"
} else { } else {
var nsfw; var nsfw
} }
var cwtype = localStorage.getItem("cw"); var cwtype = localStorage.getItem("cw")
if (!cwtype || cwtype == "yes") { if (!cwtype || cwtype == "yes") {
var cw = "ok"; var cw = "ok"
} else { } else {
var cw; var cw
} }
if (!datetype) { if (!datetype) {
datetype = "absolute"; datetype = "absolute"
} }
if (!gif) { if (!gif) {
var gif = "yes"; var gif = "yes"
} }
if (!imh) { if (!imh) {
var imh = "200"; var imh = "200"
} }
if (!emp) { if (!emp) {
var emp = []; var emp = []
} }
if (!mute) { if (!mute) {
var mute = []; var mute = []
} }
if (!useremp) { if (!useremp) {
var useremp = []; var useremp = []
} }
if (!wordemp) { if (!wordemp) {
var wordemp = []; var wordemp = []
} }
if (!wordmute) { if (!wordmute) {
var wordmute = []; var wordmute = []
} }
//via通知 //via通知
var viashow = localStorage.getItem("viashow"); var viashow = localStorage.getItem("viashow")
if (!viashow) { if (!viashow) {
viashow = "via-hide"; viashow = "via-hide"
} }
if (viashow == "hide") { if (viashow == "hide") {
viashow = "via-hide"; viashow = "via-hide"
} }
//認証なしTL //認証なしTL
if (mix == "noauth") { if (mix == "noauth") {
var noauth = "hide"; var noauth = "hide"
var antinoauth = ""; var antinoauth = ""
} else { } else {
var noauth = ""; var noauth = ""
var antinoauth = "hide"; var antinoauth = "hide"
} }
//マウスオーバーのみ //マウスオーバーのみ
var mouseover = localStorage.getItem("mouseover"); var mouseover = localStorage.getItem("mouseover")
if (!mouseover) { if (!mouseover) {
mouseover = ""; mouseover = ""
} else if (mouseover == "yes" || mouseover == "click") { } else if (mouseover == "yes" || mouseover == "click") {
mouseover = "hide"; mouseover = "hide"
} else if (mouseover == "no") { } else if (mouseover == "no") {
mouseover = ""; mouseover = ""
} }
var local = []; var local = []
var times = []; var times = []
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function(key) {
var conv_id = obj[key].id; var conv_id = obj[key].id
var toot = obj[key].last_status; var toot = obj[key].last_status
var dis_name = escapeHTML(toot.account.display_name); var dis_name = escapeHTML(toot.account.display_name)
if (toot.account.emojis) { if (toot.account.emojis) {
var actemojick = toot.account.emojis[0]; var actemojick = toot.account.emojis[0]
} else { } else {
var actemojick = false; var actemojick = false
} }
//絵文字があれば //絵文字があれば
if (actemojick) { 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 emoji = toot.account.emojis[key5]
var shortcode = emoji.shortcode; var shortcode = emoji.shortcode
var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" alt=" :' + shortcode + ': ">'; var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" alt=" :' + shortcode + ': ">'
var regExp = new RegExp(":" + shortcode + ":", "g"); var regExp = new RegExp(":" + shortcode + ":", "g")
dis_name = dis_name.replace(regExp, emoji_url); dis_name = dis_name.replace(regExp, emoji_url)
}); })
} }
var noticeavatar = ""; var noticeavatar = ""
var if_notf = ""; var if_notf = ""
var uniqueid = toot.id; var uniqueid = toot.id
var notice = ""; var notice = ""
var boostback = ""; var boostback = ""
//ユーザー強調 //ユーザー強調
if (toot.account.username != toot.account.acct) { if (toot.account.username != toot.account.acct) {
var fullname = toot.account.acct; var fullname = toot.account.acct
} else { } else {
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id)
var fullname = toot.account.acct + "@" + domain; var fullname = toot.account.acct + "@" + domain
} }
if (useremp) { if (useremp) {
Object.keys(useremp).forEach(function(key10) { Object.keys(useremp).forEach(function(key10) {
var user = useremp[key10]; var user = useremp[key10]
if (user == fullname) { if (user == fullname) {
boostback = "emphasized"; boostback = "emphasized"
} }
}); })
} }
var id = toot.id; var id = toot.id
var home = ""; var home = ""
if (toot.account.locked) { 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 { } else {
var locked = ""; var locked = ""
} }
if (!toot.application) { if (!toot.application) {
var via = ""; var via = ""
viashow = "hide"; viashow = "hide"
} else { } else {
var via = escapeHTML(toot.application.name); var via = escapeHTML(toot.application.name)
//強調チェック //強調チェック
Object.keys(emp).forEach(function(key6) { Object.keys(emp).forEach(function(key6) {
var cli = emp[key6]; var cli = emp[key6]
if (cli == via) { if (cli == via) {
boostback = "emphasized"; boostback = "emphasized"
} }
}); })
//ミュートチェック //ミュートチェック
Object.keys(mute).forEach(function(key7) { Object.keys(mute).forEach(function(key7) {
var cli = mute[key7]; var cli = mute[key7]
if (cli == via) { if (cli == via) {
boostback = "hide"; boostback = "hide"
} }
}); })
} }
if (mix == "pinned") { if (mix == "pinned") {
boostback = "emphasized"; boostback = "emphasized"
} }
if (toot.spoiler_text && cw) { if (toot.spoiler_text && cw) {
var content = toot.content; var content = toot.content
var spoil = escapeHTML(toot.spoiler_text); var spoil = escapeHTML(toot.spoiler_text)
var spoiler = "cw cw_hide_" + toot.id; var spoiler = "cw cw_hide_" + toot.id
var api_spoil = "gray"; var api_spoil = "gray"
var spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id + '\')" class="nex parsed">' + lang.lang_parse_cwshow + "</a><br>"; var spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id + '\')" class="nex parsed">' + lang.lang_parse_cwshow + "</a><br>"
} else { } else {
var ct1 = 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; var ct2 = toot.content.split("</p>").length + toot.content.split("<br>").length - 2
if (ct1 > ct2) { if (ct1 > ct2) {
var ct = ct1; var ct = ct1
} else { } 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)) { 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 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 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 = "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 spoiler_show = '<a href="#" onclick="cw_show(\'' + toot.id + '\')" class="nex parsed">' + lang.lang_parse_more + "</a><br>"
} else { } else {
var content = toot.content; var content = toot.content
var spoil = escapeHTML(toot.spoiler_text); var spoil = escapeHTML(toot.spoiler_text)
var spoiler = ""; var spoiler = ""
var spoiler_show = ""; var spoiler_show = ""
} }
} }
var urls = $.strip_tags(content) var urls = $.strip_tags(content)
.replace(/\n/g, " ") .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) { 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 { } else {
var analyze = ""; var analyze = ""
} }
var viewer = ""; var viewer = ""
var hasmedia = ""; var hasmedia = ""
var youtube = ""; var youtube = ""
if (toot.emojis) { if (toot.emojis) {
var emojick = toot.emojis[0]; var emojick = toot.emojis[0]
} else { } else {
var emojick = false; var emojick = false
} }
//絵文字があれば //絵文字があれば
if (emojick) { if (emojick) {
Object.keys(toot.emojis).forEach(function(key5) { Object.keys(toot.emojis).forEach(function(key5) {
var emoji = toot.emojis[key5]; var emoji = toot.emojis[key5]
var shortcode = emoji.shortcode; var shortcode = emoji.shortcode
var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" alt=" :' + shortcode + ': ">'; var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" alt=" :' + shortcode + ': ">'
var regExp = new RegExp(":" + shortcode + ":", "g"); var regExp = new RegExp(":" + shortcode + ":", "g")
content = content.replace(regExp, emoji_url); content = content.replace(regExp, emoji_url)
spoil = spoil.replace(regExp, emoji_url); spoil = spoil.replace(regExp, emoji_url)
}); })
} }
//ニコフレ絵文字 //ニコフレ絵文字
if (toot.profile_emojis) { if (toot.profile_emojis) {
var nicoemojick = toot.profile_emojis[0]; var nicoemojick = toot.profile_emojis[0]
} else { } else {
var nicoemojick = false; var nicoemojick = false
} }
//絵文字があれば //絵文字があれば
if (nicoemojick) { 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 emoji = toot.profile_emojis[keynico]
var shortcode = emoji.shortcode; var shortcode = emoji.shortcode
var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" alt=" :' + shortcode + ': ">'; var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" alt=" :' + shortcode + ': ">'
var regExp = new RegExp(":" + shortcode + ":", "g"); var regExp = new RegExp(":" + shortcode + ":", "g")
content = content.replace(regExp, emoji_url); content = content.replace(regExp, emoji_url)
spoil = spoil.replace(regExp, emoji_url); spoil = spoil.replace(regExp, emoji_url)
}); })
} }
//デフォ絵文字 //デフォ絵文字
content = twemoji.parse(content); content = twemoji.parse(content)
if (dis_name) { if (dis_name) {
dis_name = twemoji.parse(dis_name); dis_name = twemoji.parse(dis_name)
} }
if (spoil) { 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) { if (mediack) {
hasmedia = "hasmedia"; hasmedia = "hasmedia"
var cwdt = 100 / toot.media_attachments.length; 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 media = toot.media_attachments[key2]
var purl = media.preview_url; var purl = media.preview_url
media_ids = media_ids + media.id + ","; media_ids = media_ids + media.id + ","
var url = media.url; var url = media.url
if (toot.sensitive && nsfw) { if (toot.sensitive && nsfw) {
var sense = "sensitive"; var sense = "sensitive"
} else { } 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>'; 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); media_ids = media_ids.slice(0, -1)
} else { } else {
viewer = ""; viewer = ""
hasmedia = "nomedia"; hasmedia = "nomedia"
} }
var menck = toot.mentions[0]; var menck = toot.mentions[0]
var mentions = ""; var mentions = ""
//メンションであれば //メンションであれば
if (menck) { if (menck) {
mentions = ""; mentions = ""
Object.keys(toot.mentions).forEach(function(key3) { Object.keys(toot.mentions).forEach(function(key3) {
var mention = toot.mentions[key3]; var mention = toot.mentions[key3]
mentions = mentions + "<a onclick=\"udg('" + mention.id + "'," + acct_id + ')" class="pointer">@' + mention.acct + "</a> "; mentions = mentions + "<a onclick=\"udg('" + mention.id + "'," + acct_id + ')" class="pointer">@' + mention.acct + "</a> "
}); })
mentions = '<div style="float:right">' + mentions + "</div>"; mentions = '<div style="float:right">' + mentions + "</div>"
} }
var tagck = toot.tags[0]; var tagck = toot.tags[0]
var tags = ""; var tags = ""
//タグであれば //タグであれば
if (tagck) { if (tagck) {
Object.keys(toot.tags).forEach(function(key4) { Object.keys(toot.tags).forEach(function(key4) {
var tag = toot.tags[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 = 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>"; tags = '<div style="float:right">' + tags + "</div>"
} }
//アニメ再生 //アニメ再生
if (gif == "yes") { if (gif == "yes") {
var avatar = toot.account.avatar; var avatar = toot.account.avatar
} else { } else {
var avatar = toot.account.avatar_static; var avatar = toot.account.avatar_static
} }
//ワードミュート //ワードミュート
if (wordmute) { if (wordmute) {
Object.keys(wordmute).forEach(function(key8) { Object.keys(wordmute).forEach(function(key8) {
var worde = wordmute[key8]; var worde = wordmute[key8]
if (worde) { if (worde) {
if (worde.tag) { if (worde.tag) {
var word = worde.tag; var word = worde.tag
} else { } 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)) { if ($.strip_tags(content).match(regExp)) {
boostback = "hide by_filter"; boostback = "hide by_filter"
} }
} }
}); })
} }
//ワード強調 //ワード強調
if (wordemp) { if (wordemp) {
Object.keys(wordemp).forEach(function(key9) { Object.keys(wordemp).forEach(function(key9) {
var word = wordemp[key9]; var word = wordemp[key9]
if (word) { if (word) {
var word = word.tag; var word = word.tag
var regExp = new RegExp(word, "g"); var regExp = new RegExp(word, "g")
content = content.replace(regExp, '<span class="emp">' + escapeHTML(word) + "</span>"); content = content.replace(regExp, '<span class="emp">' + escapeHTML(word) + "</span>")
} }
}); })
} }
//日本語じゃない //日本語じゃない
if (toot.language != "ja") { 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 { } else {
var trans = ""; var trans = ""
} }
if (toot.favourited) { if (toot.favourited) {
var if_fav = " yellow-text"; var if_fav = " yellow-text"
var fav_app = "faved"; var fav_app = "faved"
} else { } else {
var if_fav = ""; var if_fav = ""
var fav_app = ""; var fav_app = ""
} }
//Cards //Cards
if (!card && toot.card) { if (!card && toot.card) {
var cards = toot.card; var cards = toot.card
if (cards.provider_name == "Twitter") { if (cards.provider_name == "Twitter") {
if (cards.image) { if (cards.image) {
var twiImg = '<br><img src="' + cards.image + '">'; var twiImg = '<br><img src="' + cards.image + '">'
} else { } 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) { 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) { 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 //Ticker
var tickerdom = ""; var tickerdom = ""
if (ticker) { if (ticker) {
var tickerdata = localStorage.getItem("ticker"); var tickerdata = localStorage.getItem("ticker")
if (tickerdata) { 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) { if (thisdomain.length > 1) {
thisdomain = thisdomain[1]; thisdomain = thisdomain[1]
} }
for (var i = 0; i < tickerdata.length; i++) { for (var i = 0; i < tickerdata.length; i++) {
var value = tickerdata[i]; var value = tickerdata[i]
if (value.domain == thisdomain) { 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>"; 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; 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>"; 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; return templete
} }

File diff suppressed because it is too large Load Diff

View File

@@ -19,7 +19,22 @@ async function mixtl(acct_id, tlid, type, delc, voice) {
additional(acct_id, tlid) additional(acct_id, tlid)
jQuery('time.timeago').timeago() jQuery('time.timeago').timeago()
todc() todc()
mixre(acct_id, tlid, 'mix', mute, voice, '') if(mastodonBaseWsStatus[domain] == 'cannnotopen') {
mixre(acct_id, tlid, 'mix', mute, voice, '')
} else if(mastodonBaseWs[domain] == 'undetected') {
const mbws = setInterval(function () {
if(mastodonBaseWsStatus[domain] == 'cannnotopen') {
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) $(window).scrollTop(0)
lastId = integrated[0].id lastId = integrated[0].id
beforeLastId = integrated[1].id beforeLastId = integrated[1].id

View File

@@ -194,7 +194,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
var local = [] var local = []
var times = [] var times = []
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function (key) {
var domain = localStorage.getItem('domain_' + acct_id) var domain = localStorage.getItem('domain_' + acct_id)
var toot = obj[key] var toot = obj[key]
if (type == 'dm') { if (type == 'dm') {
@@ -214,7 +214,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
//絵文字があれば //絵文字があれば
if (actemojick) { 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 emoji = toot.account.emojis[key5]
var shortcode = emoji.shortcode var shortcode = emoji.shortcode
if (gif == 'yes') { if (gif == 'yes') {
@@ -273,7 +273,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
</i><span class="voice">${lang.lang_parse_notffilter}</span></span> </i><span class="voice">${lang.lang_parse_notffilter}</span></span>
<span class="cbadge cbadge-hover" title="${date(toot.created_at, 'absolute')}(${ <span class="cbadge cbadge-hover" title="${date(toot.created_at, 'absolute')}(${
lang.lang_parse_notftime lang.lang_parse_notftime
})" aria-hidden="true"><i class="far fa-clock"></i> })" aria-hidden="true"><i class="far fa-clock"></i>
${date(toot.created_at, datetype)} ${date(toot.created_at, datetype)}
</span> </span>
<span class="voice">${date(toot.created_at, 'absolute')}(${lang.lang_parse_notftime})</span> <span class="voice">${date(toot.created_at, 'absolute')}(${lang.lang_parse_notftime})</span>
@@ -315,7 +315,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
} }
if (popup > 0) { if (popup > 0) {
Mtoast({ M.toast({
html: '[' + domain + ']' + escapeHTML(toot.account.display_name) + what, html: '[' + domain + ']' + escapeHTML(toot.account.display_name) + what,
displayLength: popup * 1000 displayLength: popup * 1000
}) })
@@ -369,7 +369,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
//絵文字があれば //絵文字があれば
if (actemojick) { 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 emoji = toot.account.emojis[key5]
var shortcode = emoji.shortcode var shortcode = emoji.shortcode
if (gif == 'yes') { if (gif == 'yes') {
@@ -426,7 +426,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
//絵文字があれば //絵文字があれば
if (actemojick) { 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 emoji = toot.account.emojis[key5]
var shortcode = emoji.shortcode var shortcode = emoji.shortcode
if (gif == 'yes') { if (gif == 'yes') {
@@ -454,7 +454,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var fullname = toot.account.acct + '@' + domain var fullname = toot.account.acct + '@' + domain
} }
if (useremp) { if (useremp) {
Object.keys(useremp).forEach(function(key10) { Object.keys(useremp).forEach(function (key10) {
var user = useremp[key10] var user = useremp[key10]
if (user == fullname) { if (user == fullname) {
boostback = 'emphasized' boostback = 'emphasized'
@@ -494,7 +494,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var via = escapeHTML(toot.application.name) var via = escapeHTML(toot.application.name)
if (empCli) { if (empCli) {
//強調チェック //強調チェック
Object.keys(empCli).forEach(function(key6) { Object.keys(empCli).forEach(function (key6) {
var empCliList = empCli[key6] var empCliList = empCli[key6]
if (empCliList == via) { if (empCliList == via) {
boostback = 'emphasized' boostback = 'emphasized'
@@ -503,7 +503,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
if (muteCli) { if (muteCli) {
//ミュートチェック //ミュートチェック
Object.keys(muteCli).forEach(function(key7) { Object.keys(muteCli).forEach(function (key7) {
var muteCliList = muteCli[key7] var muteCliList = muteCli[key7]
if (muteCliList == via) { if (muteCliList == via) {
boostback = 'hide' boostback = 'hide'
@@ -597,7 +597,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
if (mediack) { if (mediack) {
hasmedia = 'hasmedia' hasmedia = 'hasmedia'
var cwdt = 100 / toot.media_attachments.length 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 media = toot.media_attachments[key2]
var purl = media.preview_url var purl = media.preview_url
media_ids = media_ids + media.id + ',' 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] var mty = media.remote_url.match(/.+(\..+)$/)[1]
viewer = viewer =
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') { } else if (media.type == 'audio') {
viewer = viewer =
viewer + viewer +
@@ -669,7 +669,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
if (menck) { if (menck) {
mentions = '' mentions = ''
var to_mention = [] var to_mention = []
Object.keys(toot.mentions).forEach(function(key3) { Object.keys(toot.mentions).forEach(function (key3) {
var mention = toot.mentions[key3] var mention = toot.mentions[key3]
//自分は除外 //自分は除外
//自インスタンスかどうかを確認し、IDの一致 //自インスタンスかどうかを確認し、IDの一致
@@ -704,19 +704,19 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
var tags = '' var tags = ''
//タグであれば //タグであれば
if (tagck) { if (tagck) {
Object.keys(toot.tags).forEach(function(key4) { Object.keys(toot.tags).forEach(function (key4) {
var tag = toot.tags[key4] var tag = toot.tags[key4]
var featured = ` <a onclick="tagFeature('${tag.name}','${acct_id}')" class="pointer" title="add it to Featured tags">Feature</a> ` var featured = ` <a onclick="tagFeature('${tag.name}','${acct_id}')" class="pointer" title="add it to Featured tags">Feature</a> `
tags = tags =
tags + tags +
`<span class="hide" data-tag="${tag.name}" data-regTag="${tag.name.toLowerCase()}">#${ `<span class="hide" data-tag="${tag.name}" data-regTag="${tag.name.toLowerCase()}">#${
tag.name tag.name
}: }:
<a onclick="tl('tag','${tag.name}','${acct_id}','add')" class="pointer" <a onclick="tl('tag','${tag.name}','${acct_id}','add')" class="pointer"
title="${lang.lang_parse_tagTL.replace( title="${lang.lang_parse_tagTL.replace(
'{{tag}}', '{{tag}}',
'#' + tag.name '#' + tag.name
)}">TL</a> <a onclick="brInsert('#${tag.name}')" )}">TL</a> <a onclick="brInsert('#${tag.name}')"
class="pointer" title="${lang.lang_parse_tagtoot.replace('{{tag}}', '#' + tag.name)}">Toot</a>  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( <a onclick="tagPin('${tag.name}')" class="pointer" title="${lang.lang_parse_tagpin.replace(
'{{tag}}', '{{tag}}',
@@ -812,7 +812,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
//ワードミュート //ワードミュート
if (wordmuteList) { if (wordmuteList) {
Object.keys(wordmuteList).forEach(function(key8) { Object.keys(wordmuteList).forEach(function (key8) {
var worde = wordmuteList[key8] var worde = wordmuteList[key8]
if (worde) { if (worde) {
if (worde.tag) { if (worde.tag) {
@@ -829,7 +829,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
//ワード強調 //ワード強調
if (wordempList) { if (wordempList) {
Object.keys(wordempList).forEach(function(key9) { Object.keys(wordempList).forEach(function (key9) {
var wordList = wordempList[key9] var wordList = wordempList[key9]
if (wordList) { if (wordList) {
var wordList = wordList.tag var wordList = wordList.tag
@@ -845,7 +845,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
//絵文字があれば //絵文字があれば
if (emojick) { if (emojick) {
Object.keys(toot.emojis).forEach(function(key5) { Object.keys(toot.emojis).forEach(function (key5) {
var emoji = toot.emojis[key5] var emoji = toot.emojis[key5]
var shortcode = emoji.shortcode var shortcode = emoji.shortcode
if (gif == 'yes') { if (gif == 'yes') {
@@ -871,7 +871,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
} }
//絵文字があれば(nico) //絵文字があれば(nico)
if (nicoemojick) { 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 emoji = toot.profile_emojis[keynico]
var shortcode = emoji.shortcode var shortcode = emoji.shortcode
var emoji_url = `<img draggable="false" src="${emoji.url}" class="emoji-img" data-emoji="${shortcode}" alt=" :${shortcode}: " var emoji_url = `<img draggable="false" src="${emoji.url}" class="emoji-img" data-emoji="${shortcode}" alt=" :${shortcode}: "
@@ -918,9 +918,10 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
//Ticker //Ticker
var tickerdom = '' var tickerdom = ''
if (ticker) { if (ticker) {
var tickerdata = localStorage.getItem('ticker') var tickerdata = localStorage.getItem('sticker')
if (tickerdata) { if (tickerdata) {
var tickerdata = JSON.parse(tickerdata) var tickerdataRaw = JSON.parse(tickerdata)
var tickerdata = tickerdataRaw.data
var thisdomain = toot.account.acct.split('@') var thisdomain = toot.account.acct.split('@')
if (thisdomain.length > 1) { if (thisdomain.length > 1) {
@@ -929,14 +930,41 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
for (var i = 0; i < tickerdata.length; i++) { for (var i = 0; i < tickerdata.length; i++) {
var value = tickerdata[i] var value = tickerdata[i]
if (value.domain == thisdomain) { if (value.domain == thisdomain) {
var tickerdom = `<div aria-hidden="true" style="user-select:none;cursor:default;background:linear-gradient(90deg, ${ var bgColor = value.bgColor
value.bg var fontColor = value.fontColor
}, transparent 96%) !important; color:${ if (!value.bgColor || !value.fontColor) {
value.text if (value.type == 'mastodon') {
};width:100%; height:0.9rem; font-size:0.8rem;" class="tickers"> 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="${ <img draggable="false" src="${
value.image value.favicon
}" style="height:100%;" onerror="this.src=\'../../img/loading.svg\'"> }" style="height:100%;" onerror="this.src=\'../../img/loading.svg\'">
<span style="position:relative; top:-0.2rem;">${escapeHTML(value.name)}</span> <span style="position:relative; top:-0.2rem;">${escapeHTML(value.name)}</span>
</div>` </div>`
break break
@@ -950,14 +978,14 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
if (!quoteUser) { if (!quoteUser) {
quoteUser = toot.quote.account.acct quoteUser = toot.quote.account.acct
} }
if(!toot.quote.quote_muted) { if (!toot.quote.quote_muted) {
poll = poll =
poll + poll +
`<div class="quote-renote"> `<div class="quote-renote">
<div class="renote-icon"> <div class="renote-icon">
<a onclick="udg('${toot.quote.account.id}','${acct_id}');" user="${ <a onclick="udg('${toot.quote.account.id}','${acct_id}');" user="${
toot.quote.account.acct toot.quote.account.acct
}" class="udg"> }" class="udg">
<img draggable="false" src="${toot.quote.account.avatar}"> <img draggable="false" src="${toot.quote.account.avatar}">
</a> </a>
</div> </div>
@@ -969,18 +997,18 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
</div> </div>
<div class="renote-details"> <div class="renote-details">
<a onclick="details('${ <a onclick="details('${
toot.quote.id toot.quote.id
}','${acct_id}','${tlid}','normal')" class="waves-effect waves-dark btn-flat details" style="padding:0"> }','${acct_id}','${tlid}','normal')" class="waves-effect waves-dark btn-flat details" style="padding:0">
<i class="text-darken-3 material-icons">more_vert</i> <i class="text-darken-3 material-icons">more_vert</i>
</a> </a>
</div> </div>
</div>` </div>`
} else { } else {
poll = poll =
poll + poll +
`<span class="gray sml">${lang.lang_parse_hidden}</span>` `<span class="gray sml">${lang.lang_parse_hidden}</span>`
} }
} }
//menuは何個 //menuは何個
var menuct = 2 var menuct = 2
@@ -1069,8 +1097,8 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
</div> </div>
<div class="action ${can_rt} ${disp['rt']} ${noauth}"> <div class="action ${can_rt} ${disp['rt']} ${noauth}">
<a onclick="rt('${ <a onclick="rt('${
toot.id toot.id
}','${acct_id}','${tlid}')" class="waves-effect waves-dark btn-flat actct bt-btn" }','${acct_id}','${tlid}')" class="waves-effect waves-dark btn-flat actct bt-btn"
style="padding:0" title="${lang.lang_parse_bt}"> style="padding:0" title="${lang.lang_parse_bt}">
<i class="fas fa-retweet ${if_rt} rt_${toot.id}"></i> <i class="fas fa-retweet ${if_rt} rt_${toot.id}"></i>
<span class="voice">${lang.lang_parse_bt} </span> <span class="voice">${lang.lang_parse_bt} </span>
@@ -1104,7 +1132,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
</div> </div>
<div class="area-side"> <div class="area-side">
<div class="action ${noauth}"> <div class="action ${noauth}">
<a onclick="toggleAction($(this), ${menuct * 39 + 6})" <a onclick="toggleAction($(this), ${menuct})"
class="ctxMenu waves-effect waves-dark btn-flat" style="padding:0"> class="ctxMenu waves-effect waves-dark btn-flat" style="padding:0">
<i class="text-darken-3 material-icons act-icon" aria-hidden="true">expand_more</i> <i class="text-darken-3 material-icons act-icon" aria-hidden="true">expand_more</i>
<span class="voice">Other actions</span> <span class="voice">Other actions</span>
@@ -1181,7 +1209,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
} }
var templete = '' var templete = ''
var datetype = localStorage.getItem('datetype') var datetype = localStorage.getItem('datetype')
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function (key) {
var toot = obj[key] var toot = obj[key]
if (toot) { if (toot) {
if (!toot.username) { if (!toot.username) {
@@ -1218,7 +1246,6 @@ function userparse(obj, auth, acct_id, tlid, popup) {
} else if (auth == 'request') { } else if (auth == 'request') {
var ftxt = lang.lang_parse_request var ftxt = lang.lang_parse_request
} }
console.log(auth, ftxt)
if (popup > 0 || popup == -1 || notf) { if (popup > 0 || popup == -1 || notf) {
var notftext = ftxt + '<br>' var notftext = ftxt + '<br>'
} else { } else {
@@ -1226,7 +1253,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
} }
var memory = localStorage.getItem('notice-mem') var memory = localStorage.getItem('notice-mem')
if (popup >= 0 && obj.length < 5 && notftext != memory) { if (popup >= 0 && obj.length < 5 && notftext != memory) {
Mtoast({ html: escapeHTML(toot.display_name) + ':' + ftxt, displayLength: popup * 1000 }) M.toast({ html: escapeHTML(toot.display_name) + ':' + ftxt, displayLength: popup * 1000 })
$('.notf-icon_' + tlid).addClass('red-text') $('.notf-icon_' + tlid).addClass('red-text')
localStorage.setItem('notice-mem', notftext) localStorage.setItem('notice-mem', notftext)
notftext = '' notftext = ''
@@ -1258,7 +1285,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
} }
//絵文字があれば //絵文字があれば
if (actemojick) { if (actemojick) {
Object.keys(toot.emojis).forEach(function(key5) { Object.keys(toot.emojis).forEach(function (key5) {
var emoji = toot.emojis[key5] var emoji = toot.emojis[key5]
var shortcode = emoji.shortcode var shortcode = emoji.shortcode
if (gif == 'yes') { if (gif == 'yes') {
@@ -1291,7 +1318,7 @@ function userparse(obj, auth, acct_id, tlid, popup) {
} else { } else {
var udg = `<a onclick="udg('${toot.id}','${acct_id}');" user="${toot.acct}" class="udg">` 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) { if (toot.last_status_at) {
var latesthtml = `<div class="cbadge" style="width:100px;">Last <span class="voice">toot</span>: ${latest}</div>` var latesthtml = `<div class="cbadge" style="width:100px;">Last <span class="voice">toot</span>: ${latest}</div>`
} else { } else {
@@ -1366,22 +1393,22 @@ function client(name) {
if (!obj) { if (!obj) {
var obj = [] var obj = []
obj.push(name) obj.push(name)
Mtoast({ html: escapeHTML(name) + lang.lang_status_emphas, displayLength: 2000 }) M.toast({ html: escapeHTML(name) + lang.lang_status_emphas, displayLength: 2000 })
} else { } else {
var can var can
Object.keys(obj).forEach(function(key) { Object.keys(obj).forEach(function (key) {
var cliT = obj[key] var cliT = obj[key]
if (cliT != name && !can) { if (cliT != name && !can) {
can = false can = false
} else { } else {
can = true can = true
obj.splice(key, 1) obj.splice(key, 1)
Mtoast({ html: escapeHTML(name) + lang.lang_status_unemphas, displayLength: 2000 }) M.toast({ html: escapeHTML(name) + lang.lang_status_unemphas, displayLength: 2000 })
} }
}) })
if (!can) { if (!can) {
obj.push(name) obj.push(name)
Mtoast({ html: escapeHTML(name) + lang.lang_status_emphas, displayLength: 2000 }) M.toast({ html: escapeHTML(name) + lang.lang_status_emphas, displayLength: 2000 })
} else { } else {
} }
var json = JSON.stringify(obj) var json = JSON.stringify(obj)
@@ -1398,7 +1425,7 @@ function client(name) {
obj.push(name) obj.push(name)
var json = JSON.stringify(obj) var json = JSON.stringify(obj)
localStorage.setItem('client_mute', json) localStorage.setItem('client_mute', json)
Mtoast({ html: escapeHTML(name) + lang.lang_parse_mute, displayLength: 2000 }) M.toast({ html: escapeHTML(name) + lang.lang_parse_mute, displayLength: 2000 })
parseColumn() parseColumn()
} }
}) })
@@ -1457,7 +1484,7 @@ function pollParse(poll, acct_id, emojis) {
var max = 0 var max = 0
} }
Object.keys(choices).forEach(function(keyc) { Object.keys(choices).forEach(function (keyc) {
var choice = choices[keyc] var choice = choices[keyc]
var voteit = '' var voteit = ''
for (var i = 0; i < minechoice.length; i++) { for (var i = 0; i < minechoice.length; i++) {
@@ -1492,7 +1519,7 @@ function pollParse(poll, acct_id, emojis) {
var choiceText = escapeHTML(choice.title) var choiceText = escapeHTML(choice.title)
if (emojis) { if (emojis) {
//絵文字があれば //絵文字があれば
Object.keys(emojis).forEach(function(key5) { Object.keys(emojis).forEach(function (key5) {
var emoji = emojis[key5] var emoji = emojis[key5]
var shortcode = emoji.shortcode var shortcode = emoji.shortcode
if (gif == 'yes') { if (gif == 'yes') {
@@ -1532,3 +1559,283 @@ function pollParse(poll, acct_id, emojis) {
</div>` </div>`
return pollHtml return pollHtml
} }
//MastodonBaseStreaming
var mastodonBaseWs = {}
var mastodonBaseWsStatus = {}
function mastodonBaseStreaming(acct_id) {
const domain = localStorage.getItem(`domain_${acct_id}`)
if(mastodonBaseWsStatus[domain]) return
mastodonBaseWsStatus[domain] = 'undetected'
const at = localStorage.getItem(`acct_${acct_id}_at`)
const start = `wss://${domain}/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) {
notf(acct_id, 0) //fallback
console.error("Error closing " + domain)
console.error(error)
if (mastodonBaseWsStatus[domain] == 'available') location.reload()
mastodonBaseWsStatus[domain] = 'cannotuse'
setTimeout(function () {
mastodonBaseWsStatus[domain] = 'cannotuse'
}, 3000)
mastodonBaseWs[domain] = false
return false
}
mastodonBaseWs[domain].onclose = function () {
notf(acct_id, 0) //fallback
console.warn("Closing " + domain)
if (mastodonBaseWsStatus[domain] == 'available') location.reload()
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
}

View File

@@ -143,14 +143,14 @@ function voiceSettings() {
var awk = $('[name=bym]:checked').val() var awk = $('[name=bym]:checked').val()
if (awk == 'yes') { if (awk == 'yes') {
localStorage.setItem('voice_bouyomi', 'yes') localStorage.setItem('voice_bouyomi', 'yes')
Mtoast({ html: 'Bouyomi Chan connection requires WebSocket Plugin', displayLength: 3000 }) M.toast({ html: 'Bouyomi Chan connection requires WebSocket Plugin', displayLength: 3000 })
} else { } else {
localStorage.removeItem('voice_bouyomi') localStorage.removeItem('voice_bouyomi')
} }
localStorage.setItem('voice_speed', $('#voicespeed').val() / 10) localStorage.setItem('voice_speed', $('#voicespeed').val() / 10)
localStorage.setItem('voice_pitch', $('#voicepitch').val() / 50) localStorage.setItem('voice_pitch', $('#voicepitch').val() / 50)
localStorage.setItem('voice_vol', $('#voicevol').val() / 100) localStorage.setItem('voice_vol', $('#voicevol').val() / 100)
Mtoast({ html: lang.lang_speech_refresh, displayLength: 3000 }) M.toast({ html: lang.lang_speech_refresh, displayLength: 3000 })
} }
function voiceSettingLoad() { function voiceSettingLoad() {
var flag = localStorage.getItem('voice_bouyomi') var flag = localStorage.getItem('voice_bouyomi')

View File

@@ -156,10 +156,10 @@ function autoToot(tag) {
var nowPT = localStorage.getItem('stable') var nowPT = localStorage.getItem('stable')
if (nowPT == tag) { if (nowPT == tag) {
localStorage.removeItem('stable') localStorage.removeItem('stable')
Mtoast({ html: lang.lang_tags_unrealtime, displayLength: 3000 }) M.toast({ html: lang.lang_tags_unrealtime, displayLength: 3000 })
} else { } else {
localStorage.setItem('stable', tag) localStorage.setItem('stable', tag)
Mtoast({ M.toast({
html: lang.lang_tags_tagwarn.replace('{{tag}}', tag).replace('{{tag}}', tag), html: lang.lang_tags_tagwarn.replace('{{tag}}', tag).replace('{{tag}}', tag),
displayLength: 3000 displayLength: 3000
}) })
@@ -195,7 +195,7 @@ function tagFeature(name, acct_id) {
}) })
.then(function(json) { .then(function(json) {
console.log(json) console.log(json)
Mtoast({ html: 'Complete: ' + escapeHTML(name), displayLength: 3000 }) M.toast({ html: 'Complete: ' + escapeHTML(name), displayLength: 3000 })
}) })
} }
//タグのフィルタ //タグのフィルタ

View File

@@ -44,10 +44,10 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
//Integratedなら飛ばす //Integratedなら飛ばす
$('#notice_' + tlid).text( $('#notice_' + tlid).text(
'Integrated TL(' + 'Integrated TL(' +
localStorage.getItem('user_' + acct_id) + localStorage.getItem('user_' + acct_id) +
'@' + '@' +
domain + domain +
')' ')'
) )
$('#notice_icon_' + tlid).text('merge_type') $('#notice_icon_' + tlid).text('merge_type')
mixtl(acct_id, tlid, 'integrated', delc, voice) mixtl(acct_id, tlid, 'integrated', delc, voice)
@@ -56,10 +56,10 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
//Local+なら飛ばす //Local+なら飛ばす
$('#notice_' + tlid).text( $('#notice_' + tlid).text(
'Local+ TL(' + 'Local+ TL(' +
localStorage.getItem('user_' + acct_id) + localStorage.getItem('user_' + acct_id) +
'@' + '@' +
domain + domain +
')' ')'
) )
$('#notice_icon_' + tlid).text('people_outline') $('#notice_icon_' + tlid).text('people_outline')
mixtl(acct_id, tlid, 'plus', delc, voice) mixtl(acct_id, tlid, 'plus', delc, voice)
@@ -69,11 +69,11 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
notf(acct_id, tlid, 'direct') notf(acct_id, tlid, 'direct')
$('#notice_' + tlid).text( $('#notice_' + tlid).text(
cap(type, data, acct_id) + cap(type, data, acct_id) +
'(' + '(' +
localStorage.getItem('user_' + acct_id) + localStorage.getItem('user_' + acct_id) +
'@' + '@' +
domain + domain +
')' ')'
) )
$('#notice_icon_' + tlid).text('notifications') $('#notice_icon_' + tlid).text('notifications')
return return
@@ -82,11 +82,11 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
getBookmark(acct_id, tlid) getBookmark(acct_id, tlid)
$('#notice_' + tlid).text( $('#notice_' + tlid).text(
cap(type, data, acct_id) + cap(type, data, acct_id) +
'(' + '(' +
localStorage.getItem('user_' + acct_id) + localStorage.getItem('user_' + acct_id) +
'@' + '@' +
domain + domain +
')' ')'
) )
$('#notice_icon_' + tlid).text('bookmark') $('#notice_icon_' + tlid).text('bookmark')
return return
@@ -95,11 +95,11 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
getUtl(acct_id, tlid, data, false) getUtl(acct_id, tlid, data, false)
$('#notice_' + tlid).text( $('#notice_' + tlid).text(
cap(type, data, acct_id) + cap(type, data, acct_id) +
'(' + '(' +
localStorage.getItem('user_' + acct_id) + localStorage.getItem('user_' + acct_id) +
'@' + '@' +
domain + domain +
')' ')'
) )
$('#notice_icon_' + tlid).text('person') $('#notice_icon_' + tlid).text('person')
return return
@@ -117,11 +117,11 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
} }
$('#notice_' + tlid).text( $('#notice_' + tlid).text(
cap(type, data, acct_id) + cap(type, data, acct_id) +
'(' + '(' +
localStorage.getItem('user_' + acct_id) + localStorage.getItem('user_' + acct_id) +
'@' + '@' +
domain + domain +
')' ')'
) )
} else { } else {
var hdr = { var hdr = {
@@ -206,7 +206,7 @@ function tl(type, data, acct_id, tlid, delc, voice, mode) {
additional(acct_id, tlid) additional(acct_id, tlid)
jQuery('time.timeago').timeago() jQuery('time.timeago').timeago()
todc() 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') { if (type == 'home' || type == 'notf') {
//Markers //Markers
var markers = localStorage.getItem('markers') var markers = localStorage.getItem('markers')
@@ -247,194 +247,243 @@ function reload(type, cc, acct_id, tlid, data, mute, delc, voice, mode) {
} }
}, 100) }, 100)
} else { } else {
var misskey = false var domain = localStorage.getItem('domain_' + acct_id)
if (localStorage.getItem('streaming_' + acct_id)) { if (mastodonBaseWsStatus[domain] == 'cannotuse') {
var wss = localStorage.getItem('streaming_' + acct_id) oldStreaming(type, cc, acct_id, tlid, data, mute, delc, voice, mode)
} else { } else if (mastodonBaseWsStatus[domain] == 'undetected' || mastodonBaseWsStatus[domain] == 'connecting') {
var wss = 'wss://' + domain const mbws = setInterval(function () {
} if (mastodonBaseWsStatus[domain] == 'cannotuse') {
if (type == 'home') { oldStreaming(type, cc, acct_id, tlid, data, mute, delc, voice, mode)
var start = wss + '/api/v1/streaming/?stream=user&access_token=' + at clearInterval(mbws)
} else if (type == 'pub') { } else if (mastodonBaseWsStatus[domain] == 'available') {
var add = '' $('#notice_icon_' + tlid).removeClass('red-text')
if(remoteOnlyCk(tlid)){ stremaingSubscribe(type, acct_id, data)
add = '&remote=true' clearInterval(mbws)
}
var start = wss + '/api/v1/streaming/?stream=public&access_token=' + at + add
} else if (type == 'pub-media') {
var add = ''
if(remoteOnlyCk(tlid)){
add = '&remote=true'
}var start =
wss + '/api/v1/streaming/?stream=public:media&access_token=' + at + add
} else if (type == 'local') {
var start =
wss + '/api/v1/streaming/?stream=public:local&access_token=' + at
} else if (type == 'local-media') {
var start =
wss +
'/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'
} }
} }, 1000)
var start = } else if (mastodonBaseWsStatus[domain] == 'available') {
wss +
'/api/v1/streaming/?stream=hashtag&tag=' +
data +
'&access_token=' +
at
} else if (type == 'noauth') {
var start = 'wss://' + acct_id + '/api/v1/streaming/?stream=public:local'
} else if (type == 'list') {
var start =
wss +
'/api/v1/streaming/?stream=list&list=' +
data +
'&access_token=' +
at
} else if (type == 'dm') {
var start = wss + '/api/v1/streaming/?stream=direct&access_token=' + at
}
var wsid = websocket.length
localStorage.setItem('wss_' + tlid, wsid)
websocket[wsid] = new WebSocket(start)
websocket[wsid].onopen = function (mess) {
console.table({
tlid: tlid,
type: 'Connect Streaming API' + type,
domain: domain,
message: [mess],
})
errorct = 0
$('#notice_icon_' + tlid).removeClass('red-text') $('#notice_icon_' + tlid).removeClass('red-text')
} stremaingSubscribe(type, acct_id, data)
websocket[wsid].onmessage = function (mess) {
console.log([tlid + ':Receive Streaming API:', JSON.parse(mess.data)])
if (misskey) {
if (JSON.parse(mess.data).type == 'note') {
var obj = JSON.parse(mess.data).body
if (voice) {
say(obj.text)
}
websocketNotf[acct_id].send(
JSON.stringify({
type: 'capture',
id: obj.id,
})
)
var templete = misskeyParse([obj], type, acct_id, tlid, '', mute)
var pool = localStorage.getItem('pool_' + tlid)
if (pool) {
pool = templete + pool
} else {
pool = templete
}
localStorage.setItem('pool_' + tlid, pool)
scrollck()
jQuery('time.timeago').timeago()
}
} else {
var typeA = JSON.parse(mess.data).event
if (typeA == 'delete') {
var obj = JSON.parse(mess.data).payload
if (delc == 'true') {
$(
'#timeline_' +
tlid +
' [unique-id=' +
JSON.parse(mess.data).payload +
']'
).addClass('emphasized')
$(
'#timeline_' +
tlid +
' [unique-id=' +
JSON.parse(mess.data).payload +
']'
).addClass('by_delcatch')
} else {
$('[unique-id=' + JSON.parse(mess.data).payload + ']').hide()
$('[unique-id=' + JSON.parse(mess.data).payload + ']').remove()
}
} else if (typeA == 'update' || typeA == 'conversation') {
if (
!$('#unread_' + tlid + ' .material-icons').hasClass('teal-text')
) {
//markers show中はダメ
var obj = JSON.parse(JSON.parse(mess.data).payload)
if (
$('#timeline_' + tlid + ' [toot-id=' + obj.id + ']').length < 1
) {
if (voice) {
say(obj.content)
}
var templete = parse([obj], type, acct_id, tlid, '', mute, type)
if (
$('timeline_box_' + tlid + '_box .tl-box').scrollTop() === 0
) {
$('#timeline_' + tlid).prepend(templete)
} else {
var pool = localStorage.getItem('pool_' + tlid)
if (pool) {
pool = templete + pool
} else {
pool = templete
}
localStorage.setItem('pool_' + tlid, pool)
}
scrollck()
additional(acct_id, tlid)
jQuery('time.timeago').timeago()
} else {
todo('二重取得発生中')
}
todc()
}
} else if (typeA == 'filters_changed') {
filterUpdate(acct_id)
} else if (~typeA.indexOf('announcement')) {
announ(acct_id, tlid)
}
}
}
websocket[wsid].onerror = function (error) {
console.error('Error closing')
console.error(error)
if (mode == 'error') {
$('#notice_icon_' + tlid).addClass('red-text')
todo('WebSocket Error ' + error)
} else {
errorct++
console.log(errorct)
if (errorct < 3) {
reconnector(tlid, type, acct_id, data, 'error')
}
}
return false
}
websocket[wsid].onclose = function () {
console.warn('Closing ' + tlid)
if (mode == 'error') {
$('#notice_icon_' + tlid).addClass('red-text')
todo('WebSocket Closed')
} else {
errorct++
console.log(errorct)
if (errorct < 3) {
reconnector(tlid, type, acct_id, data, 'error')
}
}
return false
} }
} }
} }
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 {
var wss = 'wss://' + domain
}
if (type == 'home') {
var start = wss + '/api/v1/streaming/?stream=user&access_token=' + at
} else if (type == 'pub') {
var add = ''
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)) {
add = '&remote=true'
} var start =
wss + '/api/v1/streaming/?stream=public:media&access_token=' + at + add
} else if (type == 'local') {
var start =
wss + '/api/v1/streaming/?stream=public:local&access_token=' + at
} else if (type == 'local-media') {
var start =
wss +
'/api/v1/streaming/?stream=public:local:media&only_media=true&access_token=' +
at
} else 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 + add
} else if (type == 'noauth') {
var start = 'wss://' + acct_id + '/api/v1/streaming/?stream=public:local'
} else if (type == 'list') {
var start =
wss +
'/api/v1/streaming/?stream=list&list=' +
data +
'&access_token=' +
at
} else if (type == 'dm') {
var start = wss + '/api/v1/streaming/?stream=direct&access_token=' + at
}
var wsid = websocket.length
localStorage.setItem('wss_' + tlid, wsid)
websocket[wsid] = new WebSocket(start)
websocket[wsid].onopen = function (mess) {
console.table({
tlid: tlid,
type: 'Connect Streaming API' + type,
domain: domain,
message: [mess],
})
errorct = 0
$('#notice_icon_' + tlid).removeClass('red-text')
}
websocket[wsid].onmessage = function (mess) {
console.log([tlid + ':Receive Streaming API:', JSON.parse(mess.data)])
if (misskey) {
if (JSON.parse(mess.data).type == 'note') {
var obj = JSON.parse(mess.data).body
if (voice) {
say(obj.text)
}
websocketNotf[acct_id].send(
JSON.stringify({
type: 'capture',
id: obj.id,
})
)
var templete = misskeyParse([obj], type, acct_id, tlid, '', mute)
var pool = localStorage.getItem('pool_' + tlid)
if (pool) {
pool = templete + pool
} else {
pool = templete
}
localStorage.setItem('pool_' + tlid, pool)
scrollck()
jQuery('time.timeago').timeago()
}
} else {
var typeA = JSON.parse(mess.data).event
if (typeA == 'delete') {
var obj = JSON.parse(mess.data).payload
if (delc == 'true') {
$(
'#timeline_' +
tlid +
' [unique-id=' +
JSON.parse(mess.data).payload +
']'
).addClass('emphasized')
$(
'#timeline_' +
tlid +
' [unique-id=' +
JSON.parse(mess.data).payload +
']'
).addClass('by_delcatch')
} else {
$('[unique-id=' + JSON.parse(mess.data).payload + ']').hide()
$('[unique-id=' + JSON.parse(mess.data).payload + ']').remove()
}
} else if (typeA == 'update' || typeA == 'conversation') {
if (
!$('#unread_' + tlid + ' .material-icons').hasClass('teal-text')
) {
//markers show中はダメ
var obj = JSON.parse(JSON.parse(mess.data).payload)
if (
$('#timeline_' + tlid + ' [toot-id=' + obj.id + ']').length < 1
) {
if (voice) {
say(obj.content)
}
var templete = parse([obj], type, acct_id, tlid, '', mute, type)
if (
$('timeline_box_' + tlid + '_box .tl-box').scrollTop() === 0
) {
$('#timeline_' + tlid).prepend(templete)
} else {
var pool = localStorage.getItem('pool_' + tlid)
if (pool) {
pool = templete + pool
} else {
pool = templete
}
localStorage.setItem('pool_' + tlid, pool)
}
scrollck()
additional(acct_id, tlid)
jQuery('time.timeago').timeago()
} else {
todo('二重取得発生中')
}
todc()
}
} else if (typeA == 'filters_changed') {
filterUpdate(acct_id)
} else if (~typeA.indexOf('announcement')) {
announ(acct_id, tlid)
}
}
}
websocket[wsid].onerror = function (error) {
console.error('Error closing')
console.error(error)
if (mode == 'error') {
$('#notice_icon_' + tlid).addClass('red-text')
todo('WebSocket Error ' + error)
} else {
errorct++
console.log(errorct)
if (errorct < 3) {
reconnector(tlid, type, acct_id, data, 'error')
}
}
return false
}
websocket[wsid].onclose = function () {
console.warn('Closing ' + tlid)
if (mode == 'error') {
$('#notice_icon_' + tlid).addClass('red-text')
todo('WebSocket Closed')
} else {
errorct++
console.log(errorct)
if (errorct < 3) {
reconnector(tlid, type, acct_id, data, 'error')
}
}
return false
}
}
//一定のスクロールで発火 //一定のスクロールで発火
function moreload(type, tlid) { function moreload(type, tlid) {
var multi = localStorage.getItem('column') var multi = localStorage.getItem('column')
@@ -866,13 +915,13 @@ function com(type, data, tlid) {
return 'public?local=true&only_media=true&' return 'public?local=true&only_media=true&'
} else if (type == 'pub') { } else if (type == 'pub') {
var add = '' var add = ''
if(remoteOnlyCk(tlid)){ if (remoteOnlyCk(tlid)) {
add = 'remote=true&' add = 'remote=true&'
} }
return 'public?' + add return 'public?' + add
} else if (type == 'pub-media') { } else if (type == 'pub-media') {
var add = '' var add = ''
if(remoteOnlyCk(tlid)){ if (remoteOnlyCk(tlid)) {
add = 'remote=true&' add = 'remote=true&'
} }
return 'public?only_media=true&' + add return 'public?only_media=true&' + add
@@ -998,9 +1047,9 @@ function reconnector(tlid, type, acct_id, data, mode) {
var voice = false var voice = false
} }
var mute = getFilterTypeByAcct(acct_id, type) var mute = getFilterTypeByAcct(acct_id, type)
reload(type, '', acct_id, tlid, data, mute, '', voice, mode) var domain = localStorage.getItem('domain_' + acct_id)
} }
Mtoast({ html: lang.lang_tl_reconnect, displayLength: 2000 }) M.toast({ html: lang.lang_tl_reconnect, displayLength: 2000 })
} }
function columnReload(tlid, type) { function columnReload(tlid, type) {
$('#notice_icon_' + tlid).addClass('red-text') $('#notice_icon_' + tlid).addClass('red-text')
@@ -1008,6 +1057,12 @@ function columnReload(tlid, type) {
var multi = localStorage.getItem('column') var multi = localStorage.getItem('column')
var obj = JSON.parse(multi) var obj = JSON.parse(multi)
var acct_id = obj[tlid].domain 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 (type == 'mix' || type == 'integrated' || type == 'plus') {
if (localStorage.getItem('voice_' + tlid)) { if (localStorage.getItem('voice_' + tlid)) {
var voice = true var voice = true
@@ -1027,15 +1082,10 @@ function columnReload(tlid, type) {
$('#notice_icon_' + tlid).removeClass('red-text') $('#notice_icon_' + tlid).removeClass('red-text')
getBookmark(acct_id, tlid, false) getBookmark(acct_id, tlid, false)
} else { } else {
var wss = localStorage.getItem('wss_' + tlid) var wss = localStorage.getItem('wss_' + tlid)
websocket[wss].close() websocket[wss].close()
if (localStorage.getItem('voice_' + tlid)) { parseColumn(tlid, false)
var voice = true
} else {
var voice = false
}
var mute = getFilterTypeByAcct(acct_id, type)
parseColumn(tlid)
} }
} }
//Markers //Markers
@@ -1078,10 +1128,10 @@ function getMarker(tlid, type, acct_id) {
$('#unread_' + tlid).attr( $('#unread_' + tlid).attr(
'title', 'title',
lang.lang_layout_unread + lang.lang_layout_unread +
':' + ':' +
json.updated_at + json.updated_at +
' v' + ' v' +
json.version json.version
) )
$('#unread_' + tlid).attr('data-id', json.last_read_id) $('#unread_' + tlid).attr('data-id', json.last_read_id)
} else { } else {
@@ -1285,8 +1335,8 @@ function asReadEnd() {
onBeforeOpen: () => { onBeforeOpen: () => {
Swal.showLoading() Swal.showLoading()
}, },
onClose: () => {}, onClose: () => { },
}).then((result) => {}) }).then((result) => { })
} else { } else {
postMessage(['asReadComp', ''], '*') postMessage(['asReadComp', ''], '*')
} }
@@ -1349,8 +1399,8 @@ function getUtl(acct_id, tlid, data, more) {
moreloading = true moreloading = true
if (more) { if (more) {
var sid = $('#timeline_' + tlid + ' .cvo') var sid = $('#timeline_' + tlid + ' .cvo')
.last() .last()
.attr('unique-id') .attr('unique-id')
var ad = '?max_id=' + sid var ad = '?max_id=' + sid
} else { } else {
var ad = '' var ad = ''
@@ -1418,7 +1468,7 @@ function announ(acct_id, tlid) {
$('.notf-announ_' + acct_id).addClass('hide') $('.notf-announ_' + acct_id).addClass('hide')
} }
var templete = announParse(json, acct_id, tlid) var templete = announParse(json, acct_id, tlid)
$('#announce_' + tlid).html(templete) $('.announce_' + acct_id).html(templete)
jQuery('time.timeago').timeago() jQuery('time.timeago').timeago()
todc() todc()
} }
@@ -1426,7 +1476,7 @@ function announ(acct_id, tlid) {
} }
//buildQuery //buildQuery
function buildQuery(name, data) { function buildQuery(name, data) {
if(!data || data == '') return '' if (!data || data == '') return ''
var arr = data.split(',') var arr = data.split(',')
var str = '' var str = ''
for (var i = 0; i < arr.length; i++) { for (var i = 0; i < arr.length; i++) {

View File

@@ -120,7 +120,7 @@ function imageXhr(id, key, murl) {
element.onload = function() { element.onload = function() {
var width = element.naturalWidth var width = element.naturalWidth
if(width < 650) { if(width < 650) {
width = 650; width = 650
} }
var height = element.naturalHeight var height = element.naturalHeight
var windowH = $(window).height() var windowH = $(window).height()
@@ -182,7 +182,7 @@ function zoom(z) {
$('#imagewrap img').css('height', hgt + 'px') $('#imagewrap img').css('height', hgt + 'px')
} }
//スマホ対応ドラッグ移動システム //スマホ対応ドラッグ移動システム
;(function() { (function() {
$.fn.dragScroll = function() { $.fn.dragScroll = function() {
var target = this var target = this
$(this) $(this)
@@ -291,5 +291,5 @@ function stopVideo() {
function copyImgUrl() { function copyImgUrl() {
var murl = $('#imagemodal').attr('data-original') var murl = $('#imagemodal').attr('data-original')
execCopy(murl) execCopy(murl)
Mtoast({ html: lang.lang_img_copyDone, displayLength: 1500 }) M.toast({ html: lang.lang_img_copyDone, displayLength: 1500 })
} }

View File

@@ -42,18 +42,16 @@ function parseColumn(target, dontclose) {
var multi = localStorage.getItem('multi') var multi = localStorage.getItem('multi')
if (multi) { if (multi) {
var obj = JSON.parse(multi) var obj = JSON.parse(multi)
var templete var templete
Object.keys(obj).forEach(function (key) { Object.keys(obj).forEach(function (key) {
var acct = obj[key] var acct = obj[key]
localStorage.setItem('name_' + key, acct.name) localStorage.setItem('name_' + key, acct.name)
localStorage.setItem('user_' + key, acct.user) localStorage.setItem('user_' + key, acct.user)
localStorage.setItem('user-id_' + key, acct.id) localStorage.setItem('user-id_' + key, acct.id)
localStorage.setItem('prof_' + key, acct.prof) localStorage.setItem('prof_' + key, acct.prof)
localStorage.setItem('domain_' + key, acct.domain) localStorage.setItem('domain_' + key, acct.domain)
localStorage.setItem('acct_' + key + '_at', acct.at) localStorage.setItem('acct_' + key + '_at', acct.at)
notf(key, 0) if(!target) mastodonBaseStreaming(key)
ckdb(key) ckdb(key)
//フィルターデータ読もう //フィルターデータ読もう
getFilter(key) getFilter(key)
@@ -76,8 +74,12 @@ function parseColumn(target, dontclose) {
var obj = [ var obj = [
{ {
domain: 0, domain: 0,
type: 'local', type: 'home',
}, },
{
domain: 0,
type: 'local',
}
] ]
var json = JSON.stringify(obj) var json = JSON.stringify(obj)
localStorage.setItem('column', json) localStorage.setItem('column', json)
@@ -158,15 +160,21 @@ function parseColumn(target, dontclose) {
} else { } else {
localStorage.removeItem('hasNotfC_' + acct.domain) localStorage.removeItem('hasNotfC_' + acct.domain)
} }
var css = ''
var width = localStorage.getItem('width') var width = localStorage.getItem('width')
if (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) { if (acct.width) {
var css = ' min-width:' + acct.width + 'px;max-width:' + acct.width + 'px;' css = css + ' min-width:' + acct.width + 'px !important;max-width:' + acct.width + 'px !important;'
}
if (!css) {
var css = ''
} }
if (acct.type == 'webview') { if (acct.type == 'webview') {
if (localStorage.getItem('fixwidth')) { if (localStorage.getItem('fixwidth')) {
@@ -370,7 +378,7 @@ function parseColumn(target, dontclose) {
<div class="boxIn" id="timeline_box_${key}_box" tlid="${key}" data-acct="${acct.domain}" style="${addHeight}"> <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="notice-box z-depth-2" id="menu_${key}" style="${insert}">
<div class="area-notice"> <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%;" style="font-size:40px; padding-top:25%;"
onclick="checkStr('${acct.type}','${data}','${acct.domain}', '${key}', '${delc}','${voice}',null)" onclick="checkStr('${acct.type}','${data}','${acct.domain}', '${key}', '${delc}','${voice}',null)"
title="${lang.lang_layout_gotop}" aria-hidden="true"> title="${lang.lang_layout_gotop}" aria-hidden="true">
@@ -413,7 +421,7 @@ function parseColumn(target, dontclose) {
</div> </div>
</div> </div>
<div class="column-hide notf-indv-box z-depth-4" id="notf-box_${notfKey}"> <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 id="notifications_${notfKey}" data-notf="${notfDomain}" data-type="notf" class="notf-timeline">
</div> </div>
</div> </div>
@@ -652,7 +660,7 @@ function removeColumn(tlid) {
localStorage.setItem('column', json) localStorage.setItem('column', json)
sortLoad() sortLoad()
$('#timeline_box_' + tlid + '_box').remove() $('#timeline_box_' + tlid + '_box').remove()
if(!data.left_fold) { if (!data.left_fold) {
$('#timeline_box_' + tlid + '_parentBox').remove() $('#timeline_box_' + tlid + '_parentBox').remove()
} }
} }
@@ -786,7 +794,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> <i class="fab fa-twitter waves-effect" id="notice_icon_${key}" style="font-size:40px; padding-top:25%;"></i>
</div> </div>
<div class="area-notice_name tl-title">WebView('${url}')</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"> <div class="area-a2">
<a onclick="removeColumn('${key}')" class="setting nex"> <a onclick="removeColumn('${key}')" class="setting nex">
<i class="material-icons waves-effect nex" title="${lang.lang_layout_delthis}" ${icnsert}>cancel</i> <i class="material-icons waves-effect nex" title="${lang.lang_layout_delthis}" ${icnsert}>cancel</i>
@@ -829,7 +838,7 @@ function unstreamingTL(type, key, basekey, insert, icnsert, left_fold, css, anim
${lang.lang_layout_leftUnfold} ${lang.lang_layout_leftUnfold}
</span><br>` </span><br>`
} }
if(type == 'utl') { if (type == 'utl') {
var dataHtml = false var dataHtml = false
} else { } else {
var dataHtml = data var dataHtml = data
@@ -899,13 +908,13 @@ function bookmark(key, data) {
tl('bookmark', '', data, key, 'false', voice, '') tl('bookmark', '', data, key, 'false', voice, '')
} }
function utl(key, acct_id, data) { function utl(key, acct_id, data) {
if(!data) { if (!data) {
var multi = localStorage.getItem('column') var multi = localStorage.getItem('column')
var obj = JSON.parse(multi) var obj = JSON.parse(multi)
data = obj[key].data data = obj[key].data
acct_id = obj[key].domain acct_id = obj[key].domain
} }
console.log(key, data) console.log(key, data)
if (localStorage.getItem('voice_' + key)) { if (localStorage.getItem('voice_' + key)) {
var voice = true var voice = true

View File

@@ -1,24 +1,24 @@
function menu() { function menu() {
localStorage.setItem("menu-done", true); localStorage.setItem("menu-done", true)
$("#fukidashi").addClass("hide") $("#fukidashi").addClass("hide")
if (!$("#menu").hasClass("appear")) { if (!$("#menu").hasClass("appear")) {
$("#menu").addClass("appear") $("#menu").addClass("appear")
var left = localStorage.getItem("menu-left"); var left = localStorage.getItem("menu-left")
if (left > $('body').width() - $('#menu').width()) { if (left > $('body').width() - $('#menu').width()) {
left = $('body').width() - $('#menu').width(); left = $('body').width() - $('#menu').width()
} else if (left < 0) { } 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()) { if (top > $('body').height() - $('#menu').height()) {
top = $('body').height() - $('#menu').height(); top = $('body').height() - $('#menu').height()
} else if (top < 0) { } else if (top < 0) {
top = 0; top = 0
} }
$('#menu').css("left", left + "px") $('#menu').css("left", left + "px")
$('#menu').css("top", top + "px") $('#menu').css("top", top + "px")
var height = localStorage.getItem("menu-height"); var height = localStorage.getItem("menu-height")
var width = localStorage.getItem("menu-width"); var width = localStorage.getItem("menu-width")
if(height){ if(height){
$('#menu').css("height", height + "px") $('#menu').css("height", height + "px")
}else{ }else{
@@ -27,13 +27,13 @@ function menu() {
if(width){ if(width){
$('#menu').css("width", width + "px") $('#menu').css("width", width + "px")
} }
$('#menu').fadeIn(); $('#menu').fadeIn()
$("#menu-bar").html("TheDesk " + localStorage.getItem("ver")); $("#menu-bar").html("TheDesk " + localStorage.getItem("ver"))
$(".menu-content").addClass("hide"); $(".menu-content").addClass("hide")
$("#add-box").removeClass("hide"); $("#add-box").removeClass("hide")
$("#left-menu div").removeClass("active"); $("#left-menu div").removeClass("active")
$("#addColumnMenu").addClass("active"); $("#addColumnMenu").addClass("active")
$("#addColumnMenu").click(); $("#addColumnMenu").click()
} else { } else {
$('#menu').fadeOut() $('#menu').fadeOut()
$("#menu").removeClass("appear") $("#menu").removeClass("appear")
@@ -44,35 +44,35 @@ $(function () {
$("#menu").draggable({ $("#menu").draggable({
handle: "#menu-bar", handle: "#menu-bar",
stop: function () { stop: function () {
var left = $('#menu').offset().left; var left = $('#menu').offset().left
if (left > $('body').width() - $('#menu').width()) { if (left > $('body').width() - $('#menu').width()) {
left = $('body').width() - $('#menu').width(); left = $('body').width() - $('#menu').width()
} else if (left < 0) { } else if (left < 0) {
left = 0; left = 0
} }
var top = $('#menu').offset().top; var top = $('#menu').offset().top
if (top > $('body').height() - $('#menu').height()) { if (top > $('body').height() - $('#menu').height()) {
top = $('body').height() - $('#menu').height(); top = $('body').height() - $('#menu').height()
} else if (top < 0) { } else if (top < 0) {
top = 0; top = 0
} }
localStorage.setItem("menu-left", left); localStorage.setItem("menu-left", left)
localStorage.setItem("menu-top", top); localStorage.setItem("menu-top", top)
} }
}); })
$("#menu").resizable({ $("#menu").resizable({
minHeight: 150, minHeight: 150,
minWidth: 200, minWidth: 200,
stop: function (event, ui) { stop: function (event, ui) {
localStorage.setItem("menu-height", ui.size.height); localStorage.setItem("menu-height", ui.size.height)
localStorage.setItem("menu-width", ui.size.width); localStorage.setItem("menu-width", ui.size.width)
} }
}); })
}); })
function help() { function help() {
$("#left-menu a").removeClass("active"); $("#left-menu a").removeClass("active")
$("#helpMenu").addClass("active"); $("#helpMenu").addClass("active")
$(".menu-content").addClass("hide"); $(".menu-content").addClass("hide")
$("#help-box").removeClass("hide"); $("#help-box").removeClass("hide")
postMessage(["sendSinmpleIpc", "getLogs"], "*") postMessage(["sendSinmpleIpc", "getLogs"], "*")
} }

View File

@@ -1,32 +1,32 @@
function pip(id) { function pip(id) {
$("#pip-content").html($("[toot-id=" + id + "] .additional").html()); $("#pip-content").html($("[toot-id=" + id + "] .additional").html())
$("#pip").removeClass("hide"); $("#pip").removeClass("hide")
} }
function endPip() { function endPip() {
$("#pip-content").html(""); $("#pip-content").html("")
$("#pip").addClass("hide"); $("#pip").addClass("hide")
} }
function pipHoriz() { function pipHoriz() {
if ($("#pip").hasClass("pip-left")) { if ($("#pip").hasClass("pip-left")) {
$("#pip").removeClass("pip-left"); $("#pip").removeClass("pip-left")
$(".pip-horiz").text("chevron_left"); $(".pip-horiz").text("chevron_left")
$("#pip").addClass("pip-right"); $("#pip").addClass("pip-right")
} else { } else {
$("#pip").addClass("pip-left"); $("#pip").addClass("pip-left")
$("#pip").removeClass("pip-right"); $("#pip").removeClass("pip-right")
$(".pip-horiz").text("chevron_right"); $(".pip-horiz").text("chevron_right")
} }
} }
function pipVert() { function pipVert() {
if ($("#pip").hasClass("pip-top")) { if ($("#pip").hasClass("pip-top")) {
$("#pip").removeClass("pip-top"); $("#pip").removeClass("pip-top")
$("#pip").addClass("pip-bottom"); $("#pip").addClass("pip-bottom")
$(".pip-vert").text("expand_less"); $(".pip-vert").text("expand_less")
} else { } else {
$("#pip").addClass("pip-top"); $("#pip").addClass("pip-top")
$("#pip").removeClass("pip-bottom"); $("#pip").removeClass("pip-bottom")
$(".pip-vert").text("expand_more"); $(".pip-vert").text("expand_more")
} }
} }

View File

@@ -1,38 +1,38 @@
var r = document.getElementById("radio"); var r = document.getElementById("radio")
function Rtoggle() { function Rtoggle() {
if ($("#radio").hasClass("play")) { if ($("#radio").hasClass("play")) {
Rstop(); Rstop()
} else { } else {
$("#radio-view").toggleClass("hide"); $("#radio-view").toggleClass("hide")
$("#radio-view").toggleClass("show"); $("#radio-view").toggleClass("show")
$("#radio-input").addClass("hide"); $("#radio-input").addClass("hide")
} }
} }
function Rplay(url, name) { function Rplay(url, name) {
$("#radio").attr('src', url); $("#radio").attr('src', url)
r.load(); r.load()
r.play(); r.play()
$("#radio").addClass("play"); $("#radio").addClass("play")
$("#radio-btn").addClass("teal-text"); $("#radio-btn").addClass("teal-text")
$("#radio-sta").html("<br>Now Playing:" + name); $("#radio-sta").html("<br>Now Playing:" + name)
} }
function Rstop() { function Rstop() {
$("#radio").attr("src", ""); $("#radio").attr("src", "")
r.pause(); r.pause()
$("#radio").removeClass("play"); $("#radio").removeClass("play")
$("#radio-btn").removeClass("teal-text"); $("#radio-btn").removeClass("teal-text")
$("#radio-sta").html(""); $("#radio-sta").html("")
} }
function Ryourself() { function Ryourself() {
$("#radio-input").removeClass("hide"); $("#radio-input").removeClass("hide")
$("#radio-view").addClass("hide"); $("#radio-view").addClass("hide")
} }
function Rselect() { function Rselect() {
$("#radio-input").addClass("hide"); $("#radio-input").addClass("hide")
$("#radio-view").removeClass("hide"); $("#radio-view").removeClass("hide")
} }
function Rinput() { function Rinput() {
var url = $("#radio-url").val(); var url = $("#radio-url").val()
Rplay(url, url) Rplay(url, url)
} }
/* /*

View File

@@ -5,7 +5,7 @@ var envView = new Vue({
methods: { methods: {
complete: function (i, val) { complete: function (i, val) {
var ls = envView.config[i].storage var ls = envView.config[i].storage
Mtoast({ html: 'Complete', displayLength: 3000 }) M.toast({ html: 'Complete', displayLength: 3000 })
if (!val) { if (!val) {
var id = envView.config[i].id var id = envView.config[i].id
var val = $('#' + id).val() var val = $('#' + id).val()
@@ -39,7 +39,7 @@ var tlView = new Vue({
ls = ls.data ls = ls.data
} }
for (var j = 0; j < ls.length; j++) { for (var j = 0; j < ls.length; j++) {
Mtoast({ html: 'Complete', displayLength: 3000 }) M.toast({ html: 'Complete', displayLength: 3000 })
var id = ls[j].id var id = ls[j].id
var val = $('#' + id).val() var val = $('#' + id).val()
localStorage.setItem(ls[j].storage, val) localStorage.setItem(ls[j].storage, val)
@@ -68,7 +68,7 @@ var postView = new Vue({
ls = ls.data ls = ls.data
} }
for (var j = 0; j < ls.length; j++) { for (var j = 0; j < ls.length; j++) {
Mtoast({ html: 'Complete', displayLength: 3000 }) M.toast({ html: 'Complete', displayLength: 3000 })
var id = ls[j].id var id = ls[j].id
var val = $('#' + id).val() var val = $('#' + id).val()
localStorage.setItem(ls[j].storage, val) localStorage.setItem(ls[j].storage, val)
@@ -90,7 +90,7 @@ function settings() {
$('#' + theme).prop('checked', true) $('#' + theme).prop('checked', true)
} else { } else {
if (cd != localStorage.getItem('theme')) { if (cd != localStorage.getItem('theme')) {
Mtoast({ html: lang.lang_setting_theme.replace('{{set}}', ct), displayLength: 3000 }) M.toast({ html: lang.lang_setting_theme.replace('{{set}}', ct), displayLength: 3000 })
} }
//テーマはこの場で設定 //テーマはこの場で設定
themes(cd) themes(cd)
@@ -99,14 +99,14 @@ function settings() {
var fontd = $('#font').val() var fontd = $('#font').val()
if (fontd) { if (fontd) {
if (fontd != localStorage.getItem('font')) { if (fontd != localStorage.getItem('font')) {
Mtoast({ html: lang.lang_setting_font.replace('{{set}}', fontd), displayLength: 3000 }) M.toast({ html: lang.lang_setting_font.replace('{{set}}', fontd), displayLength: 3000 })
} }
localStorage.setItem('font', fontd) localStorage.setItem('font', fontd)
themes() themes()
} else { } else {
if (localStorage.getItem('font')) { if (localStorage.getItem('font')) {
localStorage.removeItem('font') localStorage.removeItem('font')
Mtoast({ html: lang.lang_setting_font.replace('{{set}}', '"default"'), displayLength: 3000 }) M.toast({ html: lang.lang_setting_font.replace('{{set}}', '"default"'), displayLength: 3000 })
themes() themes()
} }
} }
@@ -286,7 +286,7 @@ function notftest() {
function oks(no) { function oks(no) {
var txt = $('#oks-' + no).val() var txt = $('#oks-' + no).val()
localStorage.setItem('oks-' + no, txt) localStorage.setItem('oks-' + no, txt)
Mtoast({ html: lang.lang_setting_ksref, displayLength: 3000 }) M.toast({ html: lang.lang_setting_ksref, displayLength: 3000 })
} }
function oksload() { function oksload() {
if (localStorage.getItem('oks-1')) { if (localStorage.getItem('oks-1')) {
@@ -656,7 +656,7 @@ function ctLoadCore(args) {
$('#custom-sel-sel').html(templete) $('#custom-sel-sel').html(templete)
templete = '<option value="add_new">' + $('#edit-selector').attr('data-add') + '</option>' + templete templete = '<option value="add_new">' + $('#edit-selector').attr('data-add') + '</option>' + templete
$('#custom-edit-sel').html(templete) $('#custom-edit-sel').html(templete)
//$('select').formSelect() $('select').formSelect()
} }
function customSel() { function customSel() {
var id = $('#custom-sel-sel').val() var id = $('#custom-sel-sel').val()
@@ -830,5 +830,5 @@ function lastFmSet() {
} else { } else {
localStorage.removeItem('lastFmUser') localStorage.removeItem('lastFmUser')
} }
Mtoast({ html: 'Complete: last.fm', displayLength: 3000 }) M.toast({ html: 'Complete: last.fm', displayLength: 3000 })
} }

View File

@@ -1,44 +1,44 @@
//ソートデータ読み込み //ソートデータ読み込み
function sortLoad () { function sortLoad () {
$("#sort").html(""); $("#sort").html("")
var col = localStorage.getItem("column"); var col = localStorage.getItem("column")
if (col) { if (col) {
var obj = JSON.parse(col); var obj = JSON.parse(col)
} }
Object.keys(obj).forEach(function (key) { Object.keys(obj).forEach(function (key) {
var acct = obj[key]; var acct = obj[key]
var flag = "false"; var flag = "false"
if (localStorage.getItem("card_" + key) == "true") { if (localStorage.getItem("card_" + key) == "true") {
flag = "true" flag = "true"
} }
var insert = ""; var insert = ""
if (acct.background) { if (acct.background) {
if (acct.text == "def") { if (acct.text == "def") {
} else { } else {
if (acct.text == "black") { if (acct.text == "black") {
var txhex = "000000"; var txhex = "000000"
} else if (acct.text == "white") { } 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 user = localStorage.getItem("user_" + acct.domain)
var domain = localStorage.getItem("domain_" + acct.domain); var domain = localStorage.getItem("domain_" + acct.domain)
if (!user || !domain) { if (!user || !domain) {
var acctdata = ""; var acctdata = ""
} else { } 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, 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="' + 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>'; ')" class="setting nex"><i class="material-icons waves-effect nex" title="このカラムを削除">cancel</i></a></div><div class="sortacct">' + acctdata + '</div></li>'
$("#sort").append(html); $("#sort").append(html)
}); })
drag(); drag()
} }
//TLのタイトル //TLのタイトル
@@ -62,59 +62,59 @@ function Scap(type, data) {
} else if (type == "tootsearch") { } else if (type == "tootsearch") {
return "tootsearch(" + data + ")" return "tootsearch(" + data + ")"
} else { } else {
console.error("unknown timeline type: " + type); console.error("unknown timeline type: " + type)
} }
} }
//jquery-ui依存 //jquery-ui依存
function drag() { function drag() {
$('#sort').sortable(); $('#sort').sortable()
$('#sort').disableSelection(); $('#sort').disableSelection()
} }
//ソート指定 //ソート指定
function sort() { function sort() {
var arr = []; var arr = []
var flags = []; var flags = []
$(".drag-content").each(function (i, elem) { $(".drag-content").each(function (i, elem) {
var id = $(this).attr("data-id"); var id = $(this).attr("data-id")
var flag = $(this).attr("data-flag"); var flag = $(this).attr("data-flag")
arr.push(id) arr.push(id)
flags.push(flag); flags.push(flag)
}); })
var col = localStorage.getItem("column"); var col = localStorage.getItem("column")
var obj = JSON.parse(col); var obj = JSON.parse(col)
var newobj = []; var newobj = []
for (i = 0; i < arr.length; i++) { for (i = 0; i < arr.length; i++) {
var data = obj[arr[i]]; var data = obj[arr[i]]
var add = { var add = {
domain: data.domain, domain: data.domain,
type: data.type, type: data.type,
data: data.data, data: data.data,
background: data.background, background: data.background,
text: data.text text: data.text
}; }
newobj.push(add); newobj.push(add)
if (flags[i] == "true") { if (flags[i] == "true") {
localStorage.setItem("card_" + i, "true"); localStorage.setItem("card_" + i, "true")
} else { } else {
localStorage.removeItem("card_" + i); localStorage.removeItem("card_" + i)
} }
} }
var json = JSON.stringify(newobj); var json = JSON.stringify(newobj)
localStorage.setItem("column", json); localStorage.setItem("column", json)
$("#sort").html(""); $("#sort").html("")
Mtoast({ html: "Sorted", displayLength: 3000 }) M.toast({ html: "Sorted", displayLength: 3000 })
sortLoad(); sortLoad()
parseColumn(); parseColumn()
sortMenu() sortMenu()
} }
//ソートボタントグル //ソートボタントグル
function sortMenu() { function sortMenu() {
$("#left-menu a").removeClass("active"); $("#left-menu a").removeClass("active")
$("#sortMenu").addClass("active"); $("#sortMenu").addClass("active")
$(".menu-content").addClass("hide"); $(".menu-content").addClass("hide")
$("#sort-box").removeClass("hide"); $("#sort-box").removeClass("hide")
$("#sort").html(""); $("#sort").html("")
sortLoad(); sortLoad()
} }

View File

@@ -1,30 +1,44 @@
function spotifyConnect() { 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 auth = 'https://spotify.thedesk.top/connect'
var platform = localStorage.getItem('platform') $('#spotify-code-show').removeClass('hide')
if (platform == 'win32') { postMessage(['openUrl', auth], '*')
postMessage(['openUrl', auth], '*')
postMessage(['sendSinmpleIpc', 'quit'], '*')
} else {
auth = auth + '&state=code'
$('#spotify-code-show').removeClass('hide')
postMessage(['openUrl', auth], '*')
}
} }
function spotifyAuth() { function spotifyAuth() {
var code = $('#spotify-code').val() var code = $('#spotify-code').val()
localStorage.setItem('spotify', 'code') localStorage.setItem('spotify-token', code)
localStorage.setItem('spotify-refresh', code)
$('#spotify-code-show').addClass('hide') $('#spotify-code-show').addClass('hide')
$('#spotify-enable').addClass('disabled') $('#spotify-enable').addClass('disabled')
$('#spotify-disable').removeClass('disabled') $('#spotify-disable').removeClass('disabled')
} }
function spotifyDisconnect() { function spotifyDisconnect() {
localStorage.removeItem('spotify') var start = 'https://spotify.thedesk.top/disconnect?code=' + localStorage.getItem('spotify-token')
localStorage.removeItem('spotify-refresh') fetch(start, {
checkSpotify() 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() { function checkSpotify() {
if (localStorage.getItem('spotify')) { if (localStorage.getItem('spotify-token')) {
$('#spotify-enable').addClass('disabled') $('#spotify-enable').addClass('disabled')
$('#spotify-disable').removeClass('disabled') $('#spotify-disable').removeClass('disabled')
} else { } else {
@@ -53,26 +67,26 @@ function spotifyFlagSave() {
var awk = $('[name=awk]:checked').val() var awk = $('[name=awk]:checked').val()
if (awk == 'yes') { if (awk == 'yes') {
localStorage.setItem('artwork', 'yes') localStorage.setItem('artwork', 'yes')
Mtoast({ html: lang.lang_spotify_img, displayLength: 3000 }) M.toast({ html: lang.lang_spotify_img, displayLength: 3000 })
} else { } else {
localStorage.removeItem('artwork') localStorage.removeItem('artwork')
Mtoast({ html: lang.lang_spotify_imgno, displayLength: 3000 }) M.toast({ html: lang.lang_spotify_imgno, displayLength: 3000 })
} }
} }
function aMusicFlagSave() { function aMusicFlagSave() {
var awk = $('[name=amw]:checked').val() var awk = $('[name=amw]:checked').val()
if (awk == 'yes') { if (awk == 'yes') {
localStorage.setItem('complete-artwork', 'yes') localStorage.setItem('complete-artwork', 'yes')
Mtoast({ html: lang.lang_spotify_img, displayLength: 3000 }) M.toast({ html: lang.lang_spotify_img, displayLength: 3000 })
} else { } else {
localStorage.removeItem('complete-artwork') localStorage.removeItem('complete-artwork')
Mtoast({ html: lang.lang_spotify_imgno, displayLength: 3000 }) M.toast({ html: lang.lang_spotify_imgno, displayLength: 3000 })
} }
} }
function nowplaying(mode) { function nowplaying(mode) {
if (mode == 'spotify') { if (mode == 'spotify') {
var start = 'https://thedesk.top/now-playing?at=' + localStorage.getItem('spotify') + '&rt=' + localStorage.getItem('spotify-refresh') var start = 'https://spotify.thedesk.top/current-playing?code=' + localStorage.getItem('spotify-token')
var at = localStorage.getItem('spotify') var at = localStorage.getItem('spotify-token')
if (at) { if (at) {
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
@@ -93,7 +107,10 @@ function nowplaying(mode) {
setLog(start, 'JSON', error) setLog(start, 'JSON', error)
console.error(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) console.table(json)
if (json.length < 1) { if (json.length < 1) {
return false return false
@@ -169,11 +186,10 @@ function nowplaying(mode) {
return false return false
} }
var item = json.recenttracks.track[0] var item = json.recenttracks.track[0]
if(!item['@attr']) return false if (!item['@attr']) return false
var img = item.image[3]['#text'] var img = item.image[3]['#text']
var isImg = item.streamable*1
var flag = localStorage.getItem('artwork') 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]], '*') postMessage(['bmpImage', [img, 0]], '*')
} }
var content = localStorage.getItem('np-temp') var content = localStorage.getItem('np-temp')
@@ -187,7 +203,7 @@ function nowplaying(mode) {
var regExp = new RegExp('{artist}', 'g') var regExp = new RegExp('{artist}', 'g')
content = content.replace(regExp, item.artist['#text']) content = content.replace(regExp, item.artist['#text'])
var regExp = new RegExp('{url}', 'g') var regExp = new RegExp('{url}', 'g')
content = content.replace(regExp,'') content = content.replace(regExp, '')
var regExp = new RegExp('{composer}', 'g') var regExp = new RegExp('{composer}', 'g')
content = content.replace(regExp, '') content = content.replace(regExp, '')
var regExp = new RegExp('{hz}', 'g') var regExp = new RegExp('{hz}', 'g')
@@ -267,7 +283,7 @@ async function npCore(arg) {
function spotifySave() { function spotifySave() {
var temp = $('#np-temp').val() var temp = $('#np-temp').val()
localStorage.setItem('np-temp', temp) localStorage.setItem('np-temp', temp)
Mtoast({ html: lang.lang_spotify_np, displayLength: 3000 }) M.toast({ html: lang.lang_spotify_np, displayLength: 3000 })
} }
if (location.search) { if (location.search) {
var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/) var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/)

View File

@@ -131,12 +131,8 @@ function trendTagonTip() {
spotint = null spotint = null
function spotifytips() { function spotifytips() {
if (spotint) clearInterval(spotint) if (spotint) clearInterval(spotint)
var start = var start = 'https://spotify.thedesk.top/current-playing?code=' + localStorage.getItem('spotify-token')
'https://thedesk.top/now-playing?at=' + var at = localStorage.getItem('spotify-token')
localStorage.getItem('spotify') +
'&rt=' +
localStorage.getItem('spotify-refresh')
var at = localStorage.getItem('spotify')
if (at) { if (at) {
fetch(start, { fetch(start, {
method: 'GET', method: 'GET',
@@ -157,7 +153,10 @@ function spotifytips() {
setLog(start, 'JSON', error) setLog(start, 'JSON', error)
console.error(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 var ms = json.progress_ms
if(!ms) { if(!ms) {
tips('ver') tips('ver')

File diff suppressed because it is too large Load Diff

View File

@@ -1,65 +1,65 @@
//プロフ編集 //プロフ編集
//文字系 //文字系
function profedit() { function profedit() {
var acct_id = $('#his-data').attr("use-acct"); var acct_id = $('#his-data').attr("use-acct")
todo("Updating..."); todo("Updating...")
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id)
var at = localStorage.getItem("acct_" + acct_id + "_at"); var at = localStorage.getItem("acct_" + acct_id + "_at")
var start = "https://" + domain + "/api/v1/accounts/update_credentials"; var start = "https://" + domain + "/api/v1/accounts/update_credentials"
var name = $("#his-name-val").val(); var name = $("#his-name-val").val()
var des = $("#his-des-val").val(); var des = $("#his-des-val").val()
var httpreq = new XMLHttpRequest(); var httpreq = new XMLHttpRequest()
httpreq.open('PATCH', start, true); httpreq.open('PATCH', start, true)
httpreq.setRequestHeader('Content-Type', 'application/json'); httpreq.setRequestHeader('Content-Type', 'application/json')
httpreq.setRequestHeader('Authorization', 'Bearer ' + at); httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = "json"; httpreq.responseType = "json"
httpreq.send(JSON.stringify({ httpreq.send(JSON.stringify({
display_name: name, display_name: name,
note: des, note: des,
})); }))
httpreq.onreadystatechange = function () { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
$('#his-data').modal('close'); $('#his-data').modal('close')
todc(); todc()
} }
} }
} }
//画像系 //画像系
function imgChange(imgfile, target) { function imgChange(imgfile, target) {
var acct_id = $('#his-data').attr("use-acct"); var acct_id = $('#his-data').attr("use-acct")
todo("アップロードしています") todo("アップロードしています")
if (!imgfile.files.length) { if (!imgfile.files.length) {
console.warn("No Image to upload"); console.warn("No Image to upload")
return; return
} }
var file = imgfile.files[0]; var file = imgfile.files[0]
var fr = new FileReader(); var fr = new FileReader()
fr.onload = function (evt) { fr.onload = function (evt) {
var b64 = this.result; var b64 = this.result
var blob = toBlob(b64, 'image/png'); var blob = toBlob(b64, 'image/png')
var fd = new FormData(); var fd = new FormData()
fd.append(target, blob); fd.append(target, blob)
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id)
var at = localStorage.getItem("acct_" + acct_id + "_at"); var at = localStorage.getItem("acct_" + acct_id + "_at")
var start = "https://" + domain + "/api/v1/accounts/update_credentials"; var start = "https://" + domain + "/api/v1/accounts/update_credentials"
var httpreq = new XMLHttpRequest(); var httpreq = new XMLHttpRequest()
httpreq.open('PATCH', start, true); httpreq.open('PATCH', start, true)
httpreq.upload.addEventListener("progress", progshow, false); httpreq.upload.addEventListener("progress", progshow, false)
httpreq.setRequestHeader('Authorization', 'Bearer ' + at); httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = "json"; httpreq.responseType = "json"
httpreq.send(fd); httpreq.send(fd)
httpreq.onreadystatechange = function () { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
var json = httpreq.response; var json = httpreq.response
if(this.status!==200){ setLog(start, this.status, this.response); } if(this.status!==200){ setLog(start, this.status, this.response) }
$('#his-data').modal('close'); $('#his-data').modal('close')
todc(); todc()
localStorage.removeItem("image"); localStorage.removeItem("image")
} }
} }
} }
$("#prof-change").html($("#prof-change").html()); $("#prof-change").html($("#prof-change").html())
$("#header-change").html($("#header-change").html()); $("#header-change").html($("#header-change").html())
fr.readAsDataURL(file); fr.readAsDataURL(file)
} }

View File

@@ -1,31 +1,31 @@
//ユーザーデータ表示 //ユーザーデータ表示
localStorage.removeItem("history"); localStorage.removeItem("history")
//コード受信 //コード受信
if (location.search) { if (location.search) {
var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/); var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/)
var mode = m[1]; var mode = m[1]
var codex = m[2]; var codex = m[2]
if (mode == "user") { if (mode == "user") {
udgEx(codex, "main"); udgEx(codex, "main")
} }
} }
function udgEx(user, acct_id) { function udgEx(user, acct_id) {
if (user == "selector") { if (user == "selector") {
user = $("#his-acct").attr("fullname"); user = $("#his-acct").attr("fullname")
} }
if (acct_id == "selector") { if (acct_id == "selector") {
acct_id = $("#user-acct-sel").val(); acct_id = $("#user-acct-sel").val()
} }
if (acct_id == "main") { if (acct_id == "main") {
acct_id = localStorage.getItem("main"); acct_id = localStorage.getItem("main")
} }
console.log("Get user data of " + user); console.log("Get user data of " + user)
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id)
if (localStorage.getItem("mode_" + domain) == "misskey") { if (localStorage.getItem("mode_" + domain) == "misskey") {
return false; return false
} }
var at = localStorage.getItem("acct_" + acct_id + "_at"); var at = localStorage.getItem("acct_" + acct_id + "_at")
var start = "https://" + domain + "/api/v2/search?resolve=true&q=" + encodeURIComponent(user); var start = "https://" + domain + "/api/v2/search?resolve=true&q=" + encodeURIComponent(user)
fetch(start, { fetch(start, {
method: "GET", method: "GET",
headers: { headers: {
@@ -36,39 +36,39 @@ function udgEx(user, acct_id) {
.then(function(response) { .then(function(response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { 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) { .catch(function(error) {
todo(error); todo(error)
setLog(start, "JSON", error); setLog(start, "JSON", error)
console.error(error); console.error(error)
}) })
.then(function(json) { .then(function(json) {
if (json.accounts[0]) { if (json.accounts[0]) {
var id = json.accounts[0].id; var id = json.accounts[0].id
udg(id, acct_id); udg(id, acct_id)
} else { } else {
postMessage(["openUrl", user], "*"); postMessage(["openUrl", user], "*")
} }
}); })
return true; return true
} }
function udg(user, acct_id) { function udg(user, acct_id) {
reset(); reset()
if (!user) { if (!user) {
user = localStorage.getItem("user-id_" + acct_id); user = localStorage.getItem("user-id_" + acct_id)
} }
todo("User Data Loading..."); todo("User Data Loading...")
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id)
if (localStorage.getItem("mode_" + domain) == "misskey") { if (localStorage.getItem("mode_" + domain) == "misskey") {
misskeyUdg(user, acct_id); misskeyUdg(user, acct_id)
return; return
} }
var at = localStorage.getItem("acct_" + acct_id + "_at"); var at = localStorage.getItem("acct_" + acct_id + "_at")
var start = "https://" + domain + "/api/v1/accounts/" + user; var start = "https://" + domain + "/api/v1/accounts/" + user
fetch(start, { fetch(start, {
method: "GET", method: "GET",
headers: { headers: {
@@ -79,188 +79,188 @@ function udg(user, acct_id) {
.then(function(response) { .then(function(response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { 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) { .catch(function(error) {
todo(error); todo(error)
setLog(start, "JSON", error); setLog(start, "JSON", error)
console.error(error); console.error(error)
}) })
.then(function(json) { .then(function(json) {
//一つ前のユーザーデータ //一つ前のユーザーデータ
if (!localStorage.getItem("history")) { if (!localStorage.getItem("history")) {
$("#his-history-btn").prop("disabled", true); $("#his-history-btn").prop("disabled", true)
} else { } else {
$("#his-history-btn").prop("disabled", false); $("#his-history-btn").prop("disabled", false)
$("#his-data").attr("history", localStorage.getItem("history")); $("#his-data").attr("history", localStorage.getItem("history"))
} }
//moved設定時 //moved設定時
if (json.moved) { if (json.moved) {
Mtoast({ 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>", 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 displayLength: 4000
}); })
} }
$("#his-data").modal("open"); $("#his-data").modal("open")
$("#his-data").attr("user-id", user); $("#his-data").attr("user-id", user)
$("#his-data").attr("use-acct", acct_id); $("#his-data").attr("use-acct", acct_id)
if (json.username != json.acct) { if (json.username != json.acct) {
//Remote //Remote
$("#his-data").attr("remote", "true"); $("#his-data").attr("remote", "true")
var fullname = json.acct; var fullname = json.acct
} else { } else {
$("#his-data").attr("remote", "false"); $("#his-data").attr("remote", "false")
var fullname = json.acct + "@" + domain; var fullname = json.acct + "@" + domain
} }
utlShow(json.id, "", acct_id); utlShow(json.id, "", acct_id)
flw(json.id, "", acct_id); flw(json.id, "", acct_id)
fer(json.id, "", acct_id); fer(json.id, "", acct_id)
var dis_name = escapeHTML(json.display_name); var dis_name = escapeHTML(json.display_name)
dis_name = twemoji.parse(dis_name); dis_name = twemoji.parse(dis_name)
var note = json.note; var note = json.note
if (json.emojis) { if (json.emojis) {
var actemojick = json.emojis[0]; var actemojick = json.emojis[0]
} else { } else {
var actemojick = false; var actemojick = false
} }
//絵文字があれば //絵文字があれば
if (actemojick) { if (actemojick) {
Object.keys(json.emojis).forEach(function(key5) { Object.keys(json.emojis).forEach(function(key5) {
var emoji = json.emojis[key5]; var emoji = json.emojis[key5]
var shortcode = emoji.shortcode; var shortcode = emoji.shortcode
var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" draggable="false">'; var emoji_url = '<img src="' + emoji.url + '" class="emoji-img" data-emoji="' + shortcode + '" draggable="false">'
var regExp = new RegExp(":" + shortcode + ":", "g"); var regExp = new RegExp(":" + shortcode + ":", "g")
dis_name = dis_name.replace(regExp, emoji_url); dis_name = dis_name.replace(regExp, emoji_url)
note = note.replace(regExp, emoji_url); note = note.replace(regExp, emoji_url)
}); })
} }
//noteの解析 //noteの解析
//var tags = '<a onclick="tl(\'tag\',\'$1\',' + acct_id +',\'add\')" class="pointer parsed">#$1</a>'; //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>'; //var mens = '<a onclick="udgEx(\'$1\',' + acct_id +')" class="pointer parsed">@$1</a>';
//note=note.replace(/#(\S+)/gi, tags) //note=note.replace(/#(\S+)/gi, tags)
//note=note.replace(/\s@([a-zA-Z_0-9@.-]+)/gi, mens) //note=note.replace(/\s@([a-zA-Z_0-9@.-]+)/gi, mens)
$("#his-name").html(dis_name); $("#his-name").html(dis_name)
$("#his-acct").text(json.acct); $("#his-acct").text(json.acct)
$("#his-acct").attr("fullname", fullname); $("#his-acct").attr("fullname", fullname)
$("#his-prof").attr("src", json.avatar); $("#his-prof").attr("src", json.avatar)
$("#his-data").css("background-image", "url(" + json.header + ")"); $("#his-data").css("background-image", "url(" + json.header + ")")
$("#his-sta").text(json.statuses_count); $("#his-sta").text(json.statuses_count)
$("#his-follow").text(json.following_count); $("#his-follow").text(json.following_count)
var flerc = json.followers_count; var flerc = json.followers_count
if (flerc < 0) { if (flerc < 0) {
flerc = "-"; flerc = "-"
} }
$("#his-follower").text(flerc); $("#his-follower").text(flerc)
$("#his-since").text(crat(json.created_at)); $("#his-since").text(crat(json.created_at))
$("#his-openin").attr("data-href", json.url); $("#his-openin").attr("data-href", json.url)
if (json.fields) { if (json.fields) {
var table = ""; var table = ""
if (json.fields.length > 0) { if (json.fields.length > 0) {
$("#his-des").css("max-height", "250px"); $("#his-des").css("max-height", "250px")
table = '<table id="his-field">'; table = '<table id="his-field">'
for (var i = 0; i < json.fields.length; i++) { for (var i = 0; i < json.fields.length; i++) {
var fname = json.fields[i].name; var fname = json.fields[i].name
var fval = json.fields[i].value; var fval = json.fields[i].value
if (json.fields[i].verified_at) { if (json.fields[i].verified_at) {
var when = lang.lang_showontl_verified + ":" + crat(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 color = "rgba(121,189,154,.25);"
} else { } else {
var when = ""; var when = ""
var color = "inherit"; 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>"; table = table + "</table>"
$("#his-des").html(twemoji.parse(note)); $("#his-des").html(twemoji.parse(note))
} else { } 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 { } 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) { 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-des").attr("data-acct", acct_id)
$("#his-data").css("background-size", "cover"); $("#his-data").css("background-size", "cover")
$("#his-float-timeline").css("height", $("#his-data-show").height() + "px"); $("#his-float-timeline").css("height", $("#his-data-show").height() + "px")
localStorage.setItem("history", user); localStorage.setItem("history", user)
//自分の時 //自分の時
if (json.acct == localStorage.getItem("user_" + acct_id)) { if (json.acct == localStorage.getItem("user_" + acct_id)) {
showFav("", acct_id); showFav("", acct_id)
showBlo("", acct_id); showBlo("", acct_id)
showMut("", acct_id); showMut("", acct_id)
showDom("", acct_id); showDom("", acct_id)
showReq("", acct_id); showReq("", acct_id)
showFrl("", acct_id); showFrl("", acct_id)
$("#his-name-val").val(json.display_name); $("#his-name-val").val(json.display_name)
if (json.fields.length > 0) { if (json.fields.length > 0) {
if (json.fields[0]) { if (json.fields[0]) {
$("#his-f1-name").val(json.fields[0].name); $("#his-f1-name").val(json.fields[0].name)
$("#his-f1-val").val($.strip_tags(json.fields[0].value)); $("#his-f1-val").val($.strip_tags(json.fields[0].value))
} }
if (json.fields[1]) { if (json.fields[1]) {
$("#his-f2-name").val(json.fields[1].name); $("#his-f2-name").val(json.fields[1].name)
$("#his-f2-val").val($.strip_tags(json.fields[1].value)); $("#his-f2-val").val($.strip_tags(json.fields[1].value))
} }
if (json.fields[2]) { if (json.fields[2]) {
$("#his-f3-name").val(json.fields[2].name); $("#his-f3-name").val(json.fields[2].name)
$("#his-f3-val").val($.strip_tags(json.fields[2].value)); $("#his-f3-val").val($.strip_tags(json.fields[2].value))
} }
if (json.fields[3]) { if (json.fields[3]) {
$("#his-f4-name").val(json.fields[3].name); $("#his-f4-name").val(json.fields[3].name)
$("#his-f4-val").val($.strip_tags(json.fields[3].value)); $("#his-f4-val").val($.strip_tags(json.fields[3].value))
} }
} }
var des = json.note; var des = json.note
des = des.replace(/<br \/>/g, "\n"); des = des.replace(/<br \/>/g, "\n")
des = $.strip_tags(des); des = $.strip_tags(des)
$("#his-des-val").val(des); $("#his-des-val").val(des)
$("#his-follow-btn").hide(); $("#his-follow-btn").hide()
$("#his-block-btn").hide(); $("#his-block-btn").hide()
$("#his-mute-btn").hide(); $("#his-mute-btn").hide()
$("#his-notf-btn").hide(); $("#his-notf-btn").hide()
$("#his-domain-btn").hide(); $("#his-domain-btn").hide()
$("#his-emp-btn").hide(); $("#his-emp-btn").hide()
$(".only-my-data").show(); $(".only-my-data").show()
$(".only-his-data").hide(); $(".only-his-data").hide()
if (localStorage.getItem("main") == acct_id) { if (localStorage.getItem("main") == acct_id) {
$("#his-main-acct").hide(); $("#his-main-acct").hide()
} }
} else { } else {
relations(user, acct_id); relations(user, acct_id)
$(".only-my-data").hide(); $(".only-my-data").hide()
$(".only-his-data").show(); $(".only-his-data").show()
} }
todc(); todc()
if(json.locked) { if(json.locked) {
$('#his-data').addClass('locked') $('#his-data').addClass('locked')
} else { } else {
$('#his-data').removeClass('locked') $('#his-data').removeClass('locked')
} }
//外部データ取得(死かもしれないので) //外部データ取得(死かもしれないので)
udAdd(acct_id, user, json.url); udAdd(acct_id, user, json.url)
}); })
} }
function misskeyUdg(user, acct_id) { function misskeyUdg(user, acct_id) {
reset(); reset()
if (!user) { if (!user) {
user = localStorage.getItem("user-id_" + acct_id); user = localStorage.getItem("user-id_" + acct_id)
} }
todo("User Data Loading..."); todo("User Data Loading...")
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id)
if (localStorage.getItem("mode_" + domain) != "misskey") { if (localStorage.getItem("mode_" + domain) != "misskey") {
udg(user, acct_id); udg(user, acct_id)
return; return
} }
var at = localStorage.getItem("acct_" + acct_id + "_at"); var at = localStorage.getItem("acct_" + acct_id + "_at")
var start = "https://" + domain + "/api/users/show"; var start = "https://" + domain + "/api/users/show"
fetch(start, { fetch(start, {
method: "POST", method: "POST",
headers: { headers: {
@@ -274,127 +274,127 @@ function misskeyUdg(user, acct_id) {
.then(function(response) { .then(function(response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { 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) { .catch(function(error) {
todo(error); todo(error)
setLog(start, "JSON", error); setLog(start, "JSON", error)
console.error(error); console.error(error)
}) })
.then(function(json) { .then(function(json) {
//一つ前のユーザーデータ //一つ前のユーザーデータ
if (!localStorage.getItem("history")) { if (!localStorage.getItem("history")) {
$("#his-history-btn").prop("disabled", true); $("#his-history-btn").prop("disabled", true)
} else { } else {
$("#his-history-btn").prop("disabled", false); $("#his-history-btn").prop("disabled", false)
$("#his-data").attr("history", localStorage.getItem("history")); $("#his-data").attr("history", localStorage.getItem("history"))
} }
$("#his-data").modal("open"); $("#his-data").modal("open")
$("#his-data").attr("user-id", user); $("#his-data").attr("user-id", user)
$("#his-data").attr("use-acct", acct_id); $("#his-data").attr("use-acct", acct_id)
if (json.host) { if (json.host) {
//Remote //Remote
$("#his-data").attr("remote", "false"); $("#his-data").attr("remote", "false")
var fullname = json.username + "@" + json.host; var fullname = json.username + "@" + json.host
} else { } else {
$("#his-data").attr("remote", "false"); $("#his-data").attr("remote", "false")
var fullname = json.acct + "@" + domain; var fullname = json.acct + "@" + domain
} }
utlShow(json.id, "", acct_id); utlShow(json.id, "", acct_id)
flw(json.id, "", acct_id); flw(json.id, "", acct_id)
fer(json.id, "", acct_id); fer(json.id, "", acct_id)
if (json.name) { if (json.name) {
var dis_name = escapeHTML(json.name); var dis_name = escapeHTML(json.name)
dis_name = twemoji.parse(dis_name); dis_name = twemoji.parse(dis_name)
} else { } else {
var dis_name = json.name; var dis_name = json.name
} }
$("#his-name").html(dis_name); $("#his-name").html(dis_name)
$("#his-acct").text(json.username); $("#his-acct").text(json.username)
$("#his-acct").attr("fullname", fullname); $("#his-acct").attr("fullname", fullname)
$("#his-prof").attr("src", json.avatarUrl); $("#his-prof").attr("src", json.avatarUrl)
$("#his-data").css("background-image", "url(" + json.bannerUrl + ")"); $("#his-data").css("background-image", "url(" + json.bannerUrl + ")")
$("#his-sta").text(json.notesCount); $("#his-sta").text(json.notesCount)
$("#his-follow").text(json.followingCount); $("#his-follow").text(json.followingCount)
$("#his-follower").text(json.followersCount); $("#his-follower").text(json.followersCount)
$("#his-since").text(crat(json.createdAt)); $("#his-since").text(crat(json.createdAt))
var note = escapeHTML(json.description); var note = escapeHTML(json.description)
$("#his-des").html(twemoji.parse(note)); $("#his-des").html(twemoji.parse(note))
if (json.isCat) { if (json.isCat) {
$("#his-bot").html("Cat" + twemoji.parse("😺")); $("#his-bot").html("Cat" + twemoji.parse("😺"))
} }
$("#his-data").css("background-size", "cover"); $("#his-data").css("background-size", "cover")
localStorage.setItem("history", user); localStorage.setItem("history", user)
//自分の時 //自分の時
if (json.username == localStorage.getItem("user_" + acct_id) && !json.host) { if (json.username == localStorage.getItem("user_" + acct_id) && !json.host) {
//showFav('', acct_id); //showFav('', acct_id);
//showMut('', acct_id); //showMut('', acct_id);
//showReq('', acct_id); //showReq('', acct_id);
showFrl("", acct_id); showFrl("", acct_id)
$("#his-name-val").val(json.name); $("#his-name-val").val(json.name)
var des = json.note; var des = json.note
des = nl2br(des); des = nl2br(des)
des = $.strip_tags(des); des = $.strip_tags(des)
$("#his-des-val").val(des); $("#his-des-val").val(des)
$("#his-follow-btn").hide(); $("#his-follow-btn").hide()
$("#his-block-btn").hide(); $("#his-block-btn").hide()
$("#his-mute-btn").hide(); $("#his-mute-btn").hide()
$("#his-notf-btn").hide(); $("#his-notf-btn").hide()
$("#his-domain-btn").hide(); $("#his-domain-btn").hide()
$("#his-emp-btn").hide(); $("#his-emp-btn").hide()
$(".only-my-data").show(); $(".only-my-data").show()
$(".only-his-data").hide(); $(".only-his-data").hide()
if (localStorage.getItem("main") == acct_id) { if (localStorage.getItem("main") == acct_id) {
$("#his-main-acct").hide(); $("#his-main-acct").hide()
} }
} else { } else {
if (json.isFollowing) { if (json.isFollowing) {
//自分がフォローしている //自分がフォローしている
$("#his-data").addClass("following"); $("#his-data").addClass("following")
$("#his-follow-btn-text").text(lang.lang_status_unfollow); $("#his-follow-btn-text").text(lang.lang_status_unfollow)
hisList(user, acct_id); hisList(user, acct_id)
} else { } else {
$("#his-follow-btn-text").text(lang.lang_status_follow); $("#his-follow-btn-text").text(lang.lang_status_follow)
} }
if (json.isFollowed) { 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) { if (json.isMuted) {
$("#his-data").addClass("muting"); $("#his-data").addClass("muting")
$("#his-mute-btn-text").text(lang.lang_status_unmute); $("#his-mute-btn-text").text(lang.lang_status_unmute)
} else { } else {
$("#his-mute-btn-text").text(lang.lang_status_mute); $("#his-mute-btn-text").text(lang.lang_status_mute)
} }
$(".only-my-data").hide(); $(".only-my-data").hide()
$(".only-his-data").show(); $(".only-his-data").show()
} }
todc(); todc()
}); })
} }
//一つ前のユーザーデータ表示 //一つ前のユーザーデータ表示
function historyShow() { function historyShow() {
var acct_id = $("#his-data").attr("use-acct"); var acct_id = $("#his-data").attr("use-acct")
var user = $("#his-data").attr("history"); var user = $("#his-data").attr("history")
udg(user, acct_id, "true"); udg(user, acct_id, "true")
} }
//選択アカウントのプロフ //選択アカウントのプロフ
function profShow() { function profShow() {
var acct_id = $("#post-acct-sel").val(); var acct_id = $("#post-acct-sel").val()
var user = localStorage.getItem("user-id_" + acct_id); var user = localStorage.getItem("user-id_" + acct_id)
udg(user, acct_id); udg(user, acct_id)
hide(); hide()
} }
//FF関係取得 //FF関係取得
function relations(user, acct_id) { function relations(user, acct_id) {
var domain = localStorage.getItem("domain_" + acct_id); var domain = localStorage.getItem("domain_" + acct_id)
var at = localStorage.getItem("acct_" + acct_id + "_at"); var at = localStorage.getItem("acct_" + acct_id + "_at")
var start = "https://" + domain + "/api/v1/accounts/relationships?id=" + user; var start = "https://" + domain + "/api/v1/accounts/relationships?id=" + user
fetch(start, { fetch(start, {
method: "GET", method: "GET",
headers: { headers: {
@@ -405,18 +405,18 @@ function relations(user, acct_id) {
.then(function(response) { .then(function(response) {
if (!response.ok) { if (!response.ok) {
response.text().then(function(text) { 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) { .catch(function(error) {
todo(error); todo(error)
setLog(start, "JSON", error); setLog(start, "JSON", error)
console.error(error); console.error(error)
}) })
.then(function(json) { .then(function(json) {
var json = json[0]; var json = json[0]
if(json.requested) { if(json.requested) {
//フォロリク中 //フォロリク中
$('#his-data').addClass('following') $('#his-data').addClass('following')
@@ -425,138 +425,138 @@ function relations(user, acct_id) {
if (json.following) { if (json.following) {
//自分がフォローしている //自分がフォローしている
$("#his-data").addClass("following") $("#his-data").addClass("following")
$("#his-follow-btn-text").text(lang.lang_status_unfollow); $("#his-follow-btn-text").text(lang.lang_status_unfollow)
hisList(user, acct_id); hisList(user, acct_id)
} else { } else {
$("#his-follow-btn-text").text(lang.lang_status_follow); $("#his-follow-btn-text").text(lang.lang_status_follow)
} }
if (json.followed_by) { if (json.followed_by) {
//フォローされてる //フォローされてる
$("#his-relation").text(lang.lang_showontl_followed); $("#his-relation").text(lang.lang_showontl_followed)
} }
if (json.blocking) { if (json.blocking) {
$("#his-data").addClass("blocking"); $("#his-data").addClass("blocking")
$("#his-block-btn-text").text(lang.lang_status_unblock); $("#his-block-btn-text").text(lang.lang_status_unblock)
} else { } else {
$("#his-block-btn-text").text(lang.lang_status_block); $("#his-block-btn-text").text(lang.lang_status_block)
} }
if (json.muting) { if (json.muting) {
$("#his-data").addClass("muting"); $("#his-data").addClass("muting")
$("#his-mute-btn-text").text(lang.lang_status_unmute); $("#his-mute-btn-text").text(lang.lang_status_unmute)
} else { } else {
$("#his-mute-btn-text").text(lang.lang_status_mute); $("#his-mute-btn-text").text(lang.lang_status_mute)
} }
if (json.muting_notifications) { if (json.muting_notifications) {
$("#his-data").addClass("mutingNotf"); $("#his-data").addClass("mutingNotf")
$("#his-notf-btn-text").text(lang.lang_showontl_notf + lang.lang_status_unmute); $("#his-notf-btn-text").text(lang.lang_showontl_notf + lang.lang_status_unmute)
} else { } 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) { if (json.domain_blocking) {
$("#his-data").addClass("blockingDom"); $("#his-data").addClass("blockingDom")
$("#his-domain-btn-text").text(lang.lang_showontl_domain + lang.lang_status_unblock); $("#his-domain-btn-text").text(lang.lang_showontl_domain + lang.lang_status_unblock)
} else { } 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 //Endorsed
if (json.endorsed) { if (json.endorsed) {
$("#his-end-btn").addClass("endorsed"); $("#his-end-btn").addClass("endorsed")
$("#his-end-btn-text").text(lang.lang_status_unendorse); $("#his-end-btn-text").text(lang.lang_status_unendorse)
} else { } else {
$("#his-end-btn").removeClass("endorsed"); $("#his-end-btn").removeClass("endorsed")
$("#his-end-btn-text").text(lang.lang_status_endorse); $("#his-end-btn-text").text(lang.lang_status_endorse)
} }
//Blocked //Blocked
if (json.blocked_by) { if (json.blocked_by) {
$("#my-data-nav .btn").addClass("disabled"); $("#my-data-nav .btn").addClass("disabled")
$(".his-var-content").hide(); $(".his-var-content").hide()
$("#his-float-blocked").show(); $("#his-float-blocked").show()
$("#his-follow-btn").hide(); $("#his-follow-btn").hide()
} }
}); })
} }
function profbrws() { function profbrws() {
var url = $("#his-openin").attr("data-href"); var url = $("#his-openin").attr("data-href")
postMessage(["openUrl", url], "*"); postMessage(["openUrl", url], "*")
} }
function setMain() { function setMain() {
var acct_id = $("#his-data").attr("use-acct"); var acct_id = $("#his-data").attr("use-acct")
localStorage.setItem("main", acct_id); localStorage.setItem("main", acct_id)
multiSelector(true); multiSelector(true)
Mtoast({ html: lang.lang_manager_mainAcct, displayLength: 3000 }); M.toast({ html: lang.lang_manager_mainAcct, displayLength: 3000 })
} }
//オールリセット //オールリセット
function hisclose() { function hisclose() {
$("#his-data").modal("close"); $("#his-data").modal("close")
reset(); reset()
$("#his-data").attr("history", ""); $("#his-data").attr("history", "")
localStorage.removeItem("history"); localStorage.removeItem("history")
} }
function reset() { function reset() {
$(".his-var-content:eq(0)").show(); $(".his-var-content:eq(0)").show()
$(".his-var-content:gt(0)").hide(); $(".his-var-content:gt(0)").hide()
$("#my-data-nav .btn").removeClass("disabled"); $("#my-data-nav .btn").removeClass("disabled")
$(".active-back").removeClass("active-back"); $(".active-back").removeClass("active-back")
$(".column-first").addClass("active-back"); $(".column-first").addClass("active-back")
$("#his-name").text("Loading"); $("#his-name").text("Loading")
$("#his-acct").text(""); $("#his-acct").text("")
$("#his-prof").attr("src", "../../img/loading.svg"); $("#his-prof").attr("src", "../../img/loading.svg")
$("#his-data").css("background-image", "url(../../img/loading.svg)"); $("#his-data").css("background-image", "url(../../img/loading.svg)")
$("#his-sta").text(""); $("#his-sta").text("")
$("#his-follow").text(""); $("#his-follow").text("")
$("#his-follower").text(""); $("#his-follower").text("")
$("#his-des").html(""); $("#his-des").html("")
$("#his-data").css("background-size", "cover"); $("#his-data").css("background-size", "cover")
$("#his-since").text(""); $("#his-since").text("")
$("#his-data").removeClass("following"); $("#his-data").removeClass("following")
$("#his-data").removeClass("muting"); $("#his-data").removeClass("muting")
$("#his-data").removeClass("blocking"); $("#his-data").removeClass("blocking")
$("#his-data").removeClass("mutingNotf"); $("#his-data").removeClass("mutingNotf")
$("#his-data").removeClass("blockingDom"); $("#his-data").removeClass("blockingDom")
$("#his-end-btn").removeClass("endorsed"); $("#his-end-btn").removeClass("endorsed")
$("#his-des").css("max-height", "250px"); $("#his-des").css("max-height", "250px")
$("#his-bot").html(""); $("#his-bot").html("")
$("#his-follow-btn").show(); $("#his-follow-btn").show()
$("#his-block-btn").show(); $("#his-block-btn").show()
$("#his-mute-btn").show(); $("#his-mute-btn").show()
$("#his-notf-btn").show(); $("#his-notf-btn").show()
$("#his-domain-btn").show(); $("#his-domain-btn").show()
$("#his-emp-btn").show(); $("#his-emp-btn").show()
$("#his-follow-btn-text").text(lang.lang_status_follow); $("#his-follow-btn-text").text(lang.lang_status_follow)
$("#his-mute-btn-text").text(lang.lang_status_mute); $("#his-mute-btn-text").text(lang.lang_status_mute)
$("#his-block-btn-text").text(lang.lang_status_block); $("#his-block-btn-text").text(lang.lang_status_block)
$("#his-notf-btn").text(lang.lang_showontl_notf + lang.lang_status_mute); $("#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-domain-btn").text(lang.lang_showontl_domain + lang.lang_status_block)
$("#his-relation").text(""); $("#his-relation").text("")
$(".cont-series").html(""); $(".cont-series").html("")
$("#domainblock").val(""); $("#domainblock").val("")
$("#his-lists-a").html(lang.lang_showontl_listwarn); $("#his-lists-a").html(lang.lang_showontl_listwarn)
$("#his-lists-b").html(""); $("#his-lists-b").html("")
$("#his-name-val").val(""); $("#his-name-val").val("")
$("#his-des-val").val(""); $("#his-des-val").val("")
$("#his-f1-name").val(""); $("#his-f1-name").val("")
$("#his-f1-val").val(""); $("#his-f1-val").val("")
$("#his-f2-name").val(""); $("#his-f2-name").val("")
$("#his-f2-val").val(""); $("#his-f2-val").val("")
$("#his-f3-name").val(""); $("#his-f3-name").val("")
$("#his-f3-val").val(""); $("#his-f3-val").val("")
$("#his-f4-name").val(""); $("#his-f4-name").val("")
$("#his-f4-val").val(""); $("#his-f4-val").val("")
$("#his-endorse").html(""); $("#his-endorse").html("")
$("#his-openin").attr("data-href", ""); $("#his-openin").attr("data-href", "")
$("#his-float-timeline").show(); $("#his-float-timeline").show()
$("#his-float-blocked").hide(); $("#his-float-blocked").hide()
$("#his-main-acct").show(); $("#his-main-acct").show()
$("#his-proof-prof").html(""); $("#his-proof-prof").html("")
$('#his-data').removeClass('locked') $('#his-data').removeClass('locked')
$('#his-data').removeClass('requesting') $('#his-data').removeClass('requesting')
} }
$("#my-data-nav .anc-link").on("click", function() { $("#my-data-nav .anc-link").on("click", function() {
var target = $(this).attr("go"); var target = $(this).attr("go")
if (target) { if (target) {
$("#my-data-nav .anc-link").removeClass("active-back"); $("#my-data-nav .anc-link").removeClass("active-back")
$(this).addClass("active-back"); $(this).addClass("active-back")
$(target).show(); $(target).show()
$(".his-var-content:not(" + target + ")").hide(); $(".his-var-content:not(" + target + ")").hide()
} }
}); })

View File

@@ -28,6 +28,7 @@ function dl(mainWindow, lang_path, base, dirname) {
show: false show: false
}) })
var lang = fs.readFileSync(lang_path, 'utf8') var lang = fs.readFileSync(lang_path, 'utf8')
//updatewin.toggleDevTools()
updatewin.loadURL(base + lang + '/update.html') updatewin.loadURL(base + lang + '/update.html')
updatewin.webContents.once('dom-ready', () => { updatewin.webContents.once('dom-ready', () => {
updatewin.show() updatewin.show()

View File

@@ -1,5 +1,4 @@
[ [
"TheDeskは自称ステイホームの必須アイテム",
"あと数秒でPCのファンが全力で回り始める", "あと数秒でPCのファンが全力で回り始める",
"カラムの数だけ夢があるがネットワークは逼迫する", "カラムの数だけ夢があるがネットワークは逼迫する",
"朝起きたらストリーミングが止まっていた…", "朝起きたらストリーミングが止まっていた…",
@@ -50,5 +49,11 @@
"N押すとトゥートのボックスが出て、すぐ打ち込める。", "N押すとトゥートのボックスが出て、すぐ打ち込める。",
"Xを押すとトゥートのボックスは出るけど、打ち込めない。その代わりもう一度押すと消せる。", "Xを押すとトゥートのボックスは出るけど、打ち込めない。その代わりもう一度押すと消せる。",
"トゥートした後ボックスを閉じるとかそのままにしておくとかは、設定で変えられます。", "トゥートした後ボックスを閉じるとかそのままにしておくとかは、設定で変えられます。",
"ヌァ=スコ゜、ケエンョ゛ハー゛オセム゛ヌトョ!。シレモゥチャスモハァーワ」。チスョ「ラネ゛ワフン(ァクミス" "OpenStickerへの登録データ募集中",
"Microsoft Store版のアップデートは向こうに止められてます",
"いのちの輝き版ロゴ",
"いのちの輝き版ロゴ",
"いのちの輝き版ロゴ",
"いのちの輝き版ロゴ",
"いのちの輝き版ロゴ"
] ]

View File

@@ -6,6 +6,7 @@
<link href="./css/tl.css" type="text/css" rel="stylesheet" /> <link href="./css/tl.css" type="text/css" rel="stylesheet" />
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" 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"> <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> <title>TheDesk Nano</title>
<style> <style>
html { html {
@@ -82,12 +83,16 @@
.cvo { .cvo {
grid-template-rows: auto 1rem 1fr auto 2rem; grid-template-rows: auto 1rem 1fr auto 2rem;
} }
.voice {
display: none;
}
</style> </style>
</head> </head>
<body> <body>
<script type="text/javascript" src="./node_modules/jquery/dist/jquery.js"></script> <script type="text/javascript" src="./node_modules/jquery/dist/jquery.js"></script>
<script> <script>
var pwa = false
$.strip_tags = function(str, allowed) { $.strip_tags = function(str, allowed) {
if (!str) { if (!str) {
return ""; return "";
@@ -141,7 +146,7 @@
} }
</script> </script>
<script src="https://twemoji.maxcdn.com/2/twemoji.min.js?2.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/status.js"></script>
<script type="text/javascript" src="./js/post/post.js"></script> <script type="text/javascript" src="./js/post/post.js"></script>
<script type="text/javascript" src="./js/post/use-txtbox.js"></script> <script type="text/javascript" src="./js/post/use-txtbox.js"></script>

View File

@@ -75,7 +75,7 @@
</head> </head>
<body class="center" style="overflow: hidden;"> <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> <h1>TheDesk</h1>
<span id="ver"></span><br /> <span id="ver"></span><br />
<span class="loading"></span><br /> <span class="loading"></span><br />
@@ -84,11 +84,12 @@
<script> <script>
if (location.search) { if (location.search) {
var m = location.search.match(/\?ver=([0-9.]+)&codename=([a-zA-Z]+)&maxim=(.+)/) 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 ver = m[1]
var code = m[2] var code = m[2]
var maxim = m[3]
document.getElementById('ver').innerText = `${ver}(${code})` document.getElementById('ver').innerText = `${ver}(${code})`
document.getElementById('maxim').innerText = `${decodeURI(maxim)}` document.getElementById('maxim').innerText = maxim
} }
</script> </script>
</div> </div>

View File

@@ -1,6 +1,6 @@
{ {
"name": "thedesk", "name": "thedesk",
"version": "21.0.4", "version": "21.1.1",
"codename": "Mayu", "codename": "Mayu",
"description": "TheDesk is a Mastodon client for PC.", "description": "TheDesk is a Mastodon client for PC.",
"repository": "https://github.com/cutls/TheDesk", "repository": "https://github.com/cutls/TheDesk",
@@ -15,7 +15,9 @@
"build": "node view/make/make.js --automatic && npx electron-builder", "build": "node view/make/make.js --automatic && npx electron-builder",
"build:all": "npx electron-builder --win --linux", "build:all": "npx electron-builder --win --linux",
"build:win": "npx electron-builder --win", "build:win": "npx electron-builder --win",
"build:pwa": "node view/make/make.js --automatic --pwa" "build:pwa": "node view/make/make.js --automatic --pwa",
"lint:fix": "eslint js --fix" ,
"lint": "eslint js"
}, },
"keywords": [ "keywords": [
"mastodon", "mastodon",
@@ -33,7 +35,8 @@
"url": "https://cutls.dev", "url": "https://cutls.dev",
"email": "p@cutls.com" "email": "p@cutls.com"
}, },
"contributor": [{ "contributor": [
{
"name": "とねぢ", "name": "とねぢ",
"url": "https://minohdon.jp/@toneji", "url": "https://minohdon.jp/@toneji",
"email": "solfa.tono@gmail.com" "email": "solfa.tono@gmail.com"
@@ -51,17 +54,17 @@
], ],
"license": "GPL-3.0", "license": "GPL-3.0",
"dependencies": { "dependencies": {
"@fortawesome/fontawesome-free": "^5.13.1", "@fortawesome/fontawesome-free": "^5.14.0",
"custom-electron-titlebar": "^3.2.2-hotfix62", "custom-electron-titlebar": "^3.2.3",
"electron-dl": "^3.0.1", "electron-dl": "^3.0.1",
"jimp": "^0.14.0", "jimp": "^0.14.0",
"jquery": "^3.5.1", "jquery": "^3.5.1",
"jquery-ui-dist": "^1.12.1", "jquery-ui-dist": "^1.12.1",
"json5": "^2.1.3", "json5": "^2.1.3",
"lodash": "^4.17.15", "lodash": "^4.17.19",
"materialize-css": "git://github.com/cutls/materialize#v1-dev", "materialize-css": "git://github.com/cutls/materialize#v1-dev",
"sumchecker": "^3.0.1", "sumchecker": "^3.0.1",
"sweetalert2": "^9.15.2", "sweetalert2": "^9.17.0",
"system-font-families": "^0.4.1", "system-font-families": "^0.4.1",
"vue": "^2.6.11" "vue": "^2.6.11"
}, },
@@ -69,10 +72,11 @@
"itunes-nowplaying-mac": "0.3.1" "itunes-nowplaying-mac": "0.3.1"
}, },
"devDependencies": { "devDependencies": {
"chokidar": "^3.4.0", "chokidar": "^3.4.1",
"electron": "^9.0.5", "electron": "^9.1.1",
"electron-builder": "^22.7.0", "electron-builder": "^22.7.0",
"electron-rebuild": "^1.11.0", "electron-rebuild": "^1.11.0",
"eslint": "^7.6.0",
"readline-sync": "1.4.10" "readline-sync": "1.4.10"
}, },
"build": { "build": {
@@ -127,4 +131,4 @@
}, },
"electronVersion": "9.0.5" "electronVersion": "9.0.5"
} }
} }

View File

@@ -1,5 +1,7 @@
{ {
"latest":[], "latest":[],
"3.2.0": [],
"3.1.5": [],
"3.1.4": [ "3.1.4": [
"リモート限定の連合タイムライン" "リモート限定の連合タイムライン"
], ],

View File

@@ -417,9 +417,6 @@
</div> </div>
<!-- 公開範囲 Dropdown Structure --> <!-- 公開範囲 Dropdown Structure -->
<ul id="dropdown1" class="dropdown-content"> <ul id="dropdown1" class="dropdown-content">
<li style="font-size: 1.2rem; display: block; line-height: 1.69rem; padding: 1.1rem 1.23rem;">
@@selectVis@@
</li>
<li> <li>
<a onclick="vis('public')">@@publicJP@@(Public)</a> <a onclick="vis('public')">@@publicJP@@(Public)</a>
</li> </li>
@@ -1127,16 +1124,29 @@
<a href="https://thedesk.top" target="_blank">HP</a><br /> <a href="https://thedesk.top" target="_blank">HP</a><br />
<a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br /> <a href="https://github.com/cutls/TheDesk" target="_blank">GitHub</a><br />
<br /> <br />
<div id="release-21-0-4_Mayu" class="release-do" style="display:none; "> <div id="release-21-1-1_Mayu" class="release-do" style="display:none; ">
<br /> <br />
<a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br /> <a href="https://ja.mstdn.wiki/TheDesk" target="_blank">機能一覧</a><br />
Pixiv Pixiv
FanboxやPatreonでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br /> FanboxやPatreonでは支援者様限定で様々なTheDeskに関する記事をご覧いただけます。最低月一更新。<br />
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。 困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
<h5>Release Note 21.0.4 (Mayu)</h5> <h5>Release Note 21.1.1 (Mayu)</h5>
<h5>Release Note 21.1.0 (Mayu)</h5>
<!--上のdivのidも変えてね--> <!--上の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>
引用可能なインスタンスで、すべてのトゥートがミュートされた引用になってしまうバグ heguro<br> last_statusが日付だけ返すように変更されたことを受けての変更 <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>
・Last.fmのアルバムアートワークについて、暫定的に添付可能に <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>
・ハッシュタグストリーミングについて、追加のタグのストリーミングを実装(master追従インスタンスのみ対応) <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>
・TheDesk Nanoについて全く動いていなかったのを修正 <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>
・サブスクリプションタイプのストリーミングに対応し、軽量化や安定性の向上が見込まれます。(master追従インスタンスのみ対応) <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>
・Unknownなメディアに対して、proxyを使うようにした。 <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="https://user-images.githubusercontent.com/17561618/92328367-4b2c1a00-f09b-11ea-9d7f-e2b2f586d806.png">axfelix<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>
・ストリーミングが切れる可能性があるときに、画面を再読み込みするように。(master追従インスタンスのみ対応) <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> <a onclick="udgEx('AmaiSaeta@oransns.com','main')" class="contributor"><img src="https://user-images.githubusercontent.com/17561618/92328483-1a001980-f09c-11ea-92c7-4c30a276b8f8.png">AmaiSaeta</a><br>
</div> </div>
<div id="release-en" style="display:none"> <div id="release-en" style="display:none">
@@ -1724,10 +1734,10 @@
<script type="text/javascript" src="../../@@node_base@@/jquery/dist/jquery.js"></script> <script type="text/javascript" src="../../@@node_base@@/jquery/dist/jquery.js"></script>
<script type="text/javascript" src="../../js/platform/first.js"></script> <script type="text/javascript" src="../../js/platform/first.js"></script>
<script type="text/javascript" src="../../@@node_base@@/grapheme-splitter/index.js"></script> <script type="text/javascript" src="../../@@node_base@@/grapheme-splitter/index.js"></script>
<!--script <script
type="text/javascript" type="text/javascript"
src="../../@@node_base@@/materialize-css/dist/js/materialize.js" src="../../@@node_base@@/materialize-css/dist/js/materialize.js"
></script--> ></script>
<script type="text/javascript" src="../../@@node_base@@/lodash/lodash.min.js"></script> <script type="text/javascript" src="../../@@node_base@@/lodash/lodash.min.js"></script>
<script type="text/javascript" src="main.js"></script> <script type="text/javascript" src="main.js"></script>
<script type="text/javascript" src="../../js/common/time.js"></script> <script type="text/javascript" src="../../js/common/time.js"></script>

View File

@@ -130,7 +130,7 @@
"notf":"Notifications", "notf":"Notifications",
"bookmark": "Bookmarks", "bookmark": "Bookmarks",
"showThisTL":"Show this TL:", "showThisTL":"Show this TL:",
"webviewWarn":"TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>). Keyboard shortcuts will irritate you. When you feel so, you check 'Prefer WebView' on top of the column.", "webviewWarn":"TweetDeck with customed TJDeck(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>).",
"add":"Add", "add":"Add",
"search":"Search", "search":"Search",
"sortSet":"Sort", "sortSet":"Sort",

View File

@@ -24,10 +24,11 @@
"nativenotf": "Native notification", "nativenotf": "Native notification",
"nnwarn": "This does not work on Windows Portable ver.", "nnwarn": "This does not work on Windows Portable ver.",
"nntest": "Notification test", "nntest": "Notification test",
"minwidth": "Minimum width of columns", "width": "Width of columns",
"minwidthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.", "widthwarn": "Scroll bar will be shown when your window size is more than ammounts of columns.",
"fixwidth": "Minimum width of TweetDeck browser", "fixwidth": "Minimum width of TweetDeck browser",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "Margin between timelines",
"above": "above", "above": "above",
"font": "Font", "font": "Font",
"fontwarn": "Select your favorite font to 'Select'(On Linux, it may not work.)", "fontwarn": "Select your favorite font to 'Select'(On Linux, it may not work.)",
@@ -101,8 +102,8 @@
"or": "or", "or": "or",
"imgheight": "Height of images", "imgheight": "Height of images",
"imgheightwarn": "Option:Set \"full\" to uncrop.", "imgheightwarn": "Option:Set \"full\" to uncrop.",
"ticker": "Enable #InstanceTicker", "ticker": "Enable OpenSticker",
"tickerwarn": "Show colorful stickers about the server. <a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">About #InstanceTicker</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.", "tickerwarn": "Show the instance name and favicon of tooters <a href=\"https://opensticker.0px.io\">About OpenSticker</a>",
"animation": "Animation of timelines", "animation": "Animation of timelines",
"markers": "Markers(mark as read) on HTL and notifications", "markers": "Markers(mark as read) on HTL and notifications",
"markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.", "markerswarn": "Mastodon 3.0~. Shared on WebUI and third-party supported clients.",

View File

@@ -128,7 +128,7 @@
"notf":"通知", "notf":"通知",
"bookmark": "ブックマーク", "bookmark": "ブックマーク",
"showThisTL":"表示するタイムライン", "showThisTL":"表示するタイムライン",
"webviewWarn":"TweetDeckを出すで。TJDeckをカスタムしたものが読み込まれる(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>)。キーボードショートカットと干渉しはるから、文字入れる時はカラムの「WebView優先」にチェック入れてからしてな。", "webviewWarn":"TweetDeckを出すで。TJDeckをカスタムしたものが読み込まれる(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>)。",
"add":"追加", "add":"追加",
"search":"検索", "search":"検索",
"sortSet":"並べ替え設定", "sortSet":"並べ替え設定",

View File

@@ -23,10 +23,11 @@
"nativenotf": "ネイティブ通知設定", "nativenotf": "ネイティブ通知設定",
"nnwarn": "Portableバージョンでは表示できんかも知れん。", "nnwarn": "Portableバージョンでは表示できんかも知れん。",
"nntest": "通知テスト", "nntest": "通知テスト",
"minwidth": "マルチカラムの最低横幅", "width": "カラムの横幅",
"minwidthwarn": "画面全体の横幅÷ラム数で計算してそれ超してもうたら横スクロール入るで。", "widthwarn": "画面全体の横幅÷ラム数で計算してそれ超してもうたら横スクロール入るで。",
"fixwidth": "TweetDeckの限定の最低横幅", "fixwidth": "TweetDeckの限定の最低横幅",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "TL間のマージン",
"above": "以上", "above": "以上",
"font": "フォント", "font": "フォント",
"fontwarn": "「選択」を押してフォントを選んでな。(Linuxでは動かんかもしれん。)", "fontwarn": "「選択」を押してフォントを選んでな。(Linuxでは動かんかもしれん。)",
@@ -100,8 +101,8 @@
"or": "または", "or": "または",
"imgheight": "画像の高さ", "imgheight": "画像の高さ",
"imgheightwarn": "オプション:「full」と指定すると全ての画像をクロップせず全部出すで。", "imgheightwarn": "オプション:「full」と指定すると全ての画像をクロップせず全部出すで。",
"ticker": "#InstanceTickerを使う", "ticker": "OpenStickerを使う",
"tickerwarn": "トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">#InstanceTickerってなんや</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.", "tickerwarn": "そのトゥートの発信者のサーバー名やFaviconを表示します。<a href=\"https://opensticker.0px.io\">OpenStickerについて</a>",
"animation": "タイムラインのアニメーション", "animation": "タイムラインのアニメーション",
"markers": "ホームと通知の未読管理", "markers": "ホームと通知の未読管理",
"markerswarn": "Mastodon 3.0相当以上。WebUIと対応クライアントで共有するやつや。", "markerswarn": "Mastodon 3.0相当以上。WebUIと対応クライアントで共有するやつや。",

View File

@@ -130,7 +130,7 @@
"notf":"通知", "notf":"通知",
"bookmark": "ブックマーク", "bookmark": "ブックマーク",
"showThisTL":"表示するタイムライン", "showThisTL":"表示するタイムライン",
"webviewWarn":"TweetDeckを表示します。TJDeckをカスタムしたものが読み込まれます(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>)。キーボードショートカットが邪魔をするので、文字入力時はカラムの「WebView優先」にチェックを入れてください。", "webviewWarn":"TweetDeckを表示します。TJDeckをカスタムしたものが読み込まれます(<a href='https://gist.github.com/cutls/8787a55d2c1c53274e68a427966046a6' target='_blank'>Code</a>/<a href='https://gist.github.com/totoraj930/d1394dadb51d75666a76829f61e7280c' target='_blank'>TJDeck</a>)。",
"add":"追加", "add":"追加",
"search":"検索", "search":"検索",
"sortSet":"並べ替え設定", "sortSet":"並べ替え設定",

View File

@@ -24,10 +24,11 @@
"nativenotf": "ネイティブ通知設定", "nativenotf": "ネイティブ通知設定",
"nnwarn": "Portableバージョンでは表示できません。", "nnwarn": "Portableバージョンでは表示できません。",
"nntest": "通知テスト", "nntest": "通知テスト",
"minwidth": "マルチカラムの最低横幅", "width": "カラムの横幅",
"minwidthwarn": "画面全体の横幅÷ラム数がこの値を超えた時、横スクロールとなります。", "widthwarn": "画面全体の横幅÷ラム数がこの値を超えた時、横スクロールとなります。",
"fixwidth": "TweetDeckの限定の最低横幅", "fixwidth": "TweetDeckの限定の最低横幅",
"fixwidthwarn": "", "fixwidthwarn": "",
"margin": "TL間のマージン",
"above": "以上", "above": "以上",
"font": "フォント", "font": "フォント",
"fontwarn": "「選択」を押してフォントを選んでください。(Linuxでは動かない場合があります。)", "fontwarn": "「選択」を押してフォントを選んでください。(Linuxでは動かない場合があります。)",
@@ -101,8 +102,8 @@
"or": "または", "or": "または",
"imgheight": "画像の高さ", "imgheight": "画像の高さ",
"imgheightwarn": "オプション:「full」と指定すると全ての画像をクロップしません。", "imgheightwarn": "オプション:「full」と指定すると全ての画像をクロップしません。",
"ticker": "#InstanceTickerを使う", "ticker": "OpenStickerを使う",
"tickerwarn": "トゥートした人の所属サーバーをわかりやすく彩ります(自サーバー以外のトゥート向け)。<a href=\"https://github.com/MiyonMiyon/InstanceTicker_List\">#InstanceTickerについて</a> (c)2018-2020 MiyonMiyon. Released under the MIT License.", "tickerwarn": "そのトゥートの発信者のサーバー名やFaviconを表示します。<a href=\"https://opensticker.0px.io\">OpenStickerについて</a>",
"animation": "タイムラインのアニメーション", "animation": "タイムラインのアニメーション",
"markers": "ホームと通知の未読管理", "markers": "ホームと通知の未読管理",
"markerswarn": "Mastodon 3.0相当以上。WebUIと対応クライアントで共有されます。", "markerswarn": "Mastodon 3.0相当以上。WebUIと対応クライアントで共有されます。",

View File

@@ -60,16 +60,40 @@ var envConstruction = [
} }
}, },
{ {
id: 'width', checkbox: false,
storage: 'width', doubleText: true,
data: [
{
id: 'width',
storage: 'width',
width: 50,
setValue: 300,
text: { after: 'px ~ ' }
},
{
id: 'maxWidth',
storage: 'max-width',
width: 50,
setValue: 600,
text: { after: 'px' }
}
],
text: {
head: '@@width@@',
desc: '@@widthwarn@@'
}
},
{
id: 'margin',
storage: 'margin',
checkbox: false, checkbox: false,
doubleText: false, doubleText: false,
setValue: 0,
width: 50, width: 50,
setValue: 300,
text: { text: {
head: '@@minwidth@@', head: '@@margin@@',
desc: '@@minwidthwarn@@', desc: '',
after: 'px @@above@@' after: 'px'
} }
}, },
{ {

View File

@@ -86,7 +86,7 @@
<i class="material-icons pointer waves-effect" onclick="about();">info</i> <i class="material-icons pointer waves-effect" onclick="about();">info</i>
<i class="material-icons pointer waves-effect" onclick="skipper();">clear</i> <i class="material-icons pointer waves-effect" onclick="skipper();">clear</i>
<!--a href="update.html">Reload</a--> <!--a href="update.html">Reload</a-->
<div id="start"> <div id="start" style="filter: brightness(100%)">
<div id="box" class="show"> <div id="box" class="show">
<h2>TheDesk</h2> <h2>TheDesk</h2>
<p>@@updatehere@@</p> <p>@@updatehere@@</p>

View File

@@ -7,6 +7,27 @@
resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f" resolved "https://registry.yarnpkg.com/7zip-bin/-/7zip-bin-5.0.3.tgz#bc5b5532ecafd923a61f2fb097e3b108c0106a3f"
integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA== integrity sha512-GLyWIFBbGvpKPGo55JyRZAo4lVbnBiD52cKlw/0Vt+wnmKvWJkpZvsjVoaIolyBXDeAQKSicRtqFNPem9w0WYA==
"@babel/code-frame@^7.0.0":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
dependencies:
"@babel/highlight" "^7.10.4"
"@babel/helper-validator-identifier@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
"@babel/highlight@^7.10.4":
version "7.10.4"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
dependencies:
"@babel/helper-validator-identifier" "^7.10.4"
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/runtime@^7.7.2": "@babel/runtime@^7.7.2":
version "7.8.4" version "7.8.4"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308"
@@ -37,10 +58,10 @@
global-agent "^2.0.2" global-agent "^2.0.2"
global-tunnel-ng "^2.7.1" global-tunnel-ng "^2.7.1"
"@fortawesome/fontawesome-free@^5.13.1": "@fortawesome/fontawesome-free@^5.14.0":
version "5.13.1" version "5.14.0"
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.13.1.tgz#c53b4066edae16cd1fd669f687baf031b45fb9d6" resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-5.14.0.tgz#a371e91029ebf265015e64f81bfbf7d228c9681f"
integrity sha512-D819f34FLHeBN/4xvw0HR0u7U2G7RqjPSggXqf7LktsxWQ48VAfGwvMrhcVuaZV2fF069c/619RdgCCms0DHhw== integrity sha512-OfdMsF+ZQgdKHP9jUbmDcRrP0eX90XXrsXIdyjLbkmSBzmMXPABB8eobUJtivaupucYaByz6WNe1PI1JuYm3qA==
"@jimp/bmp@^0.14.0": "@jimp/bmp@^0.14.0":
version "0.14.0" version "0.14.0"
@@ -388,11 +409,31 @@ abbrev@1:
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
acorn-jsx@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
acorn@^7.3.1:
version "7.3.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd"
integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==
ajv-keywords@^3.4.1: ajv-keywords@^3.4.1:
version "3.4.1" version "3.4.1"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
ajv@^6.10.0, ajv@^6.10.2:
version "6.12.3"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706"
integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==
dependencies:
fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
ajv@^6.12.0: ajv@^6.12.0:
version "6.12.0" version "6.12.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7"
@@ -420,6 +461,11 @@ ansi-align@^3.0.0:
dependencies: dependencies:
string-width "^3.0.0" string-width "^3.0.0"
ansi-colors@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
ansi-regex@^2.0.0: ansi-regex@^2.0.0:
version "2.1.1" version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@@ -533,6 +579,11 @@ assert-plus@1.0.0, assert-plus@^1.0.0:
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
astral-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
async-exit-hook@^2.0.1: async-exit-hook@^2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3" resolved "https://registry.yarnpkg.com/async-exit-hook/-/async-exit-hook-2.0.1.tgz#8bd8b024b0ec9b1c01cccb9af9db29bd717dfaf3"
@@ -712,6 +763,11 @@ cacheable-request@^6.0.0:
normalize-url "^4.1.0" normalize-url "^4.1.0"
responselike "^1.0.2" responselike "^1.0.2"
callsites@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
camelcase@^5.0.0, camelcase@^5.3.1: camelcase@^5.0.0, camelcase@^5.3.1:
version "5.3.1" version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
@@ -722,7 +778,7 @@ caseless@~0.12.0:
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
chalk@^2.0.1, chalk@^2.4.2: chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2:
version "2.4.2" version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -747,10 +803,10 @@ chalk@^4.0.0:
ansi-styles "^4.1.0" ansi-styles "^4.1.0"
supports-color "^7.1.0" supports-color "^7.1.0"
chokidar@^3.4.0: chokidar@^3.4.1:
version "3.4.0" version "3.4.1"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.1.tgz#e905bdecf10eaa0a0b1db0c664481cc4cbc22ba1"
integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== integrity sha512-TQTJyr2stihpC4Sya9hs2Xh+O2wf+igjL36Y75xx2WdHuiICcn/XJza46Jwt0eT5hVpQOzo3FpY3cj3RVYLX0g==
dependencies: dependencies:
anymatch "~3.1.1" anymatch "~3.1.1"
braces "~3.0.2" braces "~3.0.2"
@@ -920,15 +976,24 @@ core-util-is@1.0.2, core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
cross-spawn@^7.0.2:
version "7.0.3"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
dependencies:
path-key "^3.1.0"
shebang-command "^2.0.0"
which "^2.0.1"
crypto-random-string@^2.0.0: crypto-random-string@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
custom-electron-titlebar@^3.2.2-hotfix62: custom-electron-titlebar@^3.2.3:
version "3.2.2-hotfix62" version "3.2.3"
resolved "https://registry.yarnpkg.com/custom-electron-titlebar/-/custom-electron-titlebar-3.2.2-hotfix62.tgz#94b908f0f2bf812e4f65447a26b93b88f7a76088" resolved "https://registry.yarnpkg.com/custom-electron-titlebar/-/custom-electron-titlebar-3.2.3.tgz#41da10b97958639e96a04275051bb5f78a666fc3"
integrity sha512-Kh86xAolkCpqj4AD/H4HcR2pEtxUyIHzMzqwkxqZkSqE7R9tRfN8G3fVpiiNIAJlX8rbN3VwxaoHi1B1sSMn/Q== integrity sha512-7DIZELlDoiAKT+i73XF9EG778M3/SYMmGa867cn3d0mLEEXDtEJq9sqM/u57vrtjolXKJ5ZJQ9hCCL2uxx9nxQ==
dashdash@^1.12.0: dashdash@^1.12.0:
version "1.14.1" version "1.14.1"
@@ -944,7 +1009,7 @@ debug@2.6.9, debug@^2.5.1:
dependencies: dependencies:
ms "2.0.0" ms "2.0.0"
debug@^4.1.0, debug@^4.1.1: debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
version "4.1.1" version "4.1.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
@@ -975,6 +1040,11 @@ deep-extend@^0.6.0:
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
deep-is@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
defaults@^1.0.3: defaults@^1.0.3:
version "1.0.3" version "1.0.3"
resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
@@ -1026,6 +1096,13 @@ dmg-builder@22.7.0:
js-yaml "^3.14.0" js-yaml "^3.14.0"
sanitize-filename "^1.6.3" sanitize-filename "^1.6.3"
doctrine@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
dependencies:
esutils "^2.0.2"
dom-walk@^0.1.0: dom-walk@^0.1.0:
version "0.1.1" version "0.1.1"
resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018"
@@ -1126,10 +1203,10 @@ electron-rebuild@^1.11.0:
spawn-rx "^3.0.0" spawn-rx "^3.0.0"
yargs "^14.2.0" yargs "^14.2.0"
electron@^9.0.5: electron@^9.1.1:
version "9.0.5" version "9.1.1"
resolved "https://registry.yarnpkg.com/electron/-/electron-9.0.5.tgz#189ee117cc2a2777cccf40fae0766acec5faae57" resolved "https://registry.yarnpkg.com/electron/-/electron-9.1.1.tgz#d52c9873be4113287c3eb2b02f85bad6644b100e"
integrity sha512-bnL9H48LuQ250DML8xUscsKiuSu+xv5umXbpBXYJ0BfvYVmFfNbG3jCfhrsH7aP6UcQKVxOG1R/oQExd0EFneQ== integrity sha512-BYvroBLV9x7G4iN33P/IxeZqwjl62/9VuBAF1CoM0m6OeheaiLog1ZMKLlCqVXycJvvrAvLHc454DDEmwnqqhA==
dependencies: dependencies:
"@electron/get" "^1.0.1" "@electron/get" "^1.0.1"
"@types/node" "^12.0.12" "@types/node" "^12.0.12"
@@ -1157,6 +1234,13 @@ end-of-stream@^1.1.0:
dependencies: dependencies:
once "^1.4.0" once "^1.4.0"
enquirer@^2.3.5:
version "2.3.6"
resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
dependencies:
ansi-colors "^4.1.1"
env-paths@^2.2.0: env-paths@^2.2.0:
version "2.2.0" version "2.2.0"
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43"
@@ -1207,11 +1291,111 @@ escape-string-regexp@^2.0.0:
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
eslint-scope@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5"
integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==
dependencies:
esrecurse "^4.1.0"
estraverse "^4.1.1"
eslint-utils@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
dependencies:
eslint-visitor-keys "^1.1.0"
eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
eslint@^7.6.0:
version "7.6.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.6.0.tgz#522d67cfaea09724d96949c70e7a0550614d64d6"
integrity sha512-QlAManNtqr7sozWm5TF4wIH9gmUm2hE3vNRUvyoYAa4y1l5/jxD/PQStEjBMQtCqZmSep8UxrcecI60hOpe61w==
dependencies:
"@babel/code-frame" "^7.0.0"
ajv "^6.10.0"
chalk "^4.0.0"
cross-spawn "^7.0.2"
debug "^4.0.1"
doctrine "^3.0.0"
enquirer "^2.3.5"
eslint-scope "^5.1.0"
eslint-utils "^2.1.0"
eslint-visitor-keys "^1.3.0"
espree "^7.2.0"
esquery "^1.2.0"
esutils "^2.0.2"
file-entry-cache "^5.0.1"
functional-red-black-tree "^1.0.1"
glob-parent "^5.0.0"
globals "^12.1.0"
ignore "^4.0.6"
import-fresh "^3.0.0"
imurmurhash "^0.1.4"
is-glob "^4.0.0"
js-yaml "^3.13.1"
json-stable-stringify-without-jsonify "^1.0.1"
levn "^0.4.1"
lodash "^4.17.19"
minimatch "^3.0.4"
natural-compare "^1.4.0"
optionator "^0.9.1"
progress "^2.0.0"
regexpp "^3.1.0"
semver "^7.2.1"
strip-ansi "^6.0.0"
strip-json-comments "^3.1.0"
table "^5.2.3"
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
espree@^7.2.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/espree/-/espree-7.2.0.tgz#1c263d5b513dbad0ac30c4991b93ac354e948d69"
integrity sha512-H+cQ3+3JYRMEIOl87e7QdHX70ocly5iW4+dttuR8iYSPr/hXKFb+7dBsZ7+u1adC4VrnPlTkv0+OwuPnDop19g==
dependencies:
acorn "^7.3.1"
acorn-jsx "^5.2.0"
eslint-visitor-keys "^1.3.0"
esprima@^4.0.0: esprima@^4.0.0:
version "4.0.1" version "4.0.1"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
esquery@^1.2.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57"
integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==
dependencies:
estraverse "^5.1.0"
esrecurse@^4.1.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==
dependencies:
estraverse "^4.1.0"
estraverse@^4.1.0, estraverse@^4.1.1:
version "4.3.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
estraverse@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642"
integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==
esutils@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
exif-parser@^0.1.12: exif-parser@^0.1.12:
version "0.1.12" version "0.1.12"
resolved "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922" resolved "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922"
@@ -1272,6 +1456,11 @@ fast-json-stable-stringify@^2.0.0:
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
fast-levenshtein@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
fd-slicer@~1.0.1: fd-slicer@~1.0.1:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
@@ -1279,6 +1468,13 @@ fd-slicer@~1.0.1:
dependencies: dependencies:
pend "~1.2.0" pend "~1.2.0"
file-entry-cache@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
dependencies:
flat-cache "^2.0.1"
file-type@^9.0.0: file-type@^9.0.0:
version "9.0.0" version "9.0.0"
resolved "https://registry.yarnpkg.com/file-type/-/file-type-9.0.0.tgz#a68d5ad07f486414dfb2c8866f73161946714a18" resolved "https://registry.yarnpkg.com/file-type/-/file-type-9.0.0.tgz#a68d5ad07f486414dfb2c8866f73161946714a18"
@@ -1313,6 +1509,20 @@ find-up@^4.1.0:
locate-path "^5.0.0" locate-path "^5.0.0"
path-exists "^4.0.0" path-exists "^4.0.0"
flat-cache@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
dependencies:
flatted "^2.0.0"
rimraf "2.6.3"
write "1.0.3"
flatted@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
for-each@^0.3.3: for-each@^0.3.3:
version "0.3.3" version "0.3.3"
resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
@@ -1375,6 +1585,11 @@ function-bind@^1.1.1:
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
functional-red-black-tree@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
gauge@~2.7.3: gauge@~2.7.3:
version "2.7.4" version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
@@ -1423,6 +1638,13 @@ gifwrap@^0.9.2:
image-q "^1.1.1" image-q "^1.1.1"
omggif "^1.0.10" omggif "^1.0.10"
glob-parent@^5.0.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229"
integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==
dependencies:
is-glob "^4.0.1"
glob-parent@~5.1.0: glob-parent@~5.1.0:
version "5.1.0" version "5.1.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2"
@@ -1480,6 +1702,13 @@ global@~4.3.0:
min-document "^2.19.0" min-document "^2.19.0"
process "~0.5.1" process "~0.5.1"
globals@^12.1.0:
version "12.4.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
dependencies:
type-fest "^0.8.1"
globalthis@^1.0.0: globalthis@^1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.0.tgz#c5fb98213a9b4595f59cf3e7074f141b4169daae" resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.0.tgz#c5fb98213a9b4595f59cf3e7074f141b4169daae"
@@ -1599,11 +1828,24 @@ ieee754@^1.1.4:
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
ignore@^4.0.6:
version "4.0.6"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
image-q@^1.1.1: image-q@^1.1.1:
version "1.1.1" version "1.1.1"
resolved "https://registry.yarnpkg.com/image-q/-/image-q-1.1.1.tgz#fc84099664460b90ca862d9300b6bfbbbfbf8056" resolved "https://registry.yarnpkg.com/image-q/-/image-q-1.1.1.tgz#fc84099664460b90ca862d9300b6bfbbbfbf8056"
integrity sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY= integrity sha1-/IQJlmRGC5DKhi2TALa/u7+/gFY=
import-fresh@^3.0.0:
version "3.2.1"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
dependencies:
parent-module "^1.0.0"
resolve-from "^4.0.0"
import-lazy@^2.1.0: import-lazy@^2.1.0:
version "2.1.0" version "2.1.0"
resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43"
@@ -1683,7 +1925,7 @@ is-function@^1.0.1:
resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5"
integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU= integrity sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=
is-glob@^4.0.1, is-glob@~4.0.1: is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
version "4.0.1" version "4.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
@@ -1808,6 +2050,11 @@ jquery@^3.5.1:
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5" resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.5.1.tgz#d7b4d08e1bfdb86ad2f1a3d039ea17304717abb5"
integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg== integrity sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==
js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
js-yaml@^3.13.1: js-yaml@^3.13.1:
version "3.13.1" version "3.13.1"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
@@ -1844,6 +2091,11 @@ json-schema@0.2.3:
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
json-stable-stringify-without-jsonify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
version "5.0.1" version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
@@ -1901,6 +2153,14 @@ lazy-val@^1.0.4:
resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz#882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65" resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.4.tgz#882636a7245c2cfe6e0a4e3ba6c5d68a137e5c65"
integrity sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q== integrity sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==
levn@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
dependencies:
prelude-ls "^1.2.1"
type-check "~0.4.0"
load-bmfont@^1.3.1, load-bmfont@^1.4.0: load-bmfont@^1.3.1, load-bmfont@^1.4.0:
version "1.4.0" version "1.4.0"
resolved "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.0.tgz#75f17070b14a8c785fe7f5bee2e6fd4f98093b6b" resolved "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.4.0.tgz#75f17070b14a8c785fe7f5bee2e6fd4f98093b6b"
@@ -1935,10 +2195,10 @@ lodash.assign@^4.2.0:
resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc= integrity sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=
lodash@^4.17.10, lodash@^4.17.15: lodash@^4.17.10, lodash@^4.17.14, lodash@^4.17.19:
version "4.17.15" version "4.17.19"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b"
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==
log-symbols@^2.2.0: log-symbols@^2.2.0:
version "2.2.0" version "2.2.0"
@@ -1980,7 +2240,7 @@ matcher@^2.0.0:
"materialize-css@git://github.com/cutls/materialize#v1-dev": "materialize-css@git://github.com/cutls/materialize#v1-dev":
version "1.0.0" version "1.0.0"
resolved "git://github.com/cutls/materialize#e7fedb112cc28af96cc0119bccf3f8c13c4a98a6" resolved "git://github.com/cutls/materialize#e92efb770c6f17197b12b9af14b388f1454b5b4d"
dependencies: dependencies:
grapheme-splitter "^1.0.4" grapheme-splitter "^1.0.4"
@@ -2077,6 +2337,11 @@ ms@2.1.2, ms@^2.1.1:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
node-abi@^2.11.0: node-abi@^2.11.0:
version "2.12.0" version "2.12.0"
resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.12.0.tgz#40e9cfabdda1837863fa825e7dfa0b15686adf6f" resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.12.0.tgz#40e9cfabdda1837863fa825e7dfa0b15686adf6f"
@@ -2199,6 +2464,18 @@ onetime@^2.0.0:
dependencies: dependencies:
mimic-fn "^1.0.0" mimic-fn "^1.0.0"
optionator@^0.9.1:
version "0.9.1"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
dependencies:
deep-is "^0.1.3"
fast-levenshtein "^2.0.6"
levn "^0.4.1"
prelude-ls "^1.2.1"
type-check "^0.4.0"
word-wrap "^1.2.3"
ora@^3.4.0: ora@^3.4.0:
version "3.4.0" version "3.4.0"
resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318" resolved "https://registry.yarnpkg.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318"
@@ -2282,6 +2559,13 @@ pako@^1.0.5:
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732"
integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
dependencies:
callsites "^3.0.0"
parse-bmfont-ascii@^1.0.3: parse-bmfont-ascii@^1.0.3:
version "1.0.6" version "1.0.6"
resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285" resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285"
@@ -2323,6 +2607,11 @@ path-is-absolute@^1.0.0:
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
path-key@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-parse@^1.0.6: path-parse@^1.0.6:
version "1.0.6" version "1.0.6"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
@@ -2370,6 +2659,11 @@ pngjs@^3.0.0, pngjs@^3.3.3:
resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f"
integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==
prelude-ls@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
prepend-http@^2.0.0: prepend-http@^2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
@@ -2385,6 +2679,11 @@ process@~0.5.1:
resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8= integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=
progress@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
proto-list@~1.2.1: proto-list@~1.2.1:
version "1.2.4" version "1.2.4"
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
@@ -2486,6 +2785,11 @@ regenerator-runtime@^0.13.2, regenerator-runtime@^0.13.3:
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5"
integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==
regexpp@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2"
integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==
registry-auth-token@^4.0.0: registry-auth-token@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.0.0.tgz#30e55961eec77379da551ea5c4cf43cbf03522be" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.0.0.tgz#30e55961eec77379da551ea5c4cf43cbf03522be"
@@ -2537,6 +2841,11 @@ require-main-filename@^2.0.0:
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
resolve-from@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
resolve@^1.10.0: resolve@^1.10.0:
version "1.12.0" version "1.12.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6"
@@ -2559,6 +2868,13 @@ restore-cursor@^2.0.0:
onetime "^2.0.0" onetime "^2.0.0"
signal-exit "^3.0.2" signal-exit "^3.0.2"
rimraf@2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
dependencies:
glob "^7.1.3"
rimraf@^2.6.3: rimraf@^2.6.3:
version "2.7.1" version "2.7.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
@@ -2634,7 +2950,7 @@ semver@^6.0.0, semver@^6.2.0, semver@^6.3.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
semver@^7.3.2: semver@^7.2.1, semver@^7.3.2:
version "7.3.2" version "7.3.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
@@ -2651,11 +2967,32 @@ set-blocking@^2.0.0, set-blocking@~2.0.0:
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
shebang-command@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
dependencies:
shebang-regex "^3.0.0"
shebang-regex@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
signal-exit@^3.0.0, signal-exit@^3.0.2: signal-exit@^3.0.0, signal-exit@^3.0.2:
version "3.0.2" version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
slice-ansi@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
dependencies:
ansi-styles "^3.2.0"
astral-regex "^1.0.0"
is-fullwidth-code-point "^2.0.0"
sort-keys-length@^1.0.0: sort-keys-length@^1.0.0:
version "1.0.1" version "1.0.1"
resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188"
@@ -2843,6 +3180,11 @@ strip-ansi@^6.0.0:
dependencies: dependencies:
ansi-regex "^5.0.0" ansi-regex "^5.0.0"
strip-json-comments@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
strip-json-comments@~2.0.1: strip-json-comments@~2.0.1:
version "2.0.1" version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
@@ -2869,10 +3211,10 @@ supports-color@^7.1.0:
dependencies: dependencies:
has-flag "^4.0.0" has-flag "^4.0.0"
sweetalert2@^9.15.2: sweetalert2@^9.17.0:
version "9.15.2" version "9.17.0"
resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-9.15.2.tgz#d26f1e6dee91d9ff57b3b98b3d92a0d6c3fa6fc1" resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-9.17.0.tgz#9ea457f3c44295a3629ed5998fee6a51940c3891"
integrity sha512-evJfoa49s5ZzSmVc62tslNkzlQoCg2GHjB3MQxawfESppvY5AlXKLGQ3nNKxHXKdodKmIHbkl39DgUhcOK7LgQ== integrity sha512-tOby96N1FlTT8Xi7Y7QlTiswNJTySgghmRSyFwb3pO3zdrhsR2PUp4ucmye7a3CTLbLdqjHdszsGlCJ0v6pGaQ==
system-font-families@^0.4.1: system-font-families@^0.4.1:
version "0.4.1" version "0.4.1"
@@ -2882,6 +3224,16 @@ system-font-families@^0.4.1:
babel-polyfill "^6.23.0" babel-polyfill "^6.23.0"
ttfinfo "https://github.com/rBurgett/ttfinfo.git" ttfinfo "https://github.com/rBurgett/ttfinfo.git"
table@^5.2.3:
version "5.4.6"
resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
dependencies:
ajv "^6.10.2"
lodash "^4.17.14"
slice-ansi "^2.1.0"
string-width "^3.0.0"
tar@^4.4.12: tar@^4.4.12:
version "4.4.13" version "4.4.13"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
@@ -2908,6 +3260,11 @@ term-size@^2.1.0:
resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753" resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.0.tgz#1f16adedfe9bdc18800e1776821734086fcc6753"
integrity sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw== integrity sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==
text-table@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
timm@^1.6.1: timm@^1.6.1:
version "1.6.2" version "1.6.2"
resolved "https://registry.yarnpkg.com/timm/-/timm-1.6.2.tgz#dfd8c6719f7ba1fcfc6295a32670a1c6d166c0bd" resolved "https://registry.yarnpkg.com/timm/-/timm-1.6.2.tgz#dfd8c6719f7ba1fcfc6295a32670a1c6d166c0bd"
@@ -2971,6 +3328,13 @@ tweetnacl@^0.14.3, tweetnacl@~0.14.0:
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
type-check@^0.4.0, type-check@~0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
dependencies:
prelude-ls "^1.2.1"
type-fest@^0.8.0, type-fest@^0.8.1: type-fest@^0.8.0, type-fest@^0.8.1:
version "0.8.1" version "0.8.1"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
@@ -3076,6 +3440,11 @@ uuid@^3.3.2:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866"
integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==
v8-compile-cache@^2.0.3:
version "2.1.1"
resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745"
integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==
validate-npm-package-license@^3.0.1: validate-npm-package-license@^3.0.1:
version "3.0.4" version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
@@ -3117,6 +3486,13 @@ which@^1.3.1:
dependencies: dependencies:
isexe "^2.0.0" isexe "^2.0.0"
which@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
dependencies:
isexe "^2.0.0"
wide-align@^1.1.0: wide-align@^1.1.0:
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
@@ -3131,6 +3507,11 @@ widest-line@^3.1.0:
dependencies: dependencies:
string-width "^4.0.0" string-width "^4.0.0"
word-wrap@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
wrap-ansi@^5.1.0: wrap-ansi@^5.1.0:
version "5.1.0" version "5.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
@@ -3164,6 +3545,13 @@ write-file-atomic@^3.0.0:
signal-exit "^3.0.2" signal-exit "^3.0.2"
typedarray-to-buffer "^3.1.5" typedarray-to-buffer "^3.1.5"
write@1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
dependencies:
mkdirp "^0.5.1"
xdg-basedir@^4.0.0: xdg-basedir@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"