From 6bda44be523828a59f2911a3e3924323482114fc Mon Sep 17 00:00:00 2001 From: pa Date: Fri, 18 Apr 2025 15:04:03 +0900 Subject: [PATCH] refactor: Organize Project Structure (#1211) * refactor: Organize Project Structure * fix * fix * rm security * fix --- src/{classes/request => api}/avatar.js | 0 .../request => api}/avatarModeration.js | 0 src/{classes/request => api}/favorite.js | 0 src/{classes/request => api}/friend.js | 0 src/{classes/request => api}/group.js | 0 src/{classes/request => api}/image.js | 0 src/{classes/request => api}/index.js | 0 src/{classes/request => api}/instance.js | 0 .../request => api}/inviteMessages.js | 0 src/{classes/request => api}/misc.js | 0 src/{classes/request => api}/notification.js | 0 .../request => api}/playerModeration.js | 0 src/{classes/request => api}/user.js | 0 src/{classes/request => api}/vrcPlusIcon.js | 0 src/{classes/request => api}/vrcPlusImage.js | 0 src/{classes/request => api}/world.js | 0 src/app.js | 62 +++++++++--------- src/app.pug | 4 +- src/app.scss | 18 ++--- src/{ => assets/images}/blank.png | Bin src/{ => assets/images}/masks/askme.svg | 0 src/{ => assets/images}/masks/busy.svg | 0 src/{ => assets/images}/masks/joinme.svg | 0 src/{ => assets/images}/masks/phone.svg | 0 src/{ => assets/images}/masks/usercutout.svg | 0 .../images}/masks/usercutoutmobile.svg | 0 src/{ => assets/scss}/animated-emoji.scss | 0 src/{ => assets/scss}/emoji.font.scss | 0 src/{ => assets/scss}/flags.scss | 0 src/{ => assets/scss/themes}/theme.dark.scss | 0 .../scss/themes}/theme.darkvanilla.scss | 0 .../scss/themes}/theme.darkvanillaold.scss | 2 +- .../scss/themes}/theme.material3.scss | 2 +- src/{ => assets/scss/themes}/theme.pink.scss | 2 +- src/classes/_classTemplate.js | 4 +- src/classes/apiLogin.js | 4 +- src/classes/booping.js | 2 +- src/classes/discordRpc.js | 4 +- src/classes/feed.js | 4 +- src/classes/gameLog.js | 6 +- src/classes/gameRealtimeLogging.js | 6 +- src/classes/groups.js | 4 +- src/classes/languages.js | 2 +- src/classes/memos.js | 2 +- src/classes/prompts.js | 6 +- src/classes/restoreFriendOrder.js | 4 +- src/classes/sharedFeed.js | 4 +- src/classes/uiComponents.js | 2 +- src/classes/updateLoop.js | 2 +- src/classes/vrcRegistry.js | 2 +- src/classes/vrcxNotifications.js | 2 +- src/classes/websocket.js | 2 +- src/components/{sidebar => }/FriendItem.vue | 2 +- .../launch => components}/LaunchDialog.vue | 6 +- src/components/{common => }/Location.vue | 4 +- src/{views => components}/NavMenu.vue | 2 +- .../{settings => }/SimpleSwitch.vue | 0 .../dialogs/AvatarDialog}/AvatarDialog.vue | 4 +- .../AvatarDialog}/SetAvatarStylesDialog.vue | 2 +- .../AvatarDialog}/SetAvatarTagsDialog.vue | 2 +- .../dialogs/ChooseFavoriteGroupDialog.vue} | 4 +- .../dialogs/GroupDialog}/GroupDialog.vue | 4 +- .../GroupMemberModerationDialog.vue | 2 +- .../GroupMemberModerationExportDialog.vue | 0 .../GroupDialog}/GroupPostEditDialog.vue | 2 +- .../GroupDialog}/InviteGroupDialog.vue | 2 +- .../dialogs}/NewInstanceDialog.vue | 6 +- .../PreviousInstancesInfoDialog.vue | 4 +- .../PreviousInstancesUserDialog.vue | 4 +- .../PreviousInstancesWorldDialog.vue | 2 +- .../WorldDialog}/SetWorldTagsDialog.vue | 2 +- .../WorldAllowedDomainsDialog.vue | 2 +- .../dialogs/WorldDialog}/WorldDialog.vue | 14 ++-- .../groups/useGroupMemberModeration.js | 2 +- src/mixins/tabs/playerList.pug | 4 +- src/{repository => service}/config.js | 2 +- src/{ => service}/confusables.js | 0 src/{repository => service}/database.js | 2 +- src/{ => service}/security.js | 0 src/{repository => service}/shared.js | 0 src/views/{tabs => Charts}/Charts.vue | 2 +- .../Charts/components}/InstanceActivity.vue | 6 +- .../components}/InstanceActivityDetail.vue | 4 +- src/views/{tabs => Favorites}/Favorites.vue | 8 +-- .../components}/FavoritesAvatarItem.vue | 2 +- .../FavoritesAvatarLocalHistoryItem.vue | 0 .../components}/FavoritesAvatarTab.vue | 4 +- .../components}/FavoritesFriendItem.vue | 4 +- .../components}/FavoritesFriendTab.vue | 4 +- .../components}/FavoritesWorldItem.vue | 2 +- .../components}/FavoritesWorldTab.vue | 4 +- .../dialogs}/AvatarExportDialog.vue | 0 .../dialogs}/AvatarImportDialog.vue | 2 +- .../dialogs}/FriendExportDialog.vue | 0 .../dialogs}/FriendImportDialog.vue | 2 +- .../dialogs}/WorldExportDialog.vue | 0 .../dialogs}/WorldImportDialog.vue | 2 +- .../FriendList.vue} | 10 +-- src/views/{tabs => Moderation}/Moderation.vue | 4 +- .../dialogs}/ExportAvatarsListDialog.vue | 2 +- .../dialogs}/ExportFriendsListDialog.vue | 0 src/views/{ => SideBar}/SideBar.vue | 6 +- .../SideBar/components}/FriendsSidebar.vue | 8 +-- .../SideBar/components}/GroupsSidebar.vue | 4 +- src/vr.scss | 6 +- webpack.config.js | 19 +++--- 106 files changed, 172 insertions(+), 165 deletions(-) rename src/{classes/request => api}/avatar.js (100%) rename src/{classes/request => api}/avatarModeration.js (100%) rename src/{classes/request => api}/favorite.js (100%) rename src/{classes/request => api}/friend.js (100%) rename src/{classes/request => api}/group.js (100%) rename src/{classes/request => api}/image.js (100%) rename src/{classes/request => api}/index.js (100%) rename src/{classes/request => api}/instance.js (100%) rename src/{classes/request => api}/inviteMessages.js (100%) rename src/{classes/request => api}/misc.js (100%) rename src/{classes/request => api}/notification.js (100%) rename src/{classes/request => api}/playerModeration.js (100%) rename src/{classes/request => api}/user.js (100%) rename src/{classes/request => api}/vrcPlusIcon.js (100%) rename src/{classes/request => api}/vrcPlusImage.js (100%) rename src/{classes/request => api}/world.js (100%) rename src/{ => assets/images}/blank.png (100%) rename src/{ => assets/images}/masks/askme.svg (100%) rename src/{ => assets/images}/masks/busy.svg (100%) rename src/{ => assets/images}/masks/joinme.svg (100%) rename src/{ => assets/images}/masks/phone.svg (100%) rename src/{ => assets/images}/masks/usercutout.svg (100%) rename src/{ => assets/images}/masks/usercutoutmobile.svg (100%) rename src/{ => assets/scss}/animated-emoji.scss (100%) rename src/{ => assets/scss}/emoji.font.scss (100%) rename src/{ => assets/scss}/flags.scss (100%) rename src/{ => assets/scss/themes}/theme.dark.scss (100%) rename src/{ => assets/scss/themes}/theme.darkvanilla.scss (100%) rename src/{ => assets/scss/themes}/theme.darkvanillaold.scss (99%) rename src/{ => assets/scss/themes}/theme.material3.scss (99%) rename src/{ => assets/scss/themes}/theme.pink.scss (99%) rename src/components/{sidebar => }/FriendItem.vue (98%) rename src/{views/dialogs/launch => components}/LaunchDialog.vue (98%) rename src/components/{common => }/Location.vue (98%) rename src/{views => components}/NavMenu.vue (98%) rename src/components/{settings => }/SimpleSwitch.vue (100%) rename src/{views/dialogs/avatarDialog => components/dialogs/AvatarDialog}/AvatarDialog.vue (99%) rename src/{views/dialogs/avatarDialog => components/dialogs/AvatarDialog}/SetAvatarStylesDialog.vue (98%) rename src/{views/dialogs/avatarDialog => components/dialogs/AvatarDialog}/SetAvatarTagsDialog.vue (99%) rename src/{views/dialogs/favoritesDialog/FavoriteDialog.vue => components/dialogs/ChooseFavoriteGroupDialog.vue} (98%) rename src/{views/dialogs/groupDialog => components/dialogs/GroupDialog}/GroupDialog.vue (99%) rename src/{views/dialogs/groupDialog => components/dialogs/GroupDialog}/GroupMemberModerationDialog.vue (99%) rename src/{views/dialogs/groupDialog => components/dialogs/GroupDialog}/GroupMemberModerationExportDialog.vue (100%) rename src/{views/dialogs/groupDialog => components/dialogs/GroupDialog}/GroupPostEditDialog.vue (99%) rename src/{views/dialogs/groupDialog => components/dialogs/GroupDialog}/InviteGroupDialog.vue (99%) rename src/{views/dialogs/world => components/dialogs}/NewInstanceDialog.vue (99%) rename src/{views/dialogs/previousInstances => components/dialogs/PreviousInstancesDialog}/PreviousInstancesInfoDialog.vue (98%) rename src/{views/dialogs/previousInstances => components/dialogs/PreviousInstancesDialog}/PreviousInstancesUserDialog.vue (98%) rename src/{views/dialogs/previousInstances => components/dialogs/PreviousInstancesDialog}/PreviousInstancesWorldDialog.vue (99%) rename src/{views/dialogs/world => components/dialogs/WorldDialog}/SetWorldTagsDialog.vue (99%) rename src/{views/dialogs/world => components/dialogs/WorldDialog}/WorldAllowedDomainsDialog.vue (97%) rename src/{views/dialogs/world => components/dialogs/WorldDialog}/WorldDialog.vue (99%) rename src/{repository => service}/config.js (98%) rename src/{ => service}/confusables.js (100%) rename src/{repository => service}/database.js (99%) rename src/{ => service}/security.js (100%) rename src/{repository => service}/shared.js (100%) rename src/views/{tabs => Charts}/Charts.vue (92%) rename src/{components/charts => views/Charts/components}/InstanceActivity.vue (99%) rename src/{components/charts => views/Charts/components}/InstanceActivityDetail.vue (99%) rename src/views/{tabs => Favorites}/Favorites.vue (98%) rename src/{components/favorites => views/Favorites/components}/FavoritesAvatarItem.vue (99%) rename src/{components/favorites => views/Favorites/components}/FavoritesAvatarLocalHistoryItem.vue (100%) rename src/{components/favorites => views/Favorites/components}/FavoritesAvatarTab.vue (99%) rename src/{components/favorites => views/Favorites/components}/FavoritesFriendItem.vue (98%) rename src/{components/favorites => views/Favorites/components}/FavoritesFriendTab.vue (97%) rename src/{components/favorites => views/Favorites/components}/FavoritesWorldItem.vue (99%) rename src/{components/favorites => views/Favorites/components}/FavoritesWorldTab.vue (99%) rename src/views/{dialogs/favorites => Favorites/dialogs}/AvatarExportDialog.vue (100%) rename src/views/{dialogs/favorites => Favorites/dialogs}/AvatarImportDialog.vue (99%) rename src/views/{dialogs/favorites => Favorites/dialogs}/FriendExportDialog.vue (100%) rename src/views/{dialogs/favorites => Favorites/dialogs}/FriendImportDialog.vue (99%) rename src/views/{dialogs/favorites => Favorites/dialogs}/WorldExportDialog.vue (100%) rename src/views/{dialogs/favorites => Favorites/dialogs}/WorldImportDialog.vue (99%) rename src/views/{tabs/FriendsList.vue => FriendList/FriendList.vue} (98%) rename src/views/{tabs => Moderation}/Moderation.vue (98%) rename src/views/{dialogs/favoritesDialog => Profile/dialogs}/ExportAvatarsListDialog.vue (98%) rename src/views/{dialogs/favoritesDialog => Profile/dialogs}/ExportFriendsListDialog.vue (100%) rename src/views/{ => SideBar}/SideBar.vue (96%) rename src/{components/sidebar => views/SideBar/components}/FriendsSidebar.vue (98%) rename src/{components/sidebar => views/SideBar/components}/GroupsSidebar.vue (97%) diff --git a/src/classes/request/avatar.js b/src/api/avatar.js similarity index 100% rename from src/classes/request/avatar.js rename to src/api/avatar.js diff --git a/src/classes/request/avatarModeration.js b/src/api/avatarModeration.js similarity index 100% rename from src/classes/request/avatarModeration.js rename to src/api/avatarModeration.js diff --git a/src/classes/request/favorite.js b/src/api/favorite.js similarity index 100% rename from src/classes/request/favorite.js rename to src/api/favorite.js diff --git a/src/classes/request/friend.js b/src/api/friend.js similarity index 100% rename from src/classes/request/friend.js rename to src/api/friend.js diff --git a/src/classes/request/group.js b/src/api/group.js similarity index 100% rename from src/classes/request/group.js rename to src/api/group.js diff --git a/src/classes/request/image.js b/src/api/image.js similarity index 100% rename from src/classes/request/image.js rename to src/api/image.js diff --git a/src/classes/request/index.js b/src/api/index.js similarity index 100% rename from src/classes/request/index.js rename to src/api/index.js diff --git a/src/classes/request/instance.js b/src/api/instance.js similarity index 100% rename from src/classes/request/instance.js rename to src/api/instance.js diff --git a/src/classes/request/inviteMessages.js b/src/api/inviteMessages.js similarity index 100% rename from src/classes/request/inviteMessages.js rename to src/api/inviteMessages.js diff --git a/src/classes/request/misc.js b/src/api/misc.js similarity index 100% rename from src/classes/request/misc.js rename to src/api/misc.js diff --git a/src/classes/request/notification.js b/src/api/notification.js similarity index 100% rename from src/classes/request/notification.js rename to src/api/notification.js diff --git a/src/classes/request/playerModeration.js b/src/api/playerModeration.js similarity index 100% rename from src/classes/request/playerModeration.js rename to src/api/playerModeration.js diff --git a/src/classes/request/user.js b/src/api/user.js similarity index 100% rename from src/classes/request/user.js rename to src/api/user.js diff --git a/src/classes/request/vrcPlusIcon.js b/src/api/vrcPlusIcon.js similarity index 100% rename from src/classes/request/vrcPlusIcon.js rename to src/api/vrcPlusIcon.js diff --git a/src/classes/request/vrcPlusImage.js b/src/api/vrcPlusImage.js similarity index 100% rename from src/classes/request/vrcPlusImage.js rename to src/api/vrcPlusImage.js diff --git a/src/classes/request/world.js b/src/api/world.js similarity index 100% rename from src/classes/request/world.js rename to src/api/world.js diff --git a/src/app.js b/src/app.js index da5508fa..21c65e5c 100644 --- a/src/app.js +++ b/src/app.js @@ -26,12 +26,12 @@ import * as workerTimers from 'worker-timers'; import 'default-passive-events'; // util classes -import configRepository from './repository/config.js'; +import configRepository from './service/config.js'; import webApiService from './service/webapi.js'; -import security from './security.js'; -import database from './repository/database.js'; +import security from './service/security.js'; +import database from './service/database.js'; import * as localizedStrings from './localization/localizedStrings.js'; -import removeConfusables, { removeWhitespace } from './confusables.js'; +import removeConfusables, { removeWhitespace } from './service/confusables.js'; import $utils from './classes/utils.js'; import _apiInit from './classes/apiInit.js'; import _apiRequestHandler from './classes/apiRequestHandler.js'; @@ -52,34 +52,34 @@ import { imageRequest, vrcPlusImageRequest, groupRequest -} from './classes/request'; +} from './api'; // tabs -import ModerationTab from './views/tabs/Moderation.vue'; -import ChartsTab from './views/tabs/Charts.vue'; -import SideBar from './views/SideBar.vue'; -import NavMenu from './views/NavMenu.vue'; -import FriendsListTab from './views/tabs/FriendsList.vue'; -import FavoritesTab from './views/tabs/Favorites.vue'; +import ModerationTab from './views/Moderation/Moderation.vue'; +import ChartsTab from './views/Charts/Charts.vue'; +import SideBar from './views/SideBar/SideBar.vue'; +import NavMenu from './components/NavMenu.vue'; +import FriendListTab from './views/FriendList/FriendList.vue'; +import FavoritesTab from './views/Favorites/Favorites.vue'; // components -import SimpleSwitch from './components/settings/SimpleSwitch.vue'; -import Location from './components/common/Location.vue'; +import SimpleSwitch from './components/SimpleSwitch.vue'; +import Location from './components/Location.vue'; // dialogs -import WorldDialog from './views/dialogs/world/WorldDialog.vue'; -import PreviousInstancesInfoDialog from './views/dialogs/previousInstances/PreviousInstancesInfoDialog.vue'; -import FriendImportDialog from './views/dialogs/favorites/FriendImportDialog.vue'; -import WorldImportDialog from './views/dialogs/favorites/WorldImportDialog.vue'; -import AvatarImportDialog from './views/dialogs/favorites/AvatarImportDialog.vue'; -import LaunchDialog from './views/dialogs/launch/LaunchDialog.vue'; -import PreviousInstancesUserDialog from './views/dialogs/previousInstances/PreviousInstancesUserDialog.vue'; -import FavoriteDialog from './views/dialogs/favoritesDialog/FavoriteDialog.vue'; -import ExportFriendsListDialog from './views/dialogs/favoritesDialog/ExportFriendsListDialog.vue'; -import ExportAvatarsListDialog from './views/dialogs/favoritesDialog/ExportAvatarsListDialog.vue'; -import GroupDialog from './views/dialogs/groupDialog/GroupDialog.vue'; -import InviteGroupDialog from './views/dialogs/groupDialog/InviteGroupDialog.vue'; -import AvatarDialog from './views/dialogs/avatarDialog/AvatarDialog.vue'; +import WorldDialog from './components/dialogs/WorldDialog/WorldDialog.vue'; +import PreviousInstancesInfoDialog from './components/dialogs/PreviousInstancesDialog/PreviousInstancesInfoDialog.vue'; +import FriendImportDialog from './views/Favorites/dialogs/FriendImportDialog.vue'; +import WorldImportDialog from './views/Favorites/dialogs/WorldImportDialog.vue'; +import AvatarImportDialog from './views/Favorites/dialogs/AvatarImportDialog.vue'; +import LaunchDialog from './components/LaunchDialog.vue'; +import PreviousInstancesUserDialog from './components/dialogs/PreviousInstancesDialog/PreviousInstancesUserDialog.vue'; +import ChooseFavoriteGroupDialog from './components/dialogs/ChooseFavoriteGroupDialog.vue'; +import ExportFriendsListDialog from './views/Profile/dialogs/ExportFriendsListDialog.vue'; +import ExportAvatarsListDialog from './views/Profile/dialogs/ExportAvatarsListDialog.vue'; +import GroupDialog from './components/dialogs/GroupDialog/GroupDialog.vue'; +import InviteGroupDialog from './components/dialogs/GroupDialog/InviteGroupDialog.vue'; +import AvatarDialog from './components/dialogs/AvatarDialog/AvatarDialog.vue'; // main app classes import _sharedFeed from './classes/sharedFeed.js'; @@ -219,7 +219,7 @@ console.log(`isLinux: ${LINUX}`); // tabs ModerationTab, ChartsTab, - FriendsListTab, + FriendListTab, FavoritesTab, // - others SideBar, @@ -236,7 +236,7 @@ console.log(`isLinux: ${LINUX}`); // - previous instances PreviousInstancesInfoDialog, PreviousInstancesUserDialog, - // - world + // - WorldDialog WorldDialog, // - group GroupDialog, @@ -248,7 +248,7 @@ console.log(`isLinux: ${LINUX}`); WorldImportDialog, AvatarImportDialog, // - favorites dialog - FavoriteDialog, + ChooseFavoriteGroupDialog, ExportFriendsListDialog, ExportAvatarsListDialog, // - launch @@ -4127,7 +4127,7 @@ console.log(`isLinux: ${LINUX}`); const searchText = value.substr(7); if (this.quickSearchItems.length > 1 && searchText.length) { this.friendsListSearch = searchText; - this.menuActiveIndex = 'friendsList'; + this.menuActiveIndex = 'friendList'; } else { this.menuActiveIndex = 'search'; this.searchText = searchText; @@ -18546,7 +18546,7 @@ console.log(`isLinux: ${LINUX}`); $app.computed.isSideBarTabShow = function () { return !( - this.menuActiveIndex === 'friendsList' || + this.menuActiveIndex === 'friendList' || this.menuActiveIndex === 'charts' ); }; diff --git a/src/app.pug b/src/app.pug index 11d34c63..f3a84759 100644 --- a/src/app.pug +++ b/src/app.pug @@ -61,7 +61,7 @@ doctype html +profileTab //- friends list - FriendsListTab(v-bind='friendsListTabBind' v-on='friendsListTabEvent') + FriendListTab(v-bind='friendsListTabBind' v-on='friendsListTabEvent') //- charts keep-alive @@ -120,7 +120,7 @@ doctype html AvatarImportDialog(v-bind='avatarImportDialogBind' v-on='avatarImportDialogEvent') //- favorites dialog - FavoriteDialog(v-bind='favoriteDialogBind' v-on='favoriteDialogEvent') + ChooseFavoriteGroupDialog(v-bind='favoriteDialogBind' v-on='favoriteDialogEvent') ExportFriendsListDialog(v-bind='exportFriendsListDialogBind' v-on='exportFriendsListDialogEvent') diff --git a/src/app.scss b/src/app.scss index ed786156..0ae81d17 100644 --- a/src/app.scss +++ b/src/app.scss @@ -420,7 +420,7 @@ img.friends-list-avatar { .x-friend-item > .avatar.joinme.mobile > img, .x-friend-item > .avatar.askme.mobile > img, .x-friend-item > .avatar.busy.mobile > img { - mask-image: url(masks/usercutoutmobile.svg); + mask-image: url(assets/images/masks/usercutoutmobile.svg); } .x-friend-item > .avatar.online.mobile::after, @@ -434,7 +434,7 @@ img.friends-list-avatar { height: 14px; content: ''; border-radius: 0px; - mask-image: url(masks/phone.svg); + mask-image: url(assets/images/masks/phone.svg); } .x-friend-item > .avatar.active > img, @@ -443,7 +443,7 @@ img.friends-list-avatar { .x-friend-item > .avatar.askme > img, .x-friend-item > .avatar.busy > img, .x-friend-item > .avatar.offline > img { - mask-image: url(masks/usercutout.svg); + mask-image: url(assets/images/masks/usercutout.svg); } .x-friend-item > .avatar.active::after, @@ -472,17 +472,17 @@ img.friends-list-avatar { .x-friend-item > .avatar.joinme::after { background: #409eff; - mask-image: url(masks/joinme.svg); + mask-image: url(assets/images/masks/joinme.svg); } .x-friend-item > .avatar.askme::after { background: #ff9500; - mask-image: url(masks/askme.svg); + mask-image: url(assets/images/masks/askme.svg); } .x-friend-item > .avatar.busy::after { background: #ff2c2c; - mask-image: url(masks/busy.svg); + mask-image: url(assets/images/masks/busy.svg); } .x-friend-item > .avatar.offline::after { @@ -603,17 +603,17 @@ i.x-user-status.online { i.x-user-status.joinme { background: #409eff; - mask-image: url(masks/joinme.svg); + mask-image: url(assets/images/masks/joinme.svg); } i.x-user-status.askme { background: #ff9500; - mask-image: url(masks/askme.svg); + mask-image: url(assets/images/masks/askme.svg); } i.x-user-status.busy { background: #ff2c2c; - mask-image: url(masks/busy.svg); + mask-image: url(assets/images/masks/busy.svg); } i.x-status-icon.green { diff --git a/src/blank.png b/src/assets/images/blank.png similarity index 100% rename from src/blank.png rename to src/assets/images/blank.png diff --git a/src/masks/askme.svg b/src/assets/images/masks/askme.svg similarity index 100% rename from src/masks/askme.svg rename to src/assets/images/masks/askme.svg diff --git a/src/masks/busy.svg b/src/assets/images/masks/busy.svg similarity index 100% rename from src/masks/busy.svg rename to src/assets/images/masks/busy.svg diff --git a/src/masks/joinme.svg b/src/assets/images/masks/joinme.svg similarity index 100% rename from src/masks/joinme.svg rename to src/assets/images/masks/joinme.svg diff --git a/src/masks/phone.svg b/src/assets/images/masks/phone.svg similarity index 100% rename from src/masks/phone.svg rename to src/assets/images/masks/phone.svg diff --git a/src/masks/usercutout.svg b/src/assets/images/masks/usercutout.svg similarity index 100% rename from src/masks/usercutout.svg rename to src/assets/images/masks/usercutout.svg diff --git a/src/masks/usercutoutmobile.svg b/src/assets/images/masks/usercutoutmobile.svg similarity index 100% rename from src/masks/usercutoutmobile.svg rename to src/assets/images/masks/usercutoutmobile.svg diff --git a/src/animated-emoji.scss b/src/assets/scss/animated-emoji.scss similarity index 100% rename from src/animated-emoji.scss rename to src/assets/scss/animated-emoji.scss diff --git a/src/emoji.font.scss b/src/assets/scss/emoji.font.scss similarity index 100% rename from src/emoji.font.scss rename to src/assets/scss/emoji.font.scss diff --git a/src/flags.scss b/src/assets/scss/flags.scss similarity index 100% rename from src/flags.scss rename to src/assets/scss/flags.scss diff --git a/src/theme.dark.scss b/src/assets/scss/themes/theme.dark.scss similarity index 100% rename from src/theme.dark.scss rename to src/assets/scss/themes/theme.dark.scss diff --git a/src/theme.darkvanilla.scss b/src/assets/scss/themes/theme.darkvanilla.scss similarity index 100% rename from src/theme.darkvanilla.scss rename to src/assets/scss/themes/theme.darkvanilla.scss diff --git a/src/theme.darkvanillaold.scss b/src/assets/scss/themes/theme.darkvanillaold.scss similarity index 99% rename from src/theme.darkvanillaold.scss rename to src/assets/scss/themes/theme.darkvanillaold.scss index c79dc6fd..70d684a8 100644 --- a/src/theme.darkvanillaold.scss +++ b/src/assets/scss/themes/theme.darkvanillaold.scss @@ -2,7 +2,7 @@ * VRCX Dark-Vanilla theme by MintLily * https://github.com/MintLily/Dark-Vanilla */ -@import 'theme.dark.scss'; +@import 'theme.dark'; :root { --ThemeName: 'Dark Vanilla'; --ThemeVersion: 'v1.7'; diff --git a/src/theme.material3.scss b/src/assets/scss/themes/theme.material3.scss similarity index 99% rename from src/theme.material3.scss rename to src/assets/scss/themes/theme.material3.scss index f4666061..fef22ae0 100644 --- a/src/theme.material3.scss +++ b/src/assets/scss/themes/theme.material3.scss @@ -2,7 +2,7 @@ * VRCX Material-You-like theme by Kamiya * https://github.com/kamiya10/VRCX-theme */ -@import 'theme.dark.scss'; +@import 'theme.dark'; @import url('https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;600&family=Noto+Sans+TC:wght@300;400;500&family=Noto+Sans+SC:wght@300;400;500&family=Noto+Sans+JP:wght@300;400;500&family=Roboto&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200'); diff --git a/src/theme.pink.scss b/src/assets/scss/themes/theme.pink.scss similarity index 99% rename from src/theme.pink.scss rename to src/assets/scss/themes/theme.pink.scss index 815dd0a5..9f78ad57 100644 --- a/src/theme.pink.scss +++ b/src/assets/scss/themes/theme.pink.scss @@ -2,7 +2,7 @@ * VRCX Pink theme by Kamiya * https://github.com/kamiya10/VRCX-theme */ -@import 'theme.dark.scss'; +@import 'theme.dark'; @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); :root { --theme: #dfa2a2; diff --git a/src/classes/_classTemplate.js b/src/classes/_classTemplate.js index c17fead7..2bf5ec36 100644 --- a/src/classes/_classTemplate.js +++ b/src/classes/_classTemplate.js @@ -1,6 +1,6 @@ import * as workerTimers from 'worker-timers'; -import configRepository from '../repository/config.js'; -import database from '../repository/database.js'; +import configRepository from '../service/config.js'; +import database from '../service/database.js'; import { baseClass, $app, API, $t, $utils } from './baseClass.js'; export default class extends baseClass { diff --git a/src/classes/apiLogin.js b/src/classes/apiLogin.js index b71f16b3..21453b6f 100644 --- a/src/classes/apiLogin.js +++ b/src/classes/apiLogin.js @@ -1,6 +1,6 @@ import Noty from 'noty'; -import security from '../security.js'; -import configRepository from '../repository/config.js'; +import security from '../service/security.js'; +import configRepository from '../service/config.js'; import { baseClass, $app, API, $t } from './baseClass.js'; /* eslint-disable no-unused-vars */ let webApiService = {}; diff --git a/src/classes/booping.js b/src/classes/booping.js index b240d852..d9b58467 100644 --- a/src/classes/booping.js +++ b/src/classes/booping.js @@ -1,5 +1,5 @@ import { baseClass, $app, API, $t, $utils } from './baseClass.js'; -import { notificationRequest } from './request'; +import { notificationRequest } from '../api'; export default class extends baseClass { constructor(_app, _API, _t) { diff --git a/src/classes/discordRpc.js b/src/classes/discordRpc.js index 49ac45e1..85e39d89 100644 --- a/src/classes/discordRpc.js +++ b/src/classes/discordRpc.js @@ -1,6 +1,6 @@ -import configRepository from '../repository/config.js'; +import configRepository from '../service/config.js'; import { baseClass, $app, API, $t, $utils } from './baseClass.js'; -import { worldRequest } from './request'; +import { worldRequest } from '../api'; export default class extends baseClass { constructor(_app, _API, _t) { diff --git a/src/classes/feed.js b/src/classes/feed.js index 8e28a6df..ff46f214 100644 --- a/src/classes/feed.js +++ b/src/classes/feed.js @@ -1,6 +1,6 @@ import { baseClass, $app, API, $t, $utils } from './baseClass.js'; -import configRepository from '../repository/config.js'; -import database from '../repository/database.js'; +import configRepository from '../service/config.js'; +import database from '../service/database.js'; export default class extends baseClass { constructor(_app, _API, _t) { diff --git a/src/classes/gameLog.js b/src/classes/gameLog.js index a37660d0..03dbfc32 100644 --- a/src/classes/gameLog.js +++ b/src/classes/gameLog.js @@ -1,9 +1,9 @@ import * as workerTimers from 'worker-timers'; import gameLogService from '../service/gamelog.js'; -import configRepository from '../repository/config.js'; -import database from '../repository/database.js'; +import configRepository from '../service/config.js'; +import database from '../service/database.js'; import { baseClass, $app, API, $t, $utils } from './baseClass.js'; -import { userRequest } from './request'; +import { userRequest } from '../api'; import dayjs from 'dayjs'; export default class extends baseClass { diff --git a/src/classes/gameRealtimeLogging.js b/src/classes/gameRealtimeLogging.js index 566b35cd..f1fdb79c 100644 --- a/src/classes/gameRealtimeLogging.js +++ b/src/classes/gameRealtimeLogging.js @@ -1,8 +1,8 @@ import * as workerTimers from 'worker-timers'; -import configRepository from '../repository/config.js'; -import database from '../repository/database.js'; +import configRepository from '../service/config.js'; +import database from '../service/database.js'; import { baseClass, $app, API, $t, $utils } from './baseClass.js'; -import { instanceRequest, userRequest } from './request'; +import { instanceRequest, userRequest } from '../api'; export default class extends baseClass { constructor(_app, _API, _t) { diff --git a/src/classes/groups.js b/src/classes/groups.js index af451309..3c19ce0e 100644 --- a/src/classes/groups.js +++ b/src/classes/groups.js @@ -1,12 +1,12 @@ import * as workerTimers from 'worker-timers'; -import configRepository from '../repository/config.js'; +import configRepository from '../service/config.js'; import { baseClass, $app, API, $t } from './baseClass.js'; import { userRequest, worldRequest, instanceRequest, groupRequest -} from './request'; +} from '../api'; export default class extends baseClass { constructor(_app, _API, _t) { diff --git a/src/classes/languages.js b/src/classes/languages.js index dd6230f0..f0f14894 100644 --- a/src/classes/languages.js +++ b/src/classes/languages.js @@ -1,5 +1,5 @@ import { baseClass, $app, API, $t, $utils } from './baseClass.js'; -import { userRequest } from './request'; +import { userRequest } from '../api'; export default class extends baseClass { constructor(_app, _API, _t) { diff --git a/src/classes/memos.js b/src/classes/memos.js index 503000a4..d2cbd511 100644 --- a/src/classes/memos.js +++ b/src/classes/memos.js @@ -1,5 +1,5 @@ import { baseClass, $app, API, $t, $utils } from './baseClass.js'; -import database from '../repository/database.js'; +import database from '../service/database.js'; export default class extends baseClass { constructor(_app, _API, _t) { diff --git a/src/classes/prompts.js b/src/classes/prompts.js index 5da92ee7..9601e094 100644 --- a/src/classes/prompts.js +++ b/src/classes/prompts.js @@ -1,8 +1,8 @@ import * as workerTimers from 'worker-timers'; -import configRepository from '../repository/config.js'; -import database from '../repository/database.js'; +import configRepository from '../service/config.js'; +import database from '../service/database.js'; import { baseClass, $app, API, $t, $utils } from './baseClass.js'; -import { avatarRequest, favoriteRequest, worldRequest } from './request'; +import { avatarRequest, favoriteRequest, worldRequest } from '../api'; export default class extends baseClass { constructor(_app, _API, _t) { diff --git a/src/classes/restoreFriendOrder.js b/src/classes/restoreFriendOrder.js index 2b837eb4..6c25960b 100644 --- a/src/classes/restoreFriendOrder.js +++ b/src/classes/restoreFriendOrder.js @@ -1,6 +1,6 @@ import * as workerTimers from 'worker-timers'; -import configRepository from '../repository/config.js'; -import database from '../repository/database.js'; +import configRepository from '../service/config.js'; +import database from '../service/database.js'; import { baseClass, $app, API, $t, $utils } from './baseClass.js'; export default class extends baseClass { diff --git a/src/classes/sharedFeed.js b/src/classes/sharedFeed.js index 9503a952..d178f570 100644 --- a/src/classes/sharedFeed.js +++ b/src/classes/sharedFeed.js @@ -1,7 +1,7 @@ import * as workerTimers from 'worker-timers'; -import configRepository from '../repository/config.js'; +import configRepository from '../service/config.js'; import { baseClass, $app, API } from './baseClass.js'; -import { worldRequest, groupRequest } from './request'; +import { worldRequest, groupRequest } from '../api'; export default class extends baseClass { constructor(_app, _API, _t) { diff --git a/src/classes/uiComponents.js b/src/classes/uiComponents.js index a59d3199..514dd4bf 100644 --- a/src/classes/uiComponents.js +++ b/src/classes/uiComponents.js @@ -1,7 +1,7 @@ import Vue from 'vue'; import VueMarkdown from 'vue-markdown'; import { baseClass, $app, API, $t, $utils } from './baseClass.js'; -import { instanceRequest, userRequest } from './request'; +import { instanceRequest, userRequest } from '../api'; import utils from './utils'; export default class extends baseClass { diff --git a/src/classes/updateLoop.js b/src/classes/updateLoop.js index 6c03c63a..5ad701a1 100644 --- a/src/classes/updateLoop.js +++ b/src/classes/updateLoop.js @@ -1,6 +1,6 @@ import * as workerTimers from 'worker-timers'; import { baseClass, $app, API } from './baseClass.js'; -import { groupRequest } from './request/index.js'; +import { groupRequest } from '../api/index.js'; export default class extends baseClass { constructor(_app, _API, _t) { diff --git a/src/classes/vrcRegistry.js b/src/classes/vrcRegistry.js index 52c97484..2b8ca859 100644 --- a/src/classes/vrcRegistry.js +++ b/src/classes/vrcRegistry.js @@ -1,4 +1,4 @@ -import configRepository from '../repository/config.js'; +import configRepository from '../service/config.js'; import { baseClass, $app, API, $t, $utils } from './baseClass.js'; export default class extends baseClass { diff --git a/src/classes/vrcxNotifications.js b/src/classes/vrcxNotifications.js index 07839b89..15e86960 100644 --- a/src/classes/vrcxNotifications.js +++ b/src/classes/vrcxNotifications.js @@ -1,5 +1,5 @@ import { baseClass, $app, API, $t, $utils } from './baseClass.js'; -import { userRequest } from './request'; +import { userRequest } from '../api'; export default class extends baseClass { constructor(_app, _API, _t) { diff --git a/src/classes/websocket.js b/src/classes/websocket.js index 63e00f9b..d77d5df7 100644 --- a/src/classes/websocket.js +++ b/src/classes/websocket.js @@ -1,7 +1,7 @@ import * as workerTimers from 'worker-timers'; import Noty from 'noty'; import { baseClass, $app, API, $utils } from './baseClass.js'; -import { groupRequest } from './request'; +import { groupRequest } from '../api'; export default class extends baseClass { constructor(_app, _API, _t) { diff --git a/src/components/sidebar/FriendItem.vue b/src/components/FriendItem.vue similarity index 98% rename from src/components/sidebar/FriendItem.vue rename to src/components/FriendItem.vue index 69e0d2a0..838e5bee 100644 --- a/src/components/sidebar/FriendItem.vue +++ b/src/components/FriendItem.vue @@ -63,7 +63,7 @@