# <ProfileGroupsScreen />
You can use this component to display the Profile Groups Screen in your custom screen.
Properties:
Name | Type | Attributes | Description |
---|---|---|---|
userId
|
Number |
<optional> |
You can use this to display a specific user's profile groups by assigning their userId as this props's value |
screenTitle
|
String |
<optional> |
List screen title |
searchTerm
|
String |
<optional> |
If the user is not yet available in the app state, the component will attempt to load a list of users. You can use this field to search for the specific user you want to load instead of loading a list of users. |
hideBackButton
|
Boolean |
<optional> |
Use |
hideNavigationHeader
|
Boolean |
<optional> |
Use |
filters
|
Array |
<optional> |
Filters to show in the screen.
Note: The |
LoadingComponent
|
ReactComponent |
<optional> |
Use this to display your own loading component while the screen is loading |
Examples
//In custom_code/components/MyCustomScreen.js...
import React from 'react';
import ProfileGroupsScreen from "@src/containers/Custom/Profile/ProfileGroupsScreen";
const MyCustomScreen = (props) => {
const t = props.screenProps.t;
const filters = [
{value: "my-groups", label: t("groups:my-groups")},
// {value: "invites", label: t("groups:invites")} //commented out "invites" to only show My Groups
];
if (!props.isFocused)
return null;
return (
<>
<ProfileGroupsScreen
screenTitle="MY GROUPS"
hideBackButton={true}
filters={filters}
{...props}
/>
</>
)
}
MyCustomScreen.navigationOptions = { header: null };
export default MyCustomScreen;
//In custom_code/index.js...
...
import MyCustomScreen from "./components/MyCustomScreen";
export const applyCustomCode = externalCodeSetup => {
externalCodeSetup.navigationApi.addNavigationRoute(
"book",
"BookScreen",
MyCustomScreen,
"All"
);
externalCodeSetup.navigationApi.addNavigationRoute(
"book",
"BookScreen",
MyCustomScreen,
"Main"
);
}
//In custom_code/components/MyCustomScreen.js...
import React from "react";
import ProfileGroupsScreen from "@src/containers/Custom/Profile/ProfileGroupsScreen";
import {useScreenProps} from "@src/navigators/v5/ScreenPropsProvider";
const MyCustomScreen = props => {
const {t} = useScreenProps(["t"]);
const filters = [
{value: "my-groups", label: t("groups:my-groups")}
// {value: "invites", label: t("groups:invites")} //commented out "invites" to only show My Groups
];
if (!props.isFocused) return null;
return (
<>
<ProfileGroupsScreen
screenTitle="MY GROUPS"
hideBackButton={true}
filters={filters}
{...props}
/>
</>
);
};
MyCustomScreen.navigationOptions = {header: null};
export default MyCustomScreen;
//In custom_code/index.js...
...
import MyCustomScreen from "./components/MyCustomScreen";
export const applyCustomCode = externalCodeSetup => {
externalCodeSetup.navigationApi.addNavigationRoute(
"book",
"BookScreen",
MyCustomScreen,
"All"
);
externalCodeSetup.navigationApi.addNavigationRoute(
"book",
"BookScreen",
MyCustomScreen,
"Main"
);
}