import( 'src/components/flash/flash.vue'),
- ),
+ Flash: defineAsyncComponent(() => import('src/components/flash/flash.vue')),
StillImage,
VideoAttachment: defineAsyncComponent(
- () => import( 'src/components/video_attachment/video_attachment.vue'),
+ () => import('src/components/video_attachment/video_attachment.vue'),
),
Popover,
},
diff --git a/src/components/confirm_modal/mute_confirm.js b/src/components/confirm_modal/mute_confirm.js
index ffd3a3076..c2f5ff888 100644
--- a/src/components/confirm_modal/mute_confirm.js
+++ b/src/components/confirm_modal/mute_confirm.js
@@ -1,7 +1,7 @@
import { mapState } from 'pinia'
+import { defineAsyncComponent } from 'vue'
import Select from 'src/components/select/select.vue'
-import ConfirmModal from './confirm_modal.vue'
import { useMergedConfigStore } from 'src/stores/merged_config.js'
@@ -12,7 +12,10 @@ export default {
showing: false,
}),
components: {
- ConfirmModal,
+ ConfirmModal: defineAsyncComponent(
+ () => import('src/components/confirm_modal/confirm_modal.vue'),
+ ),
+
Select,
},
computed: {
diff --git a/src/components/confirm_modal/mute_confirm.vue b/src/components/confirm_modal/mute_confirm.vue
index 7c754b006..108a72477 100644
--- a/src/components/confirm_modal/mute_confirm.vue
+++ b/src/components/confirm_modal/mute_confirm.vue
@@ -1,5 +1,5 @@
-
-
+
diff --git a/src/components/desktop_nav/desktop_nav.js b/src/components/desktop_nav/desktop_nav.js
index 3382413a0..df855500a 100644
--- a/src/components/desktop_nav/desktop_nav.js
+++ b/src/components/desktop_nav/desktop_nav.js
@@ -1,7 +1,6 @@
import SearchBar from 'components/search_bar/search_bar.vue'
import { mapActions, mapState } from 'pinia'
-
-import ConfirmModal from '../confirm_modal/confirm_modal.vue'
+import { defineAsyncComponent } from 'vue'
import { useInstanceStore } from 'src/stores/instance.js'
import { useInterfaceStore } from 'src/stores/interface'
@@ -39,7 +38,9 @@ library.add(
export default {
components: {
SearchBar,
- ConfirmModal,
+ ConfirmModal: defineAsyncComponent(
+ () => import('src/components/confirm_modal/confirm_modal.vue'),
+ ),
},
data: () => ({
searchBarHidden: true,
diff --git a/src/components/desktop_nav/desktop_nav.vue b/src/components/desktop_nav/desktop_nav.vue
index 8c7f589b6..477a7634d 100644
--- a/src/components/desktop_nav/desktop_nav.vue
+++ b/src/components/desktop_nav/desktop_nav.vue
@@ -79,7 +79,7 @@
-
{{ $t('login.logout_confirm') }}
-
+
diff --git a/src/components/draft/draft.js b/src/components/draft/draft.js
index 182b3caa4..50758c731 100644
--- a/src/components/draft/draft.js
+++ b/src/components/draft/draft.js
@@ -1,7 +1,6 @@
import { cloneDeep } from 'lodash'
import { defineAsyncComponent } from 'vue'
-import ConfirmModal from 'src/components/confirm_modal/confirm_modal.vue'
import Gallery from 'src/components/gallery/gallery.vue'
import StatusContent from 'src/components/status_content/status_content.vue'
@@ -20,7 +19,10 @@ const Draft = {
EditStatusForm: defineAsyncComponent(
() => import('src/components/edit_status_form/edit_status_form.vue'),
),
- ConfirmModal,
+ ConfirmModal: defineAsyncComponent(
+ () => import('src/components/confirm_modal/confirm_modal.vue'),
+ ),
+
StatusContent,
Gallery,
},
diff --git a/src/components/draft/draft.vue b/src/components/draft/draft.vue
index 433ebae31..c8d72f821 100644
--- a/src/components/draft/draft.vue
+++ b/src/components/draft/draft.vue
@@ -77,7 +77,7 @@
/>
-
{{ $t('drafts.abandon_confirm') }}
-
+
diff --git a/src/components/follow_request_card/follow_request_card.js b/src/components/follow_request_card/follow_request_card.js
index a6ffcd28b..44658e985 100644
--- a/src/components/follow_request_card/follow_request_card.js
+++ b/src/components/follow_request_card/follow_request_card.js
@@ -1,6 +1,7 @@
+import { defineAsyncComponent } from 'vue'
+
import { notificationsFromStore } from '../../services/notification_utils/notification_utils.js'
import BasicUserCard from '../basic_user_card/basic_user_card.vue'
-import ConfirmModal from '../confirm_modal/confirm_modal.vue'
import { useMergedConfigStore } from 'src/stores/merged_config.js'
@@ -8,7 +9,9 @@ const FollowRequestCard = {
props: ['user'],
components: {
BasicUserCard,
- ConfirmModal,
+ ConfirmModal: defineAsyncComponent(
+ () => import('src/components/confirm_modal/confirm_modal.vue'),
+ ),
},
data() {
return {
diff --git a/src/components/follow_request_card/follow_request_card.vue b/src/components/follow_request_card/follow_request_card.vue
index 55b651120..64b185094 100644
--- a/src/components/follow_request_card/follow_request_card.vue
+++ b/src/components/follow_request_card/follow_request_card.vue
@@ -15,7 +15,7 @@
-
{{ $t('user_card.approve_confirm', { user: user.screen_name_ui }) }}
-
-
+
{{ $t('user_card.deny_confirm', { user: user.screen_name_ui }) }}
-
+
diff --git a/src/components/media_modal/media_modal.js b/src/components/media_modal/media_modal.js
index 0723fa203..2994cb531 100644
--- a/src/components/media_modal/media_modal.js
+++ b/src/components/media_modal/media_modal.js
@@ -1,10 +1,10 @@
-import GestureService from '../../services/gesture_service/gesture_service'
-
-import { useMediaViewerStore } from 'src/stores/media_viewer.js'
import { defineAsyncComponent } from 'vue'
import Modal from 'src/components/modal/modal.vue'
import StillImage from 'src/components/still-image/still-image.vue'
+import GestureService from '../../services/gesture_service/gesture_service'
+
+import { useMediaViewerStore } from 'src/stores/media_viewer.js'
import { library } from '@fortawesome/fontawesome-svg-core'
import {
@@ -20,18 +20,16 @@ const MediaModal = {
components: {
StillImage,
VideoAttachment: defineAsyncComponent(
- () => import( 'src/components/video_attachment/video_attachment.vue'),
+ () => import('src/components/video_attachment/video_attachment.vue'),
),
PinchZoom: defineAsyncComponent(
- () => import( 'src/components/pinch_zoom/pinch_zoom.vue'),
+ () => import('src/components/pinch_zoom/pinch_zoom.vue'),
),
SwipeClick: defineAsyncComponent(
- () => import( 'src/components/swipe_click/swipe_click.vue'),
+ () => import('src/components/swipe_click/swipe_click.vue'),
),
Modal,
- Flash: defineAsyncComponent(
- () => import( 'src/components/flash/flash.vue'),
- ),
+ Flash: defineAsyncComponent(() => import('src/components/flash/flash.vue')),
},
data() {
return {
diff --git a/src/components/mobile_nav/mobile_nav.js b/src/components/mobile_nav/mobile_nav.js
index 8aafd2709..fc77b0b12 100644
--- a/src/components/mobile_nav/mobile_nav.js
+++ b/src/components/mobile_nav/mobile_nav.js
@@ -2,7 +2,6 @@ import { mapState } from 'pinia'
import { defineAsyncComponent } from 'vue'
import { mapGetters } from 'vuex'
-import ConfirmModal from 'src/components/confirm_modal/confirm_modal.vue'
import NavigationPins from 'src/components/navigation/navigation_pins.vue'
import SideDrawer from 'src/components/side_drawer/side_drawer.vue'
import GestureService from '../../services/gesture_service/gesture_service'
@@ -34,7 +33,9 @@ const MobileNav = {
() => import('src/components/notifications/notifications.vue'),
),
NavigationPins,
- ConfirmModal,
+ ConfirmModal: defineAsyncComponent(
+ () => import('src/components/confirm_modal/confirm_modal.vue'),
+ ),
},
data: () => ({
notificationsCloseGesture: undefined,
diff --git a/src/components/mobile_nav/mobile_nav.vue b/src/components/mobile_nav/mobile_nav.vue
index 0eb8c986e..09009782a 100644
--- a/src/components/mobile_nav/mobile_nav.vue
+++ b/src/components/mobile_nav/mobile_nav.vue
@@ -106,7 +106,7 @@
:logout="logout"
/>
-
{{ $t('login.logout_confirm') }}
-
+
diff --git a/src/components/notification/notification.js b/src/components/notification/notification.js
index f302d06e2..c1b6c1441 100644
--- a/src/components/notification/notification.js
+++ b/src/components/notification/notification.js
@@ -1,3 +1,4 @@
+import { defineAsyncComponent } from 'vue'
import { mapState } from 'vuex'
import RichContent from 'src/components/rich_content/rich_content.jsx'
@@ -6,7 +7,6 @@ import {
highlightClass,
highlightStyle,
} from '../../services/user_highlighter/user_highlighter.js'
-import ConfirmModal from '../confirm_modal/confirm_modal.vue'
import Report from '../report/report.vue'
import Status from '../status/status.vue'
import StatusContent from '../status_content/status_content.vue'
@@ -69,7 +69,9 @@ const Notification = {
RichContent,
UserPopover,
UserLink,
- ConfirmModal,
+ ConfirmModal: defineAsyncComponent(
+ () => import('src/components/confirm_modal/confirm_modal.vue'),
+ ),
},
mounted() {
document.addEventListener('selectionchange', this.onContentSelect)
diff --git a/src/components/notification/notification.vue b/src/components/notification/notification.vue
index fbe45eceb..39bd15426 100644
--- a/src/components/notification/notification.vue
+++ b/src/components/notification/notification.vue
@@ -267,7 +267,7 @@
-
{{ $t('user_card.approve_confirm', { user: user.screen_name_ui }) }}
-
-
+
{{ $t('user_card.deny_confirm', { user: user.screen_name_ui }) }}
-
+
diff --git a/src/components/quote/quote.js b/src/components/quote/quote.js
index 14860dc9f..9525ddff2 100644
--- a/src/components/quote/quote.js
+++ b/src/components/quote/quote.js
@@ -1,6 +1,7 @@
import { defineAsyncComponent } from 'vue'
import Status from '../status/status.vue'
+
import { library } from '@fortawesome/fontawesome-svg-core'
import { faCircleNotch } from '@fortawesome/free-solid-svg-icons'
diff --git a/src/components/remove_follower_button/remove_follower_button.js b/src/components/remove_follower_button/remove_follower_button.js
index bd5aa6d5b..cbe92dce1 100644
--- a/src/components/remove_follower_button/remove_follower_button.js
+++ b/src/components/remove_follower_button/remove_follower_button.js
@@ -1,4 +1,4 @@
-import ConfirmModal from '../confirm_modal/confirm_modal.vue'
+import { defineAsyncComponent } from 'vue'
import { useMergedConfigStore } from 'src/stores/merged_config.js'
@@ -11,7 +11,9 @@ export default {
}
},
components: {
- ConfirmModal,
+ ConfirmModal: defineAsyncComponent(
+ () => import('src/components/confirm_modal/confirm_modal.vue'),
+ ),
},
computed: {
label() {
diff --git a/src/components/remove_follower_button/remove_follower_button.vue b/src/components/remove_follower_button/remove_follower_button.vue
index 3054770d9..93eaf66c4 100644
--- a/src/components/remove_follower_button/remove_follower_button.vue
+++ b/src/components/remove_follower_button/remove_follower_button.vue
@@ -8,7 +8,7 @@
>
{{ label }}
-
-
+
diff --git a/src/components/search/search.js b/src/components/search/search.js
index 23710b390..e160514a1 100644
--- a/src/components/search/search.js
+++ b/src/components/search/search.js
@@ -1,4 +1,4 @@
-import { uniqBy, map } from 'lodash'
+import { map, uniqBy } from 'lodash'
import TabSwitcher from 'src/components/tab_switcher/tab_switcher.jsx'
import Conversation from '../conversation/conversation.vue'
diff --git a/src/components/settings_modal/admin_tabs/emoji_tab.js b/src/components/settings_modal/admin_tabs/emoji_tab.js
index 78f71934b..98c0cb467 100644
--- a/src/components/settings_modal/admin_tabs/emoji_tab.js
+++ b/src/components/settings_modal/admin_tabs/emoji_tab.js
@@ -1,9 +1,9 @@
import Checkbox from 'components/checkbox/checkbox.vue'
-import ConfirmModal from 'components/confirm_modal/confirm_modal.vue'
import Popover from 'components/popover/popover.vue'
import Select from 'components/select/select.vue'
import StillImage from 'components/still-image/still-image.vue'
import { assign, clone } from 'lodash'
+import { defineAsyncComponent } from 'vue'
import TabSwitcher from 'src/components/tab_switcher/tab_switcher.jsx'
import EmojiEditingPopover from '../helpers/emoji_editing_popover.vue'
@@ -33,7 +33,10 @@ const EmojiTab = {
StillImage,
Select,
Popover,
- ConfirmModal,
+ ConfirmModal: defineAsyncComponent(
+ () => import('src/components/confirm_modal/confirm_modal.vue'),
+ ),
+
ModifiedIndicator,
EmojiEditingPopover,
},
diff --git a/src/components/settings_modal/helpers/emoji_editing_popover.vue b/src/components/settings_modal/helpers/emoji_editing_popover.vue
index 9fdcdd233..cd422b160 100644
--- a/src/components/settings_modal/helpers/emoji_editing_popover.vue
+++ b/src/components/settings_modal/helpers/emoji_editing_popover.vue
@@ -149,13 +149,21 @@
diff --git a/src/lib/persisted_state.js b/src/lib/persisted_state.js
index 2f8892f27..f6375dfed 100644
--- a/src/lib/persisted_state.js
+++ b/src/lib/persisted_state.js
@@ -1,4 +1,4 @@
-import { cloneDeep, each, get, set, merge } from 'lodash'
+import { cloneDeep, each, get, merge, set } from 'lodash'
import { storage } from './storage.js'
diff --git a/src/services/chat_service/chat_service.js b/src/services/chat_service/chat_service.js
index 314f9bb0c..eec267dde 100644
--- a/src/services/chat_service/chat_service.js
+++ b/src/services/chat_service/chat_service.js
@@ -1,4 +1,4 @@
-import { maxBy, minBy } from 'lodash'
+import { maxBy, minBy, orderBy, sortBy, uniqueId } from 'lodash'
const empty = (chatId) => {
return {
@@ -57,7 +57,7 @@ const cullOlderMessages = (storage) => {
const minIndex = maxIndex - 50
if (maxIndex <= 50) return
- storage.messages = _.sortBy(storage.messages, ['id'])
+ storage.messages = sortBy(storage.messages, ['id'])
storage.minId = storage.messages[minIndex].id
for (const message of storage.messages) {
if (message.id < storage.minId) {
@@ -78,7 +78,7 @@ const handleMessageError = (storage, fakeId, isRetry) => {
fakeMessage.pending = false
if (!isRetry) {
// Ensure the failed message doesn't stay at the bottom of the list.
- const lastPersistedMessage = _.orderBy(
+ const lastPersistedMessage = orderBy(
storage.messages,
['pending', 'id'],
['asc', 'desc'],
@@ -166,11 +166,7 @@ const getView = (storage) => {
}
const result = []
- const messages = _.orderBy(
- storage.messages,
- ['pending', 'id'],
- ['asc', 'asc'],
- )
+ const messages = orderBy(storage.messages, ['pending', 'id'], ['asc', 'asc'])
const firstMessage = messages[0]
let previousMessage = messages[messages.length - 1]
let currentMessageChainId
@@ -228,7 +224,7 @@ const getView = (storage) => {
previousMessage.data.account_id) !== message.account_id ||
afterDate
) {
- currentMessageChainId = _.uniqueId()
+ currentMessageChainId = uniqueId()
object.isHead = true
object.messageChainId = currentMessageChainId
}
diff --git a/src/services/notification_utils/notification_utils.js b/src/services/notification_utils/notification_utils.js
index 1149d7b9b..e7987146a 100644
--- a/src/services/notification_utils/notification_utils.js
+++ b/src/services/notification_utils/notification_utils.js
@@ -87,10 +87,7 @@ export const maybeShowNotification = (
)
return
- const notificationObject = prepareNotificationObject(
- notification,
- i18n,
- )
+ const notificationObject = prepareNotificationObject(notification, i18n)
showDesktopNotification(rootState, notificationObject)
}
@@ -193,7 +190,11 @@ export const prepareNotificationObject = (notification, i18n) => {
return notifObj
}
-export const countExtraNotifications = (store, mergedConfig, unreadAnnouncementCount) => {
+export const countExtraNotifications = (
+ store,
+ mergedConfig,
+ unreadAnnouncementCount,
+) => {
const rootGetters = store.rootGetters || store.getters
if (!mergedConfig.showExtraNotifications) {
diff --git a/src/services/sw/sw.js b/src/services/sw/sw.js
index 797f4c448..e744e37aa 100644
--- a/src/services/sw/sw.js
+++ b/src/services/sw/sw.js
@@ -18,8 +18,7 @@ function isPushSupported() {
function getOrCreateServiceWorker() {
if (!isSWSupported()) return
const swType = process.env.HAS_MODULE_SERVICE_WORKER ? 'module' : 'classic'
- return navigator
- .serviceWorker
+ return navigator.serviceWorker
.register('/sw-pleroma.js', { type: swType })
.catch((err) =>
console.error('Unable to get or create a service worker.', err),
diff --git a/vite.config.js b/vite.config.js
index fec18577e..3ffc5e816 100644
--- a/vite.config.js
+++ b/vite.config.js
@@ -1,10 +1,9 @@
import { dirname, resolve } from 'node:path'
import { fileURLToPath } from 'node:url'
+import { DevTools } from '@vitejs/devtools'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import { defineConfig } from 'vite'
-import { DevTools } from '@vitejs/devtools'
-
import eslint from 'vite-plugin-eslint2'
import stylelint from 'vite-plugin-stylelint'
import { configDefaults } from 'vitest/config'