mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-18 23:21:24 +02:00
- Add uload project with apps/web structure
- Reorganize from flat to monorepo structure
- Remove PocketBase binary and local data
- Update to pnpm and @uload/web namespace
- Add picture project to monorepo
- Remove embedded git repository
- Unify all package names to @{project}/{app} schema:
- @maerchenzauber/* (was @storyteller/*)
- @manacore/* (was manacore-*, manacore)
- @manadeck/* (was web, backend, manadeck)
- @memoro/* (was memoro-web, landing, memoro)
- @picture/* (already unified)
- @uload/web
- Add convenient dev scripts for all apps:
- pnpm dev:{project}:web
- pnpm dev:{project}:landing
- pnpm dev:{project}:mobile
- pnpm dev:{project}:backend
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
32 lines
No EOL
974 B
TypeScript
32 lines
No EOL
974 B
TypeScript
import { create } from 'zustand';
|
|
import { persist, createJSONStorage } from 'zustand/middleware';
|
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
|
|
export type ViewMode = 'single' | 'grid3' | 'grid5';
|
|
|
|
type ViewStore = {
|
|
galleryViewMode: ViewMode;
|
|
exploreViewMode: ViewMode;
|
|
lastViewedImageId: string | null;
|
|
setGalleryViewMode: (mode: ViewMode) => void;
|
|
setExploreViewMode: (mode: ViewMode) => void;
|
|
setLastViewedImageId: (id: string | null) => void;
|
|
};
|
|
|
|
export const useViewStore = create<ViewStore>()(
|
|
persist(
|
|
(set) => ({
|
|
galleryViewMode: 'grid3',
|
|
exploreViewMode: 'grid3',
|
|
lastViewedImageId: null,
|
|
|
|
setGalleryViewMode: (mode) => set({ galleryViewMode: mode }),
|
|
setExploreViewMode: (mode) => set({ exploreViewMode: mode }),
|
|
setLastViewedImageId: (id) => set({ lastViewedImageId: id }),
|
|
}),
|
|
{
|
|
name: 'view-storage',
|
|
storage: createJSONStorage(() => AsyncStorage),
|
|
}
|
|
)
|
|
); |