|
@@ -176,6 +176,35 @@ const FilterModal = ({
|
|
}
|
|
}
|
|
}, [seriesList]);
|
|
}, [seriesList]);
|
|
|
|
|
|
|
|
+ useEffect(() => {
|
|
|
|
+ if (isFilterVisible && isFilterVisible === 'series') {
|
|
|
|
+ setSeriesFilter &&
|
|
|
|
+ setSeriesFilter({
|
|
|
|
+ visible: seriesVisible,
|
|
|
|
+ groups: selectedSeries,
|
|
|
|
+ applied: true,
|
|
|
|
+ status: selectedSeriesFilter
|
|
|
|
+ });
|
|
|
|
+ saveFilterSettings();
|
|
|
|
+ }
|
|
|
|
+ }, [selectedSeries, seriesVisible, selectedSeriesFilter]);
|
|
|
|
+
|
|
|
|
+ useEffect(() => {
|
|
|
|
+ if (isFilterVisible && isFilterVisible === 'regions') {
|
|
|
|
+ saveFilterSettings();
|
|
|
|
+ handleApplyFilter();
|
|
|
|
+ setType(
|
|
|
|
+ tilesType.value === 2
|
|
|
|
+ ? 'dare'
|
|
|
|
+ : tilesType.value === 1
|
|
|
|
+ ? 'countries'
|
|
|
|
+ : tilesType.value === -1
|
|
|
|
+ ? 'blank'
|
|
|
|
+ : 'regions'
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ }, [selectedYear, selectedVisible, tilesType]);
|
|
|
|
+
|
|
if (!data && isLogged) return;
|
|
if (!data && isLogged) return;
|
|
|
|
|
|
const handleApplyFilter = () => {
|
|
const handleApplyFilter = () => {
|
|
@@ -184,24 +213,14 @@ const FilterModal = ({
|
|
}
|
|
}
|
|
|
|
|
|
if (selectedVisible.value === 0) {
|
|
if (selectedVisible.value === 0) {
|
|
- if (tilesType.value === 0) {
|
|
|
|
- setRegionsFilter({
|
|
|
|
- visitedLabel: 'by',
|
|
|
|
- year: selectedYear && selectedYear.value ? selectedYear.value : moment().year()
|
|
|
|
- });
|
|
|
|
- } else if (tilesType.value === 1) {
|
|
|
|
|
|
+ if (tilesType.value === 0 || tilesType.value === 1) {
|
|
setRegionsFilter({
|
|
setRegionsFilter({
|
|
visitedLabel: 'by',
|
|
visitedLabel: 'by',
|
|
year: selectedYear && selectedYear.value ? selectedYear.value : moment().year()
|
|
year: selectedYear && selectedYear.value ? selectedYear.value : moment().year()
|
|
});
|
|
});
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- if (tilesType.value === 0) {
|
|
|
|
- setRegionsFilter({
|
|
|
|
- visitedLabel: 'in',
|
|
|
|
- year: selectedYear && selectedYear.value ? selectedYear.value : moment().year()
|
|
|
|
- });
|
|
|
|
- } else if (tilesType.value === 1) {
|
|
|
|
|
|
+ if (tilesType.value === 0 || tilesType.value === 1) {
|
|
setRegionsFilter({
|
|
setRegionsFilter({
|
|
visitedLabel: 'in',
|
|
visitedLabel: 'in',
|
|
year: selectedYear && selectedYear.value ? selectedYear.value : moment().year()
|
|
year: selectedYear && selectedYear.value ? selectedYear.value : moment().year()
|
|
@@ -275,55 +294,6 @@ const FilterModal = ({
|
|
</View>
|
|
</View>
|
|
) : null}
|
|
) : null}
|
|
</View>
|
|
</View>
|
|
- <View style={{ gap: 16 }}>
|
|
|
|
- <Button
|
|
|
|
- children="Filter"
|
|
|
|
- onPress={() => {
|
|
|
|
- saveFilterSettings();
|
|
|
|
- handleApplyFilter();
|
|
|
|
- setType(
|
|
|
|
- tilesType.value === 2
|
|
|
|
- ? 'dare'
|
|
|
|
- : tilesType.value === 1
|
|
|
|
- ? 'countries'
|
|
|
|
- : tilesType.value === -1
|
|
|
|
- ? 'blank'
|
|
|
|
- : 'regions'
|
|
|
|
- );
|
|
|
|
- handleCloseFilter();
|
|
|
|
- }}
|
|
|
|
- />
|
|
|
|
- <Button
|
|
|
|
- children="Clear"
|
|
|
|
- onPress={() => {
|
|
|
|
- setTilesType({ label: 'NM regions', value: 0 });
|
|
|
|
- setSelectedYear(allYears[0]);
|
|
|
|
- setSelectedVisible({ label: 'visited by', value: 0 });
|
|
|
|
- setRegionsFilter({ visitedLabel: 'by', year: moment().year() });
|
|
|
|
- setType('regions');
|
|
|
|
- if (!isPublicView && isLogged) {
|
|
|
|
- storage.set(
|
|
|
|
- 'filterSettings',
|
|
|
|
- JSON.stringify({
|
|
|
|
- type: 'regions',
|
|
|
|
- tilesType: { label: 'NM regions', value: 0 },
|
|
|
|
- selectedYear: allYears[0],
|
|
|
|
- selectedVisible: { label: 'visited by', value: 0 },
|
|
|
|
- seriesFilter: {
|
|
|
|
- visible: seriesVisible,
|
|
|
|
- groups: selectedSeries,
|
|
|
|
- status: selectedSeriesFilter,
|
|
|
|
- applied: true
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- }}
|
|
|
|
- variant={ButtonVariants.OPACITY}
|
|
|
|
- containerStyles={styles.closeBtn}
|
|
|
|
- textStyles={{ color: Colors.DARK_BLUE }}
|
|
|
|
- />
|
|
|
|
- </View>
|
|
|
|
</View>
|
|
</View>
|
|
);
|
|
);
|
|
};
|
|
};
|
|
@@ -428,52 +398,6 @@ const FilterModal = ({
|
|
}}
|
|
}}
|
|
/>
|
|
/>
|
|
</View>
|
|
</View>
|
|
- <View style={{ gap: 16 }}>
|
|
|
|
- <Button
|
|
|
|
- children="Filter"
|
|
|
|
- onPress={() => {
|
|
|
|
- setSeriesFilter &&
|
|
|
|
- setSeriesFilter({
|
|
|
|
- visible: seriesVisible,
|
|
|
|
- groups: selectedSeries,
|
|
|
|
- applied: true,
|
|
|
|
- status: selectedSeriesFilter
|
|
|
|
- });
|
|
|
|
- saveFilterSettings();
|
|
|
|
- handleCloseFilter();
|
|
|
|
- }}
|
|
|
|
- />
|
|
|
|
- <Button
|
|
|
|
- children="Clear"
|
|
|
|
- onPress={() => {
|
|
|
|
- setSelectedSeries(series?.map((item) => item.value));
|
|
|
|
- setSelectedSeriesFilter(-1);
|
|
|
|
- setSeriesVisible(true);
|
|
|
|
- setSeriesFilter &&
|
|
|
|
- setSeriesFilter({ visible: true, groups: [], applied: false, status: -1 });
|
|
|
|
- if (!isPublicView && isLogged) {
|
|
|
|
- storage.set(
|
|
|
|
- 'filterSettings',
|
|
|
|
- JSON.stringify({
|
|
|
|
- type: tilesType.value,
|
|
|
|
- tilesType,
|
|
|
|
- selectedYear,
|
|
|
|
- selectedVisible,
|
|
|
|
- seriesFilter: {
|
|
|
|
- visible: true,
|
|
|
|
- groups: series?.map((item) => item.value),
|
|
|
|
- status: -1,
|
|
|
|
- applied: false
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- }}
|
|
|
|
- variant={ButtonVariants.OPACITY}
|
|
|
|
- containerStyles={styles.closeBtn}
|
|
|
|
- textStyles={{ color: Colors.DARK_BLUE }}
|
|
|
|
- />
|
|
|
|
- </View>
|
|
|
|
</View>
|
|
</View>
|
|
);
|
|
);
|
|
};
|
|
};
|
|
@@ -660,7 +584,7 @@ const FilterModal = ({
|
|
statusBarTranslucent={true}
|
|
statusBarTranslucent={true}
|
|
presentationStyle="overFullScreen"
|
|
presentationStyle="overFullScreen"
|
|
>
|
|
>
|
|
- <View style={[styles.modalContainer, { height: 360 }]}>{renderScene(isFilterVisible)}</View>
|
|
|
|
|
|
+ <View style={[styles.modalContainer, { height: 260 }]}>{renderScene(isFilterVisible)}</View>
|
|
</ReactModal>
|
|
</ReactModal>
|
|
);
|
|
);
|
|
};
|
|
};
|