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() {
//AsyncStorage.clear()
return (
<Provider store={store}>
<SafeAreaView style={styles.container}>

@ -13,10 +13,12 @@ type 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 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() {
setIsActivated(!isActivated);
@ -31,6 +33,8 @@ export function DetailJoke(props: DetailJokeProps) {
}
function toggleActivation2() {
setIsActivated2(!isActivated2);
}

@ -14,16 +14,17 @@ export default function JokeDetailScreen({route}) {
const isFocused = useIsFocused();
const dispatch = useDispatch();
const jokeId = route.params.joke;
const state = route.params.state;
console.log(state);
const isFavoris = route.params.isFavoris
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);
useEffect(() => {
const getDetails = async () => {
// @ts-ignore
{ state ? await dispatch(getJokesCustomsById(jokeId)) : await dispatch(getCompletJokes(jokeId));}
{ typeof jokeId === "string" ? await dispatch(getJokesCustomsById(jokeId)) : await dispatch(getCompletJokes(jokeId));}
};
getDetails();
@ -38,7 +39,7 @@ export default function JokeDetailScreen({route}) {
return (
<View style={styles.font}>
<DetailJoke item={DataGen}/>
{state ? <TouchableOpacity onPress={deleteJokes}>
{typeof jokeId === "string" ? <TouchableOpacity onPress={deleteJokes}>
<Image style={styles.img} source={require('../assets/delete-icon.png')} />
</TouchableOpacity> : null}
</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();
return (
<SafeAreaView style={styles.container}>
{ fav ? (
{ favoriteJokes.length ? (
<FlatList
data = {favoriteJokes}
renderItem={({ item }) => (

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

Loading…
Cancel
Save