aboutsummaryrefslogtreecommitdiff
path: root/FrontEnd/src
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2021-06-15 14:14:28 +0800
committercrupest <crupest@outlook.com>2021-06-15 14:14:28 +0800
commit47587812b809fee2a95c76266d9d0e42fc4ac1ca (patch)
treebfaa7320c838e21edf88b5a037263f89a8012222 /FrontEnd/src
parentda26373c7fc13cded47428b27638b349b0432437 (diff)
downloadtimeline-47587812b809fee2a95c76266d9d0e42fc4ac1ca.tar.gz
timeline-47587812b809fee2a95c76266d9d0e42fc4ac1ca.tar.bz2
timeline-47587812b809fee2a95c76266d9d0e42fc4ac1ca.zip
...
Diffstat (limited to 'FrontEnd/src')
-rw-r--r--FrontEnd/src/App.tsx (renamed from FrontEnd/src/app/App.tsx)0
-rw-r--r--FrontEnd/src/app/tsconfig.json13
-rw-r--r--FrontEnd/src/app/typings.d.ts24
-rw-r--r--FrontEnd/src/common.ts (renamed from FrontEnd/src/app/common.ts)0
-rw-r--r--FrontEnd/src/http/bookmark.ts (renamed from FrontEnd/src/app/http/bookmark.ts)0
-rw-r--r--FrontEnd/src/http/common.ts (renamed from FrontEnd/src/app/http/common.ts)0
-rw-r--r--FrontEnd/src/http/highlight.ts (renamed from FrontEnd/src/app/http/highlight.ts)0
-rw-r--r--FrontEnd/src/http/search.ts (renamed from FrontEnd/src/app/http/search.ts)0
-rw-r--r--FrontEnd/src/http/timeline.ts (renamed from FrontEnd/src/app/http/timeline.ts)0
-rw-r--r--FrontEnd/src/http/token.ts (renamed from FrontEnd/src/app/http/token.ts)0
-rw-r--r--FrontEnd/src/http/user.ts (renamed from FrontEnd/src/app/http/user.ts)0
-rw-r--r--FrontEnd/src/i18n.ts (renamed from FrontEnd/src/app/i18n.ts)4
-rw-r--r--FrontEnd/src/index.ejs (renamed from FrontEnd/src/app/index.ejs)0
-rw-r--r--FrontEnd/src/index.sass (renamed from FrontEnd/src/app/index.sass)0
-rw-r--r--FrontEnd/src/index.tsx (renamed from FrontEnd/src/app/index.tsx)0
-rw-r--r--FrontEnd/src/locales/en/admin.json (renamed from FrontEnd/src/app/locales/en/admin.json)0
-rw-r--r--FrontEnd/src/locales/en/translation.json (renamed from FrontEnd/src/app/locales/en/translation.json)0
-rw-r--r--FrontEnd/src/locales/zh/admin.json (renamed from FrontEnd/src/app/locales/zh/admin.json)0
-rw-r--r--FrontEnd/src/locales/zh/translation.json (renamed from FrontEnd/src/app/locales/zh/translation.json)0
-rw-r--r--FrontEnd/src/palette.ts (renamed from FrontEnd/src/app/palette.ts)0
-rw-r--r--FrontEnd/src/service-worker.txt (renamed from FrontEnd/src/app/service-worker.tsx)0
-rw-r--r--FrontEnd/src/services/TimelinePostBuilder.ts (renamed from FrontEnd/src/app/services/TimelinePostBuilder.ts)4
-rw-r--r--FrontEnd/src/services/alert.ts (renamed from FrontEnd/src/app/services/alert.ts)0
-rw-r--r--FrontEnd/src/services/timeline.ts (renamed from FrontEnd/src/app/services/timeline.ts)4
-rw-r--r--FrontEnd/src/services/user.ts (renamed from FrontEnd/src/app/services/user.ts)6
-rw-r--r--FrontEnd/src/sw/sw.ts62
-rw-r--r--FrontEnd/src/sw/tsconfig.json12
-rw-r--r--FrontEnd/src/tsconfig.json10
-rw-r--r--FrontEnd/src/utilities/mediaQuery.ts (renamed from FrontEnd/src/app/utilities/mediaQuery.ts)0
-rw-r--r--FrontEnd/src/utilities/url.ts (renamed from FrontEnd/src/app/utilities/url.ts)0
-rw-r--r--FrontEnd/src/utilities/useReverseScrollPositionRemember.ts (renamed from FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts)0
-rw-r--r--FrontEnd/src/utilities/useScrollToTop.ts (renamed from FrontEnd/src/app/utilities/useScrollToTop.ts)0
-rw-r--r--FrontEnd/src/views/about/about.sass (renamed from FrontEnd/src/app/views/about/about.sass)0
-rw-r--r--FrontEnd/src/views/about/author-avatar.png (renamed from FrontEnd/src/app/views/about/author-avatar.png)bin12038 -> 12038 bytes
-rw-r--r--FrontEnd/src/views/about/github.png (renamed from FrontEnd/src/app/views/about/github.png)bin4268 -> 4268 bytes
-rw-r--r--FrontEnd/src/views/about/index.tsx (renamed from FrontEnd/src/app/views/about/index.tsx)0
-rw-r--r--FrontEnd/src/views/admin/Admin.tsx (renamed from FrontEnd/src/app/views/admin/Admin.tsx)0
-rw-r--r--FrontEnd/src/views/admin/AdminNav.tsx (renamed from FrontEnd/src/app/views/admin/AdminNav.tsx)0
-rw-r--r--FrontEnd/src/views/admin/MoreAdmin.tsx (renamed from FrontEnd/src/app/views/admin/MoreAdmin.tsx)0
-rw-r--r--FrontEnd/src/views/admin/UserAdmin.tsx (renamed from FrontEnd/src/app/views/admin/UserAdmin.tsx)2
-rw-r--r--FrontEnd/src/views/admin/admin.sass (renamed from FrontEnd/src/app/views/admin/admin.sass)0
-rw-r--r--FrontEnd/src/views/center/CenterBoards.tsx (renamed from FrontEnd/src/app/views/center/CenterBoards.tsx)6
-rw-r--r--FrontEnd/src/views/center/TimelineBoard.tsx (renamed from FrontEnd/src/app/views/center/TimelineBoard.tsx)2
-rw-r--r--FrontEnd/src/views/center/TimelineCreateDialog.tsx (renamed from FrontEnd/src/app/views/center/TimelineCreateDialog.tsx)2
-rw-r--r--FrontEnd/src/views/center/center.sass (renamed from FrontEnd/src/app/views/center/center.sass)0
-rw-r--r--FrontEnd/src/views/center/index.tsx (renamed from FrontEnd/src/app/views/center/index.tsx)0
-rw-r--r--FrontEnd/src/views/common/AppBar.tsx (renamed from FrontEnd/src/app/views/common/AppBar.tsx)0
-rw-r--r--FrontEnd/src/views/common/BlobImage.tsx (renamed from FrontEnd/src/app/views/common/BlobImage.tsx)0
-rw-r--r--FrontEnd/src/views/common/ConfirmDialog.tsx (renamed from FrontEnd/src/app/views/common/ConfirmDialog.tsx)0
-rw-r--r--FrontEnd/src/views/common/FlatButton.tsx (renamed from FrontEnd/src/app/views/common/FlatButton.tsx)0
-rw-r--r--FrontEnd/src/views/common/FullPage.tsx (renamed from FrontEnd/src/app/views/common/FullPage.tsx)0
-rw-r--r--FrontEnd/src/views/common/ImageCropper.tsx (renamed from FrontEnd/src/app/views/common/ImageCropper.tsx)0
-rw-r--r--FrontEnd/src/views/common/LoadFailReload.tsx (renamed from FrontEnd/src/app/views/common/LoadFailReload.tsx)0
-rw-r--r--FrontEnd/src/views/common/LoadingButton.tsx (renamed from FrontEnd/src/app/views/common/LoadingButton.tsx)0
-rw-r--r--FrontEnd/src/views/common/LoadingPage.tsx (renamed from FrontEnd/src/app/views/common/LoadingPage.tsx)0
-rw-r--r--FrontEnd/src/views/common/Menu.tsx (renamed from FrontEnd/src/app/views/common/Menu.tsx)0
-rw-r--r--FrontEnd/src/views/common/OperationDialog.tsx (renamed from FrontEnd/src/app/views/common/OperationDialog.tsx)0
-rw-r--r--FrontEnd/src/views/common/SearchInput.tsx (renamed from FrontEnd/src/app/views/common/SearchInput.tsx)0
-rw-r--r--FrontEnd/src/views/common/Skeleton.tsx (renamed from FrontEnd/src/app/views/common/Skeleton.tsx)0
-rw-r--r--FrontEnd/src/views/common/TabPages.tsx (renamed from FrontEnd/src/app/views/common/TabPages.tsx)0
-rw-r--r--FrontEnd/src/views/common/TimelineLogo.tsx (renamed from FrontEnd/src/app/views/common/TimelineLogo.tsx)0
-rw-r--r--FrontEnd/src/views/common/ToggleIconButton.tsx (renamed from FrontEnd/src/app/views/common/ToggleIconButton.tsx)0
-rw-r--r--FrontEnd/src/views/common/UserTimelineLogo.tsx (renamed from FrontEnd/src/app/views/common/UserTimelineLogo.tsx)0
-rw-r--r--FrontEnd/src/views/common/alert/AlertHost.tsx (renamed from FrontEnd/src/app/views/common/alert/AlertHost.tsx)0
-rw-r--r--FrontEnd/src/views/common/alert/alert.sass (renamed from FrontEnd/src/app/views/common/alert/alert.sass)0
-rw-r--r--FrontEnd/src/views/common/common.sass (renamed from FrontEnd/src/app/views/common/common.sass)0
-rw-r--r--FrontEnd/src/views/common/user/UserAvatar.tsx (renamed from FrontEnd/src/app/views/common/user/UserAvatar.tsx)2
-rw-r--r--FrontEnd/src/views/home/TimelineListView.tsx (renamed from FrontEnd/src/app/views/home/TimelineListView.tsx)2
-rw-r--r--FrontEnd/src/views/home/WebsiteIntroduction.tsx (renamed from FrontEnd/src/app/views/home/WebsiteIntroduction.tsx)0
-rw-r--r--FrontEnd/src/views/home/home.sass (renamed from FrontEnd/src/app/views/home/home.sass)0
-rw-r--r--FrontEnd/src/views/home/index.tsx (renamed from FrontEnd/src/app/views/home/index.tsx)4
-rw-r--r--FrontEnd/src/views/login/index.tsx (renamed from FrontEnd/src/app/views/login/index.tsx)0
-rw-r--r--FrontEnd/src/views/login/login.sass (renamed from FrontEnd/src/app/views/login/login.sass)0
-rw-r--r--FrontEnd/src/views/search/index.tsx (renamed from FrontEnd/src/app/views/search/index.tsx)6
-rw-r--r--FrontEnd/src/views/search/search.sass (renamed from FrontEnd/src/app/views/search/search.sass)0
-rw-r--r--FrontEnd/src/views/settings/ChangeAvatarDialog.tsx (renamed from FrontEnd/src/app/views/settings/ChangeAvatarDialog.tsx)2
-rw-r--r--FrontEnd/src/views/settings/ChangeNicknameDialog.tsx (renamed from FrontEnd/src/app/views/settings/ChangeNicknameDialog.tsx)2
-rw-r--r--FrontEnd/src/views/settings/ChangePasswordDialog.tsx (renamed from FrontEnd/src/app/views/settings/ChangePasswordDialog.tsx)0
-rw-r--r--FrontEnd/src/views/settings/index.tsx (renamed from FrontEnd/src/app/views/settings/index.tsx)0
-rw-r--r--FrontEnd/src/views/settings/settings.sass (renamed from FrontEnd/src/app/views/settings/settings.sass)0
-rw-r--r--FrontEnd/src/views/timeline-common/CollapseButton.tsx (renamed from FrontEnd/src/app/views/timeline-common/CollapseButton.tsx)0
-rw-r--r--FrontEnd/src/views/timeline-common/ConnectionStatusBadge.tsx (renamed from FrontEnd/src/app/views/timeline-common/ConnectionStatusBadge.tsx)0
-rw-r--r--FrontEnd/src/views/timeline-common/MarkdownPostEdit.tsx (renamed from FrontEnd/src/app/views/timeline-common/MarkdownPostEdit.tsx)2
-rw-r--r--FrontEnd/src/views/timeline-common/PostPropertyChangeDialog.tsx (renamed from FrontEnd/src/app/views/timeline-common/PostPropertyChangeDialog.tsx)2
-rw-r--r--FrontEnd/src/views/timeline-common/Timeline.tsx (renamed from FrontEnd/src/app/views/timeline-common/Timeline.tsx)4
-rw-r--r--FrontEnd/src/views/timeline-common/TimelineDateLabel.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelineDateLabel.tsx)0
-rw-r--r--FrontEnd/src/views/timeline-common/TimelineLine.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelineLine.tsx)0
-rw-r--r--FrontEnd/src/views/timeline-common/TimelineLoading.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelineLoading.tsx)0
-rw-r--r--FrontEnd/src/views/timeline-common/TimelineMember.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelineMember.tsx)6
-rw-r--r--FrontEnd/src/views/timeline-common/TimelinePageCardTemplate.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePageCardTemplate.tsx)4
-rw-r--r--FrontEnd/src/views/timeline-common/TimelinePageTemplate.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePageTemplate.tsx)4
-rw-r--r--FrontEnd/src/views/timeline-common/TimelinePagedPostListView.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePagedPostListView.tsx)2
-rw-r--r--FrontEnd/src/views/timeline-common/TimelinePostContentView.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePostContentView.tsx)4
-rw-r--r--FrontEnd/src/views/timeline-common/TimelinePostDeleteConfirmDialog.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePostDeleteConfirmDialog.tsx)0
-rw-r--r--FrontEnd/src/views/timeline-common/TimelinePostEdit.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePostEdit.tsx)4
-rw-r--r--FrontEnd/src/views/timeline-common/TimelinePostListView.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePostListView.tsx)2
-rw-r--r--FrontEnd/src/views/timeline-common/TimelinePostView.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePostView.tsx)2
-rw-r--r--FrontEnd/src/views/timeline-common/TimelinePropertyChangeDialog.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelinePropertyChangeDialog.tsx)2
-rw-r--r--FrontEnd/src/views/timeline-common/TimelineTop.tsx (renamed from FrontEnd/src/app/views/timeline-common/TimelineTop.tsx)0
-rw-r--r--FrontEnd/src/views/timeline-common/timeline-common.sass (renamed from FrontEnd/src/app/views/timeline-common/timeline-common.sass)0
-rw-r--r--FrontEnd/src/views/timeline/TimelineCard.tsx (renamed from FrontEnd/src/app/views/timeline/TimelineCard.tsx)0
-rw-r--r--FrontEnd/src/views/timeline/TimelineDeleteDialog.tsx (renamed from FrontEnd/src/app/views/timeline/TimelineDeleteDialog.tsx)2
-rw-r--r--FrontEnd/src/views/timeline/index.tsx (renamed from FrontEnd/src/app/views/timeline/index.tsx)0
-rw-r--r--FrontEnd/src/views/timeline/timeline.sass (renamed from FrontEnd/src/app/views/timeline/timeline.sass)0
-rw-r--r--FrontEnd/src/views/user/UserCard.tsx (renamed from FrontEnd/src/app/views/user/UserCard.tsx)0
-rw-r--r--FrontEnd/src/views/user/index.tsx (renamed from FrontEnd/src/app/views/user/index.tsx)0
-rw-r--r--FrontEnd/src/views/user/user.sass (renamed from FrontEnd/src/app/views/user/user.sass)0
107 files changed, 50 insertions, 159 deletions
diff --git a/FrontEnd/src/app/App.tsx b/FrontEnd/src/App.tsx
index a4363ff5..a4363ff5 100644
--- a/FrontEnd/src/app/App.tsx
+++ b/FrontEnd/src/App.tsx
diff --git a/FrontEnd/src/app/tsconfig.json b/FrontEnd/src/app/tsconfig.json
deleted file mode 100644
index 17ee69cb..00000000
--- a/FrontEnd/src/app/tsconfig.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "extends": "../tsconfig.json",
- "compilerOptions": {
- "lib": [
- "dom",
- "dom.iterable",
- "esnext"
- ]
- },
- "include": [
- "."
- ]
-}
diff --git a/FrontEnd/src/app/typings.d.ts b/FrontEnd/src/app/typings.d.ts
deleted file mode 100644
index 34381682..00000000
--- a/FrontEnd/src/app/typings.d.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-declare module "*.png" {
- const content: string;
- export default content;
-}
-
-declare module "*.jpeg" {
- const content: string;
- export default content;
-}
-
-declare module "*.jpg" {
- const content: string;
- export default content;
-}
-
-declare module "*.gif" {
- const content: string;
- export default content;
-}
-
-declare module "*.svg" {
- const content: string;
- export default content;
-}
diff --git a/FrontEnd/src/app/common.ts b/FrontEnd/src/common.ts
index 1a4f6dda..1a4f6dda 100644
--- a/FrontEnd/src/app/common.ts
+++ b/FrontEnd/src/common.ts
diff --git a/FrontEnd/src/app/http/bookmark.ts b/FrontEnd/src/http/bookmark.ts
index 3e5be229..3e5be229 100644
--- a/FrontEnd/src/app/http/bookmark.ts
+++ b/FrontEnd/src/http/bookmark.ts
diff --git a/FrontEnd/src/app/http/common.ts b/FrontEnd/src/http/common.ts
index e1672985..e1672985 100644
--- a/FrontEnd/src/app/http/common.ts
+++ b/FrontEnd/src/http/common.ts
diff --git a/FrontEnd/src/app/http/highlight.ts b/FrontEnd/src/http/highlight.ts
index fddf0729..fddf0729 100644
--- a/FrontEnd/src/app/http/highlight.ts
+++ b/FrontEnd/src/http/highlight.ts
diff --git a/FrontEnd/src/app/http/search.ts b/FrontEnd/src/http/search.ts
index 8ca48fe9..8ca48fe9 100644
--- a/FrontEnd/src/app/http/search.ts
+++ b/FrontEnd/src/http/search.ts
diff --git a/FrontEnd/src/app/http/timeline.ts b/FrontEnd/src/http/timeline.ts
index 9697c1a0..9697c1a0 100644
--- a/FrontEnd/src/app/http/timeline.ts
+++ b/FrontEnd/src/http/timeline.ts
diff --git a/FrontEnd/src/app/http/token.ts b/FrontEnd/src/http/token.ts
index f8b09d63..f8b09d63 100644
--- a/FrontEnd/src/app/http/token.ts
+++ b/FrontEnd/src/http/token.ts
diff --git a/FrontEnd/src/app/http/user.ts b/FrontEnd/src/http/user.ts
index dcf24cba..dcf24cba 100644
--- a/FrontEnd/src/app/http/user.ts
+++ b/FrontEnd/src/http/user.ts
diff --git a/FrontEnd/src/app/i18n.ts b/FrontEnd/src/i18n.ts
index 5b8e9d41..8caf51ec 100644
--- a/FrontEnd/src/app/i18n.ts
+++ b/FrontEnd/src/i18n.ts
@@ -71,8 +71,8 @@ export const i18nPromise = i18n
*/
});
-if (module.hot) {
- module.hot.accept(
+if (import.meta.hot) {
+ import.meta.hot.accept(
[
"./locales/en/translation.json",
"./locales/zh/translation.json",
diff --git a/FrontEnd/src/app/index.ejs b/FrontEnd/src/index.ejs
index c2ff4182..c2ff4182 100644
--- a/FrontEnd/src/app/index.ejs
+++ b/FrontEnd/src/index.ejs
diff --git a/FrontEnd/src/app/index.sass b/FrontEnd/src/index.sass
index 4cee155f..4cee155f 100644
--- a/FrontEnd/src/app/index.sass
+++ b/FrontEnd/src/index.sass
diff --git a/FrontEnd/src/app/index.tsx b/FrontEnd/src/index.tsx
index fb0c8899..fb0c8899 100644
--- a/FrontEnd/src/app/index.tsx
+++ b/FrontEnd/src/index.tsx
diff --git a/FrontEnd/src/app/locales/en/admin.json b/FrontEnd/src/locales/en/admin.json
index ddb3ffad..ddb3ffad 100644
--- a/FrontEnd/src/app/locales/en/admin.json
+++ b/FrontEnd/src/locales/en/admin.json
diff --git a/FrontEnd/src/app/locales/en/translation.json b/FrontEnd/src/locales/en/translation.json
index a2766b4e..a2766b4e 100644
--- a/FrontEnd/src/app/locales/en/translation.json
+++ b/FrontEnd/src/locales/en/translation.json
diff --git a/FrontEnd/src/app/locales/zh/admin.json b/FrontEnd/src/locales/zh/admin.json
index edd1cabd..edd1cabd 100644
--- a/FrontEnd/src/app/locales/zh/admin.json
+++ b/FrontEnd/src/locales/zh/admin.json
diff --git a/FrontEnd/src/app/locales/zh/translation.json b/FrontEnd/src/locales/zh/translation.json
index 5a5a6843..5a5a6843 100644
--- a/FrontEnd/src/app/locales/zh/translation.json
+++ b/FrontEnd/src/locales/zh/translation.json
diff --git a/FrontEnd/src/app/palette.ts b/FrontEnd/src/palette.ts
index c4f4f4f9..c4f4f4f9 100644
--- a/FrontEnd/src/app/palette.ts
+++ b/FrontEnd/src/palette.ts
diff --git a/FrontEnd/src/app/service-worker.tsx b/FrontEnd/src/service-worker.txt
index ea8dfc32..ea8dfc32 100644
--- a/FrontEnd/src/app/service-worker.tsx
+++ b/FrontEnd/src/service-worker.txt
diff --git a/FrontEnd/src/app/services/TimelinePostBuilder.ts b/FrontEnd/src/services/TimelinePostBuilder.ts
index 40279eca..fe4c7a9a 100644
--- a/FrontEnd/src/app/services/TimelinePostBuilder.ts
+++ b/FrontEnd/src/services/TimelinePostBuilder.ts
@@ -2,8 +2,8 @@ import { Remarkable } from "remarkable";
import { UiLogicError } from "@/common";
-import { base64 } from "@/http/common";
-import { HttpTimelinePostPostRequest } from "@/http/timeline";
+import { base64 } from "http/common";
+import { HttpTimelinePostPostRequest } from "http/timeline";
export default class TimelinePostBuilder {
private _onChange: () => void;
diff --git a/FrontEnd/src/app/services/alert.ts b/FrontEnd/src/services/alert.ts
index 48d482ea..48d482ea 100644
--- a/FrontEnd/src/app/services/alert.ts
+++ b/FrontEnd/src/services/alert.ts
diff --git a/FrontEnd/src/app/services/timeline.ts b/FrontEnd/src/services/timeline.ts
index d8c0ae00..4ebb705d 100644
--- a/FrontEnd/src/app/services/timeline.ts
+++ b/FrontEnd/src/services/timeline.ts
@@ -1,9 +1,9 @@
-import { TimelineVisibility } from "@/http/timeline";
+import { TimelineVisibility } from "http/timeline";
import XRegExp from "xregexp";
import { Observable } from "rxjs";
import { HubConnectionBuilder, HubConnectionState } from "@microsoft/signalr";
-import { getHttpToken } from "@/http/common";
+import { getHttpToken } from "http/common";
const timelineNameReg = XRegExp("^[-_\\p{L}]*$", "u");
diff --git a/FrontEnd/src/app/services/user.ts b/FrontEnd/src/services/user.ts
index 9a8e5687..3375c88a 100644
--- a/FrontEnd/src/app/services/user.ts
+++ b/FrontEnd/src/services/user.ts
@@ -3,12 +3,12 @@ import { BehaviorSubject, Observable } from "rxjs";
import { UiLogicError } from "@/common";
-import { HttpNetworkError, setHttpToken } from "@/http/common";
+import { HttpNetworkError, setHttpToken } from "http/common";
import {
getHttpTokenClient,
HttpCreateTokenBadCredentialError,
-} from "@/http/token";
-import { getHttpUserClient, HttpUser, UserPermission } from "@/http/user";
+} from "http/token";
+import { getHttpUserClient, HttpUser, UserPermission } from "http/user";
import { pushAlert } from "./alert";
diff --git a/FrontEnd/src/sw/sw.ts b/FrontEnd/src/sw/sw.ts
deleted file mode 100644
index 724804dd..00000000
--- a/FrontEnd/src/sw/sw.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-import { precacheAndRoute, matchPrecache } from "workbox-precaching";
-import { registerRoute, setDefaultHandler } from "workbox-routing";
-import {
- NetworkFirst,
- NetworkOnly,
- StaleWhileRevalidate,
-} from "workbox-strategies";
-import { CacheableResponsePlugin } from "workbox-cacheable-response";
-import { ExpirationPlugin } from "workbox-expiration";
-
-declare let self: ServiceWorkerGlobalScope;
-
-self.addEventListener("message", (event) => {
- if (event.data && (event.data as { type: string }).type === "SKIP_WAITING") {
- void self.skipWaiting();
- }
-});
-
-precacheAndRoute(self.__WB_MANIFEST);
-
-const networkOnly = new NetworkOnly();
-
-registerRoute(new RegExp("/swagger/?.*"), new NetworkOnly());
-
-registerRoute(new RegExp("/api/token/?.*"), new NetworkOnly());
-registerRoute(new RegExp("/api/search/?.*"), new NetworkOnly());
-
-registerRoute(
- new RegExp("/api/users/.+/avatar"),
- new StaleWhileRevalidate({
- cacheName: "avatars",
- plugins: [
- new CacheableResponsePlugin({
- statuses: [200],
- }),
- new ExpirationPlugin({
- maxAgeSeconds: 60 * 60 * 24 * 30 * 3, // 3 months
- }),
- ],
- })
-);
-
-registerRoute(
- new RegExp("/api/?.*"),
- new NetworkFirst({
- plugins: [
- new CacheableResponsePlugin({
- statuses: [200],
- }),
- ],
- })
-);
-
-setDefaultHandler((options) => {
- const { request } = options;
-
- if (request instanceof Request && request.destination === "document")
- return matchPrecache("/index.html").then((r) =>
- r == null ? Response.error() : r
- );
- else return networkOnly.handle(options);
-});
diff --git a/FrontEnd/src/sw/tsconfig.json b/FrontEnd/src/sw/tsconfig.json
deleted file mode 100644
index 71fc0bcd..00000000
--- a/FrontEnd/src/sw/tsconfig.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "extends": "../tsconfig.json",
- "compilerOptions": {
- "lib": [
- "esnext",
- "webworker"
- ]
- },
- "include": [
- "."
- ]
-}
diff --git a/FrontEnd/src/tsconfig.json b/FrontEnd/src/tsconfig.json
index 21989043..817c50bd 100644
--- a/FrontEnd/src/tsconfig.json
+++ b/FrontEnd/src/tsconfig.json
@@ -1,6 +1,5 @@
{
"compilerOptions": {
- "target": "ES6",
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
@@ -12,10 +11,13 @@
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "react",
+ "types": ["vite/client"],
"sourceMap": true,
"baseUrl": "./",
"paths": {
- "@/*": ["app/*"]
- }
- }
+ "@/*": ["*"]
+ },
+ "lib": ["dom", "dom.iterable", "esnext"]
+ },
+ "include": ["."]
}
diff --git a/FrontEnd/src/app/utilities/mediaQuery.ts b/FrontEnd/src/utilities/mediaQuery.ts
index ad55c3c0..ad55c3c0 100644
--- a/FrontEnd/src/app/utilities/mediaQuery.ts
+++ b/FrontEnd/src/utilities/mediaQuery.ts
diff --git a/FrontEnd/src/app/utilities/url.ts b/FrontEnd/src/utilities/url.ts
index 4f2a6ecd..4f2a6ecd 100644
--- a/FrontEnd/src/app/utilities/url.ts
+++ b/FrontEnd/src/utilities/url.ts
diff --git a/FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts b/FrontEnd/src/utilities/useReverseScrollPositionRemember.ts
index a5812808..a5812808 100644
--- a/FrontEnd/src/app/utilities/useReverseScrollPositionRemember.ts
+++ b/FrontEnd/src/utilities/useReverseScrollPositionRemember.ts
diff --git a/FrontEnd/src/app/utilities/useScrollToTop.ts b/FrontEnd/src/utilities/useScrollToTop.ts
index 892e3545..892e3545 100644
--- a/FrontEnd/src/app/utilities/useScrollToTop.ts
+++ b/FrontEnd/src/utilities/useScrollToTop.ts
diff --git a/FrontEnd/src/app/views/about/about.sass b/FrontEnd/src/views/about/about.sass
index f4d00cae..f4d00cae 100644
--- a/FrontEnd/src/app/views/about/about.sass
+++ b/FrontEnd/src/views/about/about.sass
diff --git a/FrontEnd/src/app/views/about/author-avatar.png b/FrontEnd/src/views/about/author-avatar.png
index d890d8d0..d890d8d0 100644
--- a/FrontEnd/src/app/views/about/author-avatar.png
+++ b/FrontEnd/src/views/about/author-avatar.png
Binary files differ
diff --git a/FrontEnd/src/app/views/about/github.png b/FrontEnd/src/views/about/github.png
index ea6ff545..ea6ff545 100644
--- a/FrontEnd/src/app/views/about/github.png
+++ b/FrontEnd/src/views/about/github.png
Binary files differ
diff --git a/FrontEnd/src/app/views/about/index.tsx b/FrontEnd/src/views/about/index.tsx
index a8a53a97..a8a53a97 100644
--- a/FrontEnd/src/app/views/about/index.tsx
+++ b/FrontEnd/src/views/about/index.tsx
diff --git a/FrontEnd/src/app/views/admin/Admin.tsx b/FrontEnd/src/views/admin/Admin.tsx
index 0b6d1f05..0b6d1f05 100644
--- a/FrontEnd/src/app/views/admin/Admin.tsx
+++ b/FrontEnd/src/views/admin/Admin.tsx
diff --git a/FrontEnd/src/app/views/admin/AdminNav.tsx b/FrontEnd/src/views/admin/AdminNav.tsx
index 47e2138f..47e2138f 100644
--- a/FrontEnd/src/app/views/admin/AdminNav.tsx
+++ b/FrontEnd/src/views/admin/AdminNav.tsx
diff --git a/FrontEnd/src/app/views/admin/MoreAdmin.tsx b/FrontEnd/src/views/admin/MoreAdmin.tsx
index 042789a0..042789a0 100644
--- a/FrontEnd/src/app/views/admin/MoreAdmin.tsx
+++ b/FrontEnd/src/views/admin/MoreAdmin.tsx
diff --git a/FrontEnd/src/app/views/admin/UserAdmin.tsx b/FrontEnd/src/views/admin/UserAdmin.tsx
index 558d3aee..4e9cd600 100644
--- a/FrontEnd/src/app/views/admin/UserAdmin.tsx
+++ b/FrontEnd/src/views/admin/UserAdmin.tsx
@@ -12,7 +12,7 @@ import {
HttpUser,
kUserPermissionList,
UserPermission,
-} from "@/http/user";
+} from "http/user";
import { Trans, useTranslation } from "react-i18next";
interface DialogProps<TData = undefined, TReturn = undefined> {
diff --git a/FrontEnd/src/app/views/admin/admin.sass b/FrontEnd/src/views/admin/admin.sass
index 1ce010f8..1ce010f8 100644
--- a/FrontEnd/src/app/views/admin/admin.sass
+++ b/FrontEnd/src/views/admin/admin.sass
diff --git a/FrontEnd/src/app/views/center/CenterBoards.tsx b/FrontEnd/src/views/center/CenterBoards.tsx
index f5200415..431d1e9a 100644
--- a/FrontEnd/src/app/views/center/CenterBoards.tsx
+++ b/FrontEnd/src/views/center/CenterBoards.tsx
@@ -5,9 +5,9 @@ import { useTranslation } from "react-i18next";
import { pushAlert } from "@/services/alert";
import { useUserLoggedIn } from "@/services/user";
-import { getHttpTimelineClient } from "@/http/timeline";
-import { getHttpBookmarkClient } from "@/http/bookmark";
-import { getHttpHighlightClient } from "@/http/highlight";
+import { getHttpTimelineClient } from "http/timeline";
+import { getHttpBookmarkClient } from "http/bookmark";
+import { getHttpHighlightClient } from "http/highlight";
import TimelineBoard from "./TimelineBoard";
diff --git a/FrontEnd/src/app/views/center/TimelineBoard.tsx b/FrontEnd/src/views/center/TimelineBoard.tsx
index 35249f66..bb80266b 100644
--- a/FrontEnd/src/app/views/center/TimelineBoard.tsx
+++ b/FrontEnd/src/views/center/TimelineBoard.tsx
@@ -4,7 +4,7 @@ import { Link } from "react-router-dom";
import { useTranslation } from "react-i18next";
import { Spinner } from "react-bootstrap";
-import { HttpTimelineInfo } from "@/http/timeline";
+import { HttpTimelineInfo } from "http/timeline";
import TimelineLogo from "../common/TimelineLogo";
import UserTimelineLogo from "../common/UserTimelineLogo";
diff --git a/FrontEnd/src/app/views/center/TimelineCreateDialog.tsx b/FrontEnd/src/views/center/TimelineCreateDialog.tsx
index b4e25ba1..a2437ae5 100644
--- a/FrontEnd/src/app/views/center/TimelineCreateDialog.tsx
+++ b/FrontEnd/src/views/center/TimelineCreateDialog.tsx
@@ -3,7 +3,7 @@ import { useHistory } from "react-router";
import { validateTimelineName } from "@/services/timeline";
import OperationDialog from "../common/OperationDialog";
-import { getHttpTimelineClient, HttpTimelineInfo } from "@/http/timeline";
+import { getHttpTimelineClient, HttpTimelineInfo } from "http/timeline";
interface TimelineCreateDialogProps {
open: boolean;
diff --git a/FrontEnd/src/app/views/center/center.sass b/FrontEnd/src/views/center/center.sass
index c0dfb9c0..c0dfb9c0 100644
--- a/FrontEnd/src/app/views/center/center.sass
+++ b/FrontEnd/src/views/center/center.sass
diff --git a/FrontEnd/src/app/views/center/index.tsx b/FrontEnd/src/views/center/index.tsx
index 0a2abb2c..0a2abb2c 100644
--- a/FrontEnd/src/app/views/center/index.tsx
+++ b/FrontEnd/src/views/center/index.tsx
diff --git a/FrontEnd/src/app/views/common/AppBar.tsx b/FrontEnd/src/views/common/AppBar.tsx
index 91dfbee9..91dfbee9 100644
--- a/FrontEnd/src/app/views/common/AppBar.tsx
+++ b/FrontEnd/src/views/common/AppBar.tsx
diff --git a/FrontEnd/src/app/views/common/BlobImage.tsx b/FrontEnd/src/views/common/BlobImage.tsx
index 0dd25c52..0dd25c52 100644
--- a/FrontEnd/src/app/views/common/BlobImage.tsx
+++ b/FrontEnd/src/views/common/BlobImage.tsx
diff --git a/FrontEnd/src/app/views/common/ConfirmDialog.tsx b/FrontEnd/src/views/common/ConfirmDialog.tsx
index 72940c51..72940c51 100644
--- a/FrontEnd/src/app/views/common/ConfirmDialog.tsx
+++ b/FrontEnd/src/views/common/ConfirmDialog.tsx
diff --git a/FrontEnd/src/app/views/common/FlatButton.tsx b/FrontEnd/src/views/common/FlatButton.tsx
index b1f7a051..b1f7a051 100644
--- a/FrontEnd/src/app/views/common/FlatButton.tsx
+++ b/FrontEnd/src/views/common/FlatButton.tsx
diff --git a/FrontEnd/src/app/views/common/FullPage.tsx b/FrontEnd/src/views/common/FullPage.tsx
index 1b59045a..1b59045a 100644
--- a/FrontEnd/src/app/views/common/FullPage.tsx
+++ b/FrontEnd/src/views/common/FullPage.tsx
diff --git a/FrontEnd/src/app/views/common/ImageCropper.tsx b/FrontEnd/src/views/common/ImageCropper.tsx
index 2ef5b7ed..2ef5b7ed 100644
--- a/FrontEnd/src/app/views/common/ImageCropper.tsx
+++ b/FrontEnd/src/views/common/ImageCropper.tsx
diff --git a/FrontEnd/src/app/views/common/LoadFailReload.tsx b/FrontEnd/src/views/common/LoadFailReload.tsx
index a80e7b76..a80e7b76 100644
--- a/FrontEnd/src/app/views/common/LoadFailReload.tsx
+++ b/FrontEnd/src/views/common/LoadFailReload.tsx
diff --git a/FrontEnd/src/app/views/common/LoadingButton.tsx b/FrontEnd/src/views/common/LoadingButton.tsx
index cd9f1adc..cd9f1adc 100644
--- a/FrontEnd/src/app/views/common/LoadingButton.tsx
+++ b/FrontEnd/src/views/common/LoadingButton.tsx
diff --git a/FrontEnd/src/app/views/common/LoadingPage.tsx b/FrontEnd/src/views/common/LoadingPage.tsx
index 590fafa0..590fafa0 100644
--- a/FrontEnd/src/app/views/common/LoadingPage.tsx
+++ b/FrontEnd/src/views/common/LoadingPage.tsx
diff --git a/FrontEnd/src/app/views/common/Menu.tsx b/FrontEnd/src/views/common/Menu.tsx
index ae73a331..ae73a331 100644
--- a/FrontEnd/src/app/views/common/Menu.tsx
+++ b/FrontEnd/src/views/common/Menu.tsx
diff --git a/FrontEnd/src/app/views/common/OperationDialog.tsx b/FrontEnd/src/views/common/OperationDialog.tsx
index ac4c51b9..ac4c51b9 100644
--- a/FrontEnd/src/app/views/common/OperationDialog.tsx
+++ b/FrontEnd/src/views/common/OperationDialog.tsx
diff --git a/FrontEnd/src/app/views/common/SearchInput.tsx b/FrontEnd/src/views/common/SearchInput.tsx
index ccb6dad6..ccb6dad6 100644
--- a/FrontEnd/src/app/views/common/SearchInput.tsx
+++ b/FrontEnd/src/views/common/SearchInput.tsx
diff --git a/FrontEnd/src/app/views/common/Skeleton.tsx b/FrontEnd/src/views/common/Skeleton.tsx
index 14886c71..14886c71 100644
--- a/FrontEnd/src/app/views/common/Skeleton.tsx
+++ b/FrontEnd/src/views/common/Skeleton.tsx
diff --git a/FrontEnd/src/app/views/common/TabPages.tsx b/FrontEnd/src/views/common/TabPages.tsx
index 2b1d91cb..2b1d91cb 100644
--- a/FrontEnd/src/app/views/common/TabPages.tsx
+++ b/FrontEnd/src/views/common/TabPages.tsx
diff --git a/FrontEnd/src/app/views/common/TimelineLogo.tsx b/FrontEnd/src/views/common/TimelineLogo.tsx
index 27d188fc..27d188fc 100644
--- a/FrontEnd/src/app/views/common/TimelineLogo.tsx
+++ b/FrontEnd/src/views/common/TimelineLogo.tsx
diff --git a/FrontEnd/src/app/views/common/ToggleIconButton.tsx b/FrontEnd/src/views/common/ToggleIconButton.tsx
index c4d2d132..c4d2d132 100644
--- a/FrontEnd/src/app/views/common/ToggleIconButton.tsx
+++ b/FrontEnd/src/views/common/ToggleIconButton.tsx
diff --git a/FrontEnd/src/app/views/common/UserTimelineLogo.tsx b/FrontEnd/src/views/common/UserTimelineLogo.tsx
index 19b9fee5..19b9fee5 100644
--- a/FrontEnd/src/app/views/common/UserTimelineLogo.tsx
+++ b/FrontEnd/src/views/common/UserTimelineLogo.tsx
diff --git a/FrontEnd/src/app/views/common/alert/AlertHost.tsx b/FrontEnd/src/views/common/alert/AlertHost.tsx
index 949be7ed..949be7ed 100644
--- a/FrontEnd/src/app/views/common/alert/AlertHost.tsx
+++ b/FrontEnd/src/views/common/alert/AlertHost.tsx
diff --git a/FrontEnd/src/app/views/common/alert/alert.sass b/FrontEnd/src/views/common/alert/alert.sass
index c3560b87..c3560b87 100644
--- a/FrontEnd/src/app/views/common/alert/alert.sass
+++ b/FrontEnd/src/views/common/alert/alert.sass
diff --git a/FrontEnd/src/app/views/common/common.sass b/FrontEnd/src/views/common/common.sass
index cbf7292e..cbf7292e 100644
--- a/FrontEnd/src/app/views/common/common.sass
+++ b/FrontEnd/src/views/common/common.sass
diff --git a/FrontEnd/src/app/views/common/user/UserAvatar.tsx b/FrontEnd/src/views/common/user/UserAvatar.tsx
index 9e822528..901697db 100644
--- a/FrontEnd/src/app/views/common/user/UserAvatar.tsx
+++ b/FrontEnd/src/views/common/user/UserAvatar.tsx
@@ -1,6 +1,6 @@
import React from "react";
-import { getHttpUserClient } from "@/http/user";
+import { getHttpUserClient } from "http/user";
export interface UserAvatarProps
extends React.ImgHTMLAttributes<HTMLImageElement> {
diff --git a/FrontEnd/src/app/views/home/TimelineListView.tsx b/FrontEnd/src/views/home/TimelineListView.tsx
index 95c3c367..975875af 100644
--- a/FrontEnd/src/app/views/home/TimelineListView.tsx
+++ b/FrontEnd/src/views/home/TimelineListView.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { convertI18nText, I18nText } from "@/common";
-import { HttpTimelineInfo } from "@/http/timeline";
+import { HttpTimelineInfo } from "http/timeline";
import { useTranslation } from "react-i18next";
import { Link } from "react-router-dom";
diff --git a/FrontEnd/src/app/views/home/WebsiteIntroduction.tsx b/FrontEnd/src/views/home/WebsiteIntroduction.tsx
index aea7b4b2..aea7b4b2 100644
--- a/FrontEnd/src/app/views/home/WebsiteIntroduction.tsx
+++ b/FrontEnd/src/views/home/WebsiteIntroduction.tsx
diff --git a/FrontEnd/src/app/views/home/home.sass b/FrontEnd/src/views/home/home.sass
index b4cda586..b4cda586 100644
--- a/FrontEnd/src/app/views/home/home.sass
+++ b/FrontEnd/src/views/home/home.sass
diff --git a/FrontEnd/src/app/views/home/index.tsx b/FrontEnd/src/views/home/index.tsx
index 0eca23ee..efc364d7 100644
--- a/FrontEnd/src/app/views/home/index.tsx
+++ b/FrontEnd/src/views/home/index.tsx
@@ -1,8 +1,8 @@
import React from "react";
import { useHistory } from "react-router";
-import { HttpTimelineInfo } from "@/http/timeline";
-import { getHttpHighlightClient } from "@/http/highlight";
+import { HttpTimelineInfo } from "http/timeline";
+import { getHttpHighlightClient } from "http/highlight";
import SearchInput from "../common/SearchInput";
import TimelineListView from "./TimelineListView";
diff --git a/FrontEnd/src/app/views/login/index.tsx b/FrontEnd/src/views/login/index.tsx
index 6adcef39..6adcef39 100644
--- a/FrontEnd/src/app/views/login/index.tsx
+++ b/FrontEnd/src/views/login/index.tsx
diff --git a/FrontEnd/src/app/views/login/login.sass b/FrontEnd/src/views/login/login.sass
index 0bf385f5..0bf385f5 100644
--- a/FrontEnd/src/app/views/login/login.sass
+++ b/FrontEnd/src/views/login/login.sass
diff --git a/FrontEnd/src/app/views/search/index.tsx b/FrontEnd/src/views/search/index.tsx
index 966ca666..14a9709c 100644
--- a/FrontEnd/src/app/views/search/index.tsx
+++ b/FrontEnd/src/views/search/index.tsx
@@ -4,9 +4,9 @@ import { Container, Row } from "react-bootstrap";
import { useHistory, useLocation } from "react-router";
import { Link } from "react-router-dom";
-import { HttpNetworkError } from "@/http/common";
-import { getHttpSearchClient } from "@/http/search";
-import { HttpTimelineInfo } from "@/http/timeline";
+import { HttpNetworkError } from "http/common";
+import { getHttpSearchClient } from "http/search";
+import { HttpTimelineInfo } from "http/timeline";
import SearchInput from "../common/SearchInput";
import UserAvatar from "../common/user/UserAvatar";
diff --git a/FrontEnd/src/app/views/search/search.sass b/FrontEnd/src/views/search/search.sass
index 83f297fe..83f297fe 100644
--- a/FrontEnd/src/app/views/search/search.sass
+++ b/FrontEnd/src/views/search/search.sass
diff --git a/FrontEnd/src/app/views/settings/ChangeAvatarDialog.tsx b/FrontEnd/src/views/settings/ChangeAvatarDialog.tsx
index c4f6f492..338d2112 100644
--- a/FrontEnd/src/app/views/settings/ChangeAvatarDialog.tsx
+++ b/FrontEnd/src/views/settings/ChangeAvatarDialog.tsx
@@ -7,7 +7,7 @@ import { UiLogicError } from "@/common";
import { useUserLoggedIn } from "@/services/user";
-import { getHttpUserClient } from "@/http/user";
+import { getHttpUserClient } from "http/user";
import ImageCropper, { Clip, applyClipToImage } from "../common/ImageCropper";
diff --git a/FrontEnd/src/app/views/settings/ChangeNicknameDialog.tsx b/FrontEnd/src/views/settings/ChangeNicknameDialog.tsx
index 4b44cdd6..e6420f36 100644
--- a/FrontEnd/src/app/views/settings/ChangeNicknameDialog.tsx
+++ b/FrontEnd/src/views/settings/ChangeNicknameDialog.tsx
@@ -1,4 +1,4 @@
-import { getHttpUserClient } from "@/http/user";
+import { getHttpUserClient } from "http/user";
import { useUserLoggedIn } from "@/services/user";
import React from "react";
diff --git a/FrontEnd/src/app/views/settings/ChangePasswordDialog.tsx b/FrontEnd/src/views/settings/ChangePasswordDialog.tsx
index 21eeeb09..21eeeb09 100644
--- a/FrontEnd/src/app/views/settings/ChangePasswordDialog.tsx
+++ b/FrontEnd/src/views/settings/ChangePasswordDialog.tsx
diff --git a/FrontEnd/src/app/views/settings/index.tsx b/FrontEnd/src/views/settings/index.tsx
index 04a2777a..04a2777a 100644
--- a/FrontEnd/src/app/views/settings/index.tsx
+++ b/FrontEnd/src/views/settings/index.tsx
diff --git a/FrontEnd/src/app/views/settings/settings.sass b/FrontEnd/src/views/settings/settings.sass
index 8c6d24b8..8c6d24b8 100644
--- a/FrontEnd/src/app/views/settings/settings.sass
+++ b/FrontEnd/src/views/settings/settings.sass
diff --git a/FrontEnd/src/app/views/timeline-common/CollapseButton.tsx b/FrontEnd/src/views/timeline-common/CollapseButton.tsx
index 12a3b710..12a3b710 100644
--- a/FrontEnd/src/app/views/timeline-common/CollapseButton.tsx
+++ b/FrontEnd/src/views/timeline-common/CollapseButton.tsx
diff --git a/FrontEnd/src/app/views/timeline-common/ConnectionStatusBadge.tsx b/FrontEnd/src/views/timeline-common/ConnectionStatusBadge.tsx
index df43d8d2..df43d8d2 100644
--- a/FrontEnd/src/app/views/timeline-common/ConnectionStatusBadge.tsx
+++ b/FrontEnd/src/views/timeline-common/ConnectionStatusBadge.tsx
diff --git a/FrontEnd/src/app/views/timeline-common/MarkdownPostEdit.tsx b/FrontEnd/src/views/timeline-common/MarkdownPostEdit.tsx
index 685e17be..1514d28f 100644
--- a/FrontEnd/src/app/views/timeline-common/MarkdownPostEdit.tsx
+++ b/FrontEnd/src/views/timeline-common/MarkdownPostEdit.tsx
@@ -4,7 +4,7 @@ import { Form, Spinner } from "react-bootstrap";
import { useTranslation } from "react-i18next";
import { Prompt } from "react-router";
-import { getHttpTimelineClient, HttpTimelinePostInfo } from "@/http/timeline";
+import { getHttpTimelineClient, HttpTimelinePostInfo } from "http/timeline";
import FlatButton from "../common/FlatButton";
import TabPages from "../common/TabPages";
diff --git a/FrontEnd/src/app/views/timeline-common/PostPropertyChangeDialog.tsx b/FrontEnd/src/views/timeline-common/PostPropertyChangeDialog.tsx
index 001e52d7..21c5272e 100644
--- a/FrontEnd/src/app/views/timeline-common/PostPropertyChangeDialog.tsx
+++ b/FrontEnd/src/views/timeline-common/PostPropertyChangeDialog.tsx
@@ -1,6 +1,6 @@
import React from "react";
-import { getHttpTimelineClient, HttpTimelinePostInfo } from "@/http/timeline";
+import { getHttpTimelineClient, HttpTimelinePostInfo } from "http/timeline";
import OperationDialog from "../common/OperationDialog";
diff --git a/FrontEnd/src/app/views/timeline-common/Timeline.tsx b/FrontEnd/src/views/timeline-common/Timeline.tsx
index 589382b0..40619e64 100644
--- a/FrontEnd/src/app/views/timeline-common/Timeline.tsx
+++ b/FrontEnd/src/views/timeline-common/Timeline.tsx
@@ -5,8 +5,8 @@ import {
HttpForbiddenError,
HttpNetworkError,
HttpNotFoundError,
-} from "@/http/common";
-import { getHttpTimelineClient, HttpTimelinePostInfo } from "@/http/timeline";
+} from "http/common";
+import { getHttpTimelineClient, HttpTimelinePostInfo } from "http/timeline";
import { getTimelinePostUpdate$ } from "@/services/timeline";
diff --git a/FrontEnd/src/app/views/timeline-common/TimelineDateLabel.tsx b/FrontEnd/src/views/timeline-common/TimelineDateLabel.tsx
index 80968ee2..80968ee2 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelineDateLabel.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelineDateLabel.tsx
diff --git a/FrontEnd/src/app/views/timeline-common/TimelineLine.tsx b/FrontEnd/src/views/timeline-common/TimelineLine.tsx
index 0a828b32..0a828b32 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelineLine.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelineLine.tsx
diff --git a/FrontEnd/src/app/views/timeline-common/TimelineLoading.tsx b/FrontEnd/src/views/timeline-common/TimelineLoading.tsx
index fc42f4b4..fc42f4b4 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelineLoading.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelineLoading.tsx
diff --git a/FrontEnd/src/app/views/timeline-common/TimelineMember.tsx b/FrontEnd/src/views/timeline-common/TimelineMember.tsx
index 299d6a53..3d4de8b8 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelineMember.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelineMember.tsx
@@ -4,12 +4,12 @@ import { Container, ListGroup, Modal, Row, Col, Button } from "react-bootstrap";
import { convertI18nText, I18nText } from "@/common";
-import { HttpUser } from "@/http/user";
-import { getHttpSearchClient } from "@/http/search";
+import { HttpUser } from "http/user";
+import { getHttpSearchClient } from "http/search";
import SearchInput from "../common/SearchInput";
import UserAvatar from "../common/user/UserAvatar";
-import { getHttpTimelineClient, HttpTimelineInfo } from "@/http/timeline";
+import { getHttpTimelineClient, HttpTimelineInfo } from "http/timeline";
const TimelineMemberItem: React.FC<{
user: HttpUser;
diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePageCardTemplate.tsx b/FrontEnd/src/views/timeline-common/TimelinePageCardTemplate.tsx
index 623d643f..038ea3ab 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelinePageCardTemplate.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelinePageCardTemplate.tsx
@@ -2,8 +2,8 @@ import React from "react";
import classnames from "classnames";
import { useTranslation } from "react-i18next";
-import { getHttpHighlightClient } from "@/http/highlight";
-import { getHttpBookmarkClient } from "@/http/bookmark";
+import { getHttpHighlightClient } from "http/highlight";
+import { getHttpBookmarkClient } from "http/bookmark";
import { useUser } from "@/services/user";
import { pushAlert } from "@/services/alert";
diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePageTemplate.tsx b/FrontEnd/src/views/timeline-common/TimelinePageTemplate.tsx
index 658ce502..44926cc6 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelinePageTemplate.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelinePageTemplate.tsx
@@ -3,8 +3,8 @@ import { useTranslation } from "react-i18next";
import { Container } from "react-bootstrap";
import { HubConnectionState } from "@microsoft/signalr";
-import { HttpNetworkError, HttpNotFoundError } from "@/http/common";
-import { getHttpTimelineClient, HttpTimelineInfo } from "@/http/timeline";
+import { HttpNetworkError, HttpNotFoundError } from "http/common";
+import { getHttpTimelineClient, HttpTimelineInfo } from "http/timeline";
import { getAlertHost } from "@/services/alert";
diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePagedPostListView.tsx b/FrontEnd/src/views/timeline-common/TimelinePagedPostListView.tsx
index 37f02a82..d569a2d7 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelinePagedPostListView.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelinePagedPostListView.tsx
@@ -1,6 +1,6 @@
import React from "react";
-import { HttpTimelinePostInfo } from "@/http/timeline";
+import { HttpTimelinePostInfo } from "http/timeline";
import useScrollToTop from "@/utilities/useScrollToTop";
diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePostContentView.tsx b/FrontEnd/src/views/timeline-common/TimelinePostContentView.tsx
index 607b72c9..f1b53335 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelinePostContentView.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelinePostContentView.tsx
@@ -4,8 +4,8 @@ import { Remarkable } from "remarkable";
import { UiLogicError } from "@/common";
-import { HttpNetworkError } from "@/http/common";
-import { getHttpTimelineClient, HttpTimelinePostInfo } from "@/http/timeline";
+import { HttpNetworkError } from "http/common";
+import { getHttpTimelineClient, HttpTimelinePostInfo } from "http/timeline";
import { useUser } from "@/services/user";
diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePostDeleteConfirmDialog.tsx b/FrontEnd/src/views/timeline-common/TimelinePostDeleteConfirmDialog.tsx
index b2c7a470..b2c7a470 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelinePostDeleteConfirmDialog.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelinePostDeleteConfirmDialog.tsx
diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePostEdit.tsx b/FrontEnd/src/views/timeline-common/TimelinePostEdit.tsx
index 5f3f0345..0f470fd6 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelinePostEdit.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelinePostEdit.tsx
@@ -10,10 +10,10 @@ import {
HttpTimelineInfo,
HttpTimelinePostInfo,
HttpTimelinePostPostRequestData,
-} from "@/http/timeline";
+} from "http/timeline";
import { pushAlert } from "@/services/alert";
-import { base64 } from "@/http/common";
+import { base64 } from "http/common";
import BlobImage from "../common/BlobImage";
import LoadingButton from "../common/LoadingButton";
diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePostListView.tsx b/FrontEnd/src/views/timeline-common/TimelinePostListView.tsx
index ba204b72..49284720 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelinePostListView.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelinePostListView.tsx
@@ -1,7 +1,7 @@
import React, { Fragment } from "react";
import classnames from "classnames";
-import { HttpTimelinePostInfo } from "@/http/timeline";
+import { HttpTimelinePostInfo } from "http/timeline";
import TimelinePostView from "./TimelinePostView";
import TimelineDateLabel from "./TimelineDateLabel";
diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePostView.tsx b/FrontEnd/src/views/timeline-common/TimelinePostView.tsx
index f7b81478..e8b32c71 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelinePostView.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelinePostView.tsx
@@ -3,7 +3,7 @@ import classnames from "classnames";
import { Link } from "react-router-dom";
import { useTranslation } from "react-i18next";
-import { getHttpTimelineClient, HttpTimelinePostInfo } from "@/http/timeline";
+import { getHttpTimelineClient, HttpTimelinePostInfo } from "http/timeline";
import { pushAlert } from "@/services/alert";
diff --git a/FrontEnd/src/app/views/timeline-common/TimelinePropertyChangeDialog.tsx b/FrontEnd/src/views/timeline-common/TimelinePropertyChangeDialog.tsx
index 70f72025..83b24d01 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelinePropertyChangeDialog.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelinePropertyChangeDialog.tsx
@@ -6,7 +6,7 @@ import {
HttpTimelinePatchRequest,
kTimelineVisibilities,
TimelineVisibility,
-} from "@/http/timeline";
+} from "http/timeline";
import OperationDialog from "../common/OperationDialog";
diff --git a/FrontEnd/src/app/views/timeline-common/TimelineTop.tsx b/FrontEnd/src/views/timeline-common/TimelineTop.tsx
index dabbdf1e..dabbdf1e 100644
--- a/FrontEnd/src/app/views/timeline-common/TimelineTop.tsx
+++ b/FrontEnd/src/views/timeline-common/TimelineTop.tsx
diff --git a/FrontEnd/src/app/views/timeline-common/timeline-common.sass b/FrontEnd/src/views/timeline-common/timeline-common.sass
index 4400fead..4400fead 100644
--- a/FrontEnd/src/app/views/timeline-common/timeline-common.sass
+++ b/FrontEnd/src/views/timeline-common/timeline-common.sass
diff --git a/FrontEnd/src/app/views/timeline/TimelineCard.tsx b/FrontEnd/src/views/timeline/TimelineCard.tsx
index e031b565..e031b565 100644
--- a/FrontEnd/src/app/views/timeline/TimelineCard.tsx
+++ b/FrontEnd/src/views/timeline/TimelineCard.tsx
diff --git a/FrontEnd/src/app/views/timeline/TimelineDeleteDialog.tsx b/FrontEnd/src/views/timeline/TimelineDeleteDialog.tsx
index dbca62ca..8821507d 100644
--- a/FrontEnd/src/app/views/timeline/TimelineDeleteDialog.tsx
+++ b/FrontEnd/src/views/timeline/TimelineDeleteDialog.tsx
@@ -2,7 +2,7 @@ import React from "react";
import { useHistory } from "react-router";
import { Trans } from "react-i18next";
-import { getHttpTimelineClient, HttpTimelineInfo } from "@/http/timeline";
+import { getHttpTimelineClient, HttpTimelineInfo } from "http/timeline";
import OperationDialog from "../common/OperationDialog";
diff --git a/FrontEnd/src/app/views/timeline/index.tsx b/FrontEnd/src/views/timeline/index.tsx
index c5bfd7ab..c5bfd7ab 100644
--- a/FrontEnd/src/app/views/timeline/index.tsx
+++ b/FrontEnd/src/views/timeline/index.tsx
diff --git a/FrontEnd/src/app/views/timeline/timeline.sass b/FrontEnd/src/views/timeline/timeline.sass
index e69de29b..e69de29b 100644
--- a/FrontEnd/src/app/views/timeline/timeline.sass
+++ b/FrontEnd/src/views/timeline/timeline.sass
diff --git a/FrontEnd/src/app/views/user/UserCard.tsx b/FrontEnd/src/views/user/UserCard.tsx
index e7e4252e..e7e4252e 100644
--- a/FrontEnd/src/app/views/user/UserCard.tsx
+++ b/FrontEnd/src/views/user/UserCard.tsx
diff --git a/FrontEnd/src/app/views/user/index.tsx b/FrontEnd/src/views/user/index.tsx
index 57454d0d..57454d0d 100644
--- a/FrontEnd/src/app/views/user/index.tsx
+++ b/FrontEnd/src/views/user/index.tsx
diff --git a/FrontEnd/src/app/views/user/user.sass b/FrontEnd/src/views/user/user.sass
index 63a28e05..63a28e05 100644
--- a/FrontEnd/src/app/views/user/user.sass
+++ b/FrontEnd/src/views/user/user.sass