// Main Tabs import Status from "../pages/Status"; import Calls from "../pages/Calls"; import Chats from "../pages/Chats"; import Settings from "../pages/Settings"; // Main tab children import Chat from "../pages/Chat"; import Starred from "../pages/Starred"; // Sub pages // import InboxItem from "../../pages/InboxItem"; // Tab icons import { callOutline, cameraOutline, chatbubblesOutline, discOutline, settingsOutline } from 'ionicons/icons'; // Import custom tab menu import Tabs from "../components/Tabs"; import SubPages from "../components/SubPages"; // Array of objects representing tab pages // These will be the main tabs across the app // * PARAMS per tab object * // isTab = true will make the tab appear // default = the default tab page to open and be redirected to at "/" // NOTE: there should only be one default tab (default: true) // label = the label to show with the tab // component = the component related to this tab page // icon = icon to show on the tab bar menu // path = the path which the tab is accessible export const tabRoutes = [ { label: "Status", component: Status, icon: discOutline, path: "/tabs/status", default: false, isTab: true }, { label: "Calls", component: Calls, icon: callOutline, path: "/tabs/calls", default: false, isTab: true }, { label: "Camera", component: Calls, icon: cameraOutline, path: "/tabs/camera", default: false, isTab: true }, { label: "Chats", component: Chats, icon: chatbubblesOutline, path: "/tabs/chats", default: true, isTab: true }, { label: "Settings", component: Settings, icon: settingsOutline, path: "/tabs/settings", default: false, isTab: true }, ]; // Array of objects representing children pages of tabs // * PARAMS per tab object * // isTab = should always be set to false for these // component = the component related to this tab page // path = the path which the tab is accessible // These pages should be related to tab pages and be held within the same path // E.g. /tabs/tab1/child const tabChildrenRoutes = [ // { component: InboxItem, path: "/tabs/tab2/:id", isTab: false }, ]; // Array of objects representing sub pages // * PARAMS per tab object * // component = the component related to this sub page // path = the path which the sub page is accessible // This array should be sub pages which are not directly related to a tab page // E.g. /child const subPageRoutes = [ { component: Chat, path: "/view-chat/:contact_id" }, { component: Starred, path: "/starred-messages" } ]; // Let's combine these together as they need to be controlled within the same IonRouterOutlet const tabsAndChildrenRoutes = [ ...tabRoutes, ...tabChildrenRoutes ]; // Render sub routes export const AllSubPages = () => ( ); // Render tab menu export const AllTabs = () => ( );