mirror of
https://github.com/enricoros/big-AGI.git
synced 2026-05-10 21:50:14 -07:00
Soft-wrap as a global preference. Fixes #517
This commit is contained in:
@@ -32,6 +32,9 @@ interface UIPreferencesStore {
|
||||
renderMarkdown: boolean;
|
||||
setRenderMarkdown: (renderMarkdown: boolean) => void;
|
||||
|
||||
renderCodeSoftWrap: boolean;
|
||||
setRenderCodeSoftWrap: (renderCodeSoftWrap: boolean) => void;
|
||||
|
||||
// showPersonaExamples: boolean;
|
||||
// setShowPersonaExamples: (showPersonaExamples: boolean) => void;
|
||||
|
||||
@@ -75,6 +78,9 @@ export const useUIPreferencesStore = create<UIPreferencesStore>()(
|
||||
renderMarkdown: true,
|
||||
setRenderMarkdown: (renderMarkdown: boolean) => set({ renderMarkdown }),
|
||||
|
||||
renderCodeSoftWrap: false,
|
||||
setRenderCodeSoftWrap: (renderCodeSoftWrap: boolean) => set({ renderCodeSoftWrap }),
|
||||
|
||||
// showPersonaExamples: false,
|
||||
// setShowPersonaExamples: (showPersonaExamples: boolean) => set({ showPersonaExamples }),
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ import WrapTextIcon from '@mui/icons-material/WrapText';
|
||||
|
||||
import { copyToClipboard } from '~/common/util/clipboardUtils';
|
||||
import { frontendSideFetch } from '~/common/util/clientFetchers';
|
||||
import { useUIPreferencesStore } from '~/common/state/store-ui';
|
||||
|
||||
import type { CodeBlock } from '../blocks';
|
||||
import { ButtonCodePen, isCodePenSupported } from './ButtonCodePen';
|
||||
@@ -107,7 +108,7 @@ function RenderCodeImpl(props: RenderCodeImplProps) {
|
||||
const [showMermaid, setShowMermaid] = React.useState(true);
|
||||
const [showPlantUML, setShowPlantUML] = React.useState(true);
|
||||
const [showSVG, setShowSVG] = React.useState(true);
|
||||
const [softWrap, setSoftWrap] = React.useState(false);
|
||||
const [softWrap, setSoftWrap] = useUIPreferencesStore(state => [state.renderCodeSoftWrap, state.setRenderCodeSoftWrap]);
|
||||
|
||||
// derived props
|
||||
const {
|
||||
@@ -274,7 +275,7 @@ function RenderCodeImpl(props: RenderCodeImplProps) {
|
||||
{/* Soft Wrap toggle */}
|
||||
{(!renderHTML && !renderMermaid && !renderPlantUML && !renderSVG) && (
|
||||
<Tooltip title='Toggle Soft Wrap'>
|
||||
<OverlayButton variant={softWrap ? 'solid' : 'outlined'} onClick={() => setSoftWrap(on => !on)}>
|
||||
<OverlayButton variant={softWrap ? 'solid' : 'outlined'} onClick={() => setSoftWrap(!softWrap)}>
|
||||
<WrapTextIcon />
|
||||
</OverlayButton>
|
||||
</Tooltip>
|
||||
|
||||
Reference in New Issue
Block a user