From e35bfb49a2855a8ee73b3fee36b1176ab1d02d3a Mon Sep 17 00:00:00 2001 From: Sakul Budhathoki Date: Thu, 25 Jan 2024 22:34:06 +0545 Subject: [PATCH 1/2] fix: replace Drawer by Stack for web --- packages/components/navigation/Navigator.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/components/navigation/Navigator.tsx b/packages/components/navigation/Navigator.tsx index 2931eeb0ec..30861397ae 100644 --- a/packages/components/navigation/Navigator.tsx +++ b/packages/components/navigation/Navigator.tsx @@ -1,4 +1,5 @@ import { createDrawerNavigator } from "@react-navigation/drawer"; +import { createNativeStackNavigator } from "@react-navigation/native-stack"; import React from "react"; import { Platform } from "react-native"; @@ -51,12 +52,14 @@ import { RootStackParamList } from "../../utils/navigation"; import { neutral00 } from "../../utils/style/colors"; import { fullSidebarWidth } from "../../utils/style/layout"; -//const Stack = createNativeStackNavigator(); -const Drawer = createDrawerNavigator(); +const Stack = createNativeStackNavigator(); +const Drawer = + Platform.OS === "web" ? Stack : createDrawerNavigator(); const screenTitle = (title: string) => "Teritori - " + title; export const Navigator: React.FC = () => { return ( + //@ts-ignore (Platform.OS === "web" ? null : )} From efeddfc9cd925531960a085032018e33f6a3d672 Mon Sep 17 00:00:00 2001 From: Norman Meier Date: Thu, 25 Jan 2024 23:20:56 +0100 Subject: [PATCH 2/2] chore: use matching screen implem Signed-off-by: Norman Meier --- packages/components/navigation/Navigator.tsx | 129 +++++++++++-------- 1 file changed, 72 insertions(+), 57 deletions(-) diff --git a/packages/components/navigation/Navigator.tsx b/packages/components/navigation/Navigator.tsx index 30861397ae..a8356042c6 100644 --- a/packages/components/navigation/Navigator.tsx +++ b/packages/components/navigation/Navigator.tsx @@ -52,46 +52,61 @@ import { RootStackParamList } from "../../utils/navigation"; import { neutral00 } from "../../utils/style/colors"; import { fullSidebarWidth } from "../../utils/style/layout"; -const Stack = createNativeStackNavigator(); -const Drawer = - Platform.OS === "web" ? Stack : createDrawerNavigator(); +// Drawer navigator is broken on web +// FIXME: upgrade to expo-router + +const getNav = () => { + if (Platform.OS === "web") { + return { + Nav: createNativeStackNavigator(), + navigatorScreenOptions: {}, + }; + } else { + return { + Nav: createDrawerNavigator(), + navigatorScreenOptions: { + drawerStyle: { + backgroundColor: neutral00, + width: fullSidebarWidth, + }, + }, + }; + } +}; + +const { Nav, navigatorScreenOptions } = getNav(); + const screenTitle = (title: string) => "Teritori - " + title; export const Navigator: React.FC = () => { return ( - //@ts-ignore - (Platform.OS === "web" ? null : )} - screenOptions={{ - drawerStyle: { - backgroundColor: neutral00, - width: fullSidebarWidth, - }, - }} + screenOptions={navigatorScreenOptions as any} // FIXME: upgrade to expo-router > - null, title: screenTitle("Home") }} /> - null, title: screenTitle("My Collection") }} /> - null, title: screenTitle("Guardians") }} /> - null }} /> - { title: screenTitle("NFT Marketplace - Popular Collections"), }} /> - null, title: screenTitle("Governance") }} /> - null }} /> - null, title: screenTitle("Rioters Footer") }} /> {/* === Riot Game */} - null, title: screenTitle("Riot Game Enroll") }} /> - { title: screenTitle("Riot Game Fight"), }} /> - { title: screenTitle("Riot Game Breeding"), }} /> - { title: screenTitle("Riot Game Marketplace"), }} /> - { title: screenTitle("Riot Game Memories"), }} /> - { title: screenTitle("Riot Game Leaderboard"), }} /> - { /> {/* ==== Wallet Manager */} - null, title: screenTitle("Wallet Manager") }} /> - { title: screenTitle("Wallet Manager (Wallets)"), }} /> - { /> {/* ==== Launchpad */} - null, title: screenTitle("Launchpad") }} /> - { title: screenTitle("Launchpad (Apply)"), }} /> - null, title: screenTitle("Mint Collection") }} /> {/* ==== Multisig */} - { title: screenTitle("Multisig Wallets"), }} /> - { title: screenTitle("Create Multisig Wallet"), }} /> - { {/* ==== Organization */} - { title: screenTitle("Organization Deployer"), }} /> - { /> {/* ==== Teritori Name Service*/} - null, title: screenTitle("Name Service") }} /> - null, title: screenTitle("Collection") }} /> - null, title: screenTitle("NFT") }} /> - null, title: screenTitle("Staking") }} /> {/* ==== Swap*/} - null, title: screenTitle("Swap") }} /> - null }} /> - null }} /> - null }} /> - null, title: screenTitle("New Article") }} /> - null, title: "Teritori" }} /> - null, title: screenTitle("Feed") }} /> - null, title: screenTitle("") }} /> - null, title: screenTitle("ToriPunks") }} /> - null, title: screenTitle("dApp Store") }} /> - null, title: screenTitle("Core DAO") }} /> - null, title: screenTitle("Metrics") }} /> - null, title: screenTitle("Message") }} /> - { title: screenTitle("Chat Message"), }} /> - { title: screenTitle("Friends Add"), }} /> - + ); };