Replace @expo/vector-icons with @react-native-vector-icons, switch icon for event list items

This commit is contained in:
ponas committed 2026-07-30 00:31:17 +02:00
1 parent ffc9bfcec6
commit d19066812e
5 files changed
+149 -23

No files matched your search

-7
View File
@@ -72,7 +72,6 @@ history, code and binary blobs related to React Native functionality filtered ou
- privacy policy
- delete my account
- ???
- test in android emulator? (`npm run android`)
- test in ios emulator? (`npm run ios`, requires macOS)
- use [Expo Application Services](https://expo.dev/eas) to build and submit app to stores
- replace redux (`redux` v5 + `redux-thunk`, hand-written actions and the deprecated
@@ -85,8 +84,6 @@ history, code and binary blobs related to React Native functionality filtered ou
commented-out init in `index.ts`), and its config plugin (now applied via `app.json`)
warns about missing `organization`/`project` at every build — either finish the setup
or drop the dependency
- verify Android UI on a device/emulator: edge-to-edge is now always enabled and can no
longer be disabled
- try the [React Compiler](https://docs.expo.dev/guides/react-compiler/) (enabled by
default in new SDK 54 projects, opt-in for existing ones via
`"experiments": { "reactCompiler": true }` in `app.json`)
@@ -97,10 +94,6 @@ history, code and binary blobs related to React Native functionality filtered ou
(now stable) so `npm run android`/`ios` can download a cached build instead of
compiling locally when the native fingerprint is unchanged
- follow-ups from the [Expo SDK 56 upgrade](https://expo.dev/changelog/sdk-56):
- replace the deprecated `@expo/vector-icons` with the scoped
[`@react-native-vector-icons`](https://github.com/oblador/react-native-vector-icons) packages
(`npx @react-native-vector-icons/codemod`) — only `SimpleLineIcons` in
`src/modules/events/EventList.tsx` uses it, yet it ships ~3.5 MB of fonts into every export
- try [`@expo/ui`](https://docs.expo.dev/versions/latest/sdk/ui/), production-ready as of SDK 56:
real SwiftUI / Jetpack Compose components that could back the homegrown ones in
`src/components/` and finally retire `react-native-simple-radio-button`
+2 -1
View File
@@ -55,7 +55,8 @@
"resizeMode": "contain",
"backgroundColor": "#E5E2D7"
}
]
],
"@react-native-vector-icons/feather"
],
"extra": {
"eas": {
+143 -12
View File
@@ -10,8 +10,8 @@
"dependencies": {
"@apollo/client": "^3.14.1",
"@date-fns/tz": "^1.5.0",
"@expo/vector-icons": "^15.0.3",
"@react-native-async-storage/async-storage": "2.2.0",
"@react-native-vector-icons/feather": "^13.1.2",
"@react-navigation/bottom-tabs": "^7.4.7",
"@react-navigation/native": "^7.1.17",
"@react-navigation/native-stack": "^7.3.26",
@@ -2026,17 +2026,6 @@
"integrity": "sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==",
"license": "MIT"
},
"node_modules/@expo/vector-icons": {
"version": "15.1.1",
"resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-15.1.1.tgz",
"integrity": "sha512-Iu2VkcoI5vygbtYngm7jb4ifxElNVXQYdDrYkT7UCEIiKLeWnQY0wf2ZhHZ+Wro6Sc5TaumpKUOqDRpLi5rkvw==",
"license": "MIT",
"peerDependencies": {
"expo-font": ">=14.0.4",
"react": "*",
"react-native": "*"
}
},
"node_modules/@expo/ws-tunnel": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@expo/ws-tunnel/-/ws-tunnel-2.0.0.tgz",
@@ -2718,6 +2707,136 @@
"react-native": "^0.0.0-0 || >=0.65 <1.0"
}
},
"node_modules/@react-native-vector-icons/feather": {
"version": "13.1.2",
"resolved": "https://registry.npmjs.org/@react-native-vector-icons/feather/-/feather-13.1.2.tgz",
"integrity": "sha512-4wICYvJ+wF5ERKyVWpie+DFEZ6Jr2541T6E+EtVTEqdubxEjK2/RS9qtEU758BktlPlJUrAoZeW6Fl/iUKf0Vg==",
"license": "MIT",
"dependencies": {
"@react-native-vector-icons/common": "^13.0.1"
},
"engines": {
"node": ">= 18.0.0"
},
"peerDependencies": {
"@expo/config-plugins": ">=10.0.0",
"react": "*",
"react-native": "*"
},
"peerDependenciesMeta": {
"@expo/config-plugins": {
"optional": true
}
}
},
"node_modules/@react-native-vector-icons/feather/node_modules/@react-native-vector-icons/common": {
"version": "13.0.1",
"resolved": "https://registry.npmjs.org/@react-native-vector-icons/common/-/common-13.0.1.tgz",
"integrity": "sha512-UPC6L3tW5rXCjBn4kgw9RPURUILIg8tFpEY2uaYwU8aCjEHkywNCMcAO8+PvMCDkR6aICPeHYA0OXvMgrjsF4g==",
"license": "MIT",
"dependencies": {
"find-up": "^8.0.0",
"picocolors": "^1.1.1",
"plist": "^3.1.0"
},
"bin": {
"rnvi-update-plist": "lib/commonjs/scripts/updatePlist.js"
},
"engines": {
"node": ">=20.19.0 <21.0.0 || >=22.0.0"
},
"peerDependencies": {
"@react-native-vector-icons/get-image": "^13.0.0",
"@react-native/assets-registry": "*",
"expo-font": "*",
"react": "*",
"react-native": "*"
},
"peerDependenciesMeta": {
"@react-native-vector-icons/get-image": {
"optional": true
},
"@react-native/assets-registry": {
"optional": true
},
"expo-font": {
"optional": true
}
}
},
"node_modules/@react-native-vector-icons/feather/node_modules/find-up": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-8.0.0.tgz",
"integrity": "sha512-JGG8pvDi2C+JxidYdIwQDyS/CgcrIdh18cvgxcBge3wSHRQOrooMD3GlFBcmMJAN9M42SAZjDp5zv1dglJjwww==",
"license": "MIT",
"dependencies": {
"locate-path": "^8.0.0",
"unicorn-magic": "^0.3.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@react-native-vector-icons/feather/node_modules/locate-path": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-8.0.0.tgz",
"integrity": "sha512-XT9ewWAC43tiAV7xDAPflMkG0qOPn2QjHqlgX8FOqmWa/rxnyYDulF9T0F7tRy1u+TVTmK/M//6VIOye+2zDXg==",
"license": "MIT",
"dependencies": {
"p-locate": "^6.0.0"
},
"engines": {
"node": ">=20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@react-native-vector-icons/feather/node_modules/p-limit": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
"integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
"license": "MIT",
"dependencies": {
"yocto-queue": "^1.0.0"
},
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@react-native-vector-icons/feather/node_modules/p-locate": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz",
"integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==",
"license": "MIT",
"dependencies": {
"p-limit": "^4.0.0"
},
"engines": {
"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@react-native-vector-icons/feather/node_modules/yocto-queue": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz",
"integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==",
"license": "MIT",
"engines": {
"node": ">=12.20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@react-native/assets-registry": {
"version": "0.86.0",
"resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.86.0.tgz",
@@ -15379,6 +15498,18 @@
"node": ">=4"
}
},
"node_modules/unicorn-magic": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
"integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/universalify": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
+1 -1
View File
@@ -17,8 +17,8 @@
"dependencies": {
"@apollo/client": "^3.14.1",
"@date-fns/tz": "^1.5.0",
"@expo/vector-icons": "^15.0.3",
"@react-native-async-storage/async-storage": "2.2.0",
"@react-native-vector-icons/feather": "^13.1.2",
"@react-navigation/bottom-tabs": "^7.4.7",
"@react-navigation/native": "^7.1.17",
"@react-navigation/native-stack": "^7.3.26",
+3 -2
View File
@@ -1,5 +1,5 @@
import { TZDate } from '@date-fns/tz';
import { SimpleLineIcons as Icon } from '@expo/vector-icons';
import Icon from '@react-native-vector-icons/feather/static';
import { format, parseISO } from 'date-fns';
import { nb } from 'date-fns/locale';
import React from 'react';
@@ -50,7 +50,7 @@ const EventList = () => {
)}
</View>
<View style={styles.arrow}>
<Icon name="arrow-right" style={{ color: theme.colors.neufBlack, marginTop: 3 }} />
<Icon name="arrow-right" size={20} style={{ color: theme.colors.neufBlack }} />
</View>
</View>
</TouchableOpacity>
@@ -138,6 +138,7 @@ const styles = StyleSheet.create({
arrow: {
flex: 1,
alignItems: 'flex-end',
justifyContent: 'center',
},
row: { flex: 1, flexDirection: 'row' },
});