Ver código fonte

merge conflicts with Janthony's branch

Ángel G. Romero Rosario 2 anos atrás
pai
commit
714f860edf

+ 0
- 101
android/.gitignore Ver arquivo

@@ -1,101 +0,0 @@
1
-# Using Android gitignore template: https://github.com/github/gitignore/blob/HEAD/Android.gitignore
2
-
3
-# Built application files
4
-*.apk
5
-*.aar
6
-*.ap_
7
-*.aab
8
-
9
-# Files for the ART/Dalvik VM
10
-*.dex
11
-
12
-# Java class files
13
-*.class
14
-
15
-# Generated files
16
-bin/
17
-gen/
18
-out/
19
-#  Uncomment the following line in case you need and you don't have the release build type files in your app
20
-# release/
21
-
22
-# Gradle files
23
-.gradle/
24
-build/
25
-
26
-# Local configuration file (sdk path, etc)
27
-local.properties
28
-
29
-# Proguard folder generated by Eclipse
30
-proguard/
31
-
32
-# Log Files
33
-*.log
34
-
35
-# Android Studio Navigation editor temp files
36
-.navigation/
37
-
38
-# Android Studio captures folder
39
-captures/
40
-
41
-# IntelliJ
42
-*.iml
43
-.idea/workspace.xml
44
-.idea/tasks.xml
45
-.idea/gradle.xml
46
-.idea/assetWizardSettings.xml
47
-.idea/dictionaries
48
-.idea/libraries
49
-# Android Studio 3 in .gitignore file.
50
-.idea/caches
51
-.idea/modules.xml
52
-# Comment next line if keeping position of elements in Navigation Editor is relevant for you
53
-.idea/navEditor.xml
54
-
55
-# Keystore files
56
-# Uncomment the following lines if you do not want to check your keystore files in.
57
-#*.jks
58
-#*.keystore
59
-
60
-# External native build folder generated in Android Studio 2.2 and later
61
-.externalNativeBuild
62
-.cxx/
63
-
64
-# Google Services (e.g. APIs or Firebase)
65
-# google-services.json
66
-
67
-# Freeline
68
-freeline.py
69
-freeline/
70
-freeline_project_description.json
71
-
72
-# fastlane
73
-fastlane/report.xml
74
-fastlane/Preview.html
75
-fastlane/screenshots
76
-fastlane/test_output
77
-fastlane/readme.md
78
-
79
-# Version control
80
-vcs.xml
81
-
82
-# lint
83
-lint/intermediates/
84
-lint/generated/
85
-lint/outputs/
86
-lint/tmp/
87
-# lint/reports/
88
-
89
-# Android Profiling
90
-*.hprof
91
-
92
-# Cordova plugins for Capacitor
93
-capacitor-cordova-android-plugins
94
-
95
-# Copied web assets
96
-app/src/main/assets/public
97
-
98
-# Generated Config files
99
-app/src/main/assets/capacitor.config.json
100
-app/src/main/assets/capacitor.plugins.json
101
-app/src/main/res/xml/config.xml

+ 0
- 25
android/.idea/jarRepositories.xml Ver arquivo

@@ -1,25 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8"?>
2
-<project version="4">
3
-  <component name="RemoteRepositoriesConfiguration">
4
-    <remote-repository>
5
-      <option name="id" value="central" />
6
-      <option name="name" value="Maven Central repository" />
7
-      <option name="url" value="https://repo1.maven.org/maven2" />
8
-    </remote-repository>
9
-    <remote-repository>
10
-      <option name="id" value="jboss.community" />
11
-      <option name="name" value="JBoss Community repository" />
12
-      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
13
-    </remote-repository>
14
-    <remote-repository>
15
-      <option name="id" value="MavenRepo" />
16
-      <option name="name" value="MavenRepo" />
17
-      <option name="url" value="https://repo.maven.apache.org/maven2/" />
18
-    </remote-repository>
19
-    <remote-repository>
20
-      <option name="id" value="Google" />
21
-      <option name="name" value="Google" />
22
-      <option name="url" value="https://dl.google.com/dl/android/maven2/" />
23
-    </remote-repository>
24
-  </component>
25
-</project>

+ 0
- 53
android/app/build.gradle Ver arquivo

@@ -1,53 +0,0 @@
1
-apply plugin: 'com.android.application'
2
-
3
-android {
4
-    compileSdkVersion rootProject.ext.compileSdkVersion
5
-    defaultConfig {
6
-        applicationId "io.ionic.starter"
7
-        minSdkVersion rootProject.ext.minSdkVersion
8
-        targetSdkVersion rootProject.ext.targetSdkVersion
9
-        versionCode 1
10
-        versionName "1.0"
11
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
12
-        aaptOptions {
13
-             // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
14
-             // Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61
15
-            ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
16
-        }
17
-    }
18
-    buildTypes {
19
-        release {
20
-            minifyEnabled false
21
-            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
22
-        }
23
-    }
24
-}
25
-
26
-repositories {
27
-    flatDir{
28
-        dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs'
29
-    }
30
-}
31
-
32
-dependencies {
33
-    implementation fileTree(include: ['*.jar'], dir: 'libs')
34
-    implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
35
-    implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion"
36
-    implementation "androidx.core:core-splashscreen:$coreSplashScreenVersion"
37
-    implementation project(':capacitor-android')
38
-    testImplementation "junit:junit:$junitVersion"
39
-    androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
40
-    androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
41
-    implementation project(':capacitor-cordova-android-plugins')
42
-}
43
-
44
-apply from: 'capacitor.build.gradle'
45
-
46
-try {
47
-    def servicesJSON = file('google-services.json')
48
-    if (servicesJSON.text) {
49
-        apply plugin: 'com.google.gms.google-services'
50
-    }
51
-} catch(Exception e) {
52
-    logger.info("google-services.json not found, google-services plugin not applied. Push Notifications won't work")
53
-}

+ 0
- 21
android/app/proguard-rules.pro Ver arquivo

@@ -1,21 +0,0 @@
1
-# Add project specific ProGuard rules here.
2
-# You can control the set of applied configuration files using the
3
-# proguardFiles setting in build.gradle.
4
-#
5
-# For more details, see
6
-#   http://developer.android.com/guide/developing/tools/proguard.html
7
-
8
-# If your project uses WebView with JS, uncomment the following
9
-# and specify the fully qualified class name to the JavaScript interface
10
-# class:
11
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12
-#   public *;
13
-#}
14
-
15
-# Uncomment this to preserve the line number information for
16
-# debugging stack traces.
17
-#-keepattributes SourceFile,LineNumberTable
18
-
19
-# If you keep the line number information, uncomment this to
20
-# hide the original source file name.
21
-#-renamesourcefileattribute SourceFile

+ 0
- 42
android/app/src/main/AndroidManifest.xml Ver arquivo

@@ -1,42 +0,0 @@
1
-<?xml version="1.0" encoding="utf-8"?>
2
-<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
-    package="io.ionic.starter">
4
-
5
-    <application
6
-        android:allowBackup="true"
7
-        android:icon="@mipmap/ic_launcher"
8
-        android:label="@string/app_name"
9
-        android:roundIcon="@mipmap/ic_launcher_round"
10
-        android:supportsRtl="true"
11
-        android:theme="@style/AppTheme">
12
-
13
-        <activity
14
-            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode"
15
-            android:name="io.ionic.starter.MainActivity"
16
-            android:label="@string/title_activity_main"
17
-            android:theme="@style/AppTheme.NoActionBarLaunch"
18
-            android:launchMode="singleTask"
19
-            android:exported="true">
20
-
21
-            <intent-filter>
22
-                <action android:name="android.intent.action.MAIN" />
23
-                <category android:name="android.intent.category.LAUNCHER" />
24
-            </intent-filter>
25
-
26
-        </activity>
27
-
28
-        <provider
29
-            android:name="androidx.core.content.FileProvider"
30
-            android:authorities="${applicationId}.fileprovider"
31
-            android:exported="false"
32
-            android:grantUriPermissions="true">
33
-            <meta-data
34
-                android:name="android.support.FILE_PROVIDER_PATHS"
35
-                android:resource="@xml/file_paths"></meta-data>
36
-        </provider>
37
-    </application>
38
-
39
-    <!-- Permissions -->
40
-
41
-    <uses-permission android:name="android.permission.INTERNET" />
42
-</manifest>

+ 0
- 24
android/gradle.properties Ver arquivo

@@ -1,24 +0,0 @@
1
-# Project-wide Gradle settings.
2
-
3
-# IDE (e.g. Android Studio) users:
4
-# Gradle settings configured through the IDE *will override*
5
-# any settings specified in this file.
6
-
7
-# For more details on how to configure your build environment visit
8
-# http://www.gradle.org/docs/current/userguide/build_environment.html
9
-
10
-# Specifies the JVM arguments used for the daemon process.
11
-# The setting is particularly useful for tweaking memory settings.
12
-org.gradle.jvmargs=-Xmx1536m
13
-
14
-# When configured, Gradle will run in incubating parallel mode.
15
-# This option should only be used with decoupled projects. More details, visit
16
-# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17
-# org.gradle.parallel=true
18
-
19
-# AndroidX package structure to make it clearer which packages are bundled with the
20
-# Android operating system, and which are packaged with your app's APK
21
-# https://developer.android.com/topic/libraries/support-library/androidx-rn
22
-android.useAndroidX=true
23
-# Automatically convert third-party libraries to use AndroidX
24
-android.enableJetifier=true

+ 0
- 89
android/gradlew.bat Ver arquivo

@@ -1,89 +0,0 @@
1
-@rem
2
-@rem Copyright 2015 the original author or authors.
3
-@rem
4
-@rem Licensed under the Apache License, Version 2.0 (the "License");
5
-@rem you may not use this file except in compliance with the License.
6
-@rem You may obtain a copy of the License at
7
-@rem
8
-@rem      https://www.apache.org/licenses/LICENSE-2.0
9
-@rem
10
-@rem Unless required by applicable law or agreed to in writing, software
11
-@rem distributed under the License is distributed on an "AS IS" BASIS,
12
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
-@rem See the License for the specific language governing permissions and
14
-@rem limitations under the License.
15
-@rem
16
-
17
-@if "%DEBUG%" == "" @echo off
18
-@rem ##########################################################################
19
-@rem
20
-@rem  Gradle startup script for Windows
21
-@rem
22
-@rem ##########################################################################
23
-
24
-@rem Set local scope for the variables with windows NT shell
25
-if "%OS%"=="Windows_NT" setlocal
26
-
27
-set DIRNAME=%~dp0
28
-if "%DIRNAME%" == "" set DIRNAME=.
29
-set APP_BASE_NAME=%~n0
30
-set APP_HOME=%DIRNAME%
31
-
32
-@rem Resolve any "." and ".." in APP_HOME to make it shorter.
33
-for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
34
-
35
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
36
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
37
-
38
-@rem Find java.exe
39
-if defined JAVA_HOME goto findJavaFromJavaHome
40
-
41
-set JAVA_EXE=java.exe
42
-%JAVA_EXE% -version >NUL 2>&1
43
-if "%ERRORLEVEL%" == "0" goto execute
44
-
45
-echo.
46
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
47
-echo.
48
-echo Please set the JAVA_HOME variable in your environment to match the
49
-echo location of your Java installation.
50
-
51
-goto fail
52
-
53
-:findJavaFromJavaHome
54
-set JAVA_HOME=%JAVA_HOME:"=%
55
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
56
-
57
-if exist "%JAVA_EXE%" goto execute
58
-
59
-echo.
60
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
61
-echo.
62
-echo Please set the JAVA_HOME variable in your environment to match the
63
-echo location of your Java installation.
64
-
65
-goto fail
66
-
67
-:execute
68
-@rem Setup the command line
69
-
70
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
71
-
72
-
73
-@rem Execute Gradle
74
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
75
-
76
-:end
77
-@rem End local scope for the variables with windows NT shell
78
-if "%ERRORLEVEL%"=="0" goto mainEnd
79
-
80
-:fail
81
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
82
-rem the _cmd.exe /c_ return code!
83
-if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
84
-exit /b 1
85
-
86
-:mainEnd
87
-if "%OS%"=="Windows_NT" endlocal
88
-
89
-:omega

+ 17
- 0
build/asset-manifest.json Ver arquivo

@@ -1,8 +1,14 @@
1 1
 {
2 2
   "files": {
3
+<<<<<<< HEAD
3 4
     "main.css": "/static/css/main.30c9193e.css",
4 5
     "main.js": "/static/js/main.a0b94822.js",
5 6
     "static/js/738.aba3ba7d.chunk.js": "/static/js/738.aba3ba7d.chunk.js",
7
+=======
8
+    "main.css": "/static/css/main.3f863b78.css",
9
+    "main.js": "/static/js/main.05353c61.js",
10
+    "static/js/738.23d458d2.chunk.js": "/static/js/738.23d458d2.chunk.js",
11
+>>>>>>> JantonyBranch
6 12
     "static/js/372.1940d375.chunk.js": "/static/js/372.1940d375.chunk.js",
7 13
     "static/js/856.c55f21fe.chunk.js": "/static/js/856.c55f21fe.chunk.js",
8 14
     "static/js/851.7ada53df.chunk.js": "/static/js/851.7ada53df.chunk.js",
@@ -13,9 +19,15 @@
13 19
     "static/js/377.31684c30.chunk.js": "/static/js/377.31684c30.chunk.js",
14 20
     "service-worker.js": "/service-worker.js",
15 21
     "index.html": "/index.html",
22
+<<<<<<< HEAD
16 23
     "main.30c9193e.css.map": "/static/css/main.30c9193e.css.map",
17 24
     "main.a0b94822.js.map": "/static/js/main.a0b94822.js.map",
18 25
     "738.aba3ba7d.chunk.js.map": "/static/js/738.aba3ba7d.chunk.js.map",
26
+=======
27
+    "main.3f863b78.css.map": "/static/css/main.3f863b78.css.map",
28
+    "main.05353c61.js.map": "/static/js/main.05353c61.js.map",
29
+    "738.23d458d2.chunk.js.map": "/static/js/738.23d458d2.chunk.js.map",
30
+>>>>>>> JantonyBranch
19 31
     "372.1940d375.chunk.js.map": "/static/js/372.1940d375.chunk.js.map",
20 32
     "856.c55f21fe.chunk.js.map": "/static/js/856.c55f21fe.chunk.js.map",
21 33
     "851.7ada53df.chunk.js.map": "/static/js/851.7ada53df.chunk.js.map",
@@ -26,7 +38,12 @@
26 38
     "377.31684c30.chunk.js.map": "/static/js/377.31684c30.chunk.js.map"
27 39
   },
28 40
   "entrypoints": [
41
+<<<<<<< HEAD
29 42
     "static/css/main.30c9193e.css",
30 43
     "static/js/main.a0b94822.js"
44
+=======
45
+    "static/css/main.3f863b78.css",
46
+    "static/js/main.05353c61.js"
47
+>>>>>>> JantonyBranch
31 48
   ]
32 49
 }

+ 5
- 1
build/index.html Ver arquivo

@@ -1 +1,5 @@
1
-<!doctype html><html lang="en"><head><meta charset="utf-8"/><title>Ionic App</title><base href="/"/><meta name="color-scheme" content="light dark"/><meta name="viewport" content="viewport-fit=cover,width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/><meta name="format-detection" content="telephone=no"/><meta name="msapplication-tap-highlight" content="no"/><link rel="manifest" href="/manifest.json"/><link rel="shortcut icon" type="image/png" href="/assets/icon/favicon.png"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Ionic App"/><meta name="apple-mobile-web-app-status-bar-style" content="black"/><script defer="defer" src="/static/js/main.a0b94822.js"></script><link href="/static/css/main.30c9193e.css" rel="stylesheet"></head><body><div id="root"></div></body></html>
1
+<<<<<<< HEAD
2
+<!doctype html><html lang="en"><head><meta charset="utf-8"/><title>Ionic App</title><base href="/"/><meta name="color-scheme" content="light dark"/><meta name="viewport" content="viewport-fit=cover,width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/><meta name="format-detection" content="telephone=no"/><meta name="msapplication-tap-highlight" content="no"/><link rel="manifest" href="/manifest.json"/><link rel="shortcut icon" type="image/png" href="/assets/icon/favicon.png"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Ionic App"/><meta name="apple-mobile-web-app-status-bar-style" content="black"/><script defer="defer" src="/static/js/main.a0b94822.js"></script><link href="/static/css/main.30c9193e.css" rel="stylesheet"></head><body><div id="root"></div></body></html>
3
+=======
4
+<!doctype html><html lang="en"><head><meta charset="utf-8"/><title>Ionic App</title><base href="/"/><meta name="color-scheme" content="light dark"/><meta name="viewport" content="viewport-fit=cover,width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/><meta name="format-detection" content="telephone=no"/><meta name="msapplication-tap-highlight" content="no"/><link rel="manifest" href="/manifest.json"/><link rel="shortcut icon" type="image/png" href="/assets/icon/favicon.png"/><meta name="apple-mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="Ionic App"/><meta name="apple-mobile-web-app-status-bar-style" content="black"/><script defer="defer" src="/static/js/main.05353c61.js"></script><link href="/static/css/main.3f863b78.css" rel="stylesheet"></head><body><div id="root"></div></body></html>
5
+>>>>>>> JantonyBranch

+ 4
- 0
build/service-worker.js
Diferenças do arquivo suprimidas por serem muito extensas
Ver arquivo


+ 39
- 0
src/pages/Flag.json Ver arquivo

@@ -0,0 +1,39 @@
1
+ [{"title" : "Amenazas",
2
+  "content" : ["Asustarla con amenazas de hacerle mal.",
3
+              "Amenazarla con dejarla, con el suicidio o con denunciarla falsamente a la autoridad.",
4
+              "Obligarla a retirar los cargos presentados contra él.",
5
+               "Obligarla a cometer actos ilegales."]},
6
+ {"title" : "Intimidación",
7
+  "content" : ["Provocándole miedo a través de sus miradas, acciones y gestos.",
8
+               "Destrozar objetos.",
9
+               "Intimidarla rompiéndole sus cosas, maltratando a los animales domésticos, mostrándole armas."]},
10
+  {"title" : "Abuso Emocional",
11
+   "content" : ["Hacerla sentir inferior.",
12
+                "Hacerla sentir mal.",
13
+                "Insultarle con nombres ofensivos.",
14
+                "Hacerla pensar que está loca.",
15
+                "Confundirla a propósito.",
16
+                "Humillarla.",
17
+                "Hacerla sentir culpable."]},
18
+  {"title": "Aislamiento",
19
+   "content" : ["Controlar lo que hace, a quién puede ver, con quién puede hablar, lo que puede leer y dónde va.",
20
+                "Limitarle su vida social utilizando los celos para justificar sus actos"]},
21
+  {"title" : "Desvalorizar, Negar, Culpar",
22
+   "content" : ["No tomar seriamente preocupación que ella tiene sobre el abuso.",
23
+                "Negar que uso hacerla sentir responsable de la conducta abusiva.",
24
+                "Decirle que ella lo provocó."]},
25
+  {"title" : "Manipulación de los Niño(a)s",
26
+   "content" : ["Hacerla sentir culpable por el comportamiento de los niño(a) como intermediarios y mantener así el control.",
27
+                "Usar las visitas con los niño(a)s para molestarla o amenazarla.",
28
+                "Amenazarla con quitarle los niño(a)s."]},
29
+  {"title" : "Abuso Económico",
30
+   "content" : ["No dejarla trabajar o impedirle que mantenga su empleo.",
31
+                "Obligarala a que le pida dinero.",
32
+                "Darle una mensualidad.",
33
+                "Quitarle el dinero.",
34
+                "No informarle acerca de los ingresos familiares o no permitirle disponer de los ingresos."]},
35
+  {"title" : "Privilegio Masculino",
36
+   "content": ["Tratarla como una sirvienta.",
37
+               "No dejarla tomar decisiones importantes.",
38
+               "Actuar como el rey de la casa.",
39
+               "Definir las partes del hombre y de la mujer."]}]

+ 50
- 266
src/pages/Flag.tsx Ver arquivo

@@ -1,22 +1,46 @@
1
-// Created by Cynthia 
2
-// Edited by Angel Romero 
1
+import {
2
+  IonAccordion,
3
+  IonAccordionGroup,
4
+  IonCard,
5
+  IonContent,
6
+  IonHeader,
7
+  IonItem,
8
+  IonLabel,
9
+  IonPage,
10
+  IonTitle,
11
+  IonToolbar} from '@ionic/react';
3 12
 
4
-import React, { useRef } from 'react';
5
-import { IonButton, IonButtons, IonCard, IonCol, IonContent, IonGrid, IonHeader, IonModal, IonPage, IonRow, IonTitle, IonToolbar } from '@ionic/react';
6 13
 import './styles/styles.css';
7 14
 
15
+// generate single accordion item given a title and points of info
16
+const AccordionItem = (title: string, content: string[]) => {
17
+  return (
18
+    <IonAccordion value={title}>
19
+      <IonItem slot="header" color="light">
20
+        <IonLabel class="ion-text-center">{title}</IonLabel>
21
+      </IonItem>
22
+      <div slot="content">
23
+        {
24
+          // generate each point in content
25
+          // We need to add some color to the cards, preferably white
26
+          content.map((text: string) =>{
27
+            return (
28
+              <IonCard>
29
+                <IonItem>
30
+                  <IonLabel text-wrap class="ion-text-center">{text}</IonLabel>
31
+                </IonItem>
32
+              </IonCard>
33
+            );
34
+          })
35
+        }
36
+      </div>
37
+    </IonAccordion>)
38
+}
8 39
 
9
-// Create all the modal elements for each card element on the flag screen
10 40
 const Flag: React.FC = () => {
11
-  const amenazas = useRef<HTMLIonModalElement>(null);
12
-  const intimidacion = useRef<HTMLIonModalElement>(null);
13
-  const abusoEmo = useRef<HTMLIonModalElement>(null);
14
-  const aislamiento = useRef<HTMLIonModalElement>(null);
15
-  const desvalorizar = useRef<HTMLIonModalElement>(null);
16
-  const manipulacion = useRef<HTMLIonModalElement>(null);
17
-  const abusoEco = useRef<HTMLIonModalElement>(null);
18
-  const privMasc = useRef<HTMLIonModalElement>(null);
19
-
41
+  // Load Flag.json which has format of Object[],
42
+  // where each object has a title and content field.
43
+  let content = require("./Flag.json")
20 44
   return (
21 45
     <IonPage>
22 46
       
@@ -26,261 +50,21 @@ const Flag: React.FC = () => {
26 50
           <IonTitle class="ion-text-center screen-titles">TPC ❤️</IonTitle>
27 51
         </IonToolbar>
28 52
       </IonHeader>
29
-
30 53
       <IonContent fullscreen>
31
-        <IonTitle class="ion-text-center screen-h2" color="light">Pendiente a...</IonTitle>
32
-
33
-        {/* Here goes the body containing the cards */}
34
-        <IonGrid>
35
-          <IonRow>
36
-            {/* Amenazas card */}
37
-            <IonCol>
38
-              <IonButton id="open-amenazas" color="light" expand="block">
39
-                Amenazas
40
-              </IonButton>
41
-              <IonModal ref={amenazas} trigger="open-amenazas">
42
-                <IonHeader>
43
-                  <IonToolbar>
44
-                    <IonTitle>Amenazas</IonTitle>
45
-                    <IonButtons slot="end">
46
-                      <IonButton color="light" onClick={() => amenazas.current?.dismiss()}>Cerrar</IonButton>
47
-                    </IonButtons>
48
-                  </IonToolbar>
49
-                </IonHeader>
50
-                <IonContent className="ion-padding">
51
-                  <IonCard color="light">
52
-                    <p>Asustarla con amenazas de hacerle mal.</p>
53
-                  </IonCard>
54
-                  <IonCard color="light">
55
-                    <p>Amenazarla con dejarla, con el suicidio o con denunciarla falsamente a la autoridad.</p>
56
-                  </IonCard>
57
-                  <IonCard color="light">
58
-                    <p>Obligarla a retirar los cargos presentados contra él.</p>
59
-                  </IonCard>
60
-                  <IonCard color="light">
61
-                    <p>Obligarla a cometer actos ilegales.</p>
62
-                  </IonCard>
63
-                </IonContent>
64
-              </IonModal>
65
-            </IonCol>
66
-            {/* Intimidacion card */}
67
-            <IonCol>
68
-              <IonButton id="open-intimidacion" color="light" expand="block" >
69
-                Intimidación
70
-              </IonButton>
71
-              <IonModal ref={intimidacion} trigger="open-intimidacion">
72
-                <IonHeader>
73
-                  <IonToolbar>
74
-                    <IonTitle>Intimidación</IonTitle>
75
-                    <IonButtons slot="end">
76
-                      <IonButton color="light" onClick={() => intimidacion.current?.dismiss()}>Cerrar</IonButton>
77
-                    </IonButtons>
78
-                  </IonToolbar>
79
-                </IonHeader>
80
-                <IonContent className="ion-padding">
81
-                  <IonCard color="light">
82
-                    <p>Provocándole miedo a través de sus miradas, acciones y gestos.</p>
83
-                  </IonCard>
84
-                  <IonCard color="light">
85
-                    <p>Destrozar objetos.</p>
86
-                  </IonCard>
87
-                  <IonCard color="light">
88
-                    <p>Intimidarla rompiéndole sus cosas, maltratando a los animales domésticos, mostrándole armas.</p>
89
-                  </IonCard>
90
-                </IonContent>
91
-              </IonModal>
92
-            </IonCol>
93
-          </IonRow>
94
-          <IonRow>
95
-            {/* Abuso emocional card */}
96
-            <IonCol>
97
-              <IonButton id="open-abuso-emocional" color="light" expand="block">
98
-                Abuso Emocional
99
-              </IonButton>
100
-              <IonModal ref={abusoEmo} trigger="open-abuso-emocional">
101
-                <IonHeader>
102
-                  <IonToolbar>
103
-                    <IonTitle>Abuso Emocional</IonTitle>
104
-                    <IonButtons slot="end">
105
-                      <IonButton color="light" onClick={() => abusoEmo.current?.dismiss()}>Cerrar</IonButton>
106
-                    </IonButtons>
107
-                  </IonToolbar>
108
-                </IonHeader>
109
-                <IonContent className="ion-padding">
110
-                  <IonCard color="light">
111
-                    <p>Hacerla sentir inferior.</p>
112
-                  </IonCard>
113
-                  <IonCard color="light">
114
-                    <p>Hacerla sentir mal.</p>
115
-                  </IonCard>
116
-                  <IonCard color="light">
117
-                    <p>Insultarle con nombres ofensivos.</p>
118
-                  </IonCard>
119
-                  <IonCard color="light">
120
-                    <p>Hacerla pensar que está loca.</p>
121
-                  </IonCard>
122
-                  <IonCard color="light">
123
-                    <p>Confundirla a propósito.</p>
124
-                  </IonCard>
125
-                  <IonCard color="light">
126
-                    <p>Humillarla.</p>
127
-                  </IonCard>
128
-                  <IonCard color="light">
129
-                    <p>Hacerla sentir culpable.</p>
130
-                  </IonCard>
131
-                </IonContent>
132
-              </IonModal>
133
-            </IonCol>
134
-            {/* Aislamiento card */}
135
-            <IonCol>
136
-              <IonButton id="open-aislamiento" color="light" expand="block">
137
-                Aislamiento
138
-              </IonButton>
139
-              <IonModal ref={aislamiento} trigger="open-aislamiento">
140
-                <IonHeader>
141
-                  <IonToolbar>
142
-                    <IonTitle>Aislamiento</IonTitle>
143
-                    <IonButtons slot="end">
144
-                      <IonButton color="light" onClick={() => aislamiento.current?.dismiss()}>Cerrar</IonButton>
145
-                    </IonButtons>
146
-                  </IonToolbar>
147
-                </IonHeader>
148
-                <IonContent className="ion-padding">
149
-                  <IonCard color="light">
150
-                    <p>Controlar lo que hace, a quién puede ver, con quién puede hablar, lo que puede leer y dónde va.</p>
151
-                  </IonCard>
152
-                  <IonCard color="light">
153
-                    <p>Limitarle su vida social utilizando los celos para justificar sus actos</p>
154
-                  </IonCard>
155
-                </IonContent>
156
-              </IonModal>
157
-            </IonCol>
158
-          </IonRow>
159
-          <IonRow>
160
-            {/* Desvalorizar card */}
161
-            <IonCol>
162
-              <IonButton id="open-des-neg-cul" color="light" expand="block">
163
-                Desvalorizar, Negar, Culpar
164
-              </IonButton>
165
-              <IonModal ref={desvalorizar} trigger="open-des-neg-cul">
166
-                <IonHeader>
167
-                  <IonToolbar>
168
-                    <IonTitle>Desvalorizar, Negar, Culpar</IonTitle>
169
-                    <IonButtons slot="end">
170
-                      <IonButton color="light" onClick={() => desvalorizar.current?.dismiss()}>Cerrar</IonButton>
171
-                    </IonButtons>
172
-                  </IonToolbar>
173
-                </IonHeader>
174
-                <IonContent className="ion-padding">
175
-                  <IonCard color="light">
176
-                    <p>No tomar seriamente preocupación que ella tiene sobre el abuso.</p>
177
-                  </IonCard>
178
-                  <IonCard color="light">
179
-                    <p>Negar que uso hacerla sentir responsable de la conducta abusiva.</p>
180
-                  </IonCard>
181
-                  <IonCard color="light">
182
-                    <p>Decirle que ella lo provocó.</p>
183
-                  </IonCard>
184
-                </IonContent>
185
-              </IonModal>
186
-            </IonCol>
187
-            {/* Manipulacion card */}
188
-            <IonCol>
189
-              <IonButton id="open-manipulacion" color="light" expand="block">
190
-                Manipulación de los Niño(a)s
191
-              </IonButton>
192
-              <IonModal ref={manipulacion} trigger="open-manipulacion">
193
-                <IonHeader>
194
-                  <IonToolbar>
195
-                    <IonTitle>Manipulación de los Niño(a)s</IonTitle>
196
-                    <IonButtons slot="end">
197
-                      <IonButton color="light" onClick={() => manipulacion.current?.dismiss()}>Cerrar</IonButton>
198
-                    </IonButtons>
199
-                  </IonToolbar>
200
-                </IonHeader>
201
-                <IonContent className="ion-padding">
202
-                  <IonCard color="light">
203
-                    <p>Hacerla sentir culpable por el comportamiento de los niño(a) como intermediarios y mantener así el control.</p>
204
-                  </IonCard>
205
-                  <IonCard color="light">
206
-                    <p>Usar las visitas con los niño(a)s para molestarla o amenazarla.</p>
207
-                  </IonCard>
208
-                  <IonCard color="light">
209
-                    <p>Amenazarla con quitarle los niño(a)s.</p>
210
-                  </IonCard>
211
-                </IonContent>
212
-              </IonModal>
213
-            </IonCol>
214
-          </IonRow>
215
-          <IonRow>
216
-            {/* Abuso economico card */}
217
-            <IonCol>
218
-              <IonButton id="open-abuso-economico" color="light" expand="block">
219
-                Abuso Económico
220
-              </IonButton>
221
-              <IonModal ref={abusoEco} trigger="open-abuso-economico">
222
-                <IonHeader>
223
-                  <IonToolbar>
224
-                    <IonTitle>Abuso Económico</IonTitle>
225
-                    <IonButtons slot="end">
226
-                      <IonButton color="light" onClick={() => abusoEco.current?.dismiss()}>Cerrar</IonButton>
227
-                    </IonButtons>
228
-                  </IonToolbar>
229
-                </IonHeader>
230
-                <IonContent className="ion-padding">
231
-                  <IonCard color="light">
232
-                    <p>No dejarla trabajar o impedirle que mantenga su empleo.</p>
233
-                  </IonCard>
234
-                  <IonCard color="light">
235
-                    <p>Obligarala a que le pida dinero.</p>
236
-                  </IonCard>
237
-                  <IonCard color="light">
238
-                    <p>Darle una mensualidad.</p>
239
-                  </IonCard>
240
-                  <IonCard color="light">
241
-                    <p>Quitarle el dinero.</p>
242
-                  </IonCard>
243
-                  <IonCard color="light">
244
-                    <p>No informarle acerca de los ingresos familiares o no permitirle disponer de los ingresos.</p>
245
-                  </IonCard>
246
-                </IonContent>
247
-              </IonModal>
248
-            </IonCol>
249
-            {/* Privilegio masculino card */}
250
-            <IonCol>
251
-              <IonButton id="open-priv-masculino" color="light" expand="block">
252
-                Privilegio Masculino
253
-              </IonButton>
254
-              <IonModal ref={privMasc} trigger="open-priv-masculino">
255
-                <IonHeader>
256
-                  <IonToolbar>
257
-                    <IonTitle>Privilegio Masculino</IonTitle>
258
-                    <IonButtons slot="end">
259
-                      <IonButton color="light" onClick={() => privMasc.current?.dismiss()}>Cerrar</IonButton>
260
-                    </IonButtons>
261
-                  </IonToolbar>
262
-                </IonHeader>
263
-                <IonContent className="ion-padding">
264
-                  <IonCard color="light">
265
-                    <p>Tratarla como una sirvienta.</p>
266
-                  </IonCard>
267
-                  <IonCard color="light">
268
-                    <p>No dejarla tomar decisiones importantes.</p>
269
-                  </IonCard>
270
-                  <IonCard color="light">
271
-                    <p>Actuar como el rey de la casa.</p>
272
-                  </IonCard>
273
-                  <IonCard color="light">
274
-                    <p>Definir las partes del hombre y de la mujer.</p>
275
-                  </IonCard>
276
-                </IonContent>
277
-              </IonModal>
278
-            </IonCol>
279
-          </IonRow>
280
-        </IonGrid>
54
+        <IonHeader collapse="condense">
55
+          <IonToolbar>
56
+            <IonTitle size="large">Flag</IonTitle>
57
+          </IonToolbar>
58
+        </IonHeader>
59
+        <IonAccordionGroup multiple={true}>
60
+          {
61
+            // generate an accordion item for each object in Flag.json
62
+            content.map((obj: any) => AccordionItem(obj.title, obj.content))
63
+          }
64
+        </IonAccordionGroup>
281 65
       </IonContent>
282 66
     </IonPage>
283 67
   );
284
-};
68
+}
285 69
 
286 70
 export default Flag;

+ 10
- 6
src/pages/Home.tsx Ver arquivo

@@ -44,22 +44,26 @@ const Home: React.FC = () => {
44 44
           <IonCardHeader class="card-header">
45 45
             <IonCardTitle class="card-date">
46 46
               {date}
47
-              <IonButton fill="clear"> <IonIcon slot="icon-only" icon={arrowDownCircle} class="moti-download"></IonIcon></IonButton> 
47
+              <IonButton fill="clear"> 
48
+                <IonIcon slot="icon-only" icon={arrowDownCircle} class="moti-download"></IonIcon>
49
+              </IonButton> 
48 50
             </IonCardTitle>
49 51
           </IonCardHeader>
50
-          <IonImg class="moti-img" alt="Motivational messa ge" src={require("./images/frases_motivavionales/"+num+".png")}></IonImg>
52
+          <IonImg class="moti-img" alt="Motivational message" src={require("./images/frases_motivavionales/"+num+".png")}></IonImg>
51 53
         </IonCard>
52 54
 
53
-        {/* Card 2
55
+        {/* Card 2 */}
54 56
         <IonCard class="moti-card">
55 57
           <IonCardHeader class="card-header">
56 58
             <IonCardTitle class="card-date">
57 59
               {date}
58
-              <IonButton fill="clear"> <IonIcon slot="icon-only" icon={arrowDownCircle} class="moti-download"></IonIcon></IonButton>
60
+              <IonButton fill="clear">
61
+                <IonIcon slot="icon-only" icon={arrowDownCircle} class="moti-download"></IonIcon>
62
+              </IonButton>
59 63
             </IonCardTitle>
60 64
           </IonCardHeader>
61
-          <IonImg class="moti-img" alt="Motivational messa ge" src={require("./images/frases_motivavionales/2.png")}></IonImg> 
62
-        </IonCard> */}
65
+          <IonImg class="moti-img" alt="Motivational message" src={require("./images/frases_motivavionales/" + num + ".png")}></IonImg>
66
+        </IonCard>
63 67
       </IonContent>
64 68
     </IonPage>
65 69
   );

BIN
src/pages/images/frases_motivavionales/1 2.png Ver arquivo


BIN
src/pages/images/frases_motivavionales/2 2.png Ver arquivo


BIN
src/pages/images/frases_motivavionales/3 2.png Ver arquivo


BIN
src/pages/images/frases_motivavionales/4 2.png Ver arquivo


BIN
src/pages/images/frases_motivavionales/5 2.png Ver arquivo


BIN
src/pages/images/frases_motivavionales/6 2.png Ver arquivo


BIN
src/pages/images/frases_motivavionales/7 2.png Ver arquivo


BIN
src/pages/images/frases_motivavionales/8 2.png Ver arquivo


BIN
src/pages/images/frases_motivavionales/9 2.png Ver arquivo


+ 5
- 0
src/pages/styles/styles.css Ver arquivo

@@ -53,5 +53,10 @@
53 53
     align-items: center;
54 54
 }
55 55
 
56
+/* Styles for the flag screen */
57
+
58
+.flag-item {
59
+    background-color: #fff !important;
60
+}
56 61
 
57 62
 

+ 1
- 1
src/theme/variables.css Ver arquivo

@@ -28,7 +28,7 @@ http://ionicframework.com/docs/theming/ */
28 28
 	--ion-color-tertiary-tint: #ff941a;
29 29
 }
30 30
 
31
-@media (prefers-color-scheme: light) {
31
+@media (prefers-color-scheme: dark) {
32 32
 
33 33
   body {
34 34
       /* Background-color */