refactor: Organize Project Structure (#1211)
* refactor: Organize Project Structure * fix * fix * rm security * fix
62
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'
|
||||
);
|
||||
};
|
||||
|
||||
@@ -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')
|
||||
|
||||
|
||||
18
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 {
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 645 B After Width: | Height: | Size: 645 B |
|
Before Width: | Height: | Size: 541 B After Width: | Height: | Size: 541 B |
|
Before Width: | Height: | Size: 843 B After Width: | Height: | Size: 843 B |
|
Before Width: | Height: | Size: 737 B After Width: | Height: | Size: 737 B |
|
Before Width: | Height: | Size: 659 B After Width: | Height: | Size: 659 B |
|
Before Width: | Height: | Size: 591 B After Width: | Height: | Size: 591 B |
@@ -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';
|
||||
@@ -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');
|
||||
|
||||
@@ -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;
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 = {};
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Location from '../common/Location.vue';
|
||||
import Location from './Location.vue';
|
||||
|
||||
export default {
|
||||
name: 'FriendItem',
|
||||
@@ -88,9 +88,9 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import utils from '../../../classes/utils';
|
||||
import configRepository from '../../../repository/config';
|
||||
import { instanceRequest } from '../../../classes/request';
|
||||
import utils from '../classes/utils';
|
||||
import configRepository from '../service/config';
|
||||
import { instanceRequest } from '../api';
|
||||
|
||||
export default {
|
||||
name: 'LaunchDialog',
|
||||
@@ -16,7 +16,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import utils from '../../classes/utils';
|
||||
import utils from '../classes/utils';
|
||||
|
||||
export default {
|
||||
// eslint-disable-next-line vue/multi-word-component-names
|
||||
@@ -142,7 +142,7 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
handleShowGroupDialog(){
|
||||
handleShowGroupDialog() {
|
||||
let location = this.location;
|
||||
if (this.isTraveling) {
|
||||
location = this.traveling;
|
||||
@@ -61,7 +61,7 @@
|
||||
</template>
|
||||
</el-menu-item>
|
||||
|
||||
<el-menu-item index="friendsList">
|
||||
<el-menu-item index="friendList">
|
||||
<i class="el-icon-s-management"></i>
|
||||
<template slot="title">
|
||||
<span>{{ $t('nav_tooltip.friend_list') }}</span>
|
||||
@@ -512,8 +512,8 @@
|
||||
<script setup>
|
||||
import { inject, computed, getCurrentInstance, reactive, nextTick, watch, ref } from 'vue';
|
||||
import utils from '../../../classes/utils';
|
||||
import database from '../../../repository/database';
|
||||
import { avatarModerationRequest, avatarRequest, favoriteRequest, miscRequest } from '../../../classes/request';
|
||||
import database from '../../../service/database';
|
||||
import { avatarModerationRequest, avatarRequest, favoriteRequest, miscRequest } from '../../../api';
|
||||
import { useI18n } from 'vue-i18n-bridge';
|
||||
import $utils from '../../../classes/utils';
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
import { inject, watch, getCurrentInstance } from 'vue';
|
||||
|
||||
import { useI18n } from 'vue-i18n-bridge';
|
||||
import { avatarRequest } from '../../../classes/request';
|
||||
import { avatarRequest } from '../../../api';
|
||||
|
||||
const beforeDialogClose = inject('beforeDialogClose');
|
||||
const dialogMouseDown = inject('dialogMouseDown');
|
||||
@@ -100,7 +100,7 @@
|
||||
import { inject, watch, getCurrentInstance } from 'vue';
|
||||
|
||||
import { useI18n } from 'vue-i18n-bridge';
|
||||
import { avatarRequest } from '../../../classes/request';
|
||||
import { avatarRequest } from '../../../api';
|
||||
|
||||
const beforeDialogClose = inject('beforeDialogClose');
|
||||
const dialogMouseDown = inject('dialogMouseDown');
|
||||
@@ -73,11 +73,11 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { favoriteRequest } from '../../../classes/request';
|
||||
import { favoriteRequest } from '../../api';
|
||||
import Noty from 'noty';
|
||||
|
||||
export default {
|
||||
name: 'FavoriteDialog',
|
||||
name: 'ChooseFavoriteGroupDialog',
|
||||
inject: ['API', 'beforeDialogClose', 'dialogMouseDown', 'dialogMouseUp', 'adjustDialogZ'],
|
||||
props: {
|
||||
favoriteDialog: {
|
||||
@@ -1174,8 +1174,8 @@
|
||||
import { getCurrentInstance, nextTick, reactive, ref, watch, inject } from 'vue';
|
||||
import { useI18n } from 'vue-i18n-bridge';
|
||||
import utils from '../../../classes/utils';
|
||||
import { groupRequest } from '../../../classes/request';
|
||||
import Location from '../../../components/common/Location.vue';
|
||||
import { groupRequest } from '../../../api';
|
||||
import Location from '../../Location.vue';
|
||||
import GroupPostEditDialog from './GroupPostEditDialog.vue';
|
||||
import GroupMemberModerationDialog from './GroupMemberModerationDialog.vue';
|
||||
import * as workerTimers from 'worker-timers';
|
||||
@@ -813,7 +813,7 @@
|
||||
import { getCurrentInstance, inject, ref, watch } from 'vue';
|
||||
import { useI18n } from 'vue-i18n-bridge';
|
||||
import utils from '../../../classes/utils';
|
||||
import { groupRequest, userRequest } from '../../../classes/request';
|
||||
import { groupRequest, userRequest } from '../../../api';
|
||||
import GroupMemberModerationExportDialog from './GroupMemberModerationExportDialog.vue';
|
||||
import { useModerationTable, useSelectedUsers } from '../../../composables/groups/useGroupMemberModeration';
|
||||
|
||||
@@ -111,7 +111,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { groupRequest } from '../../../classes/request';
|
||||
import { groupRequest } from '../../../api';
|
||||
|
||||
export default {
|
||||
name: 'GroupPostEditDialog',
|
||||
@@ -169,7 +169,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { groupRequest, userRequest } from '../../../classes/request';
|
||||
import { groupRequest, userRequest } from '../../../api';
|
||||
import utils from '../../../classes/utils';
|
||||
|
||||
export default {
|
||||
@@ -490,9 +490,9 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { groupRequest, instanceRequest } from '../../../classes/request';
|
||||
import utils from '../../../classes/utils';
|
||||
import configRepository from '../../../repository/config';
|
||||
import { groupRequest, instanceRequest } from '../../api';
|
||||
import utils from '../../classes/utils';
|
||||
import configRepository from '../../service/config';
|
||||
|
||||
export default {
|
||||
name: 'NewInstanceDialog',
|
||||
@@ -62,9 +62,9 @@
|
||||
|
||||
<script>
|
||||
import utils from '../../../classes/utils';
|
||||
import database from '../../../repository/database';
|
||||
import database from '../../../service/database';
|
||||
import dayjs from 'dayjs';
|
||||
import Location from '../../../components/common/Location.vue';
|
||||
import Location from '../../Location.vue';
|
||||
|
||||
export default {
|
||||
name: 'PreviousInstancesInfoDialog',
|
||||
@@ -73,8 +73,8 @@
|
||||
|
||||
<script>
|
||||
import utils from '../../../classes/utils';
|
||||
import database from '../../../repository/database';
|
||||
import Location from '../../../components/common/Location.vue';
|
||||
import database from '../../../service/database';
|
||||
import Location from '../../Location.vue';
|
||||
|
||||
export default {
|
||||
name: 'PreviousInstancesUserDialog',
|
||||
@@ -71,7 +71,7 @@
|
||||
|
||||
<script>
|
||||
import utils from '../../../classes/utils';
|
||||
import database from '../../../repository/database';
|
||||
import database from '../../../service/database';
|
||||
|
||||
export default {
|
||||
name: 'PreviousInstancesWorldDialog',
|
||||
@@ -84,7 +84,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { worldRequest } from '../../../classes/request';
|
||||
import { worldRequest } from '../../../api';
|
||||
|
||||
export default {
|
||||
name: 'SetWorldTagsDialog',
|
||||
@@ -35,7 +35,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { worldRequest } from '../../../classes/request';
|
||||
import { worldRequest } from '../../../api';
|
||||
|
||||
export default {
|
||||
name: 'WorldAllowedDomainsDialog',
|
||||
@@ -318,7 +318,11 @@
|
||||
<i class="el-icon-user" />
|
||||
{{ $t('dialog.world.instances.public_count', { count: worldDialog.ref.publicOccupants }) }}
|
||||
<i class="el-icon-user-solid" style="margin-left: 10px" />
|
||||
{{ $t('dialog.world.instances.private_count', { count: worldDialog.ref.privateOccupants }) }}
|
||||
{{
|
||||
$t('dialog.world.instances.private_count', {
|
||||
count: worldDialog.ref.privateOccupants
|
||||
})
|
||||
}}
|
||||
<i class="el-icon-check" style="margin-left: 10px" />
|
||||
{{
|
||||
$t('dialog.world.instances.capacity_count', {
|
||||
@@ -762,12 +766,12 @@
|
||||
|
||||
<script>
|
||||
import utils from '../../../classes/utils';
|
||||
import database from '../../../repository/database.js';
|
||||
import database from '../../../service/database.js';
|
||||
import WorldAllowedDomainsDialog from './WorldAllowedDomainsDialog.vue';
|
||||
import SetWorldTagsDialog from './SetWorldTagsDialog.vue';
|
||||
import PreviousInstancesWorldDialog from '../previousInstances/PreviousInstancesWorldDialog.vue';
|
||||
import NewInstanceDialog from './NewInstanceDialog.vue';
|
||||
import { favoriteRequest, miscRequest, worldRequest } from '../../../classes/request';
|
||||
import PreviousInstancesWorldDialog from '../PreviousInstancesDialog/PreviousInstancesWorldDialog.vue';
|
||||
import NewInstanceDialog from '../NewInstanceDialog.vue';
|
||||
import { favoriteRequest, miscRequest, worldRequest } from '../../../api';
|
||||
|
||||
export default {
|
||||
name: 'WorldDialog',
|
||||
@@ -1,5 +1,5 @@
|
||||
import { reactive, ref } from 'vue';
|
||||
import configRepository from '../../repository/config';
|
||||
import configRepository from '../../service/config';
|
||||
|
||||
function useModerationTable() {
|
||||
const groupInvitesModerationTable = reactive({
|
||||
|
||||
@@ -16,7 +16,7 @@ mixin playerListTab
|
||||
span.x-link(
|
||||
@click='showWorldDialog(currentInstanceWorld.ref.id)'
|
||||
style='font-weight: bold; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1')
|
||||
|#[i.el-icon-s-home(v-show='API.currentUser.$homeLocation && API.currentUser.$homeLocation.worldId === currentInstanceWorld.ref.id' style='margin-right: 5px')] {{ currentInstanceWorld.ref.name }}
|
||||
| #[i.el-icon-s-home(v-show='API.currentUser.$homeLocation && API.currentUser.$homeLocation.worldId === currentInstanceWorld.ref.id' style='margin-right: 5px')] {{ currentInstanceWorld.ref.name }}
|
||||
div
|
||||
span.x-link.x-grey(
|
||||
v-text='currentInstanceWorld.ref.authorName'
|
||||
@@ -88,7 +88,7 @@ mixin playerListTab
|
||||
@show-launch-dialog='showLaunchDialog')
|
||||
span(v-if='lastLocation.playerList.size > 0' style='margin-left: 5px')
|
||||
| {{ lastLocation.playerList.size }}
|
||||
| #[template(v-if='lastLocation.friendList.size > 0') ({{ lastLocation.friendList.size }})]
|
||||
| #[template(v-if='lastLocation.friendList.size > 0') ({{ lastLocation.friendList.size }})]
|
||||
| ― #[timer(v-if='lastLocation.date' :epoch='lastLocation.date')]
|
||||
div(style='margin-top: 5px')
|
||||
span(
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import sqliteService from '../service/sqlite.js';
|
||||
import sqliteService from './sqlite.js';
|
||||
import sharedRepository, { SharedRepository } from './shared.js';
|
||||
import * as workerTimers from 'worker-timers';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import sqliteService from '../service/sqlite.js';
|
||||
import sqliteService from './sqlite.js';
|
||||
|
||||
class Database {
|
||||
setmaxTableSize(limit) {
|
||||
@@ -15,7 +15,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import InstanceActivity from '../../components/charts/InstanceActivity.vue';
|
||||
import InstanceActivity from './components/InstanceActivity.vue';
|
||||
export default {
|
||||
name: 'ChartsTab',
|
||||
components: {
|
||||
@@ -116,9 +116,9 @@
|
||||
|
||||
<script>
|
||||
import dayjs from 'dayjs';
|
||||
import database from '../../repository/database';
|
||||
import utils from '../../classes/utils';
|
||||
import configRepository from '../../repository/config';
|
||||
import database from '../../../service/database';
|
||||
import utils from '../../../classes/utils';
|
||||
import configRepository from '../../../service/config';
|
||||
import InstanceActivityDetail from './InstanceActivityDetail.vue';
|
||||
|
||||
export default {
|
||||
@@ -19,8 +19,8 @@
|
||||
|
||||
<script>
|
||||
import dayjs from 'dayjs';
|
||||
import utils from '../../classes/utils';
|
||||
import Location from '../common/Location.vue';
|
||||
import utils from '../../../classes/utils';
|
||||
import Location from '../../../components/Location.vue';
|
||||
|
||||
export default {
|
||||
name: 'InstanceActivityDetail',
|
||||
@@ -86,10 +86,10 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import FavoritesFriendTab from '../../components/favorites/FavoritesFriendTab.vue';
|
||||
import FavoritesWorldTab from '../../components/favorites/FavoritesWorldTab.vue';
|
||||
import FavoritesAvatarTab from '../../components/favorites/FavoritesAvatarTab.vue';
|
||||
import { avatarRequest, favoriteRequest, worldRequest } from '../../classes/request';
|
||||
import FavoritesFriendTab from './components/FavoritesFriendTab.vue';
|
||||
import FavoritesWorldTab from './components/FavoritesWorldTab.vue';
|
||||
import FavoritesAvatarTab from './components/FavoritesAvatarTab.vue';
|
||||
import { avatarRequest, favoriteRequest, worldRequest } from '../../api';
|
||||
import * as workerTimers from 'worker-timers';
|
||||
|
||||
export default {
|
||||
@@ -132,7 +132,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { favoriteRequest } from '../../classes/request';
|
||||
import { favoriteRequest } from '../../../api';
|
||||
|
||||
export default {
|
||||
name: 'FavoritesAvatarItem',
|
||||
@@ -235,8 +235,8 @@
|
||||
<script>
|
||||
import FavoritesAvatarItem from './FavoritesAvatarItem.vue';
|
||||
import FavoritesAvatarLocalHistoryItem from './FavoritesAvatarLocalHistoryItem.vue';
|
||||
import AvatarExportDialog from '../../views/dialogs/favorites/AvatarExportDialog.vue';
|
||||
import { favoriteRequest } from '../../classes/request';
|
||||
import AvatarExportDialog from '../dialogs/AvatarExportDialog.vue';
|
||||
import { favoriteRequest } from '../../../api';
|
||||
|
||||
export default {
|
||||
name: 'FavoritesAvatarTab',
|
||||
@@ -83,8 +83,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Location from '../common/Location.vue';
|
||||
import { favoriteRequest } from '../../classes/request';
|
||||
import Location from '../../../components/Location.vue';
|
||||
import { favoriteRequest } from '../../../api';
|
||||
export default {
|
||||
components: { Location },
|
||||
inject: ['showUserDialog', 'userImage', 'userStatusClass', 'API', 'showFavoriteDialog'],
|
||||
@@ -78,8 +78,8 @@
|
||||
|
||||
<script>
|
||||
import FavoritesFriendItem from './FavoritesFriendItem.vue';
|
||||
import FriendExportDialog from '../../views/dialogs/favorites/FriendExportDialog.vue';
|
||||
import { favoriteRequest } from '../../classes/request';
|
||||
import FriendExportDialog from '../dialogs/FriendExportDialog.vue';
|
||||
import { favoriteRequest } from '../../../api';
|
||||
|
||||
export default {
|
||||
name: 'FavoritesFriendTab',
|
||||
@@ -129,7 +129,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { favoriteRequest } from '../../classes/request';
|
||||
import { favoriteRequest } from '../../../api';
|
||||
|
||||
export default {
|
||||
name: 'FavoritesWorldItem',
|
||||
@@ -226,8 +226,8 @@
|
||||
|
||||
<script>
|
||||
import FavoritesWorldItem from './FavoritesWorldItem.vue';
|
||||
import WorldExportDialog from '../../views/dialogs/favorites/WorldExportDialog.vue';
|
||||
import { favoriteRequest } from '../../classes/request';
|
||||
import WorldExportDialog from '../dialogs/WorldExportDialog.vue';
|
||||
import { favoriteRequest } from '../../../api';
|
||||
|
||||
export default {
|
||||
name: 'FavoritesWorldTab',
|
||||
@@ -175,7 +175,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { avatarRequest, favoriteRequest } from '../../../classes/request';
|
||||
import { avatarRequest, favoriteRequest } from '../../../api';
|
||||
import utils from '../../../classes/utils';
|
||||
|
||||
export default {
|
||||
@@ -127,7 +127,7 @@
|
||||
|
||||
<script>
|
||||
import utils from '../../../classes/utils';
|
||||
import { favoriteRequest, userRequest } from '../../../classes/request';
|
||||
import { favoriteRequest, userRequest } from '../../../api';
|
||||
|
||||
export default {
|
||||
name: 'FriendImportDialog',
|
||||
@@ -180,7 +180,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { favoriteRequest, worldRequest } from '../../../classes/request';
|
||||
import { favoriteRequest, worldRequest } from '../../../api';
|
||||
import utils from '../../../classes/utils';
|
||||
|
||||
export default {
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div v-show="menuActiveIndex === 'friendsList'" class="x-container">
|
||||
<div v-show="menuActiveIndex === 'friendList'" class="x-container">
|
||||
<div style="padding: 0 10px 0 10px">
|
||||
<div style="display: flex; align-items: center; justify-content: space-between">
|
||||
<span class="header">{{ $t('view.friend_list.header') }}</span>
|
||||
@@ -270,12 +270,12 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import removeConfusables, { removeWhitespace } from '../../confusables';
|
||||
import removeConfusables, { removeWhitespace } from '../../service/confusables';
|
||||
import utils from '../../classes/utils';
|
||||
import { friendRequest, userRequest } from '../../classes/request';
|
||||
import { friendRequest, userRequest } from '../../api';
|
||||
|
||||
export default {
|
||||
name: 'FriendsListTab',
|
||||
name: 'FriendListTab',
|
||||
inject: [
|
||||
'userImage',
|
||||
'userImageFull',
|
||||
@@ -328,7 +328,7 @@
|
||||
},
|
||||
watch: {
|
||||
menuActiveIndex() {
|
||||
if (this.menuActiveIndex === 'friendsList') {
|
||||
if (this.menuActiveIndex === 'friendList') {
|
||||
requestAnimationFrame(() => {
|
||||
this.friendsListSearchChange();
|
||||
});
|
||||
@@ -94,8 +94,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { playerModerationRequest } from '../../classes/request/index.js';
|
||||
import configRepository from '../../repository/config.js';
|
||||
import { playerModerationRequest } from '../../api';
|
||||
import configRepository from '../../service/config.js';
|
||||
|
||||
export default {
|
||||
name: 'ModerationTab',
|
||||
@@ -20,7 +20,7 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { avatarRequest } from '../../../classes/request';
|
||||
import { avatarRequest } from '../../../api';
|
||||
|
||||
export default {
|
||||
name: 'ExportAvatarsListDialog',
|
||||