modification des menus contextuels
This commit is contained in:
@ -24,7 +24,7 @@ export function WelcomeModal({ isOpen, onClose }: WelcomeModalProps) {
|
||||
if (!isOpen) return null
|
||||
|
||||
return (
|
||||
<div
|
||||
<div
|
||||
style={{
|
||||
position: 'fixed',
|
||||
top: 0,
|
||||
@ -51,24 +51,32 @@ export function WelcomeModal({ isOpen, onClose }: WelcomeModalProps) {
|
||||
>
|
||||
<div style={{ padding: '24px' }}>
|
||||
<h2 style={{ margin: '0 0 20px 0', fontSize: '18px', color: '#fff' }}>
|
||||
Bienvenue dans Palace
|
||||
Welcome to Bubo's Memory Palace
|
||||
</h2>
|
||||
|
||||
|
||||
<div style={{ marginBottom: '20px', lineHeight: '1.5', color: '#ccc' }}>
|
||||
|
||||
<p style={{ margin: '0 0 12px 0' }}>
|
||||
<strong>Navigation :</strong> Tapez <code style={{ background: '#333', padding: '2px 4px', borderRadius: '2px' }}>:</code> pour ouvrir la console de navigation
|
||||
This is Bubo's Memory Palace. You can write words and sentences in space.
|
||||
Double click a word to navigate to the corresponding space. Empty spaces
|
||||
are deleted. Spaces with no words linking to them are kept, only forgotten.
|
||||
</p>
|
||||
|
||||
<p style={{ margin: '0 0 12px 0' }}>
|
||||
<strong>Navigation :</strong> Hit <code style={{ background: '#333', padding: '2px 4px', borderRadius: '2px' }}>:</code> to open a navigation console.
|
||||
</p>
|
||||
|
||||
<p style={{ margin: '0 0 12px 0' }}>
|
||||
<strong>Writing:</strong> Double click in the void to write anything.
|
||||
</p>
|
||||
<p style={{ margin: '0 0 12px 0' }}>
|
||||
<strong>Création de notes :</strong> Double-cliquez sur l'espace vide pour créer une note
|
||||
<strong>Selection:</strong> Shift+click or click and drag to select.
|
||||
</p>
|
||||
<p style={{ margin: '0 0 12px 0' }}>
|
||||
<strong>Sélection multiple :</strong> Shift+clic ou glisser pour sélectionner plusieurs notes
|
||||
</p>
|
||||
<p style={{ margin: '0 0 12px 0' }}>
|
||||
<strong>Navigation entre espaces :</strong> Double-cliquez sur une note pour naviguer vers l'espace correspondant
|
||||
<strong>Warping:</strong> Double click on a note to warp between spaces.
|
||||
</p>
|
||||
<p style={{ margin: '0' }}>
|
||||
<strong>Raccourcis :</strong> Suppr/Backspace pour effacer, Échap pour désélectionner
|
||||
<strong>Delete :</strong> Backspace/Del to delete a note.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@ -80,7 +88,7 @@ export function WelcomeModal({ isOpen, onClose }: WelcomeModalProps) {
|
||||
onChange={(e) => setNeverShowAgain(e.target.checked)}
|
||||
style={{ marginRight: '8px' }}
|
||||
/>
|
||||
Ne plus afficher ce message
|
||||
Don't show this again (<code style={{ background: '#333', padding: '2px 4px', borderRadius: '2px' }}>? </code> to open this modal again)
|
||||
</label>
|
||||
</div>
|
||||
|
||||
@ -103,7 +111,7 @@ export function WelcomeModal({ isOpen, onClose }: WelcomeModalProps) {
|
||||
e.currentTarget.style.background = '#333'
|
||||
}}
|
||||
>
|
||||
Compris !
|
||||
OK !
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@ -114,4 +122,4 @@ export function WelcomeModal({ isOpen, onClose }: WelcomeModalProps) {
|
||||
|
||||
export function shouldShowWelcome(): boolean {
|
||||
return localStorage.getItem('palace-welcome-dismissed') !== 'true'
|
||||
}
|
||||
}
|
||||
|
||||
10
src/store.ts
10
src/store.ts
@ -13,9 +13,9 @@ type Space = {
|
||||
notes: Note[]
|
||||
}
|
||||
|
||||
export const currentSpaceId = atom<string>('home')
|
||||
export const currentSpaceId = atom<string>('crossroad')
|
||||
export const currentSpace = atom<Space | null>(null)
|
||||
export const navigationHistory = atom<string[]>(['home'])
|
||||
export const navigationHistory = atom<string[]>(['crossroad'])
|
||||
export const editingNoteId = atom<string | null>(null)
|
||||
export const selectedNoteIds = atom<string[]>([])
|
||||
export const existingSpaceIds = atom<string[]>([])
|
||||
@ -26,10 +26,10 @@ export const refreshExistingSpaces = async () => {
|
||||
}
|
||||
|
||||
export const loadSpace = async (spaceId: string) => {
|
||||
// Check if current space is empty and delete it (except 'home')
|
||||
// Check if current space is empty and delete it (except 'crossroad')
|
||||
const currentSpace_value = currentSpace.get()
|
||||
const currentSpaceId_value = currentSpaceId.get()
|
||||
if (currentSpace_value && currentSpaceId_value !== 'home' && currentSpace_value.notes.length === 0) {
|
||||
if (currentSpace_value && currentSpaceId_value !== 'crossroad' && currentSpace_value.notes.length === 0) {
|
||||
await db.deleteSpace(currentSpaceId_value)
|
||||
}
|
||||
|
||||
@ -104,7 +104,7 @@ export const deleteNote = async (noteId: string) => {
|
||||
|
||||
export const getSpaceFromUrl = () => {
|
||||
const hash = window.location.hash.slice(1)
|
||||
return hash || 'home'
|
||||
return hash || 'crossroad'
|
||||
}
|
||||
|
||||
// Selection management
|
||||
|
||||
Reference in New Issue
Block a user