diff --git a/web/src/index.css b/web/src/index.css index a320a70..96548bd 100644 --- a/web/src/index.css +++ b/web/src/index.css @@ -1749,14 +1749,6 @@ button.pn-ae-tool svg { min-height: 420px; border-radius: var(--radius-sm); } -.pn-ae-preview { - margin-top: 20px; - padding: 4px 2px 0; - border-top: 1px solid var(--border); -} -.pn-ae-preview .pn-note-body { - margin-top: 20px; -} .pn-ae-upload-alert { margin-top: 10px; } diff --git a/web/src/pages/AdminEdit.tsx b/web/src/pages/AdminEdit.tsx index 29b50c6..adc1fab 100644 --- a/web/src/pages/AdminEdit.tsx +++ b/web/src/pages/AdminEdit.tsx @@ -3,7 +3,7 @@ import { useNavigate, useParams } from 'react-router' import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query' import dayjs from 'dayjs' import { - Bold, Code, Eye, EyeOff, Italic, Link2, List, Quote, + Bold, Code, Eye, FileCode2, Italic, Link2, List, Quote, Save, Table, Trash2, } from 'lucide-react' import { Alert, Badge, Button, Card, DatePicker, Divider, Input, Select, Spin, Switch } from 'antd' @@ -11,7 +11,6 @@ import { api, ApiError } from '../lib/api' import type { NoteItem } from '../lib/api' import { invalidatePublic } from '../lib/invalidate' import { useDocumentTitle } from '../features/site' -import MarkdownViewer from '../components/MarkdownViewer' import { AdminTopbar } from '../components/Layout' import { useToast } from '@/hooks/use-toast' import { slugPreview } from '../lib/utils' @@ -71,7 +70,7 @@ export default function AdminEdit() { const [form, setForm] = useState
(emptyForm) const [errorMsg, setErrorMsg] = useState(null) const [slugFieldError, setSlugFieldError] = useState(null) - const [showPreview, setShowPreview] = useState(false) + const [sourceMode, setSourceMode] = useState(false) const [uploadMsg, setUploadMsg] = useState<{ kind: 'busy' | 'error'; text: string } | null>(null) const dirtyRef = useRef(false) const slugTouchedRef = useRef(false) @@ -202,10 +201,11 @@ export default function AdminEdit() {