mirror of
https://github.com/spacedriveapp/spacedrive.git
synced 2026-05-19 05:45:01 -04:00
* WIP Create Indexer Rule UI + Backend api fix * Complete IndexerEditor UI for creating new rules - WIP testing to ensure all rules are parsed correctly - Add utilities to satisfy the TypeScript typechecker - Introduce a utility function to facilitate extracting information from an RSPCError - Modify AddLocationDialog to utilize the aforementioned utility function * Validation and submit logic is now functional - Reorganize UI for improved user flow - Implement validation and error messaging, replace some bare inputs with form inputs, and fix styling issues - Resolve issues with post-processing of rules during submission - Wrap editable portion of component in a `FormProvider` due to the `Form` being in a `Portal` - Add specialized `ErrorMessage` component to `@sd/ui` library - Update `AddLocationDialog` and `FormField` to utilize the new `ErrorMessage` component * Fix submit not waiting for confirmation from backend - Reset form after submit - Disable form while submiting - Update form related dependencies * Implement deleting an indexer rule - Modify indexer rule api route to disallow deleting default rules * Fix form reset on error - Minor style adjustments
75 lines
2.3 KiB
JSON
75 lines
2.3 KiB
JSON
{
|
|
"name": "@sd/mobile",
|
|
"version": "1.0.0",
|
|
"main": "index.js",
|
|
"license": "GPL-3.0-only",
|
|
"private": true,
|
|
"scripts": {
|
|
"start": "expo start --dev-client",
|
|
"android": "expo run:android",
|
|
"ios": "expo run:ios",
|
|
"xcode": "open ios/spacedrive.xcworkspace",
|
|
"android-studio": "open -a '/Applications/Android Studio.app' ./android",
|
|
"lint": "eslint src --cache",
|
|
"typecheck": "tsc -b",
|
|
"clean:android": "cd android && ./gradlew clean && cd ../",
|
|
"clean:ios": "cd ios && xcodebuild clean && cd ../"
|
|
},
|
|
"dependencies": {
|
|
"@gorhom/bottom-sheet": "^4.4.5",
|
|
"@hookform/resolvers": "^3.1.0",
|
|
"@react-native-async-storage/async-storage": "~1.17.11",
|
|
"@react-native-masked-view/masked-view": "0.2.8",
|
|
"@react-navigation/bottom-tabs": "^6.5.7",
|
|
"@react-navigation/drawer": "^6.6.2",
|
|
"@react-navigation/native": "^6.1.6",
|
|
"@react-navigation/stack": "^6.3.16",
|
|
"@rspc/client": "^0.0.0-main-7c0a67c1",
|
|
"@rspc/react": "^0.0.0-main-7c0a67c1",
|
|
"@sd/assets": "workspace:*",
|
|
"@sd/client": "workspace:*",
|
|
"@shopify/flash-list": "1.4.0",
|
|
"@tanstack/react-query": "^4.26.1",
|
|
"byte-size": "^8.1.0",
|
|
"class-variance-authority": "^0.4.0",
|
|
"dayjs": "^1.11.5",
|
|
"expo": "~48.0.6",
|
|
"expo-linking": "~4.0.1",
|
|
"expo-media-library": "~15.2.3",
|
|
"expo-splash-screen": "~0.18.1",
|
|
"expo-status-bar": "~1.4.4",
|
|
"intl": "^1.2.5",
|
|
"lottie-react-native": "5.1.4",
|
|
"moti": "^0.24.2",
|
|
"phosphor-react-native": "^1.1.2",
|
|
"react": "18.2.0",
|
|
"react-hook-form": "^7.43.9",
|
|
"react-native": "0.71.3",
|
|
"react-native-document-picker": "^8.1.1",
|
|
"react-native-fs": "^2.20.0",
|
|
"react-native-gesture-handler": "~2.9.0",
|
|
"react-native-popup-menu": "^0.16.1",
|
|
"react-native-reanimated": "~2.14.4",
|
|
"react-native-safe-area-context": "4.5.0",
|
|
"react-native-screens": "~3.20.0",
|
|
"react-native-svg": "13.4.0",
|
|
"react-native-wheel-color-picker": "^1.2.0",
|
|
"twrnc": "^3.6.0",
|
|
"use-count-up": "^3.0.1",
|
|
"use-debounce": "^9.0.2",
|
|
"valtio": "^1.10.3",
|
|
"zod": "^3.21.4"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.21.0",
|
|
"@rnx-kit/metro-config": "^1.3.5",
|
|
"@sd/config": "workspace:*",
|
|
"@types/react": "~18.0.27",
|
|
"babel-plugin-module-resolver": "^5.0.0",
|
|
"eslint-plugin-react-native": "^4.0.0",
|
|
"metro-minify-terser": "0.76.0",
|
|
"react-native-svg-transformer": "^1.0.0",
|
|
"typescript": "^4.9.5"
|
|
}
|
|
}
|