diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5c913f95..28c57a0f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,6 +32,7 @@ Lint: Automatically fix most linting issues: npx standard --fix + npx standard --fix --plugin html 'routes/**/*.html' ## Testing diff --git a/package-lock.json b/package-lock.json index 5710ffdc..e9f379eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3084,6 +3084,15 @@ } } }, + "eslint-plugin-html": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-4.0.3.tgz", + "integrity": "sha512-ArFnlfQxwYSz/CP0zvk8Cy3MUhcDpT3o6jgO8eKD/b8ezcLVBrgkYzmMv+7S/ya+Yl9pN+Cz2tsgYp/zElkQzA==", + "dev": true, + "requires": { + "htmlparser2": "3.9.2" + } + }, "eslint-plugin-import": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.9.0.tgz", diff --git a/package.json b/package.json index e42bfe92..471e30ac 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "description": "Alternative web client for Mastodon", "version": "0.2.2", "scripts": { - "lint": "standard", + "lint": "standard && standard --plugin html 'routes/**/*.html'", "dev": "run-s build-svg build-inline-script serve-dev", "serve-dev": "run-p --race build-sass-watch serve", "serve": "node server.js", @@ -83,6 +83,7 @@ "yargs": "11.0.0" }, "devDependencies": { + "eslint-plugin-html": "4.0.3", "now": "11.1.7", "standard": "11.0.1", "testcafe": "0.19.1" @@ -117,7 +118,8 @@ "atob", "btoa", "Blob", - "Element" + "Element", + "Image" ], "ignore": [ "dist", diff --git a/routes/_components/AccountsListPage.html b/routes/_components/AccountsListPage.html index 73e1f5ad..3d9a7847 100644 --- a/routes/_components/AccountsListPage.html +++ b/routes/_components/AccountsListPage.html @@ -33,7 +33,7 @@ import { toast } from '../_utils/toast' export default { - async oncreate() { + async oncreate () { let { accountsFetcher } = this.get() try { // TODO: paginate diff --git a/routes/_components/DynamicPageBanner.html b/routes/_components/DynamicPageBanner.html index 21f7fee9..792cf615 100644 --- a/routes/_components/DynamicPageBanner.html +++ b/routes/_components/DynamicPageBanner.html @@ -61,7 +61,7 @@ \ No newline at end of file diff --git a/routes/_components/LazyImage.html b/routes/_components/LazyImage.html index 39041357..7238a9b5 100644 --- a/routes/_components/LazyImage.html +++ b/routes/_components/LazyImage.html @@ -21,11 +21,10 @@ } \ No newline at end of file diff --git a/routes/_components/NonAutoplayGifv.html b/routes/_components/NonAutoplayGifv.html index 61d3d20f..9cfe60d5 100644 --- a/routes/_components/NonAutoplayGifv.html +++ b/routes/_components/NonAutoplayGifv.html @@ -43,7 +43,7 @@ export default { methods: { - onMouseOver(mouseOver) { + onMouseOver (mouseOver) { this.set({playing: mouseOver}) } }, diff --git a/routes/_components/NonAutoplayImg.html b/routes/_components/NonAutoplayImg.html index be8df07d..6922e051 100644 --- a/routes/_components/NonAutoplayImg.html +++ b/routes/_components/NonAutoplayImg.html @@ -27,7 +27,7 @@ import { imgLoadError, mouseover } from '../_utils/events' export default { methods: { - onMouseOver(mouseOver) { + onMouseOver (mouseOver) { let { src, staticSrc } = this.get() this.refs.node.src = mouseOver ? src : staticSrc } diff --git a/routes/_components/TimelineHomePage.html b/routes/_components/TimelineHomePage.html index 26085770..ff5a2a86 100644 --- a/routes/_components/TimelineHomePage.html +++ b/routes/_components/TimelineHomePage.html @@ -42,7 +42,7 @@ }, computed: { hidePage: ($timelineInitialized, $timelinePreinitialized) => !$timelineInitialized && !$timelinePreinitialized, - hideTimeline: ($timelineInitialized) => !$timelineInitialized, + hideTimeline: ($timelineInitialized) => !$timelineInitialized }, store: () => store, components: { diff --git a/routes/_components/TimelinePage.html b/routes/_components/TimelinePage.html index de9a7f65..7a8ba1ab 100644 --- a/routes/_components/TimelinePage.html +++ b/routes/_components/TimelinePage.html @@ -36,7 +36,7 @@ }, computed: { hidePage: ($timelineInitialized, $timelinePreinitialized) => !$timelineInitialized && !$timelinePreinitialized, - hideTimeline: ($timelineInitialized) => !$timelineInitialized, + hideTimeline: ($timelineInitialized) => !$timelineInitialized }, store: () => store, components: { diff --git a/routes/_components/Toast.html b/routes/_components/Toast.html index 2e279704..ad8f0f32 100644 --- a/routes/_components/Toast.html +++ b/routes/_components/Toast.html @@ -67,10 +67,10 @@ methods: { push, splice, - say(text) { + say (text) { this.push('messages', text) }, - onNewToast(text) { + onNewToast (text) { this._queue = this._queue.then(() => { this.set({ 'text': text, diff --git a/routes/_components/community/PageListItem.html b/routes/_components/community/PageListItem.html index 4bc8ad7f..7107c888 100644 --- a/routes/_components/community/PageListItem.html +++ b/routes/_components/community/PageListItem.html @@ -73,7 +73,7 @@ IconButton }, methods: { - onPinClick(e) { + onPinClick (e) { e.preventDefault() let { currentInstance, pinnedPages } = this.store.get() let { href } = this.get() diff --git a/routes/_components/compose/ComposeAutosuggest.html b/routes/_components/compose/ComposeAutosuggest.html index 0dc4bf49..6041e950 100644 --- a/routes/_components/compose/ComposeAutosuggest.html +++ b/routes/_components/compose/ComposeAutosuggest.html @@ -55,7 +55,7 @@ const EMOJI_SEARCH_REGEX = new RegExp(`(?:\\s|^)(:[^:]{${MIN_PREFIX_LENGTH},})$`) export default { - oncreate() { + oncreate () { // perf improves for input responsiveness this.observe('composeSelectionStart', () => { scheduleIdleTask(() => { @@ -94,7 +94,7 @@ composeAutosuggestionSelected: 0, composeAutosuggestionSearchText: searchText, composeAutosuggestionSearchResults: results, - composeAutosuggestionType: type, + composeAutosuggestionType: type }) }) this.observe('shown', shown => { @@ -103,7 +103,7 @@ }, methods: { once: once, - onClick(item) { + onClick (item) { this.fire('autosuggestItemSelected') let { realm } = this.get() let { composeSelectionStart, composeAutosuggestionSearchText } = this.store.get() @@ -114,16 +114,15 @@ } else { /* no await */ insertEmojiAtPosition(realm, item, startIndex, endIndex) } - }, - async searchAccounts(searchText) { + async searchAccounts (searchText) { searchText = searchText.substring(1) let { currentInstance } = this.store.get() let results = await searchAccountsByUsernameInDatabase( currentInstance, searchText, DATABASE_SEARCH_RESULTS_LIMIT) return results.slice(0, SEARCH_RESULTS_LIMIT) }, - searchEmoji(searchText) { + searchEmoji (searchText) { searchText = searchText.toLowerCase().substring(1) let { currentCustomEmoji } = this.store.get() let results = currentCustomEmoji.filter(emoji => emoji.shortcode.toLowerCase().startsWith(searchText)) diff --git a/routes/_components/compose/ComposeBox.html b/routes/_components/compose/ComposeBox.html index bde904df..90e4d546 100644 --- a/routes/_components/compose/ComposeBox.html +++ b/routes/_components/compose/ComposeBox.html @@ -117,7 +117,7 @@ import { classname } from '../../_utils/classname' export default { - oncreate() { + oncreate () { let { realm } = this.get() if (realm === 'home') { this.setupStickyObserver() @@ -138,7 +138,7 @@ setReplyVisibility(realm, replyVisibility) } }, - ondestroy() { + ondestroy () { this.teardownStickyObserver() }, components: { @@ -188,7 +188,7 @@ slide }, methods: { - async onClickPostButton() { + async onClickPostButton () { let { sticky } = this.get() if (sticky) { // when the button is sticky, we're scrolled down the home timeline, @@ -197,10 +197,10 @@ dialogs.showComposeDialog() } else { // else we're actually posting a new toot - this.doPostStatus(); + this.doPostStatus() } }, - doPostStatus() { + doPostStatus () { let { text, media, @@ -224,7 +224,7 @@ sensitive, contentWarning, postPrivacyKey, mediaDescriptions, inReplyToUuid) }, - setupStickyObserver() { + setupStickyObserver () { this.__stickyObserver = new IntersectionObserver(entries => { this.set({sticky: !entries[0].isIntersecting}) }) @@ -243,7 +243,7 @@ } }, {init: false}) }, - teardownStickyObserver() { + teardownStickyObserver () { if (this.__stickyObserver) { this.__stickyObserver.disconnect() } diff --git a/routes/_components/compose/ComposeContentWarning.html b/routes/_components/compose/ComposeContentWarning.html index e2a30f69..68bd270d 100644 --- a/routes/_components/compose/ComposeContentWarning.html +++ b/routes/_components/compose/ComposeContentWarning.html @@ -19,7 +19,7 @@ import { scheduleIdleTask } from '../../_utils/scheduleIdleTask' export default { - oncreate() { + oncreate () { this.setupSyncFromStore() this.setupSyncToStore() }, @@ -28,12 +28,12 @@ rawText: '' }), methods: { - setupSyncFromStore() { + setupSyncFromStore () { this.observe('contentWarning', contentWarning => { this.set({rawText: contentWarning}) }) }, - setupSyncToStore() { + setupSyncToStore () { const saveText = debounce(() => scheduleIdleTask(() => this.store.save()), 1000) this.observe('rawText', rawText => { diff --git a/routes/_components/compose/ComposeInput.html b/routes/_components/compose/ComposeInput.html index 9df08596..b6b359c8 100644 --- a/routes/_components/compose/ComposeInput.html +++ b/routes/_components/compose/ComposeInput.html @@ -37,16 +37,16 @@ import { clickSelectedAutosuggestionEmoji } from '../../_actions/emoji' export default { - oncreate() { + oncreate () { this.setupSyncFromStore() this.setupSyncToStore() this.setupAutosize() }, - ondestroy() { + ondestroy () { this.teardownAutosize() }, methods: { - setupSyncFromStore() { + setupSyncFromStore () { let textarea = this.refs.textarea let firstTime = true this.observe('text', text => { @@ -68,7 +68,7 @@ } }) }, - setupSyncToStore() { + setupSyncToStore () { const saveStore = debounce(() => scheduleIdleTask(() => this.store.save()), 1000) this.observe('rawText', rawText => { @@ -79,7 +79,7 @@ stop('observe rawText') }, {init: false}) }, - setupAutosize() { + setupAutosize () { let textarea = this.refs.textarea requestAnimationFrame(() => { mark('autosize()') @@ -87,21 +87,21 @@ stop('autosize()') }) }, - teardownAutosize() { + teardownAutosize () { mark('autosize.destroy()') autosize.destroy(this.refs.textarea) stop('autosize.destroy()') }, - onBlur() { + onBlur () { this.store.set({composeFocused: false}) }, - onFocus() { + onFocus () { this.store.set({composeFocused: true}) }, - onSelectionChange(selectionStart) { + onSelectionChange (selectionStart) { this.store.set({composeSelectionStart: selectionStart}) }, - onKeydown(e) { + onKeydown (e) { let { keyCode } = e // ctrl or cmd (on macs) was pressed; ctrl-enter means post a toot const ctrlPressed = e.getModifierState('Control') || e.getModifierState('Meta') @@ -109,7 +109,7 @@ case 9: // tab this.clickSelectedAutosuggestion(e) break - case 13: //enter + case 13: // enter const autosuggestionClicked = this.clickSelectedAutosuggestion(e) if (!autosuggestionClicked && ctrlPressed) { this.fire('postAction') @@ -127,7 +127,7 @@ default: } }, - clickSelectedAutosuggestion(event) { + clickSelectedAutosuggestion (event) { let { composeAutosuggestionShown, composeAutosuggestionType @@ -145,7 +145,7 @@ event.stopPropagation() return true }, - incrementAutosuggestSelected(increment, event) { + incrementAutosuggestSelected (increment, event) { let { composeAutosuggestionShown, composeAutosuggestionSelected, @@ -166,7 +166,7 @@ event.preventDefault() event.stopPropagation() }, - clearAutosuggestions(event) { + clearAutosuggestions (event) { let { composeAutosuggestionShown } = this.store.get() if (!composeAutosuggestionShown) { return diff --git a/routes/_components/compose/ComposeLengthGauge.html b/routes/_components/compose/ComposeLengthGauge.html index 8d8b8636..d187e1e5 100644 --- a/routes/_components/compose/ComposeLengthGauge.html +++ b/routes/_components/compose/ComposeLengthGauge.html @@ -24,7 +24,7 @@ import { scheduleIdleTask } from '../../_utils/scheduleIdleTask' export default { - oncreate() { + oncreate () { let { lengthAsFraction } = this.get() this.set({lengthAsFractionDeferred: lengthAsFraction}) // perf improvement for keyboard input latency diff --git a/routes/_components/compose/ComposeLengthIndicator.html b/routes/_components/compose/ComposeLengthIndicator.html index dba68183..9b054ccf 100644 --- a/routes/_components/compose/ComposeLengthIndicator.html +++ b/routes/_components/compose/ComposeLengthIndicator.html @@ -22,7 +22,7 @@ import { scheduleIdleTask } from '../../_utils/scheduleIdleTask' export default { - oncreate() { + oncreate () { let { lengthToDisplay } = this.get() this.set({lengthToDisplayDeferred: lengthToDisplay}) // perf improvement for keyboard input latency diff --git a/routes/_components/compose/ComposeMediaItem.html b/routes/_components/compose/ComposeMediaItem.html index 37a32a2f..67b7549d 100644 --- a/routes/_components/compose/ComposeMediaItem.html +++ b/routes/_components/compose/ComposeMediaItem.html @@ -81,7 +81,7 @@ import { scheduleIdleTask } from '../../_utils/scheduleIdleTask' export default { - oncreate() { + oncreate () { this.setupSyncFromStore() this.setupSyncToStore() }, @@ -90,7 +90,7 @@ }), store: () => store, methods: { - setupSyncFromStore() { + setupSyncFromStore () { this.observe('mediaDescriptions', mediaDescriptions => { mediaDescriptions = mediaDescriptions || [] let { index, rawText } = this.get() @@ -100,7 +100,7 @@ } }) }, - setupSyncToStore() { + setupSyncToStore () { const saveStore = debounce(() => scheduleIdleTask(() => this.store.save()), 1000) this.observe('rawText', rawText => { @@ -118,7 +118,7 @@ saveStore() }, {init: false}) }, - onDeleteMedia() { + onDeleteMedia () { let { realm, index diff --git a/routes/_components/compose/ComposeToolbar.html b/routes/_components/compose/ComposeToolbar.html index 2059a4c6..5d0b2822 100644 --- a/routes/_components/compose/ComposeToolbar.html +++ b/routes/_components/compose/ComposeToolbar.html @@ -52,7 +52,7 @@ import ComposeAutosuggest from './ComposeAutosuggest.html' export default { - oncreate() { + oncreate () { if (process.env.NODE_ENV !== 'production') { window.__fakeFileInput = (file) => { this.onFileChange({ @@ -69,25 +69,25 @@ }, store: () => store, methods: { - async onEmojiClick() { + async onEmojiClick () { let dialogs = await importDialogs() let { realm } = this.get() dialogs.showEmojiDialog(realm) }, - onMediaClick() { + onMediaClick () { this.refs.input.click() }, - onFileChange(e) { + onFileChange (e) { let file = e.target.files[0] let { realm } = this.get() doMediaUpload(realm, file) }, - async onPostPrivacyClick() { + async onPostPrivacyClick () { let dialogs = await importDialogs() let { realm } = this.get() dialogs.showPostPrivacyDialog(realm) }, - onContentWarningClick() { + onContentWarningClick () { let { realm } = this.get() toggleContentWarningShown(realm) } diff --git a/routes/_components/dialog/components/AccountProfileOptionsDialog.html b/routes/_components/dialog/components/AccountProfileOptionsDialog.html index a0d3fdb4..c78f7691 100644 --- a/routes/_components/dialog/components/AccountProfileOptionsDialog.html +++ b/routes/_components/dialog/components/AccountProfileOptionsDialog.html @@ -55,8 +55,8 @@ export default { muteIcon: (muting) => muting ? '#fa-volume-up' : '#fa-volume-off', // end account data copypasta items: (blockLabel, blocking, blockIcon, muteLabel, muteIcon, - followLabel, followIcon, following, followRequested, - accountId, verifyCredentialsId, acct) => { + followLabel, followIcon, following, followRequested, + accountId, verifyCredentialsId, acct) => { let isUser = accountId === verifyCredentialsId return [ !isUser && { @@ -86,7 +86,7 @@ export default { methods: { show, close, - onClick(item) { + onClick (item) { switch (item.key) { case 'mention': return this.onMentionClicked() @@ -98,7 +98,7 @@ export default { return this.onMuteClicked() } }, - async onMentionClicked() { + async onMentionClicked () { let { acct } = this.get() this.store.setComposeData('dialog', { text: `@${acct} ` @@ -107,17 +107,17 @@ export default { dialogs.showComposeDialog() this.close() }, - async onFollowClicked() { + async onFollowClicked () { let { accountId, following } = this.get() this.close() await setAccountFollowed(accountId, !following, true) }, - async onBlockClicked() { + async onBlockClicked () { let { accountId, blocking } = this.get() this.close() await setAccountBlocked(accountId, !blocking, true) }, - async onMuteClicked() { + async onMuteClicked () { let { accountId, muting } = this.get() this.close() await setAccountMuted(accountId, !muting, true) @@ -126,6 +126,6 @@ export default { components: { ModalDialog, GenericDialogList - }, + } } \ No newline at end of file diff --git a/routes/_components/dialog/components/ComposeDialog.html b/routes/_components/dialog/components/ComposeDialog.html index 4b0f466e..54750769 100644 --- a/routes/_components/dialog/components/ComposeDialog.html +++ b/routes/_components/dialog/components/ComposeDialog.html @@ -15,14 +15,14 @@ import { close } from '../helpers/closeDialog' export default { - oncreate() { + oncreate () { on('postedStatus', this, this.onPostedStatus) onCreateDialog.call(this) }, methods: { show, close, - onPostedStatus(realm) { + onPostedStatus (realm) { if (realm !== 'dialog') { return } diff --git a/routes/_components/dialog/components/ConfirmationDialog.html b/routes/_components/dialog/components/ConfirmationDialog.html index 8047fa20..592304cd 100644 --- a/routes/_components/dialog/components/ConfirmationDialog.html +++ b/routes/_components/dialog/components/ConfirmationDialog.html @@ -40,14 +40,14 @@ import { oncreate as onCreateDialog } from '../helpers/onCreateDialog' export default { - oncreate() { + oncreate () { on('destroyDialog', this, this.onDestroyDialog) onCreateDialog.call(this) }, methods: { show, close, - onDestroyDialog(thisId) { + onDestroyDialog (thisId) { let { id, positiveResult, @@ -67,11 +67,11 @@ } } }, - onPositive() { + onPositive () { this.set({positiveResult: true}) this.close() }, - onNegative() { + onNegative () { this.close() } }, diff --git a/routes/_components/dialog/components/EmojiDialog.html b/routes/_components/dialog/components/EmojiDialog.html index 4ed61e4f..9ee619fa 100644 --- a/routes/_components/dialog/components/EmojiDialog.html +++ b/routes/_components/dialog/components/EmojiDialog.html @@ -81,7 +81,7 @@ methods: { show, close, - onClickEmoji(emoji) { + onClickEmoji (emoji) { let { realm } = this.get() insertEmoji(realm, emoji) this.close() diff --git a/routes/_components/dialog/components/ModalDialog.html b/routes/_components/dialog/components/ModalDialog.html index 776a99f2..0932d19c 100644 --- a/routes/_components/dialog/components/ModalDialog.html +++ b/routes/_components/dialog/components/ModalDialog.html @@ -127,7 +127,7 @@ import { on, emit } from '../../../_utils/eventBus' export default { - oncreate() { + oncreate () { let dialogElement = this.refs.node.parentElement this._a11yDialog = new A11yDialog(dialogElement) this._a11yDialog.on('hide', () => { @@ -162,7 +162,7 @@ } }, methods: { - showDialog(thisId) { + showDialog (thisId) { let { id } = this.get() if (id !== thisId) { return @@ -172,7 +172,7 @@ this.set({ fadedIn: true }) }) }, - closeDialog(thisId) { + closeDialog (thisId) { let { id } = this.get() if (id !== thisId) { return diff --git a/routes/_components/dialog/components/PostPrivacyDialog.html b/routes/_components/dialog/components/PostPrivacyDialog.html index 2d6a4be2..2748d376 100644 --- a/routes/_components/dialog/components/PostPrivacyDialog.html +++ b/routes/_components/dialog/components/PostPrivacyDialog.html @@ -29,7 +29,7 @@ methods: { show, close, - onClick(item) { + onClick (item) { let { realm } = this.get() setPostPrivacy(realm, item.key) this.close() diff --git a/routes/_components/dialog/components/StatusOptionsDialog.html b/routes/_components/dialog/components/StatusOptionsDialog.html index 6457216b..ced5002b 100644 --- a/routes/_components/dialog/components/StatusOptionsDialog.html +++ b/routes/_components/dialog/components/StatusOptionsDialog.html @@ -53,8 +53,8 @@ export default { muteIcon: (muting) => muting ? '#fa-volume-up' : '#fa-volume-off', // end account data copypasta items: (blockLabel, blocking, blockIcon, muteLabel, muteIcon, - followLabel, followIcon, following, followRequested, - accountId, verifyCredentialsId) => { + followLabel, followIcon, following, followRequested, + accountId, verifyCredentialsId) => { let isUser = accountId === verifyCredentialsId return [ isUser && { @@ -89,7 +89,7 @@ export default { methods: { show, close, - onClick(item) { + onClick (item) { switch (item.key) { case 'delete': return this.onDeleteClicked() @@ -101,22 +101,22 @@ export default { return this.onMuteClicked() } }, - async onDeleteClicked() { + async onDeleteClicked () { let { statusId } = this.get() this.close() await doDeleteStatus(statusId) }, - async onFollowClicked() { + async onFollowClicked () { let { accountId, following } = this.get() this.close() await setAccountFollowed(accountId, !following, true) }, - async onBlockClicked() { + async onBlockClicked () { let { accountId, blocking } = this.get() this.close() await setAccountBlocked(accountId, !blocking, true) }, - async onMuteClicked() { + async onMuteClicked () { let { accountId, muting } = this.get() this.close() await setAccountMuted(accountId, !muting, true) diff --git a/routes/_components/profile/AccountProfileDetails.html b/routes/_components/profile/AccountProfileDetails.html index 446e8e18..db39b710 100644 --- a/routes/_components/profile/AccountProfileDetails.html +++ b/routes/_components/profile/AccountProfileDetails.html @@ -120,7 +120,7 @@ numFollowersDisplay: numFollowers => numberFormat.format(numFollowers) }, methods: { - async onMoreOptionsClick() { + async onMoreOptionsClick () { let { account, relationship, verifyCredentials } = this.get() let dialogs = await importDialogs() dialogs.showAccountProfileOptionsDialog(account, relationship, verifyCredentials) diff --git a/routes/_components/profile/AccountProfileFollow.html b/routes/_components/profile/AccountProfileFollow.html index 93947cbc..d58658d0 100644 --- a/routes/_components/profile/AccountProfileFollow.html +++ b/routes/_components/profile/AccountProfileFollow.html @@ -28,7 +28,7 @@ export default { methods: { - async onFollowButtonClick(e) { + async onFollowButtonClick (e) { e.preventDefault() e.stopPropagation() let { diff --git a/routes/_components/profile/AccountProfileNote.html b/routes/_components/profile/AccountProfileNote.html index eb543c55..9525385b 100644 --- a/routes/_components/profile/AccountProfileNote.html +++ b/routes/_components/profile/AccountProfileNote.html @@ -39,7 +39,7 @@ note = `
${note}
` } return note - }, + } } } \ No newline at end of file diff --git a/routes/_components/pseudoVirtualList/PseudoVirtualList.html b/routes/_components/pseudoVirtualList/PseudoVirtualList.html index 1018d255..f67077a2 100644 --- a/routes/_components/pseudoVirtualList/PseudoVirtualList.html +++ b/routes/_components/pseudoVirtualList/PseudoVirtualList.html @@ -19,14 +19,13 @@ } \ No newline at end of file diff --git a/routes/_components/settings/SettingsNavItem.html b/routes/_components/settings/SettingsNavItem.html index bf2886c4..e99cd1ff 100644 --- a/routes/_components/settings/SettingsNavItem.html +++ b/routes/_components/settings/SettingsNavItem.html @@ -13,10 +13,10 @@ \ No newline at end of file diff --git a/routes/_components/status/Status.html b/routes/_components/status/Status.html index ed7c966e..f3f6e085 100644 --- a/routes/_components/status/Status.html +++ b/routes/_components/status/Status.html @@ -122,7 +122,7 @@ const isStatusArticle = node => node.classList.contains('status-article') export default { - oncreate() { + oncreate () { let { delegateKey, isStatusInOwnThread, showContent } = this.get() if (!isStatusInOwnThread) { // the whole