diff --git a/.env b/.env index 01caddd..b746ff8 100644 --- a/.env +++ b/.env @@ -22,3 +22,10 @@ DATABASE_URL="file:./dev.db" N8N_WEBHOOK_URL="https://flows2.carpa.com/webhook/news-summary" N8N_API_KEY="sk_live_JwjpTdZrLVvijCKuWylWZbUuhBm6zPDH" + +# Cloudflare Turnstile — public key (visible in frontend) +TURNSTILE_SITE_KEY=0x4AAAAAAD9IYWC6HPflpneO + +# Cloudflare Turnstile — secret key (server-side, keep safe!) +# In production, set this as a Gitea Actions secret named TURNSTILE_SECRET_KEY +TURNSTILE_SECRET_KEY=0x4AAAAAAD9IYXASjQSpmo2iS902SDoXnT4 diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..86e3c4d --- /dev/null +++ b/.env.example @@ -0,0 +1,6 @@ +# Cloudflare Turnstile — public key (visible in frontend) +TURNSTILE_SITE_KEY=0x4AA... + +# Cloudflare Turnstile — secret key (server-side, keep safe!) +# In production, set this as a Gitea Actions secret named TURNSTILE_SECRET_KEY +TURNSTILE_SECRET_KEY=0x4AA... diff --git a/.gitea/workflows/deploy.yaml b/.gitea/workflows/deploy.yaml index 2620d9e..0dcdf21 100644 --- a/.gitea/workflows/deploy.yaml +++ b/.gitea/workflows/deploy.yaml @@ -1,14 +1,59 @@ -name: Centro del Reino de Paz y Justicia +name: Deploy cdrdpyj -on: [push] +on: + push: + branches: [staging, production] jobs: - explore-gitea-actions: + deploy: runs-on: ubuntu-latest steps: - - name: Check out repository code - uses: actions/checkout@v4 - - name: List files in the repository + - uses: actions/checkout@v4 + + - name: Set target dir & PM2 env run: | - ls ${{ gitea.workspace }} - - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." + if [ "${{ gitea.ref_name }}" = "production" ]; then + echo "TARGET_DIR=/var/www/node/cdrdpyj" >> $GITHUB_ENV + echo "PM2_ENV=production" >> $GITHUB_ENV + else + echo "TARGET_DIR=/var/www/node/dev.cdrdjyp" >> $GITHUB_ENV + echo "PM2_ENV=staging" >> $GITHUB_ENV + fi + + - uses: pnpm/action-setup@v4 + with: + version: 11 + + - uses: actions/setup-node@v4 + with: + node-version: '22' + + - run: pnpm install --frozen-lockfile + - run: pnpm run build + + - name: Copy build to VPS + uses: appleboy/scp-action@master + with: + host: ${{ secrets.VPS_HOST }} + username: ${{ secrets.VPS_USER }} + key: ${{ secrets.VPS_SSH_KEY }} + source: "dist/*,package.json,pnpm-lock.yaml,pnpm-workspace.yaml,ecosystem.config.cjs" + target: "${{ env.TARGET_DIR }}" + + - name: Restart PM2 + uses: appleboy/ssh-action@master + with: + host: ${{ secrets.VPS_HOST }} + username: ${{ secrets.VPS_USER }} + key: ${{ secrets.VPS_SSH_KEY }} + script: | + set -e + export NVM_DIR="$HOME/.nvm" + [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" + npm install -g pnpm@11 2>&1 + cd ${{ env.TARGET_DIR }} + pnpm install --prod 2>&1 + sed -i "s|TURNSTILE_SITE_KEY: \"\"|TURNSTILE_SITE_KEY: \"${{ secrets.TURNSTILE_SITE_KEY }}\"|" ecosystem.config.cjs + sed -i "s|TURNSTILE_SECRET_KEY: \"\"|TURNSTILE_SECRET_KEY: \"${{ secrets.TURNSTILE_SECRET_KEY }}\"|" ecosystem.config.cjs + pm2 reload ecosystem.config.cjs --env ${{ env.PM2_ENV }} --update-env || \ + pm2 start ecosystem.config.cjs --env ${{ env.PM2_ENV }} --update-env diff --git a/.gitignore b/.gitignore index 6629b0d..b6515b7 100644 --- a/.gitignore +++ b/.gitignore @@ -27,4 +27,5 @@ prisma/*.db prisma/dev.db # opencode - agentes y scripts locales (no subir a producción) -opencode/ \ No newline at end of file +opencode/ +.opencode/ diff --git a/README.md b/README.md index 024e254..8551182 100644 --- a/README.md +++ b/README.md @@ -44,4 +44,4 @@ Feel free to check [our documentation](https://docs.astro.build) or jump into ou Adding gitea/workflows/deploy.yaml to test github ci/cd runner -Testing runner \ No newline at end of file +Testing runner change spmeting v12 diff --git a/ecosystem.config.cjs b/ecosystem.config.cjs new file mode 100644 index 0000000..ef79c19 --- /dev/null +++ b/ecosystem.config.cjs @@ -0,0 +1,18 @@ +module.exports = { + apps: [{ + name: "cdrdpyj", + script: "dist/server/entry.mjs", + env: { + NODE_ENV: "staging", + PORT: 3310, + TURNSTILE_SITE_KEY: "", + TURNSTILE_SECRET_KEY: "", + }, + env_production: { + NODE_ENV: "production", + PORT: 3310, + TURNSTILE_SITE_KEY: "", + TURNSTILE_SECRET_KEY: "", + } + }] +}; diff --git a/package.json b/package.json index c7d12de..6432ac4 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "", + "name": "cdrdpyj", "type": "module", "version": "0.0.1", "scripts": { diff --git a/public/forms/formulario-inscripcion.json b/public/forms/formulario-inscripcion.json new file mode 100644 index 0000000..a8602fe --- /dev/null +++ b/public/forms/formulario-inscripcion.json @@ -0,0 +1,248 @@ +{ + "action": "/api/formulario/send", + "submit_label": "form.submit", + "steps": [ + { + "label": "form.step1_reglamento", + "fields": [ + { + "key": "aceptacion_reglamento", + "label": "form.aceptacion_reglamento", + "type": "checkbox", + "required": true, + "options": [ + { "value": "leido_acepto", "label": "form.aceptacion.leido", "required": true }, + { "value": "codigo_etica", "label": "form.aceptacion.codigo_etica", "required": true }, + { "value": "datos_personales", "label": "form.aceptacion.datos", "required": true }, + { "value": "participacion_voluntaria", "label": "form.aceptacion.voluntaria", "required": true }, + { "value": "informacion_verdadera", "label": "form.aceptacion.verdadera", "required": true }, + { "value": "firma_electronica_validez", "label": "form.aceptacion.firma_validez", "required": true } + ] + } + ] + }, + { + "label": "form.step2", + "column": 2, + "fields": [ + { "key": "nombre", "label": "form.nombre", "type": "text", "required": true }, + { "key": "segundo_nombre", "label": "form.segundo_nombre", "type": "text" }, + { "key": "apellido", "label": "form.apellido", "type": "text", "required": true }, + { "key": "documentos", "label": "form.documentos", "type": "phone", "required": true }, + { "key": "correo", "label": "form.correo", "type": "email", "required": true, "colspan": 2 }, + { "key": "reglamento_firma", "label": "form.reglamento_firma", "type": "text", "required": true, "colspan": 2, "placeholder": "form.reglamento_firma_placeholder" }, + { "key": "fecha_nacimiento", "label": "form.fecha_nacimiento", "type": "date", "required": true }, + { "key": "nacionalidad", "label": "form.nacionalidad", "type": "autocomplete", "required": true, "source": "/forms/paises.json" }, + { + "key": "sexo", + "label": "form.sexo", + "type": "radio", + "colspan": 2, + "required": true, + "options": [ + { "value": "M", "label": "form.sexo.m" }, + { "value": "F", "label": "form.sexo.f" } + ] + }, + { "key": "direccion_completa", "label": "form.direccion", "type": "text", "required": true, "colspan": 2 }, + { "key": "ciudad", "label": "form.ciudad", "type": "text", "required": true }, + { "key": "estado", "label": "form.estado", "type": "text" }, + { "key": "pais", "label": "form.pais", "type": "select", "required": true, "source": "/forms/paises.json" }, + { "key": "postal", "label": "form.codigo_postal", "type": "text", "required": true }, + { "key": "telefono", "label": "form.mobile", "type": "phone_country", "required": true, "source": "/forms/paises.json" }, + { "key": "whatsapp", "label": "form.whatsapp", "type": "phone_country", "source": "/forms/paises.json" } + ] + }, + { + "label": "form.step3", + "column": 2, + "fields": [ + { "key": "profesion", "label": "form.profesion", "type": "text", "required": true }, + { "key": "lugar_trabajo_actual", "label": "form.lugar_trabajo_actual", "type": "text", "required": true }, + { "key": "nivel_academico", "label": "form.nivel_academico", "type": "text", "required": true, "colspan": 2 }, + { + "key": "idioma", + "label": "form.idioma", + "type": "checkbox", + "required": true, + "colspan": 2, + "levels": { + "options": [ + { "value": "Basico", "label": "form.nivel.basico" }, + { "value": "Intermedio", "label": "form.nivel.intermedio" }, + { "value": "Avanzado", "label": "form.nivel.avanzado" } + ] + }, + "options": [ + { "value": "Espanol", "label": "form.idioma.esp" }, + { "value": "Ingles", "label": "form.idioma.ing" }, + { "value": "Hebreo", "label": "form.idioma.heb" }, + { "value": "Portugues", "label": "form.idioma.port" }, + { "value": "Frances", "label": "form.idioma.franc" }, + { "value": "Otro", "label": "form.idioma.otro" } + ] + }, + { "key": "idioma_otro", "label": "form.idioma_otro", "type": "text", "required": false, "colspan": 2, "showWhen": { "field": "idioma", "value": "Otro" } }, + { "key": "voluntariado_anterior", "label": "form.voluntariado_anterior", "type": "radio", "required": true, "colspan": 2, "options": + [ + { "value": "si", "label": "form.voluntariado_anterior.si" }, + { "value": "no", "label": "form.voluntariado_anterior.no" } + ] + }, + { "key": "caso_si", "label": "form.caso_si", "type": "textarea", "required": false, "colspan": 2, "showWhen": { "field": "voluntariado_anterior", "value": "si" } } + ] + }, + { + "label": "form.step4", + "fields": [ + { + "key": "areas_colaborar", + "label": "form.areas_colaborar", + "type": "checkbox", + "required": true, + "options": [ + { "value": "Ayuda Humanitaria", "label": "form.areas.ayuda_humanitaria" }, + { "value": "Educacion", "label": "form.areas.educacion" }, + { "value": "Desarrollo Comunitario", "label": "form.areas.desarrollo_comunitario" }, + { "value": "Liderazgo", "label": "form.areas.liderazgo" }, + { "value": "Logistica", "label": "form.areas.logistica" }, + { "value": "Organizacion de Eventos", "label": "form.areas.organizacion_eventos" }, + { "value": "Comunicacion Institucional", "label": "form.areas.comunicacion_institucional" }, + { "value": "Fotografia y Medios", "label": "form.areas.fotografia_medios" }, + { "value": "Recaudacion de Fondos", "label": "form.areas.recaudacion_fondos" }, + { "value": "Gestion de Proyectos", "label": "form.areas.gestion_proyectos" }, + { "value": "Traduccion e Interpretacion", "label": "form.areas.traduccion_interpretacion" }, + { "value": "Asesoria Juridica", "label": "form.areas.asesoria_juridica" }, + { "value": "Servicios Medicos", "label": "form.areas.servicios_medicos" }, + { "value": "Diplomacia Publica", "label": "form.areas.diplomacia_publica" }, + { "value": "Administracion", "label": "form.areas.administracion" }, + { "value": "Tecnologia e Innovacion", "label": "form.areas.tecnologia_innovacion" }, + { "value": "Otra", "label": "form.areas.otra" } + ] + }, + { "key": "areas_otra", "label": "form.areas_otra", "type": "text", "required": false, "showWhen": { "field": "areas_colaborar", "value": "Otra" } } + ] + }, + { + "label": "form.step5", + "fields": [ + { + "key": "dias_disponibles", + "label": "form.dias_disponibles", + "type": "checkbox", + "required": true, + "options": [ + { "value": "Lunes", "label": "form.dias.lunes" }, + { "value": "Martes", "label": "form.dias.martes" }, + { "value": "Miercoles", "label": "form.dias.miercoles" }, + { "value": "Jueves", "label": "form.dias.jueves" }, + { "value": "Viernes", "label": "form.dias.viernes" }, + { "value": "Sabado", "label": "form.dias.sabado" }, + { "value": "Domingo", "label": "form.dias.domingo" } + ] + }, + { + "key": "horario_preferido", + "label": "form.horario_preferido", + "type": "checkbox", + "required": true, + "options": [ + { "value": "Manana", "label": "form.horario.manana" }, + { "value": "Tarde", "label": "form.horario.tarde" }, + { "value": "Noche", "label": "form.horario.noche" }, + { "value": "Segun necesidades", "label": "form.horario.segun" } + ] + }, + { + "key": "fuera_ciudad", + "label": "form.fuera_ciudad", + "type": "radio", + "required": true, + "options": [ + { "value": "si", "label": "form.si" }, + { "value": "no", "label": "form.no" } + ] + }, + { + "key": "misiones_internacionales", + "label": "form.misiones_internacionales", + "type": "radio", + "required": true, + "options": [ + { "value": "si", "label": "form.si" }, + { "value": "no", "label": "form.no" } + ] + } + ] + }, + { + "label": "form.step6", + "fields": [ + { + "key": "condicion_medica", + "label": "form.condicion_medica", + "type": "radio", + "required": true, + "options": [ + { "value": "si", "label": "form.si" }, + { "value": "no", "label": "form.no" } + ] + }, + { + "key": "condicion_medica_cual", + "label": "form.condicion_medica_cual", + "type": "textarea", + "required": true, + "showWhen": { "field": "condicion_medica", "value": "si" } + }, + { + "key": "alergias", + "label": "form.alergias", + "type": "textarea", + "required": false + }, + { + "key": "medicamentos", + "label": "form.medicamentos", + "type": "textarea", + "required": false + } + ] + }, + { + "label": "form.step7", + "fields": [ + { "key": "emergencia_nombre", "label": "form.emergencia_nombre", "type": "text", "required": true }, + { "key": "emergencia_parentesco", "label": "form.emergencia_parentesco", "type": "text", "required": true }, + { "key": "emergencia_telefono", "label": "form.emergencia_telefono", "type": "phone", "required": true }, + { "key": "emergencia_correo", "label": "form.emergencia_correo", "type": "email", "required": false } + ] + }, + { + "label": "form.step8", + "column": 2, + "fields": [ + { "key": "confirmar_nombre", "label": "form.confirmar_nombre", "type": "text", "readonly": true, "valueFrom": "nombre_completo" }, + { "key": "confirmar_firma", "label": "form.confirmar_firma", "type": "text", "readonly": true, "valueFrom": "reglamento_firma" }, + { + "key": "declaracion_voluntario", + "label": "form.declaracion_voluntario", + "type": "checkbox", + "required": true, + "colspan": 2, + "options": [ + { "value": "informacion_verdadera", "label": "form.declaracion.verdadera", "required": true }, + { "value": "acepto_reglamento", "label": "form.declaracion.acepto_reglamento", "required": true }, + { "value": "compromiso_etica", "label": "form.declaracion.compromiso_etica", "required": true }, + { "value": "autorizo_datos", "label": "form.declaracion.autorizo_datos", "required": true }, + { "value": "confidencialidad", "label": "form.declaracion.confidencialidad", "required": true }, + { "value": "participacion_voluntaria", "label": "form.declaracion.voluntaria", "required": true } + ] + }, + { "key": "confirmacion", "label": "form.confirmacion", "type": "checkbox", "colspan": 2, "required": true, "options": [ + { "value": "confirmado", "label": "form.confirmacion_label", "required": true } + ] } + ] + } + ] +} diff --git a/public/forms/paises.json b/public/forms/paises.json new file mode 100644 index 0000000..a2a9e86 --- /dev/null +++ b/public/forms/paises.json @@ -0,0 +1,1166 @@ +[ + { + "label": "Afganistán", + "value": "Afganistán", + "dial_code": "+93", + "flag": "🇦🇫" + }, + { + "label": "Albania", + "value": "Albania", + "dial_code": "+355", + "flag": "🇦🇱" + }, + { + "label": "Alemania", + "value": "Alemania", + "dial_code": "+49", + "flag": "🇩🇪" + }, + { + "label": "Andorra", + "value": "Andorra", + "dial_code": "+376", + "flag": "🇦🇩" + }, + { + "label": "Angola", + "value": "Angola", + "dial_code": "+244", + "flag": "🇦🇴" + }, + { + "label": "Antigua y Barbuda", + "value": "Antigua y Barbuda", + "dial_code": "+1", + "flag": "🇦🇬" + }, + { + "label": "Arabia Saudita", + "value": "Arabia Saudita", + "dial_code": "+966", + "flag": "🇸🇦" + }, + { + "label": "Argelia", + "value": "Argelia", + "dial_code": "+213", + "flag": "🇩🇿" + }, + { + "label": "Argentina", + "value": "Argentina", + "dial_code": "+54", + "flag": "🇦🇷" + }, + { + "label": "Armenia", + "value": "Armenia", + "dial_code": "+374", + "flag": "🇦🇲" + }, + { + "label": "Australia", + "value": "Australia", + "dial_code": "+61", + "flag": "🇦🇺" + }, + { + "label": "Austria", + "value": "Austria", + "dial_code": "+43", + "flag": "🇦🇹" + }, + { + "label": "Azerbaiyán", + "value": "Azerbaiyán", + "dial_code": "+994", + "flag": "🇦🇿" + }, + { + "label": "Bahamas", + "value": "Bahamas", + "dial_code": "+1", + "flag": "🇧🇸" + }, + { + "label": "Bangladés", + "value": "Bangladés", + "dial_code": "+880", + "flag": "🇧🇩" + }, + { + "label": "Barbados", + "value": "Barbados", + "dial_code": "+1", + "flag": "🇧🇧" + }, + { + "label": "Baréin", + "value": "Baréin", + "dial_code": "+973", + "flag": "🇧🇭" + }, + { + "label": "Bélgica", + "value": "Bélgica", + "dial_code": "+32", + "flag": "🇧🇪" + }, + { + "label": "Belice", + "value": "Belice", + "dial_code": "+501", + "flag": "🇧🇿" + }, + { + "label": "Benín", + "value": "Benín", + "dial_code": "+229", + "flag": "🇧🇯" + }, + { + "label": "Bielorrusia", + "value": "Bielorrusia", + "dial_code": "+375", + "flag": "🇧🇾" + }, + { + "label": "Birmania", + "value": "Birmania", + "dial_code": "+95", + "flag": "🇲🇲" + }, + { + "label": "Bolivia", + "value": "Bolivia", + "dial_code": "+591", + "flag": "🇧🇴" + }, + { + "label": "Bosnia y Herzegovina", + "value": "Bosnia y Herzegovina", + "dial_code": "+387", + "flag": "🇧🇦" + }, + { + "label": "Botsuana", + "value": "Botsuana", + "dial_code": "+267", + "flag": "🇧🇼" + }, + { + "label": "Brasil", + "value": "Brasil", + "dial_code": "+55", + "flag": "🇧🇷" + }, + { + "label": "Brunéi", + "value": "Brunéi", + "dial_code": "+673", + "flag": "🇧🇳" + }, + { + "label": "Bulgaria", + "value": "Bulgaria", + "dial_code": "+359", + "flag": "🇧🇬" + }, + { + "label": "Burkina Faso", + "value": "Burkina Faso", + "dial_code": "+226", + "flag": "🇧🇫" + }, + { + "label": "Burundi", + "value": "Burundi", + "dial_code": "+257", + "flag": "🇧🇮" + }, + { + "label": "Cabo Verde", + "value": "Cabo Verde", + "dial_code": "+238", + "flag": "🇨🇻" + }, + { + "label": "Camboya", + "value": "Camboya", + "dial_code": "+855", + "flag": "🇰🇭" + }, + { + "label": "Camerún", + "value": "Camerún", + "dial_code": "+237", + "flag": "🇨🇲" + }, + { + "label": "Canadá", + "value": "Canadá", + "dial_code": "+1", + "flag": "🇨🇦" + }, + { + "label": "Catar", + "value": "Catar", + "dial_code": "+974", + "flag": "🇶🇦" + }, + { + "label": "Chad", + "value": "Chad", + "dial_code": "+235", + "flag": "🇹🇩" + }, + { + "label": "Chile", + "value": "Chile", + "dial_code": "+56", + "flag": "🇨🇱" + }, + { + "label": "China", + "value": "China", + "dial_code": "+86", + "flag": "🇨🇳" + }, + { + "label": "Chipre", + "value": "Chipre", + "dial_code": "+357", + "flag": "🇨🇾" + }, + { + "label": "Colombia", + "value": "Colombia", + "dial_code": "+57", + "flag": "🇨🇴" + }, + { + "label": "Comoras", + "value": "Comoras", + "dial_code": "+269", + "flag": "🇰🇲" + }, + { + "label": "Congo", + "value": "Congo", + "dial_code": "+242", + "flag": "🇨🇬" + }, + { + "label": "Corea del Norte", + "value": "Corea del Norte", + "dial_code": "+850", + "flag": "🇰🇵" + }, + { + "label": "Corea del Sur", + "value": "Corea del Sur", + "dial_code": "+82", + "flag": "🇰🇷" + }, + { + "label": "Costa de Marfil", + "value": "Costa de Marfil", + "dial_code": "+225", + "flag": "🇨🇮" + }, + { + "label": "Costa Rica", + "value": "Costa Rica", + "dial_code": "+506", + "flag": "🇨🇷" + }, + { + "label": "Croacia", + "value": "Croacia", + "dial_code": "+385", + "flag": "🇭🇷" + }, + { + "label": "Cuba", + "value": "Cuba", + "dial_code": "+53", + "flag": "🇨🇺" + }, + { + "label": "Dinamarca", + "value": "Dinamarca", + "dial_code": "+45", + "flag": "🇩🇰" + }, + { + "label": "Dominica", + "value": "Dominica", + "dial_code": "+1", + "flag": "🇩🇲" + }, + { + "label": "Ecuador", + "value": "Ecuador", + "dial_code": "+593", + "flag": "🇪🇨" + }, + { + "label": "Egipto", + "value": "Egipto", + "dial_code": "+20", + "flag": "🇪🇬" + }, + { + "label": "El Salvador", + "value": "El Salvador", + "dial_code": "+503", + "flag": "🇸🇻" + }, + { + "label": "Emiratos Árabes Unidos", + "value": "Emiratos Árabes Unidos", + "dial_code": "+971", + "flag": "🇦🇪" + }, + { + "label": "Eritrea", + "value": "Eritrea", + "dial_code": "+291", + "flag": "🇪🇷" + }, + { + "label": "Eslovaquia", + "value": "Eslovaquia", + "dial_code": "+421", + "flag": "🇸🇰" + }, + { + "label": "Eslovenia", + "value": "Eslovenia", + "dial_code": "+386", + "flag": "🇸🇮" + }, + { + "label": "España", + "value": "España", + "dial_code": "+34", + "flag": "🇪🇸" + }, + { + "label": "Estados Unidos", + "value": "Estados Unidos", + "dial_code": "+1", + "flag": "🇺🇸" + }, + { + "label": "Puerto Rico", + "value": "Puerto Rico", + "dial_code": "+1", + "flag": "🇵🇷" + }, + { + "label": "Estonia", + "value": "Estonia", + "dial_code": "+372", + "flag": "🇪🇪" + }, + { + "label": "Etiopía", + "value": "Etiopía", + "dial_code": "+251", + "flag": "🇪🇹" + }, + { + "label": "Filipinas", + "value": "Filipinas", + "dial_code": "+63", + "flag": "🇵🇭" + }, + { + "label": "Finlandia", + "value": "Finlandia", + "dial_code": "+358", + "flag": "🇫🇮" + }, + { + "label": "Fiyi", + "value": "Fiyi", + "dial_code": "+679", + "flag": "🇫🇯" + }, + { + "label": "Francia", + "value": "Francia", + "dial_code": "+33", + "flag": "🇫🇷" + }, + { + "label": "Gabón", + "value": "Gabón", + "dial_code": "+241", + "flag": "🇬🇦" + }, + { + "label": "Gambia", + "value": "Gambia", + "dial_code": "+220", + "flag": "🇬🇲" + }, + { + "label": "Georgia", + "value": "Georgia", + "dial_code": "+995", + "flag": "🇬🇪" + }, + { + "label": "Ghana", + "value": "Ghana", + "dial_code": "+233", + "flag": "🇬🇭" + }, + { + "label": "Granada", + "value": "Granada", + "dial_code": "+1", + "flag": "🇬🇩" + }, + { + "label": "Grecia", + "value": "Grecia", + "dial_code": "+30", + "flag": "🇬🇷" + }, + { + "label": "Guatemala", + "value": "Guatemala", + "dial_code": "+502", + "flag": "🇬🇹" + }, + { + "label": "Guinea", + "value": "Guinea", + "dial_code": "+224", + "flag": "🇬🇳" + }, + { + "label": "Guinea Ecuatorial", + "value": "Guinea Ecuatorial", + "dial_code": "+240", + "flag": "🇬🇶" + }, + { + "label": "Guinea-Bisáu", + "value": "Guinea-Bisáu", + "dial_code": "+245", + "flag": "🇬🇼" + }, + { + "label": "Guyana", + "value": "Guyana", + "dial_code": "+592", + "flag": "🇬🇾" + }, + { + "label": "Haití", + "value": "Haití", + "dial_code": "+509", + "flag": "🇭🇹" + }, + { + "label": "Honduras", + "value": "Honduras", + "dial_code": "+504", + "flag": "🇭🇳" + }, + { + "label": "Hungría", + "value": "Hungría", + "dial_code": "+36", + "flag": "🇭🇺" + }, + { + "label": "India", + "value": "India", + "dial_code": "+91", + "flag": "🇮🇳" + }, + { + "label": "Indonesia", + "value": "Indonesia", + "dial_code": "+62", + "flag": "🇮🇩" + }, + { + "label": "Irak", + "value": "Irak", + "dial_code": "+964", + "flag": "🇮🇶" + }, + { + "label": "Irán", + "value": "Irán", + "dial_code": "+98", + "flag": "🇮🇷" + }, + { + "label": "Irlanda", + "value": "Irlanda", + "dial_code": "+353", + "flag": "🇮🇪" + }, + { + "label": "Islandia", + "value": "Islandia", + "dial_code": "+354", + "flag": "🇮🇸" + }, + { + "label": "Islas Marshall", + "value": "Islas Marshall", + "dial_code": "+692", + "flag": "🇲🇭" + }, + { + "label": "Islas Salomón", + "value": "Islas Salomón", + "dial_code": "+677", + "flag": "🇸🇧" + }, + { + "label": "Israel", + "value": "Israel", + "dial_code": "+972", + "flag": "🇮🇱" + }, + { + "label": "Italia", + "value": "Italia", + "dial_code": "+39", + "flag": "🇮🇹" + }, + { + "label": "Jamaica", + "value": "Jamaica", + "dial_code": "+1", + "flag": "🇯🇲" + }, + { + "label": "Japón", + "value": "Japón", + "dial_code": "+81", + "flag": "🇯🇵" + }, + { + "label": "Jordania", + "value": "Jordania", + "dial_code": "+962", + "flag": "🇯🇴" + }, + { + "label": "Kazajistán", + "value": "Kazajistán", + "dial_code": "+7", + "flag": "🇰🇿" + }, + { + "label": "Kenia", + "value": "Kenia", + "dial_code": "+254", + "flag": "🇰🇪" + }, + { + "label": "Kirguistán", + "value": "Kirguistán", + "dial_code": "+996", + "flag": "🇰🇬" + }, + { + "label": "Kiribati", + "value": "Kiribati", + "dial_code": "+686", + "flag": "🇰🇮" + }, + { + "label": "Kuwait", + "value": "Kuwait", + "dial_code": "+965", + "flag": "🇰🇼" + }, + { + "label": "Laos", + "value": "Laos", + "dial_code": "+856", + "flag": "🇱🇦" + }, + { + "label": "Lesoto", + "value": "Lesoto", + "dial_code": "+266", + "flag": "🇱🇸" + }, + { + "label": "Letonia", + "value": "Letonia", + "dial_code": "+371", + "flag": "🇱🇻" + }, + { + "label": "Líbano", + "value": "Líbano", + "dial_code": "+961", + "flag": "🇱🇧" + }, + { + "label": "Liberia", + "value": "Liberia", + "dial_code": "+231", + "flag": "🇱🇷" + }, + { + "label": "Libia", + "value": "Libia", + "dial_code": "+218", + "flag": "🇱🇾" + }, + { + "label": "Liechtenstein", + "value": "Liechtenstein", + "dial_code": "+423", + "flag": "🇱🇮" + }, + { + "label": "Lituania", + "value": "Lituania", + "dial_code": "+370", + "flag": "🇱🇹" + }, + { + "label": "Luxemburgo", + "value": "Luxemburgo", + "dial_code": "+352", + "flag": "🇱🇺" + }, + { + "label": "Madagascar", + "value": "Madagascar", + "dial_code": "+261", + "flag": "🇲🇬" + }, + { + "label": "Malasia", + "value": "Malasia", + "dial_code": "+60", + "flag": "🇲🇾" + }, + { + "label": "Malaui", + "value": "Malaui", + "dial_code": "+265", + "flag": "🇲🇼" + }, + { + "label": "Maldivas", + "value": "Maldivas", + "dial_code": "+960", + "flag": "🇲🇻" + }, + { + "label": "Mali", + "value": "Mali", + "dial_code": "+223", + "flag": "🇲🇱" + }, + { + "label": "Malta", + "value": "Malta", + "dial_code": "+356", + "flag": "🇲🇹" + }, + { + "label": "Marruecos", + "value": "Marruecos", + "dial_code": "+212", + "flag": "🇲🇦" + }, + { + "label": "Mauricio", + "value": "Mauricio", + "dial_code": "+230", + "flag": "🇲🇺" + }, + { + "label": "Mauritania", + "value": "Mauritania", + "dial_code": "+222", + "flag": "🇲🇷" + }, + { + "label": "México", + "value": "México", + "dial_code": "+52", + "flag": "🇲🇽" + }, + { + "label": "Micronesia", + "value": "Micronesia", + "dial_code": "+691", + "flag": "🇫🇲" + }, + { + "label": "Moldavia", + "value": "Moldavia", + "dial_code": "+373", + "flag": "🇲🇩" + }, + { + "label": "Mónaco", + "value": "Mónaco", + "dial_code": "+377", + "flag": "🇲🇨" + }, + { + "label": "Mongolia", + "value": "Mongolia", + "dial_code": "+976", + "flag": "🇲🇳" + }, + { + "label": "Montenegro", + "value": "Montenegro", + "dial_code": "+382", + "flag": "🇲🇪" + }, + { + "label": "Mozambique", + "value": "Mozambique", + "dial_code": "+258", + "flag": "🇲🇿" + }, + { + "label": "Namibia", + "value": "Namibia", + "dial_code": "+264", + "flag": "🇳🇦" + }, + { + "label": "Nauru", + "value": "Nauru", + "dial_code": "+674", + "flag": "🇳🇷" + }, + { + "label": "Nepal", + "value": "Nepal", + "dial_code": "+977", + "flag": "🇳🇵" + }, + { + "label": "Nicaragua", + "value": "Nicaragua", + "dial_code": "+505", + "flag": "🇳🇮" + }, + { + "label": "Níger", + "value": "Níger", + "dial_code": "+227", + "flag": "🇳🇪" + }, + { + "label": "Nigeria", + "value": "Nigeria", + "dial_code": "+234", + "flag": "🇳🇬" + }, + { + "label": "Noruega", + "value": "Noruega", + "dial_code": "+47", + "flag": "🇳🇴" + }, + { + "label": "Nueva Zelanda", + "value": "Nueva Zelanda", + "dial_code": "+64", + "flag": "🇳🇿" + }, + { + "label": "Omán", + "value": "Omán", + "dial_code": "+968", + "flag": "🇴🇲" + }, + { + "label": "Países Bajos", + "value": "Países Bajos", + "dial_code": "+31", + "flag": "🇳🇱" + }, + { + "label": "Pakistán", + "value": "Pakistán", + "dial_code": "+92", + "flag": "🇵🇰" + }, + { + "label": "Palaos", + "value": "Palaos", + "dial_code": "+680", + "flag": "🇵🇼" + }, + { + "label": "Palestina", + "value": "Palestina", + "dial_code": "+970", + "flag": "🇵🇸" + }, + { + "label": "Panamá", + "value": "Panamá", + "dial_code": "+507", + "flag": "🇵🇦" + }, + { + "label": "Papúa Nueva Guinea", + "value": "Papúa Nueva Guinea", + "dial_code": "+675", + "flag": "🇵🇬" + }, + { + "label": "Paraguay", + "value": "Paraguay", + "dial_code": "+595", + "flag": "🇵🇾" + }, + { + "label": "Perú", + "value": "Perú", + "dial_code": "+51", + "flag": "🇵🇪" + }, + { + "label": "Polonia", + "value": "Polonia", + "dial_code": "+48", + "flag": "🇵🇱" + }, + { + "label": "Portugal", + "value": "Portugal", + "dial_code": "+351", + "flag": "🇵🇹" + }, + { + "label": "Reino Unido", + "value": "Reino Unido", + "dial_code": "+44", + "flag": "🇬🇧" + }, + { + "label": "República Centroafricana", + "value": "República Centroafricana", + "dial_code": "+236", + "flag": "🇨🇫" + }, + { + "label": "República Checa", + "value": "República Checa", + "dial_code": "+420", + "flag": "🇨🇿" + }, + { + "label": "República Dominicana", + "value": "República Dominicana", + "dial_code": "+1", + "flag": "🇩🇴" + }, + { + "label": "República del Congo", + "value": "República del Congo", + "dial_code": "+242", + "flag": "🇨🇬" + }, + { + "label": "Ruanda", + "value": "Ruanda", + "dial_code": "+250", + "flag": "🇷🇼" + }, + { + "label": "Rumania", + "value": "Rumania", + "dial_code": "+40", + "flag": "🇷🇴" + }, + { + "label": "Rusia", + "value": "Rusia", + "dial_code": "+7", + "flag": "🇷🇺" + }, + { + "label": "Samoa", + "value": "Samoa", + "dial_code": "+685", + "flag": "🇼🇸" + }, + { + "label": "San Cristóbal y Nieves", + "value": "San Cristóbal y Nieves", + "dial_code": "+1", + "flag": "🇰🇳" + }, + { + "label": "San Marino", + "value": "San Marino", + "dial_code": "+378", + "flag": "🇸🇲" + }, + { + "label": "San Vicente y las Granadinas", + "value": "San Vicente y las Granadinas", + "dial_code": "+1", + "flag": "🇻🇨" + }, + { + "label": "Santa Lucía", + "value": "Santa Lucía", + "dial_code": "+1", + "flag": "🇱🇨" + }, + { + "label": "Santo Tomé y Príncipe", + "value": "Santo Tomé y Príncipe", + "dial_code": "+239", + "flag": "🇸🇹" + }, + { + "label": "Senegal", + "value": "Senegal", + "dial_code": "+221", + "flag": "🇸🇳" + }, + { + "label": "Serbia", + "value": "Serbia", + "dial_code": "+381", + "flag": "🇷🇸" + }, + { + "label": "Seychelles", + "value": "Seychelles", + "dial_code": "+248", + "flag": "🇸🇨" + }, + { + "label": "Sierra Leona", + "value": "Sierra Leona", + "dial_code": "+232", + "flag": "🇸🇱" + }, + { + "label": "Singapur", + "value": "Singapur", + "dial_code": "+65", + "flag": "🇸🇬" + }, + { + "label": "Siria", + "value": "Siria", + "dial_code": "+963", + "flag": "🇸🇾" + }, + { + "label": "Somalia", + "value": "Somalia", + "dial_code": "+252", + "flag": "🇸🇴" + }, + { + "label": "Sri Lanka", + "value": "Sri Lanka", + "dial_code": "+94", + "flag": "🇱🇰" + }, + { + "label": "Suazilandia", + "value": "Suazilandia", + "dial_code": "+268", + "flag": "🇸🇿" + }, + { + "label": "Sudáfrica", + "value": "Sudáfrica", + "dial_code": "+27", + "flag": "🇿🇦" + }, + { + "label": "Sudán", + "value": "Sudán", + "dial_code": "+249", + "flag": "🇸🇩" + }, + { + "label": "Sudán del Sur", + "value": "Sudán del Sur", + "dial_code": "+211", + "flag": "🇸🇸" + }, + { + "label": "Suecia", + "value": "Suecia", + "dial_code": "+46", + "flag": "🇸🇪" + }, + { + "label": "Suiza", + "value": "Suiza", + "dial_code": "+41", + "flag": "🇨🇭" + }, + { + "label": "Surinam", + "value": "Surinam", + "dial_code": "+597", + "flag": "🇸🇷" + }, + { + "label": "Tailandia", + "value": "Tailandia", + "dial_code": "+66", + "flag": "🇹🇭" + }, + { + "label": "Tanzania", + "value": "Tanzania", + "dial_code": "+255", + "flag": "🇹🇿" + }, + { + "label": "Tayikistán", + "value": "Tayikistán", + "dial_code": "+992", + "flag": "🇹🇯" + }, + { + "label": "Timor Oriental", + "value": "Timor Oriental", + "dial_code": "+670", + "flag": "🇹🇱" + }, + { + "label": "Togo", + "value": "Togo", + "dial_code": "+228", + "flag": "🇹🇬" + }, + { + "label": "Tonga", + "value": "Tonga", + "dial_code": "+676", + "flag": "🇹🇴" + }, + { + "label": "Trinidad y Tobago", + "value": "Trinidad y Tobago", + "dial_code": "+1", + "flag": "🇹🇹" + }, + { + "label": "Túnez", + "value": "Túnez", + "dial_code": "+216", + "flag": "🇹🇳" + }, + { + "label": "Turkmenistán", + "value": "Turkmenistán", + "dial_code": "+993", + "flag": "🇹🇲" + }, + { + "label": "Turquía", + "value": "Turquía", + "dial_code": "+90", + "flag": "🇹🇷" + }, + { + "label": "Tuvalu", + "value": "Tuvalu", + "dial_code": "+688", + "flag": "🇹🇻" + }, + { + "label": "Ucrania", + "value": "Ucrania", + "dial_code": "+380", + "flag": "🇺🇦" + }, + { + "label": "Uganda", + "value": "Uganda", + "dial_code": "+256", + "flag": "🇺🇬" + }, + { + "label": "Uruguay", + "value": "Uruguay", + "dial_code": "+598", + "flag": "🇺🇾" + }, + { + "label": "Uzbekistán", + "value": "Uzbekistán", + "dial_code": "+998", + "flag": "🇺🇿" + }, + { + "label": "Vanuatu", + "value": "Vanuatu", + "dial_code": "+678", + "flag": "🇻🇺" + }, + { + "label": "Vaticano", + "value": "Vaticano", + "dial_code": "+379", + "flag": "🇻🇦" + }, + { + "label": "Venezuela", + "value": "Venezuela", + "dial_code": "+58", + "flag": "🇻🇪" + }, + { + "label": "Vietnam", + "value": "Vietnam", + "dial_code": "+84", + "flag": "🇻🇳" + }, + { + "label": "Yemen", + "value": "Yemen", + "dial_code": "+967", + "flag": "🇾🇪" + }, + { + "label": "Yibuti", + "value": "Yibuti", + "dial_code": "+253", + "flag": "🇩🇯" + }, + { + "label": "Zambia", + "value": "Zambia", + "dial_code": "+260", + "flag": "🇿🇲" + }, + { + "label": "Zimbabue", + "value": "Zimbabue", + "dial_code": "+263", + "flag": "🇿🇼" + } +] diff --git a/public/reglamento/es.html b/public/reglamento/es.html new file mode 100644 index 0000000..2de1ef5 --- /dev/null +++ b/public/reglamento/es.html @@ -0,0 +1,187 @@ +
Términos, Condiciones y Código de Ética para Voluntarios
+ +El Centro del Reino de Paz y Justicia tiene como misión promover la paz, la justicia, el liderazgo, la educación, la ayuda humanitaria, la responsabilidad social y la cooperación entre comunidades y naciones.
+El presente Reglamento establece el marco jurídico, ético e institucional que regula la participación de los voluntarios, definiendo sus derechos, obligaciones y principios de actuación, con el fin de garantizar que todas las actividades de voluntariado se desarrollen conforme a los valores del Centro y a la legislación aplicable.
+El voluntario participa libre y voluntariamente en las actividades del Centro con el propósito de contribuir al cumplimiento de su misión institucional en las áreas de educación, desarrollo comunitario, asistencia humanitaria, liderazgo, diplomacia pública, promoción de la paz, la justicia y el servicio a la sociedad.
+Toda actividad deberá desarrollarse con espíritu de servicio, responsabilidad, integridad, respeto, cooperación y compromiso con el bienestar común.
+La participación del voluntario tiene carácter exclusivamente voluntario y no constituye, bajo ninguna circunstancia, una relación laboral, contractual, societaria, de representación, mandato o subordinación con el Centro.
+La participación en las actividades no genera derecho a salario, prestaciones laborales, seguridad social, indemnizaciones ni cualquier otra remuneración económica, salvo autorización expresa y por escrito del Centro respecto del reembolso de gastos.
+El voluntario declara que:
+Salvo comunicación expresa y por escrito del Centro, cada voluntario será responsable de contar con la cobertura médica, de accidentes y demás seguros que considere necesarios para su participación.
+La contratación de cualquier seguro por parte del Centro no sustituye la responsabilidad personal del voluntario.
+El voluntario manifiesta que su estado de salud le permite participar en las actividades y se compromete a informar oportunamente cualquier condición médica que pueda afectar su seguridad o la de terceros.
+El voluntario se compromete a cumplir las instrucciones impartidas por los responsables del Centro, respetar las normas de seguridad y actuar siempre con responsabilidad, profesionalismo y respeto hacia todas las personas.
+Toda la información a la que el voluntario tenga acceso durante su participación será considerada confidencial.
+El voluntario se obliga a no divulgar información institucional, financiera, estratégica, personal o cualquier otra información reservada, aun después de finalizar su colaboración con el Centro.
+El voluntario autoriza al Centro a recopilar, almacenar y tratar sus datos personales exclusivamente para fines relacionados con:
+El voluntario autoriza al Centro a utilizar fotografías, grabaciones de audio, videos e imágenes obtenidas durante las actividades para fines institucionales, educativos, informativos, promocionales y de recaudación de fondos, salvo manifestación expresa y escrita en contrario.
+Todo documento, fotografía, video, material audiovisual, presentación, publicación, contenido o trabajo desarrollado por el voluntario dentro de las actividades institucionales será propiedad exclusiva del Centro, salvo acuerdo escrito en contrario.
+El voluntario deberá utilizar responsablemente los bienes, equipos y materiales del Centro, comprometiéndose a conservarlos y devolverlos cuando le sean requeridos o al finalizar su participación.
+El Centro podrá suspender o finalizar la participación de cualquier voluntario cuando exista incumplimiento del presente Reglamento, conducta incompatible con los valores institucionales, riesgos para la organización o cualquier otra causa justificada.
+El voluntario podrá retirarse libremente notificándolo con una anticipación razonable.
+El voluntario reconoce que participa libremente en las actividades del Centro y acepta los riesgos normales inherentes a las mismas.
+En la medida permitida por la legislación aplicable, el Centro, sus directivos, empleados, representantes, colaboradores y demás voluntarios no serán responsables por daños derivados de la participación del voluntario, salvo en casos de dolo o negligencia grave.
+El voluntario declara conocer que determinadas actividades pueden implicar riesgos derivados de desplazamientos, trabajo comunitario, asistencia humanitaria, eventos públicos, visitas institucionales u otras actividades propias del programa.
+El voluntario acepta participar bajo su propia responsabilidad y asume voluntariamente dichos riesgos, salvo cuando exista dolo o negligencia grave imputable al Centro.
+El voluntario se compromete a mantener una conducta acorde con los principios y valores del Centro.
+Queda prohibido:
+Cuando las actividades involucren menores de edad o personas en situación de vulnerabilidad, el voluntario deberá cumplir estrictamente los protocolos de protección establecidos por el Centro y la legislación aplicable.
+El voluntario deberá informar cualquier situación personal, profesional, económica o familiar que pudiera generar un conflicto de interés con las actividades del Centro.
+El voluntario se compromete a cumplir toda la legislación aplicable relacionada con derechos humanos, protección de datos personales, anticorrupción, prevención del lavado de dinero, igualdad, no discriminación y demás normas aplicables.
+El nombre, logotipo, marcas, imagen corporativa y demás signos distintivos del Centro únicamente podrán utilizarse con autorización previa y escrita.
+La condición de voluntario no otorga derecho alguno sobre los bienes, recursos, proyectos o donaciones administrados por el Centro.
+Toda campaña de recaudación de fondos deberá contar con autorización previa y escrita.
+El Centro podrá suspender, modificar o cancelar cualquier actividad debido a causas de fuerza mayor, razones de seguridad, conflictos armados, emergencias sanitarias, desastres naturales o cualquier otra circunstancia fuera de su control, sin que ello genere responsabilidad alguna.
+El presente Reglamento se regirá por la legislación vigente del país donde se desarrollen las actividades del voluntariado.
+Toda controversia será sometida a la jurisdicción de los tribunales competentes de dicho país.
+Todo voluntario se compromete a:
+El Centro reconoce la importancia de proteger la privacidad de sus voluntarios y se compromete a tratar toda información personal conforme a la legislación aplicable.
+Los datos personales serán utilizados exclusivamente para:
+El Centro adoptará medidas técnicas, administrativas y organizativas razonables para proteger la información personal contra pérdida, acceso no autorizado, alteración, divulgación o uso indebido.
+Los voluntarios podrán ejercer los derechos que les otorgue la legislación aplicable respecto del acceso, rectificación, actualización o eliminación de sus datos personales.
+{props.copy}