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