feat: add Expo QR code generation and modal for mobile preview

Introduce Expo QR code functionality to allow users to preview their projects on mobile devices. Added a new QR code modal component, integrated it into the chat and preview components, and implemented Expo URL detection in the shell process. This enhances the mobile development workflow by providing a seamless way to test Expo projects directly on devices.

- Clean up and consolidate Preview icon buttons while removing redundant ones.
This commit is contained in:
KevIsDev
2025-04-17 13:03:41 +01:00
parent cbc22cdbdb
commit 9039653ae0
12 changed files with 238 additions and 106 deletions

19
pnpm-lock.yaml generated
View File

@@ -287,6 +287,9 @@ importers:
react-markdown:
specifier: ^9.0.1
version: 9.1.0(@types/react@18.3.20)(react@18.3.1)
react-qr-code:
specifier: ^2.0.15
version: 2.0.15(react@18.3.1)
react-resizable-panels:
specifier: ^2.1.7
version: 2.1.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -6556,6 +6559,9 @@ packages:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
qr.js@0.0.0:
resolution: {integrity: sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ==}
qs@6.13.0:
resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
engines: {node: '>=0.6'}
@@ -6657,6 +6663,11 @@ packages:
'@types/react': '>=18'
react: '>=18'
react-qr-code@2.0.15:
resolution: {integrity: sha512-MkZcjEXqVKqXEIMVE0mbcGgDpkfSdd8zhuzXEl9QzYeNcw8Hq2oVIzDLWuZN2PQBwM5PWjc2S31K8Q1UbcFMfw==}
peerDependencies:
react: '*'
react-redux@7.2.9:
resolution: {integrity: sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==}
peerDependencies:
@@ -15554,6 +15565,8 @@ snapshots:
punycode@2.3.1: {}
qr.js@0.0.0: {}
qs@6.13.0:
dependencies:
side-channel: 1.1.0
@@ -15668,6 +15681,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
react-qr-code@2.0.15(react@18.3.1):
dependencies:
prop-types: 15.8.1
qr.js: 0.0.0
react: 18.3.1
react-redux@7.2.9(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@babel/runtime': 7.27.0