| @@ -1,7 +1,7 @@ | ||
| 1 | -import { Lang } from 'shiki'; | |
| 2 | -import create from 'zustand'; | |
| 1 | +import { create } from 'zustand'; | |
| 3 | 2 | import { devtools, persist } from 'zustand/middleware'; |
| 3 | +import { Lang } from '../types'; | |
| 4 | 4 | |
| 5 | 5 | type LanguageType = { |
| 6 | 6 | previousLanguage: Lang; |
| 7 | 7 | setPreviousLanguage: (language: Lang) => void; |
| @@ -18,9 +18,9 @@ | ||
| 18 | 18 | get().addRecentLanguage(language); |
| 19 | 19 | }, |
| 20 | 20 | recentLanguages: [] as Lang[], |
| 21 | 21 | addRecentLanguage(language: Lang) { |
| 22 | - // Limit to the last 3 | |
| 22 | + // Limit to the last 5 | |
| 23 | 23 | set((state) => { |
| 24 | 24 | if (state.recentLanguages.includes(language)) { |
| 25 | 25 | return state; |
| 26 | 26 | } |
| @@ -25,9 +25,9 @@ | ||
| 25 | 25 | return state; |
| 26 | 26 | } |
| 27 | 27 | return { |
| 28 | 28 | recentLanguages: [ |
| 29 | - ...(state.recentLanguages?.slice(-2) ?? []), | |
| 29 | + ...(state.recentLanguages?.slice(-4) || []), | |
| 30 | 30 | language, |
| 31 | 31 | ], |
| 32 | 32 | }; |
| 33 | 33 | }); |
| @@ -34,14 +34,7 @@ | ||
| 34 | 34 | }, |
| 35 | 35 | }), |
| 36 | 36 | { name: 'Code Block Pro Language' }, |
| 37 | 37 | ), |
| 38 | - { | |
| 39 | - name: 'code-block-pro-last-language', | |
| 40 | - getStorage: () => localStorage, | |
| 41 | - partialize: (state) => ({ | |
| 42 | - previousLanguage: state?.previousLanguage ?? null, | |
| 43 | - recentLanguages: state?.recentLanguages ?? [], | |
| 44 | - }), | |
| 45 | - }, | |
| 38 | + { name: 'code-block-pro-last-language' }, | |
| 46 | 39 | ), |
| 47 | 40 | ); |