@@ -17,6 +17,7 @@ import { ListItem } from "../../../components/ListItem";
1717import { pieChartGovernmentData } from "../../../lib/PieChartGovernmentData" ;
1818import { communityVoteData } from "../../../lib/PieChartCommunityData" ;
1919import { useLegislaturePeriodStore } from "src/api/state/legislaturePeriod" ;
20+ import { SafeAreaView } from "react-native-safe-area-context" ;
2021
2122const Container = styled . View `
2223 background-color: #fff;
@@ -79,7 +80,7 @@ const VotedProceduresWrapper: React.FC<Props> = ({
7980 const procedurListData = procedurListDataNew ?. proceduresByIdHavingVoteResults3
8081 ? procedurListDataNew
8182 : procedurListDataPrev ?. proceduresByIdHavingVoteResults3
82- ? procedurListDataPrev
83+ ? proceduresDataPrev
8384 : undefined ;
8485
8586 let hasMore = true ;
@@ -102,97 +103,101 @@ const VotedProceduresWrapper: React.FC<Props> = ({
102103 : [ ] ;
103104
104105 return (
105- < Container >
106- < FlatList <
107- | "chart"
108- | ProceduresByIdHavingVoteResultsQuery [ "proceduresByIdHavingVoteResults3" ] [ "procedures" ] [ 0 ]
109- >
110- data = { [ "chart" , ...listData ] }
111- renderItem = { ( { item } ) => {
112- const localSelection =
113- item !== "chart"
114- ? localVotes . find (
115- ( localVote ) => localVote . procedureId === item . procedureId
116- ) ?. selection
117- : undefined ;
118- const voted = ! ! localSelection ;
119- return item === "chart" ? (
120- ( children as ( props : ChildProps ) => ReactElement ) ( {
121- totalProcedures,
122- chartData : {
123- votedProcedures : proceduresData ,
124- localVotes,
125- } ,
126- } )
127- ) : (
128- < Row onPress = { ( ) => onProcedureListItemClick ( { item } ) } >
129- < ListItem
130- { ...item }
131- voteDate = { item . voteDate ? new Date ( item . voteDate ) : undefined }
132- subline = {
133- item . sessionTOPHeading
134- ? item . sessionTOPHeading
135- : item . subjectGroups . join ( ", " )
136- }
137- votes = { item . communityVotes ? item . communityVotes . total || 0 : 0 }
138- govermentChart = { {
139- votes : pieChartGovernmentData ( {
106+ < SafeAreaView >
107+ < Container >
108+ < FlatList <
109+ | "chart"
110+ | ProceduresByIdHavingVoteResultsQuery [ "proceduresByIdHavingVoteResults3" ] [ "procedures" ] [ 0 ]
111+ >
112+ data = { [ "chart" , ...listData ] }
113+ renderItem = { ( { item } ) => {
114+ const localSelection =
115+ item !== "chart"
116+ ? localVotes . find (
117+ ( localVote ) => localVote . procedureId === item . procedureId
118+ ) ?. selection
119+ : undefined ;
120+ const voted = ! ! localSelection ;
121+ return item === "chart" ? (
122+ ( children as ( props : ChildProps ) => ReactElement ) ( {
123+ totalProcedures,
124+ chartData : {
125+ votedProcedures : proceduresData ,
126+ localVotes,
127+ } ,
128+ } )
129+ ) : (
130+ < Row onPress = { ( ) => onProcedureListItemClick ( { item } ) } >
131+ < ListItem
132+ { ...item }
133+ voteDate = { item . voteDate ? new Date ( item . voteDate ) : undefined }
134+ subline = {
135+ item . sessionTOPHeading
136+ ? item . sessionTOPHeading
137+ : item . subjectGroups . join ( ", " )
138+ }
139+ votes = {
140+ item . communityVotes ? item . communityVotes . total || 0 : 0
141+ }
142+ govermentChart = { {
143+ votes : pieChartGovernmentData ( {
144+ ...item ,
145+ largeDecision : item . voteResults
146+ ? item . voteResults . governmentDecision
147+ : undefined ,
148+ } ) ,
149+ } }
150+ communityVotes = { communityVoteData ( {
140151 ...item ,
141- largeDecision : item . voteResults
142- ? item . voteResults . governmentDecision
143- : undefined ,
144- } ) ,
145- } }
146- communityVotes = { communityVoteData ( {
147- ...item ,
148- localSelection,
149- voted,
150- } ) }
151- />
152- </ Row >
153- ) ;
154- } }
155- ListFooterComponent = { ( ) =>
156- networkStatus === 3 ? < ListLoading /> : null
157- }
158- onEndReached = { ( ) => {
159- hasMore &&
160- listData . length > 0 &&
161- fetchMore ( {
162- variables : {
163- offset :
164- procedurListData . proceduresByIdHavingVoteResults3 . procedures
165- . length ,
166- } ,
167- updateQuery : ( prev , { fetchMoreResult } ) => {
168- if ( ! fetchMoreResult ) {
169- return prev ;
170- }
171- if (
172- hasMore &&
173- fetchMoreResult . proceduresByIdHavingVoteResults3 . procedures
174- . length === 0
175- ) {
176- hasMore = false ;
177- }
152+ localSelection,
153+ voted,
154+ } ) }
155+ />
156+ </ Row >
157+ ) ;
158+ } }
159+ ListFooterComponent = { ( ) =>
160+ networkStatus === 3 ? < ListLoading /> : null
161+ }
162+ onEndReached = { ( ) => {
163+ hasMore &&
164+ listData . length > 0 &&
165+ fetchMore ( {
166+ variables : {
167+ offset :
168+ procedurListData . proceduresByIdHavingVoteResults3
169+ . procedures . length ,
170+ } ,
171+ updateQuery : ( prev , { fetchMoreResult } ) => {
172+ if ( ! fetchMoreResult ) {
173+ return prev ;
174+ }
175+ if (
176+ hasMore &&
177+ fetchMoreResult . proceduresByIdHavingVoteResults3
178+ . procedures . length === 0
179+ ) {
180+ hasMore = false ;
181+ }
178182
179- return Object . assign ( { } , prev , {
180- proceduresByIdHavingVoteResults3 : {
181- ...prev . proceduresByIdHavingVoteResults3 ,
182- procedures : unionBy (
183- prev . proceduresByIdHavingVoteResults3 . procedures ,
184- fetchMoreResult . proceduresByIdHavingVoteResults3
185- . procedures ,
186- "_id"
187- ) ,
188- } ,
189- } ) ;
190- } ,
191- } ) ;
192- } }
193- keyExtractor = { ( item ) => ( item === "chart" ? item : item . procedureId ) }
194- />
195- </ Container >
183+ return Object . assign ( { } , prev , {
184+ proceduresByIdHavingVoteResults3 : {
185+ ...prev . proceduresByIdHavingVoteResults3 ,
186+ procedures : unionBy (
187+ prev . proceduresByIdHavingVoteResults3 . procedures ,
188+ fetchMoreResult . proceduresByIdHavingVoteResults3
189+ . procedures ,
190+ "_id"
191+ ) ,
192+ } ,
193+ } ) ;
194+ } ,
195+ } ) ;
196+ } }
197+ keyExtractor = { ( item ) => ( item === "chart" ? item : item . procedureId ) }
198+ />
199+ </ Container >
200+ </ SafeAreaView >
196201 ) ;
197202} ;
198203
0 commit comments