diff --git a/JokesApp/components/ListAllCategories.tsx b/JokesApp/components/ListAllCategories.tsx
index f59534f..c081443 100644
--- a/JokesApp/components/ListAllCategories.tsx
+++ b/JokesApp/components/ListAllCategories.tsx
@@ -4,14 +4,17 @@ import React from "react";
import {indigo} from "../Theme";
type JokeListItemProps = {
- item: Joke;
+ item: String;
}
+
+
+
export function ListAllCategories(props: JokeListItemProps) {
return (
- {props.item.type()}
+ {props.item}
);
diff --git a/JokesApp/model/JokeStub.ts b/JokesApp/model/JokeStub.ts
index e5ce36e..6a7c802 100644
--- a/JokesApp/model/JokeStub.ts
+++ b/JokesApp/model/JokeStub.ts
@@ -6,6 +6,6 @@ export class JokeStub {
public static customJokes = `[{"type":"custom", "setup":"Comment est-ce qu'on appelle un boomerang qui ne revient pas ?", "punchline":"Un chat disparu.", "image":"http://placekitten.com/200/300", "id":"id3"}, {"type":"custom", "setup":"Que dit un aveugle lorsqu'on lui donne du papier de verre ?", "punchline":"C'est écrit tout petit.", "image":"http://placekitten.com/200/300", "id":"id4"}, {"type":"custom", "setup":"Pourquoi la petite fille tombe-t-elle de la balançoire ?", "punchline":"Parce qu'elle n'a pas de bras.", "image":"http://placekitten.com/200/300", "id":"id5"}, {"type":"custom", "setup":"Qu'est-ce qui est pire qu'un bébé dans une poubelle ?", "punchline":"Un bébé dans deux poubelles.", "image":"http://placekitten.com/200/300", "id":"id6"}, {"type":"custom", "setup":"Grâce à quoi peut-on enlever le chewing-gum dans les cheveux ?", "punchline":"Le cancer.", "image":"http://placekitten.com/200/300", "id":"id7"}, {"type":"custom", "setup":"Qu'est-ce qui est mieux que gagner une médaille d'or aux Jeux Paralympiques ?", "punchline":"Marcher.", "image":"http://placekitten.com/200/300", "id":"id8"}, {"type":"custom", "setup":"Quelle partie du légume ne passe pas dans le mixeur ?", "punchline":"La chaise roulante.", "image":"http://placekitten.com/200/300", "id":"id9"}, {"type":"custom", "setup":"Comment reconnaît-on une lettre envoyée par un lépreux ?", "punchline":"La langue est collée au timbre.", "image":"http://placekitten.com/200/300", "id":"id10"}, {"type":"custom", "setup":"Que faire quand on trouve un épileptique en crise dans une baignoire ?", "punchline":"Ajouter de la lessive et y jeter son linge sale.", "image":"http://placekitten.com/200/300", "id":"id11"}, {"type":"custom", "setup":"Comment sortir un bébé d'un mixeur ?", "punchline":"Avec une paille.", "image":"http://placekitten.com/200/300", "id":"id12"}, {"type":"custom", "setup":"Qu'est-ce qui a deux pattes et qui saigne ?", "punchline":"Un demi-chien.", "image":"http://placekitten.com/200/300", "id":"id13"}]`;
// Données JSON pour les SampleJokes
- public static sampleJokes = `[{"type":"sample", "setup":"Que dit un escargot quand il croise une limace ?", "punchline":"Oh la belle décapotable", "image":"http://placekitten.com/200/300", "id":"id1"}, {"type":"sample", "setup":"Qu'est-ce qui est vert et qui porte une cape ?", "punchline":"Un concombre imitant Super Tomate.", "image":"http://placekitten.com/200/300", "id":"id2"}, {"type":"sample", "setup":"Vous connaissez l’histoire du petit-déjeuner ?", "punchline":"Pas de bol !", "image":"http://placekitten.com/200/300", "id":"id3"}, {"type":"sample", "setup":"Connaissez-vous l’histoire du pingouin qui respirait par les fesses ?", "punchline":"Un beau jour, il s’assoit sur une chaise et meurt.", "image":"http://placekitten.com/200/300", "id":"id4"}, {"type":"sample", "setup":"Est-ce que vous connaissez l’histoire du poil ?", "punchline":"Avant, il était bien. Maintenant, il est pubien.", "image":"http://placekitten.com/200/300", "id":"id5"}, {"type":"sample", "setup":"Comment appelle-t-on un bébé éléphant né prématurément ?", "punchline":"Un éléphant tôt.", "image":"http://placekitten.com/200/300", "id":"id6"}, {"type":"sample", "setup":"Les vaches ferment les yeux pendant la traite de lait. Pourquoi ?", "punchline":"Pour faire du lait concentré.", "image":"http://placekitten.com/200/300", "id":"id7"}, {"type":"sample", "setup":"Quelle est l’histoire du lit superposé ?", "punchline":"C’est une histoire à dormir debout.", "image":"http://placekitten.com/200/300", "id":"id8"}, {"type":"sample", "setup":"Qu’est-ce qui est jaune et qui attend ?", "punchline":"Jonathan.", "image":"http://placekitten.com/200/300", "id":"id9"}, {"type":"sample", "setup":"Connais-tu l’histoire d’un panda qui en a eu marre de la vie ?", "punchline":"Il se panda.", "image":"http://placekitten.com/200/300", "id":"id10"}, {"type":"sample", "setup":"Qu’est-ce qui est vert et qui pousse dans le jardin ?", "punchline":"Un extraterrestre qui fait caca.", "image":"http://placekitten.com/200/300", "id":"id11"}, {"type":"sample", "setup":"Avez-vous déjà entendu l’histoire de l’homme qui a giflé un aveugle ?", "punchline":"Vous ne l’avez pas vu venir celle-là.", "image":"http://placekitten.com/200/300", "id":"id12"}, {"type":"sample", "setup":"Que dit un chien après avoir fait caca dans la maison ?", "punchline":"Le chat fait la même chose, mais vous ne vous fâchez jamais.", "image":"http://placekitten.com/200/300", "id":"id13"}]`;
+ public static sampleJokes = `[{"type":"DavidJTM", "setup":"Que dit un escargot quand il croise une limace ?", "punchline":"Oh la belle décapotable", "image":"http://placekitten.com/200/300", "id":"id1"}, {"type":"sample", "setup":"Qu'est-ce qui est vert et qui porte une cape ?", "punchline":"Un concombre imitant Super Tomate.", "image":"http://placekitten.com/200/300", "id":"id2"}, {"type":"sample", "setup":"Vous connaissez l’histoire du petit-déjeuner ?", "punchline":"Pas de bol !", "image":"http://placekitten.com/200/300", "id":"id3"}, {"type":"sample", "setup":"Connaissez-vous l’histoire du pingouin qui respirait par les fesses ?", "punchline":"Un beau jour, il s’assoit sur une chaise et meurt.", "image":"http://placekitten.com/200/300", "id":"id4"}, {"type":"sample", "setup":"Est-ce que vous connaissez l’histoire du poil ?", "punchline":"Avant, il était bien. Maintenant, il est pubien.", "image":"http://placekitten.com/200/300", "id":"id5"}, {"type":"sample", "setup":"Comment appelle-t-on un bébé éléphant né prématurément ?", "punchline":"Un éléphant tôt.", "image":"http://placekitten.com/200/300", "id":"id6"}, {"type":"sample", "setup":"Les vaches ferment les yeux pendant la traite de lait. Pourquoi ?", "punchline":"Pour faire du lait concentré.", "image":"http://placekitten.com/200/300", "id":"id7"}, {"type":"sample", "setup":"Quelle est l’histoire du lit superposé ?", "punchline":"C’est une histoire à dormir debout.", "image":"http://placekitten.com/200/300", "id":"id8"}, {"type":"sample", "setup":"Qu’est-ce qui est jaune et qui attend ?", "punchline":"Jonathan.", "image":"http://placekitten.com/200/300", "id":"id9"}, {"type":"sample", "setup":"Connais-tu l’histoire d’un panda qui en a eu marre de la vie ?", "punchline":"Il se panda.", "image":"http://placekitten.com/200/300", "id":"id10"}, {"type":"sample", "setup":"Qu’est-ce qui est vert et qui pousse dans le jardin ?", "punchline":"Un extraterrestre qui fait caca.", "image":"http://placekitten.com/200/300", "id":"id11"}, {"type":"sample", "setup":"Avez-vous déjà entendu l’histoire de l’homme qui a giflé un aveugle ?", "punchline":"Vous ne l’avez pas vu venir celle-là.", "image":"http://placekitten.com/200/300", "id":"id12"}, {"type":"sample", "setup":"Que dit un chien après avoir fait caca dans la maison ?", "punchline":"Le chat fait la même chose, mais vous ne vous fâchez jamais.", "image":"http://placekitten.com/200/300", "id":"id13"}]`;
}
diff --git a/JokesApp/screens/AccueilScreen.tsx b/JokesApp/screens/AccueilScreen.tsx
index 193209c..e8f00bb 100644
--- a/JokesApp/screens/AccueilScreen.tsx
+++ b/JokesApp/screens/AccueilScreen.tsx
@@ -1,21 +1,28 @@
import {FlatList, Image, SafeAreaView, ScrollView, SectionListComponent, StyleSheet, Text, View} from "react-native";
import {indigo, purpleColor} from "../Theme";
-import {JokeListItems} from "../components/ListeJokeComponent";
import {Joke} from "../model/Joke";
-import {JokeFactory} from "../model/JokeFactory";
-import {JokeStub} from "../model/JokeStub";
-import {ListJokeScreen} from "./ListJokeScreen";
+import {DataGen, ListJokeScreen} from "./ListJokeScreen";
import React from "react";
import {HorizontalListJokeComponent} from "../components/HorizontalListJokeComponent";
import {ListAllCategories} from "../components/ListAllCategories";
-const DATACUSTOM = JokeFactory.createCustomJokes(JokeStub.customJokes)
-const DATASAMPLE = JokeFactory.createSampleJokes(JokeStub.sampleJokes)
+let taille = DataGen.length;
+let LastJokes = DataGen.slice(taille - 16, taille);
-//@ts-ignore
-let DataGen = DATACUSTOM.concat(DATASAMPLE);
-let FilterData = DataGen.filter((joke) => joke.type() !== joke.type() )
+function filterCategory(jokes: Joke[]): String[] {
+ let categories: String[] = [];
+ jokes.forEach(joke => {
+ if (!categories.includes(joke.type())) {
+ categories.push(joke.type());
+ }
+ });
+ return categories;
+}
export function AccueilScreen() {
+
+ // Permet de filtrer les types des blagues pour les afficher dans la liste des categories
+ const FiltereData = filterCategory(LastJokes);
+
return (
@@ -24,8 +31,8 @@ export function AccueilScreen() {
Chat C'est Drôle
Dernieres Blagues
- item.summary()}
/>
@@ -34,9 +41,9 @@ export function AccueilScreen() {
item.summary()}
+ keyExtractor={(item) => item.toString()}
/>
);
diff --git a/JokesApp/screens/ListJokeScreen.tsx b/JokesApp/screens/ListJokeScreen.tsx
index 369e8aa..979382f 100644
--- a/JokesApp/screens/ListJokeScreen.tsx
+++ b/JokesApp/screens/ListJokeScreen.tsx
@@ -11,7 +11,7 @@ const DATACUSTOM = JokeFactory.createCustomJokes(JokeStub.customJokes)
const DATASAMPLE = JokeFactory.createSampleJokes(JokeStub.sampleJokes)
//@ts-ignore
-let DataGen = DATACUSTOM.concat(DATASAMPLE);
+export let DataGen: Joke[] = DATACUSTOM.concat(DATASAMPLE);
export function ListJokeScreen() {
return (