Merge branch 'master' into dependabot/npm_and_yarn/app/electron-rebuild-2.3.2

This commit is contained in:
Cutls 2020-11-17 02:11:33 +09:00 committed by GitHub
commit 64296c69d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
22 changed files with 325 additions and 142 deletions

View File

@ -21,7 +21,8 @@ html {
.action-menu-item:hover { .action-menu-item:hover {
filter: brightness(80%) !important; filter: brightness(80%) !important;
} }
.btn, .btn-flat { .btn,
.btn-flat {
font-size: 1.1rem; font-size: 1.1rem;
margin: 0.4rem; margin: 0.4rem;
text-transform: none; text-transform: none;
@ -340,16 +341,16 @@ blockquote:before,
flex-wrap: wrap; flex-wrap: wrap;
flex-direction: column; flex-direction: column;
} }
input[type="color"] { input[type='color'] {
-webkit-appearance: none; -webkit-appearance: none;
border: none; border: none;
width: 32px; width: 32px;
height: 32px; height: 32px;
} }
input[type="color"]::-webkit-color-swatch-wrapper { input[type='color']::-webkit-color-swatch-wrapper {
padding: 0; padding: 0;
} }
input[type="color"]::-webkit-color-swatch { input[type='color']::-webkit-color-swatch {
border: none; border: none;
} }
#menu { #menu {
@ -631,6 +632,24 @@ button {
} }
.via-dropdown { .via-dropdown {
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
overflow-x: hidden; overflow-x: hidden;
} }
#re-online {
background-color: rgb(38, 92, 153);
position: fixed;
width: 100vw;
height: 2rem;
padding: 0.25rem;
color: white;
z-index: 1000;
}
#offline {
background-color: rgb(153, 38, 38);
position: fixed;
width: 100vw;
height: 2rem;
padding: 0.25rem;
color: white;
z-index: 999;
}

View File

@ -64,9 +64,10 @@ textarea {
} }
#emoji { #emoji {
} }
#suggest { #suggest, #draft {
max-height: 23rem; max-height: 23rem;
overflow-y: scroll; overflow-y: scroll;
overflow-x: hidden;
} }
#emoji-list { #emoji-list {
width: 100%; width: 100%;

View File

@ -227,7 +227,8 @@ $(function($) {
var acct_id = $('#timeline_' + selectedColumn).attr('data-acct') var acct_id = $('#timeline_' + selectedColumn).attr('data-acct')
var ats_cm = $('.selectedToot .rep-btn').attr('data-men') var ats_cm = $('.selectedToot .rep-btn').attr('data-men')
var mode = $('.selectedToot .rep-btn').attr('data-visen') var mode = $('.selectedToot .rep-btn').attr('data-visen')
re(id, ats_cm, acct_id, mode) var cwTxt = $('#cw-text').val()
re(id, ats_cm, acct_id, mode, cwTxt)
return false return false
} }
} }

View File

@ -219,10 +219,12 @@ if(pwa) {
const connection = function (event) { const connection = function (event) {
console.log(navigator.onLine, 'network state') console.log(navigator.onLine, 'network state')
if(!navigator.onLine) { if(!navigator.onLine) {
$('#toot-post-btn').addClass('disabled') $('#re-online').addClass('hide')
} else { $('#offline').removeClass('hide')
$('#toot-post-btn').removeClass('disabled') } else if(!$('#offline').hasClass('hide')) {
$('#offline').addClass('hide')
$('#re-online').removeClass('hide')
} }
} }
window.onoffline = connection window.onoffline = connection
window.ononline = connection window.ononline = connection

View File

@ -23,6 +23,7 @@ function emojiToggle(reaction) {
} }
$('#post-box').css('width', width + 'px') $('#post-box').css('width', width + 'px')
$('#suggest').html('') $('#suggest').html('')
$('#draft').html('')
if (!localStorage.getItem('emojis_' + acct_id)) { if (!localStorage.getItem('emojis_' + acct_id)) {
var html = `<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet('true');">${lang.lang_emoji_get}</button>` var html = `<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet('true');">${lang.lang_emoji_get}</button>`
$('#emoji-list').html(html) $('#emoji-list').html(html)
@ -31,10 +32,12 @@ function emojiToggle(reaction) {
} }
} else { } else {
$('#poll').addClass('hide') $('#poll').addClass('hide')
$('#draft').addClass('hide')
$('#right-side').hide() $('#right-side').hide()
$('#right-side').css('width', '300px') $('#right-side').css('width', '300px')
$('#emoji').addClass('hide') $('#emoji').addClass('hide')
$('#suggest').html('') $('#suggest').html('')
$('#draft').html('')
$('#left-side').css('width', '100%') $('#left-side').css('width', '100%')
var width = localStorage.getItem('postbox-width') var width = localStorage.getItem('postbox-width')
if (width) { if (width) {

View File

@ -9,7 +9,16 @@ function sec() {
} }
post(null, mode) post(null, mode)
} }
function post(mode, postvis) { function post(mode, postvis, dry) {
if(!navigator.onLine && !dry) {
draftToggle(true)
addToDraft()
M.toast({
html: lang.lang_post_offline,
displayLength: 3000
})
return false
}
if ($('#toot-post-btn').prop('disabled')) { if ($('#toot-post-btn').prop('disabled')) {
return false return false
} }
@ -122,7 +131,7 @@ function post(mode, postvis) {
console.log('This toot will be posted at:' + scheduled) console.log('This toot will be posted at:' + scheduled)
schedule() schedule()
toot.scheduled_at = scheduled toot.scheduled_at = scheduled
if($('#sch-box').hasClass('expire')) { if ($('#sch-box').hasClass('expire')) {
toot.scheduled_at = null toot.scheduled_at = null
toot.expires_at = scheduled toot.expires_at = scheduled
} }
@ -131,7 +140,7 @@ function post(mode, postvis) {
} }
if (!$('#poll').hasClass('hide')) { if (!$('#poll').hasClass('hide')) {
var options = [] var options = []
$('.mastodon-choice').map(function() { $('.mastodon-choice').map(function () {
var choice = $(this).val() var choice = $(this).val()
if (choice != '') { if (choice != '') {
options.push(choice) options.push(choice)
@ -159,6 +168,13 @@ function post(mode, postvis) {
} }
} }
console.table(toot) console.table(toot)
if (dry) {
$('#ideKey').val('')
$('.toot-btn-group').prop('disabled', false)
todc()
toot['TheDeskAcctId'] = acct_id
return toot
}
var httpreq = new XMLHttpRequest() var httpreq = new XMLHttpRequest()
httpreq.open('POST', start, true) httpreq.open('POST', start, true)
httpreq.setRequestHeader('Content-Type', 'application/json') httpreq.setRequestHeader('Content-Type', 'application/json')
@ -166,11 +182,11 @@ function post(mode, postvis) {
httpreq.setRequestHeader('Idempotency-Key', ideKey) httpreq.setRequestHeader('Idempotency-Key', ideKey)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send(JSON.stringify(toot)) httpreq.send(JSON.stringify(toot))
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) { if (this.status !== 200) {
if(media && this.status == 422) { if (media && this.status == 422) {
$('#ideKey').val('') $('#ideKey').val('')
$('.toot-btn-group').prop('disabled', false) $('.toot-btn-group').prop('disabled', false)
alertProcessUnfinished() alertProcessUnfinished()
@ -201,7 +217,7 @@ function post(mode, postvis) {
} }
function expPostMode() { function expPostMode() {
$('#sch-box').toggleClass('expire') $('#sch-box').toggleClass('expire')
if($('#sch-box').hasClass('expire')) { if ($('#sch-box').hasClass('expire')) {
Swal.fire({ Swal.fire({
type: 'info', type: 'info',
title: 'Expiring toot On' title: 'Expiring toot On'
@ -270,7 +286,7 @@ function misskeyPost() {
httpreq.setRequestHeader('Content-Type', 'application/json') httpreq.setRequestHeader('Content-Type', 'application/json')
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send(JSON.stringify(toot)) httpreq.send(JSON.stringify(toot))
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
if (str.indexOf(localStorage.getItem('stable')) == -1) { if (str.indexOf(localStorage.getItem('stable')) == -1) {
localStorage.removeItem('stable') localStorage.removeItem('stable')
@ -339,7 +355,7 @@ function clear() {
$('#mins_poll').val(6) $('#mins_poll').val(6)
$('#poll').addClass('hide') $('#poll').addClass('hide')
$('#pollsta').text(lang.lang_no) $('#pollsta').text(lang.lang_no)
$('.mastodon-choice').map(function() { $('.mastodon-choice').map(function () {
$(this).val('') $(this).val('')
}) })
localStorage.removeItem('image') localStorage.removeItem('image')

View File

@ -79,8 +79,8 @@ function loadVis() {
loadVis() loadVis()
//コンテントワーニング //コンテントワーニング
function cw() { function cw(force) {
if ($('#cw').hasClass('cw-avail')) { if ($('#cw').hasClass('cw-avail') || !force) {
$('#cw-text').val() $('#cw-text').val()
$('#cw-text').hide() $('#cw-text').hide()
$('#cw').removeClass('yellow-text') $('#cw').removeClass('yellow-text')
@ -100,8 +100,8 @@ function cw_show(e) {
$(e).parent().parent().find('.cw_hide').toggleClass('cw') $(e).parent().parent().find('.cw_hide').toggleClass('cw')
$(e).parent().find('.cw_long').toggleClass('hide') $(e).parent().find('.cw_long').toggleClass('hide')
} }
$(function() { $(function () {
$('#cw-text').on('change', function(event) { $('#cw-text').on('change', function (event) {
var acct_id = $('#post-acct-sel').val() var acct_id = $('#post-acct-sel').val()
var domain = localStorage.getItem('domain_' + acct_id) var domain = localStorage.getItem('domain_' + acct_id)
var cwlen = $('#cw-text').val().length var cwlen = $('#cw-text').val().length
@ -126,3 +126,79 @@ function schedule() {
$('#sch-box').addClass('sch-avail') $('#sch-box').addClass('sch-avail')
} }
} }
//下書き機能
function draftToggle(force) {
if ($('#draft').hasClass('hide') || force) {
$('#draft').removeClass('hide')
$('#right-side').show()
$('#right-side').css('width', '300px')
$('#left-side').css('width', 'calc(100% - 300px)')
var width = localStorage.getItem('postbox-width')
if (width) {
width = width.replace('px', '') * 1 + 300
} else {
width = 600
}
$('#post-box').css('width', width + 'px')
$('#suggest').html('')
$('#draft').html('')
draftDraw()
} else {
$('#poll').addClass('hide')
$('#draft').addClass('hide')
$('#right-side').hide()
$('#right-side').css('width', '300px')
$('#emoji').addClass('hide')
$('#suggest').html('')
$('#draft').html('')
$('#left-side').css('width', '100%')
var width = localStorage.getItem('postbox-width')
if (width) {
width = width.replace('px', '') * 1
} else {
width = 300
}
$('#post-box').css('width', width + 'px')
}
}
function draftDraw() {
var draft = localStorage.getItem('draft')
var html = `<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="addToDraft();">${lang.lang_secure_draft}</button>`
if (draft) {
var draftObj = JSON.parse(draft)
for (let i = 0; i < draftObj.length; i++) {
var toot = draftObj[i]
html = html + `<div class="tootInDraft">
<i class="waves-effect gray material-icons" onclick="useThisDraft(${i})" title="${lang.lang_secure_userThis}">reply</i>
<i class="waves-effect gray material-icons" onclick="deleteThisDraft(${i})" title="${lang.lang_secure_deleteThis}">cancel</i>
${escapeHTML(toot.status).replace(/\n/, '').substr(0, 10)}
</div>`
}
}
$('#draft').html(html)
}
function addToDraft() {
var json = post(null, null, true)
var draft = localStorage.getItem('draft')
var draftObj = []
if (draft) draftObj = JSON.parse(draft)
draftObj.push(json)
draft = JSON.stringify(draftObj)
localStorage.setItem('draft', draft)
draftDraw()
}
function useThisDraft(i) {
var draft = localStorage.getItem('draft')
var draftObj = JSON.parse(draft)
draftToPost(draftObj[i], draftObj[i]['TheDeskAcctId'], 0)
draftToggle()
}
function deleteThisDraft(i) {
var draft = localStorage.getItem('draft')
var draftObj = JSON.parse(draft)
draftObj.splice(i, 1)
draft = JSON.stringify(draftObj)
localStorage.setItem('draft', draft)
draftDraw()
}

View File

@ -15,7 +15,7 @@ function fav(id, acct_id, remote) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
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) { if (this.status !== 200) {
@ -75,7 +75,7 @@ function rt(id, acct_id, remote, vis) {
} else { } else {
httpreq.send() httpreq.send()
} }
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) { if (this.status !== 200) {
@ -131,7 +131,7 @@ function bkm(id, acct_id, tlid) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
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) { if (this.status !== 200) {
@ -160,7 +160,7 @@ function bkm(id, acct_id, tlid) {
//フォロー //フォロー
async function follow(acct_id, resolve) { async function follow(acct_id, resolve) {
if($('#his-data').hasClass('locked')) { if ($('#his-data').hasClass('locked')) {
locked = true locked = true
} else { } else {
locked = false locked = false
@ -178,7 +178,7 @@ async function follow(acct_id, resolve) {
var flag = 'follow' var flag = 'follow'
var flagm = 'create' var flagm = 'create'
} }
var id = $('#his-data').attr('user-id') var id = $('#his-data').attr('user-id')
if (resolve == 'selector') { if (resolve == 'selector') {
var fullacct = $('#his-acct').attr('fullname') var fullacct = $('#his-acct').attr('fullname')
@ -200,7 +200,7 @@ async function follow(acct_id, resolve) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send(JSON.stringify(ent)) httpreq.send(JSON.stringify(ent))
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) { if (this.status !== 200) {
@ -212,7 +212,7 @@ async function follow(acct_id, resolve) {
$('#his-follow-btn-text').text(lang.lang_status_follow) $('#his-follow-btn-text').text(lang.lang_status_follow)
} else { } else {
$('#his-data').addClass('following') $('#his-data').addClass('following')
if(locked) { if (locked) {
$('#his-follow-btn-text').text(lang.lang_status_requesting) $('#his-follow-btn-text').text(lang.lang_status_requesting)
} else { } else {
$('#his-follow-btn-text').text(lang.lang_status_unfollow) $('#his-follow-btn-text').text(lang.lang_status_unfollow)
@ -278,7 +278,7 @@ function block(acct_id) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
if (this.status !== 200) { if (this.status !== 200) {
setLog(start, this.status, this.response) setLog(start, this.status, this.response)
@ -338,7 +338,7 @@ function muteDo(acct_id) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send(rq) httpreq.send(rq)
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
if (this.status !== 200) { if (this.status !== 200) {
setLog(start, this.status, this.response) setLog(start, this.status, this.response)
@ -378,7 +378,7 @@ function del(id, acct_id) {
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
} }
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
if (this.status !== 200) { if (this.status !== 200) {
setLog(start, this.status, this.response) setLog(start, this.status, this.response)
@ -420,69 +420,73 @@ function redraft(id, acct_id) {
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
} }
httpreq.onreadystatechange = function() { httpreq.onreadystatechange = function () {
if (httpreq.readyState === 4) { if (httpreq.readyState === 4) {
if (this.status !== 200) { if (this.status !== 200) {
setLog(start, this.status, this.response) setLog(start, this.status, this.response)
} }
var json = httpreq.response var json = httpreq.response
$('#post-acct-sel').prop('disabled', true) draftToPost(json, acct_id, id)
$('#post-acct-sel').val(acct_id)
$('select').formSelect()
mdCheck()
var medias = $('[toot-id=' + id + ']').attr('data-medias')
var mediack = json.media_attachments[0]
//メディアがあれば
var media_ids = []
if (mediack) {
for (var i = 0; i <= 4; i++) {
if (json.media_attachments[i]) {
media_ids.push(json.media_attachments[i].id)
$('#preview').append(
'<img src="' +
json.media_attachments[i].preview_url +
'" style="width:50px; max-height:100px;">'
)
} else {
break
}
}
}
var vismode = $('[toot-id=' + id + '] .vis-data').attr('data-vis')
vis(vismode)
var medias = media_ids.join(',');
$('#media').val(medias)
localStorage.setItem('nohide', true)
show()
if (json.text) {
var html = json.text
} else {
var html = $('[toot-id=' + id + '] .toot').html()
html = html.replace(/^<p>(.+)<\/p>$/, '$1')
html = html.replace(/<br\s?\/?>/, '\n')
html = html.replace(/<p>/, '\n')
html = html.replace(/<\/p>/, '\n')
html = html.replace(/<img[\s\S]*alt="(.+?)"[\s\S]*?>/g, '$1')
html = $.strip_tags(html)
}
$('#textarea').val(html)
if (json.spoiler_text) {
cw()
$('#cw-text').val(json.spoiler_text)
}
if (json.sensitive) {
$('#nsfw').addClass('yellow-text')
$('#nsfw').html('visibility')
$('#nsfw').addClass('nsfw-avail')
}
if (json.in_reply_to_id) {
$('#reply').val(json.in_reply_to_id)
}
} }
} }
} }
}) })
} }
function draftToPost(json, acct_id, id) {
$('#post-acct-sel').prop('disabled', true)
$('#post-acct-sel').val(acct_id)
$('select').formSelect()
mdCheck()
var medias = $('[toot-id=' + id + ']').attr('data-medias')
mediack = null
if(json.media_attachments) mediack = json.media_attachments[0]
//メディアがあれば
var media_ids = []
if (mediack) {
for (var i = 0; i <= 4; i++) {
if (json.media_attachments[i]) {
media_ids.push(json.media_attachments[i].id)
$('#preview').append(
'<img src="' +
json.media_attachments[i].preview_url +
'" style="width:50px; max-height:100px;">'
)
} else {
break
}
}
}
var vismode = json.visibility
vis(vismode)
var medias = media_ids.join(',')
$('#media').val(medias)
localStorage.setItem('nohide', true)
show()
if (json.text) {
var html = json.text
} else {
var html = json.status
html = html.replace(/^<p>(.+)<\/p>$/, '$1')
html = html.replace(/<br\s?\/?>/, '\n')
html = html.replace(/<p>/, '\n')
html = html.replace(/<\/p>/, '\n')
html = html.replace(/<img[\s\S]*alt="(.+?)"[\s\S]*?>/g, '$1')
html = $.strip_tags(html)
}
$('#textarea').val(html)
if (json.spoiler_text) {
cw(true)
$('#cw-text').val(json.spoiler_text)
}
if (json.sensitive) {
$('#nsfw').addClass('yellow-text')
$('#nsfw').html('visibility')
$('#nsfw').addClass('nsfw-avail')
}
if (json.in_reply_to_id) {
$('#reply').val(json.in_reply_to_id)
}
}
//ピン留め //ピン留め
function pin(id, acct_id) { function pin(id, acct_id) {
if ($(`.cvo[unique-id=${id}]`).hasClass('pined')) { if ($(`.cvo[unique-id=${id}]`).hasClass('pined')) {
@ -499,7 +503,7 @@ function pin(id, acct_id) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
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) { if (this.status !== 200) {
@ -530,7 +534,7 @@ function request(id, flag, acct_id) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
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) { if (this.status !== 200) {
@ -556,7 +560,7 @@ function domainblock(add, flag, acct_id) {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
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) { if (this.status !== 200) {
@ -583,7 +587,7 @@ function empUser() {
M.toast({ 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) {
var usT = obj[key] var usT = obj[key]
if (usT != id && !can) { if (usT != id && !can) {
can = false can = false
@ -615,7 +619,7 @@ function pinUser() {
httpreq.setRequestHeader('Authorization', 'Bearer ' + at) httpreq.setRequestHeader('Authorization', 'Bearer ' + at)
httpreq.responseType = 'json' httpreq.responseType = 'json'
httpreq.send() httpreq.send()
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) { if (this.status !== 200) {
@ -651,20 +655,20 @@ function staEx(mode) {
Authorization: 'Bearer ' + at Authorization: 'Bearer ' + at
} }
}) })
.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.statuses) { if (json.statuses) {
if (json.statuses[0]) { if (json.statuses[0]) {
var id = json.statuses[0].id var id = json.statuses[0].id

View File

@ -18,7 +18,7 @@ input.addEventListener(
var new_val = input.value var new_val = input.value
if (new_val == '') { if (new_val == '') {
$('#suggest').html('') $('#suggest').html('')
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide')) { if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide') && $('#draft').hasClass('hide')) {
$('#right-side').hide() $('#right-side').hide()
$('#right-side').css('width', '300px') $('#right-side').css('width', '300px')
$('#left-side').css('width', '100%') $('#left-side').css('width', '100%')
@ -41,7 +41,7 @@ input.addEventListener(
var q = acct[1] var q = acct[1]
} else { } else {
$('#suggest').html('') $('#suggest').html('')
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide')) { if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide') && $('#draft').hasClass('hide')) {
$('#right-side').hide() $('#right-side').hide()
$('#right-side').css('width', '300px') $('#right-side').css('width', '300px')
$('#left-side').css('width', '100%') $('#left-side').css('width', '100%')
@ -138,6 +138,7 @@ input.addEventListener(
$('#post-box').css('width', width + 'px') $('#post-box').css('width', width + 'px')
$('#poll').addClass('hide') $('#poll').addClass('hide')
$('#emoji').addClass('hide') $('#emoji').addClass('hide')
$('#draft').addClass('hide')
} }
} else if (json.accounts[0] && acct[1]) { } else if (json.accounts[0] && acct[1]) {
var accts = '' var accts = ''
@ -165,8 +166,9 @@ input.addEventListener(
$('#suggest').html(accts) $('#suggest').html(accts)
$('#poll').addClass('hide') $('#poll').addClass('hide')
$('#emoji').addClass('hide') $('#emoji').addClass('hide')
$('#draft').addClass('hide')
} else { } else {
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide')) { if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide') && $('#draft').hasClass('hide')) {
$('#right-side').hide() $('#right-side').hide()
$('#right-side').css('width', '300px') $('#right-side').css('width', '300px')
$('#left-side').css('width', '100%') $('#left-side').css('width', '100%')
@ -226,7 +228,7 @@ function tagInsert(code, del) {
} }
sentence = before + word + after sentence = before + word + after
textarea.value = sentence textarea.value = sentence
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide')) { if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide') && $('#draft').hasClass('hide')) {
$('#right-side').hide() $('#right-side').hide()
$('#right-side').css('width', '300px') $('#right-side').css('width', '300px')
$('#left-side').css('width', '50%') $('#left-side').css('width', '50%')

View File

@ -1,5 +1,5 @@
/*リプライ*/ /*リプライ*/
function re(id, ats_cm, acct_id, mode) { function re(id, ats_cm, acct_id, mode, cwTxt) {
clear() clear()
var ats = ats_cm.split(',') var ats = ats_cm.split(',')
localStorage.setItem('nohide', true) localStorage.setItem('nohide', true)
@ -25,13 +25,18 @@ function re(id, ats_cm, acct_id, mode) {
} }
$('#acct-sel-prof').attr('src', profimg) $('#acct-sel-prof').attr('src', profimg)
vis(mode) vis(mode)
if(localStorage.getItem('cw-continue') == 'yes') {
cw(true)
$('#cw-text').val(cwTxt)
}
} }
function reEx(id) { function reEx(id) {
$('#tootmodal').modal('close') $('#tootmodal').modal('close')
var at = $('#tootmodal').attr('data-user') var at = $('#tootmodal').attr('data-user')
var acct_id = $('#status-acct-sel').val() var acct_id = $('#status-acct-sel').val()
var mode = $('#tootmodal .vis-data').attr('data-vis') var mode = $('#tootmodal .vis-data').attr('data-vis')
re(id, at, acct_id, mode) var cwTxt = $('#cw-text').val()
re(id, at, acct_id, mode, cwTxt)
} }
//引用 //引用
function qt(id, acct_id, at, url) { function qt(id, acct_id, at, url) {

View File

@ -1085,7 +1085,7 @@ function parse(obj, mix, acct_id, tlid, popup, mutefilter, type) {
</a> </a>
</div> </div>
<div class="action ${disp['re']} ${noauth}"> <div class="action ${disp['re']} ${noauth}">
<a onclick="re('${toot.id}','${to_mention}','${acct_id}','${visen}')" <a onclick="re('${toot.id}','${to_mention}','${acct_id}','${visen}','${escapeHTML(toot.spoiler_text)}')"
class="waves-effect waves-dark btn-flat actct rep-btn" class="waves-effect waves-dark btn-flat actct rep-btn"
data-men="${to_mention}" data-visen="${visen}" style="padding:0" title="${lang.lang_parse_replyto}"> data-men="${to_mention}" data-visen="${visen}" style="padding:0" title="${lang.lang_parse_replyto}">
<i class="fas fa-share"></i> <i class="fas fa-share"></i>

View File

@ -25,6 +25,7 @@ function pollToggle() {
} }
$('#post-box').css('width', width + 'px') $('#post-box').css('width', width + 'px')
$('#emoji').addClass('hide') $('#emoji').addClass('hide')
$('#draft').addClass('hide')
$('#poll').addClass('hide') $('#poll').addClass('hide')
$('#pollsta').text(lang.lang_no) $('#pollsta').text(lang.lang_no)
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "thedesk", "name": "thedesk",
"version": "21.2.4", "version": "21.3.0",
"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",
@ -68,7 +68,7 @@
"lodash": "^4.17.20", "lodash": "^4.17.20",
"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": "^10.3.5", "sweetalert2": "^10.10.0",
"system-font-families": "^0.4.1", "system-font-families": "^0.4.1",
"vue": "^2.6.12" "vue": "^2.6.12"
}, },
@ -77,10 +77,10 @@
}, },
"devDependencies": { "devDependencies": {
"chokidar": "^3.4.2", "chokidar": "^3.4.2",
"electron": "^10.1.2", "electron": "^10.1.5",
"electron-builder": "^22.8.1", "electron-builder": "^22.8.1",
"electron-rebuild": "^2.3.2", "electron-rebuild": "^2.3.2",
"eslint": "^7.9.0", "eslint": "^7.13.0",
"readline-sync": "1.4.10" "readline-sync": "1.4.10"
}, },
"build": { "build": {

View File

@ -43,6 +43,12 @@
<i class="material-icons">chat</i> <i class="material-icons">chat</i>
</button> </button>
</div> </div>
<div id="offline" class="hide">
@@nowOffline@@
</div>
<div id="re-online" class="hide">
@@reOnline@@
</div>
<div id="tl"> <div id="tl">
<!--TL--> <!--TL-->
<!--スターター--> <!--スターター-->
@ -278,6 +284,9 @@
<li> <li>
<a onclick="pollToggle();">@@poll@@</a> <a onclick="pollToggle();">@@poll@@</a>
</li> </li>
<li>
<a onclick="draftToggle();">@@draft@@</a>
</li>
</ul> </ul>
<!--hidden area--> <!--hidden area-->
<input type="hidden" id="reply" /> <input type="hidden" id="reply" />
@ -297,6 +306,7 @@
</div> </div>
<div id="right-side"> <div id="right-side">
<div id="suggest" class="right-side-content"></div> <div id="suggest" class="right-side-content"></div>
<div id="draft" class="hide right-side-content"></div>
<!--絵文字ピッカー--> <!--絵文字ピッカー-->
<div id="emoji" class="hide right-side-content"> <div id="emoji" class="hide right-side-content">
<span class="gray sml">@@emojiWarn@@ <span class="gray sml">@@emojiWarn@@
@ -765,7 +775,7 @@
<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-2-4_Mayu" class="release-do" style="display:none; "> <div id="release-21-3-0_Mayu" class="release-do" style="display:none; ">
<br /> <br />
<a href="https://ja.mstdn. <a href="https://ja.mstdn.
wiki/TheDesk" target="_blank">機能一覧</a><br /> wiki/TheDesk" target="_blank">機能一覧</a><br />
@ -774,9 +784,10 @@
困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。 困ったときは、<a href="https://docs.thedesk.top">TheDesk Docs</a>をご覧ください。
<h5>Release Note 21.2.4 (Mayu)</h5> <h5>Release Note 21.2.4 (Mayu)</h5>
<!--上のdivのidも変えてね--> <!--上のdivのidも変えてね-->
・Tipsのデザイン修正/メモリ表示時に稼働時間を表示 <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('Zergling_man@openweb.social','main')" class="contributor"><img src="https://user-images.githubusercontent.com/17561618/99282891-a470b080-2877-11eb-8b6c-66457e1a9643.png">zergling-man</a><br>
・タイムラインでカラムの挿入場所がズレたり、挿入されなかったりするバグ <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> ・下書き機能の追加 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
・イタリア語を追加 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br> ・リプライ時のCWの挙動を設定で変更可能に <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
・オフライン時の挙動を変更。下書き機能を活用。 <a onclick="udgEx('Cutls@cutls.com','main')" class="contributor"><img src="https://media.thedesk.top/accounts/avatars/000/000/001/original/d34ef8bb49d5e011.png">cutls</a><br>
</div> </div>
<div id="release-en" style="display:none"> <div id="release-en" style="display:none">

View File

@ -1,5 +1,7 @@
{ {
"draghere":"Drag here to upload", "draghere":"Drag here to upload",
"nowOffline":"OFFLINE: all of your post is in the draft box and you should reload after re-connect to the Internet",
"reOnline":"Now we are in the Internet, you should reload...",
"close":"Close", "close":"Close",
"webSrc": "Search on Web", "webSrc": "Search on Web",
"tsSrc": "Search on tootsearch", "tsSrc": "Search on tootsearch",
@ -45,6 +47,7 @@
"thingsEmoji":"Emojis of tools", "thingsEmoji":"Emojis of tools",
"symbolEmoji":"Emojis of symbols", "symbolEmoji":"Emojis of symbols",
"flagsEmoji":"Emojis of flags", "flagsEmoji":"Emojis of flags",
"draft": "Draft",
"poll":"Poll", "poll":"Poll",
"pollDdisabled":"Polls: Disabled", "pollDdisabled":"Polls: Disabled",
"pollProvider":"Provider of Poll", "pollProvider":"Provider of Poll",

View File

@ -71,6 +71,7 @@
"lang_post_btn3": "Continue to post", "lang_post_btn3": "Continue to post",
"lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.", "lang_post_unfinishedMedia": "The server has not finished processing your media. Retry.",
"lang_post_retry": "Retry", "lang_post_retry": "Retry",
"lang_post_offline": "Add to the drafts because of offline",
"lang_status_favWarn": "It will take a miunte to favourite a remote toot.", "lang_status_favWarn": "It will take a miunte to favourite a remote toot.",
"lang_status_btWarn": "It will take a miunte to boost a remote toot.", "lang_status_btWarn": "It will take a miunte to boost a remote toot.",
"lang_status_follow": "Follow", "lang_status_follow": "Follow",
@ -87,6 +88,9 @@
"lang_status_endorse": "Feature on profile", "lang_status_endorse": "Feature on profile",
"lang_status_followers": "Followers", "lang_status_followers": "Followers",
"lang_status_active": "Last status", "lang_status_active": "Last status",
"lang_secure_draft": "Add to draft",
"lang_secure_useThis": "Use this",
"lang_secure_deleteThis": "Delete this",
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.", "lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.", "lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
"lang_cards_check": " check", "lang_cards_check": " check",

View File

@ -1,5 +1,7 @@
{ {
"draghere":"ドラッグしてみ?(ドラッグしたらすぐアップロードされるで)", "draghere":"ドラッグしてみ?(ドラッグしたらすぐアップロードされるで)",
"nowOffline":"オフラインやで。投稿は全部下書きに行くし、もしオンラインなったら再読み込みしたらええで。",
"reOnline":"オンライン戻ったから再読み込みしてな。",
"close":"Close", "close":"Close",
"webSrc": "Webでさがす", "webSrc": "Webでさがす",
"tsSrc": "tootsearchでさがす", "tsSrc": "tootsearchでさがす",
@ -43,6 +45,7 @@
"thingsEmoji":"もの", "thingsEmoji":"もの",
"symbolEmoji":"記号", "symbolEmoji":"記号",
"flagsEmoji":"国旗", "flagsEmoji":"国旗",
"draft": "下書き(タンス)",
"poll":"アンケート", "poll":"アンケート",
"pollDdisabled":"アンケート付けへん", "pollDdisabled":"アンケート付けへん",
"pollProvider":"アンケートのプロバイダ", "pollProvider":"アンケートのプロバイダ",

View File

@ -72,6 +72,7 @@
"lang_status_btWarn": "ブーストしたんやけどインスタンスがちゃうときは時間がかかるで、知らんけど。", "lang_status_btWarn": "ブーストしたんやけどインスタンスがちゃうときは時間がかかるで、知らんけど。",
"lang_post_unfinishedMedia": "処理未了のメディアがあります。再試行してください。", "lang_post_unfinishedMedia": "処理未了のメディアがあります。再試行してください。",
"lang_post_retry": "再試行", "lang_post_retry": "再試行",
"lang_post_offline": "オフラインやったし下書きいれといたで",
"lang_status_follow": "フォロー", "lang_status_follow": "フォロー",
"lang_status_unfollow": "フォロー解除", "lang_status_unfollow": "フォロー解除",
"lang_status_block": "ブロック", "lang_status_block": "ブロック",
@ -86,6 +87,9 @@
"lang_status_endorse": "プロフで紹介する", "lang_status_endorse": "プロフで紹介する",
"lang_status_followers": "フォロワー", "lang_status_followers": "フォロワー",
"lang_status_active": "最新トゥート", "lang_status_active": "最新トゥート",
"lang_secure_draft": "タンスになおす",
"lang_secure_useThis": "使う",
"lang_secure_deleteThis": "ほかす",
"lang_suggest_nodata": "サジェストしたいんやけど、絵文字リストを取得してくれへん?", "lang_suggest_nodata": "サジェストしたいんやけど、絵文字リストを取得してくれへん?",
"lang_usetxtbox_reply": "返信モードや。やめるときはCtrl+Shift+Cな。", "lang_usetxtbox_reply": "返信モードや。やめるときはCtrl+Shift+Cな。",
"lang_cards_check": "チェック", "lang_cards_check": "チェック",

View File

@ -1,5 +1,7 @@
{ {
"draghere":"ここにドラッグして添付(ドラッグと同時にアップロードされます)", "draghere":"ここにドラッグして添付(ドラッグと同時にアップロードされます)",
"nowOffline":"オフラインです。投稿はすべて下書きに追加されます。オンライン復帰時には再読み込みを推奨します。",
"reOnline": "オンラインに復帰しました。再読み込みを推奨します。",
"webSrc": "Webで検索", "webSrc": "Webで検索",
"tsSrc": "tootsearchで検索", "tsSrc": "tootsearchで検索",
"close":"Close", "close":"Close",
@ -45,6 +47,7 @@
"thingsEmoji":"もの", "thingsEmoji":"もの",
"symbolEmoji":"記号", "symbolEmoji":"記号",
"flagsEmoji":"国旗", "flagsEmoji":"国旗",
"draft": "下書き",
"poll":"アンケート", "poll":"アンケート",
"pollDdisabled":"アンケートを使用しない", "pollDdisabled":"アンケートを使用しない",
"pollProvider":"アンケートのプロバイダ", "pollProvider":"アンケートのプロバイダ",

View File

@ -72,6 +72,7 @@
"lang_post_btn3": "そのまま投稿", "lang_post_btn3": "そのまま投稿",
"lang_post_unfinishedMedia": "処理未了のメディアがあります。再試行してください。", "lang_post_unfinishedMedia": "処理未了のメディアがあります。再試行してください。",
"lang_post_retry": "再試行", "lang_post_retry": "再試行",
"lang_post_offline": "オフラインのため下書きに追加しました。",
"lang_status_favWarn": "お気に入り登録しました。インスタンスが違うときは時間がかかる場合があります。", "lang_status_favWarn": "お気に入り登録しました。インスタンスが違うときは時間がかかる場合があります。",
"lang_status_btWarn": "ブーストしました。インスタンスが違うときは時間がかかる場合があります。", "lang_status_btWarn": "ブーストしました。インスタンスが違うときは時間がかかる場合があります。",
"lang_status_follow": "フォロー", "lang_status_follow": "フォロー",
@ -88,6 +89,9 @@
"lang_status_endorse": "プロフで紹介する", "lang_status_endorse": "プロフで紹介する",
"lang_status_followers": "フォロワー", "lang_status_followers": "フォロワー",
"lang_status_active": "最新トゥート", "lang_status_active": "最新トゥート",
"lang_secure_draft": "下書きに追加",
"lang_secure_useThis": "使う",
"lang_secure_deleteThis": "削除",
"lang_suggest_nodata": "サジェストのために絵文字リストを取得してください。", "lang_suggest_nodata": "サジェストのために絵文字リストを取得してください。",
"lang_usetxtbox_reply": "返信モードです。クリアするときはCtrl+Shift+Cを押してください。", "lang_usetxtbox_reply": "返信モードです。クリアするときはCtrl+Shift+Cを押してください。",
"lang_cards_check": "チェック", "lang_cards_check": "チェック",

View File

@ -523,6 +523,17 @@ var postConstruction = [
checkbox: yesno checkbox: yesno
} }
}, },
{
id: 'cw-continue',
storage: 'cw-continue',
checkbox: true,
setValue: 'no',
text: {
head: '@@cwContinue@@',
desc: '',
checkbox: yesno
}
},
{ {
id: 'vis', id: 'vis',
storage: 'vis', storage: 'vis',

View File

@ -58,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"
"@eslint/eslintrc@^0.1.3": "@eslint/eslintrc@^0.2.1":
version "0.1.3" version "0.2.1"
resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.1.3.tgz#7d1a2b2358552cc04834c0979bd4275362e37085" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.2.1.tgz#f72069c330461a06684d119384435e12a5d76e3c"
integrity sha512-4YVwPkANLeNtRjMekzux1ci8hIaH5eGKktGqR0d3LWsKNn5B2X/1Z6Trxy7jQXl9EBGE6Yj02O+t09FMeRllaA== integrity sha512-XRUeBZ5zBWLYgSANMpThFddrZZkEbGHgUdt5UJjZfnlN9BGCiUBrf+nvbRupSjMvqzwnQN0qwCmOxITt1cfywA==
dependencies: dependencies:
ajv "^6.12.4" ajv "^6.12.4"
debug "^4.1.1" debug "^4.1.1"
@ -1280,10 +1280,10 @@ electron-rebuild@^2.3.2:
tar "^6.0.5" tar "^6.0.5"
yargs "^16.0.0" yargs "^16.0.0"
electron@^10.1.2: electron@^10.1.5:
version "10.1.2" version "10.1.5"
resolved "https://registry.yarnpkg.com/electron/-/electron-10.1.2.tgz#30b6fd7669f8daf08c56219a61dfa053fa2b0c70" resolved "https://registry.yarnpkg.com/electron/-/electron-10.1.5.tgz#f2b161310f627063e73fbac44efcb35dece83a90"
integrity sha512-SvN8DcKCmPZ0UcQSNAJBfaUu+LGACqtRhUn1rW0UBLHgdbbDM76L0GU5/XGQEllH5pu5bwlCZwax3srzIl+Aeg== integrity sha512-fys/KnEfJq05TtMij+lFvLuKkuVH030CHYx03iZrW5DNNLwjE6cW3pysJ420lB0FRSfPjTHBMu2eVCf5TG71zQ==
dependencies: dependencies:
"@electron/get" "^1.0.1" "@electron/get" "^1.0.1"
"@types/node" "^12.0.12" "@types/node" "^12.0.12"
@ -1373,12 +1373,12 @@ 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: eslint-scope@^5.1.1:
version "5.1.0" version "5.1.1"
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
dependencies: dependencies:
esrecurse "^4.1.0" esrecurse "^4.3.0"
estraverse "^4.1.1" estraverse "^4.1.1"
eslint-utils@^2.1.0: eslint-utils@^2.1.0:
@ -1393,22 +1393,27 @@ eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
eslint@^7.9.0: eslint-visitor-keys@^2.0.0:
version "7.9.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.9.0.tgz#522aeccc5c3a19017cf0cb46ebfd660a79acf337" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8"
integrity sha512-V6QyhX21+uXp4T+3nrNfI3hQNBDa/P8ga7LoQOenwrlEFXrEnUEE+ok1dMtaS3b6rmLXhT1TkTIsG75HMLbknA== integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==
eslint@^7.13.0:
version "7.13.0"
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.13.0.tgz#7f180126c0dcdef327bfb54b211d7802decc08da"
integrity sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ==
dependencies: dependencies:
"@babel/code-frame" "^7.0.0" "@babel/code-frame" "^7.0.0"
"@eslint/eslintrc" "^0.1.3" "@eslint/eslintrc" "^0.2.1"
ajv "^6.10.0" ajv "^6.10.0"
chalk "^4.0.0" chalk "^4.0.0"
cross-spawn "^7.0.2" cross-spawn "^7.0.2"
debug "^4.0.1" debug "^4.0.1"
doctrine "^3.0.0" doctrine "^3.0.0"
enquirer "^2.3.5" enquirer "^2.3.5"
eslint-scope "^5.1.0" eslint-scope "^5.1.1"
eslint-utils "^2.1.0" eslint-utils "^2.1.0"
eslint-visitor-keys "^1.3.0" eslint-visitor-keys "^2.0.0"
espree "^7.3.0" espree "^7.3.0"
esquery "^1.2.0" esquery "^1.2.0"
esutils "^2.0.2" esutils "^2.0.2"
@ -1457,14 +1462,14 @@ esquery@^1.2.0:
dependencies: dependencies:
estraverse "^5.1.0" estraverse "^5.1.0"
esrecurse@^4.1.0: esrecurse@^4.3.0:
version "4.2.1" version "4.3.0"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
dependencies: dependencies:
estraverse "^4.1.0" estraverse "^5.2.0"
estraverse@^4.1.0, estraverse@^4.1.1: estraverse@^4.1.1:
version "4.3.0" version "4.3.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
@ -1474,6 +1479,11 @@ estraverse@^5.1.0:
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642"
integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==
estraverse@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"
integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==
esutils@^2.0.2: esutils@^2.0.2:
version "2.0.3" version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
@ -3416,10 +3426,10 @@ supports-color@^7.1.0:
dependencies: dependencies:
has-flag "^4.0.0" has-flag "^4.0.0"
sweetalert2@^10.3.5: sweetalert2@^10.10.0:
version "10.3.5" version "10.10.0"
resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-10.3.5.tgz#e5a10ad789163e85ec6031a413b08b20e5aae0a4" resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-10.10.0.tgz#84e8fe1c1c756059196fd89c49790d4bfb954b93"
integrity sha512-8XBQvW2frWVn0Xs80qyraRXcb3Mg/aKG+9sdVPlzViDIYJfLhMeda3pRuyGzyvrPXbBQ3KRjs+66xKH3kz8/og== integrity sha512-TnYWt1hnPw/jkK1IqPpFT4yMZGE9VsKJApzd0dcjsrE8biykeoECpIgV8DzRVvWufit/1Z2m5Zdyo2hjBfGzoQ==
system-font-families@^0.4.1: system-font-families@^0.4.1:
version "0.4.1" version "0.4.1"