refactor(NotesPageClient, MarkdownEditor): enhance layout responsiveness by adjusting flex properties and ensuring proper overflow handling
This commit is contained in:
@@ -449,7 +449,7 @@ function NotesPageContent({
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Main Editor Area */}
|
{/* Main Editor Area */}
|
||||||
<div className="flex-1 flex flex-col min-h-0">
|
<div className="flex-1 flex flex-col min-h-0 min-w-0 w-0">
|
||||||
{error && (
|
{error && (
|
||||||
<div className="flex items-center gap-2 p-3 bg-[var(--destructive)]/10 border-b border-[var(--destructive)]/20 text-[var(--destructive)]">
|
<div className="flex items-center gap-2 p-3 bg-[var(--destructive)]/10 border-b border-[var(--destructive)]/20 text-[var(--destructive)]">
|
||||||
<AlertCircle className="w-4 h-4" />
|
<AlertCircle className="w-4 h-4" />
|
||||||
@@ -466,9 +466,11 @@ function NotesPageContent({
|
|||||||
{selectedNote ? (
|
{selectedNote ? (
|
||||||
<>
|
<>
|
||||||
{/* Note Header */}
|
{/* Note Header */}
|
||||||
<div className={`${glassDivider} flex items-center gap-4 p-4`}>
|
<div
|
||||||
<FileText className="w-5 h-5 text-[var(--muted-foreground)]" />
|
className={`${glassDivider} flex items-center gap-4 p-4 overflow-hidden`}
|
||||||
<div className="flex-1">
|
>
|
||||||
|
<FileText className="w-5 h-5 text-[var(--muted-foreground)] flex-shrink-0" />
|
||||||
|
<div className="flex-1 min-w-0">
|
||||||
<h2 className="text-lg font-semibold text-[var(--foreground)] truncate">
|
<h2 className="text-lg font-semibold text-[var(--foreground)] truncate">
|
||||||
{getNoteTitle(selectedNote.content)}
|
{getNoteTitle(selectedNote.content)}
|
||||||
</h2>
|
</h2>
|
||||||
@@ -495,13 +497,13 @@ function NotesPageContent({
|
|||||||
: null;
|
: null;
|
||||||
|
|
||||||
return currentFolder ? (
|
return currentFolder ? (
|
||||||
<div className="flex items-center gap-2 mt-1">
|
<div className="flex items-center gap-2 mt-1 flex-wrap">
|
||||||
<span className="text-xs text-[var(--muted-foreground)]">
|
<span className="text-xs text-[var(--muted-foreground)]">
|
||||||
📁 {currentFolder.name}
|
📁 {currentFolder.name}
|
||||||
</span>
|
</span>
|
||||||
{folderTag && (
|
{folderTag && (
|
||||||
<div
|
<div
|
||||||
className="flex items-center gap-1 px-2 py-0.5 rounded-full text-xs"
|
className="flex items-center gap-1 px-2 py-0.5 rounded-full text-xs flex-shrink-0"
|
||||||
style={{
|
style={{
|
||||||
backgroundColor: `${folderTag.color}20`,
|
backgroundColor: `${folderTag.color}20`,
|
||||||
color: folderTag.color,
|
color: folderTag.color,
|
||||||
@@ -514,13 +516,13 @@ function NotesPageContent({
|
|||||||
) : null;
|
) : null;
|
||||||
})()}
|
})()}
|
||||||
</div>
|
</div>
|
||||||
<div className="flex items-center gap-2 text-sm text-[var(--muted-foreground)]">
|
<div className="flex items-center gap-2 text-sm text-[var(--muted-foreground)] flex-shrink-0">
|
||||||
{hasUnsavedChanges && (
|
{hasUnsavedChanges && (
|
||||||
<span className="text-[var(--accent)]">
|
<span className="text-[var(--accent)] whitespace-nowrap">
|
||||||
Non sauvegardé
|
Non sauvegardé
|
||||||
</span>
|
</span>
|
||||||
)}
|
)}
|
||||||
<span>
|
<span className="whitespace-nowrap">
|
||||||
Modifié{' '}
|
Modifié{' '}
|
||||||
{new Date(selectedNote.updatedAt).toLocaleDateString(
|
{new Date(selectedNote.updatedAt).toLocaleDateString(
|
||||||
'fr-FR'
|
'fr-FR'
|
||||||
@@ -530,7 +532,7 @@ function NotesPageContent({
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Editor */}
|
{/* Editor */}
|
||||||
<div className="flex-1 min-h-0">
|
<div className="flex-1 min-h-0 min-w-0 w-0">
|
||||||
<MarkdownEditor
|
<MarkdownEditor
|
||||||
value={selectedNote.content}
|
value={selectedNote.content}
|
||||||
onChange={handleContentChange}
|
onChange={handleContentChange}
|
||||||
|
|||||||
@@ -790,7 +790,7 @@ export function MarkdownEditor({
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
{/* Editor/Tags Area */}
|
{/* Editor/Tags Area */}
|
||||||
<div className="flex-1 flex overflow-hidden">
|
<div className="flex-1 flex overflow-hidden w-0">
|
||||||
{!isEditing ? (
|
{!isEditing ? (
|
||||||
/* Mode Aperçu avec Tags */
|
/* Mode Aperçu avec Tags */
|
||||||
<div className="w-full flex flex-col">
|
<div className="w-full flex flex-col">
|
||||||
@@ -879,7 +879,7 @@ export function MarkdownEditor({
|
|||||||
<>
|
<>
|
||||||
{/* Editor */}
|
{/* Editor */}
|
||||||
<div
|
<div
|
||||||
className={`flex-1 flex flex-col ${showPreview ? 'w-1/2' : 'w-full'}`}
|
className={`flex flex-col ${showPreview ? 'w-1/2 min-w-0' : 'flex-1 w-full'}`}
|
||||||
>
|
>
|
||||||
<div className="p-3 border-b border-[var(--border)]/60 bg-[var(--card)]/40 backdrop-blur-md relative before:absolute before:inset-0 before:bg-gradient-to-r before:from-[color-mix(in_srgb,var(--primary)_8%,transparent)] before:via-[color-mix(in_srgb,var(--primary)_4%,transparent)] before:to-transparent before:opacity-80 before:pointer-events-none">
|
<div className="p-3 border-b border-[var(--border)]/60 bg-[var(--card)]/40 backdrop-blur-md relative before:absolute before:inset-0 before:bg-gradient-to-r before:from-[color-mix(in_srgb,var(--primary)_8%,transparent)] before:via-[color-mix(in_srgb,var(--primary)_4%,transparent)] before:to-transparent before:opacity-80 before:pointer-events-none">
|
||||||
<div className="flex items-center justify-between relative z-10">
|
<div className="flex items-center justify-between relative z-10">
|
||||||
@@ -941,7 +941,7 @@ export function MarkdownEditor({
|
|||||||
|
|
||||||
{/* Preview */}
|
{/* Preview */}
|
||||||
{showPreview && (
|
{showPreview && (
|
||||||
<div className="w-1/2 flex flex-col border-l border-[var(--border)]/60">
|
<div className="w-1/2 min-w-0 flex flex-col border-l border-[var(--border)]/60">
|
||||||
<div className="p-3 border-b border-[var(--border)]/60 bg-[var(--card)]/40 backdrop-blur-md relative before:absolute before:inset-0 before:bg-gradient-to-r before:from-[color-mix(in_srgb,var(--primary)_8%,transparent)] before:via-[color-mix(in_srgb,var(--primary)_4%,transparent)] before:to-transparent before:opacity-80 before:pointer-events-none">
|
<div className="p-3 border-b border-[var(--border)]/60 bg-[var(--card)]/40 backdrop-blur-md relative before:absolute before:inset-0 before:bg-gradient-to-r before:from-[color-mix(in_srgb,var(--primary)_8%,transparent)] before:via-[color-mix(in_srgb,var(--primary)_4%,transparent)] before:to-transparent before:opacity-80 before:pointer-events-none">
|
||||||
<span className="text-sm font-medium text-[var(--foreground)] relative z-10">
|
<span className="text-sm font-medium text-[var(--foreground)] relative z-10">
|
||||||
Aperçu
|
Aperçu
|
||||||
|
|||||||
Reference in New Issue
Block a user