fix: state in lastVersionAtom
This commit is contained in:
@@ -1,10 +1,12 @@
|
|||||||
|
import { config } from '@affine/env';
|
||||||
import { atomWithStorage } from 'jotai/utils';
|
import { atomWithStorage } from 'jotai/utils';
|
||||||
|
|
||||||
export type Visibility = Record<string, boolean>;
|
export type Visibility = Record<string, boolean>;
|
||||||
|
|
||||||
const DEFAULT_VALUE = '0.0.0';
|
export const lastVersionAtom = atomWithStorage(
|
||||||
|
'lastVersion',
|
||||||
export const lastVersionAtom = atomWithStorage('lastVersion', DEFAULT_VALUE);
|
config.gitVersion
|
||||||
|
);
|
||||||
|
|
||||||
export const guideHiddenAtom = atomWithStorage<Visibility>('guideHidden', {});
|
export const guideHiddenAtom = atomWithStorage<Visibility>('guideHidden', {});
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import 'fake-indexeddb/auto';
|
|||||||
|
|
||||||
import assert from 'node:assert';
|
import assert from 'node:assert';
|
||||||
|
|
||||||
|
import { config } from '@affine/env';
|
||||||
import {
|
import {
|
||||||
rootCurrentWorkspaceIdAtom,
|
rootCurrentWorkspaceIdAtom,
|
||||||
rootWorkspacesMetadataAtom,
|
rootWorkspacesMetadataAtom,
|
||||||
@@ -282,7 +283,7 @@ describe('useIsFirstLoad', () => {
|
|||||||
test('useLastVersion', async () => {
|
test('useLastVersion', async () => {
|
||||||
const lastVersion = renderHook(() => useLastVersion());
|
const lastVersion = renderHook(() => useLastVersion());
|
||||||
const setLastVersion = lastVersion.result.current[1];
|
const setLastVersion = lastVersion.result.current[1];
|
||||||
expect(lastVersion.result.current[0]).toEqual('0.0.0');
|
expect(lastVersion.result.current[0]).toEqual(config.gitVersion);
|
||||||
setLastVersion('testVersion');
|
setLastVersion('testVersion');
|
||||||
lastVersion.rerender();
|
lastVersion.rerender();
|
||||||
expect(lastVersion.result.current[0]).toEqual('testVersion');
|
expect(lastVersion.result.current[0]).toEqual('testVersion');
|
||||||
|
|||||||
@@ -45,7 +45,6 @@ export function useTipsDisplayStatus() {
|
|||||||
|
|
||||||
export function useUpdateTipsOnVersionChange() {
|
export function useUpdateTipsOnVersionChange() {
|
||||||
const [lastVersion, setLastVersion] = useLastVersion();
|
const [lastVersion, setLastVersion] = useLastVersion();
|
||||||
const currentVersion = config.gitVersion;
|
|
||||||
const tipsDisplayStatus = useTipsDisplayStatus();
|
const tipsDisplayStatus = useTipsDisplayStatus();
|
||||||
const setPermanentlyHiddenTips = useSetAtom(guideHiddenAtom);
|
const setPermanentlyHiddenTips = useSetAtom(guideHiddenAtom);
|
||||||
const setHiddenUntilNextUpdateTips = useSetAtom(
|
const setHiddenUntilNextUpdateTips = useSetAtom(
|
||||||
@@ -53,6 +52,7 @@ export function useUpdateTipsOnVersionChange() {
|
|||||||
);
|
);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
const currentVersion = config.gitVersion;
|
||||||
if (lastVersion !== currentVersion) {
|
if (lastVersion !== currentVersion) {
|
||||||
setLastVersion(currentVersion);
|
setLastVersion(currentVersion);
|
||||||
const newHiddenUntilNextUpdateTips = { ...TIPS };
|
const newHiddenUntilNextUpdateTips = { ...TIPS };
|
||||||
@@ -64,7 +64,6 @@ export function useUpdateTipsOnVersionChange() {
|
|||||||
setPermanentlyHiddenTips(newPermanentlyHiddenTips);
|
setPermanentlyHiddenTips(newPermanentlyHiddenTips);
|
||||||
}
|
}
|
||||||
}, [
|
}, [
|
||||||
currentVersion,
|
|
||||||
lastVersion,
|
lastVersion,
|
||||||
setLastVersion,
|
setLastVersion,
|
||||||
setPermanentlyHiddenTips,
|
setPermanentlyHiddenTips,
|
||||||
|
|||||||
Reference in New Issue
Block a user