6 次代码提交

作者 SHA1 备注 提交日期
  Alejandro Soledad b3b65b105a Merge branch 'UserStory5' 1年前
  Alejandro Soledad 122fd14196 Added capsule info and dangerouslySetInnerHTML for HTML formatting. 1年前
  Alejandro Soledad d59018db12 Added Search Bar for both capsules and biographies. Small tweaks in code formatting and variable names. 1年前
  Alejandro Soledad 161486222d Merge branch 'master' of git.ccom.uprrp.edu:CCOM4030/AlAlRy into UserStory5 1年前
  Alejandro Soledad 9e6b8a9a4f Implemented Capsule Search Bar and Biography Search Bar. Work needed on routing and props data handling. 1年前
  Alejandro Soledad 80dc4da8ce Added Search Bar functionality to Capsules list. 1年前

+ 2
- 2
src/App.tsx 查看文件

@@ -42,10 +42,10 @@ const App: React.FC = () => (
42 42
         <Route path="/home" exact={true}>
43 43
           <HomePage />
44 44
         </Route>
45
-        <Route path="/ListBiographie">
45
+        <Route path="/ListBiographies">
46 46
           <ListBiographies />
47 47
         </Route>
48
-        <Route path="/Biographie/:id">
48
+        <Route path="/Biography/:id">
49 49
           <Biography />
50 50
         </Route>
51 51
         <Route path="/ListCapsules">

+ 0
- 0
src/components/BiographySearchBar.css 查看文件


+ 59
- 0
src/components/BiographySearchBar.tsx 查看文件

@@ -0,0 +1,59 @@
1
+import React, { useState } from 'react';
2
+import { 
3
+  IonItem,
4
+  IonImg,
5
+  IonList, 
6
+  IonSearchbar,
7
+  IonCard, 
8
+  IonCardHeader,
9
+  IonCardTitle,
10
+  IonCardContent,
11
+  IonCardSubtitle,
12
+  IonIcon,
13
+} from '@ionic/react';
14
+import biographies from '../data/Biograph.json'
15
+import { square } from 'ionicons/icons';
16
+
17
+function SearchBar() {
18
+
19
+  let [results, setResults] = useState([...biographies]);
20
+
21
+  const filterSearch = (ev: Event) => {
22
+    let query = "";
23
+    const target = ev.target as HTMLIonSearchbarElement;
24
+    if (target) query = target.value!.toLowerCase();
25
+
26
+    setResults(biographies.filter(bio => {
27
+      return bio.title.toLowerCase().indexOf(query) > -1;
28
+    })
29
+    )
30
+  }
31
+
32
+  return (
33
+    <>
34
+      <IonSearchbar debounce={500} onIonChange={(ev) => filterSearch(ev)}></IonSearchbar>
35
+
36
+      <IonList inset={true}>
37
+        { results.map(result => (
38
+          <>
39
+          <IonCard>
40
+            <IonItem routerLink={`/Biography/${result.id}`}>
41
+              <IonImg style={{ height: 300, width: 600 }} src={result.photo} alt='Logo'></IonImg>
42
+              <IonCardHeader>
43
+                <IonCardTitle>{result.title}</IonCardTitle>
44
+                <IonCardSubtitle>{result.tags}</IonCardSubtitle>
45
+              </IonCardHeader><IonCardContent>
46
+                {result.content}
47
+              </IonCardContent>
48
+            </IonItem>
49
+            <IonItem routerLink={`/Question`} detail={true}>
50
+              <IonIcon icon={square} />Tomar quiz
51
+            </IonItem>
52
+          </IonCard>
53
+        </>
54
+        ))}
55
+      </IonList>
56
+    </>
57
+  );
58
+}
59
+export default SearchBar;

+ 0
- 0
src/components/CapsuleSearchBar.css 查看文件


+ 66
- 0
src/components/CapsuleSearchBar.tsx 查看文件

@@ -0,0 +1,66 @@
1
+import React, { useState } from 'react';
2
+import { 
3
+  IonItem, 
4
+  IonList, 
5
+  IonSearchbar,
6
+  IonCard, 
7
+  IonCardHeader,
8
+  IonCardTitle,
9
+} from '@ionic/react';
10
+import capsules from '../data/Capsule.json'
11
+
12
+
13
+function SearchBar() {
14
+
15
+  let [results, setResults] = useState([...capsules]);
16
+
17
+  const filterSearch = (ev: Event) => {
18
+    let query = "";
19
+    const target = ev.target as HTMLIonSearchbarElement;
20
+    if (target) query = target.value!.toLowerCase();
21
+
22
+    setResults(capsules.filter(cap => {
23
+      return cap.title.toLowerCase().indexOf(query) > -1;
24
+    })
25
+    )
26
+  }
27
+
28
+  return (
29
+    <>
30
+      <IonSearchbar debounce={500} onIonChange={(ev) => filterSearch(ev)}></IonSearchbar>
31
+
32
+      <IonList inset={true}>
33
+        { results.map(result => (
34
+            <IonCard>
35
+            <IonItem button routerLink={`/Capsule/${result.id}`}>
36
+              <IonCardHeader>
37
+                <IonCardTitle>{result.title}</IonCardTitle>
38
+              </IonCardHeader>
39
+            </IonItem>
40
+          </IonCard>
41
+        ))}
42
+      </IonList>
43
+    </>
44
+  );
45
+}
46
+export default SearchBar;
47
+
48
+
49
+/*
50
+             <>
51
+                <IonCard>
52
+                  <IonItem routerLink={`/Biography/${listbio.id}`}>
53
+                    <IonImg style={{ height: 300, width: 600 }} src={RobertoClemente} alt='Logo'></IonImg>
54
+                    <IonCardHeader>
55
+                      <IonCardTitle>{listbio.title}</IonCardTitle>
56
+                      <IonCardSubtitle>{listbio.tags}</IonCardSubtitle>
57
+                    </IonCardHeader><IonCardContent>
58
+                      {listbio.content}
59
+                    </IonCardContent>
60
+                  </IonItem>
61
+                  <IonItem routerLink={`/Question`} detail={true}>
62
+                    <IonIcon icon={square} />Tomar quiz
63
+                  </IonItem>
64
+                </IonCard>
65
+              </>
66
+*/

+ 0
- 24
src/components/ExploreContainer.css 查看文件

@@ -1,24 +0,0 @@
1
-.container {
2
-  text-align: center;
3
-  position: absolute;
4
-  left: 0;
5
-  right: 0;
6
-  top: 50%;
7
-  transform: translateY(-50%);
8
-}
9
-
10
-.container strong {
11
-  font-size: 20px;
12
-  line-height: 26px;
13
-}
14
-
15
-.container p {
16
-  font-size: 16px;
17
-  line-height: 22px;
18
-  color: #8c8c8c;
19
-  margin: 0;
20
-}
21
-
22
-.container a {
23
-  text-decoration: none;
24
-}

+ 0
- 16
src/components/ExploreContainer.tsx 查看文件

@@ -1,16 +0,0 @@
1
-import './ExploreContainer.css';
2
-
3
-interface ContainerProps {
4
-  name: string;
5
-}
6
-
7
-const ExploreContainer: React.FC<ContainerProps> = ({ name }) => {
8
-  return (
9
-    <div className="container">
10
-      <strong>{name}</strong>
11
-      <p>Explore <a target="_blank" rel="noopener noreferrer" href="https://ionicframework.com/docs/components">UI Components</a></p>
12
-    </div>
13
-  );
14
-};
15
-
16
-export default ExploreContainer;

+ 9
- 54
src/data/Capsule.json 查看文件

@@ -1,65 +1,20 @@
1 1
 [
2 2
     {
3
-        "id": 1,
3
+        "id": 0,
4 4
         "title": "Grandes deportistas puertorriqueños",
5
-        "Text1": "Uno de los aspectos culturales por los que Puerto Rico más se destaca en el mundo es por el deporte, además de por nuestra admiración y entusiasmo por los logros de nuestros deportistas de todas las disciplinas.",
6
-        "Text2": "Cuando los nuestros logran grandes triunfos —ya sea individualmente, como parte de un equipo o como parte de una selección boricua en un evento internacional— seguimos sus hazañas y las celebramos con ellos.",
7
-        "Text3": "Aquí presentamos a tres grandes de nuestro deporte: la estrella del béisbol de Grandes Ligas, Roberto Clemente; la gran atleta de pista y campo Rebekah Colberg; y Germán Rieckehoff Sampayo, un incansable líder deportivo que luchó por el desarrollo de nuestros atletas y por nuestro derecho a participar en competencias a nivel internacional.",
8
-        "Text4": "",
9
-        "Text5": "",
10
-        "Text6": "",
11
-        "Text7": "",
12
-        "Text8": "",
13
-        "Text9": "",
14
-        "Text10": "",
15
-        "mensage": "¡Conócelos!",
16
-        "nombre1": "Roberto Clemente",
17
-        "id1": 1,
18
-        "nombre2": "German Rieckhoff Sampayo",
19
-        "id2": 2,
20
-        "nombre3": "Rebekah Colberg Cabrera",
21
-        "id3": 3
5
+        "content": "<p>Uno de los aspectos culturales por los que Puerto Rico más se destaca en el mundo es por el deporte, además de por nuestra admiración y entusiasmo por los logros de nuestros deportistas de todas las disciplinas.</p> <p>Cuando los nuestros logran grandes triunfos —ya sea individualmente, como parte de un equipo o como parte de una selección boricua en un evento internacional— seguimos sus hazañas y las celebramos con ellos.</p> <p>Aquí presentamos a tres grandes de nuestro deporte: la estrella del béisbol de Grandes Ligas, Roberto Clemente; la gran atleta de pista y campo Rebekah Colberg; y Germán Rieckehoff Sampayo, un incansable líder deportivo que luchó por el desarrollo de nuestros atletas y por nuestro derecho a participar en competencias a nivel internacional.</p> <p>¡Conócelos!</p>",
6
+        "photo": "../assets/BombaPuertorriquena.jpg"
22 7
     },
23 8
     {
24
-        "id": 2,
9
+        "id": 1,
25 10
         "title": "La familia Figueroa: sus aportaciones a la música puertorriqueña",
26
-        "Text1": "¿Has oído hablar alguna vez de “La familia Figueroa”? Sus recordados integrantes —instrumentistas, compositores y educadores— son figuras de la música puertorriqueña del siglo 20 que nos llenan de orgullo.",
27
-        "Text2": "Cuando en Puerto Rico se habla de “Los hermanos Figueroa”, en el contexto de las artes musicales, nos referimos a las tres hijas y cinco hijos del matrimonio compuesto por Jesús Figueroa Iriarte (1878-1971) —violinista, compositor y director de orquesta— y Carmen Sanabia Ellinger (1881-1954) —pianista y educadora.",
28
-        "Text3": "Entre las muchas características admirables de don Narciso y doña Carmen, resalta el haber expuesto a la música, desde temprano y por igual, a sus ocho hijos e hijas: Pepito, Narciso, Kachiro, Guillermo, Rafael, Angelina, Carmelina y Leonor. Se esmeraron por procurarles a todos —tanto a las niñas como a los niños— la mejor educación musical posible.",
29
-        "Text4": "De esa visión, surgió una familia única de artistas y educadores que dejó huella en Puerto Rico y cuya próxima generación continuó cultivando con altura el arte por el que son reconocidos.",
30
-        "Text5": "",
31
-        "Text6": "",
32
-        "Text7": "",
33
-        "Text8": "",
34
-        "Text9": "",
35
-        "Text10": "",
36
-        "mensage": "Conoce a tres de los hermanos Figueroa Sanabia: Narciso, Angelina y Leonor, y su legado a Puerto Rico.",
37
-        "nombre1": "Narciso Figueroa Sanabia",
38
-        "id1": 4,
39
-        "nombre2": "Angelina Figueroa Sanabia",
40
-        "id2": 5,
41
-        "nombre3": "Leonor Figueroa Sanabia",
42
-        "id3": 6
11
+        "content": "<p>¿Has oído hablar alguna vez de “La familia Figueroa”? Sus recordados integrantes —instrumentistas, compositores y educadores— son figuras de la música puertorriqueña del siglo 20 que nos llenan de orgullo.</p><p>Cuando en Puerto Rico se habla de “Los hermanos Figueroa”, en el contexto de las artes musicales, nos referimos a las tres hijas y cinco hijos del matrimonio compuesto por Jesús Figueroa Iriarte (1878-1971) —violinista, compositor y director de orquesta— y Carmen Sanabia Ellinger (1881-1954) —pianista y educadora.</p><p>Entre las muchas características admirables de don Narciso y doña Carmen, resalta el haber expuesto a la música, desde temprano y por igual, a sus ocho hijos e hijas: Pepito, Narciso, Kachiro, Guillermo, Rafael, Angelina, Carmelina y Leonor. Se esmeraron por procurarles a todos —tanto a las niñas como a los niños— la mejor educación musical posible.</p><p>De esa visión, surgió una familia única de artistas y educadores que dejó huella en Puerto Rico y cuya próxima generación continuó cultivando con altura el arte por el que son reconocidos.</p><p>Conoce a tres de los hermanos Figueroa Sanabia: Narciso, Angelina y Leonor, y su legado a Puerto Rico. </p>",
12
+        "photo": "../assets/BombaPuertorriquena.jpg"
43 13
     },
44 14
     {
45
-        "id": 3,
15
+        "id": 2,
46 16
         "title": "Las mujeres en nuestra música: Tres estrellas de nuestra canción popular",
47
-        "Text1": "Las mujeres en nuestra música: Tres estrellas de nuestra canción popular",
48
-        "Text2": "Al igual que hoy en día brillan en escenarios de todo el mundo exponentes de géneros tan diversos como la ópera, la salsa, el pop latino o el reggaetón, nuestra historia está llena de grandes artistas que precedieron a las estrellas de hoy.",
49
-        "Text3": "Es importante reconocer y recordar que, a lo largo de la historia de nuestra música, especialmente, a partir del siglo 20, las mujeres han tenido un papel importantísimo como cantantes, compositoras o instrumentistas.",
50
-        "Text4": "En esta cápsula, queremos presentarte a tres de las cientos de mujeres que han marcado nuestra memoria musical, ya sea por su portentosa voz y presencia, o por habernos dejado algunas de las composiciones más valoradas de la canción popular. Conoce a Ruth Fernández, (1919-2012), Sylvia Rexach (1921-1961) y Lucecita Benítez (Nacida en 1942).",
51
-        "Text5": "Las tres, de distintas maneras, rompieron barreras y abrieron brechas para nuestras exponentes musicales de hoy. Además, sus historias permiten conocer mejor la riqueza de espacios para nuestras y nuestros artistas que se dieron en el teatro, la radio, la televisión y otros escenarios culturales del siglo 20.",
52
-        "Text6": "",
53
-        "Text7": "",
54
-        "Text8": "",
55
-        "Text9": "",
56
-        "Text10": "",
57
-        "mensage": "Lee sus biografías para conocer sus logros, luchas y aportaciones",
58
-        "nombre1": "Ruth Fernandez",
59
-        "id1": 7,
60
-        "nombre2": "Sylvia Rexach",
61
-        "id2": 8,
62
-        "nombre3": "Lucecita Benitez",
63
-        "id3": 9
17
+        "content": "<p>La música puertorriqueña ha dado innumerables intérpretes que han cultivado con gran excelencia diversos géneros de este arte, tanto a nivel local como internacional.</p><p>Al igual que hoy en día brillan en escenarios de todo el mundo exponentes de géneros tan diversos como la ópera, la salsa, el pop latino o el reggaetón, nuestra historia está llena de grandes artistas que precedieron a las estrellas de hoy.</p><p>Es importante reconocer y recordar que, a lo largo de la historia de nuestra música, especialmente, a partir del siglo 20, las mujeres han tenido un papel importantísimo como cantantes, compositoras o instrumentistas.</p><p>En esta cápsula, queremos presentarte a tres de las cientos de mujeres que han marcado nuestra memoria musical, ya sea por su                                                                                                                               portentosa voz y presencia, o por habernos dejado algunas de las composiciones más valoradas de la canción popular. Conoce a Ruth Fernández, (1919-2012), Sylvia Rexach (1921-1961) y Lucecita Benítez (Nacida en 1942).</p><p>Las tres, de distintas maneras, rompieron barreras y abrieron brechas para nuestras exponentes musicales de hoy. Además, sus historias permiten conocer mejor la riqueza de espacios para nuestras y nuestros artistas que se dieron en el teatro, la radio, la televisión y otros escenarios culturales del siglo 20.</><p>Lee sus biografías para conocer sus logros, luchas y aportaciones.</p>",
18
+        "photo": "../assets/BombaPuertorriquena.jpg"
64 19
     }
65 20
 ]

+ 4
- 19
src/data/CapsuleInfo.ts 查看文件

@@ -3,25 +3,10 @@ import ListCapsule from '../data/Capsule.json';
3 3
 export interface CapsuleInfo {
4 4
     id: number;
5 5
     title: string;
6
-    Text1: string;
7
-    Text2: string;
8
-    Text3: string;
9
-    Text4: string;
10
-    Text5: string;
11
-    Text6: string;
12
-    Text7: string;
13
-    Text8: string;
14
-    Text9: string;
15
-    Text10: string;
16
-    mensage: string;
17
-    nombre1: string;
18
-    id1: number;
19
-    nombre2: string;
20
-    id2: number;
21
-    nombre3: string;
22
-    id3: number;
6
+    content: string;
7
+    photo: string;
23 8
 }
24 9
 
25
-export const getMessages = () => ListCapsule;
10
+export const getCapsules = () => ListCapsule;
26 11
 
27
-export const getMessage = (id: number) => ListCapsule.find(m => m.id === id);
12
+export const getCapsule = (id: number) => ListCapsule.find(c => c.id === id);

+ 2
- 1
src/pages/Biography.tsx 查看文件

@@ -48,6 +48,7 @@ const Biography: React.FC = () => {
48 48
                     </IonGrid>
49 49
                 </IonToolbar>
50 50
             </IonHeader>
51
+
51 52
             <IonContent fullscreen className="ion-padding">
52 53
                 {bioinfo ? (
53 54
                     <>
@@ -78,7 +79,7 @@ const Biography: React.FC = () => {
78 79
                         </IonItem>
79 80
                     </>
80 81
                 ) : (
81
-                    <div>Message not found</div>
82
+                    <div>Biography not found</div>
82 83
                 )}
83 84
             </IonContent>
84 85
 

+ 13
- 49
src/pages/Capsule.tsx 查看文件

@@ -9,28 +9,23 @@ import {
9 9
     IonGrid,
10 10
     IonRow,
11 11
     IonCol,
12
-    useIonViewWillEnter,
13 12
     IonButtons,
14 13
     IonBackButton,
15
-    IonCard,
16
-    IonItem,
17
-    IonCardHeader,
18
-    IonCardSubtitle
14
+    useIonViewWillEnter
19 15
 } from '@ionic/react';
16
+import { useParams } from 'react-router';
20 17
 import React, { useState } from 'react';
21 18
 import './Capsule.css';
22
-import { useParams } from 'react-router';
23
-import { CapsuleInfo, getMessage } from '../data/CapsuleInfo';
19
+import { CapsuleInfo, getCapsule} from '../data/CapsuleInfo';
24 20
 import EnciclopediaPR from '../assets/EnciclopediaPR.png';
25
-import RobertoClemente from '../assets/RobertoClemente.jpg';
26 21
 
27 22
 const Capsule: React.FC = () => {
28
-    const [capinfo, setMessage] = useState<CapsuleInfo>();
23
+    const [capinfo, setCapsule] = useState<CapsuleInfo>();
29 24
     const params = useParams<{ id: string }>();
30 25
 
31 26
     useIonViewWillEnter(() => {
32
-        const msg = getMessage(parseInt(params.id, 10));
33
-        setMessage(msg);
27
+        const capsule = getCapsule(parseInt(params.id, 10));
28
+        setCapsule(capsule);
34 29
     });
35 30
 
36 31
     return (
@@ -49,51 +44,20 @@ const Capsule: React.FC = () => {
49 44
                     </IonGrid>
50 45
                 </IonToolbar>
51 46
             </IonHeader>
47
+
52 48
             <IonContent fullscreen className="ion-padding">
53
-                {capinfo ? (
49
+            {capinfo ? (
54 50
                     <>
51
+                        <IonImg style={{ height: 300, width: 600 }} src={capinfo.photo} alt='Logo'></IonImg>
55 52
                         <h1>{capinfo.title}</h1>
56
-                        <p>{capinfo.Text1}</p>
57
-                        <p>{capinfo.Text2}</p>
58
-                        <p>{capinfo.Text3}</p>
59
-                        <p>{capinfo.Text4}</p>
60
-                        <p>{capinfo.Text5}</p>
61
-                        <p>{capinfo.Text6}</p>
62
-                        <p>{capinfo.Text7}</p>
63
-                        <p>{capinfo.Text8}</p>
64
-                        <p>{capinfo.Text9}</p>
65
-                        <p>{capinfo.Text10}</p>
66
-                        <p></p>
67
-                        <h2>{capinfo.mensage}</h2>
68
-                        <IonCard>
69
-                            <IonItem routerLink={`/Biographie/${capinfo.id1}`} detail={true}>
70
-                                <IonImg style={{ height: 150, width: 300 }} src={RobertoClemente} alt='Logo'></IonImg>
71
-                                <IonCardHeader>
72
-                                    <IonCardSubtitle>{capinfo.nombre1}</IonCardSubtitle>
73
-                                </IonCardHeader>
74
-                            </IonItem>
75
-                        </IonCard>
76
-                        <IonCard>
77
-                            <IonItem routerLink={`/Biographie/${capinfo.id2}`} detail={true}>
78
-                                <IonImg style={{ height: 150, width: 300 }} src={RobertoClemente} alt='Logo'></IonImg>
79
-                                <IonCardHeader>
80
-                                    <IonCardSubtitle>{capinfo.nombre2}</IonCardSubtitle>
81
-                                </IonCardHeader>
82
-                            </IonItem>
83
-                        </IonCard>
84
-                        <IonCard>
85
-                            <IonItem routerLink={`/Biographie/${capinfo.id3}`} detail={true}>
86
-                                <IonImg style={{ height: 150, width: 300 }} src={RobertoClemente} alt='Logo'></IonImg>
87
-                                <IonCardHeader>
88
-                                    <IonCardSubtitle>{capinfo.nombre3}</IonCardSubtitle>
89
-                                </IonCardHeader>
90
-                            </IonItem>
91
-                        </IonCard>
53
+
54
+                        <p dangerouslySetInnerHTML={ {__html:capinfo.content} }></p>
92 55
                     </>
93 56
                 ) : (
94
-                    <div>Message not found</div>
57
+                    <div>Capsule not found</div>
95 58
                 )}
96 59
             </IonContent>
60
+
97 61
             <IonFooter>
98 62
                 <IonToolbar className="Footer-Color">
99 63
                     <div className='Item-Center'>

+ 2
- 2
src/pages/HomePage.tsx 查看文件

@@ -41,8 +41,8 @@ const HomePage: React.FC = () => {
41 41
       </IonHeader>
42 42
       <IonContent fullscreen>
43 43
         <div className='Item-Center'>
44
-          <IonCard>
45
-            <IonItem routerLink={`/ListBiographie`} detail={true}>
44
+          <IonItem routerLink={`/ListBiographies`} detail={true}>
45
+            <IonCard>
46 46
               <IonCardHeader>
47 47
                 <IonCardTitle>Biografías</IonCardTitle>
48 48
                 <IonCardSubtitle>Lista de todas las biografías</IonCardSubtitle>

+ 4
- 33
src/pages/ListBiographies.tsx 查看文件

@@ -1,11 +1,5 @@
1 1
 import {
2 2
   IonImg,
3
-  IonCard,
4
-  IonCardContent,
5
-  IonCardHeader,
6
-  IonCardSubtitle,
7
-  IonCardTitle,
8
-  IonSearchbar,
9 3
   IonContent,
10 4
   IonHeader,
11 5
   IonPage,
@@ -17,14 +11,11 @@ import {
17 11
   IonCol,
18 12
   IonButtons,
19 13
   IonBackButton,
20
-  IonItem,
21
-  IonIcon
22 14
 } from '@ionic/react';
23 15
 import './ListBiographies.css';
24 16
 import { clipboardOutline } from 'ionicons/icons';
25 17
 import EnciclopediaPR from '../assets/EnciclopediaPR.png';
26
-import RobertoClemente from '../assets/RobertoClemente.jpg';
27
-import ListBio from '../data/Biograph.json';
18
+import SearchBar from '../components/BiographySearchBar';
28 19
 
29 20
 const ListBiographies: React.FC = () => {
30 21
   return (
@@ -43,31 +34,11 @@ const ListBiographies: React.FC = () => {
43 34
           </IonGrid>
44 35
         </IonToolbar>
45 36
       </IonHeader>
37
+
46 38
       <IonContent fullscreen>
47
-        <IonSearchbar></IonSearchbar>
48
-        {
49
-          ListBio && ListBio.map(listbio => {
50
-            return (
51
-              <>
52
-                <IonCard>
53
-                  <IonItem routerLink={`/Biographie/${listbio.id}`}>
54
-                    <IonImg style={{ height: 300, width: 600 }} src={RobertoClemente} alt='Biopic'></IonImg>
55
-                    <IonCardHeader>
56
-                      <IonCardTitle>{listbio.title}</IonCardTitle>
57
-                      <IonCardSubtitle>{listbio.tags}</IonCardSubtitle>
58
-                    </IonCardHeader><IonCardContent>
59
-                      {listbio.content}
60
-                    </IonCardContent>
61
-                  </IonItem>
62
-                  <IonItem routerLink={`/Question/${listbio.id}`} detail={true}>
63
-                    <IonIcon icon={clipboardOutline} />Tomar quiz
64
-                  </IonItem>
65
-                </IonCard>
66
-              </>
67
-            )
68
-          })
69
-        }
39
+        <SearchBar></SearchBar>
70 40
       </IonContent>
41
+      
71 42
       <IonFooter>
72 43
         <IonToolbar className="Footer-Color">
73 44
           <div className='Item-Center'>

+ 5
- 20
src/pages/ListCapsules.tsx 查看文件

@@ -1,9 +1,5 @@
1 1
 import {
2
-  IonList,
3
-  IonItem,
4
-  IonLabel,
5 2
   IonImg,
6
-  IonSearchbar,
7 3
   IonContent,
8 4
   IonHeader,
9 5
   IonPage,
@@ -14,11 +10,11 @@ import {
14 10
   IonRow,
15 11
   IonCol,
16 12
   IonButtons,
17
-  IonBackButton
13
+  IonBackButton,
18 14
 } from '@ionic/react';
19 15
 import './ListCapsules.css';
20 16
 import EnciclopediaPR from '../assets/EnciclopediaPR.png';
21
-import ListCapsule from '../data/Capsule.json';
17
+import SearchBar from '../components/CapsuleSearchBar';
22 18
 
23 19
 const ListCapsules: React.FC = () => {
24 20
   return (
@@ -37,22 +33,11 @@ const ListCapsules: React.FC = () => {
37 33
           </IonGrid>
38 34
         </IonToolbar>
39 35
       </IonHeader>
36
+
40 37
       <IonContent fullscreen>
41
-        <IonSearchbar></IonSearchbar>
42
-        {
43
-          ListCapsule && ListCapsule.map(listcap => {
44
-            return (
45
-              <>
46
-                <IonList inset={true}>
47
-                  <IonItem routerLink={`/Capsule/${listcap.id}`} detail={true}>
48
-                    <IonLabel>{listcap.title}</IonLabel>
49
-                  </IonItem>
50
-                </IonList>
51
-              </>
52
-            )
53
-          })
54
-        }
38
+        <SearchBar></SearchBar>
55 39
       </IonContent>
40
+
56 41
       <IonFooter>
57 42
         <IonToolbar className="Footer-Color">
58 43
           <div className='Item-Center'>