Bladeren bron

Merge branch 'master' into UserStory6

ryanbarreto1 1 jaar geleden
bovenliggende
commit
00f67bfa7e

+ 1179
- 576
package-lock.json
Diff onderdrukt omdat het te groot bestand
Bestand weergeven


+ 1
- 1
package.json Bestand weergeven

@@ -69,7 +69,7 @@
69 69
   "devDependencies": {
70 70
     "@capacitor/cli": "4.5.0",
71 71
     "@ionic/lab": "3.2.15",
72
-    "react-scripts": "5.0.1"
72
+    "react-scripts": "^5.0.1"
73 73
   },
74 74
   "description": "An Ionic project"
75 75
 }

+ 41
- 2
src/App.tsx Bestand weergeven

@@ -1,5 +1,13 @@
1
-import { IonNav, setupIonicReact } from '@ionic/react';
1
+import { IonApp, IonRouterOutlet, setupIonicReact } from '@ionic/react';
2
+import { Redirect, Route } from 'react-router-dom';
3
+import { IonReactRouter } from '@ionic/react-router';
2 4
 import HomePage from './pages/HomePage';
5
+import ListBiographies from './pages/ListBiographies';
6
+import Biography from './pages/Biography';
7
+import ListCapsules from './pages/ListCapsules';
8
+import Capsule from './pages/Capsule';
9
+import Questions from './pages/Questions';
10
+import AboutUs from './pages/AboutUs';
3 11
 
4 12
 /* Core CSS required for Ionic components to work properly */
5 13
 import '@ionic/react/css/core.css';
@@ -22,8 +30,39 @@ import './theme/variables.css';
22 30
 
23 31
 setupIonicReact();
24 32
 
33
+//<IonNav root={() => <HomePage />}></IonNav>
34
+
25 35
 const App: React.FC = () => (
26
-  <IonNav root={() => <HomePage />}></IonNav>
36
+  <IonApp>
37
+    <IonReactRouter>
38
+      <IonRouterOutlet>
39
+        <Route path="/" exact={true}>
40
+          <Redirect to="/home" />
41
+        </Route>
42
+        <Route path="/home" exact={true}>
43
+          <HomePage />
44
+        </Route>
45
+        <Route path="/ListBiographie">
46
+          <ListBiographies />
47
+        </Route>
48
+        <Route path="/Biographie/:id">
49
+          <Biography />
50
+        </Route>
51
+        <Route path="/ListCapsules">
52
+          <ListCapsules />
53
+        </Route>
54
+        <Route path="/Capsule">
55
+          <Capsule />
56
+        </Route>
57
+        <Route path="/Question">
58
+          <Questions />
59
+        </Route>
60
+        <Route path="/About">
61
+          <AboutUs />
62
+        </Route>
63
+      </IonRouterOutlet>
64
+    </IonReactRouter>
65
+  </IonApp>
27 66
 );
28 67
 
29 68
 export default App;

+ 8
- 0
src/data/About.json Bestand weergeven

@@ -0,0 +1,8 @@
1
+[
2
+    {
3
+        "title": "Enciclopedia PR",
4
+        "title2": "Más sobre nosotros:",
5
+        "content": "Para más información sobre EnciclopediaPR, visite la página ",
6
+        "url": "https://enciclopediapr.org/"
7
+    }
8
+]

+ 15
- 0
src/data/BioInfo.ts Bestand weergeven

@@ -0,0 +1,15 @@
1
+import ListBio from '../data/Biograph.json';
2
+
3
+export interface BioInfo {
4
+    id: number;
5
+    title: string;
6
+    content: string;
7
+    Text1: string;
8
+    Text2: string;
9
+    tags: string;
10
+    photo: string;
11
+}
12
+
13
+export const getMessages = () => ListBio;
14
+
15
+export const getMessage = (id: number) => ListBio.find(m => m.id === id);

+ 7
- 1
src/data/Biograph.json Bestand weergeven

@@ -3,6 +3,8 @@
3 3
         "id": 1,
4 4
         "title": "Roberto Clemente",
5 5
         "content": "Pelotero, Filántropo Fue un afamado pelotero puertorriqueño que formó parte de las Grandes Ligas de Estados Unidos...",
6
+        "Text1": "Fue un afamado pelotero puertorriqueño que formó parte de las Grandes Ligas de Estados Unidos. El notable jardinero derecho y bateador fue el primer latinoamericano en formar parte del Salón de la Fama del Béisbol de Estados Unidos. También fue conocido por su labor filantrópica.",
7
+        "Text2": "Nació el 18 de agosto de 1934 en San Antón, Carolina. Sus padres fueron Melchor Clemente y Luisa Walker. Desde los ocho años mostró habilidades deportivas con su participación en programas de pequeñas ligas y atletismo infantil. Se destacó en pista y campo, deporte en el que ganó varias medallas, específicamente en tiro de jabalina y distancias cortas. Con apenas 14 años, ya formaba parte del equipo de softball de Sello Rojo, compañía procesadora de arroz. Más adelante, formó parte del equipo de pelota aficionado de Juncos. En 1952, con 18 años de edad, ingresó a la liga de beisbol profesional de Puerto Rico, cuando fue contratado por los Cangrejeros de Santurce. El tiempo que formó parte de este equipo fue crucial para su carrera, ya que pudo pulir sus destrezas deportivas.",
6 8
         "tags": "Deportista, Puertorriqueño",
7 9
         "photo": "require('../assets/RobertoClemente.jpg')"
8 10
     },
@@ -10,13 +12,17 @@
10 12
         "id": 2,
11 13
         "title": "Marian Villaronga Toro",
12 14
         "content": "Durante su incumbencia como secretario de Instrucción Pública se fundó la Editorial del Departamento, el servicio público de radio....",
15
+        "Text1": "Durante su incumbencia como secretario de Instrucción Pública se fundó la Editorial del Departamento, el servicio público de radio y televisión educativa, la Escuela Libre de Música y se adoptó el español como lengua oficial de la enseñanza en todos los niveles del sistema de educación pública en Puerto Rico.",
16
+        "Text2": "Mariano Villaronga Toro nació el 9 de noviembre de 1906 en el pueblo sureño de Ponce. Realizó sus estudios universitarios en la Universidad de Puerto Rico en Río Piedras, donde en 1929 completó un bachillerato en ciencias. Luego, se desempeñó como maestro en el sistema público del país y más adelante, como principal de escuela.",
13 17
         "tags": "Educador, Funcionario público, Puertorriqueño",
14 18
         "photo": "require('../assets/MarianoVillaronga.jpg')"
15 19
     },
16 20
     {
17 21
         "id": 3,
18
-        "title": "German Rieckhoff Sampoyo",
22
+        "title": "German Rieckhoff Sampayo",
19 23
         "content": "Germán Rieckehoff Sampayo fue un pilar del olimpismo y defensor de la soberanía deportiva puertorriqueña. Fue presidente del Comité Olímpico de Puerto Rico (COPUR)....",
24
+        "Text1": "Germán Rieckehoff Sampayo fue un pilar del olimpismo y defensor de la soberanía deportiva puertorriqueña. Fue presidente del Comité Olímpico de Puerto Rico (COPUR) de 1977 a 1989 y fue el primer puertorriqueño en ser miembro del Comité Olímpico Internacional. Durante su incumbencia, fundó el Albergue Olímpico ubicado en el pueblo de Salinas.",
25
+        "Text2": "Nació el 15 de febrero de 1915 en Vieques, hijo de la maestra Angelita Sampayo y del contador Germán Rieckehoff Morales, descendiente de emigrantes alemanes que fue electo a la Cámara de Representantes por el partido Alianza Puertorriqueña en el distrito electoral de Vieques, Fajardo y Culebra (1925-1928). Su educación primaria la realizó en su pueblo natal, en el Instituto Politécnico en San Germán y en la escuela Hawthorne en Río Piedras. Es para esta época que comienza su interés por los deportes; practicaba baloncesto, béisbol y formó parte de los niños escucha (boy scouts). Comenzó la escuela superior de la Universidad de Puerto Rico (UHS), en Río Piedras, pero abandonó los estudios en 1931.",
20 26
         "tags": "Líder deportivo, Abogado, Puertorriqueño",
21 27
         "photo": "require('../assets/DonGermán.jpg')"
22 28
     }

+ 15
- 0
src/pages/AboutUs.css Bestand weergeven

@@ -11,4 +11,19 @@ ion-grid {
11 11
 ion-col {
12 12
     text-align: center;
13 13
     align-items: center;
14
+}
15
+
16
+.Item-Center {
17
+    width: 100%;
18
+    display: flex;
19
+    align-items: center;
20
+    justify-content: center;
21
+}
22
+
23
+.Header-Color {
24
+    --background: #4de9d9;
25
+}
26
+
27
+.Footer-Color {
28
+    --background: #d3d3d3;
14 29
 }

+ 22
- 16
src/pages/AboutUs.tsx Bestand weergeven

@@ -6,24 +6,22 @@ import {
6 6
   IonPage,
7 7
   IonToolbar,
8 8
   IonFooter,
9
-  IonNavLink,
10
-  IonTabButton,
11
-  IonIcon,
12 9
   IonGrid,
13 10
   IonRow,
14
-  IonCol
11
+  IonCol,
12
+  IonButtons,
13
+  IonBackButton
15 14
 } from '@ionic/react';
16
-import { arrowBack } from 'ionicons/icons';
17 15
 import React from 'react';
18 16
 import './AboutUs.css';
19
-import HomePage from './HomePage';
20 17
 import EnciclopediaPR from '../assets/EnciclopediaPR.png';
18
+import About from '../data/About.json'
21 19
 
22 20
 const AboutUs: React.FC = () => {
23 21
   return (
24 22
     <IonPage>
25 23
       <IonHeader>
26
-        <IonToolbar>
24
+        <IonToolbar className="Header-Color">
27 25
           <IonGrid fixed={true}>
28 26
             <IonRow>
29 27
               <IonCol></IonCol>
@@ -37,17 +35,25 @@ const AboutUs: React.FC = () => {
37 35
         </IonToolbar>
38 36
       </IonHeader>
39 37
       <IonContent fullscreen className="ion-padding">
40
-        <h1>Enciclopedia PR</h1>
41
-        <h2>Más sobre nosotros:</h2>
42
-        <p>Para más información sobre EnciclopediaPR, visite la página href='https://enciclopediapr.org/'</p>
38
+        {
39
+          About && About.map(infoAb => {
40
+            return (
41
+              <>
42
+                <h1>{infoAb.title}</h1>
43
+                <h2>{infoAb.title2}</h2>
44
+                <p>{infoAb.content} {infoAb.url}</p>
45
+              </>
46
+            )
47
+          })
48
+        }
43 49
       </IonContent>
44 50
       <IonFooter>
45
-        <IonToolbar>
46
-          <IonNavLink routerDirection="forward" component={() => <HomePage />}>
47
-            <IonTabButton tab="HomePage" href="/HomePage">
48
-              <IonIcon icon={arrowBack} />
49
-            </IonTabButton>
50
-          </IonNavLink>
51
+        <IonToolbar className="Footer-Color">
52
+          <div className='Item-Center'>
53
+            <IonButtons slot="start">
54
+              <IonBackButton defaultHref="/home"></IonBackButton>
55
+            </IonButtons>
56
+          </div>
51 57
         </IonToolbar>
52 58
       </IonFooter>
53 59
     </IonPage>

+ 15
- 0
src/pages/Biography.css Bestand weergeven

@@ -11,4 +11,19 @@ ion-grid {
11 11
 ion-col {
12 12
     text-align: center;
13 13
     align-items: center;
14
+}
15
+
16
+.Item-Center {
17
+    width: 100%;
18
+    display: flex;
19
+    align-items: center;
20
+    justify-content: center;
21
+}
22
+
23
+.Header-Color {
24
+    --background: #4de9d9;
25
+}
26
+
27
+.Footer-Color {
28
+    --background: #d3d3d3;
14 29
 }

+ 39
- 25
src/pages/Biography.tsx Bestand weergeven

@@ -5,28 +5,37 @@ import {
5 5
     IonTitle,
6 6
     IonToolbar,
7 7
     IonFooter,
8
-    IonNavLink,
9
-    IonButton,
10
-    IonTabButton,
11
-    IonIcon,
12 8
     IonImg,
13 9
     IonGrid,
14 10
     IonRow,
15
-    IonCol
11
+    IonCol,
12
+    IonButtons,
13
+    IonBackButton,
14
+    useIonViewWillEnter,
15
+    IonItem,
16
+    IonIcon
16 17
 } from '@ionic/react';
17
-import { arrowBack } from 'ionicons/icons';
18
-import React from 'react';
18
+import { useParams } from 'react-router';
19
+import React, { useState } from 'react';
20
+import { BioInfo, getMessage } from '../data/BioInfo';
19 21
 import './Biography.css';
20
-import ListBiographies from './ListBiographies';
21
-import Questions from './Questions';
22 22
 import EnciclopediaPR from '../assets/EnciclopediaPR.png';
23 23
 import RobertoClemente from '../assets/RobertoClemente.jpg';
24
+import { square } from 'ionicons/icons';
24 25
 
25 26
 const Biography: React.FC = () => {
27
+    const [bioinfo, setMessage] = useState<BioInfo>();
28
+    const params = useParams<{ id: string }>();
29
+
30
+    useIonViewWillEnter(() => {
31
+        const msg = getMessage(parseInt(params.id, 10));
32
+        setMessage(msg);
33
+    });
34
+
26 35
     return (
27 36
         <IonPage>
28 37
             <IonHeader>
29
-                <IonToolbar>
38
+                <IonToolbar className="Header-Color">
30 39
                     <IonGrid fixed={true}>
31 40
                         <IonRow>
32 41
                             <IonCol></IonCol>
@@ -40,25 +49,30 @@ const Biography: React.FC = () => {
40 49
                 </IonToolbar>
41 50
             </IonHeader>
42 51
             <IonContent fullscreen className="ion-padding">
43
-                <IonImg style={{ height: 300, width: 600 }} src={RobertoClemente} alt='Logo'></IonImg>
44
-                <h1>Roberto Clemente</h1>
45
-
46
-                <p>Pelotero, Filántropo</p>
47
-                <p>Fue un afamado pelotero puertorriqueño que formó parte de las Grandes Ligas de Estados Unidos. El notable jardinero derecho y bateador fue el primer latinoamericano en formar parte del Salón de la Fama del Béisbol de Estados Unidos. También fue conocido por su labor filantrópica.</p>
48
-                <p>Nació el 18 de agosto de 1934 en San Antón, Carolina. Sus padres fueron Melchor Clemente y Luisa Walker. Desde los ocho años mostró habilidades deportivas con su participación en programas de pequeñas ligas y atletismo infantil. Se destacó en pista y campo, deporte en el que ganó varias medallas, específicamente en tiro de jabalina y distancias cortas. Con apenas 14 años, ya formaba parte del equipo de softball de Sello Rojo, compañía procesadora de arroz. Más adelante, formó parte del equipo de pelota aficionado de Juncos. En 1952, con 18 años de edad, ingresó a la liga de beisbol profesional de Puerto Rico, cuando fue contratado por los Cangrejeros de Santurce. El tiempo que formó parte de este equipo fue crucial para su carrera, ya que pudo pulir sus destrezas deportivas.</p>
52
+                {bioinfo ? (
53
+                    <>
54
+                        <IonImg style={{ height: 300, width: 600 }} src={RobertoClemente} alt='Logo'></IonImg>
55
+                        <h1>{bioinfo.title}</h1>
49 56
 
50
-                <IonNavLink routerDirection="forward" component={() => <Questions />}>
51
-                    <IonButton>Tomar quiz</IonButton>
52
-                </IonNavLink>
57
+                        <p>{bioinfo.tags}</p>
58
+                        <p>{bioinfo.Text1}</p>
59
+                        <p>{bioinfo.Text2}</p>
60
+                        <IonItem routerLink={`/Question`} detail={true}>
61
+                            <IonIcon icon={square} />Tomar quiz
62
+                        </IonItem>
63
+                    </>
64
+                ) : (
65
+                    <div>Message not found</div>
66
+                )}
53 67
             </IonContent>
54 68
 
55 69
             <IonFooter>
56
-                <IonToolbar>
57
-                    <IonNavLink routerDirection="forward" component={() => <ListBiographies />}>
58
-                        <IonTabButton tab="ListBiographies" href="/ListBiographies">
59
-                            <IonIcon icon={arrowBack} />
60
-                        </IonTabButton>
61
-                    </IonNavLink>
70
+                <IonToolbar className="Footer-Color">
71
+                    <div className='Item-Center'>
72
+                        <IonButtons slot="start">
73
+                            <IonBackButton defaultHref="/home"></IonBackButton>
74
+                        </IonButtons>
75
+                    </div>
62 76
                 </IonToolbar>
63 77
             </IonFooter>
64 78
         </IonPage>

+ 15
- 0
src/pages/Capsule.css Bestand weergeven

@@ -11,4 +11,19 @@ ion-grid {
11 11
 ion-col {
12 12
     text-align: center;
13 13
     align-items: center;
14
+}
15
+
16
+.Item-Center {
17
+    width: 100%;
18
+    display: flex;
19
+    align-items: center;
20
+    justify-content: center;
21
+}
22
+
23
+.Header-Color {
24
+    --background: #4de9d9;
25
+}
26
+
27
+.Footer-Color {
28
+    --background: #d3d3d3;
14 29
 }

+ 24
- 12
src/pages/Capsule.tsx Bestand weergeven

@@ -6,25 +6,26 @@ import {
6 6
     IonToolbar,
7 7
     IonFooter,
8 8
     IonNavLink,
9
-    IonTabButton,
10
-    IonIcon,
11 9
     IonImg,
12 10
     IonGrid,
13 11
     IonRow,
14
-    IonCol
12
+    IonCol,
13
+    IonButton,
14
+    IonButtons,
15
+    IonBackButton
15 16
 } from '@ionic/react';
16
-import { arrowBack } from 'ionicons/icons';
17 17
 import React from 'react';
18 18
 import './Capsule.css';
19
-import ListCapsules from './ListCapsules';
19
+import Biography from './Biography';
20 20
 import EnciclopediaPR from '../assets/EnciclopediaPR.png';
21 21
 import Bomba from '../assets/BombaPuertorriquena.jpg';
22
+import RobertoClemente from '../assets/RobertoClemente.jpg';
22 23
 
23 24
 const Capsule: React.FC = () => {
24 25
     return (
25 26
         <IonPage>
26 27
             <IonHeader>
27
-                <IonToolbar>
28
+                <IonToolbar className="Header-Color">
28 29
                     <IonGrid fixed={true}>
29 30
                         <IonRow>
30 31
                             <IonCol></IonCol>
@@ -44,14 +45,25 @@ const Capsule: React.FC = () => {
44 45
                 <p>Han existido distintas formas de danzar o bailar desde la historia muy antigua de la humanidad. En Puerto Rico el primer baile documentado por los cronistas de Indias es el llamado areito, con las variantes de escritura areyto y areíto. Era un baile coreado y musicalizado, dirigido por un guía. Esta manifestación de movimiento corporal, que Gonzalo Fernández de Oviedo llamó “bailar cantando”, fue común en los grupos indígenas de la región caribeña.</p>
45 46
                 <p>Se ejecutaba en hileras, con los participantes cogidos de las manos, de los brazos o, según Bartolomé de las Casas, “los brazos de los unos puestos sobre los hombros de los otros”. Según Pedro Mártir de Anglería, los participantes llevaban caracoles en los brazos y piernas, con los que producían “un ruido agradable”. Narraban una historia y el guía indicaba qué pasos y cantos se repetirían hasta que ésta culminara.</p>
46 47
                 <p>Aunque la llegada de los conquistadores españoles produjo una rápida desaparición de la población indígena y de cualquier expresión autóctona que las autoridades consideraran pagana, Fray Iñigo Abbad y Lasierra afirmaba en 1789 que “la diversión más apreciable para estos isleños son los bailes; los tienen sin más motivo que el de pasar el tiempo y rara vez faltan en una cosa u otra”.</p>
48
+
49
+                <h2>Information about important figures</h2>
50
+                <IonGrid fixed={true}>
51
+                    <IonRow>
52
+                        <IonImg style={{ height: 150, width: 300 }} src={RobertoClemente} alt='Logo'></IonImg>
53
+                        <IonNavLink routerDirection="forward" component={() => <Biography />} >
54
+                            <IonButton color="light">Roberto Clemente</IonButton>
55
+                        </IonNavLink>
56
+                    </IonRow>
57
+                </IonGrid>
58
+
47 59
             </IonContent>
48 60
             <IonFooter>
49
-                <IonToolbar>
50
-                    <IonNavLink routerDirection="forward" component={() => <ListCapsules />}>
51
-                        <IonTabButton tab="ListCapsules" href="/ListCapsules">
52
-                            <IonIcon icon={arrowBack} />
53
-                        </IonTabButton>
54
-                    </IonNavLink>
61
+                <IonToolbar className="Footer-Color">
62
+                    <div className='Item-Center'>
63
+                        <IonButtons slot="start">
64
+                            <IonBackButton defaultHref="/ListCapsules"></IonBackButton>
65
+                        </IonButtons>
66
+                    </div>
55 67
                 </IonToolbar>
56 68
             </IonFooter>
57 69
         </IonPage>

+ 15
- 0
src/pages/HomePage.css Bestand weergeven

@@ -16,4 +16,19 @@ ion-grid {
16 16
 ion-col {
17 17
     text-align: center;
18 18
     align-items: center;
19
+}
20
+
21
+.Header-Color {
22
+    --background: #4de9d9;
23
+}
24
+
25
+.Footer-Color {
26
+    --background: #d3d3d3;
27
+}
28
+
29
+.Item-Center {
30
+    width: 100%;
31
+    display: flex;
32
+    align-items: center;
33
+    justify-content: center;
19 34
 }

+ 32
- 36
src/pages/HomePage.tsx Bestand weergeven

@@ -1,6 +1,5 @@
1 1
 import {
2 2
   IonContent,
3
-  IonButton,
4 3
   IonHeader,
5 4
   IonPage,
6 5
   IonTitle,
@@ -9,7 +8,6 @@ import {
9 8
   IonCardHeader,
10 9
   IonCardSubtitle,
11 10
   IonCardTitle,
12
-  IonNavLink,
13 11
   IonFooter,
14 12
   IonTabButton,
15 13
   IonIcon,
@@ -17,20 +15,18 @@ import {
17 15
   IonImg,
18 16
   IonCol,
19 17
   IonGrid,
20
-  IonRow
18
+  IonRow,
19
+  IonItem
21 20
 } from '@ionic/react';
22 21
 import { square } from 'ionicons/icons';
23 22
 import './HomePage.css';
24
-import ListBiographies from './ListBiographies';
25
-import ListCapsules from './ListCapsules';
26
-import AboutUs from './AboutUs';
27 23
 import EnciclopediaPR from '../assets/EnciclopediaPR.png';
28 24
 
29 25
 const HomePage: React.FC = () => {
30 26
   return (
31 27
     <IonPage>
32 28
       <IonHeader>
33
-        <IonToolbar>
29
+        <IonToolbar className="Header-Color">
34 30
           <IonGrid fixed={true}>
35 31
             <IonRow>
36 32
               <IonCol></IonCol>
@@ -44,37 +40,37 @@ const HomePage: React.FC = () => {
44 40
         </IonToolbar>
45 41
       </IonHeader>
46 42
       <IonContent fullscreen>
47
-        <IonCard>
48
-          <IonCardHeader>
49
-            <IonCardTitle>Biografías</IonCardTitle>
50
-            <IonCardSubtitle>Lista de todas las biografías</IonCardSubtitle>
51
-          </IonCardHeader>
52
-          <IonNavLink routerDirection="forward" component={() => <ListBiographies />}>
53
-            <IonButton size="default" expand="block" shape="round">
54
-              Buscar
55
-            </IonButton>
56
-          </IonNavLink>
57
-        </IonCard>
58
-        <IonCard>
59
-          <IonCardHeader>
60
-            <IonCardTitle>Cápsulas</IonCardTitle>
61
-            <IonCardSubtitle>Lista de todas las cápsulas</IonCardSubtitle>
62
-          </IonCardHeader>
63
-          <IonNavLink routerDirection="forward" component={() => <ListCapsules />}>
64
-            <IonButton size="default" expand="block" shape="round">
65
-              Buscar
66
-            </IonButton>
67
-          </IonNavLink>
68
-        </IonCard>
43
+        <div className='Item-Center'>
44
+          <IonItem routerLink={`/ListBiographie`} detail={true}>
45
+            <IonCard>
46
+              <IonCardHeader>
47
+                <IonCardTitle>Biografías</IonCardTitle>
48
+                <IonCardSubtitle>Lista de todas las biografías</IonCardSubtitle>
49
+              </IonCardHeader>
50
+            </IonCard>
51
+          </IonItem>
52
+        </div>
53
+        <div className='Item-Center'>
54
+          <IonItem routerLink={`/ListCapsules`} detail={true}>
55
+            <IonCard>
56
+              <IonCardHeader>
57
+                <IonCardTitle>Cápsulas</IonCardTitle>
58
+                <IonCardSubtitle>Lista de todas las cápsulas</IonCardSubtitle>
59
+              </IonCardHeader>
60
+            </IonCard>
61
+          </IonItem>
62
+        </div>
69 63
       </IonContent>
70 64
       <IonFooter>
71
-        <IonToolbar>
72
-          <IonNavLink routerDirection="forward" component={() => <AboutUs />}>
73
-            <IonTabButton tab="AboutUs" href="/AboutUs">
74
-              <IonIcon icon={square} />
75
-              <IonLabel>Sobre nosotros</IonLabel>
76
-            </IonTabButton>
77
-          </IonNavLink>
65
+        <IonToolbar className="Footer-Color">
66
+          <div className='Item-Center'>
67
+            <IonItem routerLink={`/About`}>
68
+              <IonTabButton tab="AboutUs" href="/AboutUs">
69
+                <IonIcon icon={square} />
70
+                <IonLabel>Sobre nosotros</IonLabel>
71
+              </IonTabButton>
72
+            </IonItem>
73
+          </div>
78 74
         </IonToolbar>
79 75
       </IonFooter>
80 76
     </IonPage>

+ 15
- 0
src/pages/ListBiographies.css Bestand weergeven

@@ -11,4 +11,19 @@ ion-grid {
11 11
 ion-col {
12 12
     text-align: center;
13 13
     align-items: center;
14
+}
15
+
16
+.Item-Center {
17
+    width: 100%;
18
+    display: flex;
19
+    align-items: center;
20
+    justify-content: center;
21
+}
22
+
23
+.Header-Color {
24
+    --background: #4de9d9;
25
+}
26
+
27
+.Footer-Color {
28
+    --background: #d3d3d3;
14 29
 }

+ 25
- 34
src/pages/ListBiographies.tsx Bestand weergeven

@@ -11,20 +11,17 @@ import {
11 11
   IonPage,
12 12
   IonTitle,
13 13
   IonToolbar,
14
-  IonButton,
15
-  IonNavLink,
16 14
   IonFooter,
17
-  IonTabButton,
18
-  IonIcon,
19 15
   IonGrid,
20 16
   IonRow,
21
-  IonCol
17
+  IonCol,
18
+  IonButtons,
19
+  IonBackButton,
20
+  IonItem,
21
+  IonIcon
22 22
 } from '@ionic/react';
23
-import { arrowBack } from 'ionicons/icons';
24 23
 import './ListBiographies.css';
25
-import Biography from './Biography';
26
-import Questions from './Questions';
27
-import HomePage from './HomePage';
24
+import { square } from 'ionicons/icons';
28 25
 import EnciclopediaPR from '../assets/EnciclopediaPR.png';
29 26
 import RobertoClemente from '../assets/RobertoClemente.jpg';
30 27
 import ListBio from '../data/Biograph.json';
@@ -33,7 +30,7 @@ const ListBiographies: React.FC = () => {
33 30
   return (
34 31
     <IonPage>
35 32
       <IonHeader>
36
-        <IonToolbar>
33
+        <IonToolbar className="Header-Color">
37 34
           <IonGrid fixed={true}>
38 35
             <IonRow>
39 36
               <IonCol></IonCol>
@@ -48,42 +45,36 @@ const ListBiographies: React.FC = () => {
48 45
       </IonHeader>
49 46
       <IonContent fullscreen>
50 47
         <IonSearchbar></IonSearchbar>
51
-
52 48
         {
53 49
           ListBio && ListBio.map(listbio => {
54 50
             return (
55 51
               <>
56 52
                 <IonCard>
57
-                  <IonImg style={{ height: 300, width: 600 }} src={RobertoClemente} alt='Logo'></IonImg>
58
-                  <IonCardHeader>
59
-                    <IonCardTitle>{listbio.title}</IonCardTitle>
60
-                    <IonCardSubtitle>{listbio.tags}</IonCardSubtitle>
61
-                  </IonCardHeader><IonCardContent>
62
-                    {listbio.content}
63
-                  </IonCardContent>
64
-                  <IonNavLink routerDirection="forward" component={() => <Biography />}>
65
-                    <IonButton>Go to</IonButton>
66
-                  </IonNavLink>
67
-
68
-                  <IonNavLink routerDirection="forward" component={() => <Questions />}>
69
-                    <IonButton>Tomar quiz</IonButton>
70
-                  </IonNavLink>
71
-
53
+                  <IonItem routerLink={`/Biographie/${listbio.id}`}>
54
+                    <IonImg style={{ height: 300, width: 600 }} src={RobertoClemente} alt='Logo'></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`} detail={true}>
63
+                    <IonIcon icon={square} />Tomar quiz
64
+                  </IonItem>
72 65
                 </IonCard>
73 66
               </>
74 67
             )
75 68
           })
76 69
         }
77
-
78
-
79 70
       </IonContent>
80 71
       <IonFooter>
81
-        <IonToolbar>
82
-          <IonNavLink routerDirection="forward" component={() => <HomePage />}>
83
-            <IonTabButton tab="HomePage" href="/HomePage">
84
-              <IonIcon icon={arrowBack} />
85
-            </IonTabButton>
86
-          </IonNavLink>
72
+        <IonToolbar className="Footer-Color">
73
+          <div className='Item-Center'>
74
+            <IonButtons slot="start">
75
+              <IonBackButton defaultHref="/home"></IonBackButton>
76
+            </IonButtons>
77
+          </div>
87 78
         </IonToolbar>
88 79
       </IonFooter>
89 80
     </IonPage>

+ 15
- 0
src/pages/ListCapsules.css Bestand weergeven

@@ -11,4 +11,19 @@ ion-grid {
11 11
 ion-col {
12 12
     text-align: center;
13 13
     align-items: center;
14
+}
15
+
16
+.Item-Center {
17
+    width: 100%;
18
+    display: flex;
19
+    align-items: center;
20
+    justify-content: center;
21
+}
22
+
23
+.Header-Color {
24
+    --background: #4de9d9;
25
+}
26
+
27
+.Footer-Color {
28
+    --background: #d3d3d3;
14 29
 }

+ 11
- 19
src/pages/ListCapsules.tsx Bestand weergeven

@@ -9,26 +9,21 @@ import {
9 9
   IonPage,
10 10
   IonTitle,
11 11
   IonToolbar,
12
-  IonButton,
13
-  IonNavLink,
14 12
   IonFooter,
15
-  IonTabButton,
16
-  IonIcon,
17 13
   IonGrid,
18 14
   IonRow,
19
-  IonCol
15
+  IonCol,
16
+  IonButtons,
17
+  IonBackButton
20 18
 } from '@ionic/react';
21
-import { arrowBack } from 'ionicons/icons';
22 19
 import './ListCapsules.css';
23
-import HomePage from './HomePage';
24
-import Capsule from './Capsule'
25 20
 import EnciclopediaPR from '../assets/EnciclopediaPR.png';
26 21
 
27 22
 const ListCapsules: React.FC = () => {
28 23
   return (
29 24
     <IonPage>
30 25
       <IonHeader>
31
-        <IonToolbar>
26
+        <IonToolbar className="Header-Color">
32 27
           <IonGrid fixed={true}>
33 28
             <IonRow>
34 29
               <IonCol></IonCol>
@@ -44,11 +39,8 @@ const ListCapsules: React.FC = () => {
44 39
       <IonContent fullscreen>
45 40
         <IonSearchbar></IonSearchbar>
46 41
         <IonList inset={true}>
47
-          <IonItem>
42
+          <IonItem routerLink={`/Capsule`} detail={true}>
48 43
             <IonLabel>Breve Historia del baile en Puerto Rico</IonLabel>
49
-            <IonNavLink routerDirection="forward" component={() => <Capsule />}>
50
-              <IonButton>Visitar</IonButton>
51
-            </IonNavLink>
52 44
           </IonItem>
53 45
           <IonItem>
54 46
             <IonLabel>Cápsula#2</IonLabel>
@@ -59,12 +51,12 @@ const ListCapsules: React.FC = () => {
59 51
         </IonList>
60 52
       </IonContent>
61 53
       <IonFooter>
62
-        <IonToolbar>
63
-          <IonNavLink routerDirection="forward" component={() => <HomePage />}>
64
-            <IonTabButton tab="HomePage" href="/HomePage">
65
-              <IonIcon icon={arrowBack} />
66
-            </IonTabButton>
67
-          </IonNavLink>
54
+        <IonToolbar className="Footer-Color">
55
+          <div className='Item-Center'>
56
+            <IonButtons slot="start">
57
+              <IonBackButton defaultHref="/home"></IonBackButton>
58
+            </IonButtons>
59
+          </div>
68 60
         </IonToolbar>
69 61
       </IonFooter>
70 62
     </IonPage>

+ 15
- 0
src/pages/Questions.css Bestand weergeven

@@ -13,6 +13,21 @@ ion-col {
13 13
     align-items: center;
14 14
 }
15 15
 
16
+.Item-Center {
17
+    width: 100%;
18
+    display: flex;
19
+    align-items: center;
20
+    justify-content: center;
21
+}
22
+
23
+.Header-Color {
24
+    --background: #4de9d9;
25
+}
26
+
27
+.Footer-Color {
28
+    --background: #d3d3d3;
29
+}
30
+
16 31
 ion-radio {
17 32
     --border-radius: 4px;
18 33
     --inner-border-radius: 4px;

+ 9
- 14
src/pages/Questions.tsx Bestand weergeven

@@ -5,9 +5,6 @@ import {
5 5
     IonTitle,
6 6
     IonToolbar,
7 7
     IonFooter,
8
-    IonNavLink,
9
-    IonTabButton,
10
-    IonIcon,
11 8
     IonImg,
12 9
     IonItem,
13 10
     IonLabel,
@@ -21,14 +18,12 @@ import {
21 18
     IonGrid,
22 19
     IonRow,
23 20
     IonCol,
24
-    IonRadioGroup,
25
-    IonRadio
21
+    IonButtons,
22
+    IonBackButton
26 23
 } from '@ionic/react';
27
-import { arrowBack } from 'ionicons/icons';
28 24
 import React, {useState} from 'react';
29 25
 //import { Form } from 'react-bootstrap';
30 26
 import './Questions.css';
31
-import Biography from './Biography';
32 27
 import EnciclopediaPR from '../assets/EnciclopediaPR.png';
33 28
 //import RobertoClemente from '../assets/RobertoClemente.jpg';
34 29
 //import Quizzes from '../data/Quizzes.json';
@@ -49,7 +44,7 @@ const Questions: React.FC = () => {
49 44
     return (
50 45
         <IonPage>
51 46
             <IonHeader>
52
-                <IonToolbar>
47
+                <IonToolbar className="Header-Color">
53 48
                     <IonGrid fixed={true}>
54 49
                         <IonRow>
55 50
                             <IonCol></IonCol>
@@ -66,12 +61,12 @@ const Questions: React.FC = () => {
66 61
             {QuizForm(1)}
67 62
 
68 63
             <IonFooter>
69
-                <IonToolbar>
70
-                    <IonNavLink routerDirection="forward" component={() => <Biography />}>
71
-                        <IonTabButton tab="Biography" href="/Biography">
72
-                            <IonIcon icon={arrowBack} />
73
-                        </IonTabButton>
74
-                    </IonNavLink>
64
+                <IonToolbar className="Footer-Color">
65
+                    <div className='Item-Center'>
66
+                        <IonButtons slot="start">
67
+                            <IonBackButton defaultHref="/ListBiographie"></IonBackButton>
68
+                        </IonButtons>
69
+                    </div>
75 70
                 </IonToolbar>
76 71
             </IonFooter>
77 72
         </IonPage>