Changeset View
Changeset View
Standalone View
Standalone View
native/community-creation/community-configuration.react.js
Show All 20 Lines | |||||
import { | import { | ||||
ThreadSettingsCategoryFooter, | ThreadSettingsCategoryFooter, | ||||
ThreadSettingsCategoryHeader, | ThreadSettingsCategoryHeader, | ||||
} from '../chat/settings/thread-settings-category.react.js'; | } from '../chat/settings/thread-settings-category.react.js'; | ||||
import CommIcon from '../components/comm-icon.react.js'; | import CommIcon from '../components/comm-icon.react.js'; | ||||
import Pill from '../components/pill.react.js'; | import Pill from '../components/pill.react.js'; | ||||
import TextInput from '../components/text-input.react.js'; | import TextInput from '../components/text-input.react.js'; | ||||
import { useCalendarQuery } from '../navigation/nav-selectors.js'; | import { useCalendarQuery } from '../navigation/nav-selectors.js'; | ||||
import { type NavigationRoute } from '../navigation/route-names.js'; | import { | ||||
CommunityCreationMembersRouteName, | |||||
type NavigationRoute, | |||||
} from '../navigation/route-names.js'; | |||||
import { useSelector } from '../redux/redux-utils.js'; | import { useSelector } from '../redux/redux-utils.js'; | ||||
import { useColors, useStyles } from '../themes/colors.js'; | import { useColors, useStyles } from '../themes/colors.js'; | ||||
type Props = { | type Props = { | ||||
+navigation: CommunityCreationNavigationProp<'CommunityConfiguration'>, | +navigation: CommunityCreationNavigationProp<'CommunityConfiguration'>, | ||||
+route: NavigationRoute<'CommunityConfiguration'>, | +route: NavigationRoute<'CommunityConfiguration'>, | ||||
}; | }; | ||||
const createNewCommunityLoadingStatusSelector = | const createNewCommunityLoadingStatusSelector = | ||||
createLoadingStatusSelector(newThreadActionTypes); | createLoadingStatusSelector(newThreadActionTypes); | ||||
// eslint-disable-next-line no-unused-vars | // eslint-disable-next-line no-unused-vars | ||||
function CommunityConfiguration(props: Props): React.Node { | function CommunityConfiguration(props: Props): React.Node { | ||||
const styles = useStyles(unboundStyles); | const styles = useStyles(unboundStyles); | ||||
const colors = useColors(); | const colors = useColors(); | ||||
const { navigate } = props.navigation; | |||||
const dispatchActionPromise = useDispatchActionPromise(); | const dispatchActionPromise = useDispatchActionPromise(); | ||||
const callNewThread = useServerCall(newThread); | const callNewThread = useServerCall(newThread); | ||||
const calendarQueryFunc = useCalendarQuery(); | const calendarQueryFunc = useCalendarQuery(); | ||||
const createNewCommunityLoadingStatus: LoadingStatus = useSelector( | const createNewCommunityLoadingStatus: LoadingStatus = useSelector( | ||||
createNewCommunityLoadingStatusSelector, | createNewCommunityLoadingStatusSelector, | ||||
); | ); | ||||
Show All 37 Lines | const callCreateNewCommunity = React.useCallback(async () => { | ||||
pendingCommunityName, | pendingCommunityName, | ||||
]); | ]); | ||||
const createNewCommunity = React.useCallback(async () => { | const createNewCommunity = React.useCallback(async () => { | ||||
setErrorMessage(); | setErrorMessage(); | ||||
const newThreadResultPromise = callCreateNewCommunity(); | const newThreadResultPromise = callCreateNewCommunity(); | ||||
dispatchActionPromise(newThreadActionTypes, newThreadResultPromise); | dispatchActionPromise(newThreadActionTypes, newThreadResultPromise); | ||||
await newThreadResultPromise; | await newThreadResultPromise; | ||||
}, [callCreateNewCommunity, dispatchActionPromise]); | |||||
navigate(CommunityCreationMembersRouteName); | |||||
}, [callCreateNewCommunity, dispatchActionPromise, navigate]); | |||||
const onCheckBoxPress = React.useCallback(() => { | const onCheckBoxPress = React.useCallback(() => { | ||||
setErrorMessage(); | setErrorMessage(); | ||||
setAnnouncementSetting(!announcementSetting); | setAnnouncementSetting(!announcementSetting); | ||||
}, [announcementSetting]); | }, [announcementSetting]); | ||||
let checkBoxFill; | let checkBoxFill; | ||||
if (announcementSetting) { | if (announcementSetting) { | ||||
▲ Show 20 Lines • Show All 175 Lines • Show Last 20 Lines |