revert: lastVersionAtom atom (#2188)

This commit is contained in:
Himself65
2023-04-28 03:53:23 -05:00
committed by GitHub
parent fd4b664e4f
commit 903b6eaf30
3 changed files with 18 additions and 5 deletions

View File

@@ -1,11 +1,24 @@
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';
//atomWithStorage always uses initial value when first render
//https://github.com/pmndrs/jotai/discussions/1737
function getInitialValue() {
if (typeof window !== 'undefined') {
const storedValue = window.localStorage.getItem('lastVersion');
if (storedValue) {
return JSON.parse(storedValue);
}
}
return DEFAULT_VALUE;
}
export const lastVersionAtom = atomWithStorage( export const lastVersionAtom = atomWithStorage(
'lastVersion', 'lastVersion',
config.gitVersion getInitialValue()
); );
export const guideHiddenAtom = atomWithStorage<Visibility>('guideHidden', {}); export const guideHiddenAtom = atomWithStorage<Visibility>('guideHidden', {});

View File

@@ -5,7 +5,6 @@ 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,
@@ -283,7 +282,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(config.gitVersion); expect(lastVersion.result.current[0]).toEqual('0.0.0');
setLastVersion('testVersion'); setLastVersion('testVersion');
lastVersion.rerender(); lastVersion.rerender();
expect(lastVersion.result.current[0]).toEqual('testVersion'); expect(lastVersion.result.current[0]).toEqual('testVersion');

View File

@@ -45,6 +45,7 @@ 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(
@@ -52,7 +53,6 @@ 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,6 +64,7 @@ export function useUpdateTipsOnVersionChange() {
setPermanentlyHiddenTips(newPermanentlyHiddenTips); setPermanentlyHiddenTips(newPermanentlyHiddenTips);
} }
}, [ }, [
currentVersion,
lastVersion, lastVersion,
setLastVersion, setLastVersion,
setPermanentlyHiddenTips, setPermanentlyHiddenTips,