From 5b21ab4b3f835692b261981b14ec56ec38725b0c Mon Sep 17 00:00:00 2001 From: Brandon Fitzwater Date: Fri, 2 Aug 2024 19:00:03 -0400 Subject: [PATCH 1/7] Migrate example to expo 51 and expo router --- example/.gitignore | 73 + example/app.json | 24 +- example/app/+html.tsx | 43 + example/app/_layout.tsx | 14 + example/{src/App.tsx => app/index.tsx} | 49 +- example/{ => assets/images}/favicon.png | Bin example/{src => assets/images}/schedule.png | Bin example/babel.config.js | 18 +- example/index.js | 8 - example/metro.config.js | 38 - example/package.json | 23 +- example/src/ReadMeExampleDatePickerInput.tsx | 22 - example/src/ReadMeExampleMultiple.tsx | 52 - example/src/ReadMeExampleRange.tsx | 60 - example/src/ReadMeExampleSingle.tsx | 52 - example/src/index.css | 35 - example/src/index.ts | 2 - example/src/react-app-env.d.ts | 1 - example/tsconfig.json | 10 +- example/webpack.config.js | 32 - example/yarn.lock | 2347 +++++++++--------- 21 files changed, 1346 insertions(+), 1557 deletions(-) create mode 100644 example/.gitignore create mode 100644 example/app/+html.tsx create mode 100644 example/app/_layout.tsx rename example/{src/App.tsx => app/index.tsx} (96%) rename example/{ => assets/images}/favicon.png (100%) rename example/{src => assets/images}/schedule.png (100%) delete mode 100644 example/index.js delete mode 100644 example/metro.config.js delete mode 100644 example/src/ReadMeExampleDatePickerInput.tsx delete mode 100644 example/src/ReadMeExampleMultiple.tsx delete mode 100644 example/src/ReadMeExampleRange.tsx delete mode 100644 example/src/ReadMeExampleSingle.tsx delete mode 100644 example/src/index.css delete mode 100644 example/src/index.ts delete mode 100644 example/src/react-app-env.d.ts delete mode 100644 example/webpack.config.js diff --git a/example/.gitignore b/example/.gitignore new file mode 100644 index 00000000..2886d6f5 --- /dev/null +++ b/example/.gitignore @@ -0,0 +1,73 @@ +# OSX +# +.DS_Store + +# XDE +.expo/ +/example/dist + +# VSCode +.vscode/ +jsconfig.json + +# Xcode +# +build/ +*.pbxuser +!default.pbxuser +*.mode1v3 +!default.mode1v3 +*.mode2v3 +!default.mode2v3 +*.perspectivev3 +!default.perspectivev3 +xcuserdata +*.xccheckout +*.moved-aside +DerivedData +*.hmap +*.ipa +*.xcuserstate +project.xcworkspace + +# Android/IJ +# +.idea +.gradle +local.properties +android.iml + +# Cocoapods +# +example/ios/Pods + +# node.js +# +node_modules/ +npm-debug.log +yarn-debug.log +yarn-error.log + +# BUCK +buck-out/ +\.buckd/ +android/app/libs +android/keystores/debug.keystore + +# Expo +.expo/* + +# generated by bob +lib/ + +.env +web-build + +# Code Coverage +/coverage/ + +# @generated expo-cli sync-2b81b286409207a5da26e14c78851eb30d8ccbdb +# The following patterns were generated by expo-cli + +expo-env.d.ts +# @end expo-cli \ No newline at end of file diff --git a/example/app.json b/example/app.json index 63ed2528..1ddadcfa 100644 --- a/example/app.json +++ b/example/app.json @@ -1,17 +1,11 @@ { - "name": "react-native-paper-dates-example", - "displayName": "PaperDates Example", "expo": { "name": "react-native-paper-dates-example", "slug": "react-native-paper-dates-example", "description": "Example app for react-native-paper-dates", - "privacy": "public", "version": "1.0.0", - "platforms": [ - "ios", - "android", - "web" - ], + "privacy": "public", + "scheme": "react-native-paper-dates", "ios": { "supportsTablet": true }, @@ -19,14 +13,22 @@ "translucent": true }, "web": { - "favicon": "./favicon.png", + "bundler": "metro", + "favicon": "./assets/images/favicon.png", "name": "React Native Paper Dates", "shortName": "PaperDates", - "description": "Example app for react-native-paper-dates" + "description": "Example app for react-native-paper-dates", + "output": "static" }, "assetBundlePatterns": [ "**/*" ], - "userInterfaceStyle": "automatic" + "userInterfaceStyle": "automatic", + "plugins": [ + "expo-router" + ], + "experiments": { + "typedRoutes": true + } } } diff --git a/example/app/+html.tsx b/example/app/+html.tsx new file mode 100644 index 00000000..00868f04 --- /dev/null +++ b/example/app/+html.tsx @@ -0,0 +1,43 @@ +import { ScrollViewStyleReset } from 'expo-router/html' +import React from 'react' +import { type PropsWithChildren } from 'react' + +/** + * This file is web-only and used to configure the root HTML for every web page during static rendering. + * The contents of this function only run in Node.js environments and do not have access to the DOM or browser APIs. + */ +export default function Root({ children }: PropsWithChildren) { + return ( + + + + + + + {/* + Disable body scrolling on web. This makes ScrollView components work closer to how they do on native. + However, body scrolling is often nice to have for mobile web. If you want to enable it, remove this line. + */} + + + {/* Using raw CSS styles as an escape-hatch to ensure the background color never flickers in dark-mode. */} +