Tony Fages 1 year ago
parent 51ceb3511f
commit 2dee48564e

@ -9,6 +9,7 @@ import AsyncStorage from "@react-native-async-storage/async-storage";
export default function App() { export default function App() {
//AsyncStorage.clear()
return ( return (
<Provider store={store}> <Provider store={store}>
<SafeAreaView style={styles.container}> <SafeAreaView style={styles.container}>

@ -13,10 +13,12 @@ type DetailJokeProps = {
export function DetailJoke(props: DetailJokeProps) { export function DetailJoke(props: DetailJokeProps) {
const [isActivated, setIsActivated] = useState(false);
const [isActivated2, setIsActivated2] = useState(false);
const favoriteJokes = useAppSelector(state => state.customReducer.favoriteJokes) as [CustomJoke, SampleJoke]; const favoriteJokes = useAppSelector(state => state.customReducer.favoriteJokes) as [CustomJoke, SampleJoke];
const dispatch = useAppDispatch(); const dispatch = useAppDispatch();
const isFav : boolean = favoriteJokes.some(it => it.id == props.item.id )
console.log("Is fav"+isFav)
const [isActivated, setIsActivated] = useState(isFav);
const [isActivated2, setIsActivated2] = useState(false);
function toggleActivation() { function toggleActivation() {
setIsActivated(!isActivated); setIsActivated(!isActivated);
@ -31,6 +33,8 @@ export function DetailJoke(props: DetailJokeProps) {
} }
function toggleActivation2() { function toggleActivation2() {
setIsActivated2(!isActivated2); setIsActivated2(!isActivated2);
} }

@ -14,16 +14,17 @@ export default function JokeDetailScreen({route}) {
const isFocused = useIsFocused(); const isFocused = useIsFocused();
const dispatch = useDispatch(); const dispatch = useDispatch();
const jokeId = route.params.joke; const jokeId = route.params.joke;
const state = route.params.state; const isFavoris = route.params.isFavoris
console.log(state);
const DataGen = state ? useSelector((state: any) => state.customReducer.completCustomJoke) : useSelector((state: any) => state.sampleReducer.completJoke);
const DataGen = typeof jokeId === "string" ? useSelector((state: any) => state.customReducer.completCustomJoke) : useSelector((state: any) => state.sampleReducer.completJoke);
// const DataGen = useSelector((state: any) => state.sampleReducer.completJoke); // const DataGen = useSelector((state: any) => state.sampleReducer.completJoke);
useEffect(() => { useEffect(() => {
const getDetails = async () => { const getDetails = async () => {
// @ts-ignore // @ts-ignore
{ state ? await dispatch(getJokesCustomsById(jokeId)) : await dispatch(getCompletJokes(jokeId));} { typeof jokeId === "string" ? await dispatch(getJokesCustomsById(jokeId)) : await dispatch(getCompletJokes(jokeId));}
}; };
getDetails(); getDetails();
@ -38,7 +39,7 @@ export default function JokeDetailScreen({route}) {
return ( return (
<View style={styles.font}> <View style={styles.font}>
<DetailJoke item={DataGen}/> <DetailJoke item={DataGen}/>
{state ? <TouchableOpacity onPress={deleteJokes}> {typeof jokeId === "string" ? <TouchableOpacity onPress={deleteJokes}>
<Image style={styles.img} source={require('../assets/delete-icon.png')} /> <Image style={styles.img} source={require('../assets/delete-icon.png')} />
</TouchableOpacity> : null} </TouchableOpacity> : null}
</View> </View>

@ -22,21 +22,12 @@ export function ListFavoriteJokeScreen({route, navigation}){
}, []); }, []);
let fav = true;
if (favoriteJokes.length <= 0) {
fav = false;
}
else {
fav = true;
}
console.log(fav);
console.log(favoriteJokes.length);
//console.log(favoriteJokes[1].id);
const styles = themeSettings(); const styles = themeSettings();
return ( return (
<SafeAreaView style={styles.container}> <SafeAreaView style={styles.container}>
{ fav ? ( { favoriteJokes.length ? (
<FlatList <FlatList
data = {favoriteJokes} data = {favoriteJokes}
renderItem={({ item }) => ( renderItem={({ item }) => (

@ -58,7 +58,7 @@ export function ListJokeScreen({route, navigation}) {
<FlatList <FlatList
data={isActivated2 ? DataCustomsJoke : DataGen} data={isActivated2 ? DataCustomsJoke : DataGen}
renderItem={({ item }) => ( renderItem={({ item }) => (
<TouchableHighlight onPress={() => navigation.navigate("JokeDetail", {"joke" : item.id, "state" : isActivated2})}> <TouchableHighlight onPress={() => navigation.navigate("JokeDetail", {"joke" : item.id})}>
<JokeListItems item={item}/> <JokeListItems item={item}/>
</TouchableHighlight> </TouchableHighlight>
)} )}

Loading…
Cancel
Save