diff --git a/index.js b/index.js index cea0f301..a1d379c5 100644 --- a/index.js +++ b/index.js @@ -2,7 +2,7 @@ * @format */ -import {AppRegistry, Platform} from 'react-native'; +import {AppRegistry} from 'react-native'; import {App} from './App'; import './i18n/i18n'; @@ -11,6 +11,3 @@ import {name as appName} from './app.json'; AppRegistry.registerComponent(appName, () => App); -if (Platform.OS == "web") { - AppRegistry.runApplication(appName, {rootTag: document.getElementById('root')}); -} diff --git a/index.web.js b/index.web.js new file mode 100644 index 00000000..9cbd0e4f --- /dev/null +++ b/index.web.js @@ -0,0 +1,41 @@ +/** + * @format + */ + +import {AppRegistry} from 'react-native'; + +import {App} from './App'; +import './i18n/i18n'; + +import {name as appName} from './app.json'; + +import MaterialIconFont from 'react-native-vector-icons/Fonts/MaterialIcons.ttf'; +import MaterialCommunityIconFont from 'react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf'; + +const iconFontStyles = `@font-face { + src: url(${MaterialCommunityIconFont}); + font-family: MaterialCommunityIcons; +} + +@font-face { + src: url(${MaterialIconFont}); + font-family: MaterialIcons; +}`; + +// Create a stylesheet +const style = document.createElement('style'); +style.type = 'text/css'; + +// Append the iconFontStyles to the stylesheet +if (style.styleSheet) { + style.styleSheet.cssText = iconFontStyles; +} else { + style.appendChild(document.createTextNode(iconFontStyles)); +} + +// Inject the stylesheet into the document head +document.head.appendChild(style); + +AppRegistry.registerComponent(appName, () => App); + +AppRegistry.runApplication(appName, {rootTag: document.getElementById('root')}); diff --git a/package.json b/package.json index 455260b8..e837efa4 100644 --- a/package.json +++ b/package.json @@ -14,12 +14,13 @@ "postinstall": "patch-package" }, "dependencies": { - "@gorhom/bottom-sheet": "^4.5.1", + "@gorhom/bottom-sheet": "^5.0.0-alpha.6", "@notifee/react-native": "^7.8.2", "@react-native-async-storage/async-storage": "^1.21.0", "@react-native-clipboard/clipboard": "^1.13.2", "@react-native-community/hooks": "^3.0.0", "@rexovolt/react-native-side-menu": "^2.0.0", + "@svgr/webpack": "^8.1.0", "@tradle/react-native-http": "^2.0.1", "@traptitech/markdown-it-spoiler": "^1.1.6", "assert": "^2.1.0", diff --git a/src/components/navigation/ChannelList.tsx b/src/components/navigation/ChannelList.tsx index 20ee469a..6dbcf881 100644 --- a/src/components/navigation/ChannelList.tsx +++ b/src/components/navigation/ChannelList.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import {TouchableOpacity, View} from 'react-native'; +import {ImageBackground, TouchableOpacity, View} from 'react-native'; import {observer} from 'mobx-react-lite'; import MaterialCommunityIcon from 'react-native-vector-icons/MaterialCommunityIcons'; @@ -9,7 +9,6 @@ import {Channel, Server} from 'revolt.js'; import {app, client} from '../../Generic'; import {currentTheme, styles} from '../../Theme'; import {ChannelButton, Text} from '../common/atoms'; -import {Image} from '@rvmob/crossplat/Image'; type ChannelListProps = { onChannelClick: Function; @@ -98,7 +97,7 @@ const ServerChannelList = observer((props: ServerChannelListProps) => { return ( <> {props.currentServer.banner ? ( - { - + ) : ( app.openServerContextMenu(props.currentServer)} diff --git a/src/crossplat/Image.ts b/src/crossplat/Image.ts index 6ef18aca..311b0661 100644 --- a/src/crossplat/Image.ts +++ b/src/crossplat/Image.ts @@ -1,5 +1,3 @@ -import {Image as CoreImage, Platform} from 'react-native'; -// import FastImage from 'react-native-fast-image'; +import FastImage from 'react-native-fast-image'; -// FIXME: this needs to use fastimage on other platforms -export const Image = Platform.OS !== 'web' ? CoreImage : CoreImage; +export const Image = FastImage; diff --git a/src/crossplat/Image.web.ts b/src/crossplat/Image.web.ts new file mode 100644 index 00000000..4348495f --- /dev/null +++ b/src/crossplat/Image.web.ts @@ -0,0 +1,3 @@ +import {Image as CoreImage} from 'react-native'; + +export const Image = CoreImage; diff --git a/web/index.html b/web/index.html index a333a640..78fa4c92 100644 --- a/web/index.html +++ b/web/index.html @@ -3,8 +3,10 @@ - Aberdeen Demo + RVMob Beta