Skip to content
This repository was archived by the owner on Aug 2, 2025. It is now read-only.

Commit 7b900ab

Browse files
authored
chore: some web fixes & deps (#415)
1 parent daae0c6 commit 7b900ab

File tree

16 files changed

+140
-191
lines changed

16 files changed

+140
-191
lines changed

apps/crypto/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
"author": "scffs",
77
"license": "MIT",
88
"dependencies": {
9-
"bun": "^1.1.29"
9+
"bun": "^1.1.34"
1010
},
1111
"devDependencies": {
12-
"bun-types": "^1.1.29"
12+
"bun-types": "^1.1.34"
1313
},
1414
"exports": {
1515
".": "./src/index.ts"

apps/web/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "@diary-spo/web",
33
"private": true,
44
"version": "8.0.0",
5+
"homepage": ".",
56
"type": "module",
67
"scripts": {
78
"dev": "rsbuild dev",

apps/web/rsbuild.config.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@ const { publicVars } = loadEnv({ prefixes: ['VITE_'] })
88
export default defineConfig({
99
plugins: [pluginReact(), pluginBasicSsl()],
1010
output: {
11-
polyfill: 'usage',
11+
// polyfill: 'usage',
1212
minify: true
1313
},
1414
server: {
15-
port: 5173
15+
port: 5173,
16+
base: import.meta.env.VITE_MODE === 'prod' ? './' : undefined
1617
},
1718
html: {
1819
template: './index.html'

apps/web/src/app/AppWrapper/App/Epic/index.tsx

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import {
2121
} from '../../../../pages'
2222

2323
import type { Pages } from '../../../../shared/types.ts'
24-
import { Suspense } from '../../../../shared/ui'
2524

2625
import type { FC } from 'react'
2726
import Tabbar from './Tabbar'
@@ -50,21 +49,11 @@ const Epic: FC<IEpic> = ({ onStoryChange }) => {
5049
activePanel={activePanel}
5150
onSwipeBack={() => routeNavigator.back()}
5251
>
53-
<Suspense id={MAIN_SETTINGS} mode='screen'>
54-
<LoginForm id={MAIN_SETTINGS} />
55-
</Suspense>
56-
<Suspense id={VIEW_SCHEDULE} mode='screen'>
57-
<Schedule id={VIEW_SCHEDULE} />
58-
</Suspense>
59-
<Suspense id={VIEW_MARKS} mode='screen'>
60-
<Achievements id={VIEW_MARKS} />
61-
</Suspense>
62-
<Suspense id={VIEW_NOTIFICATIONS} mode='screen'>
63-
<Notifications id={VIEW_NOTIFICATIONS} />
64-
</Suspense>
65-
<Suspense id={VIEW_SETTINGS} mode='screen'>
66-
<Settings id={VIEW_SETTINGS} />
67-
</Suspense>
52+
<LoginForm id={MAIN_SETTINGS} />
53+
<Schedule id={VIEW_SCHEDULE} />
54+
<Achievements id={VIEW_MARKS} />
55+
<Notifications id={VIEW_NOTIFICATIONS} />
56+
<Settings id={VIEW_SETTINGS} />
6857
</View>
6958
</VKUIEpic>
7059
)

apps/web/src/app/AppWrapper/App/index.tsx

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,9 @@ import {
2222
useAdaptivityConditionalRender,
2323
usePlatform
2424
} from '@vkontakte/vkui'
25-
import { type FC, lazy } from 'react'
25+
import type { FC } from 'react'
2626

2727
import type { Pages } from '../../../shared/types.ts'
28-
import { Suspense } from '../../../shared/ui'
2928
import {
3029
MAIN_SETTINGS,
3130
VIEW_MARKS,
@@ -35,7 +34,7 @@ import {
3534
} from '../../routes'
3635
import ModalRoot from './ModalRoot'
3736

38-
const Epic = lazy(() => import('./Epic'))
37+
import Epic from './Epic'
3938

4039
const App: FC = () => {
4140
const routeNavigator = useRouteNavigator()
@@ -113,11 +112,9 @@ const App: FC = () => {
113112
</Panel>
114113
</SplitCol>
115114
)}
116-
<Suspense id='Epic'>
117-
<SplitCol width='100%' maxWidth='700px' stretchedOnMobile autoSpaced>
118-
<Epic onStoryChange={onStoryChange} />
119-
</SplitCol>
120-
</Suspense>
115+
<SplitCol width='100%' maxWidth='700px' stretchedOnMobile autoSpaced>
116+
<Epic onStoryChange={onStoryChange} />
117+
</SplitCol>
121118
</SplitLayout>
122119
</AppRoot>
123120
)

apps/web/src/app/AppWrapper/index.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ import {
88
} from '@vkontakte/vkui'
99
import { lazy } from 'react'
1010

11+
import { Suspense } from '../../shared'
1112
import { router } from '../routes/router'
1213

13-
const NotFoundCorrect = lazy(() => import('./NotFound'))
14-
const App = lazy(() => import('./App'))
14+
import App from './App'
15+
import NotFoundCorrect from './NotFound'
1516

1617
vkBridge.send('VKWebAppInit')
1718

@@ -27,7 +28,9 @@ const AppWrapper = () => {
2728
platform={platform}
2829
isWebView={vkBridge.isWebView()}
2930
>
30-
<App />
31+
<Suspense id='App' mode='screen'>
32+
<App />
33+
</Suspense>
3134
</ConfigProvider>
3235
</RouterProvider>
3336
</AdaptivityProvider>
-59.9 KB
Loading

apps/web/src/main.tsx

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import { lazy } from 'react'
22
import { createRoot } from 'react-dom/client'
3-
import { Suspense } from './shared/ui'
43

54
import '@vkontakte/vkui/dist/cssm/styles/themes.css'
65
import './app/styles/index.css'
@@ -9,8 +8,4 @@ const AppWrapper = lazy(() => import('./app/AppWrapper'))
98

109
const app = document.getElementById('app')
1110

12-
createRoot(app!).render(
13-
<Suspense id='RootAppWrapper' mode='screen'>
14-
<AppWrapper />
15-
</Suspense>
16-
)
11+
createRoot(app!).render(<AppWrapper />)
Lines changed: 25 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
import type { PerformanceCurrent } from '@diary-spo/shared'
2-
import { lazy } from 'react'
32

4-
import { Suspense } from '../../../shared'
53
import type { Tabs } from '../types.ts'
64

7-
const Summary = lazy(() => import('../Tabs/Summary'))
8-
const FinalMarks = lazy(() => import('../Tabs/FinalMarks'))
9-
const MarksByGroup = lazy(() => import('../Tabs/MarksByGroup'))
10-
const SubjectsList = lazy(() => import('../Tabs/SubjectsList'))
5+
import FinalMarks from '../Tabs/FinalMarks'
6+
import MarksByGroup from '../Tabs/MarksByGroup'
7+
import SubjectsList from '../Tabs/SubjectsList'
8+
import Summary from '../Tabs/Summary'
119

1210
export const useActiveTab = (
1311
selected: Tabs,
@@ -19,53 +17,35 @@ export const useActiveTab = (
1917
isLoading: boolean,
2018
setIsLoading: (value: boolean) => void
2119
) => {
22-
let activeTabComponent = null
23-
2420
switch (selected) {
2521
case 'summary':
26-
activeTabComponent = (
27-
<Suspense id='UserInfo'>
28-
<Summary
29-
totalNumberOfMarks={totalNumberOfMarks}
30-
averageMark={averageMark}
31-
markCounts={markCounts}
32-
/>
33-
</Suspense>
22+
return (
23+
<Summary
24+
totalNumberOfMarks={totalNumberOfMarks}
25+
averageMark={averageMark}
26+
markCounts={markCounts}
27+
/>
3428
)
35-
break
3629
case 'current':
37-
activeTabComponent = (
38-
<Suspense id='MarksByGroup'>
39-
{/*TODO: fix*/}
40-
<MarksByGroup marksForSubject={marksForSubject} />
41-
</Suspense>
42-
)
43-
break
30+
// TODO: fix
31+
return <MarksByGroup marksForSubject={marksForSubject} />
4432
case 'finalMarks':
45-
activeTabComponent = (
46-
<Suspense id='FinalMarks'>
47-
<FinalMarks
48-
setIsError={setIsError}
49-
isLoading={isLoading}
50-
setIsLoading={setIsLoading}
51-
/>
52-
</Suspense>
33+
return (
34+
<FinalMarks
35+
setIsError={setIsError}
36+
isLoading={isLoading}
37+
setIsLoading={setIsLoading}
38+
/>
5339
)
54-
break
5540
case 'attestation':
56-
activeTabComponent = (
57-
<Suspense id='AttestationTab'>
58-
<SubjectsList
59-
setIsError={setIsError}
60-
isLoading={isLoading}
61-
setIsLoading={setIsLoading}
62-
/>
63-
</Suspense>
41+
return (
42+
<SubjectsList
43+
setIsError={setIsError}
44+
isLoading={isLoading}
45+
setIsLoading={setIsLoading}
46+
/>
6447
)
65-
break
6648
default:
67-
break
49+
return null
6850
}
69-
70-
return <main className='activeTabWrapper'>{activeTabComponent}</main>
7151
}

apps/web/src/pages/Achievements/index.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
TabsItem,
88
Tabs as VKUITabs
99
} from '@vkontakte/vkui'
10-
import { type FC, Suspense, useEffect, useState } from 'react'
10+
import { type FC, useEffect, useState } from 'react'
1111
import { handleResponse, isApiError, isNeedToUpdateCache } from '../../shared'
1212

1313
import type { Props } from '../types.ts'
@@ -19,7 +19,11 @@ import type { Tabs } from './types.ts'
1919
import { getPerformance } from '../../shared/api'
2020
import { VKUI_ACCENT_BG, VKUI_RED } from '../../shared/config'
2121
import { useRateLimitExceeded, useSnackbar } from '../../shared/hooks'
22-
import { ErrorPlaceholder, PanelHeaderWithBack } from '../../shared/ui'
22+
import {
23+
ErrorPlaceholder,
24+
PanelHeaderWithBack,
25+
Suspense
26+
} from '../../shared/ui'
2327
import LoadingData from './LoadingData.tsx'
2428
import { useActiveTab } from './hooks/useActiveTab.tsx'
2529

@@ -153,9 +157,7 @@ const Achievements: FC<Props> = ({ id }) => {
153157
{isLoading && <LoadingData />}
154158
</PullToRefresh>
155159

156-
{!isLoading && !isError && (
157-
<Suspense fallback='Загрузка...'>{activeTab}</Suspense>
158-
)}
160+
{!isLoading && !isError && <Suspense id='tab'>{activeTab}</Suspense>}
159161

160162
{isError && <ErrorPlaceholder />}
161163

0 commit comments

Comments
 (0)