mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-04 20:00:00 +08:00
refactor: update spinner handling and improve initialization timing
* Modified the Content Security Policy to include 'unsafe-inline' for script-src. * Changed the spinner display style from 'none' to 'flex' for better visibility. * Removed the initSpinner function and directly initialized the spinner in useAppInit. * Added console timing for initialization to track performance.
This commit is contained in:
parent
7bccac2785
commit
d1e8c09559
@ -5,7 +5,7 @@
|
|||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<meta name="viewport" content="initial-scale=1, width=device-width" />
|
<meta name="viewport" content="initial-scale=1, width=device-width" />
|
||||||
<meta http-equiv="Content-Security-Policy"
|
<meta http-equiv="Content-Security-Policy"
|
||||||
content="default-src 'self'; connect-src blob: *; script-src 'self' 'unsafe-eval' *; worker-src 'self' blob:; style-src 'self' 'unsafe-inline' *; font-src 'self' data: *; img-src 'self' data: file: * blob:; frame-src * file:" />
|
content="default-src 'self'; connect-src blob: *; script-src 'self' 'unsafe-eval' 'unsafe-inline' *; worker-src 'self' blob:; style-src 'self' 'unsafe-inline' *; font-src 'self' data: *; img-src 'self' data: file: * blob:; frame-src * file:" />
|
||||||
<title>Cherry Studio</title>
|
<title>Cherry Studio</title>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
@ -21,7 +21,7 @@
|
|||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
display: none;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
#spinner img {
|
#spinner img {
|
||||||
@ -36,6 +36,9 @@
|
|||||||
<div id="spinner">
|
<div id="spinner">
|
||||||
<img src="/src/assets/images/logo.png" />
|
<img src="/src/assets/images/logo.png" />
|
||||||
</div>
|
</div>
|
||||||
|
<script>
|
||||||
|
console.time('init')
|
||||||
|
</script>
|
||||||
<script type="module" src="/src/init.ts"></script>
|
<script type="module" src="/src/init.ts"></script>
|
||||||
<script type="module" src="/src/entryPoint.tsx"></script>
|
<script type="module" src="/src/entryPoint.tsx"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@ -24,6 +24,11 @@ export function useAppInit() {
|
|||||||
const avatar = useLiveQuery(() => db.settings.get('image://avatar'))
|
const avatar = useLiveQuery(() => db.settings.get('image://avatar'))
|
||||||
const { theme } = useTheme()
|
const { theme } = useTheme()
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
document.getElementById('spinner')?.remove()
|
||||||
|
console.timeEnd('init')
|
||||||
|
}, [])
|
||||||
|
|
||||||
useUpdateHandler()
|
useUpdateHandler()
|
||||||
useFullScreenNotice()
|
useFullScreenNotice()
|
||||||
|
|
||||||
@ -32,7 +37,6 @@ export function useAppInit() {
|
|||||||
}, [avatar, dispatch])
|
}, [avatar, dispatch])
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
document.getElementById('spinner')?.remove()
|
|
||||||
runAsyncFunction(async () => {
|
runAsyncFunction(async () => {
|
||||||
const { isPackaged } = await window.api.getAppInfo()
|
const { isPackaged } = await window.api.getAppInfo()
|
||||||
if (isPackaged && autoCheckUpdate) {
|
if (isPackaged && autoCheckUpdate) {
|
||||||
|
|||||||
@ -5,13 +5,6 @@ import { startNutstoreAutoSync } from './services/NutstoreService'
|
|||||||
import storeSyncService from './services/StoreSyncService'
|
import storeSyncService from './services/StoreSyncService'
|
||||||
import store from './store'
|
import store from './store'
|
||||||
|
|
||||||
function initSpinner() {
|
|
||||||
const spinner = document.getElementById('spinner')
|
|
||||||
if (spinner) {
|
|
||||||
spinner.style.display = 'flex'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function initKeyv() {
|
function initKeyv() {
|
||||||
window.keyv = new KeyvStorage()
|
window.keyv = new KeyvStorage()
|
||||||
window.keyv.init()
|
window.keyv.init()
|
||||||
@ -34,7 +27,6 @@ function initStoreSync() {
|
|||||||
storeSyncService.subscribe()
|
storeSyncService.subscribe()
|
||||||
}
|
}
|
||||||
|
|
||||||
initSpinner()
|
|
||||||
initKeyv()
|
initKeyv()
|
||||||
initAutoSync()
|
initAutoSync()
|
||||||
initStoreSync()
|
initStoreSync()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user