Skip to content

Commit

Permalink
chore: fix no resolution
Browse files Browse the repository at this point in the history
  • Loading branch information
OverGlass committed Jul 26, 2024
1 parent 5fed675 commit b753e0f
Show file tree
Hide file tree
Showing 33 changed files with 282 additions and 827 deletions.
115 changes: 54 additions & 61 deletions app/(tabs)/actions/phoning/campaign/brief.tsx
Original file line number Diff line number Diff line change
@@ -1,71 +1,64 @@
import React, { FunctionComponent, useEffect } from 'react'
import React from 'react'
import { ScrollView, StyleSheet, View } from 'react-native'
import { SafeAreaView } from 'react-native-safe-area-context'
import Markdown from '@ronradtke/react-native-markdown-display'
import { ActionsNavigatorScreenProps } from '@/navigation/actions/ActionsNavigatorScreenProps'
import { useCampaignStore } from '@/data/store/phoning'
import { BorderlessButton, PrimaryButton } from '@/screens/shared/Buttons'
import { Colors, Spacing, Styles, Typography } from '@/styles'
import i18n from '@/utils/i18n'
import { BorderlessButton, PrimaryButton } from '@/screens/shared/Buttons'
import { Stack, router } from 'expo-router'
import { useCampaignStore } from '@/data/store/phoning'

type PhoningCampaignBriefScreenProps =
ActionsNavigatorScreenProps<'PhoningCampaignBrief'>
import Markdown from '@ronradtke/react-native-markdown-display'
import { router, Stack } from 'expo-router'

const PhoningCampaignBriefScreen: FunctionComponent<
PhoningCampaignBriefScreenProps
> = () => {
const { campaign } = useCampaignStore()
return (
<View style={styles.container}>
<Stack.Screen options={{ title: campaign.title }} />
<ScrollView contentContainerStyle={styles.markdownContainer}>
<Markdown style={Typography.markdownStyle} mergeStyle={false}>
{campaign.brief}
</Markdown>
</ScrollView>
<View style={styles.bottomContainer}>
<PrimaryButton
title={i18n.t('phoning.brief.call')}
onPress={() =>
router.push({
pathname: '/(tabs)/actions/phoning/session/[device]/',
params: { device: 'current' },
})
}
/>
<BorderlessButton
title={i18n.t('phoning.brief.call_from_other_device')}
textStyle={styles.linkText}
onPress={() =>
router.push({
pathname: '/(tabs)/actions/phoning/session/[device]/',
params: { device: 'external' },
})
}
/>
</View>
</View>
)
const PhoningCampaignBriefScreen = () => {
const { campaign } = useCampaignStore()
return (
<View style={styles.container}>
<Stack.Screen options={{ title: campaign.title }} />
<ScrollView contentContainerStyle={styles.markdownContainer}>
<Markdown style={Typography.markdownStyle} mergeStyle={false}>
{campaign.brief}
</Markdown>
</ScrollView>
<View style={styles.bottomContainer}>
<PrimaryButton
title={i18n.t('phoning.brief.call')}
onPress={() =>
router.push({
pathname: '/(tabs)/actions/phoning/session/[device]/',
params: { device: 'current' },
})
}
/>
<BorderlessButton
title={i18n.t('phoning.brief.call_from_other_device')}
textStyle={styles.linkText}
onPress={() =>
router.push({
pathname: '/(tabs)/actions/phoning/session/[device]/',
params: { device: 'external' },
})
}
/>
</View>
</View>
)
}

const styles = StyleSheet.create({
bottomContainer: {
...Styles.topElevatedContainerStyle,
backgroundColor: Colors.defaultBackground,
paddingHorizontal: Spacing.margin,
paddingTop: Spacing.margin,
},
container: {
backgroundColor: Colors.defaultBackground,
flex: 1,
},
markdownContainer: {
padding: Spacing.margin,
},
linkText: {
...Styles.seeMoreButtonTextStyle,
},
bottomContainer: {
...Styles.topElevatedContainerStyle,
backgroundColor: Colors.defaultBackground,
paddingHorizontal: Spacing.margin,
paddingTop: Spacing.margin,
},
container: {
backgroundColor: Colors.defaultBackground,
flex: 1,
},
markdownContainer: {
padding: Spacing.margin,
},
linkText: {
...Styles.seeMoreButtonTextStyle,
},
})

export default PhoningCampaignBriefScreen
56 changes: 23 additions & 33 deletions app/(tabs)/actions/phoning/campaign/scoreboard.tsx
Original file line number Diff line number Diff line change
@@ -1,46 +1,36 @@
import React, { FunctionComponent, useEffect } from 'react'
import React, { useEffect } from 'react'
import { StyleSheet } from 'react-native'
import { SafeAreaView } from 'react-native-safe-area-context'
import { ActionsNavigatorScreenProps } from '@/navigation/actions/ActionsNavigatorScreenProps'
import { useCampaignStore } from '@/data/store/phoning'
import { PhoningScoreboardRowViewModelMapper } from '@/screens/phoningCampaignScoreboard/PhoningScoreboardRowViewModelMapper'
import { PhoningCampaignRankingView } from '@/screens/shared/PhoningCampaignRankingView'
import { Colors, Spacing } from '@/styles'
import i18n from '@/utils/i18n'
import { PhoningCampaignRankingView } from '@/screens/shared/PhoningCampaignRankingView'
import { PhoningScoreboardRowViewModelMapper } from '@/screens/phoningCampaignScoreboard/PhoningScoreboardRowViewModelMapper'
import {router, useLocalSearchParams, useNavigation} from 'expo-router'
import{ useCampaignStore } from '@/data/store/phoning'
import { useNavigation } from 'expo-router'

type PhoningCampaignScoreboardScreenProps =
ActionsNavigatorScreenProps<'PhoningCampaignScoreboard'>
const PhoningCampaignScoreboardScreen = () => {
const navigation = useNavigation()
const { campaign } = useCampaignStore()

const PhoningCampaignScoreboardScreen: FunctionComponent<
PhoningCampaignScoreboardScreenProps
> = () => {
const navigation = useNavigation()
const { campaign } = useCampaignStore()

useEffect(() => {
navigation.setOptions({
title: i18n.t('phoning.scoreboard.title'),
})
}, [navigation])
useEffect(() => {
navigation.setOptions({
title: i18n.t('phoning.scoreboard.title'),
})
}, [navigation])

return (
<SafeAreaView style={styles.container}>
<PhoningCampaignRankingView
viewModel={PhoningScoreboardRowViewModelMapper.map(
campaign.scoreboard,
)}
/>
</SafeAreaView>
)
return (
<SafeAreaView style={styles.container}>
<PhoningCampaignRankingView viewModel={PhoningScoreboardRowViewModelMapper.map(campaign.scoreboard)} />
</SafeAreaView>
)
}

const styles = StyleSheet.create({
container: {
backgroundColor: Colors.defaultBackground,
flex: 1,
padding: Spacing.margin,
},
container: {
backgroundColor: Colors.defaultBackground,
flex: 1,
padding: Spacing.margin,
},
})

export default PhoningCampaignScoreboardScreen
69 changes: 19 additions & 50 deletions app/(tabs)/actions/phoning/index.tsx
Original file line number Diff line number Diff line change
@@ -1,53 +1,36 @@
import React, { FunctionComponent, useCallback, useState } from 'react'
import {
FlatList,
ListRenderItemInfo,
StyleSheet,
Text,
View,
} from 'react-native'
import { useFocusEffect } from '@react-navigation/native'
import React, { useCallback, useState } from 'react'
import { FlatList, ListRenderItemInfo, StyleSheet, Text, View } from 'react-native'
import { PhoningCampaign } from '@/core/entities/PhoningCampaign'
import {
PhoningCharterNotAccepted,
PhoningCharterState,
} from '@/core/entities/PhoningCharterState'
import { PhoningCharterNotAccepted, PhoningCharterState } from '@/core/entities/PhoningCharterState'
import PhoningCampaignRepository from '@/data/PhoningCampaignRepository'
import { ActionsNavigatorScreenProps } from '@/navigation/actions/ActionsNavigatorScreenProps'
import { Colors, Spacing, Typography } from '@/styles'
import i18n from '@/utils/i18n'
import { StatefulView } from '@/screens/shared/StatefulView'
import { ViewState } from '@/screens/shared/ViewState'
import { ViewStateUtils } from '@/screens/shared/ViewStateUtils'
import { useCampaignStore, useCharterStore } from '@/data/store/phoning'
import PhoningCallContactRow from '@/screens/phoning/callContact/CallContactRow'
import PhoningCampaignRow from '@/screens/phoning/campaign/PhoningCampaignRow'
import { PhoningRowViewModel } from '@/screens/phoning/PhoningRowViewModel'
import { PhoningViewModel } from '@/screens/phoning/PhoningViewModel'
import { PhoningViewModelMapper } from '@/screens/phoning/PhoningViewModelMapper'
import PhoningTutorialRow from '@/screens/phoning/tutorial/PhoningTutorialRow'
import { StatefulView } from '@/screens/shared/StatefulView'
import { ViewState } from '@/screens/shared/ViewState'
import { ViewStateUtils } from '@/screens/shared/ViewStateUtils'
import { Colors, Spacing, Typography } from '@/styles'
import i18n from '@/utils/i18n'
import { useFocusEffect } from '@react-navigation/native'
import { router } from 'expo-router'

import { useCampaignStore, useCharterStore } from '@/data/store/phoning'

type PhoningScreenProps = ActionsNavigatorScreenProps<'Phoning'>

export interface PhoningResources {
campaigns: PhoningCampaign[]
}

const PhoningScreen: FunctionComponent<PhoningScreenProps> = () => {
const PhoningScreen = () => {
const [isRefreshing, setRefreshing] = useState(false)
const [currentResources, setResources] = useState<PhoningResources>({
campaigns: [],
})
const { setCampaign } = useCampaignStore()
const { setCharter } = useCharterStore()
const [charterState, setCharterState] = useState<
PhoningCharterState | undefined
>()
const [statefulState, setStatefulState] = useState<
ViewState<PhoningViewModel>
>(ViewState.Loading())
const [charterState, setCharterState] = useState<PhoningCharterState | undefined>()
const [statefulState, setStatefulState] = useState<ViewState<PhoningViewModel>>(ViewState.Loading())

const fetchData = useCallback(() => {
setRefreshing(true)
Expand Down Expand Up @@ -117,9 +100,7 @@ const PhoningScreen: FunctionComponent<PhoningScreenProps> = () => {
const campaign = findCampaignInCurrentResources(item.value.id)
if (campaign?.permanent) {
setCampaign(campaign)
router.push(
'/(tabs)/actions/phoning/session/loader-permanent-campaign',
)
router.push('/(tabs)/actions/phoning/session/loader-permanent-campaign')
}
}}
/>
Expand All @@ -129,17 +110,13 @@ const PhoningScreen: FunctionComponent<PhoningScreenProps> = () => {
<PhoningCampaignRow
viewModel={item.value}
onCallButtonPressed={() => {
const selectedCampaign = findCampaignInCurrentResources(
item.value.id,
)
const selectedCampaign = findCampaignInCurrentResources(item.value.id)
if (selectedCampaign) {
navigateToCampaign(selectedCampaign)
}
}}
onRankButtonPressed={() => {
const selectedCampaign = findCampaignInCurrentResources(
item.value.id,
)
const selectedCampaign = findCampaignInCurrentResources(item.value.id)
if (selectedCampaign) {
setCampaign(selectedCampaign)
router.push('/(tabs)/actions/phoning/campaign/scoreboard')
Expand All @@ -166,25 +143,17 @@ const PhoningScreen: FunctionComponent<PhoningScreenProps> = () => {
keyExtractor={(item) => item.value.id}
refreshing={isRefreshing}
onRefresh={fetchData}
ListHeaderComponent={
<Text style={styles.title}>{phoningViewModel.title}</Text>
}
ListHeaderComponent={<Text style={styles.title}>{phoningViewModel.title}</Text>}
ListEmptyComponent={
<View style={styles.emptyContainer}>
<Text style={styles.emptySubtitle}>
{i18n.t('phoning.subtitle_no_campaigns')}
</Text>
<Text style={styles.emptySubtitle}>{i18n.t('phoning.subtitle_no_campaigns')}</Text>
</View>
}
contentContainerStyle={styles.contentContainer}
/>
)
}
return (
<View style={styles.container}>
{<StatefulView contentComponent={PhoningContent} state={statefulState} />}
</View>
)
return <View style={styles.container}>{<StatefulView contentComponent={PhoningContent} state={statefulState} />}</View>
}

const styles = StyleSheet.create({
Expand Down
Loading

0 comments on commit b753e0f

Please sign in to comment.