Incremental work on rich text

This commit is contained in:
ryan 2025-06-21 22:58:33 -07:00
parent 2636746da3
commit c93fddc343
3 changed files with 55 additions and 6 deletions

View File

@ -34,8 +34,8 @@ export default function NewEntryScreen() {
onUpdate(props) { onUpdate(props) {
const newText = props.editor.getNativeText(); const newText = props.editor.getNativeText();
setEntryText(newText); setEntryText(newText);
console.log("Text", newText); }, // Add these properties to improve compatibility
},
}); });
const insets = useSafeAreaInsets(); const insets = useSafeAreaInsets();
@ -89,7 +89,13 @@ export default function NewEntryScreen() {
}}> }}>
{stats.words} words · {stats.characters} characters {stats.words} words · {stats.characters} characters
</Text> </Text>
<EditorContent
editor={editor}
placeholder="Write something..."
inputRef={inputRef}
autoFocus
/>
{/*
<TextInput <TextInput
ref={inputRef} ref={inputRef}
style={{ style={{
@ -107,7 +113,7 @@ export default function NewEntryScreen() {
placeholder="Write your entry here..." placeholder="Write your entry here..."
value={entryText} value={entryText}
onChangeText={setEntryText} onChangeText={setEntryText}
/> /> */}
<ScrollView <ScrollView
horizontal={true} horizontal={true}
keyboardShouldPersistTaps="always" keyboardShouldPersistTaps="always"

42
package-lock.json generated
View File

@ -35,19 +35,22 @@
"expo-symbols": "~0.4.5", "expo-symbols": "~0.4.5",
"expo-system-ui": "~5.0.8", "expo-system-ui": "~5.0.8",
"expo-web-browser": "~14.1.6", "expo-web-browser": "~14.1.6",
"marked": "^15.0.12",
"react": "19.0.0", "react": "19.0.0",
"react-dom": "19.0.0", "react-dom": "19.0.0",
"react-native": "0.79.3", "react-native": "0.79.3",
"react-native-edge-to-edge": "1.6.0", "react-native-edge-to-edge": "1.6.0",
"react-native-gesture-handler": "~2.24.0", "react-native-gesture-handler": "~2.24.0",
"react-native-paper": "^5.14.5", "react-native-paper": "^5.14.5",
"react-native-pell-rich-editor": "^1.9.0",
"react-native-reanimated": "~3.17.4", "react-native-reanimated": "~3.17.4",
"react-native-safe-area-context": "5.4.0", "react-native-safe-area-context": "5.4.0",
"react-native-screens": "~4.11.1", "react-native-screens": "~4.11.1",
"react-native-vector-icons": "^10.2.0", "react-native-vector-icons": "^10.2.0",
"react-native-web": "~0.20.0", "react-native-web": "~0.20.0",
"react-native-webview": "13.13.5", "react-native-webview": "13.13.5",
"rn-text-editor": "^0.2.0" "rn-text-editor": "^0.2.0",
"turndown": "^7.2.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.25.2", "@babel/core": "^7.25.2",
@ -2933,6 +2936,12 @@
"@jridgewell/sourcemap-codec": "^1.4.14" "@jridgewell/sourcemap-codec": "^1.4.14"
} }
}, },
"node_modules/@mixmark-io/domino": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@mixmark-io/domino/-/domino-2.2.0.tgz",
"integrity": "sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==",
"license": "BSD-2-Clause"
},
"node_modules/@napi-rs/wasm-runtime": { "node_modules/@napi-rs/wasm-runtime": {
"version": "0.2.11", "version": "0.2.11",
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.11.tgz", "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.11.tgz",
@ -11936,6 +11945,18 @@
"markdown-it": "bin/markdown-it.mjs" "markdown-it": "bin/markdown-it.mjs"
} }
}, },
"node_modules/marked": {
"version": "15.0.12",
"resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz",
"integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==",
"license": "MIT",
"bin": {
"marked": "bin/marked.js"
},
"engines": {
"node": ">= 18"
}
},
"node_modules/marky": { "node_modules/marky": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz", "resolved": "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz",
@ -13971,6 +13992,16 @@
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/react-native-pell-rich-editor": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/react-native-pell-rich-editor/-/react-native-pell-rich-editor-1.9.0.tgz",
"integrity": "sha512-BKzlu++FySzPXrb5bczD8b/ZZJtfzcD4z7FvW7TrH+4OENEQtaIiEMfmb5N09Kv3YVJcfm8fut8Y+GLNAcCQHA==",
"license": "MIT",
"peerDependencies": {
"react-native": ">=0.50.0",
"react-native-webview": ">=7.5.2"
}
},
"node_modules/react-native-reanimated": { "node_modules/react-native-reanimated": {
"version": "3.17.5", "version": "3.17.5",
"resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.17.5.tgz", "resolved": "https://registry.npmjs.org/react-native-reanimated/-/react-native-reanimated-3.17.5.tgz",
@ -16007,6 +16038,15 @@
"license": "0BSD", "license": "0BSD",
"optional": true "optional": true
}, },
"node_modules/turndown": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/turndown/-/turndown-7.2.0.tgz",
"integrity": "sha512-eCZGBN4nNNqM9Owkv9HAtWRYfLA4h909E/WGAWWBpmB275ehNhZyk87/Tpvjbp0jjNl9XwCsbe6bm6CqFsgD+A==",
"license": "MIT",
"dependencies": {
"@mixmark-io/domino": "^2.2.0"
}
},
"node_modules/type-check": { "node_modules/type-check": {
"version": "0.4.0", "version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",

View File

@ -38,19 +38,22 @@
"expo-symbols": "~0.4.5", "expo-symbols": "~0.4.5",
"expo-system-ui": "~5.0.8", "expo-system-ui": "~5.0.8",
"expo-web-browser": "~14.1.6", "expo-web-browser": "~14.1.6",
"marked": "^15.0.12",
"react": "19.0.0", "react": "19.0.0",
"react-dom": "19.0.0", "react-dom": "19.0.0",
"react-native": "0.79.3", "react-native": "0.79.3",
"react-native-edge-to-edge": "1.6.0", "react-native-edge-to-edge": "1.6.0",
"react-native-gesture-handler": "~2.24.0", "react-native-gesture-handler": "~2.24.0",
"react-native-paper": "^5.14.5", "react-native-paper": "^5.14.5",
"react-native-pell-rich-editor": "^1.9.0",
"react-native-reanimated": "~3.17.4", "react-native-reanimated": "~3.17.4",
"react-native-safe-area-context": "5.4.0", "react-native-safe-area-context": "5.4.0",
"react-native-screens": "~4.11.1", "react-native-screens": "~4.11.1",
"react-native-vector-icons": "^10.2.0", "react-native-vector-icons": "^10.2.0",
"react-native-web": "~0.20.0", "react-native-web": "~0.20.0",
"react-native-webview": "13.13.5", "react-native-webview": "13.13.5",
"rn-text-editor": "^0.2.0" "rn-text-editor": "^0.2.0",
"turndown": "^7.2.0"
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.25.2", "@babel/core": "^7.25.2",