97 lines
3.3 KiB
TypeScript
97 lines
3.3 KiB
TypeScript
// Metro module 14027 (f14028).
|
|
import { useState, useEffect, useCallback } from "react";
|
|
import QuestHomeNavigationStore from "../QuestHomeNavigationStore";
|
|
import { QuestHomeSortMethods, getQuestHomeFilterOptionItem } from "../QuestConstants";
|
|
import { createStyles } from "../../../design/components/Styles/native/createStyles";
|
|
import Module712 from "../../../_bundle/Module712";
|
|
import { useNavigation } from "../../../design/components/Navigator/native/useNavigation.native";
|
|
import { shallow } from "../../../_bundle/Module3802";
|
|
import UserSettingsModalActionCreators from "../../../actions/UserSettingsModalActionCreators";
|
|
import useQuestHomeHeader from "./useQuestHomeHeader";
|
|
import QuestHome from "./QuestHome";
|
|
function $mk92453() {
|
|
return (a0) => a0 != null;
|
|
}
|
|
let $mk92452 = function() {
|
|
return (a0) => getQuestHomeFilterOptionItem(a0);
|
|
};
|
|
const useStyles = createStyles({
|
|
container: {
|
|
backgroundColor: Module712.colors.BACKGROUND_BASE_LOWEST
|
|
}
|
|
});
|
|
let c9804_10 = [];
|
|
export default function QuestHomeSetting() {
|
|
let navigation, setState3;
|
|
const styles = useStyles();
|
|
const [selectedSortMethod, setState] = useState(() => {
|
|
let r6 = QuestHomeNavigationStore.getField("sort");
|
|
if (!(r6 != null && Object.values(QuestHomeSortMethods).includes(r6))) {
|
|
r6 = QuestHomeSortMethods.SUGGESTED;
|
|
}
|
|
return r6;
|
|
});
|
|
const [selectedFilters, setState2] = useState(() => {
|
|
let r16;
|
|
const field = QuestHomeNavigationStore.getField("filter");
|
|
if (field == null) {
|
|
r16 = c9804_10;
|
|
} else {
|
|
r16 = field.split(",").map($mk92452()).filter($mk92453());
|
|
if (!(r16.length > 0)) {
|
|
r16 = c9804_10;
|
|
}
|
|
}
|
|
return r16;
|
|
});
|
|
useEffect(() => QuestHomeNavigationStore.subscribe((a0) => ({
|
|
sort: a0.sort,
|
|
filter: a0.filter
|
|
}), (a0, a1) => {
|
|
let r35;
|
|
if (a0.sort !== a1.sort) {
|
|
let sort = a0.sort;
|
|
if (!(sort != null && Object.values(QuestHomeSortMethods).includes(sort))) {
|
|
sort = QuestHomeSortMethods.SUGGESTED;
|
|
}
|
|
setState(sort);
|
|
}
|
|
if (a0.filter !== a1.filter) {
|
|
const filter = a0.filter;
|
|
if (filter == null) {
|
|
r35 = c9804_10;
|
|
} else {
|
|
r35 = filter.split(",").map($mk92452()).filter($mk92453());
|
|
if (!(r35.length > 0)) {
|
|
r35 = c9804_10;
|
|
}
|
|
}
|
|
setState2(r35);
|
|
}
|
|
}, {
|
|
equalityFn: shallow,
|
|
fireImmediately: true
|
|
}), []);
|
|
navigation = void 0;
|
|
setState3 = void 0;
|
|
navigation = useNavigation();
|
|
let isNavigationComplete;
|
|
[isNavigationComplete, setState3] = useState(false);
|
|
useEffect(() => navigation.addListener("transitionEnd", () => setState3(true)), [navigation]);
|
|
const callback = useCallback(() => {
|
|
setState2(c9804_10);
|
|
}, []);
|
|
useEffect(() => () => {
|
|
UserSettingsModalActionCreators.close();
|
|
QuestHomeNavigationStore.resetState();
|
|
}, []);
|
|
const field = QuestHomeNavigationStore.useField("scrollToQuestId");
|
|
useQuestHomeHeader({
|
|
setSelectedSortMethod: setState,
|
|
setSelectedFilters: setState2,
|
|
selectedFilters,
|
|
selectedSortMethod
|
|
});
|
|
return <QuestHome containerStyle={styles.container} isNavigationComplete={isNavigationComplete} scrollToQuestId={field} sortMethod={selectedSortMethod} filters={selectedFilters} onClearFilters={callback} />;
|
|
};
|