diff --git a/packages/web/components/templates/article/HighlightsLayer.tsx b/packages/web/components/templates/article/HighlightsLayer.tsx
index 4d005f69d..d5bb8b0bb 100644
--- a/packages/web/components/templates/article/HighlightsLayer.tsx
+++ b/packages/web/components/templates/article/HighlightsLayer.tsx
@@ -573,7 +573,7 @@ export function HighlightsLayer(props: HighlightsLayerProps): JSX.Element {
)
useEffect(() => {
- if (props.highlightOnRelease && selectionData?.wasDragEvent) {
+ if (props.highlightOnRelease) {
handleAction('create')
setSelectionData(null)
}
diff --git a/packages/web/components/templates/article/ReaderSettingsControl.tsx b/packages/web/components/templates/article/ReaderSettingsControl.tsx
index 490c92478..3c0c0665f 100644
--- a/packages/web/components/templates/article/ReaderSettingsControl.tsx
+++ b/packages/web/components/templates/article/ReaderSettingsControl.tsx
@@ -167,6 +167,37 @@ function AdvancedSettings(props: SettingsProps): JSX.Element {
+
+
+
+ {
+ readerSettings.setHighlightOnRelease(checked)
+ }}
+ >
+
+
+
)
}
diff --git a/packages/web/lib/hooks/useReaderSettings.tsx b/packages/web/lib/hooks/useReaderSettings.tsx
index 9a77c4042..cbd7c134b 100644
--- a/packages/web/lib/hooks/useReaderSettings.tsx
+++ b/packages/web/lib/hooks/useReaderSettings.tsx
@@ -31,6 +31,9 @@ export type ReaderSettings = {
setJustifyText: (set: boolean) => void
highContrastText: boolean | undefined
setHighContrastText: (set: boolean) => void
+
+ highlightOnRelease: boolean | undefined
+ setHighlightOnRelease: (set: boolean) => void
}
export const useReaderSettings = (): ReaderSettings => {
@@ -61,6 +64,13 @@ export const useReaderSettings = (): ReaderSettings => {
initialValue: false,
})
+ const [highlightOnRelease, setHighlightOnRelease] = usePersistedState<
+ boolean | undefined
+ >({
+ key: `--display-highlight-on-release`,
+ initialValue: false,
+ })
+
const [justifyText, setJustifyText] = usePersistedState({
key: `--display-justify-text`,
initialValue: false,
@@ -216,5 +226,7 @@ export const useReaderSettings = (): ReaderSettings => {
setJustifyText,
highContrastText,
setHighContrastText,
+ highlightOnRelease,
+ setHighlightOnRelease,
}
}