Files
llink/js/mobile/package.json
T
Claude 47c173f472 Use inline WYSIWYG markdown editor for long text messages
Desktop: replace the Write/Preview tab toggle in the compose card with
MDXEditor, an inline WYSIWYG that renders markdown as you type (Obsidian/
Notion feel) and round-trips plain markdown, matching how particle content
is stored. Immersive mode is unchanged — short, plain notes still get the
centered large-type textarea, and ⌘+M still drops into the rich editor.
Shortcut handling moves to the capture phase so ⌘+Enter / Esc win over the
editor's own key handling.

Mobile: render markdown on the display side via react-native-marked's
useMarkdown hook (no FlatList, so it nests cleanly in the existing
ScrollView). Mirrors desktop's immersive-vs-card logic: short plain notes
stay centered; anything with markdown renders formatted instead of showing
raw syntax. Composer stays plain text.

https://claude.ai/code/session_019DU6V5z6Nr4Vu7b1fBDnq4
2026-05-28 23:32:57 +00:00

61 lines
2.0 KiB
JSON

{
"name": "flowy-mobile",
"version": "0.5.0",
"private": true,
"main": "index.ts",
"scripts": {
"start": "expo start -c",
"ios": "expo run:ios --device",
"publish:ios": "eas build --platform ios --auto-submit && echo 'Go to App Store Connect and submit the testflight build for app review. Visit for more information: https://docs.expo.dev/submit/introduction/'",
"android": "expo run:android",
"compile": "tsc --noEmit",
"lint": "expo lint"
},
"packageManager": "[email protected]",
"dependencies": {
"@config-plugins/react-native-webrtc": "^12.0.0",
"@livekit/react-native": "^2.7.5",
"@livekit/react-native-expo-plugin": "^1.0.2",
"@livekit/react-native-webrtc": "^144.1.0",
"@react-native-async-storage/async-storage": "2.2.0",
"@react-navigation/native": "^7.0.14",
"@react-navigation/native-stack": "^7.2.0",
"@tanstack/react-query": "^5.90.21",
"clsx": "^2.1.1",
"expo": "~54.0.0",
"expo-audio": "~1.0.13",
"expo-camera": "~17.0.10",
"expo-constants": "~18.0.13",
"expo-device": "~8.0.10",
"expo-file-system": "~19.0.16",
"expo-haptics": "~15.0.7",
"expo-notifications": "~0.32.17",
"expo-secure-store": "~15.0.8",
"expo-status-bar": "~3.0.9",
"expo-video": "~3.0.10",
"firebase": "^12.10.0",
"livekit-client": "^2.15.2",
"lucide-react-native": "^0.575.0",
"nativewind": "^4.1.23",
"react": "19.1.0",
"react-native": "0.81.5",
"react-native-gesture-handler": "~2.28.0",
"react-native-marked": "^8.1.0",
"react-native-reanimated": "~4.1.1",
"react-native-safe-area-context": "~5.6.0",
"react-native-screens": "~4.16.0",
"react-native-svg": "15.12.1",
"react-native-worklets": "0.5.1",
"sonner-native": "^0.21.0",
"tailwind-merge": "^3.5.0",
"zod": "^4.3.6",
"zustand": "^5.0.11"
},
"devDependencies": {
"@types/react": "~19.1.0",
"expo-build-properties": "~1.0.10",
"tailwindcss": "^3.4.17",
"typescript": "~5.9.0"
}
}