Compare commits
No commits in common. "main" and "create_form" have entirely different histories.
main
...
create_for
4
.env
|
|
@ -23,10 +23,6 @@ DATABASE_URL="file:./dev.db"
|
||||||
N8N_WEBHOOK_URL="https://flows2.carpa.com/webhook/news-summary"
|
N8N_WEBHOOK_URL="https://flows2.carpa.com/webhook/news-summary"
|
||||||
N8N_API_KEY="sk_live_JwjpTdZrLVvijCKuWylWZbUuhBm6zPDH"
|
N8N_API_KEY="sk_live_JwjpTdZrLVvijCKuWylWZbUuhBm6zPDH"
|
||||||
|
|
||||||
# Cloudflare Email Sending
|
|
||||||
CLOUDFLARE_API_TOKEN=cfut_8Y0Tcwiv3v0K1LDK9QSvc3BjlU1lZFs1zikACgTw33977b37
|
|
||||||
CLOUDFLARE_ACCOUNT_ID=3e689750123db91e81d3542d2930a907
|
|
||||||
|
|
||||||
# Cloudflare Turnstile — public key (visible in frontend)
|
# Cloudflare Turnstile — public key (visible in frontend)
|
||||||
TURNSTILE_SITE_KEY=0x4AAAAAAD9IYWC6HPflpneO
|
TURNSTILE_SITE_KEY=0x4AAAAAAD9IYWC6HPflpneO
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,11 +4,3 @@ TURNSTILE_SITE_KEY=0x4AA...
|
||||||
# Cloudflare Turnstile — secret key (server-side, keep safe!)
|
# Cloudflare Turnstile — secret key (server-side, keep safe!)
|
||||||
# In production, set this as a Gitea Actions secret named TURNSTILE_SECRET_KEY
|
# In production, set this as a Gitea Actions secret named TURNSTILE_SECRET_KEY
|
||||||
TURNSTILE_SECRET_KEY=0x4AA...
|
TURNSTILE_SECRET_KEY=0x4AA...
|
||||||
|
|
||||||
# Supabase PostgreSQL
|
|
||||||
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/postgres?schema=public"
|
|
||||||
DIRECT_URL="postgresql://postgres:postgres@localhost:5432/postgres?schema=public"
|
|
||||||
SUPABASE_URL="http://localhost:8000"
|
|
||||||
SUPABASE_ANON_KEY="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJhbm9uIiwKICAgICJpc3MiOiAic3VwYWJhc2UtZGVtbyIsCiAgICAiaWF0IjogMTY0MTc2OTIwMCwKICAgICJleHAiOiAxNzk5NTM1NjAwCn0.dc_X5iR_VP_qT0zsiyj_I_OZ2T9FtRU2BBNWN8Bu4GE"
|
|
||||||
SUPABASE_SERVICE_ROLE_KEY="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q"
|
|
||||||
POSTGRES_PASSWORD=postgres
|
|
||||||
|
|
|
||||||
|
|
@ -14,10 +14,10 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
if [ "${{ gitea.ref_name }}" = "production" ]; then
|
if [ "${{ gitea.ref_name }}" = "production" ]; then
|
||||||
echo "TARGET_DIR=/var/www/node/cdrdpyj" >> $GITHUB_ENV
|
echo "TARGET_DIR=/var/www/node/cdrdpyj" >> $GITHUB_ENV
|
||||||
echo "APP_NAME=cdrdpyj-live" >> $GITHUB_ENV
|
echo "PM2_ENV=production" >> $GITHUB_ENV
|
||||||
else
|
else
|
||||||
echo "TARGET_DIR=/var/www/node/dev.cdrdjyp" >> $GITHUB_ENV
|
echo "TARGET_DIR=/var/www/node/dev.cdrdjyp" >> $GITHUB_ENV
|
||||||
echo "APP_NAME=cdrdpyj" >> $GITHUB_ENV
|
echo "PM2_ENV=staging" >> $GITHUB_ENV
|
||||||
fi
|
fi
|
||||||
|
|
||||||
- uses: pnpm/action-setup@v4
|
- uses: pnpm/action-setup@v4
|
||||||
|
|
@ -53,9 +53,7 @@ jobs:
|
||||||
npm install -g pnpm@11 2>&1
|
npm install -g pnpm@11 2>&1
|
||||||
cd ${{ env.TARGET_DIR }}
|
cd ${{ env.TARGET_DIR }}
|
||||||
pnpm install --prod 2>&1
|
pnpm install --prod 2>&1
|
||||||
sed -i "s|TURNSTILE_SITE_KEY: \"\"|TURNSTILE_SITE_KEY: \"${{ secrets.TURNSTILE_SITE_KEY }}\"|g" ecosystem.config.cjs
|
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 }}\"|g" ecosystem.config.cjs
|
sed -i "s|TURNSTILE_SECRET_KEY: \"\"|TURNSTILE_SECRET_KEY: \"${{ secrets.TURNSTILE_SECRET_KEY }}\"|" ecosystem.config.cjs
|
||||||
sed -i "s|CLOUDFLARE_API_TOKEN: \"\"|CLOUDFLARE_API_TOKEN: \"${{ secrets.CLOUDFLARE_API_TOKEN }}\"|g" ecosystem.config.cjs
|
pm2 reload ecosystem.config.cjs --env ${{ env.PM2_ENV }} --update-env || \
|
||||||
sed -i "s|CLOUDFLARE_ACCOUNT_ID: \"\"|CLOUDFLARE_ACCOUNT_ID: \"${{ secrets.CLOUDFLARE_ACCOUNT_ID }}\"|g" ecosystem.config.cjs
|
pm2 start ecosystem.config.cjs --env ${{ env.PM2_ENV }} --update-env
|
||||||
pm2 reload ecosystem.config.cjs --only ${{ env.APP_NAME }} --update-env || \
|
|
||||||
pm2 start ecosystem.config.cjs --only ${{ env.APP_NAME }} --update-env
|
|
||||||
|
|
|
||||||
|
|
@ -25,11 +25,7 @@ pnpm-debug.log*
|
||||||
/generated/prisma
|
/generated/prisma
|
||||||
prisma/*.db
|
prisma/*.db
|
||||||
prisma/dev.db
|
prisma/dev.db
|
||||||
data/
|
|
||||||
|
|
||||||
# opencode - agentes y scripts locales (no subir a producción)
|
# opencode - agentes y scripts locales (no subir a producción)
|
||||||
opencode/
|
opencode/
|
||||||
.opencode/
|
.opencode/
|
||||||
docs/
|
|
||||||
scripts/
|
|
||||||
.env.example
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
module.exports = {
|
module.exports = {
|
||||||
apps: [
|
apps: [{
|
||||||
{
|
|
||||||
name: "cdrdpyj",
|
name: "cdrdpyj",
|
||||||
script: "dist/server/entry.mjs",
|
script: "dist/server/entry.mjs",
|
||||||
env: {
|
env: {
|
||||||
|
|
@ -8,21 +7,12 @@ module.exports = {
|
||||||
PORT: 3310,
|
PORT: 3310,
|
||||||
TURNSTILE_SITE_KEY: "",
|
TURNSTILE_SITE_KEY: "",
|
||||||
TURNSTILE_SECRET_KEY: "",
|
TURNSTILE_SECRET_KEY: "",
|
||||||
CLOUDFLARE_API_TOKEN: "",
|
|
||||||
CLOUDFLARE_ACCOUNT_ID: "",
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
env_production: {
|
||||||
name: "cdrdpyj-live",
|
|
||||||
script: "dist/server/entry.mjs",
|
|
||||||
env: {
|
|
||||||
NODE_ENV: "production",
|
NODE_ENV: "production",
|
||||||
PORT: 4321,
|
PORT: 4321,
|
||||||
TURNSTILE_SITE_KEY: "",
|
TURNSTILE_SITE_KEY: "",
|
||||||
TURNSTILE_SECRET_KEY: "",
|
TURNSTILE_SECRET_KEY: "",
|
||||||
CLOUDFLARE_API_TOKEN: "",
|
|
||||||
CLOUDFLARE_ACCOUNT_ID: "",
|
|
||||||
}
|
}
|
||||||
}
|
}]
|
||||||
]
|
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "astro dev",
|
"dev": "tinacms dev -c \"astro dev\"",
|
||||||
"build": "astro build",
|
"build": "astro build",
|
||||||
"postbuild": "node scripts/send-to-n8n.js",
|
"postbuild": "node scripts/send-to-n8n.js",
|
||||||
"preview": "astro preview",
|
"preview": "astro preview",
|
||||||
|
|
@ -24,12 +24,12 @@
|
||||||
"@iconify/vue": "^5.0.0",
|
"@iconify/vue": "^5.0.0",
|
||||||
"@prisma/client": "^6.19.2",
|
"@prisma/client": "^6.19.2",
|
||||||
"@tailwindcss/vite": "^4.1.18",
|
"@tailwindcss/vite": "^4.1.18",
|
||||||
|
"@tinacms/cli": "^2.2.2",
|
||||||
"@unpic/astro": "^1.0.2",
|
"@unpic/astro": "^1.0.2",
|
||||||
"astro": "^7.0.6",
|
"astro": "^7.0.6",
|
||||||
"astro-embed": "^0.12.0",
|
"astro-embed": "^0.12.0",
|
||||||
"astro-google-analytics": "^1.0.3",
|
"astro-google-analytics": "^1.0.3",
|
||||||
"astro-icon": "^1.1.5",
|
"astro-icon": "^1.1.5",
|
||||||
"cloudflare": "^7.0.0",
|
|
||||||
"dayjs": "^1.11.19",
|
"dayjs": "^1.11.19",
|
||||||
"googleapis": "^171.4.0",
|
"googleapis": "^171.4.0",
|
||||||
"prisma": "^6.19.2",
|
"prisma": "^6.19.2",
|
||||||
|
|
@ -38,6 +38,7 @@
|
||||||
"sharp": "^0.34.5",
|
"sharp": "^0.34.5",
|
||||||
"swiper": "^12.1.0",
|
"swiper": "^12.1.0",
|
||||||
"tailwindcss": "^4.1.18",
|
"tailwindcss": "^4.1.18",
|
||||||
|
"tinacms": "^2.2.2",
|
||||||
"vue": "^3.5.28"
|
"vue": "^3.5.28"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
|
|
||||||
10032
pnpm-lock.yaml
|
|
@ -0,0 +1,2 @@
|
||||||
|
index.html
|
||||||
|
assets/
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
||||||
<title>TinaCMS</title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<!-- if development -->
|
|
||||||
<script type="module">
|
|
||||||
import RefreshRuntime from 'http://localhost:4001/@react-refresh'
|
|
||||||
RefreshRuntime.injectIntoGlobalHook(window)
|
|
||||||
window.$RefreshReg$ = () => {}
|
|
||||||
window.$RefreshSig$ = () => (type) => type
|
|
||||||
window.__vite_plugin_react_preamble_installed__ = true
|
|
||||||
</script>
|
|
||||||
<script type="module" src="http://localhost:4001/@vite/client"></script>
|
|
||||||
<script>
|
|
||||||
function handleLoadError() {
|
|
||||||
// Assets have failed to load
|
|
||||||
document.getElementById('root').innerHTML = '<style type="text/css"> #no-assets-placeholder body { font-family: sans-serif; font-size: 16px; line-height: 1.4; color: #333; background-color: #f5f5f5; } #no-assets-placeholder { max-width: 600px; margin: 0 auto; padding: 40px; text-align: center; background-color: #fff; box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.1); } #no-assets-placeholder h1 { font-size: 24px; margin-bottom: 20px; } #no-assets-placeholder p { margin-bottom: 10px; } #no-assets-placeholder a { color: #0077cc; text-decoration: none; } #no-assets-placeholder a:hover { text-decoration: underline; } </style> <div id="no-assets-placeholder"> <h1>Failed loading TinaCMS assets</h1> <p> Your TinaCMS configuration may be misconfigured, and we could not load the assets for this page. </p> <p> Please visit <a href="https://tina.io/docs/r/FAQ/#13-how-do-i-resolve-failed-loading-tinacms-assets-error">this doc</a> for help. </p> </div> </div>';
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<script
|
|
||||||
type="module"
|
|
||||||
src="http://localhost:4001/src/main.tsx"
|
|
||||||
onerror="handleLoadError()"
|
|
||||||
></script>
|
|
||||||
<body class="tina-tailwind">
|
|
||||||
<div id="root"></div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,187 +0,0 @@
|
||||||
<h1>General Volunteer Program Regulations</h1>
|
|
||||||
<p>Volunteer Terms, Conditions, and Code of Conduct</p>
|
|
||||||
|
|
||||||
<section id="introduccion">
|
|
||||||
<h2>Introduction</h2>
|
|
||||||
<p>The Kingdom of Peace and Justice Center’s mission is to promote peace, justice, leadership, education, humanitarian aid, social responsibility, and cooperation among communities and nations.</p>
|
|
||||||
<p>The following Regulations establish the legal, ethical, and institutional framework that governs the participation of volunteers, defining their rights, obligations, and principles of conduct, in order to ensure that all volunteer activities are carried out in accordance with the values of the Center and applicable law.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="objeto-voluntariado">
|
|
||||||
<h2>1. Purpose of the Volunteering</h2>
|
|
||||||
<p>The volunteer participates freely and voluntarily in the events of the Center for the purpose of contributing to the fulfillment of its institutional mission in the areas of education, community development, humanitarian assistance, leadership, public diplomacy, promotion of peace and justice, and service to society.</p>
|
|
||||||
<p>All activities shall be carried out with a spirit of service, responsibility, integrity, respect, cooperation, and commitment to the common good.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="naturaleza-voluntariado">
|
|
||||||
<h2>2. Nature of Volunteering</h2>
|
|
||||||
<p>The volunteer’s participation is exclusively voluntary in nature and does not constitute, under any circumstances, an employment, contractual, corporate, representative, agency, or subordinate relationship with the Center.</p>
|
|
||||||
<p>Participation in the events does not generate any right to salary, employment benefits, social security, compensation, or any other economic remuneration, except with the express written authorization of the Center regarding reimbursement of expenses.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="requisitos-voluntario">
|
|
||||||
<h2>3. Requirements to Become a Volunteer</h2>
|
|
||||||
<p>The volunteer declares that:</p>
|
|
||||||
<ul>
|
|
||||||
<li>The information provided is truthful, complete, and up to date.</li>
|
|
||||||
<li>They are physically and mentally fit to participate in the activities.</li>
|
|
||||||
<li>There is no legal incapacity or restriction to their participation.</li>
|
|
||||||
<li>They will comply with the policies, regulations, and procedures established by the Center.</li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="seguro">
|
|
||||||
<h2>4. Insurance Coverage</h2>
|
|
||||||
<p>Unless expressly communicated in writing by the Center, each volunteer shall be responsible for having the medical, accident, and other insurance coverage they deem necessary for their participation.</p>
|
|
||||||
<p>The purchase of any insurance by the Center does not replace the personal responsibility of the volunteer.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="responsabilidad-medica">
|
|
||||||
<h2>5. Medical Liability</h2>
|
|
||||||
<p>The volunteer states that their state of health allows them to participate in the events and agrees to promptly report any medical condition that may affect their safety or that of third parties.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="cumplimiento-normas">
|
|
||||||
<h2>6. Compliance with Rules</h2>
|
|
||||||
<p>The volunteer agrees to comply with the instructions given by Center representatives, respect safety rules, and to always act with responsibility, professionalism, and respect toward all persons.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="confidencialidad">
|
|
||||||
<h2>7. Confidentiality</h2>
|
|
||||||
<p>All information to which the volunteer has access during their participation shall be considered confidential.</p>
|
|
||||||
<p>The volunteer agrees not to disclose institutional, financial, strategic, personal, or any other reserved information, even after their collaboration with the Center has ended.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="proteccion-datos">
|
|
||||||
<h2>8. Protection of Personal Data</h2>
|
|
||||||
<p>The volunteer authorizes the Center to collect, store, and process their personal data exclusively for purposes related to:</p>
|
|
||||||
<ul>
|
|
||||||
<li>the administration of the volunteer program;</li>
|
|
||||||
<li>institutional communication;</li>
|
|
||||||
<li>the organization of events;</li>
|
|
||||||
<li>compliance with legal obligations;</li>
|
|
||||||
<li>the safety of participants.</li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="uso-imagen">
|
|
||||||
<h2>9. Image Use</h2>
|
|
||||||
<p>The volunteer authorizes the Center to use photographs, audio recordings, videos, and images obtained during the events for institutional, educational, informational, promotional, and fundraising purposes, unless they expressly state otherwise in writing.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="propiedad-intelectual">
|
|
||||||
<h2>10. Intellectual Property</h2>
|
|
||||||
<p>Any document, photograph, video, audiovisual material, presentation, publication, content, or work developed by the volunteer within the institutional events will be the exclusive property of the Center, unless otherwise agreed in writing.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="uso-bienes">
|
|
||||||
<h2>11. Property Use and Care</h2>
|
|
||||||
<p>The volunteer will use the Center’s property, equipment, and materials responsibly, agreeing to maintain them in good condition and return them when required or at the end of their participation.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="terminacion-voluntariado">
|
|
||||||
<h2>12. Termination of Volunteer Participation</h2>
|
|
||||||
<p>The Center may suspend or terminate the participation of any volunteer when there is noncompliance with these Regulations, conduct that is incompatible with institutional values, risks to the organization, or any other justified reason.</p>
|
|
||||||
<p>The volunteer may withdraw freely by providing reasonable advance notice.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="limitacion-responsabilidad">
|
|
||||||
<h2>13. Limitation of Liability</h2>
|
|
||||||
<p>The volunteer acknowledges that they participate freely in the Center’s activities and accept the normal risks inherent to them.</p>
|
|
||||||
<p>To the extent permitted by applicable law, the Center, its directors, employees, representatives, collaborators, and other volunteers will not be liable for damages arising from the volunteer’s participation, except in cases of willful misconduct or gross negligence.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="declaracion-riesgos">
|
|
||||||
<h2>14. Assumption of Risk Statement</h2>
|
|
||||||
<p>The volunteer declares that they are aware that certain events may involve risks arising from travel, community work, humanitarian assistance, public events, institutional visits, or other events of the program.</p>
|
|
||||||
<p>The volunteer accepts participation under their own responsibility and voluntarily assumes such risks, except when there is willful misconduct or gross negligence attributable to the Center.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="conducta-institucional">
|
|
||||||
<h2>15. Institutional Conduct</h2>
|
|
||||||
<p>The volunteer agrees to maintain conduct consistent with the principles and values of the Center.</p>
|
|
||||||
<p>The following are prohibited:</p>
|
|
||||||
<ul>
|
|
||||||
<li>committing acts of physical or verbal violence;</li>
|
|
||||||
<li>discriminating against or harassing any person;</li>
|
|
||||||
<li>consuming illegal drugs or appearing under the influence;</li>
|
|
||||||
<li>carrying weapons without legal and express authorization;</li>
|
|
||||||
<li>requesting donations or administering financial resources on behalf of the Center without written authorization;</li>
|
|
||||||
<li>using the name of the Center for personal, political, or commercial purposes.</li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="proteccion-menores">
|
|
||||||
<h2>16. Safeguarding Minors and Vulnerable Individuals</h2>
|
|
||||||
<p>When events involve minors or individuals in situations of vulnerability, the volunteer shall strictly comply with the protection protocols established by the Center and applicable law.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="conflicto-intereses">
|
|
||||||
<h2>17. Conflict of Interest</h2>
|
|
||||||
<p>The volunteer shall report any personal, professional, economic, or family situation that could create a conflict of interest with the activities of the Center.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="cumplimiento-normativo">
|
|
||||||
<h2>18. Regulatory Compliance</h2>
|
|
||||||
<p>The volunteer agrees to comply with all applicable legislation related to human rights, protection of personal data, anti-corruption, prevention of money laundering, equality, nondiscrimination, and all other applicable rules.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="uso-imagen-institucional">
|
|
||||||
<h2>19. Use of the Institutional Name and Image</h2>
|
|
||||||
<p>The Center’s name, logo, trademarks, corporate image, and other distinctive signs may only be used with prior written authorization.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="redes-sociales">
|
|
||||||
<h2>20. Social Media and Communications</h2>
|
|
||||||
<p>The volunteer may not issue public statements, interviews, communications, or publications on behalf of the Center without prior authorization.</p>
|
|
||||||
<p>They also agree to use social media responsibly, avoiding publications that may affect the institutional image.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="donaciones">
|
|
||||||
<h2>21. Donations</h2>
|
|
||||||
<p>The status of volunteer does not grant any right over the goods, resources, projects, or donations administered by the Center.</p>
|
|
||||||
<p>Any fundraising campaign must have prior written authorization.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="fuerza-mayor">
|
|
||||||
<h2>22. Force Majeure</h2>
|
|
||||||
<p>The Center may suspend, modify, or cancel any event due to force majeure, security reasons, armed conflicts, health emergencies, natural disasters, or any other circumstance beyond its control, without this generating any liability.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="legislacion-jurisdiccion">
|
|
||||||
<h2>23. Applicable Law and Jurisdiction</h2>
|
|
||||||
<p>These Regulations shall be governed by the laws in force in the country where the volunteer events are carried out.</p>
|
|
||||||
<p>Any dispute shall be submitted to the jurisdiction of the competent courts of that country.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="codigo-etica">
|
|
||||||
<h2>Volunteer Code of Conduct</h2>
|
|
||||||
<p>Every volunteer commits to:</p>
|
|
||||||
<ul>
|
|
||||||
<li>Act with honesty, integrity, and transparency.</li>
|
|
||||||
<li>Respect the dignity and rights of all people.</li>
|
|
||||||
<li>Promote a culture of peace, justice, and solidarity.</li>
|
|
||||||
<li>Maintain absolute confidentiality.</li>
|
|
||||||
<li>Avoid conflicts of interest.</li>
|
|
||||||
<li>Represent the Center with respect and professionalism.</li>
|
|
||||||
<li>Comply with applicable law and institutional policies.</li>
|
|
||||||
<li>Protect the reputation and values of the Center.</li>
|
|
||||||
<li>Always act with a spirit of service.</li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="politica-privacidad">
|
|
||||||
<h2>Data Protection and Privacy Policy</h2>
|
|
||||||
<p>The Center recognizes the importance of protecting the privacy of its volunteers and agrees to process all personal information in accordance with applicable law.</p>
|
|
||||||
<p>Personal data shall be used exclusively for:</p>
|
|
||||||
<ul>
|
|
||||||
<li>Administration of the volunteer program.</li>
|
|
||||||
<li>Organization of activities and events.</li>
|
|
||||||
<li>Institutional communication.</li>
|
|
||||||
<li>Compliance with legal obligations.</li>
|
|
||||||
<li>Protection and safety of participants.</li>
|
|
||||||
<li>Preparation of statistics and institutional reports.</li>
|
|
||||||
</ul>
|
|
||||||
<p>The Center shall adopt reasonable technical, administrative, and organizational measures to protect personal information against loss, unauthorized access, alteration, disclosure, or improper use.</p>
|
|
||||||
<p>Volunteers may exercise the rights granted to them by applicable law regarding access, rectification, updating, or deletion of their personal data.</p>
|
|
||||||
</section>
|
|
||||||
|
|
@ -1,187 +0,0 @@
|
||||||
<h1>Regulamento Geral do Programa de Voluntariado</h1>
|
|
||||||
<p>Termos, Condições e Código de Ética para Voluntários</p>
|
|
||||||
|
|
||||||
<section id="introduccion">
|
|
||||||
<h2>Introdução</h2>
|
|
||||||
<p>O Centro do Reino de Paz e Justiça (CRPJ) tem como missão promover a paz, a justiça, a liderança, a educação, a ajuda humanitária, a responsabilidade social e a cooperação entre comunidades e nações.</p>
|
|
||||||
<p>O presente Regulamento estabelece o marco jurídico, ético e institucional que disciplina a participação dos voluntários, definindo seus direitos, deveres e princípios de atuação, com o objetivo de assegurar que todas as atividades de voluntariado sejam desenvolvidas em conformidade com os valores do CRPJ e com a legislação aplicável.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="objeto-voluntariado">
|
|
||||||
<h2>1. Objeto do Voluntariado</h2>
|
|
||||||
<p>O voluntário participa de forma livre, por desejo próprio e pessoal, das atividades do CRPJ com o propósito de contribuir para o cumprimento da missão institucional nas áreas de educação, desenvolvimento comunitário, assistência humanitária, liderança, diplomacia pública, promoção da paz, da justiça e serviço à sociedade.</p>
|
|
||||||
<p>Todas as atividades deverão ser desenvolvidas com espírito de serviço, responsabilidade, integridade, respeito, cooperação e compromisso com o bem comum.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="naturaleza-voluntariado">
|
|
||||||
<h2>2. Natureza do Voluntariado</h2>
|
|
||||||
<p>A participação do voluntário possui caráter exclusivamente voluntário e não constitui, em hipótese alguma, vínculo empregatício, contratual, societário, de representação, de mandato ou de subordinação com o CRPJ.</p>
|
|
||||||
<p>A participação nas atividades não gera direito a salário, benefícios trabalhistas, previdência social, indenizações nem qualquer outra forma de remuneração, salvo mediante autorização expressa e por escrito do CRPJ para reembolso de despesas.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="requisitos-voluntario">
|
|
||||||
<h2>3. Requisitos para ser Voluntário</h2>
|
|
||||||
<p>O voluntário declara que:</p>
|
|
||||||
<ul>
|
|
||||||
<li>As informações fornecidas são verdadeiras, completas e atualizadas.</li>
|
|
||||||
<li>Encontra-se física e mentalmente apto para participar das atividades.</li>
|
|
||||||
<li>Não possui qualquer impedimento legal para sua participação.</li>
|
|
||||||
<li>Cumprirá as políticas, os regulamentos e os procedimentos estabelecidos pelo CRPJ.</li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="seguro">
|
|
||||||
<h2>4. Seguro</h2>
|
|
||||||
<p>Salvo comunicação expressa e por escrito do CRPJ, cada voluntário será responsável por possuir cobertura médica, seguro contra acidentes e quaisquer outros seguros que considere necessários para sua participação.</p>
|
|
||||||
<p>A contratação de qualquer seguro pelo CRPJ não substitui a responsabilidade pessoal do voluntário.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="responsabilidad-medica">
|
|
||||||
<h2>5. Responsabilidade Médica</h2>
|
|
||||||
<p>O voluntário declara que seu estado de saúde lhe permite participar das atividades e compromete-se a informar prontamente qualquer condição médica que possa afetar sua segurança ou a de terceiros.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="cumplimiento-normas">
|
|
||||||
<h2>6. Cumprimento das Normas</h2>
|
|
||||||
<p>O voluntário compromete-se a cumprir as instruções dos responsáveis pelo CRPJ, respeitar as normas de segurança e atuar sempre com responsabilidade, profissionalismo e respeito para com todas as pessoas.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="confidencialidad">
|
|
||||||
<h2>7. Confidencialidade</h2>
|
|
||||||
<p>Todas as informações às quais o voluntário tiver acesso durante sua participação serão consideradas confidenciais.</p>
|
|
||||||
<p>O voluntário compromete-se a não divulgar informações institucionais, financeiras, estratégicas, pessoais ou quaisquer outras informações confidenciais, mesmo após o término de sua colaboração com o CRPJ.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="proteccion-dados">
|
|
||||||
<h2>8. Proteção de Dados Pessoais</h2>
|
|
||||||
<p>O voluntário autoriza o CRPJ a coletar, armazenar e tratar seus dados pessoais exclusivamente para as seguintes finalidades:</p>
|
|
||||||
<ul>
|
|
||||||
<li>administração do Programa de Voluntariado;</li>
|
|
||||||
<li>comunicação institucional;</li>
|
|
||||||
<li>organização de atividades;</li>
|
|
||||||
<li>cumprimento de obrigações legais;</li>
|
|
||||||
<li>segurança dos participantes.</li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="uso-imagen">
|
|
||||||
<h2>9. Uso de Imagem</h2>
|
|
||||||
<p>O voluntário autoriza o CRPJ a utilizar fotografias, gravações de áudio, vídeos e imagens obtidos durante as atividades para fins institucionais, educacionais, informativos, promocionais e de captação de recursos, salvo manifestação expressa e por escrito em sentido contrário.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="propiedad-intelectual">
|
|
||||||
<h2>10. Propriedade Intelectual</h2>
|
|
||||||
<p>Todo documento, fotografia, vídeo, material audiovisual, apresentação, publicação, conteúdo ou trabalho desenvolvido pelo voluntário no âmbito das atividades institucionais será de propriedade exclusiva do CRPJ, salvo acordo em contrário formalizado por escrito.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="uso-bienes">
|
|
||||||
<h2>11. Uso e Conservação dos Bens</h2>
|
|
||||||
<p>O voluntário deverá utilizar os bens, equipamentos e materiais do CRPJ de forma responsável, comprometendo-se a conservá-los e devolvê-los sempre que solicitado ou ao término de sua participação.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="terminacion-voluntariado">
|
|
||||||
<h2>12. Encerramento do Voluntariado</h2>
|
|
||||||
<p>O CRPJ poderá suspender ou encerrar a participação de qualquer voluntário em caso de descumprimento do presente Regulamento, conduta incompatível com os valores institucionais, riscos para a organização ou qualquer outra causa devidamente justificada.</p>
|
|
||||||
<p>O voluntário poderá desligar-se do Programa a qualquer momento, mediante comunicação com antecedência razoável.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="limitacion-responsabilidad">
|
|
||||||
<h2>13. Limitação de Responsabilidade</h2>
|
|
||||||
<p>O voluntário reconhece que participa das atividades do CRPJ de forma livre e voluntária e aceita os riscos normais inerentes a elas.</p>
|
|
||||||
<p>Na medida permitida pela legislação aplicável, o CRPJ, seus dirigentes, empregados, representantes, colaboradores e demais voluntários não serão responsáveis por danos decorrentes da participação do voluntário, salvo nos casos de dolo ou culpa grave.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="declaracion-riesgos">
|
|
||||||
<h2>14. Declaração de Assunção de Riscos</h2>
|
|
||||||
<p>O voluntário declara estar ciente de que determinadas atividades podem envolver riscos decorrentes de deslocamentos, trabalho comunitário, assistência humanitária, eventos públicos, visitas institucionais ou outras atividades próprias do Programa.</p>
|
|
||||||
<p>O voluntário aceita participar sob sua própria responsabilidade e assume voluntariamente tais riscos, salvo quando houver dolo ou culpa grave imputável ao CRPJ.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="conducta-institucional">
|
|
||||||
<h2>15. Conduta Institucional</h2>
|
|
||||||
<p>O voluntário compromete-se a manter conduta compatível com os princípios e valores do CRPJ.</p>
|
|
||||||
<p>É proibido ao voluntário:</p>
|
|
||||||
<ul>
|
|
||||||
<li>praticar atos de violência física ou verbal;</li>
|
|
||||||
<li>discriminar ou assediar qualquer pessoa;</li>
|
|
||||||
<li>consumir drogas ilícitas ou apresentar-se sob seus efeitos;</li>
|
|
||||||
<li>portar armas sem autorização legal e expressa;</li>
|
|
||||||
<li>solicitar doações ou administrar recursos financeiros em nome do CRPJ sem autorização por escrito;</li>
|
|
||||||
<li>utilizar o nome do CRPJ para fins pessoais, políticos ou comerciais.</li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="proteccion-menores">
|
|
||||||
<h2>16. Proteção de Menores e Pessoas em Situação de Vulnerabilidade</h2>
|
|
||||||
<p>Quando as atividades envolverem menores de idade ou pessoas em situação de vulnerabilidade, o voluntário deverá cumprir rigorosamente os protocolos de proteção estabelecidos pelo CRPJ e a legislação aplicável.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="conflicto-intereses">
|
|
||||||
<h2>17. Conflito de Interesses</h2>
|
|
||||||
<p>O voluntário deverá comunicar qualquer situação de natureza pessoal, profissional, econômica ou familiar que possa gerar conflito de interesses em relação às atividades do CRPJ.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="cumplimiento-normativo">
|
|
||||||
<h2>18. Cumprimento Normativo</h2>
|
|
||||||
<p>O voluntário compromete-se a cumprir toda a legislação aplicável relacionada aos direitos humanos, à proteção de dados pessoais, ao combate à corrupção, à prevenção da lavagem de dinheiro, à igualdade, à não discriminação e às demais normas aplicáveis.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="uso-imagen-institucional">
|
|
||||||
<h2>19. Uso do Nome e da Identidade Institucional</h2>
|
|
||||||
<p>O nome, o logotipo, as marcas, a identidade institucional e os demais sinais distintivos do CRPJ somente poderão ser utilizados mediante autorização prévia e por escrito.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="redes-sociales">
|
|
||||||
<h2>20. Redes Sociais e Comunicações</h2>
|
|
||||||
<p>O voluntário não poderá conceder declarações públicas, entrevistas, comunicados ou realizar publicações em nome do CRPJ sem autorização prévia.</p>
|
|
||||||
<p>Da mesma forma, compromete-se a utilizar as redes sociais de forma responsável, evitando publicações que possam prejudicar a imagem institucional.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="donaciones">
|
|
||||||
<h2>21. Doações</h2>
|
|
||||||
<p>A condição de voluntário não confere qualquer direito sobre os bens, recursos, projetos ou doações administrados pelo CRPJ.</p>
|
|
||||||
<p>Toda campanha de captação de recursos deverá ser previamente autorizada por escrito.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="fuerza-mayor">
|
|
||||||
<h2>22. Caso Fortuito ou Força Maior</h2>
|
|
||||||
<p>O CRPJ poderá suspender, alterar ou cancelar qualquer atividade em razão de caso fortuito ou força maior, motivos de segurança, conflitos armados, emergências sanitárias, desastres naturais ou quaisquer outras circunstâncias alheias ao seu controle, sem que isso gere qualquer responsabilidade.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="legislacion-jurisdiccion">
|
|
||||||
<h2>23. Legislação Aplicável e Jurisdição</h2>
|
|
||||||
<p>O presente Regulamento será regido pela legislação vigente do país onde forem desenvolvidas as atividades de voluntariado.</p>
|
|
||||||
<p>Qualquer controvérsia será submetida à jurisdição dos tribunais competentes desse país.</p>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="codigo-etica">
|
|
||||||
<h2>Código de Ética do Voluntário</h2>
|
|
||||||
<p>Todo voluntário compromete-se a:</p>
|
|
||||||
<ul>
|
|
||||||
<li>Atuar com honestidade, integridade e transparência.</li>
|
|
||||||
<li>Respeitar a dignidade e os direitos de todas as pessoas.</li>
|
|
||||||
<li>Promover uma cultura de paz, justiça e solidariedade.</li>
|
|
||||||
<li>Manter absoluto sigilo.</li>
|
|
||||||
<li>Evitar conflitos de interesses.</li>
|
|
||||||
<li>Representar o CRPJ com respeito e profissionalismo.</li>
|
|
||||||
<li>Cumprir a legislação aplicável e as políticas institucionais.</li>
|
|
||||||
<li>Preservar a reputação e os valores do CRPJ.</li>
|
|
||||||
<li>Atuar sempre com espírito de serviço.</li>
|
|
||||||
</ul>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section id="politica-privacidad">
|
|
||||||
<h2>Política de Privacidade e Tratamento de Dados Pessoais</h2>
|
|
||||||
<p>O CRPJ reconhece a importância de proteger a privacidade de seus voluntários e compromete-se a tratar todas as informações pessoais em conformidade com a legislação aplicável.</p>
|
|
||||||
<p>Os dados pessoais serão utilizados exclusivamente para:</p>
|
|
||||||
<ul>
|
|
||||||
<li>Administração do Programa de Voluntariado;</li>
|
|
||||||
<li>Organização de atividades e eventos;</li>
|
|
||||||
<li>Comunicação institucional;</li>
|
|
||||||
<li>Cumprimento de obrigações legais;</li>
|
|
||||||
<li>Proteção e segurança dos participantes;</li>
|
|
||||||
<li>Elaboração de estatísticas e relatórios institucionais.</li>
|
|
||||||
</ul>
|
|
||||||
<p>O CRPJ adotará medidas técnicas, administrativas e organizacionais razoáveis para proteger as informações pessoais contra perda, acesso não autorizado, alteração, divulgação ou uso indevido.</p>
|
|
||||||
<p>Os voluntários poderão exercer os direitos assegurados pela legislação aplicável em relação ao acesso, à retificação, à atualização ou à exclusão de seus dados pessoais.</p>
|
|
||||||
</section>
|
|
||||||
|
|
@ -8,7 +8,6 @@ const {
|
||||||
image = null,
|
image = null,
|
||||||
url = null,
|
url = null,
|
||||||
date = null,
|
date = null,
|
||||||
noindex = false,
|
|
||||||
} = Astro.props;
|
} = Astro.props;
|
||||||
|
|
||||||
const imageUrl = image ? new URL(image, Astro.site).toString() : null;
|
const imageUrl = image ? new URL(image, Astro.site).toString() : null;
|
||||||
|
|
@ -21,7 +20,6 @@ const canonicalURL = new URL(url || Astro.url.pathname, Astro.site);
|
||||||
<link rel="icon" href="/favicon.ico" />
|
<link rel="icon" href="/favicon.ico" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<meta name="generator" content={Astro.generator} />
|
<meta name="generator" content={Astro.generator} />
|
||||||
{noindex && <meta name="robots" content="noindex, nofollow" />}
|
|
||||||
<GoogleAnalytics id="G-26KM3HWW9J" />
|
<GoogleAnalytics id="G-26KM3HWW9J" />
|
||||||
|
|
||||||
<title>{title}</title>
|
<title>{title}</title>
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ const languages = [
|
||||||
{ code: "fr", icon: "flagpack--fr", label: "Français" },
|
{ code: "fr", icon: "flagpack--fr", label: "Français" },
|
||||||
{ code: "ru", icon: "flagpack--ru", label: "Русский" },
|
{ code: "ru", icon: "flagpack--ru", label: "Русский" },
|
||||||
{ code: "rw", icon: "flagpack--rw", label: "Kinyarwanda" },
|
{ code: "rw", icon: "flagpack--rw", label: "Kinyarwanda" },
|
||||||
{ code: "kr", icon: "flagpack--ht", label: "Kreole" },
|
{ code: "kr", icon: null, label: "Kreole" },
|
||||||
];
|
];
|
||||||
|
|
||||||
const navItems = [
|
const navItems = [
|
||||||
|
|
@ -63,14 +63,14 @@ function translatePath(newLocale: string) {
|
||||||
const baseId = currentId.split("/").pop();
|
const baseId = currentId.split("/").pop();
|
||||||
const existsInNews = allNews.some(
|
const existsInNews = allNews.some(
|
||||||
(post) =>
|
(post) =>
|
||||||
post.data.slug === baseId && post.data.locale === newLocale,
|
post.id.endsWith(baseId!) && post.data.locale === newLocale,
|
||||||
);
|
);
|
||||||
const existsInEditorial = allEditorial.some(
|
const existsInEditorial = allEditorial.some(
|
||||||
(post) =>
|
(post) =>
|
||||||
post.data.slug === baseId && post.data.locale === newLocale,
|
post.id.endsWith(baseId!) && post.data.locale === newLocale,
|
||||||
);
|
);
|
||||||
if (!existsInNews && !existsInEditorial) return `/${newLocale}/${translatedSegments[0]}`;
|
if (!existsInNews && !existsInEditorial) return `/${newLocale}/${translatedSegments[0]}`;
|
||||||
return `/${newLocale}/${translatedSegments[0]}/${baseId}`;
|
return `/${newLocale}/${translatedSegments[0]}/${newLocale}/${baseId}`;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return `/${[newLocale, ...translatedSegments].join("/")}`;
|
return `/${[newLocale, ...translatedSegments].join("/")}`;
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ const tl = createTranslator(Astro.currentLocale);
|
||||||
<div class="h-screen pb-20 max-h-[700px] sm:max-h-[900px] md:max-h-[1080px] container bg-[url(/img/DRJBP-1.webp)] bg-no-repeat bg-contain bg-bottom mx-auto mt-16">
|
<div class="h-screen pb-20 max-h-[700px] sm:max-h-[900px] md:max-h-[1080px] container bg-[url(/img/DRJBP-1.webp)] bg-no-repeat bg-contain bg-bottom mx-auto mt-16">
|
||||||
|
|
||||||
<div class="grid md:grid-cols-2 h-full px-6">
|
<div class="grid md:grid-cols-2 h-full px-6">
|
||||||
<div class="gap-8 md:flex flex-col justify-end mt-14 md:mt-0">
|
<div class="gap-8 md:flex flex-col justify-end">
|
||||||
<img
|
<img
|
||||||
src="/img/logo-metalico.webp"
|
src="/img/logo-metalico.webp"
|
||||||
alt="Logo Metalico"
|
alt="Logo Metalico"
|
||||||
|
|
|
||||||
|
|
@ -27,23 +27,15 @@ locationArray.filter(Boolean).join(', ');
|
||||||
---
|
---
|
||||||
|
|
||||||
<div class="bg-[#EBE5D0] text-[#003421] p-10">
|
<div class="bg-[#EBE5D0] text-[#003421] p-10">
|
||||||
<div class="flex md:flex-col items-center content-center md:items-baseline">
|
<Icon name="ph:arrow-circle-down-thin" class="text-8xl mb-8" />
|
||||||
<Icon name="ph:arrow-circle-down-thin" class="md:text-8xl text-7xl mb-0 md:mb-8" />
|
<p class="font-light md:text-2xl text-lg md:mb-8 mb-3">
|
||||||
{nicedate ? (
|
|
||||||
<p class="font-light md:text-2xl text-lg ml-2 md:ml-0 md:mb-8 mb-3">
|
|
||||||
{locationArray.filter(Boolean).join(', ')}<br />
|
{locationArray.filter(Boolean).join(', ')}<br />
|
||||||
({nicedate}):
|
({nicedate}):
|
||||||
</p>
|
</p>
|
||||||
) : (
|
<h3 class="md:text-2xl text-lg mb-4 font-bold md:mb-8 hover:underline"><a href={`/${locale}/${getLocalizedRoute(routeKey, locale)}/${data.id}`}>{data.data.title}</a></h3>
|
||||||
<p class="font-light md:text-2xl text-lg md:mb-8 mb-3">
|
|
||||||
{locationArray.filter(Boolean).join(', ')}:
|
|
||||||
</p>
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
<h3 class="md:text-2xl text-lg mb-4 font-bold md:mb-8 hover:underline"><a href={`/${locale}/${getLocalizedRoute(routeKey, locale)}/${data.data.slug}`}>{data.data.title}</a></h3>
|
|
||||||
|
|
||||||
<div class="overflow-hidden">
|
<div class="overflow-hidden">
|
||||||
<a href={`/${locale}/${getLocalizedRoute(routeKey, locale)}/${data.data.slug}`}>
|
<a href={`/${locale}/${getLocalizedRoute(routeKey, locale)}/${data.id}`}>
|
||||||
<Image
|
<Image
|
||||||
src={data.data.thumbnail}
|
src={data.data.thumbnail}
|
||||||
alt={data.data.title}
|
alt={data.data.title}
|
||||||
|
|
@ -53,7 +45,7 @@ locationArray.filter(Boolean).join(', ');
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="mt-8">
|
<div class="mt-8">
|
||||||
<a href={`/${locale}/${getLocalizedRoute(routeKey, locale)}/${data.data.slug}`} class="inline-flex items-center gap-2 px-6 py-3 bg-white text-[#22523F] hover:bg-[#22523F] hover:text-[#EBE6D2] hover:underline font-bold transition text-sm rounded-none uppercase">
|
<a href={`/${locale}/${getLocalizedRoute(routeKey, locale)}/${data.id}`} class="inline-flex items-center gap-2 px-6 py-3 bg-white text-[#22523F] hover:bg-[#22523F] hover:text-[#EBE6D2] hover:underline font-bold transition text-sm rounded-none uppercase">
|
||||||
{tl(routeKey + ".fullnew")}
|
{tl(routeKey + ".fullnew")}
|
||||||
<Icon name="ph:arrow-right" class="transform group-hover:translate-x-1 transition-transform" />
|
<Icon name="ph:arrow-right" class="transform group-hover:translate-x-1 transition-transform" />
|
||||||
</a>
|
</a>
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ const countryName = data?.data?.country ? regionNames.of(data.data.country) : ""
|
||||||
|
|
||||||
const location = [data.data.city, data.data.state, countryName].filter(Boolean).join(", ");
|
const location = [data.data.city, data.data.state, countryName].filter(Boolean).join(", ");
|
||||||
|
|
||||||
const newsUrl = `/${locale}/${getLocalizedRoute(routeKey, locale)}/${data.data.slug}`;
|
const newsUrl = `/${locale}/${getLocalizedRoute(routeKey, locale)}/${data.id}`;
|
||||||
|
|
||||||
const rawContent = content?.body || "";
|
const rawContent = content?.body || "";
|
||||||
const plainText = rawContent.replace(/^#.*$/gm, "").replace(/^###.*$/gm, "").replace(/\*\*([^*]+)\*\*/g, "$1").replace(/\*([^*]+)\*/g, "$1").replace(/_([^_]+)_/g, "$1").replace(/\[([^\]]+)\]\([^)]+\)/g, "$1").replace(/^>.*$/gm, "").replace(/`[^`]+`/g, "").replace(/^[-*]\s+/gm, "").trim();
|
const plainText = rawContent.replace(/^#.*$/gm, "").replace(/^###.*$/gm, "").replace(/\*\*([^*]+)\*\*/g, "$1").replace(/\*([^*]+)\*/g, "$1").replace(/_([^_]+)_/g, "$1").replace(/\[([^\]]+)\]\([^)]+\)/g, "$1").replace(/^>.*$/gm, "").replace(/`[^`]+`/g, "").replace(/^[-*]\s+/gm, "").trim();
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive, computed, onMounted, onBeforeUnmount, watch } from "vue";
|
import { ref, reactive, computed, onMounted, watch } from "vue";
|
||||||
import { Icon } from "@iconify/vue";
|
import { Icon } from "@iconify/vue";
|
||||||
import { createTranslator, getLocalizedRoute } from "../../i18n";
|
import { createTranslator, getLocalizedRoute } from "../../i18n";
|
||||||
|
|
||||||
|
|
@ -49,36 +49,10 @@ const fieldHelp = (key) => {
|
||||||
return v !== k ? v : "";
|
return v !== k ? v : "";
|
||||||
};
|
};
|
||||||
|
|
||||||
const isMinorBetween12and18 = (key) => {
|
|
||||||
const y = dateParts[key]?.year;
|
|
||||||
if (!y) return false;
|
|
||||||
const age = new Date().getFullYear() - y;
|
|
||||||
return age >= 12 && age < 18;
|
|
||||||
};
|
|
||||||
|
|
||||||
const stepErrors = reactive({});
|
const stepErrors = reactive({});
|
||||||
const formatErrors = reactive({});
|
const formatErrors = reactive({});
|
||||||
const phoneParts = reactive({});
|
const phoneParts = reactive({});
|
||||||
const dateParts = reactive({});
|
|
||||||
const triedToProceed = ref(false);
|
const triedToProceed = ref(false);
|
||||||
const helpOpen = reactive({});
|
|
||||||
|
|
||||||
const toggleHelp = (key) => {
|
|
||||||
helpOpen[key] = !helpOpen[key];
|
|
||||||
};
|
|
||||||
|
|
||||||
const closeHelp = () => {
|
|
||||||
Object.keys(helpOpen).forEach((k) => (helpOpen[k] = false));
|
|
||||||
};
|
|
||||||
|
|
||||||
const months = computed(() =>
|
|
||||||
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12].map((n) => tl(`form.month.${n}`))
|
|
||||||
);
|
|
||||||
|
|
||||||
const years = (() => {
|
|
||||||
const y = new Date().getFullYear();
|
|
||||||
return Array.from({ length: 101 }, (_, i) => y - 12 - i);
|
|
||||||
})();
|
|
||||||
|
|
||||||
const remainingRequired = computed(() => {
|
const remainingRequired = computed(() => {
|
||||||
const step = config.value?.steps?.[currentStep.value];
|
const step = config.value?.steps?.[currentStep.value];
|
||||||
|
|
@ -123,9 +97,6 @@ const fetchConfig = async () => {
|
||||||
step.fields.forEach((field) => {
|
step.fields.forEach((field) => {
|
||||||
if (field.type === "checkbox") {
|
if (field.type === "checkbox") {
|
||||||
formData[field.key] = [];
|
formData[field.key] = [];
|
||||||
} else if (field.type === "date") {
|
|
||||||
formData[field.key] = "";
|
|
||||||
dateParts[field.key] = { day: null, month: null, year: null };
|
|
||||||
} else if (field.type === "phone_country") {
|
} else if (field.type === "phone_country") {
|
||||||
formData[field.key] = "";
|
formData[field.key] = "";
|
||||||
phoneParts[field.key] = { code: "", number: "", flag: "" };
|
phoneParts[field.key] = { code: "", number: "", flag: "" };
|
||||||
|
|
@ -152,7 +123,6 @@ const initTurnstile = () => {
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
fetchConfig();
|
fetchConfig();
|
||||||
document.addEventListener("click", closeHelp);
|
|
||||||
if (props.turnstileSiteKey) {
|
if (props.turnstileSiteKey) {
|
||||||
if (document.querySelector('script[src*="turnstile"]')) {
|
if (document.querySelector('script[src*="turnstile"]')) {
|
||||||
const check = setInterval(() => {
|
const check = setInterval(() => {
|
||||||
|
|
@ -172,10 +142,6 @@ onMounted(() => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
|
||||||
document.removeEventListener("click", closeHelp);
|
|
||||||
});
|
|
||||||
|
|
||||||
const validateStep = (stepIndex) => {
|
const validateStep = (stepIndex) => {
|
||||||
const step = config.value?.steps?.[stepIndex];
|
const step = config.value?.steps?.[stepIndex];
|
||||||
if (!step) return true;
|
if (!step) return true;
|
||||||
|
|
@ -342,7 +308,7 @@ const buildPayload = () => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
return { formData: { ...formData, locale: props.locale }, responses, turnstileToken: turnstileToken.value, honeypot: honeypot.value };
|
return { formData: { ...formData }, responses, turnstileToken: turnstileToken.value, honeypot: honeypot.value };
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
|
|
@ -381,20 +347,6 @@ const handleSubmit = async () => {
|
||||||
|
|
||||||
const getFieldError = (key) => stepErrors[key] || false;
|
const getFieldError = (key) => stepErrors[key] || false;
|
||||||
|
|
||||||
const composeDate = (key) => {
|
|
||||||
const parts = dateParts[key];
|
|
||||||
if (!parts) return;
|
|
||||||
const d = parts.day;
|
|
||||||
const m = parts.month;
|
|
||||||
const y = parts.year;
|
|
||||||
if (d && m && y) {
|
|
||||||
formData[key] = `${y}-${String(m).padStart(2, "0")}-${String(d).padStart(2, "0")}`;
|
|
||||||
} else {
|
|
||||||
formData[key] = "";
|
|
||||||
}
|
|
||||||
stepErrors[key] = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
const onPhoneInput = (key, event) => {
|
const onPhoneInput = (key, event) => {
|
||||||
const cleaned = event.target.value.replace(/\D/g, "");
|
const cleaned = event.target.value.replace(/\D/g, "");
|
||||||
formData[key] = cleaned;
|
formData[key] = cleaned;
|
||||||
|
|
@ -464,16 +416,8 @@ const showCountrySuggestions = reactive({});
|
||||||
|
|
||||||
const loadSuggestions = async (source) => {
|
const loadSuggestions = async (source) => {
|
||||||
if (suggestionsCache.value[source]) return;
|
if (suggestionsCache.value[source]) return;
|
||||||
let url = source;
|
|
||||||
if (source?.includes("paises.json") && props.locale && props.locale !== "es") {
|
|
||||||
const localized = `/forms/paises-${props.locale}.json`;
|
|
||||||
try {
|
try {
|
||||||
const res = await fetch(localized);
|
const res = await fetch(source);
|
||||||
if (res.ok) url = localized;
|
|
||||||
} catch {}
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
const res = await fetch(url);
|
|
||||||
suggestionsCache.value[source] = await res.json();
|
suggestionsCache.value[source] = await res.json();
|
||||||
} catch {}
|
} catch {}
|
||||||
};
|
};
|
||||||
|
|
@ -556,7 +500,6 @@ const onReglamentoScroll = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
watch(currentStep, (step) => {
|
watch(currentStep, (step) => {
|
||||||
closeHelp();
|
|
||||||
if (step === 0) {
|
if (step === 0) {
|
||||||
fetchReglamento();
|
fetchReglamento();
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -614,7 +557,7 @@ const getFieldInputType = (field) => {
|
||||||
|
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<div v-if="!isSuccess" class="w-full max-w-3xl mx-auto md:px-4 sm:px-0">
|
<div v-if="!isSuccess" class="w-full max-w-3xl mx-auto md:px-4 sm:px-0">
|
||||||
<div class="flex flex-wrap sm:flex-nowrap items-center justify-center gap-x-1 md:gap-x-2 gap-y-2 sm:gap-y-3 mb-4 sm:mb-6 lg:mb-8 overflow-x-auto">
|
<div class="flex flex-wrap sm:flex-nowrap items-center justify-center gap-x-1 md:gap-x-2 gap-y-2 sm:gap-y-3 mb-4 sm:mb-6 lg:mb-8">
|
||||||
<template v-for="(step, index) in config.steps" :key="index">
|
<template v-for="(step, index) in config.steps" :key="index">
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
|
|
@ -638,7 +581,7 @@ const getFieldInputType = (field) => {
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form @submit.prevent="handleSubmit" class="bg-[#EBE6D2] p-5 sm:p-8 lg:p-10 rounded-none w-auto">
|
<form @submit.prevent="handleSubmit" class="bg-[#EBE6D2] p-5 sm:p-8 lg:p-10 rounded-none">
|
||||||
<h3 class="text-lg sm:text-xl font-bold text-[#22523F] mb-4 sm:mb-6 text-center font-secondary">
|
<h3 class="text-lg sm:text-xl font-bold text-[#22523F] mb-4 sm:mb-6 text-center font-secondary">
|
||||||
{{ tl(currentStepData.label) }}
|
{{ tl(currentStepData.label) }}
|
||||||
</h3>
|
</h3>
|
||||||
|
|
@ -680,19 +623,8 @@ const getFieldInputType = (field) => {
|
||||||
{{ tl(field.label) }}
|
{{ tl(field.label) }}
|
||||||
<span v-if="field.required" class="text-red-500 ml-0.5">*</span>
|
<span v-if="field.required" class="text-red-500 ml-0.5">*</span>
|
||||||
<div v-if="fieldHelp(field.key)" class="relative inline-flex group cursor-help ml-1">
|
<div v-if="fieldHelp(field.key)" class="relative inline-flex group cursor-help ml-1">
|
||||||
<button
|
|
||||||
type="button"
|
|
||||||
class="inline-flex items-center cursor-help"
|
|
||||||
:aria-expanded="!!helpOpen[field.key]"
|
|
||||||
aria-label="Ayuda"
|
|
||||||
@click.stop="toggleHelp(field.key)"
|
|
||||||
>
|
|
||||||
<Icon icon="ph:question" class="text-gray-400 text-sm" />
|
<Icon icon="ph:question" class="text-gray-400 text-sm" />
|
||||||
</button>
|
<div class="absolute bottom-full mb-1 left-1/2 -translate-x-1/2 bg-gray-800 text-white text-xs rounded px-3 py-1.5 opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none z-20 shadow-lg w-64 whitespace-normal text-center leading-normal">
|
||||||
<div
|
|
||||||
class="absolute bottom-full mb-1 left-1/2 -translate-x-1/2 bg-gray-800 text-white text-xs rounded px-3 py-1.5 opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none z-20 shadow-lg w-64 whitespace-normal text-center leading-normal"
|
|
||||||
:class="helpOpen[field.key] ? 'opacity-100' : ''"
|
|
||||||
>
|
|
||||||
<span v-if="field.required" class="text-red-300 block">* {{ tl("form.required") }}</span>
|
<span v-if="field.required" class="text-red-300 block">* {{ tl("form.required") }}</span>
|
||||||
<span v-else class="text-gray-300 block">{{ tl("form.optional") }}</span>
|
<span v-else class="text-gray-300 block">{{ tl("form.optional") }}</span>
|
||||||
{{ fieldHelp(field.key) }}
|
{{ fieldHelp(field.key) }}
|
||||||
|
|
@ -719,44 +651,19 @@ const getFieldInputType = (field) => {
|
||||||
/>
|
/>
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
<div
|
<label
|
||||||
v-else-if="field.type === 'date'"
|
v-else-if="field.type === 'date'"
|
||||||
class="flex gap-2 w-full"
|
class="input w-full bg-white rounded-xl focus-within:outline-2 focus-within:outline-[#22523F]"
|
||||||
:class="{ 'input-error': getFieldError(field.key) }"
|
:class="{ 'input-error border-red-500 focus-within:outline-red-500': getFieldError(field.key) }"
|
||||||
>
|
>
|
||||||
<select
|
<Icon icon="ph:calendar" class="shrink-0 opacity-50 text-gray-400 text-lg" />
|
||||||
class="select select-bordered bg-white rounded-xl w-full focus:outline-2 focus:outline-[#22523F] text-[#1a1a1a]"
|
<input
|
||||||
:class="{ 'border-red-500 focus:outline-red-500': getFieldError(field.key) }"
|
class="grow text-[#1a1a1a]"
|
||||||
v-model="dateParts[field.key].day"
|
type="date"
|
||||||
@change="composeDate(field.key)"
|
v-model="formData[field.key]"
|
||||||
>
|
@change="stepErrors[field.key] = false"
|
||||||
<option :value="null" disabled>{{ tl("form.date.day") }}</option>
|
/>
|
||||||
<option v-for="d in 31" :key="d" :value="d">{{ d }}</option>
|
</label>
|
||||||
</select>
|
|
||||||
<select
|
|
||||||
class="select select-bordered bg-white rounded-xl w-full focus:outline-2 focus:outline-[#22523F] text-[#1a1a1a]"
|
|
||||||
:class="{ 'border-red-500 focus:outline-red-500': getFieldError(field.key) }"
|
|
||||||
v-model="dateParts[field.key].month"
|
|
||||||
@change="composeDate(field.key)"
|
|
||||||
>
|
|
||||||
<option :value="null" disabled>{{ tl("form.date.month") }}</option>
|
|
||||||
<option v-for="(m, i) in months" :key="i" :value="i + 1">{{ m }}</option>
|
|
||||||
</select>
|
|
||||||
<select
|
|
||||||
class="select select-bordered bg-white rounded-xl w-full focus:outline-2 focus:outline-[#22523F] text-[#1a1a1a]"
|
|
||||||
:class="{ 'border-red-500 focus:outline-red-500': getFieldError(field.key) }"
|
|
||||||
v-model="dateParts[field.key].year"
|
|
||||||
@change="composeDate(field.key)"
|
|
||||||
>
|
|
||||||
<option :value="null" disabled>{{ tl("form.date.year") }}</option>
|
|
||||||
<option v-for="y in years" :key="y" :value="y">{{ y }}</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-if="field.type === 'date' && isMinorBetween12and18(field.key)" class="bg-amber-50 border-l-4 border-amber-400 text-amber-800 p-3 mt-1 text-sm flex items-start gap-2">
|
|
||||||
<Icon icon="ph:info" class="text-lg mt-0.5 shrink-0" />
|
|
||||||
<span class="font-secondary">{{ tl("form.fecha_nacimiento_menor_aviso") }}</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div v-else-if="field.type === 'select'" class="relative">
|
<div v-else-if="field.type === 'select'" class="relative">
|
||||||
<label
|
<label
|
||||||
|
|
@ -1005,13 +912,13 @@ const getFieldInputType = (field) => {
|
||||||
</button>
|
</button>
|
||||||
<div
|
<div
|
||||||
v-if="currentStep === 0 && !reglamentoScrolled"
|
v-if="currentStep === 0 && !reglamentoScrolled"
|
||||||
class="absolute bottom-full mb-1 sm:mb-2 right-0 w-64 max-w-[80vw] whitespace-normal text-center leading-normal bg-gray-800 text-white text-xs rounded px-3 py-1.5 opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none z-10 shadow-lg"
|
class="absolute bottom-full mb-1 sm:mb-2 left-1/2 -translate-x-1/2 whitespace-nowrap bg-gray-800 text-white text-xs rounded px-3 py-1.5 opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none z-10 shadow-lg"
|
||||||
>
|
>
|
||||||
{{ tl("form.reglamento_tooltip") }}
|
{{ tl("form.reglamento_tooltip") }}
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-else-if="remainingRequired > 0"
|
v-else-if="remainingRequired > 0"
|
||||||
class="absolute bottom-full mb-1 sm:mb-2 right-0 w-64 max-w-[80vw] whitespace-normal text-center leading-normal bg-gray-800 text-white text-xs rounded px-3 py-1.5 opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none z-10 shadow-lg"
|
class="absolute bottom-full mb-1 sm:mb-2 left-1/2 -translate-x-1/2 whitespace-nowrap bg-gray-800 text-white text-xs rounded px-3 py-1.5 opacity-0 group-hover:opacity-100 transition-opacity pointer-events-none z-10 shadow-lg"
|
||||||
>
|
>
|
||||||
{{ tl(remainingRequired === 1 ? "form.remaining_required_one" : "form.remaining_required", { count: remainingRequired }) }}
|
{{ tl(remainingRequired === 1 ? "form.remaining_required_one" : "form.remaining_required", { count: remainingRequired }) }}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -7,38 +7,38 @@ const tl = createTranslator(Astro.currentLocale);
|
||||||
const { props } = Astro.props;
|
const { props } = Astro.props;
|
||||||
---
|
---
|
||||||
<div class="container mx-auto">
|
<div class="container mx-auto">
|
||||||
<div class="grid md:grid-cols-2 min-w-0">
|
<div class="grid md:grid-cols-2 min-h-100">
|
||||||
<div class="bg-[#EBE5D0] p-6 md:p-12 lg:p-24 grid lg:grid-cols-2 min-w-0">
|
<div class="bg-[#EBE5D0] p-12 md:p-24 grid lg:grid-cols-2">
|
||||||
<div class="flex flex-col justify-between min-h-full min-w-0">
|
<div class="leftcol flex justify-between flex-col min-h-full">
|
||||||
<h2 class="text-3xl lg:text-2xl xl:text-3xl 2xl:text-5xl font-secondary text-tertiary font-bold wrap-break-word">{tl("values.justice.title")}</h2>
|
<h2 class="text-5xl font-secondary text-tertiary font-bold">{tl("values.justice.title")}</h2>
|
||||||
<p class="text-lg text-tertiary break-words">{tl("values.justice.text")}</p>
|
<p class="text-lg text-tertiary">{tl("values.justice.text")}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-end justify-end min-h-full min-w-0 max-w-full">
|
<div class="rightcol flex justify-end align-bottom min-h-full ">
|
||||||
<Icon name="icon_justice_1" class="text-6xl md:text-9xl text-tertiary max-w-full h-auto" />
|
<Icon name="icon_justice_1" class="text-9xl text-tertiary self-end" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-tertiary p-6 md:p-12 lg:p-24 grid lg:grid-cols-2 min-w-0">
|
<div class="bg-tertiary p-12 md:p-24 grid lg:grid-cols-2">
|
||||||
<div class="flex flex-col justify-between min-h-full min-w-0 max-w-full">
|
<div class="leftcol flex justify-between flex-col min-h-full">
|
||||||
<h2 class="text-3xl lg:text-2xl xl:text-3xl 2xl:text-5xl font-secondary font-bold text-[#CBA16A] wrap-break-word">{tl("values.integrity.title")}</h2>
|
<h2 class="text-5xl font-secondary font-bold text-[#CBA16A]">{tl("values.integrity.title")}</h2>
|
||||||
<p class="text-[#CBA16A] text-lg break-words">{tl("values.integrity.text")}</p>
|
<p class="text-[#CBA16A] text-lg">{tl("values.integrity.text")}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-end justify-end min-h-full min-w-0 max-w-full">
|
<div class="rightcol flex justify-end align-bottom min-h-full ">
|
||||||
<Icon name="icon_justice_2" class="text-[#EBE5D0] text-6xl md:text-9xl max-w-full h-auto" />
|
<Icon name="icon_justice_2" class="text-[#EBE5D0] text-9xl self-end" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid lg:grid-cols-3">
|
<div class="grid lg:grid-cols-3">
|
||||||
<div class="bg-tertiary p-12 xl:p-20 2xl:p-24 flex justify-between flex-col min-h-full lg:aspect-square min-w-0">
|
<div class="bg-tertiary p-12 xl:p-20 2xl:p-24 flex justify-between flex-col min-h-full lg:aspect-square">
|
||||||
<h2 class="text-3xl 2xl:text-5xl font-secondary font-bold text-white wrap-break-word">{tl("values.service.title")}</h2>
|
<h2 class="text-3xl xl:text-5xl font-secondary font-bold text-white">{tl("values.service.title")}</h2>
|
||||||
<p class="text-xl text-[#EBE5D0] wrap-break-word">{tl("values.service.text")}</p>
|
<p class="text-xl text-[#EBE5D0]">{tl("values.service.text")}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-[#BEA48D] p-12 xl:p-20 2xl:p-24 flex justify-between flex-col min-h-full lg:aspect-square min-w-0">
|
<div class="bg-[#BEA48D] p-12 xl:p-20 2xl:p-24 flex justify-between flex-col min-h-full lg:aspect-square">
|
||||||
<h2 class="text-3xl 2xl:text-5xl font-secondary font-bold text-tertiary wrap-break-word">{tl("values.excellence.title")}</h2>
|
<h2 class="text-3xl xl:text-5xl font-secondary font-bold text-tertiary">{tl("values.excellence.title")}</h2>
|
||||||
<p class="text-xl text-tertiary wrap-break-word">{tl("values.excellence.text")}</p>
|
<p class="text-xl text-tertiary">{tl("values.excellence.text")}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-[#22523F] p-12 xl:p-20 2xl:p-24 flex justify-between flex-col min-h-full lg:aspect-square min-w-0">
|
<div class="bg-[#22523F] p-12 xl:p-20 2xl:p-24 flex justify-between flex-col min-h-full lg:aspect-square">
|
||||||
<h2 class="text-3xl 2xl:text-5xl font-secondary font-bold text-white wrap-break-word">{tl("values.dialogue.title")}</h2>
|
<h2 class="text-3xl xl:text-5xl font-secondary font-bold text-white">{tl("values.dialogue.title")}</h2>
|
||||||
<p class="text-white text-xl wrap-break-word">{tl("values.dialogue.text")}</p>
|
<p class="text-white text-xl">{tl("values.dialogue.text")}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -36,7 +36,7 @@ dayjs.locale(currentLocale || "es");
|
||||||
{
|
{
|
||||||
sorted.map((item) => {
|
sorted.map((item) => {
|
||||||
const date = dayjs.utc(item.data.date).format("D MMMM YYYY");
|
const date = dayjs.utc(item.data.date).format("D MMMM YYYY");
|
||||||
const url = `/${currentLocale}/${getLocalizedRoute("editorial", currentLocale)}/${item.data.slug}`;
|
const url = `/${currentLocale}/${getLocalizedRoute("editorial", currentLocale)}/${item.id}`;
|
||||||
const thumb = item.data.thumbnail_square || item.data.thumbnail;
|
const thumb = item.data.thumbnail_square || item.data.thumbnail;
|
||||||
return (
|
return (
|
||||||
<a href={url} class="flex gap-5 py-5 group hover:bg-[#003421]/5 transition-colors -mx-3 px-3 rounded-sm">
|
<a href={url} class="flex gap-5 py-5 group hover:bg-[#003421]/5 transition-colors -mx-3 px-3 rounded-sm">
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ import { createTranslator, t } from "../../i18n";
|
||||||
const tl = createTranslator(Astro.currentLocale);
|
const tl = createTranslator(Astro.currentLocale);
|
||||||
|
|
||||||
const isHebrew = Astro.currentLocale === "he";
|
const isHebrew = Astro.currentLocale === "he";
|
||||||
const { hideContact } = Astro.props;
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<div id="contact" class="bg-[#22523F]">
|
<div id="contact" class="bg-[#22523F]">
|
||||||
|
|
@ -53,7 +52,7 @@ const { hideContact } = Astro.props;
|
||||||
>
|
>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
{!hideContact && <FormContact client:load locale={Astro.currentLocale} />}
|
<FormContact client:load locale={Astro.currentLocale} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
|
|
|
||||||
|
|
@ -92,34 +92,6 @@ const handleSubmit = async (e) => {
|
||||||
|
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<!-- Submit -->
|
|
||||||
<button
|
|
||||||
type="submit"
|
|
||||||
:disabled="isLoading"
|
|
||||||
class="bg-[#003421] px-6 py-2 text-sm cursor-pointer transition duration-300"
|
|
||||||
:class="[
|
|
||||||
isLoading ? 'opacity-70 cursor-not-allowed' : 'hover:bg-[#EBE5D0] hover:text-[#003421]',
|
|
||||||
isError ? 'bg-red-600 text-white' : ''
|
|
||||||
]"
|
|
||||||
>
|
|
||||||
<span v-if="isLoading" class="flex items-center gap-2">
|
|
||||||
<span class="w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin"></span>
|
|
||||||
Enviando...
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span v-else-if="isSuccess">
|
|
||||||
Enviado ✓
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span v-else-if="isError">
|
|
||||||
Error
|
|
||||||
</span>
|
|
||||||
|
|
||||||
<span v-else>
|
|
||||||
{{ tl("footer.form.button") }}
|
|
||||||
</span>
|
|
||||||
</button>
|
|
||||||
|
|
||||||
<div class="flex flex-row justify-between items-center mt-4">
|
<div class="flex flex-row justify-between items-center mt-4">
|
||||||
|
|
||||||
<!-- Social Icons -->
|
<!-- Social Icons -->
|
||||||
|
|
@ -155,6 +127,34 @@ const handleSubmit = async (e) => {
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<!-- Submit -->
|
||||||
|
<button
|
||||||
|
type="submit"
|
||||||
|
:disabled="isLoading"
|
||||||
|
class="bg-[#003421] px-6 py-2 text-sm cursor-pointer transition duration-300"
|
||||||
|
:class="[
|
||||||
|
isLoading ? 'opacity-70 cursor-not-allowed' : 'hover:bg-[#EBE5D0] hover:text-[#003421]',
|
||||||
|
isError ? 'bg-red-600 text-white' : ''
|
||||||
|
]"
|
||||||
|
>
|
||||||
|
<span v-if="isLoading" class="flex items-center gap-2">
|
||||||
|
<span class="w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin"></span>
|
||||||
|
Enviando...
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span v-else-if="isSuccess">
|
||||||
|
Enviado ✓
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span v-else-if="isError">
|
||||||
|
Error
|
||||||
|
</span>
|
||||||
|
|
||||||
|
<span v-else>
|
||||||
|
{{ tl("footer.form.button") }}
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</template>
|
</template>
|
||||||
|
|
|
||||||
|
|
@ -10,37 +10,37 @@ const tl = createTranslator(Astro.currentLocale);
|
||||||
<h2 class="text-3xl lg:text-5xl text-center font-bold font-secondary my-8 text-[#003421]">{tl("formation.title")}</h2>
|
<h2 class="text-3xl lg:text-5xl text-center font-bold font-secondary my-8 text-[#003421]">{tl("formation.title")}</h2>
|
||||||
<p class="text-lg w-2/3 mx-auto mb-20 text-[#003421] text-justify" set:html={tl("formation.text")}></p>
|
<p class="text-lg w-2/3 mx-auto mb-20 text-[#003421] text-justify" set:html={tl("formation.text")}></p>
|
||||||
|
|
||||||
<div class="grid xl:grid-cols-3 text-[#003421] md:gap-20 gap-10 md:p-0 p-5">
|
<div class="grid xl:grid-cols-3 text-[#003421] gap-20">
|
||||||
<div class="bg-[#EBE5D0] p-12 relative pb-32 md:pb-52">
|
<div class="bg-[#EBE5D0] p-12 relative pb-40">
|
||||||
<Icon name="ph:arrow-circle-down-thin" class="text-6xl mb-12 text-[#003421]" />
|
<Icon name="ph:arrow-circle-down-thin" class="text-6xl mb-12 text-[#003421]" />
|
||||||
<h4 class="text-[#003421] text-2xl mb-12">{tl("formation.area.title")}</h4>
|
<h4 class="text-[#003421] text-2xl mb-12">{tl("formation.area.title")}</h4>
|
||||||
|
|
||||||
<ul class="text-lg list-disc font-normal list-inside leading-8" set:html={tl("formation.area.text")}></ul>
|
<ul class="text-lg list-disc font-normal list-inside leading-8" set:html={tl("formation.area.text")}></ul>
|
||||||
|
|
||||||
<div class="bottom-8 right-8 md:bottom-12 md:right-12 absolute">
|
<div class="bottom-12 right-12 absolute">
|
||||||
<Icon name="icon_formation_1" class="text-8xl md:text-9xl text-[#003421]" />
|
<Icon name="icon_formation_1" class="text-8xl text-[#003421]" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="bg-[#EBE5D0] p-12 relative pb-32 md:pb-52">
|
<div class="bg-[#EBE5D0] text-[#003421] p-12 relative pb-40">
|
||||||
<Icon name="ph:arrow-circle-down-thin" class="text-6xl mb-12 text-[#003421]" />
|
<Icon name="ph:arrow-circle-down-thin" class="text-6xl mb-12 text-[#003421]" />
|
||||||
<h4 class="text-[#003421] text-2xl mb-12">{tl("formation.consulting.title")}</h4>
|
<h4 class="text-[#003421] text-2xl mb-12">{tl("formation.consulting.title")}</h4>
|
||||||
|
|
||||||
<p class="text-lg font-normal">{tl("formation.consulting.text")}</p>
|
<p class="text-lg font-normal">{tl("formation.consulting.text")}</p>
|
||||||
|
|
||||||
<div class="bottom-8 right-8 md:bottom-12 md:right-12 absolute">
|
<div class="bottom-12 right-12 absolute">
|
||||||
<Icon name="icon_formation_2" class="text-8xl md:text-9xl text-[#003421]" />
|
<Icon name="icon_formation_2" class="text-8xl" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="bg-[#EBE5D0] p-12 relative pb-32 md:pb-52">
|
<div class="bg-[#EBE5D0] text-[#003421] p-12 relative pb-40">
|
||||||
<Icon name="ph:arrow-circle-down-thin" class="text-6xl mb-12 text-[#003421]" />
|
<Icon name="ph:arrow-circle-down-thin" class="text-6xl mb-12 text-[#003421]" />
|
||||||
<h4 class="text-[#003421] text-2xl mb-12" set:html={tl("formation.action.title")}></h4>
|
<h4 class="text-[#003421] text-2xl mb-12" set:html={tl("formation.action.title")}></h4>
|
||||||
|
|
||||||
<p class="text-lg font-normal" set:html={tl("formation.action.text")}></p>
|
<p class="text-lg font-normal" set:html={tl("formation.action.text")}></p>
|
||||||
|
|
||||||
<div class="bottom-8 right-8 md:bottom-12 md:right-12 absolute">
|
<div class="bottom-12 right-12 absolute">
|
||||||
<Icon name="icon_formation_3" class="text-8xl md:text-9xl text-[#003421]" />
|
<Icon name="icon_formation_3" class="text-8xl" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ const cards = [
|
||||||
{
|
{
|
||||||
type: 'text',
|
type: 'text',
|
||||||
icon: 'ph:arrow-circle-up-thin',
|
icon: 'ph:arrow-circle-up-thin',
|
||||||
text: 'Enseñanza de las escrituras aplicada al análisis del mundo contemporáneo.',
|
text: 'Enseñanza bíblica aplicada al análisis del mundo contemporáneo.',
|
||||||
textColor: '#EBE5D0',
|
textColor: '#EBE5D0',
|
||||||
bgColor: '#003421'
|
bgColor: '#003421'
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -3,15 +3,10 @@ import { glob, file } from 'astro/loaders';
|
||||||
import { z } from 'astro/zod';
|
import { z } from 'astro/zod';
|
||||||
|
|
||||||
const news = defineCollection({
|
const news = defineCollection({
|
||||||
loader: glob({
|
loader: glob({ pattern: "**/*.md", base: "./src/content/news" }),
|
||||||
pattern: "**/*.md",
|
|
||||||
base: "./src/content/news",
|
|
||||||
generateId: ({ data, entry }) => `${data.locale}/${data.slug ?? entry.replace(/\.md$/, "")}`,
|
|
||||||
}),
|
|
||||||
schema: ({ image }) => z.object({
|
schema: ({ image }) => z.object({
|
||||||
locale: z.string().describe("News main language"),
|
locale: z.string().describe("News main language"),
|
||||||
title: z.string(),
|
title: z.string(),
|
||||||
slug: z.string(),
|
|
||||||
date: z.date(),
|
date: z.date(),
|
||||||
draft: z.boolean().optional(),
|
draft: z.boolean().optional(),
|
||||||
place: z.string().optional(),
|
place: z.string().optional(),
|
||||||
|
|
@ -36,7 +31,6 @@ const editorial = defineCollection({
|
||||||
schema: ({ image }) => z.object({
|
schema: ({ image }) => z.object({
|
||||||
locale: z.string().describe("Editorial main language"),
|
locale: z.string().describe("Editorial main language"),
|
||||||
title: z.string(),
|
title: z.string(),
|
||||||
slug: z.string(),
|
|
||||||
date: z.date(),
|
date: z.date(),
|
||||||
draft: z.boolean().optional(),
|
draft: z.boolean().optional(),
|
||||||
place: z.string().optional(),
|
place: z.string().optional(),
|
||||||
|
|
|
||||||
|
|
@ -99,9 +99,7 @@ Sobre este punto expresó:
|
||||||
|
|
||||||
Estas palabras reflejan la importancia que el **Dr. José Benjamín Pérez Matos** atribuye al calendario político israelí dentro del contexto regional. Desde esta perspectiva, el tiempo disponible para consolidar determinadas decisiones estratégicas resulta limitado y podría verse condicionado por el resultado de los próximos comicios.
|
Estas palabras reflejan la importancia que el **Dr. José Benjamín Pérez Matos** atribuye al calendario político israelí dentro del contexto regional. Desde esta perspectiva, el tiempo disponible para consolidar determinadas decisiones estratégicas resulta limitado y podría verse condicionado por el resultado de los próximos comicios.
|
||||||
|
|
||||||
Como señaló el propio **Dr. José Benjamín Pérez Matos**:
|
Como señaló el propio **Dr. José Benjamín Pérez Matos**: «el margen de maniobra para consolidar las posiciones de fuerza es sumamente estrecho. Los actores políticos deben actuar con presteza ante la posibilidad de un vuelco electoral o una sorpresa en las urnas».
|
||||||
|
|
||||||
**«el margen de maniobra para consolidar las posiciones de fuerza es sumamente estrecho. Los actores políticos deben actuar con presteza ante la posibilidad de un vuelco electoral o una sorpresa en las urnas»**.
|
|
||||||
|
|
||||||
Esta advertencia constituye el cierre natural del análisis geopolítico desarrollado a lo largo de esta reflexión. Sin embargo, para el **Dr. José Benjamín Pérez Matos**, los acontecimientos internacionales no pueden comprenderse únicamente desde la perspectiva de las decisiones humanas, de la diplomacia o de la estrategia militar.
|
Esta advertencia constituye el cierre natural del análisis geopolítico desarrollado a lo largo de esta reflexión. Sin embargo, para el **Dr. José Benjamín Pérez Matos**, los acontecimientos internacionales no pueden comprenderse únicamente desde la perspectiva de las decisiones humanas, de la diplomacia o de la estrategia militar.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
---
|
|
||||||
locale: fr
|
|
||||||
title: 'La véritable nature des idées'
|
|
||||||
date: 2026-06-29
|
|
||||||
order: 1
|
|
||||||
# city: 'Palmira'
|
|
||||||
# country: 'CO'
|
|
||||||
# state: 'Valle del Cauca'
|
|
||||||
slug: 2026-06-29-la-veritable-nature-des-idees
|
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280,q-100/comunicado-1.webp'
|
|
||||||
# tags: [Comunicado, Venezuela, Estados Unidos]
|
|
||||||
gallery: [
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred,q-70/comunicado-1.webp',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
---
|
|
||||||
# La véritable nature des idées
|
|
||||||
|
|
||||||
Les campagnes électorales sont souvent chargées de promesses, de slogans et de discours soigneusement élaborés pour conquérir le vote des citoyens. Cependant, une fois la lutte politique terminée, vient le moment où les idées quittent le plan théorique et commencent à se manifester dans la réalité. Je soutiens fermement que c'est précisément à ce moment-là qu'il devient possible de connaître la véritable nature d'une idéologie : non pas par ce qu'elle promet, mais par la conduite qu'elle inspire chez ses dirigeants, ses militants et ceux qui agissent en son nom.
|
|
||||||
|
|
||||||
Les idéologies ne doivent pas être jugées par la beauté de leurs discours, mais par leurs résultats concrets.
|
|
||||||
|
|
||||||
Dans cette perspective, l'un des indicateurs les plus clairs consiste à observer comment réagissent les différents secteurs politiques lorsqu'ils perdent le pouvoir ou lorsque le résultat d'une élection leur est défavorable. Dans divers pays d'Amérique latine —comme le Chili, la Bolivie, le Honduras et l'Équateur— on observe un phénomène qui se répète fréquemment : lorsqu’un gouvernement de gauche est remplacé par un gouvernement de droite, la réponse n'est pas l'acceptation institutionnelle, mais l'agitation, les troubles et les actions destinées à altérer l'ordre public. En revanche, lorsque les résultats électoraux favorisent la gauche, la normalité prévaut. La droite, dans sa grande majorité, accepte les résultats et respecte l'ordre sans recourir à la violence comme instrument de pression politique ; les rares débordements isolés proviennent d'individus malavisés ou de provocateurs infiltrés pour générer de la déstabilisation.
|
|
||||||
|
|
||||||
Cette profonde différence et asymétrie morale se manifeste avec une clarté totale dans la sécurité des dirigeants pendant les campagnes politiques.
|
|
||||||
Je me souviens parfaitement des vives critiques envers le président de la Colombie pour avoir assisté à ses réunions publiques entouré d’un important dispositif de sécurité, l'utilisant pour le présenter comme quelqu'un de craintif. Cependant, ce dirigeant devait protéger sa vie car il existait des menaces concrètes de mort à son encontre. Au contraire, le candidat de gauche marchait librement et sans crainte. L'explication est purement logique : ses partisans n'attaqueraient jamais leur propre leader, et nous, dans les secteurs de droite, ne sommes pas des assassins et n'avons pas recours à l'élimination physique de l'adversaire comme outil d'action politique. C'est dans ce besoin de protection que se révèle de quel côté se trouve l'inclination vers le mal et la violence.
|
|
||||||
|
|
||||||
Il ne s'agit pas de généraliser de manière absolue ; je reconnais que tous ceux qui s'identifient à la gauche ne participent pas à ces comportements. Beaucoup de citoyens soutiennent ces mouvements de bonne foi, convaincus qu'ils représentent un chemin vers une société plus juste. Cependant, ils sont guides par des idées trompeuses qui promettent la justice sociale, mais dont ils ignorent complètement les conséquences réelles.
|
|
||||||
|
|
||||||
Les exemples de la région son éloquents, douloureux et ne souffrent aucune discussion.
|
|
||||||
|
|
||||||
Cuba, qui à l'époque était l'une des îles les plus prospères et avancées du continent, sombre aujourd'hui dans un profond déclin économique et social, manquant même de services de base, comme l'approvisionnement en électricité. Le même scénario de destruction institutionnelle et économique a été suivi par le Nicaragua et le Venezuela.
|
|
||||||
|
|
||||||
Cette dernière nation se trouve aujourd'hui dans une transition cruciale ; et mon ardent désir est que ce processus aboutisse pleinement afin que le peuple vénézuélien rompe ses chaînes, récupère ses institutions démocratiques et vive à nouveau en liberté totale.
|
|
||||||
|
|
||||||
L'histoire récente offre des exemples suffisants pour évaluer chaque modèle ; c'est pourquoi je réaffirme ma conviction que la défense de la liberté, l'État de droit et la coexistence pacifique sont les piliers indispensables pour construire des sociétés véritablement prospères.
|
|
||||||
|
|
||||||
|
|
||||||
**Dr. José Benjamín Pérez Matos**<br>
|
|
||||||
Président<br>
|
|
||||||
|
|
@ -1,111 +0,0 @@
|
||||||
---
|
|
||||||
locale: fr
|
|
||||||
title: Paix temporaire ou le début d'un réaménagement global au Moyen-Orient ?
|
|
||||||
date: 2026-07-26
|
|
||||||
order: 1
|
|
||||||
# city: 'Palmira'
|
|
||||||
# country: 'CO'
|
|
||||||
# state: 'Valle del Cauca'
|
|
||||||
slug: 2026-07-26-paix-temporaire-ou-le-debut-dun-reamenagement-global-au-moyen-orient
|
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280,q-100/comunicado-1.webp'
|
|
||||||
# tags: [Comunicado, Venezuela, Estados Unidos]
|
|
||||||
gallery: [
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred,q-70/comunicado-1.webp',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
---
|
|
||||||
# Paix temporaire ou le début d'un réaménagement global au Moyen-Orient ?
|
|
||||||
|
|
||||||
Les événements des dernières semaines au Moyen-Orient ont remis la région au centre de l'attention internationale. La récente pause dans les bombardements américains sur le territoire iranien, après près de deux semaines d'hostilités continues, a ouvert une période d'attente que de nombreux analystes présentent comme une possible avancée diplomatique.
|
|
||||||
|
|
||||||
Les conversations techniques menées à Oman, et les efforts visant à stabiliser le transit par le détroit d'Ormuz, semblent refléter l'intention de réduire les tensions régionales et d'éviter une escalade qui compromettrait encore plus la stabilité régionale et le commerce international.
|
|
||||||
|
|
||||||
Cependant, pour le **Dr. José Benjamín Pérez Matos**, derrière ces mouvements diplomatiques se cache une réalité bien plus profonde et transcendante qui ne peut être comprise uniquement depuis la perspective de la politique internationale.
|
|
||||||
|
|
||||||
En se référant au moment que traverse la région, il a exprimé :
|
|
||||||
|
|
||||||
**«Maintenant, ces jours-ci, les États-Unis ont encore cette guerre avec l'Iran ; et la dernière chose que j'ai entendue : il semble qu'ils vont s'arrêter là, alors qu'ils devraient éradiquer le problème à la racine, le problème ! S'ils continuent à lancer deux bombes et à se retirer, eux, plus tard, ils vont faire la même chose. Vous voyez ? Ce sont des processus apparemment de paix temporaire, mais le mal démure ».**
|
|
||||||
|
|
||||||
Ces mots invitent à distinguer entre une paix circonstancielle et l'élimination définitive les causes à l'origine du conflit. Dans cette perspective, une interruption temporaire des opérations militaires ne constitue pas nécessairement la résolution du problème, mais seulement une pause dans un processus qui reste ouvert.
|
|
||||||
|
|
||||||
L'évolution même des événements internationaux confirme la fragilité du scénario actuel.
|
|
||||||
|
|
||||||
Alors que l’armée américaine a suspendu ses frappes aériennes après treize nuits consécutives de bombardements, l'incertitude continue de prédominer dans la communauté internationale. Le panorama reste ouvert, et les principales puissances continuent d'évaluer les prochaines étapes, dans une région dont la stabilité demeure déterminante pour l'équilibre géopolitique mondial.
|
|
||||||
|
|
||||||
Dans ce contexte, le président des États-Unis, Donald Trump, a maintenu une position qui combine la pression diplomatique avec la possibilité d'atteindre un accord avec Téhéran.
|
|
||||||
|
|
||||||
D'une part, il a formulé de sévères avertissements au régime iranien ; d'autre part, il a alimenté publiquement les attentes d'une négociation ; en affirmant, devant les médias réunis dans le Bureau ovale :
|
|
||||||
|
|
||||||
«Nous pouvons négocier avec eux, ce que nous faisons en ce moment même.»
|
|
||||||
|
|
||||||
Cependant, le président lui-même a également tempéré ces attentes en déclarant qu'il ne considère pas que l'Iran soit « prêt » (ready) pour parvenir à un accord définitif.
|
|
||||||
|
|
||||||
En même temps, il a reconnu que :
|
|
||||||
|
|
||||||
«Je pense qu'ils deviennent de plus en plus sérieux au fil des jours; peut-être pour la raison évidente.»
|
|
||||||
|
|
||||||
Les déclarations du président américain reflètent un scénario dans lequel continuent de coexister la pression militaire, la négociation diplomatique et l'incertitude quant à l'issue définitive du conflit.
|
|
||||||
|
|
||||||
## Le contexte prophétique de la crise
|
|
||||||
|
|
||||||
Pour le **Dr. José Benjamín Pérez Matos**, comprendre pleinement ce qui se passe entre Washington et Téhéran exige d'aller au-delà de la simple chronique journalistique et d'analyser les événements d'une perspective plus large.
|
|
||||||
|
|
||||||
En ce sens, il a soutenu qu'il est nécessaire d'observer la carte géopolitique à travers le prisme des prophéties bibliques contenues dans le chapitre 2 du livre de Daniel. Dans ce contexte, il a affirmé :
|
|
||||||
|
|
||||||
**«Ce royaume de Perse, ce royaume d'Iran, doit être complètement supprimé, afin qu'il ne reste que le royaume de Rome ; c'est-à-dire, le royaume des pieds de fer et d'argile cuite».**
|
|
||||||
|
|
||||||
Dans cette perspective théologique, l'ordre mondial final ne prévoit pas la coexistence de différents blocs géopolitiques se développant simultanément comme des structures parallèles de pouvoir.
|
|
||||||
|
|
||||||
Comme l'a expliqué le **Dr. José Benjamín Pérez Matos** :
|
|
||||||
|
|
||||||
**«Il ne peut pas y avoir un royaume parallèle à ce dernier royaume des jambes de fer et d'argile cuite ; il ne doit rester que celui-là. Par conséquent, ces résidus qui restent de cet empire de Perse : L'Iran doit être éliminé. Et c'est un très grand signe, quand cela arrivera. Ce qui marquera un jalon prophétique définitif en ces jours».**
|
|
||||||
|
|
||||||
Selon cette interprétation, les événements actuels transcendent le domaine strictement politique et militaire, pour s'inscrire dans un processus historique de plus grande envergure, dont le développement, selon le **Dr. José Benjamín Pérez Matos**, fait partie de l'accomplissement progressif des prophéties bibliques.
|
|
||||||
|
|
||||||
## Diplomatie de haute pression à la Maison Blanche
|
|
||||||
|
|
||||||
C'est précisément dans ce contexte de tension maximale que la visite du Premier ministre de l'État d'Israël, Benjamin Netanyahu, aux États-Unis revêt une importance particulière.
|
|
||||||
|
|
||||||
Bien que le motif officiel du voyage soit de participer aux funérailles du sénateur décédé Lindsey Graham —décrit par le Bureau du Premier ministre comme « un ami d'Israël »—, les réunions prévues entre les plus hautes autorités des deux pays auront pour principal sujet l'avenir immédiat du Moyen-Orient et les défis stratégiques auxquels la région est confrontée.
|
|
||||||
|
|
||||||
En se référant à ces rencontres, le **Dr. José Benjamín Pérez Matos** a déclaré :
|
|
||||||
|
|
||||||
**«Maintenant, espérons que… ils ont une réunion ces jours-ci à Washington, ou à New York. Le Premier ministre israélien, Benyamin Netanyahou, va être là-bas ; et ils vont parler de tout cela aussi».**
|
|
||||||
|
|
||||||
L'importance de ces conversations réside dans le fait qu'Israël a observé avec prudence le développement des attaques américaines, pleinement conscient que dans cette crise est engagé le contrôle d'une voie maritime stratégique par laquelle circule environ vingt pour cent du pétrole commercialisé dans le monde.
|
|
||||||
|
|
||||||
En conséquence, la réactivation des contacts bilatéraux entre Washington et Jérusalem vise à harmoniser les positions face à un ennemi commun et à coordonner les prochaines étapes stratégiques dans un scénario marqué par la volatilité permanente du golfe Persique.
|
|
||||||
|
|
||||||
## La course contre la montre électorale
|
|
||||||
|
|
||||||
En plus du composant militaire et diplomatique, le facteur temps apparaît comme l'un des éléments les plus sensibles de la conjoncture actuelle.
|
|
||||||
|
|
||||||
La proximité des prochaines élections introduit une variable politique qui peut modifier significativement le paysage géopolitique.
|
|
||||||
|
|
||||||
Sur le plan interne des États-Unis, le président Donald Trump a minimisé les spéculations sur l'éventuel impact électoral de l'augmentation des prix des combustibles.
|
|
||||||
|
|
||||||
Devant la presse, il a affirmé :
|
|
||||||
|
|
||||||
«Malgré ce que tout le monde dit sur les élections, je ne suis pas pressé… Les élections se résolvent d'elles-mêmes.
|
|
||||||
|
|
||||||
Cependant, le **Dr. José Benjamín Pérez Matos** a attiré l'attention sur un autre processus électoral qui, de son point de vue, revêt une importance encore plus grande pour l'avenir immédiat du Moyen-Orient : les élections prévues en Israël.
|
|
||||||
|
|
||||||
À ce sujet, il a exprimé :
|
|
||||||
|
|
||||||
**«Mais regardez ce qui se passe en Israël : il va y avoir des élections, en octobre. Ils doivent se dépêcher. Parce que si un premier ministre qui ne soit pas favorable (et dans cette ligne de pensée) au monde religieux, des orthodoxes, arrive là-bas, et qu'un autre arrive au pouvoir et gagne les élections en octobre, les choses vont devenir difficiles pour Israël. C'est-à-dire, il doit plutôt profiter du temps restant, au cas où une surprise se produirait en octobre».**
|
|
||||||
|
|
||||||
Ces mots reflètent l'importance que le **Dr. José Benjamín Pérez Matos** attribue au calendrier politique israélien dans le contexte régional. Dans cette perspective, le temps disponible pour consolider certaines décisions stratégiques est limité et pourrait être conditionné par le résultat des prochaines élections.
|
|
||||||
|
|
||||||
Comme l'a souligné le **Dr. José Benjamín Pérez Matos** lui-même : « la marge de manœuvre pour consolider les positions de force est extrêmement étroite. » Les acteurs politiques doivent agir avec promptitude face à la possibilité d'un retournement électoral ou d'une surprise dans les urnes.
|
|
||||||
|
|
||||||
Cet avertissement constitue la conclusion naturelle de l'analyse géopolitique développée tout au long de cette réflexion. Cependant, pour le **Dr. José Benjamín Pérez Matos**, les événements internationaux ne peuvent pas être compris uniquement sous l’angle des décisions humaines, de la diplomatie ou de la stratégie militaire.
|
|
||||||
|
|
||||||
Au-delà de tous ces facteurs, il existe un dessein supérieur dont l'accomplissement, affirme-t-il, continue de s’accomplir conformément au programme prophétique révélé dans les Écritures.
|
|
||||||
|
|
||||||
C'est pourquoi il a conclu son exposé en rappelant :
|
|
||||||
|
|
||||||
**«Mais rappelez-vous que tout est, et tout s'accomplira, conformément aux prophéties. Rien de tout cela ne reste entre les mains des hommes».**
|
|
||||||
|
|
||||||
Selon la perspective présentée par le **Dr. José Benjamín Pérez Matos**, les événements qui se déroulent aujourd'hui au Moyen-Orient transcendent la conjoncture internationale et constituent une part d'un processus historique de plus grande envergure. Au-delà des négociations diplomatiques, des décisions militaires ou des changements politiques qui peuvent se produire dans les différents pays impliqués, le dénouement définitif sera déterminé par l'accomplissement du dessein prophétique qui, selon les Écritures, conduira à l'établissement de l'ordre final annoncé dans le livre de Daniel.
|
|
||||||
|
|
@ -1,113 +0,0 @@
|
||||||
---
|
|
||||||
locale: pt
|
|
||||||
title: 'Paz temporária ou o início de uma reconfiguração global no Oriente Médio?'
|
|
||||||
date: 2026-07-26
|
|
||||||
order: 1
|
|
||||||
# city: 'Palmira'
|
|
||||||
# country: 'CO'
|
|
||||||
# state: 'Valle del Cauca'
|
|
||||||
slug: 2026-07-26-paz-temporaria-ou-o-inicio-de-uma-reconfiguracao-global-no-oriente-medio
|
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280,q-100/comunicado-1.webp'
|
|
||||||
# tags: [Comunicado, Venezuela, Estados Unidos]
|
|
||||||
gallery: [
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred,q-70/comunicado-1.webp',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
---
|
|
||||||
# Paz temporária ou o início de uma reconfiguração global no Oriente Médio?
|
|
||||||
|
|
||||||
Os acontecimentos das últimas semanas no Oriente Médio voltaram a colocar a região no centro da atenção internacional. A recente pausa nos bombardeios dos Estados Unidos sobre o território iraniano, após quase duas semanas de hostilidades contínuas, abriu um compasso de espera que muitos analistas apresentam como um possível avanço rumo a uma etapa de diplomacia estratégica.
|
|
||||||
|
|
||||||
As conversas técnicas realizadas em Omã e os esforços voltados para estabilizar o trânsito pelo Estreito de Ormuz parecem refletir a intenção de reduzir a tensão e evitar uma escalada que comprometa ainda mais a estabilidade regional e o comércio internacional.
|
|
||||||
|
|
||||||
No entanto, para o **Dr. José Benjamín Pérez Matos**, por trás desses movimentos diplomáticos existe uma realidade muito mais profunda e transcendente, que não pode ser compreendida apenas sob a perspectiva da política internacional.
|
|
||||||
|
|
||||||
Ao referir-se ao momento vivido pela região, expressou:
|
|
||||||
|
|
||||||
**«Agora, nestes dias, os Estados Unidos ainda têm essa guerra aí com o Irã; e a última coisa que ouvi: que parece que vão parar por aí, quando deveriam exterminar por completo, pela raiz, o problema! Se continuarem lançando duas bombinhas e recuarem, eles vão, mais adiante, fazer o mesmo. Veem? São processos aparentemente de paz temporária, mas o mal continua lá»**.
|
|
||||||
|
|
||||||
Essas palavras convidam a distinguir entre uma paz circunstancial e a eliminação definitiva das causas que dão origem ao conflito. Sob essa perspectiva, uma interrupção temporária das operações militares não constitui necessariamente a resolução do problema, mas apenas uma pausa dentro de um processo que ainda permanece em aberto.
|
|
||||||
|
|
||||||
A própria evolução dos acontecimentos internacionais confirma a fragilidade do cenário atual.
|
|
||||||
|
|
||||||
Enquanto o Exército dos Estados Unidos suspendeu seus ataques aéreos após treze noites consecutivas de bombardeios, a incerteza continua predominando na comunidade internacional. O cenário permanece em aberto, e as principais potências seguem avaliando os próximos passos em uma região cuja estabilidade continua sendo determinante para o equilíbrio geopolítico mundial.
|
|
||||||
|
|
||||||
Nesse contexto, o presidente dos Estados Unidos, Donald Trump, tem mantido uma postura que combina a pressão diplomática com a possibilidade de alcançar um entendimento com Teerã.
|
|
||||||
|
|
||||||
Por um lado, fez severas advertências ao regime iraniano; por outro, alimentou publicamente as expectativas de uma negociação ao afirmar, diante da imprensa reunida no Salão Oval:
|
|
||||||
|
|
||||||
«Podemos negociar com eles, o que também estamos fazendo neste momento».
|
|
||||||
|
|
||||||
No entanto, o próprio mandatário também moderou essas expectativas ao declarar que não considera que o Irã ainda esteja “ready (ou pronto)” para alcançar um acordo definitivo.
|
|
||||||
|
|
||||||
Ao mesmo tempo, reconheceu:
|
|
||||||
|
|
||||||
«Acho que eles estão ficando cada vez mais sérios com o passar dos dias, talvez por uma razão óbvia».
|
|
||||||
|
|
||||||
As declarações do presidente norte-americano refletem um cenário em que continuam coexistindo a pressão militar, a negociação diplomática e a incerteza quanto ao desfecho definitivo do conflito.
|
|
||||||
|
|
||||||
## O pano de fundo profético da crise
|
|
||||||
|
|
||||||
Para o **Dr. José Benjamín Pérez Matos**, compreender plenamente o que ocorre entre Washington e Teerã exige elevar o olhar acima da simples cobertura jornalística e analisar os acontecimentos sob uma perspectiva mais ampla.
|
|
||||||
|
|
||||||
Nesse sentido, sustentou que é necessário observar o mapa geopolítico por meio da lente das profecias bíblicas contidas no capítulo 2 do livro de Daniel. Nesse contexto, afirmou:
|
|
||||||
|
|
||||||
**«Esse reino da Pérsia, esse reino do Irã, tem que ser removido completamente, para que permaneça somente o reino de Roma; ou seja, o reino dos pés de ferro e barro cozido»**.
|
|
||||||
|
|
||||||
Sob essa perspectiva teológica, a ordem mundial final não contempla a coexistência de diferentes blocos geopolíticos que se desenvolvam simultaneamente como estruturas paralelas de poder.
|
|
||||||
|
|
||||||
Como explicou o **Dr. José Benjamín Pérez Matos**:
|
|
||||||
|
|
||||||
**«Não pode haver também um reino correndo em paralelo com esse último reino das pernas de ferro e barro cozido; somente esse tem que permanecer. Portanto, esses resíduos que estão ficando desse império da Pérsia: Irã, têm que ser removidos. E isso é um sinal muito grande, quando isso acontecer. Será um marco profético definitivo nestes dias».**
|
|
||||||
|
|
||||||
A partir dessa interpretação, os acontecimentos atuais transcendem o âmbito estritamente político e militar para inserir-se em um processo histórico de maior alcance, cujo desenvolvimento, segundo o **Dr. José Benjamín Pérez Matos**, faz parte do cumprimento progressivo das profecias bíblicas.
|
|
||||||
|
|
||||||
## Diplomacia de alta pressão na Casa Branca
|
|
||||||
|
|
||||||
É precisamente nesse cenário de máxima tensão que a visita do primeiro-ministro do Estado de Israel, Benjamin Netanyahu, aos Estados Unidos adquire especial relevância.
|
|
||||||
|
|
||||||
Embora o motivo oficial da viagem seja participar das homenagens fúnebres ao falecido senador Lindsey Graham — descrito pelo Gabinete do Primeiro-Ministro como “um amigo de Israel” —, as reuniões previstas entre as mais altas autoridades de ambos os países terão como eixo o futuro imediato do Oriente Médio e os desafios estratégicos enfrentados pela região.
|
|
||||||
|
|
||||||
Ao referir-se a esses encontros, o **Dr. José Benjamín Pérez Matos** declarou:
|
|
||||||
|
|
||||||
**«Agora, esperemos que... eles têm uma reunião nestes dias em Washington, ou em Nova York. O primeiro-ministro de Israel, Benjamin Netanyahu, vai estar lá; e também vão falar sobre tudo isso».**
|
|
||||||
|
|
||||||
A importância dessas conversas reside no fato de que Israel tem acompanhado com cautela o desenvolvimento dos ataques norte-americanos, plenamente consciente de que, nessa crise, está em jogo o controle de uma via marítima estratégica pela qual transita aproximadamente vinte por cento do petróleo comercializado no mundo.
|
|
||||||
|
|
||||||
Consequentemente, a retomada dos contatos bilaterais entre Washington e Jerusalém busca unificar critérios diante de um inimigo comum e coordenar os próximos passos estratégicos em um cenário marcado pela permanente volatilidade do golfo Pérsico.
|
|
||||||
|
|
||||||
|
|
||||||
## A corrida contra o relógio eleitoral
|
|
||||||
|
|
||||||
Além do componente militar e diplomático, o fator tempo aparece como um dos elementos mais sensíveis da conjuntura atual.
|
|
||||||
|
|
||||||
A proximidade dos próximos processos eleitorais introduz uma variável política que pode modificar significativamente o cenário geopolítico.
|
|
||||||
|
|
||||||
No plano interno dos Estados Unidos, o presidente Donald Trump minimizou as especulações sobre o eventual impacto eleitoral do aumento dos preços dos combustíveis.
|
|
||||||
Diante da imprensa, afirmou:
|
|
||||||
|
|
||||||
«Apesar do que todos dizem sobre a eleição, não tenho pressa... As eleições se resolvem por si mesmas».
|
|
||||||
|
|
||||||
No entanto, o **Dr. José Benjamín Pérez Matos** chamou a atenção para outro processo eleitoral que, sob sua perspectiva, reveste-se de importância ainda maior para o futuro imediato do Oriente Médio: as eleições previstas em Israel.
|
|
||||||
|
|
||||||
Sobre esse ponto, expressou:
|
|
||||||
|
|
||||||
**«Mas vejam o que acontece em Israel: agora vai haver eleições, em outubro. Eles têm que se apressar. Porque, se cair ali um primeiro-ministro que não esteja a favor (e nessa linha de pensamento) do mundo religioso, dos ortodoxos, e cair outro e ganhar as eleições em outubro, as coisas vão se tornar difíceis para Israel. Ou seja, é melhor aproveitar este período que ainda resta, caso aconteça alguma surpresa ali em outubro»**.
|
|
||||||
|
|
||||||
Essas palavras refletem a importância que o **Dr. José Benjamín Pérez Matos** atribui ao calendário político israelense dentro do contexto regional. Sob essa perspectiva, o tempo disponível para consolidar determinadas decisões estratégicas é limitado e poderá ser condicionado pelo resultado das próximas eleições.
|
|
||||||
|
|
||||||
Como apontou o próprio **Dr. José Benjamín Pérez Matos**:
|
|
||||||
|
|
||||||
**«A margem de manobra para consolidar as posições de força é extremamente estreita. Os atores políticos devem agir com rapidez diante da possibilidade de uma reviravolta eleitoral ou de uma surpresa nas urnas».**
|
|
||||||
|
|
||||||
Essa advertência constitui o encerramento natural da análise geopolítica desenvolvida ao longo desta reflexão. No entanto, para o **Dr. José Benjamín Pérez Matos**, os acontecimentos internacionais não podem ser compreendidos apenas sob a perspectiva das decisões humanas, da diplomacia ou da estratégia militar.
|
|
||||||
|
|
||||||
Acima de todos esses fatores existe um propósito superior, cujo cumprimento, afirma, continua desenvolvendo-se conforme o programa profético revelado nas Escrituras.
|
|
||||||
|
|
||||||
Por isso, concluiu sua exposição recordando:
|
|
||||||
|
|
||||||
**«Mas recordem que tudo é, e tudo se cumprirá, conforme as profecias. Nada disso fica nas mãos humanas».**
|
|
||||||
|
|
||||||
Sob a perspectiva apresentada pelo **Dr. José Benjamín Pérez Matos**, os acontecimentos que hoje se desenvolvem no Oriente Médio transcendem a conjuntura internacional e constituem parte de um processo histórico de maior alcance. Para além das negociações diplomáticas, das decisões militares ou das mudanças políticas que possam ocorrer nos diferentes países envolvidos, o desfecho definitivo corresponderá ao cumprimento do propósito profético que, segundo as Escrituras, conduzirá ao estabelecimento da ordem final anunciada no livro de Daniel.
|
|
||||||
|
|
@ -1,111 +0,0 @@
|
||||||
---
|
|
||||||
locale: rw
|
|
||||||
title: Amahoro y'igihe gito cyangwa intangiriro yo kongera gutunganya gahunda y'Isi mu Burasirazuba bwo Hagati?
|
|
||||||
date: 2026-07-26
|
|
||||||
order: 1
|
|
||||||
# city: 'Palmira'
|
|
||||||
# country: 'CO'
|
|
||||||
# state: 'Valle del Cauca'
|
|
||||||
slug: 2026-07-26-amahoro-y-igihe-gito-cyangwa-intangiriro-yo-kongera-gutunganya-gahunda-y-isi-mu-burasirazuba-bwo-hagati
|
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280,q-100/comunicado-1.webp'
|
|
||||||
# tags: [Comunicado, Venezuela, Estados Unidos]
|
|
||||||
gallery: [
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred,q-70/comunicado-1.webp',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
---
|
|
||||||
# Amahoro y'igihe gito cyangwa intangiriro yo kongera gutunganya gahunda y'Isi mu Burasirazuba bwo Hagati?
|
|
||||||
|
|
||||||
Mu byumweru bishize, ibyabaye mu Burasirazuba bwo Hagati byongeye gushyira ako karere mu rwego rw'ibiri kwitabwaho cyane ku rwego mpuzamahanga. Guhagarara by'agateganyo kw'ibitero bya Leta Zunze Ubumwe za Amerika ku butaka bwa Irani, nyuma y'ibyumweru hafi bibiri by'imirwano idahagarara, byafunguye igihe cyo gutegereza, aho abasesenguzi benshi babibona nk'intambwe ishobora kuganisha ku rwego rw'ububanyi n'amahanga bushingiye ku ngamba z'igihe kirekire.
|
|
||||||
|
|
||||||
Ibiganiro bya tekiniki byabereye muri Oman, hamwe n'imbaraga zigamije gushimangira umutekano w'ubwikorezi bunyura mu muhora wa Ormuz, bigaragara ko bigamije kugabanya umwuka mubi no kwirinda ko amakimbirane yarushaho gukaza umurego, ibintu byarushaho guhungabanya umutekano w'akarere ndetse n'ubucuruzi mpuzamahanga.
|
|
||||||
|
|
||||||
Ariko, kuri **Dr. José Benjamín Pérez Matos**, inyuma y'izo ngamba z'ububanyi n'amahanga hari ukuri kwimbitse kandi kw'ingirakamaro kurushaho, kudashobora gusobanurwa gusa hashingiwe ku miterere ya politiki mpuzamahanga.
|
|
||||||
Agaruka ku bihe ako karere karimo kunyuramo, yagize ati:
|
|
||||||
|
|
||||||
**«None rero, muri iyi minsi Leta Zunze Ubumwe za Amerika iracyafite iyo ntambara na Irani; kandi icyo numvise bwa nyuma ni uko bigaragara ko bazabihagararaho. Nyamara bagombaga kurandura burundu icyo kibazo, bagihereye mu mizi! Nibakomeza kujugunya ibisasu bibiri gusa hanyuma bakikuramo, nyuma bazongera gukora nk'ibyo. Murabona? Bigaragara nk'ibikorwa by'amahoro y'igihe gito, ariko ikibi kiracyariho.»**
|
|
||||||
|
|
||||||
Aya magambo aduhamagarira gutandukanya amahoro y'igihe gito n'ikorwa ryo gukuraho burundu impamvu zitera amakimbirane. Dukurikije iyo myumvire, guhagarika ibikorwa bya gisirikare by'agateganyo ntibivuze byanze bikunze ko ikibazo cyakemutse, ahubwo ni ikiruhuko cy'igihe gito mu nzira y'ibikorwa bitararangira.
|
|
||||||
|
|
||||||
Imigendekere ubwayo y'ibyabaye ku rwego mpuzamahanga yemeza uburyo uko ibintu bimeze ubu bidafite gihamya yo kuramba.
|
|
||||||
|
|
||||||
Mu gihe ingabo za Leta Zunze Ubumwe za Amerika zahagaritse ibitero byazo byo mu kirere nyuma y'amajoro cumi n'atatu akurikirana y'ibisasu, ugushidikanya gukomeje kwiganje mu muryango mpuzamahanga. Imiterere y'ibintu iracyafunguye, kandi ibihugu bikomeye bikomeje gusuzuma intambwe zikurikira, mu karere umutekano wako ugikomeje kugira uruhare rukomeye mu kuringaniza imbaraga za politiki y'Isi.
|
|
||||||
|
|
||||||
Muri uru rwego, Perezida wa Leta Zunze Ubumwe za Amerika, Donald Trump, yakomeje gufata umwanya uhuza igitutu cya dipolomasi n'icyizere cyo kugera ku bwumvikane na Tehran.
|
|
||||||
|
|
||||||
Ku ruhande rumwe, yatanze imiburo ikomeye ku butegetsi bwa Irani; ku rundi ruhande, yeruye yagaragaje icyizere cy'uko hashobora kubaho ibiganiro, ubwo yabwiraga itangazamakuru ryari ryateraniye mu Biro bya Oval ati:
|
|
||||||
|
|
||||||
«Dushobora kugirana ibiganiro na bo, kandi ni na byo turimo gukora muri aka kanya.»
|
|
||||||
|
|
||||||
Ariko kandi, uwo muyobozi ubwe yagabanyije icyo cyizere avuga ko atabona ko Irani “yiteguye” kugeza ubu kugera ku masezerano ya nyuma.
|
|
||||||
|
|
||||||
Muri icyo gihe kandi, yemeye ko:
|
|
||||||
|
|
||||||
«Ntekereza ko bagenda barushaho gukomera ku cyemezo uko iminsi igenda ishira; wenda kubera impamvu igaragara.»
|
|
||||||
|
|
||||||
Amagambo ya Perezida wa Leta Zunze Ubumwe za Amerika agaragaza imiterere y'ibintu aho igitutu cya gisirikare, ibiganiro bya dipolomasi, ndetse no kudasobanuka ku iherezo ry'amakimbirane bikomeje kubana hamwe.
|
|
||||||
|
|
||||||
Imvano y'ubuhanuzi y'ikibazo
|
|
||||||
|
|
||||||
Kuri **Dr. José Benjamín Pérez Matos**, gusobanukirwa neza ibiri kuba hagati ya Washington na Tehran bisaba kureba birenze amakuru asanzwe atangwa n'itangazamakuru, ahubwo hakigwa ibyabaye hifashishijwe imyumvire yagutse kurushaho.
|
|
||||||
|
|
||||||
Muri ubwo buryo, yavuze ko ari ngombwa kureba ikarita ya geopolitiki binyuze mu ndorerwamo y'ubuhanuzi bwa Bibiliya buboneka mu gice cya 2 cy'igitabo cya Daniyeli. Muri urwo rwego yagize ati:
|
|
||||||
|
|
||||||
**«Uwo bwami bw'u Buperesi, ubwo bwami bwa Irani, bugomba gukurwaho burundu, kugira ngo hasigare gusa ubwami bw'i Roma; ni ukuvuga ubwami bw'amaguru y'icyuma n'ibumba ryokeje.»**
|
|
||||||
|
|
||||||
Muri iyi myumvire ishingiye ku by'iyobokamana, gahunda y'Isi ya nyuma ntiteganya ko habaho ibice bitandukanye bya geopolitiki bizakomeza kubaho icyarimwe nk'imyubakire y'imbaraga zigereranywa.
|
|
||||||
|
|
||||||
Nk'uko **Dr. José Benjamín Pérez Matos** yabisobanuye:
|
|
||||||
|
|
||||||
**«Nta bundi bwami bushobora kubaho kandi ngo bugendere hamwe n'ubwo bwami bwa nyuma bw'amaguru y'icyuma n'ibumba ryokeje; bugomba gusigara ari bwo bwonyine. Ni yo mpamvu ibisigazwa bisigaye by'ubwo bwami bw'u Buperesi: Irani, bigomba gukurwaho. Kandi ibyo ni ikimenyetso gikomeye cyane, igihe ibyo bizaba bibaye. Ibyo bizashyiraho ikimenyetso gikomeye cya nyuma mu buhanuzi muri iyi minsi.»**
|
|
||||||
|
|
||||||
Dukurikije ubu busobanuro, ibyabaye muri iki gihe birenze urwego rwa politiki n'igisirikare gusa, ahubwo biri mu murongo w'amateka manini kurushaho, aho, nk'uko **Dr. José Benjamín Pérez Matos** abivuga, iterambere ryabyo rigize igice cyo gusohora buhoro buhoro k'ubuhanuzi bwa Bibiliya.
|
|
||||||
|
|
||||||
## Dipolomasi y'igitutu gikomeye muri White House
|
|
||||||
|
|
||||||
Ni muri uru rwego rw'ubushyamirane bukabije ni ho uruzinduko rwa Minisitiri w'Intebe wa Leta ya Isirayeli, Benjamín Netanyahu, muri Leta Zunze Ubumwe za Amerika ruboneramo umwanya wihariye.
|
|
||||||
|
|
||||||
Nubwo impamvu yatangajwe ku mugaragaro y'urwo rugendo ari ukwitabira umuhango wo gushyingura no gusezera kuri senateri witabye Imana Lindsey Graham — wasobanuwe n'Ibiro bya Minisitiri w'Intebe nk’ “inshuti ya Isirayeli” — ibiganiro biteganyijwe hagati y'abayobozi bakuru b'ibihugu byombi bizibanda ku hazaza hihuse h'Uburasirazuba bwo Hagati ndetse n'ibibazo by'ingamba akarere gahura na byo.
|
|
||||||
|
|
||||||
Agaruka kuri ibyo biganiro, **Dr. José Benjamín Pérez Matos** yagize ati:
|
|
||||||
|
|
||||||
**«Noneho, reka dutegereze ko… muri iyi minsi hari inama izabera i Washington cyangwa i New York. Minisitiri w’Intebe wa Isirayeli, Benjamín Netanyahu, azaba ahari; kandi bazaganira kuri ibyo byose na byo.»**
|
|
||||||
|
|
||||||
Iby'ingenzi muri ibi biganiro ni uko Isirayeli yakurikiranye yitonze uko ibitero bya Leta Zunze Ubumwe za Amerika byagenze, izi neza ko muri iki kibazo harimo kugenzura inzira y'ingenzi y'ubwikorezi bwo mu nyanja inyuramo hafi makumyabiri ku ijana bya peteroli icuruzwa ku isi.
|
|
||||||
|
|
||||||
Kubera iyo mpamvu, kongera gutangiza ibiganiro hagati ya Washington na Yerusalemu bigamije guhuza imyumvire ku birebana n'umwanzi bahuriyeho, no guhuza ingamba zizakurikiraho mu rwego rw'ubutabazi n'umutekano, mu bihe birangwa n'ihindagurika ridahoraho mu Karere k'Ikigobe cy'u Buperesi.
|
|
||||||
|
|
||||||
## Irushanwa ryo guhangana n'igihe mbere y'amatora.
|
|
||||||
Uretse ibijyanye n'igisirikare n'ububanyi n'amahanga, ikintu cy'igihe na cyo kigaragara nk'imwe mu ngingo zikomeye kandi zifite uburemere muri ibi bihe.
|
|
||||||
|
|
||||||
Kuba amatora ateganyijwe yegereje byinjiza indi ngingo ya politiki ishobora guhindura ku buryo bugaragara imiterere y'ibibera mu rwego rwa geopolitiki.
|
|
||||||
|
|
||||||
Muri Leta Zunze Ubumwe za Amerika, Perezida Donald Trump yagaragaje ko adaha agaciro ibitekerezo bivuga ko izamuka ry'ibiciro by'ibikomoka kuri peteroli rishobora kugira ingaruka ku matora ari imbere.
|
|
||||||
|
|
||||||
Imbere y'itangazamakuru, yagize ati:
|
|
||||||
|
|
||||||
"N'ubwo abantu bose bavuga iby'amatora, ntabwo nihuta... Amatora azikemurira ubwayo."
|
|
||||||
|
|
||||||
Nyamara, **Dr. José Benjamín Pérez Matos** yagaragaje ko hari indi gahunda y'amatora, nk'uko abibona, ifite akamaro karenze ako ku hazaza ha vuba h'Uburasirazuba bwo Hagati: amatora ateganyijwe muri Isirayeli.
|
|
||||||
|
|
||||||
Kuri iyo ngingo yagize ati:
|
|
||||||
|
|
||||||
**"Ariko nimurebe ibibera muri Isirayeli: ubu hagiye kuba amatora mu kwezi k'Ukwakira. Bagomba kwihutira gukora ibyo bagomba gukora. Kuko nihaza Minisitiri w'Intebe udashyigikiye (cyangwa udakurikiza uwo murongo w'ibitekerezo) w'itsinda ry'amadini n'Abayahudi b'aba-Orutodogisi, maze hakaza undi agatsinda ayo matora yo mu Ukwakira, ibintu bizakomera kuri Isirayeli. Ni ukuvuga ko bakwiriye kubyaza umusaruro iki gihe gisigaye cya manda, mu gihe haba havutse impinduka itunguranye muri ayo matora yo mu Ukwakira.”**
|
|
||||||
|
|
||||||
Aya magambo agaragaza akamaro **Dr. José Benjamín Pérez Matos** aha ingengabihe ya politiki ya Isirayeli mu rwego rw'ibibera mu karere. Dukurikije uko abibona, igihe gisigaye cyo gushimangira imyanzuro imwe n'imwe y'ingenzi mu rwego rw'ingamba ni gito cyane, kandi gishobora guterwa impinduka n'ibizava mu matora ateganyijwe.
|
|
||||||
|
|
||||||
Nk'uko **Dr. José Benjamín Pérez Matos** ubwe yabivuze:
|
|
||||||
|
|
||||||
"Igihe gisigaye cyo gushimangira imyanya y'imbaraga ni gito cyane. Abanyapolitiki bagomba gukora bihuse, bitewe n'uko hashobora kubaho ihinduka ritunguranye ry'ibyavuye mu matora cyangwa igitunguranye mu matora.”
|
|
||||||
|
|
||||||
Uyu muburo ni wo usoza mu buryo busanzwe isesengura rya geopolitiki ryatanzwe muri iki gitekerezo. Nyamara, kuri **Dr. José Benjamín Pérez Matos**, ibyabaye n'ibirimo kuba ku rwego mpuzamahanga ntibishobora gusobanurwa gusa hashingiwe ku byemezo by'abantu, ububanyi n'amahanga cyangwa ingamba za gisirikare.
|
|
||||||
|
|
||||||
Hejuru y'izo ngingo zose, avuga ko hari umugambi urenze byose, ukomeje gusohora nk'uko gahunda y'ubuhanuzi yahishuwe mu Byanditswe Byera ibiteganya.
|
|
||||||
|
|
||||||
Ni yo mpamvu yasoreje inyigisho ye yibutsa ati:
|
|
||||||
|
|
||||||
**"Ariko mwibuke ko ibintu byose ari, kandi byose bizasohora nk'uko ubuhanuzi buri. Nta na kimwe muri ibi kiri mu maboko y'abantu.”**
|
|
||||||
|
|
||||||
Dukurikije imyumvire yatanzwe na **Dr. José Benjamín Pérez Matos**, ibibera muri iki gihe mu Burasirazuba bwo Hagati birenze ibibazo by'igihe gito byo ku rwego mpuzamahanga, ahubwo biri mu bigize inzira y'amateka ifite urugero runini kurushaho. Uretse ibiganiro by'ububanyi n'amahanga, ibyemezo bya gisirikare cyangwa impinduka za politiki zishobora kubaho mu bihugu bitandukanye birebwa n'ibi bibazo, iherezo rizasubiza ku isohozwa ry'umugambi w'ubuhanuzi, nk'uko avuga ko Ibyanditswe bibigaragaza, uzageza ku gushyirwaho k'ubutegetsi bwa nyuma bwatangajwe mu gitabo cya Daniyeli.
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
||||||
---
|
|
||||||
locale: es
|
|
||||||
title: 'Signs of a Global Transformation: Warnings About Israel and the Climate in the Middle East'
|
|
||||||
date: 2023-07-27
|
|
||||||
slug: 2023-07-27-signs-of-a-global-transformation-warnings-about-israel-and-the-climate-in-the-middle-east
|
|
||||||
place: ''
|
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280/Lake-Urmia_NASA.-2.webp'
|
|
||||||
tags: [Iran, Israel]
|
|
||||||
gallery: [
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/Lake-Urmia_NASA.-2.webp',
|
|
||||||
text_alt: 'Lake Urmia in Iran in 2020 (left) and 2023 (right), after being desiccated by drought. NASA'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/new-042226-2.jpg',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/new-042226-3.jpg',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/new-042226-4.jpg',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
---
|
|
||||||
|
|
||||||
# Signs of a Global Transformation: Warnings About Israel and the Climate in the Middle East
|
|
||||||
|
|
||||||
*Cayey, Puerto Rico – July 27, 2023*
|
|
||||||
|
|
||||||
As part of an in-depth analysis of the current international situation, Dr. José Benjamín Pérez Matos discussed a series of events that, in his view, reflect a large-scale transformation in the history of mankind. His statements focused both on the internal situation in Israel and on the extreme weather events affecting the Middle East, drawing a connection between the two as signs of a larger process currently underway.
|
|
||||||
|
|
||||||
Dr. Pérez Matos pointed out that these changes should not be viewed as isolated events, but rather as part of a phase that is beginning gradually, and is destined to evolve into situations of even greater magnitude.
|
|
||||||
|
|
||||||
As for Israel, the analysis highlighted the level of social instability the country is currently experiencing, marked by protests and internal tensions that, according to the statements, are unprecedented in recent times:
|
|
||||||
|
|
||||||
**“Israel, on the other hand, look at all the things that are happening there in Israel, all those protests and everything, which have never happened there in Israel in recent times.”**
|
|
||||||
|
|
||||||
The assessment also included a direct reference to the climate crisis, particularly to the extreme temperatures recorded in Iran, which were interpreted as a warning of even more severe conditions in the future:
|
|
||||||
|
|
||||||
**“The sun as well, in Iran, they are saying it has already reached a certain temperature: 150 °F (I think it is), which is about the limit a human being can endure, something like that; the heat is already reaching those levels. But remember that the Scripture says that the sun will give off, will become about seven times hotter. So, imagine, if the sun is like that now, what will it be like in the time of tribulation?! What will come upon the human race is something terrible.”**
|
|
||||||
|
|
||||||
These statements offer a holistic assessment of the present, in which political, social, and environmental events are interconnected under a single interpretive framework. In this regard, Dr. Pérez Matos emphasizes the need to monitor these processes carefully, recognizing that they are part of a broader structural shift that will affect all of mankind.
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
---
|
|
||||||
locale: en
|
|
||||||
title: 'Message to Israel in Decisive Times: Support, and a Call to Wisdom'
|
|
||||||
date: 2024-04-15
|
|
||||||
slug: 2024-04-15-mensaje-a-israel-en-tiempos-decisivos-respaldo-y-llamado-a-la-sabiduria
|
|
||||||
place: ''
|
|
||||||
country: 'PR'
|
|
||||||
city: 'Cayey'
|
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280/comunicado-1.webp'
|
|
||||||
tags: [Israel]
|
|
||||||
gallery: [
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/comunicado-1.webp',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
---
|
|
||||||
|
|
||||||
# Message to Israel in Decisive Times: Support, and a Call to Wisdom
|
|
||||||
|
|
||||||
*Cayey, Puerto Rico – april 15, 2024*
|
|
||||||
|
|
||||||
In an international context marked by growing tensions in the Middle East, **Dr. José Benjamín Pérez Matos** issued a message of support and blessing addressed to the people of Israel, highlighting the importance of decision-making at what he described as a key moment for the future of the region.
|
|
||||||
|
|
||||||
From Cayey, Puerto Rico, **Dr. José Benjamín Pérez Matos** addressed both the leaders and the Hebrew people, emphasizing the need to act with wisdom and responsibility in a highly complex environment:
|
|
||||||
|
|
||||||
**“May God bless Israel, may God bless the Hebrew people, and may they make the right decisions.”**
|
|
||||||
|
|
||||||
The message not only conveyed support, but also a perspective of hope connected to future events. In that regard, **Dr. José Benjamín Pérez Matos** expressed his desire that the people of Israel may receive with clarity and without delay that which, according to his vision, is drawing near:
|
|
||||||
|
|
||||||
**“May God place in their hearts that which they will soon receive.”**
|
|
||||||
|
|
||||||
These statements are part of a consistent message of support, in which faith and the spiritual dimension are presented as central elements of unity and guidance. Within this framework, the community that follows **Dr. José Benjamín Pérez Matos** reaffirms its support for Israel, emphasizing the role of prayer and conviction as factors that transcend borders.
|
|
||||||
|
|
||||||
The message issued from Puerto Rico thus joins a series of public statements underscoring the significance of the present moment, reinforcing a clear position of support and close attention to the development of events on the international stage.
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
---
|
|
||||||
locale: en
|
|
||||||
title: 'International Call for Israel and Venezuela: Faith, Freedom, and Warnings of a Global Shift'
|
|
||||||
date: 2024-08-03
|
|
||||||
slug: 2024-08-03-el-llamado-internacional-por-israel-y-venezuela-fe-libertad-y-advertencias-sobre-un-cambio-global
|
|
||||||
place: ''
|
|
||||||
country: 'PR'
|
|
||||||
city: 'Cayey'
|
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280/photo_2026-05-08_14-49-46.jpg'
|
|
||||||
tags: [Venezuela, Puerto Rico]
|
|
||||||
gallery: [
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/photo_2026-05-08_14-49-46.jpg',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
---
|
|
||||||
|
|
||||||
# International Call for Israel and Venezuela: Faith, Freedom, and Warnings of a Global Shift
|
|
||||||
|
|
||||||
*Cayey, Puerto Rico – August 3, 2024*
|
|
||||||
|
|
||||||
In a global context marked by ongoing sociopolitical conflicts, **Dr. José Benjamín Pérez Matos** issued a statement linking the spiritual dimension with the current geopolitical reality, calling for prayer for two nations in crisis: Israel and Venezuela.
|
|
||||||
|
|
||||||
The message, marked by a sense of urgency, emphasized the need to restore order and stability in key regions, highlighting the impact these developments have on fundamental rights and the well-being of their populations:
|
|
||||||
|
|
||||||
**“May God bless Israel, may God also bless Venezuela, which are the countries currently going through difficult situations; and the other countries as well, because one way or another the kingdoms of this world will soon become the Kingdoms of the Messiah.”**
|
|
||||||
|
|
||||||
One of the central topics of the message focused on the situation in Venezuela, where **Dr. José Benjamín Pérez Matos** referred to the prolonged suffering of the people and the need for a structural change that would make it possible to restore freedom and dignity:
|
|
||||||
|
|
||||||
**“The cry of the children of God is that they may be free from that condition which has been oppressing them for so many years.”**
|
|
||||||
|
|
||||||
The statement also incorporated a broader perspective on the conflicts in the Middle East, interpreting current events as part of a transformation process of greater scope. Within this framework, the “difficult situations” affecting different nations were presented as signs of a transition toward a new order.
|
|
||||||
|
|
||||||
The event concluded with a blessing extended to other countries and a call to maintain an attitude of vigilance and prayer in the face of the ongoing changes, within an international landscape that continues to evolve rapidly and with great complexity.
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
---
|
|
||||||
locale: en
|
|
||||||
title: 'Global Warning from Puerto Rico: Israel in a State of Emergency and a Renewed Call for Freedom in Venezuela'
|
|
||||||
date: 2024-08-25
|
|
||||||
slug: 2024-08-25-advertencia-global-desde-puerto-rico-israel-en-emergencia-y-renovado-llamado-por-la-libertad-de-venezuela
|
|
||||||
place: ''
|
|
||||||
country: 'PR'
|
|
||||||
city: 'Cayey'
|
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280/photo_2026-05-05_12-41-22.jpg'
|
|
||||||
tags: [Venezuela, 'Puerto Rico']
|
|
||||||
gallery: [
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/photo_2026-05-05_12-41-22.jpg',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
---
|
|
||||||
# Global Warning from Puerto Rico: Israel in a State of Emergency and a Renewed Call for Freedom in Venezuela
|
|
||||||
|
|
||||||
*Cayey, Puerto Rico – August 25, 2024*
|
|
||||||
|
|
||||||
At a large-scale conference with international reach via satellite broadcast, **Dr. José Benjamín Pérez Matos** delivered a message with strong geopolitical and spiritual content, focused on the critical situation in the Middle East and the ongoing crisis in Venezuela.
|
|
||||||
|
|
||||||
Before thousands of attendees, **Dr. José Benjamín Pérez Matos** addressed the 48-hour state of emergency declared in Israel following the launch of hundreds of rockets from Lebanon, an episode that heightened tensions in the region and set off alarms internationally. In his remarks, he placed these events within a broader interpretive framework:
|
|
||||||
|
|
||||||
**“For Israel, there will be a very, very great promise that is crystallizing”**.
|
|
||||||
|
|
||||||
Far from limiting himself to a reading of crisis, the message emphasized a perspective of an unfolding process, pointing to a scenario of transformation that reaches beyond the immediate events. In that sense, **Dr. José Benjamín Pérez Matos** noted that the current events should be viewed as part of a “global awakening” tied to the future course of Israel.
|
|
||||||
|
|
||||||
The address also gave central attention to the situation in Venezuela, where the leader made a public appeal for the nation’s freedom, citing the conditions impacting its population:
|
|
||||||
|
|
||||||
**“May God hear the cry of His children”**.
|
|
||||||
|
|
||||||
The message reinforced the idea that the Venezuelan situation represents a critical point within the regional landscape, highlighting the need for change that would restore conditions of freedom and dignity for its people.
|
|
||||||
|
|
||||||
In the last part of the conference, **Dr. José Benjamín Pérez Matos** broadened his message to Latin America, calling for unity and preparation in the face of what he called a period of transition. In this context, he emphasized that, beyond the difficulties expected ahead, faith and prayer serve as key elements for meeting the challenges to come.
|
|
||||||
|
|
||||||
This address reaffirms a consistent line of analysis, one that combines a reading of international events with a long-term perspective, set against a global backdrop marked by increasing complexity and uncertainty.
|
|
||||||
|
|
@ -1,54 +0,0 @@
|
||||||
---
|
|
||||||
locale: en
|
|
||||||
title: 'Mission in a Conflict Zone: Dr. José Benjamín Pérez Matos announces a strategic trip to Israel with a high-level agenda'
|
|
||||||
country: 'US'
|
|
||||||
city: 'Austin'
|
|
||||||
state: Texas
|
|
||||||
date: 2025-06-29
|
|
||||||
slug: 2025-06-29-mision-en-zona-de-conflicto-el-dr-jose-benjamin-perez-matos-anuncia-viaje-estrategico-a-israel-con-agenda-de-alto-nivel
|
|
||||||
tags: [United States]
|
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280/photo_2026-05-06_11-36-44.jpg'
|
|
||||||
gallery: [
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/photo_2026-05-06_11-36-44.jpg',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
---
|
|
||||||
|
|
||||||
# Mission in a Conflict Zone: Dr. José Benjamín Pérez Matos announces a strategic trip to Israel with a high-level agenda
|
|
||||||
|
|
||||||
_Austin, Texas, United States – June 29, 2025_
|
|
||||||
|
|
||||||
In an announcement that redefines the scope of his international agenda, **Dr. José Benjamín Pérez Matos** confirmed on June 29, 2025, his immediate departure for Israel, on a mission that will be carried out **at the epicenter of a highly tense scenario** and will include meetings with political leaders, religious authorities, and military commanders.
|
|
||||||
|
|
||||||
The decision comes amid the fragility of recent agreements in the region, where —as the leader himself warned— stability remains precarious. In that regard, he stated: **“They go back and sign again, and those treaties get broken again”**, pointing to the volatile nature of the diplomatic landscape in the Middle East.
|
|
||||||
|
|
||||||
## His presence in directly affected areas
|
|
||||||
|
|
||||||
**Dr. José Benjamín Pérez Matos** detailed that his agenda includes visits to areas that were recently impacted by attacks, where he will maintain direct contact with armed forces and local authorities. The mission, far from being limited to a mere formality, aims to establish an active presence on the ground.
|
|
||||||
|
|
||||||
In that framework, he held: **“The army is also waiting for us”**, confirming that his arrival has been coordinated with official channels, underscoring the strategic character of the trip.
|
|
||||||
|
|
||||||
His presence in these spaces responds, as he explained, to the need of directly standing alongside the events unfolding in what he calls as key within the current context.
|
|
||||||
|
|
||||||
## Diplomacy from the field
|
|
||||||
|
|
||||||
One of the central objectives of the mission will be to strengthen the ties between Israel and the Western world, positioning himself as an active channel of communication in both directions.
|
|
||||||
|
|
||||||
**Dr. José Benjamín Pérez Matos** indicated that, during his stay, he will seek to carry out the message: **“From there, we will also be speaking back this way, toward the West”**, establishing a role of intermediary in the international narrative surrounding the conflict.
|
|
||||||
|
|
||||||
This course of action reinforces his strategy of influence, which combines territorial presence with the construction of discourse on the global stage.
|
|
||||||
|
|
||||||
## A trip under risky conditions
|
|
||||||
|
|
||||||
The trip takes place in a context where the Israeli civilian population continues to face threats requiring the repeated use of shelters and protective measures. In response to questions about the safety of the mission, **Dr. José Benjamín Pérez Matos** responded with an unequivocal statement.
|
|
||||||
|
|
||||||
In his words, he affirmed: **“When one is led by the Lord, I go wherever He sends me”**, reaffirming that his decision is not based solely on operational considerations, but on a personal conviction about the moment that the region is going through.
|
|
||||||
|
|
||||||
## Projected impact
|
|
||||||
|
|
||||||
The mission, expected to be brief but intense, is presented as a significant step in consolidating his international presence, especially in a scenario where those who manage to establish themselves on the ground gain greater capacity for influence.
|
|
||||||
|
|
||||||
With this announcement, **Dr. José Benjamín Pérez Matos** deepens his strategy of direct engagement in the Middle East, combining **active diplomacy, presence in a conflict zone, and the building of international standing.**
|
|
||||||
|
|
||||||
Amid a climate of high uncertainty, his trip is shaping up as an action aimed at influencing both the unfolding of events and their global interpretation.
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
locale: en
|
locale: en
|
||||||
title: 'Gaza Under the Magnifying Glass: Media Manipulation and Judgment Warning for Nations that Oppose Israel'
|
title: 'Gaza Under the Magnifying Glass: Media Manipulation and Judgment Warning for Nations that Oppose Israel'
|
||||||
date: 2025-09-17
|
date: 2025-08-17
|
||||||
slug: 2025-08-17-gaza-under-the-magnifying-glass-media-manipulation-and-judgment-warning-for-nations-that-oppose-israel
|
slug: 2025-08-17-gaza-under-the-magnifying-glass-media-manipulation-and-judgment-warning-for-nations-that-oppose-israel
|
||||||
place: ''
|
place: ''
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280/comunicado-1.webp'
|
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280/comunicado-1.webp'
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
locale: en
|
locale: en
|
||||||
title: 'A New Son for Jacareí: The Tribute to Dr. José Benjamín Pérez Matos'
|
title: 'A New Son for Jacareí: The Tribute to Dr. José Benjamín Pérez Matos'
|
||||||
slug: a-new-son-for-jacarei-the-tribute-to-dr-jose-benjamin-perez-matos
|
slug: a-new-son-for-jacarei-the-tribute-to-dr-jose-benjamin-perez-matos
|
||||||
date: 2025-08-29
|
date: 2025-09-05
|
||||||
place: The basement
|
place: The basement
|
||||||
city: Jacareí
|
city: Jacareí
|
||||||
country: BR
|
country: BR
|
||||||
|
|
@ -17,7 +17,7 @@ gallery: [
|
||||||
|
|
||||||
# A New Son for Jacareí: The Tribute to Dr. José Benjamín Pérez Matos
|
# A New Son for Jacareí: The Tribute to Dr. José Benjamín Pérez Matos
|
||||||
|
|
||||||
*Jacareí, Brazil – August 29, 2025*
|
*Jacareí, Brazil – September 5, 2025*
|
||||||
|
|
||||||
The city of Jacareí, in the state of São Paulo, Brazil, woke up with a different atmosphere, as if its streets—dressed in history, trees and palm trees—knew that someone special was coming to wander them, not as a tourist, but as a future adopted son.
|
The city of Jacareí, in the state of São Paulo, Brazil, woke up with a different atmosphere, as if its streets—dressed in history, trees and palm trees—knew that someone special was coming to wander them, not as a tourist, but as a future adopted son.
|
||||||
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
---
|
|
||||||
locale: en
|
|
||||||
title: 'Warning to Governments: Dr. José Benjamín Pérez Matos warns about consequences for those who oppose Israel'
|
|
||||||
country: 'PR'
|
|
||||||
city: 'Cayey'
|
|
||||||
date: 2025-09-13
|
|
||||||
slug: 2025-09-13-warning-to-governments-dr-jose-benjamin-perez-matos-warns-about-consequences-for-those-who-oppose-israel
|
|
||||||
tags: [Puerto Rico, Israel, Spain]
|
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280/comunicado-1.webp'
|
|
||||||
gallery: [
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/comunicado-1.webp',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
---
|
|
||||||
|
|
||||||
# Warning to Governments: Dr. José Benjamín Pérez Matos warns about consequences for those who oppose Israel
|
|
||||||
|
|
||||||
*Cayey, Puerto Rico – September 13, 2025*
|
|
||||||
|
|
||||||
In a new statement centered on an analysis of the international landscape, **Dr. José Benjamín Pérez Matos** issued a warning to leaders and governments, urging them to **thoroughly reconsider their foreign policy decisions regarding Israel**, in order to avoid consequences that, in his view, could prove gravely harmful to their nations.
|
|
||||||
|
|
||||||
The message, released on September 13, 2025, is grounded on a reading of Old Testament texts and presents a direct connection between the position states take toward Israel and their future stability.
|
|
||||||
|
|
||||||
## Jerusalem as An Axis of Protection and Conflict
|
|
||||||
|
|
||||||
**Dr. José Benjamín Pérez Matos** centered his analysis on chapter 12 of the book of Zechariah, which describes a scene of confrontation surrounding Jerusalem. Drawing on that reference, he maintained that the destiny of nations would be shaped by their actions toward the Israeli State.
|
|
||||||
|
|
||||||
In that context, he stated: **“All nations need to know these prophecies so they don’t make a mistake, so they don’t end up regretting it afterward”**, stressing the need to incorporate this kind of analysis into political decision-making.
|
|
||||||
|
|
||||||
He also warned about the impact that a lack of awareness on these subjects can have on the way states are governed: **“Due to the decisions made by these leaders and presidents who don’t know the Scriptures… they say things that end up hurting the people”**, drawing a direct connection between leadership, knowledge, and collective consequences.
|
|
||||||
|
|
||||||
## A Critique of International Positions
|
|
||||||
|
|
||||||
The message included specific references to recent decisions on the international stage. In particular, **Dr. José Benjamín Pérez Matos** questioned statements made by certain countries, noting that they reflect an insufficient understanding of the conflict.
|
|
||||||
|
|
||||||
In that regard, he said: **“Like Spain, which has said something it shouldn’t have said. They speak about things without knowing”**, extending his criticism to government advisory teams.
|
|
||||||
|
|
||||||
He further urged political advisors to incorporate new sources of analysis: **“Instead, those same people behind the scenes (the advisors) should search, search the Scriptures… that is what God has always commanded: search the Scriptures, so as not to make a mistake”**, emphasizing the need to reassess decision-making processes.
|
|
||||||
|
|
||||||
## Action and Consequences in the International Stage
|
|
||||||
|
|
||||||
One of the main points of his argument is that the consequences nations face are not random, but the direct result of their own actions.
|
|
||||||
|
|
||||||
Within that framework, he explained: **“For divine judgment to come upon a nation, upon a government…: it has to carry out an act to earn it”**, introducing a cause-and-effect logic between political decisions and long-term outcomes.
|
|
||||||
|
|
||||||
**Dr. José Benjamín Pérez Matos** also warned about the current context, stating: **“There is a great judgment upon all those nations that have been against Israel, and those that at this time will be against Israel. And they are against Israel! or they are turning against Israel”**, in a statement that reinforces the cautionary tone of his message.
|
|
||||||
|
|
||||||
## Somewhere Between Warning and Outcome
|
|
||||||
|
|
||||||
The closing of his address presents a clear duality: just as unfavorable decisions can lead to negative consequences, to be aligned with Israel is presented as a path toward stability and prosperity.
|
|
||||||
|
|
||||||
In this sense, his message forms part of a sustained line of narrative that seeks to influence the foreign policy of states and public opinion, combining **strategic analysis, international positioning, and long-term projection.**
|
|
||||||
|
|
||||||
In a global landscape marked by tensions and shifting power dynamics, **Dr. José Benjamín Pérez Matos** reiterates one central point: a nation’s position toward Israel is not a secondary matter, but a determining factor in its destiny.
|
|
||||||
|
|
@ -1,57 +0,0 @@
|
||||||
---
|
|
||||||
locale: en
|
|
||||||
title: 'Latin America Toward Jerusalem: An Embassy Center Is Proposed to Redefine Regional Diplomatic Strategy in 2026'
|
|
||||||
date: 2025-11-30
|
|
||||||
slug: 2025-11-30-latin-america-toward-jerusalem-an-embassy-center-is-proposed-to-redefine-regional-diplomatic-strategy-in-2026
|
|
||||||
place: ''
|
|
||||||
country: 'PR'
|
|
||||||
order: 1
|
|
||||||
city: 'Cayey'
|
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280/DSC04966.webp'
|
|
||||||
tags: [Israel, 'Puerto Rico']
|
|
||||||
gallery: [
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/DSC04966.webp',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
---
|
|
||||||
|
|
||||||
***From Puerto Rico, an initiative drives the joint relocation of Latin American diplomatic representations to Jerusalem as the axis of a new international alignment***
|
|
||||||
|
|
||||||
_Cayey, Puerto Rico – November 30, 2025_
|
|
||||||
|
|
||||||
In a proposal that combines strategic vision and international projection, an initiative was presented to the governments of Latin America and the Caribbean to advance a structural change in their foreign policy: consolidating their alliance with Israel and relocating their diplomatic missions to Jerusalem before the end of 2026.
|
|
||||||
|
|
||||||
The initiative is not limited to a symbolic gesture, but puts forward a concrete reconfiguration of the region’s diplomatic positioning at one of the most sensitive points of the global scenario.
|
|
||||||
|
|
||||||
## Israel as the Axis of Strategic Alignment
|
|
||||||
|
|
||||||
The proposal establishes a direct relationship between the States’ ties with Israel and their international projection. In this regard, political leaders of the region were urged to maintain firm and unwavering support, particularly in contexts of tension.
|
|
||||||
|
|
||||||
During the address, the following was emphasized: **“Check if its governor is united with Israel,”** underscoring that political and diplomatic coordination with the State of Israel must be upheld as a matter of State policy rather than a circumstantial decision.
|
|
||||||
|
|
||||||
The message aims to consolidate a regional course of action grounded in cooperation and strategic alignment, within a global context marked by geopolitical redefinitions.
|
|
||||||
|
|
||||||
## A Latin American Embassy Center in Jerusalem
|
|
||||||
|
|
||||||
As the central element of the proposal, the creation of a **Latin American Embassy Center in Jerusalem**was put forward, conceived as a diplomatic complex that would bring together the representations of the countries of the region within a single physical space.
|
|
||||||
|
|
||||||
The objective of this initiative is to optimize coordination between states, facilitate diplomatic interaction, and strengthen the joint presence of Latin America in the city.
|
|
||||||
|
|
||||||
In this framework, the following was stated: "If we can manage to have all the embassies in Jerusalem by 2026... That's not hard to ask for!" underscoring that the proposal is operationally viable provided the political will exists.
|
|
||||||
|
|
||||||
The idea introduces an innovative approach in diplomatic affairs, by proposing not only the relocation of embassies, but their integration into a collaborative regional framework.
|
|
||||||
|
|
||||||
## A Strategy With Global Implications
|
|
||||||
|
|
||||||
Beyond its logistical dimension, the proposal is situated within a broader framework of transformation of the international order. The relocation of embassies to Jerusalem implies a clear positioning in one of the most sensitive debates in global politics, with direct impact on bilateral and multilateral relations.
|
|
||||||
|
|
||||||
The proposal suggests that Latin America has the opportunity to act in a coordinated manner, strengthening its relative weight through shared strategic decisions.
|
|
||||||
|
|
||||||
## Toward a New International Landscape
|
|
||||||
|
|
||||||
The message presented from Cayey concludes with a vision of the future in which the region assumes an active role in the redefinition of the global diplomatic map. The Embassy Center proposal is projected as an instrument to consolidate alliances, improve operational efficiency, and reinforce the international presence of Latin American countries.
|
|
||||||
|
|
||||||
In this context, the eventual relocation of embassies to Jerusalem takes shape as a high-impact move, capable of redefining not only relations with Israel, but also the positioning of the region within the international landscape.
|
|
||||||
|
|
||||||
The initiative, ultimately, puts forward a paradigm shift: moving from fragmented foreign policies toward a **coordinated regional strategy**, with common objectives and global projection.
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
||||||
---
|
|
||||||
locale: es
|
|
||||||
title: '“The Time of Liberation Has Come”: Global Message Points to a Change of Era Amid International Crises'
|
|
||||||
date: 2026-01-04
|
|
||||||
slug: 2026-01-04-the-time-of-liberation-has-come-globally-message-points-to-a-change-of-era-amid-international-crises
|
|
||||||
place: ''
|
|
||||||
country: 'PR'
|
|
||||||
city: 'Cayey'
|
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280/photo_2026-05-05_12-41-08.jpg'
|
|
||||||
tags: [Israel, 'Puerto Rico', 'Venezuela', 'Gaza']
|
|
||||||
gallery: [
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/photo_2026-05-05_12-41-08.jpg',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
---
|
|
||||||
|
|
||||||
***From Puerto Rico, an address marks the beginning of 2026 with a call for the stabilization of nations and a structural analysis of the global landscape.***
|
|
||||||
|
|
||||||
*Cayey, Puerto Rico – January 4, 2026*
|
|
||||||
|
|
||||||
The start of the year was marked by a message of international reach that focused on the situation of multiple countries facing political, social, and economic crises. In an address delivered from Cayey, it was indicated that the world would be entering a new stage characterized by processes of transformation and the pursuit of stability across various regions of the world.
|
|
||||||
|
|
||||||
The message was not limited to a diagnosis, but also included a direct call to pay attention to the dynamics currently underway and their possible evolution in the coming months.
|
|
||||||
|
|
||||||
## Latin America and the Caribbean: Immediate Areas of Concern
|
|
||||||
Within the analysis, Venezuela emerged as a central focus as one of the primary regional situations of concern. The message referred to the need for prompt stabilization in the country, amid prolonged tensions and structural challenges.
|
|
||||||
|
|
||||||
Likewise, attention extended to other nations of the Caribbean and Central America, such as Cuba, Nicaragua, and Haiti, identified as territories facing complex situations that require sustainable short-term and medium-term solutions.
|
|
||||||
|
|
||||||
The perspective positions this subregion as one of the critical points within the broader map of global crises.
|
|
||||||
|
|
||||||
## A Problem of Global Scope
|
|
||||||
|
|
||||||
The analysis extended beyond the continent of the Americas, incorporating references to regions of Africa and to India as areas where conditions of instability and the need for transformation are also present.
|
|
||||||
|
|
||||||
In this regard, it was stated: **"There are many places that also need liberation,"** underscoring that the current tensions are not isolated phenomena, but rather part of a broader global dynamic.
|
|
||||||
|
|
||||||
The inclusion of multiple regions in the assessment reinforces the notion that the international landscape is experiencing a period of simultaneous change across multiple levels.
|
|
||||||
|
|
||||||
## A Change of Stage in the International System
|
|
||||||
|
|
||||||
The central concept of the message focused on the idea that the current context reflects a specific moment within a broader process of transformation. It was stated that the conditions observed —conflicts, institutional crises, and demands for change — would correspond to a transitional phase toward a new global landscape.
|
|
||||||
|
|
||||||
Within this framework, it was stated: **"The time of that liberation has come... therefore, we are in the right time,"** interpreting current events as part of a structured process aimed at the reorganization of nations.
|
|
||||||
|
|
||||||
## Perspectives for 2026
|
|
||||||
|
|
||||||
The message projects that the year 2026 will be decisive for the evolution of these processes, with possible advances in the stabilization of countries in crisis and in the redefinition of regional and international balances.
|
|
||||||
|
|
||||||
Far from being confined to a single conflict or region, the analysis presents a systemic view, in which multiple factors converge at a single historical turning point.
|
|
||||||
|
|
||||||
In this context, the start of the year is presented not merely as a change in the calendar, but as the beginning of a stage that could redefine the course of various nations and the international system as a whole.
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
||||||
---
|
|
||||||
locale: en
|
|
||||||
title: "Senior Officials of the Israeli Foreign Ministry Support the Work of Dr. José Benjamín Pérez Matos and the Kingdom of Peace and Justice Center"
|
|
||||||
date: 2026-05-18
|
|
||||||
order: 2
|
|
||||||
slug: 2026-05-18-altas-senior-officials-of-the-israeli-foreign-ministry-support-jose-benjamin-perez-matos-and-the-kingdom-of-peace-and-justice
|
|
||||||
tags: [Israel]
|
|
||||||
city: Jerusalén
|
|
||||||
country: IL
|
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280/2026_05_17_Reunion_vice_ministra_de_relaciones_exteriores_H_217.jpg'
|
|
||||||
gallery: [
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/2026_05_17_Reunion_vice_ministra_de_relaciones_exteriores_H_217.jpg',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/2026_05_17_Reunion_vice_ministra_de_relaciones_exteriores_H_218.jpg',
|
|
||||||
},
|
|
||||||
]
|
|
||||||
|
|
||||||
---
|
|
||||||
# Senior Officials of the Israeli Foreign Ministry Support the Work of Dr. José Benjamín Pérez Matos and the Kingdom of Peace and Justice Center
|
|
||||||
|
|
||||||
## In a meeting held at the Israeli Ministry of Foreign Affairs, high-level officials highlighted the importance of the work carried out in Latin America in support of Israel, and expressed their willingness to strengthen cooperation with the Kingdom of Peace and Justice Center.
|
|
||||||
|
|
||||||
*Jerusalén, Israel - may 18, 2026*
|
|
||||||
|
|
||||||
In the framework of an intensive agenda of official meetings held in the State of Israel, the president and founder of the Kingdom of Peace and Justice Center, **Dr. José Benjamín Pérez Matos**, held a work meeting with high-level officials of the Israeli Ministry of Foreign Affairs, where various topics were discussed related to the strengthening of ties between Israel and Latin America, cooperation with Christian and Evangelical communities, and the public diplomacy actions driven by the institution in various countries across the continent.
|
|
||||||
|
|
||||||
The meeting included the participation of **Lior Haiat**, Deputy Director of the Ministry of Foreign Affairs and Head of the North America Division; **George Deek**, responsible for the Ministry’s relations with the Christian world; and **Amir Ofek**, Director General of the Ministry of Foreign Affairs for Latin America and the Caribbean.
|
|
||||||
|
|
||||||
During the meeting, **Dr. José Benjamín Pérez Matos** presented a general overview of the events that the Kingdom of Peace and Justice Center carries out in Latin America to promote support for Israel and disseminate the historical, spiritual, and prophetic importance of the Jewish state.
|
|
||||||
|
|
||||||
As he explained, the institution conducts educational events, conferences, gatherings, and outreach initiatives, directed at both Christian communities and non-religious sectors interested in strengthening ties with Israel.
|
|
||||||
|
|
||||||
**“We have always worked in favor of Israel; and now even more so, as the time of the restoration of the Kingdom of the Messiah draws near. Everything that moves around the Kingdom of Peace and Justice Center at the level of Latin America is to spread the love for Israel and the importance of keeping Israel standing; both spiritually, and as a nation.”**
|
|
||||||
|
|
||||||
Likewise, he highlighted that the work developed by the institution is based in biblical teachings and in the study of the prophecies related to Israel and the future of the nations.
|
|
||||||
|
|
||||||
**“We carry out teaching services, based on the prophecies of the prophets, because everything must have a scriptural foundation: why one must love Israel and why one must stand in favor of Israel.”**
|
|
||||||
|
|
||||||
For his part, **Lior Haiat** expressly thanked the Kingdom of Peace and Justice Center for the work it has been developing in Latin America and highlighted the importance of the international recognition of Jerusalem as the capital of the State of Israel.
|
|
||||||
|
|
||||||
**“Thank you very much for the work you are doing, which is very important.”**
|
|
||||||
|
|
||||||
The Israeli official further argued that the relocation of embassies to Jerusalem constitutes a concrete step toward a peace grounded in historical reality and not in political constructs detached from the facts.
|
|
||||||
|
|
||||||
**“Jerusalem is the capital of the State of Israel; it has been the heart of the Jewish state for more than 3,000 years. Therefore, the step of bringing the embassy to Jerusalem is the step toward peace.”**
|
|
||||||
|
|
||||||
One of the most notable moments of the meeting came from **George Deek**, who expressed gratitude for the ongoing support of Christian and Evangelical communities across the Americas toward Israel, and highlighted the need to strengthen cooperation in the face of the growing antisemitism and persecution of Christians in various parts of the world.
|
|
||||||
|
|
||||||
**“Thank you for always standing alongside Israel as Christian communities, as evangelical communities, from Puerto Rico, South America, North America, and all parts of the world.”**
|
|
||||||
|
|
||||||
He likewise noted the importance of working together to combat both judeophobia and christianophobia.
|
|
||||||
|
|
||||||
**“We need to work together to ensure we combat judeophobia, and we will join you in the fight against christianophobia.”**
|
|
||||||
|
|
||||||
In response, **Dr. José Benjamín Pérez Matos** highlighted that the cooperation between Christians and Jews constitutes, from his perspective, the fulfillment of an ancient biblical prophecy linked to the reunification of the tribes of Israel described by the prophet Ezekiel.
|
|
||||||
|
|
||||||
**“Those two sticks must come together in the hand of the prophet to become one stick. And that means one kingdom.”**
|
|
||||||
|
|
||||||
The leader of the Kingdom of Peace and Justice Center further underscored that the actions driven by the institution respond to a long-term vision based on the fulfillment of biblical prophecies.
|
|
||||||
|
|
||||||
**“We do not work for the sake of working, but we work on a prophetic foundation of what the prophets spoke.”**
|
|
||||||
|
|
||||||
**Amir Ofek** expressed gratitude for the work carried out by **Dr. José Benjamín Pérez Matos** and the Kingdom of Peace and Justice Center, conveyed his willingness to collaborate with the initiatives driven by the institution, and expressed interest in learning about the contacts and international ties developed by the Center across various countries and Israeli diplomatic representations in Latin America.
|
|
||||||
|
|
||||||
The meeting concluded with a commitment to continue strengthening cooperation between the Israeli authorities and the Kingdom of Peace and Justice Center, expanding the outreach, education, and public diplomacy efforts aimed at reinforcing the ties between Israel and Latin America.
|
|
||||||
|
|
||||||
The meeting constitutes a new recognition of the international work that **Dr. José Benjamín Pérez Matos** and the Kingdom of Peace and Justice Center have been developing for years in favor of Israel, promoting the rapprochement of communities, interfaith dialogue, and cooperation among nations.
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
locale: en
|
locale: es
|
||||||
title: 'Señales de una transformación global: advertencias sobre Israel y el clima en el Medio Oriente'
|
title: 'Señales de una transformación global: advertencias sobre Israel y el clima en el Medio Oriente'
|
||||||
date: 2023-07-27
|
date: 2023-07-27
|
||||||
slug: 2023-07-27-senales-de-una-transformacion-global-advertencias-sobre-israel-y-el-clima-en-el-medio-oriente
|
slug: 2023-07-27-senales-de-una-transformacion-global-advertencias-sobre-israel-y-el-clima-en-el-medio-oriente
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ place: ''
|
||||||
country: 'PR'
|
country: 'PR'
|
||||||
city: 'Cayey'
|
city: 'Cayey'
|
||||||
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280/photo_2026-05-08_12-15-10.jpg'
|
thumbnail: 'https://ik.imagekit.io/crpy/tr:w-1280/photo_2026-05-08_12-15-10.jpg'
|
||||||
tags: [Israel, Puerto Rico, Bolivia, Chile, Colombia]
|
tags: [Israel, Puerto Rico, Bolivia, El Salvador, Nicaragua]
|
||||||
gallery: [
|
gallery: [
|
||||||
{
|
{
|
||||||
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/photo_2026-05-08_12-15-10.jpg',
|
image: 'https://ik.imagekit.io/crpy/tr:w-1280,h-900,cm-pad_resize,bg-blurred/photo_2026-05-08_12-15-10.jpg',
|
||||||
|
|
|
||||||
|
|
@ -19,16 +19,16 @@ gallery: [
|
||||||
|
|
||||||
*Cayey, Puerto Rico – 15 de abril de 2024*
|
*Cayey, Puerto Rico – 15 de abril de 2024*
|
||||||
|
|
||||||
En un contexto internacional marcado por tensiones crecientes en el Medio Oriente, el **Dr. José Benjamín Pérez Matos** emitió un mensaje de respaldo y bendición dirigido al pueblo de Israel, destacando la importancia de la toma de decisiones en un momento considerado clave para el futuro de la región.
|
En un contexto internacional marcado por tensiones crecientes en el Medio Oriente, el Dr. José Benjamín Pérez Matos emitió un mensaje de respaldo y bendición dirigido al pueblo de Israel, destacando la importancia de la toma de decisiones en un momento considerado clave para el futuro de la región.
|
||||||
|
|
||||||
Desde Cayey, Puerto Rico, el **Dr. José Benjamín Pérez Matos** dirigió sus palabras tanto a los líderes como al pueblo hebreo, enfatizando la necesidad de actuar con sabiduría y responsabilidad en un escenario de alta complejidad:
|
Desde Cayey, Puerto Rico, el Dr. José Benjamín Pérez Matos dirigió sus palabras tanto a los líderes como al pueblo hebreo, enfatizando la necesidad de actuar con sabiduría y responsabilidad en un escenario de alta complejidad:
|
||||||
|
|
||||||
**“Que Dios bendiga a Israel, que Dios bendiga al pueblo hebreo, que tomen las decisiones correctas”**.
|
**“Que Dios bendiga a Israel, que Dios bendiga al pueblo hebreo, que tomen las decisiones correctas”**.
|
||||||
|
|
||||||
El mensaje no solo transmitió apoyo, sino también una perspectiva de esperanza vinculada a acontecimientos futuros. En ese sentido, el **Dr. José Benjamín Pérez Matos** expresó su anhelo de que el pueblo de Israel pueda recibir con claridad y prontitud aquello que, según su visión, se aproxima:
|
El mensaje no solo transmitió apoyo, sino también una perspectiva de esperanza vinculada a acontecimientos futuros. En ese sentido, el Dr. José Benjamín Pérez Matos expresó su anhelo de que el pueblo de Israel pueda recibir con claridad y prontitud aquello que, según su visión, se aproxima:
|
||||||
|
|
||||||
**“Que Dios les ponga en su corazón lo que pronto ellos van a recibir”**.
|
**“Que Dios les ponga en su corazón lo que pronto ellos van a recibir”**.
|
||||||
|
|
||||||
Estas declaraciones se inscriben en una línea de acompañamiento constante, donde la fe y la dimensión espiritual se presentan como elementos centrales de cohesión y orientación. En este marco, la comunidad que sigue al ****Dr. José Benjamín Pérez Matos**** reafirma su respaldo a Israel, destacando el papel de la oración y la convicción como factores que trascienden fronteras.
|
Estas declaraciones se inscriben en una línea de acompañamiento constante, donde la fe y la dimensión espiritual se presentan como elementos centrales de cohesión y orientación. En este marco, la comunidad que sigue al Dr. José Benjamín Pérez Matos reafirma su respaldo a Israel, destacando el papel de la oración y la convicción como factores que trascienden fronteras.
|
||||||
|
|
||||||
El mensaje emitido desde Puerto Rico se suma así a una serie de pronunciamientos que subrayan la relevancia del momento actual, consolidando una postura clara de apoyo y seguimiento atento a la evolución de los acontecimientos en el escenario internacional.
|
El mensaje emitido desde Puerto Rico se suma así a una serie de pronunciamientos que subrayan la relevancia del momento actual, consolidando una postura clara de apoyo y seguimiento atento a la evolución de los acontecimientos en el escenario internacional.
|
||||||
|
|
|
||||||
|
|
@ -18,13 +18,13 @@ gallery: [
|
||||||
|
|
||||||
*Cayey, Puerto Rico – 25 de agosto de 2024*
|
*Cayey, Puerto Rico – 25 de agosto de 2024*
|
||||||
|
|
||||||
En una conferencia multitudinaria y con alcance internacional a través de transmisión satelital, el **Dr. José Benjamín Pérez Matos** emitió un mensaje de fuerte contenido geopolítico y espiritual, centrado en la situación crítica en el Medio Oriente y en la persistente crisis que atraviesa Venezuela.
|
En una conferencia multitudinaria y con alcance internacional a través de transmisión satelital, el Dr. José Benjamín Pérez Matos emitió un mensaje de fuerte contenido geopolítico y espiritual, centrado en la situación crítica en el Medio Oriente y en la persistente crisis que atraviesa Venezuela.
|
||||||
|
|
||||||
Ante miles de asistentes, el **Dr. José Benjamín Pérez Matos** abordó la emergencia de 48 horas declarada en Israel tras el lanzamiento de cientos de cohetes desde el Líbano, un episodio que incrementó la tensión en la región y encendió las alertas a nivel internacional. En su intervención, contextualizó estos hechos dentro de un marco más amplio de interpretación:
|
Ante miles de asistentes, el Dr. José Benjamín Pérez Matos abordó la emergencia de 48 horas declarada en Israel tras el lanzamiento de cientos de cohetes desde el Líbano, un episodio que incrementó la tensión en la región y encendió las alertas a nivel internacional. En su intervención, contextualizó estos hechos dentro de un marco más amplio de interpretación:
|
||||||
|
|
||||||
**«Para Israel habrá una promesa muy pero que muy grande que está cristalizándose»**.
|
**«Para Israel habrá una promesa muy pero que muy grande que está cristalizándose»**.
|
||||||
|
|
||||||
Lejos de limitarse a una lectura de crisis, el mensaje enfatizó una perspectiva de proceso en desarrollo, aludiendo a un escenario de transformación que trasciende los acontecimientos inmediatos. En ese sentido, el **Dr. José Benjamín Pérez Matos** señaló que los eventos actuales deben ser observados como parte de un “despertar mundial” vinculado al devenir de Israel.
|
Lejos de limitarse a una lectura de crisis, el mensaje enfatizó una perspectiva de proceso en desarrollo, aludiendo a un escenario de transformación que trasciende los acontecimientos inmediatos. En ese sentido, el Dr. José Benjamín Pérez Matos señaló que los eventos actuales deben ser observados como parte de un “despertar mundial” vinculado al devenir de Israel.
|
||||||
|
|
||||||
La intervención también dedicó un espacio central a la situación en Venezuela, donde el líder elevó un llamado público por la libertad del país, haciendo referencia a las condiciones que afectan a su población:
|
La intervención también dedicó un espacio central a la situación en Venezuela, donde el líder elevó un llamado público por la libertad del país, haciendo referencia a las condiciones que afectan a su población:
|
||||||
|
|
||||||
|
|
@ -32,6 +32,6 @@ La intervención también dedicó un espacio central a la situación en Venezuel
|
||||||
|
|
||||||
El mensaje reforzó la idea de que la situación venezolana constituye un punto crítico dentro del panorama regional, destacando la necesidad de un cambio que permita restablecer condiciones de libertad y dignidad para su pueblo.
|
El mensaje reforzó la idea de que la situación venezolana constituye un punto crítico dentro del panorama regional, destacando la necesidad de un cambio que permita restablecer condiciones de libertad y dignidad para su pueblo.
|
||||||
|
|
||||||
En el tramo final de la conferencia, el **Dr. José Benjamín Pérez Matos** amplió su mensaje hacia América Latina, convocando a una visión de unidad y preparación ante lo que definió como un período de transición. En este contexto, subrayó que, más allá de las dificultades previstas, la fe y la oración se presentan como elementos centrales para afrontar los desafíos venideros.
|
En el tramo final de la conferencia, el Dr. José Benjamín Pérez Matos amplió su mensaje hacia América Latina, convocando a una visión de unidad y preparación ante lo que definió como un período de transición. En este contexto, subrayó que, más allá de las dificultades previstas, la fe y la oración se presentan como elementos centrales para afrontar los desafíos venideros.
|
||||||
|
|
||||||
El pronunciamiento reafirma una línea de análisis que combina la lectura de los acontecimientos internacionales con una perspectiva de largo alcance, en un escenario global caracterizado por su creciente complejidad e incertidumbre.
|
El pronunciamiento reafirma una línea de análisis que combina la lectura de los acontecimientos internacionales con una perspectiva de largo alcance, en un escenario global caracterizado por su creciente complejidad e incertidumbre.
|
||||||
|
|
|
||||||
|
|
@ -19,13 +19,13 @@ gallery: [
|
||||||
|
|
||||||
_Austin, Texas, Estados Unidos - 29 de junio de 2025_
|
_Austin, Texas, Estados Unidos - 29 de junio de 2025_
|
||||||
|
|
||||||
En un anuncio que redefine el alcance de su agenda internacional, el **Dr. José Benjamín Pérez Matos** confirmó este 29 de junio de 2025 su traslado inmediato a Israel, en una misión que se desarrollará **en el epicentro de un escenario de alta tensión** y que incluirá encuentros con líderes políticos, autoridades religiosas y mandos militares.
|
En un anuncio que redefine el alcance de su agenda internacional, el Dr. José Benjamín Pérez Matos confirmó este 29 de junio de 2025 su traslado inmediato a Israel, en una misión que se desarrollará **en el epicentro de un escenario de alta tensión** y que incluirá encuentros con líderes políticos, autoridades religiosas y mandos militares.
|
||||||
|
|
||||||
La decisión se produce en un contexto de fragilidad en los acuerdos recientes en la región, donde —según advirtió el propio líder— la estabilidad continúa siendo precaria. En ese sentido, afirmó: **“Vuelven y los firman, vuelven y se rompen esos tratados”**, señalando la volatilidad del escenario diplomático en Medio Oriente.
|
La decisión se produce en un contexto de fragilidad en los acuerdos recientes en la región, donde —según advirtió el propio líder— la estabilidad continúa siendo precaria. En ese sentido, afirmó: **“Vuelven y los firman, vuelven y se rompen esos tratados”**, señalando la volatilidad del escenario diplomático en Medio Oriente.
|
||||||
|
|
||||||
## Presencia directa en zonas afectadas
|
## Presencia directa en zonas afectadas
|
||||||
|
|
||||||
El **Dr. José Benjamín Pérez Matos** detalló que su agenda contempla visitas a áreas recientemente impactadas por ataques, donde mantendrá contacto directo con fuerzas de seguridad y autoridades locales. La misión, lejos de limitarse a una instancia protocolaria, apunta a consolidar una presencia activa en el terreno.
|
El Dr. José Benjamín Pérez Matos detalló que su agenda contempla visitas a áreas recientemente impactadas por ataques, donde mantendrá contacto directo con fuerzas de seguridad y autoridades locales. La misión, lejos de limitarse a una instancia protocolaria, apunta a consolidar una presencia activa en el terreno.
|
||||||
|
|
||||||
En ese marco, sostuvo: **“El ejército nos está esperando también”**, confirmando que su llegada ha sido coordinada con estructuras oficiales, lo que refuerza el carácter estratégico del viaje.
|
En ese marco, sostuvo: **“El ejército nos está esperando también”**, confirmando que su llegada ha sido coordinada con estructuras oficiales, lo que refuerza el carácter estratégico del viaje.
|
||||||
|
|
||||||
|
|
@ -35,13 +35,13 @@ Su presencia en estos espacios responde, según explicó, a la necesidad de acom
|
||||||
|
|
||||||
Uno de los objetivos centrales de la misión será fortalecer los vínculos entre Israel y el mundo occidental, posicionándose como un canal de comunicación activo en ambos sentidos.
|
Uno de los objetivos centrales de la misión será fortalecer los vínculos entre Israel y el mundo occidental, posicionándose como un canal de comunicación activo en ambos sentidos.
|
||||||
|
|
||||||
El **Dr. José Benjamín Pérez Matos** adelantó que, durante su estadía, buscará proyectar el mensaje hacia el exterior: **“Desde allá estaremos también hablando hacia acá, hacia Occidente”**, estableciendo un rol de intermediación en la narrativa internacional sobre el conflicto.
|
El Dr. José Benjamín Pérez Matos adelantó que, durante su estadía, buscará proyectar el mensaje hacia el exterior: **“Desde allá estaremos también hablando hacia acá, hacia Occidente”**, estableciendo un rol de intermediación en la narrativa internacional sobre el conflicto.
|
||||||
|
|
||||||
Esta línea de acción refuerza su estrategia de incidencia, que combina presencia territorial con construcción de discurso en el plano global.
|
Esta línea de acción refuerza su estrategia de incidencia, que combina presencia territorial con construcción de discurso en el plano global.
|
||||||
|
|
||||||
## Un viaje en condiciones de riesgo
|
## Un viaje en condiciones de riesgo
|
||||||
|
|
||||||
El traslado se produce en un contexto donde la población civil israelí continúa enfrentando amenazas que obligan al uso recurrente de refugios y medidas de protección. Frente a los cuestionamientos sobre la seguridad de la misión, el **Dr. José Benjamín Pérez Matos** respondió con una definición categórica.
|
El traslado se produce en un contexto donde la población civil israelí continúa enfrentando amenazas que obligan al uso recurrente de refugios y medidas de protección. Frente a los cuestionamientos sobre la seguridad de la misión, el Dr. José Benjamín Pérez Matos respondió con una definición categórica.
|
||||||
|
|
||||||
En sus palabras, aseveró: **“Cuando uno es dirigido por el Señor, yo voy a donde Él me manda”**, reafirmando que su decisión no responde únicamente a criterios operativos, sino a una convicción personal sobre el momento que atraviesa la región.
|
En sus palabras, aseveró: **“Cuando uno es dirigido por el Señor, yo voy a donde Él me manda”**, reafirmando que su decisión no responde únicamente a criterios operativos, sino a una convicción personal sobre el momento que atraviesa la región.
|
||||||
|
|
||||||
|
|
@ -49,6 +49,6 @@ En sus palabras, aseveró: **“Cuando uno es dirigido por el Señor, yo voy a
|
||||||
|
|
||||||
La misión, que se prevé breve pero intensa, se presenta como un paso relevante en la consolidación de su presencia internacional, especialmente en un escenario donde los actores que logran posicionarse en el terreno adquieren mayor capacidad de influencia.
|
La misión, que se prevé breve pero intensa, se presenta como un paso relevante en la consolidación de su presencia internacional, especialmente en un escenario donde los actores que logran posicionarse en el terreno adquieren mayor capacidad de influencia.
|
||||||
|
|
||||||
Con este anuncio, el **Dr. José Benjamín Pérez Matos** profundiza su estrategia de intervención directa en Medio Oriente, combinando **diplomacia activa, presencia en zona de conflicto y construcción de posicionamiento internacional.**
|
Con este anuncio, el Dr. José Benjamín Pérez Matos profundiza su estrategia de intervención directa en Medio Oriente, combinando **diplomacia activa, presencia en zona de conflicto y construcción de posicionamiento internacional.**
|
||||||
|
|
||||||
En un contexto de alta incertidumbre, su viaje se perfila como una acción orientada a incidir tanto en el desarrollo de los acontecimientos como en la interpretación global de los mismos.
|
En un contexto de alta incertidumbre, su viaje se perfila como una acción orientada a incidir tanto en el desarrollo de los acontecimientos como en la interpretación global de los mismos.
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ gallery: [
|
||||||
|
|
||||||
## Un nuevo hijo para Jacareí: el homenaje al Dr. José Benjamín Pérez Matos
|
## Un nuevo hijo para Jacareí: el homenaje al Dr. José Benjamín Pérez Matos
|
||||||
|
|
||||||
_Jacareí, Brasil – 29 de agosto de 2025_
|
Jacareí, Brasil – 29 de agosto de 2025
|
||||||
|
|
||||||
La ciudad de Jacareí, en el estado de São Paulo, vivió una jornada marcada por el simbolismo, el reconocimiento institucional y la cercanía entre autoridades y líderes espirituales, con motivo de la visita del Dr. José Benjamín Pérez Matos, quien fue distinguido como ciudadano jacareiense en el marco de una serie de actividades oficiales.
|
La ciudad de Jacareí, en el estado de São Paulo, vivió una jornada marcada por el simbolismo, el reconocimiento institucional y la cercanía entre autoridades y líderes espirituales, con motivo de la visita del Dr. José Benjamín Pérez Matos, quien fue distinguido como ciudadano jacareiense en el marco de una serie de actividades oficiales.
|
||||||
|
|
||||||
|
|
@ -27,9 +27,9 @@ En ese lugar fue recibido por Lucas Torralbo, director de Comercio y Servicios d
|
||||||
|
|
||||||
Minutos más tarde, con la llegada del alcalde Celso Florêncio, se desarrolló un encuentro en el despacho oficial. En ese ámbito institucional, el Dr. José Benjamín Pérez Matos destacó la responsabilidad de quienes ejercen funciones públicas por elección popular y subrayó la importancia de la guía espiritual en el ejercicio del liderazgo.
|
Minutos más tarde, con la llegada del alcalde Celso Florêncio, se desarrolló un encuentro en el despacho oficial. En ese ámbito institucional, el Dr. José Benjamín Pérez Matos destacó la responsabilidad de quienes ejercen funciones públicas por elección popular y subrayó la importancia de la guía espiritual en el ejercicio del liderazgo.
|
||||||
|
|
||||||
En ese contexto, expresó: **“Dios los guíe buscando sabiduría de lo alto, como la tuvo Daniel, en ese tiempo del rey Nabucodonosor. Para mí es una bendición poder estar frente a uno de los líderes que en este lugar está ministrando esta posición; por lo cual, le pido a Dios Su bendición sobre usted, para que le dirija en todo. Y gracias por la acogida y esta bienvenida que me han dado. Ya soy jacareiense, así que ya es como si fuera mi casa”**.
|
En ese contexto, expresó: **“Dios los guíe buscando sabiduría de lo alto, como la tuvo Daniel, en ese tiempo del rey Nabucodonosor. para mí es una bendición poder estar frente a uno de los líderes que en este lugar está ministrando esta posición; por lo cual, le pido a Dios Su bendición sobre usted, para que le dirija en todo. y gracias por la acogida y esta bienvenida que me han dado. ya soy jacareiense, así que ya es como si fuera mi casa”**.
|
||||||
|
|
||||||
Por su parte, el alcalde Celso Florêncio dio la bienvenida al visitante y a su comitiva, destacando el rol de la iglesia como agente de transformación social. En sus palabras, señaló: “Para nosotros es un placer tenerlos aquí con nosotros. Conozco ese gran trabajo dentro de nuestra ciudad… entonces ya eres ciudadano de Jacareí. Siempre las puertas están abiertas para usted y todos los que lo acompañan”.
|
Por su parte, el alcalde Celso Florêncio dio la bienvenida al visitante y a su comitiva, destacando el rol de la iglesia como agente de transformación social. En sus palabras, señaló: “Para nosotros es un placer tenerlos aquí con nosotros. conozco ese gran trabajo dentro de nuestra ciudad… entonces ya eres ciudadano de Jacareí. siempre las puertas están abiertas para usted y todos los que lo acompañan”.
|
||||||
|
|
||||||
El encuentro concluyó con una oración dirigida por el Dr. José Benjamín Pérez Matos, en la que pidió sabiduría, protección y paz para las autoridades y para la ciudad, con el objetivo de que Jacareí continúe desarrollándose como una comunidad orientada al bien común. El momento finalizó con un gesto de cercanía entre ambos líderes.
|
El encuentro concluyó con una oración dirigida por el Dr. José Benjamín Pérez Matos, en la que pidió sabiduría, protección y paz para las autoridades y para la ciudad, con el objetivo de que Jacareí continúe desarrollándose como una comunidad orientada al bien común. El momento finalizó con un gesto de cercanía entre ambos líderes.
|
||||||
|
|
||||||
|
|
@ -37,13 +37,13 @@ El encuentro concluyó con una oración dirigida por el Dr. José Benjamín Pér
|
||||||
|
|
||||||
Posteriormente, a las 13:30, la agenda continuó en la Câmara Municipal de Jacareí, sede del poder legislativo local, donde se llevó a cabo el acto de reconocimiento en el auditorio Vereador Djalma D’Avila Leal.
|
Posteriormente, a las 13:30, la agenda continuó en la Câmara Municipal de Jacareí, sede del poder legislativo local, donde se llevó a cabo el acto de reconocimiento en el auditorio Vereador Djalma D’Avila Leal.
|
||||||
|
|
||||||
La concejal Maria Amélia, impulsora de la iniciativa, explicó que el reconocimiento fue aprobado por unanimidad y que la entrega simbólica se realizaba en esta instancia, previendo una futura ceremonia formal. En declaraciones, expresó: “Como él venía a Brasil, inmediatamente colocamos esta propuesta para ser votada en casa. Todos los gobernadores aprobaron y hoy estamos aquí para hacer esta entrega simbólica, porque en su próxima visita a Brasil pretendemos hacer esta entrega oficial”.
|
La concejal Maria Amélia, impulsora de la iniciativa, explicó que el reconocimiento fue aprobado por unanimidad y que la entrega simbólica se realizaba en esta instancia, previendo una futura ceremonia formal. En declaraciones, expresó: “Como él venía a Brasil, inmediatamente colocamos esta propuesta para ser votada en casa. todos los gobernadores aprobaron y hoy estamos aquí para hacer esta entrega simbólica, porque en su próxima visita a Brasil pretendemos hacer esta entrega oficial”.
|
||||||
|
|
||||||
Durante el acto, la concejal ofreció un mensaje de bienvenida en el que incluyó fragmentos en español, como gesto de cercanía hacia el homenajeado. Visiblemente emocionada, afirmó: “Lo preparamos con mucho cariño”, al momento de entregar el título de ciudadano jacareiense.
|
Durante el acto, la concejal ofreció un mensaje de bienvenida en el que incluyó fragmentos en español, como gesto de cercanía hacia el homenajeado. Visiblemente emocionada, afirmó: “Lo preparamos con mucho cariño”, al momento de entregar el título de ciudadano jacareiense.
|
||||||
|
|
||||||
La ceremonia incluyó además la entrega de obsequios representativos de la ciudad, entre ellos un presente con la inscripción “yo amo a Jacareí” y piezas artesanales con imágenes locales, como una forma de transmitir simbólicamente la identidad cultural del municipio.
|
La ceremonia incluyó además la entrega de obsequios representativos de la ciudad, entre ellos un presente con la inscripción “yo amo a Jacareí” y piezas artesanales con imágenes locales, como una forma de transmitir simbólicamente la identidad cultural del municipio.
|
||||||
|
|
||||||
En respuesta, el Dr. José Benjamín Pérez Matos expresó su agradecimiento y destacó el significado del reconocimiento recibido. En sus palabras, afirmó: **“Agradezco la hospitalidad, la bienvenida y que me hayan otorgado el título de ciudadano jacareiense. Y como honra lo llevaré, y van a experimentar que un jacareiense esté recorriendo el mundo, poniendo en alto también a Jacareí… o sea, sería también un embajador de Jacareí en el mundo”**.
|
En respuesta, el Dr. José Benjamín Pérez Matos expresó su agradecimiento y destacó el significado del reconocimiento recibido. En sus palabras, afirmó: **“Agradezco la hospitalidad, la bienvenida y que me hayan otorgado el título de ciudadano jacareiense. y como honra lo llevaré, y van a experimentar que un jacareiense esté recorriendo el mundo, poniendo en alto también a Jacareí… o sea, sería también un embajador de Jacareí en el mundo”**.
|
||||||
|
|
||||||
El acto concluyó con una oración en la que se invocó la bendición sobre la ciudad, sus autoridades y sus habitantes, con una referencia al capítulo 6 del libro de Números, pidiendo discernimiento y guía para quienes tienen la responsabilidad de legislar.
|
El acto concluyó con una oración en la que se invocó la bendición sobre la ciudad, sus autoridades y sus habitantes, con una referencia al capítulo 6 del libro de Números, pidiendo discernimiento y guía para quienes tienen la responsabilidad de legislar.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -29,24 +29,24 @@ La ceremonia dio inicio con la entonación de los himnos nacionales de Colombia
|
||||||
|
|
||||||
Entre los asistentes se encontraban familiares del homenajeado, incluyendo a su esposa Sara Meléndez y sus yernos, así como el misionero internacional Miguel Bermúdez Marín junto a su familia. A ellos se sumaron aproximadamente 260 invitados que acompañaron el desarrollo del acto, en una ceremonia cargada de significado institucional y espiritual.
|
Entre los asistentes se encontraban familiares del homenajeado, incluyendo a su esposa Sara Meléndez y sus yernos, así como el misionero internacional Miguel Bermúdez Marín junto a su familia. A ellos se sumaron aproximadamente 260 invitados que acompañaron el desarrollo del acto, en una ceremonia cargada de significado institucional y espiritual.
|
||||||
|
|
||||||
El primer reconocimiento fue entregado por la senadora María Fernanda Cabal, quien, además de destacar la importancia de la fe, la Biblia y una vida guiada por principios, expresó su admiración personal por la labor del homenajeado. En sus palabras, señaló: “Felicitaciones, pastor. Estoy admirada por su trabajo, su trabajo en la Gran Carpa Catedral. Y seguramente voy a ir un día a Puerto Rico. Admiro su trabajo”.
|
El primer reconocimiento fue entregado por la senadora María Fernanda Cabal, quien, además de destacar la importancia de la fe, la Biblia y una vida guiada por principios, expresó su admiración personal por la labor del homenajeado. En sus palabras, señaló: “felicitaciones, pastor. estoy admirada por su trabajo, su trabajo en la gran carpa catedral. y seguramente voy a ir un día a puerto rico. admiro su trabajo”.
|
||||||
|
|
||||||
Posteriormente, el representante a la Cámara Jhon Jairo Berrío López tomó la palabra para profundizar en el sentido del reconocimiento, destacando la necesidad de líderes con vocación de servicio en el contexto actual. En su intervención, afirmó que el mundo requiere “Más líderes que traigan luz, que cuiden, escuchen y caminen al lado del pueblo”.
|
Posteriormente, el representante a la Cámara Jhon Jairo Berrío López tomó la palabra para profundizar en el sentido del reconocimiento, destacando la necesidad de líderes con vocación de servicio en el contexto actual. En su intervención, afirmó que el mundo requiere “más líderes que traigan luz, que cuiden, escuchen y caminen al lado del pueblo”.
|
||||||
|
|
||||||
Asimismo, subrayó el alcance internacional de la labor del Dr. José Benjamín Pérez Matos, destacando que “Su labor trasciende fronteras: ha predicado y realizado muchos eventos importantes de fe en distintos países; no solamente de Latinoamérica, sino también del mundo. Entre esos países está Colombia”.
|
Asimismo, subrayó el alcance internacional de la labor del Dr. José Benjamín Pérez Matos, destacando que “su labor trasciende fronteras: ha predicado y realizado muchos eventos importantes de fe en distintos países; no solamente de latinoamérica, sino también del mundo. Entre esos países está colombia”.
|
||||||
|
|
||||||
En un tono personal, el legislador agregó: “Hoy, al entregar esta condecoración, lo hago no solo como congresista, sino como ciudadano que reconoce que en personas como usted, doctor José Benjamín, se ve lo mejor de la fe hecha acción. Personas que no solo prometen, sino que cumplen; que no solo hablan, sino que aman; que no solo reciben aplausos momentáneos, sino que siembran para generaciones”.
|
En un tono personal, el legislador agregó: “hoy, al entregar esta condecoración, lo hago no solo como congresista, sino como ciudadano que reconoce que en personas como usted, doctor josé benjamín, se ve lo mejor de la fe hecha acción. personas que no solo prometen, sino que cumplen; que no solo hablan, sino que aman; que no solo reciben aplausos momentáneos, sino que siembran para generaciones”.
|
||||||
|
|
||||||
El Capitolio Nacional, habitualmente escenario de debates políticos y decisiones de alto impacto institucional, se transformó en esta ocasión en un espacio de reconocimiento y gratitud. En ese contexto, la presentadora Yarith Barbosa, junto a su familia, realizó un gesto simbólico al imponer la insignia de la bandera de Colombia al homenajeado, destacando que el Dr. José Benjamín Pérez Matos “Ha llevado un mensaje de unión y esperanza que ha cruzado fronteras, fortaleciendo lazos y construyendo puentes entre naciones. Su liderazgo ha inspirado a miles de personas”.
|
El Capitolio Nacional, habitualmente escenario de debates políticos y decisiones de alto impacto institucional, se transformó en esta ocasión en un espacio de reconocimiento y gratitud. En ese contexto, la presentadora Yarith Barbosa, junto a su familia, realizó un gesto simbólico al imponer la insignia de la bandera de Colombia al homenajeado, destacando que el Dr. José Benjamín Pérez Matos “ha llevado un mensaje de unión y esperanza que ha cruzado fronteras, fortaleciendo lazos y construyendo puentes entre naciones. su liderazgo ha inspirado a miles de personas”.
|
||||||
|
|
||||||
Llegado el momento central del acto, el Dr. José Benjamín Pérez Matos tomó la palabra para expresar su agradecimiento. Con un tono pausado y reflexivo, dirigió un mensaje que resonó en el recinto, orientado al fortalecimiento espiritual y social de la nación.
|
Llegado el momento central del acto, el Dr. José Benjamín Pérez Matos tomó la palabra para expresar su agradecimiento. Con un tono pausado y reflexivo, dirigió un mensaje que resonó en el recinto, orientado al fortalecimiento espiritual y social de la nación.
|
||||||
|
|
||||||
En su intervención, expresó: **“Reitero mi deseo y propósito: de que la luz verdadera, que alumbra el alma y el entendimiento de todo ser humano, impacte a cada colombiano para que siga edificándose a sí mismo, sea de bendición para su familia; y así poder construir una mejor sociedad, un mejor país cada día”**.
|
En su intervención, expresó: **“reitero mi deseo y propósito: de que la luz verdadera, que alumbra el alma y el entendimiento de todo ser humano, impacten a cada colombiano para que siga edificándose a sí mismo, sea de bendición para su familia; y así poder construir una mejor sociedad, un mejor país cada día”**.
|
||||||
|
|
||||||
Asimismo, añadió un mensaje de bendición y reflexión dirigido al país: **“Que Dios bendiga a la bella Colombia; y que Dios dirija a todo el pueblo a elegir el mejor líder, para que pueda llevar a la bella Colombia a recibir las bendiciones espirituales y materiales también”**.
|
Asimismo, añadió un mensaje de bendición y reflexión dirigido al país: **“que Dios bendiga a la bella colombia; y que dios dirija a todo el pueblo a elegir el mejor líder, para que pueda llevar a la bella colombia a recibir las bendiciones espirituales y materiales también”**.
|
||||||
|
|
||||||
La ceremonia, que tuvo una duración aproximada de 50 minutos, fue seguida tanto por los asistentes presentes como por miles de espectadores a través de las plataformas de transmisión del Congreso y de La Gran Carpa Catedral, consolidando su alcance más allá del recinto físico.
|
La ceremonia, que tuvo una duración aproximada de 50 minutos, fue seguida tanto por los asistentes presentes como por miles de espectadores a través de las plataformas de transmisión del Congreso y de La Gran Carpa Catedral, consolidando su alcance más allá del recinto físico.
|
||||||
|
|
||||||
El cierre estuvo a cargo del jefe de Protocolo, Plinio Enrique Ordóñez Villamizar, quien ofreció una reflexión final sobre el significado de este tipo de reconocimientos. En sus palabras, destacó que las condecoraciones “Se deben hacer en vida (porque es en vida): tanto nuestro homenajeado siente el amor de la gente, de su familia y de quienes lo rodean…, en el entendido muy sencillo de que se recibió esa condecoración es por algo; y ese ‘algo’ es que se están haciendo las cosas bien”.
|
El cierre estuvo a cargo del jefe de Protocolo, Plinio Enrique Ordóñez Villamizar, quien ofreció una reflexión final sobre el significado de este tipo de reconocimientos. En sus palabras, destacó que las condecoraciones “se deben hacer en vida (porque es en vida): tanto nuestro homenajeado siente el amor de la gente, de su familia y de quienes lo rodean…, en el entendido muy sencillo de que se recibió esa condecoración es por algo; y ese ‘algo’ es que se están haciendo las cosas bien”.
|
||||||
|
|
||||||
Entre aplausos y en un ambiente de solemnidad institucional, el Congreso de la República de Colombia dejó constancia de un reconocimiento que trasciende lo simbólico, reafirmando que la fe, cuando se traduce en acción, servicio y compromiso con los valores, ocupa un lugar relevante en la vida pública y en la memoria institucional de la nación.
|
Entre aplausos y en un ambiente de solemnidad institucional, el Congreso de la República de Colombia dejó constancia de un reconocimiento que trasciende lo simbólico, reafirmando que la fe, cuando se traduce en acción, servicio y compromiso con los valores, ocupa un lugar relevante en la vida pública y en la memoria institucional de la nación.
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ En una declaración que combina análisis geopolítico y proyección de alcance
|
||||||
|
|
||||||
El pronunciamiento, emitido el 19 de septiembre de 2025, marca un punto de inflexión en su línea discursiva: lo que anteriormente se planteaba como advertencia general, ahora es presentado como una **“sentencia” dirigida a países específicos.**
|
El pronunciamiento, emitido el 19 de septiembre de 2025, marca un punto de inflexión en su línea discursiva: lo que anteriormente se planteaba como advertencia general, ahora es presentado como una **“sentencia” dirigida a países específicos.**
|
||||||
|
|
||||||
## Señalamientos directos a potencias occidentales
|
Señalamientos directos a potencias occidentales
|
||||||
|
|
||||||
En su intervención, el Dr. José Benjamín Pérez Matos identificó de manera explícita a varios Estados que, según su análisis bíblico coyuntural, se verían actualmente afectados por su posicionamiento frente a Israel.
|
En su intervención, el Dr. José Benjamín Pérez Matos identificó de manera explícita a varios Estados que, según su análisis bíblico coyuntural, se verían actualmente afectados por su posicionamiento frente a Israel.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ gallery: [
|
||||||
|
|
||||||
*Lima, Perú — 18 de noviembre de 2025*
|
*Lima, Perú — 18 de noviembre de 2025*
|
||||||
|
|
||||||
En una disertación desarrollada en Shangrila, Puente Piedra, el Dr. José Benjamín Pérez Matos presentó un análisis sobre la evolución del sistema político internacional, señalando que el modelo vigente atraviesa una etapa de transformación y que las decisiones actuales de los Gobiernos tendrán impacto directo en su posicionamiento futuro.
|
LIMA, PERÚ — En una disertación desarrollada en Shangrila, Puente Piedra, el Dr. José Benjamín Pérez Matos presentó un análisis sobre la evolución del sistema político internacional, señalando que el modelo vigente atraviesa una etapa de transformación y que las decisiones actuales de los Gobiernos tendrán impacto directo en su posicionamiento futuro.
|
||||||
|
|
||||||
Durante su intervención, el presidente del Centro del Reino de Paz y Justicia planteó que el orden global se encuentra en un proceso de transición estructural, en el que determinadas ciudades y actores adquieren una centralidad creciente. En ese contexto, afirmó: **“Israel será la capital (Jerusalén, Israel) del planeta Tierra completo”**, subrayando la relevancia estratégica de Jerusalén dentro de su visión del escenario internacional.
|
Durante su intervención, el presidente del Centro del Reino de Paz y Justicia planteó que el orden global se encuentra en un proceso de transición estructural, en el que determinadas ciudades y actores adquieren una centralidad creciente. En ese contexto, afirmó: **“Israel será la capital (Jerusalén, Israel) del planeta Tierra completo”**, subrayando la relevancia estratégica de Jerusalén dentro de su visión del escenario internacional.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -75,4 +75,4 @@ Finalmente, el Dr. José Benjamín Pérez Matos reafirmó que Israel ocupa un lu
|
||||||
|
|
||||||
**«Todo aquel que esté del lado de las promesas y de las profecías: está del lado de Dios, del Eterno; porque a Israel nadie lo podrá destruir, ¡ninguna nación!».**
|
**«Todo aquel que esté del lado de las promesas y de las profecías: está del lado de Dios, del Eterno; porque a Israel nadie lo podrá destruir, ¡ninguna nación!».**
|
||||||
|
|
||||||
**«Por lo tanto, en estos días esperamos grandes bendiciones del Eterno; y que todo lo que se lleve a cabo en estos días sean días para el engrandecimiento de ese Reino Mesiánico, y que se adelante bastante todo lo correspondiente a ese Reino. Que Dios les bendiga, Dios les guarde, a todos.»**
|
**«Por lo tanto, en estos días esperamos grandes bendiciones del Eterno; y que todo lo que se lleve a cabo en estos días sean días para el engrandecimiento de ese Reino Mesiánico, y que se adelante bastante todo lo correspondiente a ese Reino. Que Dios les bendiga, Dios les guarde, a todos.”**
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ gallery: [
|
||||||
## Durante una visita a la región de Mateh Binyamin, el presidente del Centro del Reino de Paz y Justicia destacó la labor de los hombres y mujeres que trabajan por la seguridad de Israel y reafirmó su compromiso de acompañarlos con apoyo y oración.
|
## Durante una visita a la región de Mateh Binyamin, el presidente del Centro del Reino de Paz y Justicia destacó la labor de los hombres y mujeres que trabajan por la seguridad de Israel y reafirmó su compromiso de acompañarlos con apoyo y oración.
|
||||||
|
|
||||||
|
|
||||||
El domingo 17 de mayo de 2026, el presidente y fundador del Centro del Reino de Paz y Justicia, el **Dr. José Benjamín Pérez Matos**, participó en la inauguración de dos vehículos operativos destinados a fortalecer las capacidades de la Unidad Yatar, una organización que trabaja en coordinación con la Policía de Fronteras de Israel y las Fuerzas de Defensa de Israel (FDI) patrullando rutas estratégicas, zonas montañosas y áreas de especial sensibilidad en la región de Mateh Binyamin, situada en el entorno geográfico de Ramala.
|
El domingo 17 de mayo de 2026, el presidente y fundador del Centro del Reino de Paz y Justicia, el **Dr. José Benjamín Pérez** Matos, participó en la inauguración de dos vehículos operativos destinados a fortalecer las capacidades de la Unidad Yatar, una organización que trabaja en coordinación con la Policía de Fronteras de Israel y las Fuerzas de Defensa de Israel (FDI) patrullando rutas estratégicas, zonas montañosas y áreas de especial sensibilidad en la región de Mateh Binyamin, situada en el entorno geográfico de Ramala.
|
||||||
|
|
||||||
La actividad fue organizada especialmente por la visita del **Dr. José Benjamín Pérez Matos**, quien fue recibido por el capitán Tzuriel Raviv y por los integrantes de la unidad, que aguardaron su llegada para proceder a la inauguración oficial de los nuevos vehículos y compartir posteriormente un almuerzo de camaradería.
|
La actividad fue organizada especialmente por la visita del **Dr. José Benjamín Pérez Matos**, quien fue recibido por el capitán Tzuriel Raviv y por los integrantes de la unidad, que aguardaron su llegada para proceder a la inauguración oficial de los nuevos vehículos y compartir posteriormente un almuerzo de camaradería.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,11 +41,11 @@ Asimismo, destacó la importancia de impulsar iniciativas institucionales y legi
|
||||||
|
|
||||||
Por su parte, la vicecanciller israelí valoró el compromiso demostrado por el Dr. José Benjamín Pérez Matos y el Centro del Reino de Paz y Justicia en la defensa de Israel en el continente americano, especialmente en momentos de fuertes presiones políticas, mediáticas y sociales.
|
Por su parte, la vicecanciller israelí valoró el compromiso demostrado por el Dr. José Benjamín Pérez Matos y el Centro del Reino de Paz y Justicia en la defensa de Israel en el continente americano, especialmente en momentos de fuertes presiones políticas, mediáticas y sociales.
|
||||||
|
|
||||||
En ese contexto, expresó: «Necesitamos amigos buenos y valientes, que estén contra todas las presiones. Los rectos se van a parar ahora, este es el momento».
|
En ese contexto, expresó: **«Necesitamos amigos buenos y valientes, que estén contra todas las presiones. Los rectos se van a parar ahora, este es el momento»**.
|
||||||
|
|
||||||
La funcionaria israelí también hizo referencia al trabajo realizado por el Dr. José Benjamín Pérez Matos en América Latina y al reconocimiento que sus acciones han despertado dentro de distintos sectores de la sociedad israelí:
|
La funcionaria israelí también hizo referencia al trabajo realizado por el Dr. José Benjamín Pérez Matos en América Latina y al reconocimiento que sus acciones han despertado dentro de distintos sectores de la sociedad israelí:
|
||||||
|
|
||||||
«Por eso cuando el ministro Malkieli me contó que hay un justo en Suramérica, que va de lugar a lugar, y guerrea junto a nosotros, contra todas las presiones grandes: sobre la… contra la prensa, contra las redes sociales; yo dije: Donde nosotros podemos ayudar, juntos vamos a estar a su lado».
|
**«Por eso cuando el ministro Malkieli me contó que hay un justo en Suramérica, que va de lugar a lugar, y guerrea junto a nosotros, contra todas las presiones grandes: sobre la… contra la prensa, contra las redes sociales; yo dije: Donde nosotros podemos ayudar, juntos vamos a estar a su lado»**.
|
||||||
|
|
||||||
Al finalizar la reunión, el Dr. José Benjamín Pérez Matos reafirmó su compromiso con las acciones internacionales que el Centro desarrolla en favor de Israel, y con la promoción de iniciativas de cooperación entre el Estado judío y los pueblos de América Latina.
|
Al finalizar la reunión, el Dr. José Benjamín Pérez Matos reafirmó su compromiso con las acciones internacionales que el Centro desarrolla en favor de Israel, y con la promoción de iniciativas de cooperación entre el Estado judío y los pueblos de América Latina.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ Ante los asistentes, el **Dr. José Benjamín Pérez Matos** formuló una serie
|
||||||
|
|
||||||
Y agregó:
|
Y agregó:
|
||||||
|
|
||||||
**«¿Qué están haciendo en pro del proyecto divino que traerá la paz para toda la humanidad?»**.
|
**«¿Qué están haciendo en pro del proyecto divino que traerá la paz para toda la humanidad »**.
|
||||||
|
|
||||||
Finalmente, invitó a cada persona a reflexionar sobre su propia responsabilidad individual frente a estos desafíos.
|
Finalmente, invitó a cada persona a reflexionar sobre su propia responsabilidad individual frente a estos desafíos.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ En primer lugar recibió el tradicional casco de los ingenieros militares, símb
|
||||||
|
|
||||||
Posteriormente le fue entregado el escudo de armas del Batallón Agustín Codazzi, seguido de la moneda institucional del batallón, considerada uno de los símbolos más apreciados por sus integrantes.
|
Posteriormente le fue entregado el escudo de armas del Batallón Agustín Codazzi, seguido de la moneda institucional del batallón, considerada uno de los símbolos más apreciados por sus integrantes.
|
||||||
|
|
||||||
Durante su intervención, el comandante del batallón destacó que la labor desarrollada por el **Dr. José Benjamín Pérez Matos** ha dejado una huella profunda en numerosas comunidades, y expresó el agradecimiento de la institución por sus aportes al fortalecimiento espiritual, social e institucional de miles de personas.
|
Durante su intervención, el comandante del batallón destacó que la labor desarrollada por el Dr. José Benjamín Pérez Matos ha dejado una huella profunda en numerosas comunidades, y expresó el agradecimiento de la institución por sus aportes al fortalecimiento espiritual, social e institucional de miles de personas.
|
||||||
|
|
||||||
## "Es para mí un honor y un motivo de profunda felicidad"
|
## "Es para mí un honor y un motivo de profunda felicidad"
|
||||||
|
|
||||||
|
|
@ -113,7 +113,7 @@ Concluyendo su discurso con las palabras:
|
||||||
|
|
||||||
## Un encuentro marcado por el afecto y la gratitud
|
## Un encuentro marcado por el afecto y la gratitud
|
||||||
|
|
||||||
Tras la ceremonia oficial, las autoridades militares ofrecieron un almuerzo de camaradería a los asistentes. Posteriormente, el **Dr. José Benjamín Pérez Matos** recorrió las instalaciones del batallón acompañado por el teniente coronel Pedro Ariel Leguizamón Ochica.
|
Tras la ceremonia oficial, las autoridades militares ofrecieron un almuerzo de camaradería a los asistentes. Posteriormente, el ***Dr. José Benjamín Pérez Matos** recorrió las instalaciones del batallón acompañado por el teniente coronel Pedro Ariel Leguizamón Ochica.
|
||||||
|
|
||||||
Durante ese recorrido, el **Dr. José Benjamín Pérez Matos** expresó al comandante del batallón:
|
Durante ese recorrido, el **Dr. José Benjamín Pérez Matos** expresó al comandante del batallón:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@ No obstante, aclaró expresamente que sus palabras estaban dirigidas contra las
|
||||||
|
|
||||||
Asimismo, denunció el uso de instalaciones civiles por parte de organizaciones terroristas.
|
Asimismo, denunció el uso de instalaciones civiles por parte de organizaciones terroristas.
|
||||||
|
|
||||||
**«Detrás de hospitales, detrás de escuelas… Ahí encontraron un montón de túneles debajo de hospitales y de escuelas, y abajo tenían todo ese arsenal»**.
|
«Detrás de hospitales, detrás de escuelas… Ahí encontraron un montón de túneles debajo de hospitales y de escuelas, y abajo tenían todo ese arsenal».
|
||||||
|
|
||||||
Y agregó:
|
Y agregó:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ gallery: [
|
||||||
|
|
||||||
*Cayey, Porto Rico – 14 de setembro de 2025*
|
*Cayey, Porto Rico – 14 de setembro de 2025*
|
||||||
|
|
||||||
Em uma análise que combina leitura internacional e projeção de alcance milenar, o Dr. José Benjamín Pérez Matos traçou um diagnóstico sobre o atual cenário global, indicando que as recentes decisões políticas e diplomáticas contra Israel respondem a uma dinâmica mais profunda do que a estritamente geopolítica.
|
Em uma análise que combina leitura internacional e projeção de alcance Messiânico, o Dr. José Benjamín Pérez Matos traçou um diagnóstico sobre o atual cenário global, indicando que as recentes decisões políticas e diplomáticas contra Israel respondem a uma dinâmica mais profunda do que a estritamente geopolítica.
|
||||||
|
|
||||||
A proposta se estrutura sobre uma ideia central: o mundo estaria avançando para um processo de alinhamento progressivo contra o Estado de Israel, com implicações diretas no futuro das nações.
|
A proposta se estrutura sobre uma ideia central: o mundo estaria avançando para um processo de alinhamento progressivo contra o Estado de Israel, com implicações diretas no futuro das nações.
|
||||||
|
|
||||||
|
|
@ -56,6 +56,6 @@ Nesse sentido, afirmou: **“Desejamos que a Venezuela seja libertada em breve!
|
||||||
|
|
||||||
## Uma narrativa em expansão
|
## Uma narrativa em expansão
|
||||||
|
|
||||||
Com esse novo pronunciamento, o Dr. José Benjamín Pérez Matos aprofunda uma linha de análise que articula **geopolítica, posicionamento internacional e projeção milenar estratégica**, com foco no papel de Israel como eixo central do sistema global.
|
Com esse novo pronunciamento, o Dr. José Benjamín Pérez Matos aprofunda uma linha de análise que articula **geopolítica, posicionamento internacional e projeção Messiânico estratégica**, com foco no papel de Israel como eixo central do sistema global.
|
||||||
|
|
||||||
Em um contexto de crescente polarização internacional, sua mensagem busca influenciar tanto a opinião pública quanto os decisores políticos, propondo que o posicionamento diante de Israel será um fator determinante para o rumo das nações nos próximos anos.
|
Em um contexto de crescente polarização internacional, sua mensagem busca influenciar tanto a opinião pública quanto os decisores políticos, propondo que o posicionamento diante de Israel será um fator determinante para o rumo das nações nos próximos anos.
|
||||||
|
|
|
||||||
|
|
@ -15,25 +15,25 @@ gallery: [
|
||||||
|
|
||||||
# O Centro do Reino de Paz e Justiça felicita o presidente eleito da Colômbia, Abelardo de la Espriella
|
# O Centro do Reino de Paz e Justiça felicita o presidente eleito da Colômbia, Abelardo de la Espriella
|
||||||
|
|
||||||
O Centro do Reino de Paz e Justiça, por meio de seu presidente, o **Dr. José Benjamín Pérez Matos**, expressou suas mais sinceras felicitações ao doutor Abelardo de la Espriella por ocasião de sua eleição como presidente da República da Colômbia.
|
O Centro do Reino de Paz e Justiça, por meio de seu presidente, o **Dr José Benjamín Pérez Matos**, expressou suas mais sinceras felicitações ao doutor Abelardo de la Espriella por ocasião de sua eleição como presidente da República da Colômbia.
|
||||||
|
|
||||||
Esse importante respaldo democrático recebido por parte do povo colombiano constitui uma demonstração de confiança em sua liderança, em sua visão para o futuro da nação e em sua capacidade de conduzir a Colômbia rumo a uma etapa de estabilidade, desenvolvimento e fortalecimento institucional.
|
Esse importante respaldo democrático recebido por parte do povo colombiano constitui uma demonstração de confiança em sua liderança, em sua visão para o futuro da nação e em sua capacidade de conduzir a Colômbia rumo a uma etapa de estabilidade, desenvolvimento e fortalecimento institucional.
|
||||||
|
|
||||||
A felicitação adquire especial relevância à luz do encontro realizado anteriormente entre o **Dr. José Benjamín Pérez Matos** e o então candidato à presidência, Abelardo de la Espriella, ocorrido no domingo, 15 de março de 2026.
|
A felicitação adquire especial relevância à luz do encontro realizado anteriormente entre o **Dr José Benjamín Pérez Matos** e o então candidato à presidência, Abelardo de la Espriella, ocorrido no domingo, 15 de março de 2026.
|
||||||
|
|
||||||
Naquela ocasião, o **Dr. José Benjamín Pérez Matos** dirigiu uma saudação à audiência internacional e expressou:
|
Naquela ocasião, o **Dr José Benjamín Pérez Matos** dirigiu uma saudação à audiência internacional e expressou:
|
||||||
|
|
||||||
**«Bom dia a todos os telespectadores e a todos os que estão conectados através do satélite Amazonas e o satélite Eutelsat 8, nas diferentes nações. Hoje, domingo, 15 de março deste ano de 2026, tenho a honra e o privilégio de estar aqui, no escritório do doutor Abelardo de la Espriella: o presidente da Colômbia; porque é preciso falar com propriedade»**.
|
**«Bom dia a todos os telespectadores e a todos os que estão conectados através do satélite Amazonas e o satélite Eutelsat 8, nas diferentes nações. Hoje, domingo, 15 de março deste ano de 2026, tenho a honra e o privilégio de estar aqui, no escritório do doutor Abelardo de la Espriella: o presidente da Colômbia; porque é preciso falar com propriedade»**.
|
||||||
|
|
||||||
Durante esse encontro, o **Dr. José Benjamín Pérez Matos** manifestou também seu respaldo espiritual e moral à liderança de Abelardo de la Espriella, ao afirmar:
|
Durante esse encontro, o **Dr José Benjamín Pérez Matos** manifestou também seu respaldo espiritual e moral à liderança de Abelardo de la Espriella, ao afirmar:
|
||||||
|
|
||||||
**«Somos Seus embaixadores na Terra»**.
|
**«Somos Seus embaixadores na Terra»**.
|
||||||
|
|
||||||
Por sua vez, Abelardo de la Espriella expressou com clareza sua determinação de enfrentar o crime e restaurar a paz na Colômbia:
|
Por sua vez, Abelardo de la Espriella expressou com clareza sua determinação de enfrentar o crime e restaurar a paz na Colômbia:
|
||||||
|
|
||||||
«E quero lhe dizer uma coisa: eu vou combater o crime e vou pacificar este país, mas não cedendo aos criminosos e ajoelhando o Estado, não; mas estabelecendo a paz com a força das armas e as leis da República».
|
**«E quero lhe dizer uma coisa: eu vou combater o crime e vou pacificar este país, mas não cedendo aos criminosos e ajoelhando o Estado, não; mas estabelecendo a paz com a força das armas e as leis da República»**.
|
||||||
|
|
||||||
Diante dessas palavras, o **Dr. José Benjamín Pérez Matos** respondeu:
|
Diante dessas palavras, o **Dr José Benjamín Pérez Matos** respondeu:
|
||||||
|
|
||||||
**«É que isso é o que vai fazer o Reino Messiânico: vai ser um Reino com vara de ferro. Conte comigo, conte com todos os crentes aqui»**.
|
**«É que isso é o que vai fazer o Reino Messiânico: vai ser um Reino com vara de ferro. Conte comigo, conte com todos os crentes aqui»**.
|
||||||
|
|
||||||
|
|
@ -51,6 +51,6 @@ O Centro do Reino de Paz e Justiça manifestou os melhores votos para que a gest
|
||||||
|
|
||||||
Da mesma forma, a instituição expressou sua confiança de que a Colômbia continuará avançando pelo caminho da paz, da prosperidade, da segurança, da liberdade e do desenvolvimento integral de seu povo, fortalecendo ao mesmo tempo suas instituições democráticas e seu papel como uma das nações mais importantes da América Latina.
|
Da mesma forma, a instituição expressou sua confiança de que a Colômbia continuará avançando pelo caminho da paz, da prosperidade, da segurança, da liberdade e do desenvolvimento integral de seu povo, fortalecendo ao mesmo tempo suas instituições democráticas e seu papel como uma das nações mais importantes da América Latina.
|
||||||
|
|
||||||
O **Dr. José Benjamín Pérez Matos** expressou ao presidente eleito Abelardo de la Espriella seus votos pessoais de êxito no exercício de tão alta responsabilidade e manifestou sua esperança de que esta nova etapa contribua para o bem-estar de todos os colombianos.
|
O **Dr José Benjamín Pérez Matos** expressou ao presidente eleito Abelardo de la Espriella seus votos pessoais de êxito no exercício de tão alta responsabilidade e manifestou sua esperança de que esta nova etapa contribua para o bem-estar de todos os colombianos.
|
||||||
|
|
||||||
**«Que Deus abençoe o povo da Colômbia, suas autoridades e o presidente eleito Abelardo de la Espriella, concedendo-lhes sabedoria para servir à nação e conduzi-la rumo a um futuro de paz, justiça e prosperidade»**.
|
**«Que Deus abençoe o povo da Colômbia, suas autoridades e o presidente eleito Abelardo de la Espriella, concedendo-lhes sabedoria para servir à nação e conduzi-la rumo a um futuro de paz, justiça e prosperidade»**.
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@ Igualmente, faz um respeitoso apelo ao **Secretário de Estado dos Estados Unido
|
||||||
|
|
||||||
As grandes tragédias devem se transformar em oportunidades para demonstrar que a compaixão pode prevalecer sobre as diferenças políticas. Quando há vidas humanas em risco, a ajuda humanitária deve prevalecer acima de qualquer obstáculo administrativo.
|
As grandes tragédias devem se transformar em oportunidades para demonstrar que a compaixão pode prevalecer sobre as diferenças políticas. Quando há vidas humanas em risco, a ajuda humanitária deve prevalecer acima de qualquer obstáculo administrativo.
|
||||||
|
|
||||||
O **Centro do Reino de Paz e Justiça** reafirma seu compromisso com a defesa da dignidade humana, a cooperação internacional e a solidariedade entre os povos, e convida todos os governos, organizações internacionais e entidades da sociedade civil a unir esforços para aliviar o sofrimento do povo venezuelano e acelerar as tarefas de resgate, assistência e reconstrução.
|
O **Centro do Reino de Paz e Justiças** reafirma seu compromisso com a defesa da dignidade humana, a cooperação internacional e a solidariedade entre os povos, e convida todos os governos, organizações internacionais e entidades da sociedade civil a unir esforços para aliviar o sofrimento do povo venezuelano e acelerar as tarefas de resgate, assistência e reconstrução.
|
||||||
|
|
||||||
****Dr. José Benjamín Pérez Matos****<br>
|
****Dr. José Benjamín Pérez Matos****<br>
|
||||||
Fundador e Presidente<br>
|
Fundador e Presidente<br>
|
||||||
|
|
|
||||||
|
|
@ -21,19 +21,19 @@ _Villahermosa, Tabasco, México – 5 de julho de 2026_
|
||||||
|
|
||||||
## Diante de milhares de participantes em Villahermosa, Tabasco, o presidente do Centro do Reino de Paz e Justiça destacou o papel da América Latina no cumprimento do propósito de Deus para as nações e reiterou o firme apoio do continente a Israel.
|
## Diante de milhares de participantes em Villahermosa, Tabasco, o presidente do Centro do Reino de Paz e Justiça destacou o papel da América Latina no cumprimento do propósito de Deus para as nações e reiterou o firme apoio do continente a Israel.
|
||||||
|
|
||||||
No contexto de uma grande atividade realizada na cidade de Villahermosa, no estado de Tabasco, o fundador e presidente do Centro do Reino de Paz e Justiça, o **Dr. José Benjamín Pérez Matos**, dirigiu uma profunda mensagem centrada na esperança do estabelecimento do Reino Messiânico, na restauração do Trono de Davi e no papel que os povos da América Latina desempenharão nesse acontecimento profético.
|
No contexto de uma grande atividade realizada na cidade de Villahermosa, no estado de Tabasco, o fundador e presidente do Centro do Reino de Paz e Justiça, o **Dr José Benjamín Pérez Matos**, dirigiu uma profunda mensagem centrada na esperança do estabelecimento do Reino Messiânico, na restauração do Trono de Davi e no papel que os povos da América Latina desempenharão nesse acontecimento profético.
|
||||||
|
|
||||||
Durante sua intervenção, o **Dr. José Benjamín Pérez Matos** afirmou que a preparação espiritual para esse Reino não é exclusiva do povo de Israel, mas também alcança as nações latino-americanas.
|
Durante sua intervenção, o **Dr José Benjamín Pérez Matos** afirmou que a preparação espiritual para esse Reino não é exclusiva do povo de Israel, mas também alcança as nações latino-americanas.
|
||||||
|
|
||||||
**«E aqui em Villahermosa, Tabasco, México, há um povo — como nos demais países da América Latina — que está se preparando para entrar nesse glorioso Reino Messiânico, esse glorioso Reino e Trono de Davi, que será restaurado neste tempo final»**.
|
**«E aqui em Villahermosa, Tabasco, México, há um povo — como nos demais países da América Latina — que está se preparando para entrar nesse glorioso Reino Messiânico, esse glorioso Reino e Trono de Davi, que será restaurado neste tempo final»**.
|
||||||
|
|
||||||
## Uma mensagem de apoio e solidariedade a Israel
|
## Uma mensagem de apoio e solidariedade a Israel
|
||||||
|
|
||||||
O **Dr. José Benjamín Pérez Matos** destacou que, em toda a América Latina e o Caribe, existe um povo comprometido com Israel e com o futuro estabelecimento do Reino prometido nas Escrituras.
|
O **Dr José Benjamín Pérez Matos** destacou que, em toda a América Latina e o Caribe, existe um povo comprometido com Israel e com o futuro estabelecimento do Reino prometido nas Escrituras.
|
||||||
|
|
||||||
**«E Israel pode estar tranquilo: que na América Latina e no Caribe há um povo que está com eles, e que está braço a braço com esse Trono e Reino de Davi que em breve será estabelecido»**.
|
**«E Israel pode estar tranquilo: que na América Latina e no Caribe há um povo que está com eles, e que está braço a braço com esse Trono e Reino de Davi que em breve será estabelecido»**.
|
||||||
|
|
||||||
Em um dos momentos mais emocionantes do encontro, os participantes ergueram e agitaram pequenas bandeiras de Israel como expressão visível desse apoio. Diante dessa manifestação, o **Dr. José Benjamín Pérez Matos** declarou:
|
Em um dos momentos mais emocionantes do encontro, os participantes ergueram e agitaram pequenas bandeiras de Israel como expressão visível desse apoio. Diante dessa manifestação, o **Dr José Benjamín Pérez Matos** declarou:
|
||||||
|
|
||||||
**«Vejam, aqui há um povo que mostra — até mesmo com essas bandeirinhas — que está com Israel, e que está de acordo, 100%, com o estabelecimento do Reino e Trono de Davi»**.
|
**«Vejam, aqui há um povo que mostra — até mesmo com essas bandeirinhas — que está com Israel, e que está de acordo, 100%, com o estabelecimento do Reino e Trono de Davi»**.
|
||||||
|
|
||||||
|
|
@ -45,13 +45,13 @@ Dirigindo-se simbolicamente ao povo de Israel, acrescentou:
|
||||||
|
|
||||||
A mensagem também destacou a transcendência espiritual de Israel para a humanidade e o papel que desempenhará durante o Reino Messiânico.
|
A mensagem também destacou a transcendência espiritual de Israel para a humanidade e o papel que desempenhará durante o Reino Messiânico.
|
||||||
|
|
||||||
O **Dr. José Benjamín Pérez Matos** recordou que a influência de Israel tem beneficiado historicamente o mundo e afirmou que essa missão continuará com maior plenitude no Reino vindouro.
|
O **Dr José Benjamín Pérez Matos** recordou que a influência de Israel tem beneficiado historicamente o mundo e afirmou que essa missão continuará com maior plenitude no Reino vindouro.
|
||||||
|
|
||||||
**«Porque, vejam, não somente de Israel se têm recebido tantas coisas boas, mas — além de tudo o que Israel tem contribuído para o mundo — nesse glorioso Reino Messiânico: Israel continuará transmitindo bênção para o mundo; de lá sairão as leis, a justiça, a paz; e de lá, sobretudo, sairá o conhecimento do único Deus verdadeiro, o Deus de Abraão, de Isaque e de Israel»**.
|
**«Porque, vejam, não somente de Israel se têm recebido tantas coisas boas, mas — além de tudo o que Israel tem contribuído para o mundo — nesse glorioso Reino Messiânico: Israel continuará transmitindo bênção para o mundo; de lá sairão as leis, a justiça, a paz; e de lá, sobretudo, sairá o conhecimento do único Deus verdadeiro, o Deus de Abraão, de Isaque e de Israel»**.
|
||||||
|
|
||||||
## A importância de orar por Israel
|
## A importância de orar por Israel
|
||||||
|
|
||||||
Na parte final de sua mensagem, o **Dr. José Benjamín Pérez Matos** exortou os presentes a manter uma oração constante por Israel, recordando o papel central que o país ocupará no Governo do Reino Messiânico.
|
Na parte final de sua mensagem, o **Dr José Benjamín Pérez Matos** exortou os presentes a manter uma oração constante por Israel, recordando o papel central que o país ocupará no Governo do Reino Messiânico.
|
||||||
|
|
||||||
**«Portanto, é, ou não é, importante orar por Israel? Claro que sim! Porque de lá é que se estará governando o planeta Terra completo; ainda que muitas nações desejem que Israel desapareça; mas jamais conseguirão isso»**.
|
**«Portanto, é, ou não é, importante orar por Israel? Claro que sim! Porque de lá é que se estará governando o planeta Terra completo; ainda que muitas nações desejem que Israel desapareça; mas jamais conseguirão isso»**.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,9 +21,9 @@ _Cayey, Porto Rico – 8 de julho de 2026_
|
||||||
|
|
||||||
## De Cayey, Porto Rico, o fundador do Centro do Reino de Paz e Justiça analisou as recentes tensões com o Irã, questionou a falta de vontade para alcançar uma paz duradoura, destacou as contribuições de Israel para a humanidade e sustentou que o Estado de Israel tem o direito e o dever de proteger sua população diante das ameaças que enfrenta.
|
## De Cayey, Porto Rico, o fundador do Centro do Reino de Paz e Justiça analisou as recentes tensões com o Irã, questionou a falta de vontade para alcançar uma paz duradoura, destacou as contribuições de Israel para a humanidade e sustentou que o Estado de Israel tem o direito e o dever de proteger sua população diante das ameaças que enfrenta.
|
||||||
|
|
||||||
Em declarações feitas ontem, em Cayey, Porto Rico, o fundador e presidente do **Centro do Reino de Paz e Justiça**, o **Dr. José Benjamín Pérez Matos**, realizou uma ampla análise da situação internacional após as últimas informações provenientes do Oriente Médio, especialmente aquelas relacionadas ao Irã, ao Estreito de Ormuz e às recentes declarações do presidente dos Estados Unidos, Donald Trump.
|
Em declarações feitas ontem, em Cayey, Porto Rico, o fundador e presidente do **Centro do Reino de Paz e Justiça**, o **Dr José Benjamín Pérez Matos**, realizou uma ampla análise da situação internacional após as últimas informações provenientes do Oriente Médio, especialmente aquelas relacionadas ao Irã, ao Estreito de Ormuz e às recentes declarações do presidente dos Estados Unidos, Donald Trump.
|
||||||
|
|
||||||
Ao iniciar sua exposição, o **Dr. José Benjamín Pérez Matos** fez referência às notícias divulgadas nas últimas horas.
|
Ao iniciar sua exposição, o **Dr José Benjamín Pérez Matos** fez referência às notícias divulgadas nas últimas horas.
|
||||||
|
|
||||||
**«Vejam, agora com isso do Irã... de que o Irã fez algo: atacou alguns navios que iam pelo Estreito de Ormuz, quando já havia um processo de paz a caminho; e os Estados Unidos tiveram que atacar uma região ali»**.
|
**«Vejam, agora com isso do Irã... de que o Irã fez algo: atacou alguns navios que iam pelo Estreito de Ormuz, quando já havia um processo de paz a caminho; e os Estados Unidos tiveram que atacar uma região ali»**.
|
||||||
|
|
||||||
|
|
@ -31,7 +31,7 @@ Em seguida, comentou a informação divulgada pela Fox News sobre as declaraçõ
|
||||||
|
|
||||||
**«Vamos ver essa partezinha. Isto é da Fox News. Diz: _"O presidente Donald Trump afirmou na quarta-feira_ (porque está na Europa... Hoje é quarta-feira; ou seja, hoje cedo lá, porque são sete horas de diferença), _que considera que o cessar-fogo provisório com o Irã 'terminou'_"»**.
|
**«Vamos ver essa partezinha. Isto é da Fox News. Diz: _"O presidente Donald Trump afirmou na quarta-feira_ (porque está na Europa... Hoje é quarta-feira; ou seja, hoje cedo lá, porque são sete horas de diferença), _que considera que o cessar-fogo provisório com o Irã 'terminou'_"»**.
|
||||||
|
|
||||||
O **Dr. José Benjamín Pérez Matos** explicou que essa mudança de cenário também traria consequências econômicas.
|
O **Dr José Benjamín Pérez Matos** explicou que essa mudança de cenário também traria consequências econômicas.
|
||||||
|
|
||||||
**«Vemos que vinha uma baixa do petróleo; mas com isso, estão dizendo que vai começar a subir»**.
|
**«Vemos que vinha uma baixa do petróleo; mas com isso, estão dizendo que vai começar a subir»**.
|
||||||
|
|
||||||
|
|
@ -45,7 +45,7 @@ E continuou a leitura:
|
||||||
|
|
||||||
## Israel diante de uma ameaça permanente
|
## Israel diante de uma ameaça permanente
|
||||||
|
|
||||||
Após analisar o contexto internacional, o **Dr. José Benjamín Pérez Matos** sustentou que Israel continua sendo o principal afetado pelas ações promovidas pelo Irã e por outros atores hostis da região.
|
Após analisar o contexto internacional, o **Dr José Benjamín Pérez Matos** sustentou que Israel continua sendo o principal afetado pelas ações promovidas pelo Irã e por outros atores hostis da região.
|
||||||
|
|
||||||
**«O que vemos sempre é que Israel é o que sai prejudicado; porque, recordem que a finalidade do Irã e desses países do Oriente é exterminar Israel; o que não vão conseguir! Israel é o filho primogênito de Deus como nação; e Deus cobrirá e protegerá Israel»**.
|
**«O que vemos sempre é que Israel é o que sai prejudicado; porque, recordem que a finalidade do Irã e desses países do Oriente é exterminar Israel; o que não vão conseguir! Israel é o filho primogênito de Deus como nação; e Deus cobrirá e protegerá Israel»**.
|
||||||
|
|
||||||
|
|
@ -67,13 +67,13 @@ Depois fez referência especial aos avanços científicos e médicos.
|
||||||
|
|
||||||
**«Porque muita tecnologia, muitos medicamentos contra diferentes doenças, saíram dali. E a pessoa que é contra Israel: fica doente e vai à farmácia, e compra um medicamento, e esse medicamento foi inventado por Israel. — “Ah! Você é contra Israel? Então não tome o medicamento”»**.
|
**«Porque muita tecnologia, muitos medicamentos contra diferentes doenças, saíram dali. E a pessoa que é contra Israel: fica doente e vai à farmácia, e compra um medicamento, e esse medicamento foi inventado por Israel. — “Ah! Você é contra Israel? Então não tome o medicamento”»**.
|
||||||
|
|
||||||
Para o **Dr. José Benjamín Pérez Matos**, muitas das críticas contra Israel nascem da falta de conhecimento.
|
Para o **Dr José Benjamín Pérez Matos**, muitas das críticas contra Israel nascem da falta de conhecimento.
|
||||||
|
|
||||||
**«São pessoas que não se educam, e vão na “onda” para estar in [por dentro] nas redes sociais. E aquele que recebe mais “curtidas” é o que mais está contra Israel. Os que estão a favor não têm tantas “curtidas”. Hoje muitos se coíbem de dizer que estão a favor de Israel, por medo de que lhes aconteça algo; mas há um povo e uma Igreja... há um povo neste tempo, com um líder que diz abertamente que está a favor de Israel»**.
|
**«São pessoas que não se educam, e vão na “onda” para estar in [por dentro] nas redes sociais. E aquele que recebe mais “curtidas” é o que mais está contra Israel. Os que estão a favor não têm tantas “curtidas”. Hoje muitos se coíbem de dizer que estão a favor de Israel, por medo de que lhes aconteça algo; mas há um povo e uma Igreja... há um povo neste tempo, com um líder que diz abertamente que está a favor de Israel»**.
|
||||||
|
|
||||||
## Israel tem o direito de defender seu povo
|
## Israel tem o direito de defender seu povo
|
||||||
|
|
||||||
Em outro momento de suas declarações, o **Dr. José Benjamín Pérez Matos** reafirmou o direito do Estado de Israel de utilizar todos os mecanismos necessários para proteger sua população.
|
Em outro momento de suas declarações, o **Dr José Benjamín Pérez Matos** reafirmou o direito do Estado de Israel de utilizar todos os mecanismos necessários para proteger sua população.
|
||||||
|
|
||||||
**«Tudo o que Israel tiver que fazer para se defender, Deus estará lhe dando os mecanismos para fazê-lo»**.
|
**«Tudo o que Israel tiver que fazer para se defender, Deus estará lhe dando os mecanismos para fazê-lo»**.
|
||||||
|
|
||||||
|
|
@ -91,7 +91,7 @@ Por fim, afirmou que essa necessidade continuará existindo enquanto persistirem
|
||||||
|
|
||||||
## O estabelecimento do Reino de Paz
|
## O estabelecimento do Reino de Paz
|
||||||
|
|
||||||
No encerramento de suas declarações, o **Dr. José Benjamín Pérez Matos** afirmou que a posição assumida diante de Israel terá consequências de grande alcance.
|
No encerramento de suas declarações, o **Dr José Benjamín Pérez Matos** afirmou que a posição assumida diante de Israel terá consequências de grande alcance.
|
||||||
|
|
||||||
**«Há muitos "ressentidos" que não querem que Israel defenda o seu território. Mas isso está ficando tudo detalhado ali; e estão ficando marcados como aqueles que estão contra a existência de Israel»**.
|
**«Há muitos "ressentidos" que não querem que Israel defenda o seu território. Mas isso está ficando tudo detalhado ali; e estão ficando marcados como aqueles que estão contra a existência de Israel»**.
|
||||||
|
|
||||||
|
|
@ -99,4 +99,4 @@ E concluiu:
|
||||||
|
|
||||||
**«Mas há um povo que sabe que ali, naquele território, virá o estabelecimento desse Reino de Paz. Por conseguinte, aqueles que estiverem lutando, como lutaram os valentes de Davi para assentá-lo no trono de Davi: esses estarão nesse Reino Messiânico!»**.
|
**«Mas há um povo que sabe que ali, naquele território, virá o estabelecimento desse Reino de Paz. Por conseguinte, aqueles que estiverem lutando, como lutaram os valentes de Davi para assentá-lo no trono de Davi: esses estarão nesse Reino Messiânico!»**.
|
||||||
|
|
||||||
[^1]: Hagstrom, A. (2026, 8 de julho). Trump says tentative Iran ceasefire is 'over,' calls deal 'a waste of time'. Fox News. Acesso em: 8 de julho de 2026. [Link](https://www.foxnews.com/live-news/trump-iran-war-peace-ended-israel-hormuz-july-8)
|
[^1]: Hagstrom, A. (2026, julio 8). Trump says tentative Iran ceasefire is 'over,' calls deal 'a waste of time'. Fox News. Recuperado el 8 de julio de 2026. [Enlace](https://www.foxnews.com/live-news/trump-iran-war-peace-ended-israel-hormuz-july-8)
|
||||||
|
|
|
||||||
167
src/i18n/en.json
|
|
@ -122,7 +122,7 @@
|
||||||
{
|
{
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"icon": "ph:arrow-circle-up-thin",
|
"icon": "ph:arrow-circle-up-thin",
|
||||||
"text": "Scriptural teaching applied to the analysis of the contemporary world.",
|
"text": "Biblical teaching applied to the analysis of the contemporary world.",
|
||||||
"textColor": "#EBE5D0",
|
"textColor": "#EBE5D0",
|
||||||
"bgColor": "#003421"
|
"bgColor": "#003421"
|
||||||
},
|
},
|
||||||
|
|
@ -200,168 +200,5 @@
|
||||||
"footer.form.name": "Name and Lastname",
|
"footer.form.name": "Name and Lastname",
|
||||||
"footer.form.mesagge": "Write a message",
|
"footer.form.mesagge": "Write a message",
|
||||||
"footer.form.button": "Send",
|
"footer.form.button": "Send",
|
||||||
"footer.reserved": "©2026 All Rights Reserved. Kingdom of Peace and Justice Center",
|
"footer.reserved": "©2026 All Rights Reserved. Kingdom of Peace and Justice Center"
|
||||||
"form.aceptacion_reglamento": "Acceptance Statement",
|
|
||||||
"form.aceptacion.leido": "I have read and accept these Regulations.",
|
|
||||||
"form.aceptacion.codigo_etica": "I accept the Center's Code of Conduct.",
|
|
||||||
"form.aceptacion.datos": "I authorize the processing of my personal data in accordance with the Privacy Policy.",
|
|
||||||
"form.aceptacion.voluntaria": "I confirm that my participation is completely voluntary and that there is no employment, contractual, or representative relationship with the Center.",
|
|
||||||
"form.aceptacion.verdadera": "I confirm that all information provided is true.",
|
|
||||||
"form.aceptacion.firma_validez": "I accept that my electronic consent shall have the same legal validity as a handwritten signature, in accordance with applicable law.",
|
|
||||||
"form.reglamento_firma": "Signature",
|
|
||||||
"form.reglamento_firma_placeholder": "Full name as signature",
|
|
||||||
"form.leer_reglamento": "Read Full Regulations",
|
|
||||||
"form.reglamento_titulo": "General Volunteer Program Regulations",
|
|
||||||
"form.reglamento_confirmar": "I have read and understand the Regulations in their entirety",
|
|
||||||
"form.reglamento_cerrar": "Close",
|
|
||||||
"form.reglamento_leido": "You have read the full Regulations",
|
|
||||||
"form.reglamento_scroll_needed": "Scroll to the end to confirm you have read the Regulations",
|
|
||||||
"form.reglamento_aviso": "You must read the full Regulations in order to check the acceptance boxes and continue with the form.",
|
|
||||||
"form.reglamento_tooltip": "You must read and scroll to the end of the Regulations to continue",
|
|
||||||
"form.nombre": "Name(s)",
|
|
||||||
"form.segundo_nombre": "Middle Name",
|
|
||||||
"form.apellido": "Last name(s)",
|
|
||||||
"form.documentos": "Government ID Number / Passport Number",
|
|
||||||
"form.correo": "Email address",
|
|
||||||
"form.fecha_nacimiento": "Date of birth",
|
|
||||||
"form.nacionalidad": "Nationality",
|
|
||||||
"form.sexo": "Gender",
|
|
||||||
"form.sexo.m": "Male",
|
|
||||||
"form.sexo.f": "Female",
|
|
||||||
"form.sexo.o": "Other",
|
|
||||||
"form.direccion": "Address Line 1",
|
|
||||||
"form.direccion_postal": "Postal Address",
|
|
||||||
"form.ciudad": "City",
|
|
||||||
"form.estado": "State / Province",
|
|
||||||
"form.pais": "Country",
|
|
||||||
"form.codigo_postal": "Postal Code",
|
|
||||||
"form.mobile": "Mobile phone",
|
|
||||||
"form.whatsapp": "WhatsApp",
|
|
||||||
"form.profesion": "Profession or occupation",
|
|
||||||
"form.lugar_trabajo_actual": "Current place of employment",
|
|
||||||
"form.nivel_academico": "Education level",
|
|
||||||
"form.idioma": "Languages spoken",
|
|
||||||
"form.idioma.esp": "Spanish",
|
|
||||||
"form.idioma.ing": "English",
|
|
||||||
"form.idioma.heb": "Hebrew",
|
|
||||||
"form.idioma.port": "Portuguese",
|
|
||||||
"form.idioma.franc": "French",
|
|
||||||
"form.idioma.otro": "Other",
|
|
||||||
"form.idioma_otro": "Other (specify)",
|
|
||||||
"form.voluntariado_anterior": "Have you volunteered before?",
|
|
||||||
"form.voluntariado_anterior.si": "Yes",
|
|
||||||
"form.voluntariado_anterior.no": "No",
|
|
||||||
"form.caso_si": "If yes, please indicate where and in what roles",
|
|
||||||
"form.nivel.basico": "Basic",
|
|
||||||
"form.nivel.intermedio": "Intermediate",
|
|
||||||
"form.nivel.avanzado": "Advanced",
|
|
||||||
"form.areas_colaborar": "Select the areas in which you would like to collaborate",
|
|
||||||
"form.areas.ayuda_humanitaria": "Humanitarian Aid",
|
|
||||||
"form.areas.educacion": "Education",
|
|
||||||
"form.areas.desarrollo_comunitario": "Community Development",
|
|
||||||
"form.areas.liderazgo": "Leadership",
|
|
||||||
"form.areas.logistica": "Logistics",
|
|
||||||
"form.areas.organizacion_eventos": "Event Organization",
|
|
||||||
"form.areas.comunicacion_institucional": "Institutional Communication",
|
|
||||||
"form.areas.fotografia_medios": "Photography and Media",
|
|
||||||
"form.areas.recaudacion_fondos": "Fundraising",
|
|
||||||
"form.areas.gestion_proyectos": "Project Management",
|
|
||||||
"form.areas.traduccion_interpretacion": "Translation and Interpretation",
|
|
||||||
"form.areas.asesoria_juridica": "Legal Support",
|
|
||||||
"form.areas.servicios_medicos": "Medical Services / First Aid",
|
|
||||||
"form.areas.diplomacia_publica": "Public Diplomacy",
|
|
||||||
"form.areas.administracion": "Administration",
|
|
||||||
"form.areas.tecnologia_innovacion": "Technology and Innovation",
|
|
||||||
"form.areas.otra": "Other",
|
|
||||||
"form.areas_otra": "Other (specify)",
|
|
||||||
"form.dias_disponibles": "Days when you are available",
|
|
||||||
"form.dias.lunes": "Monday",
|
|
||||||
"form.dias.martes": "Tuesday",
|
|
||||||
"form.dias.miercoles": "Wednesday",
|
|
||||||
"form.dias.jueves": "Thursday",
|
|
||||||
"form.dias.viernes": "Friday",
|
|
||||||
"form.dias.sabado": "Saturday",
|
|
||||||
"form.dias.domingo": "Sunday",
|
|
||||||
"form.horario_preferido": "Preferred schedule",
|
|
||||||
"form.horario.manana": "Morning",
|
|
||||||
"form.horario.tarde": "Afternoon",
|
|
||||||
"form.horario.noche": "Evening",
|
|
||||||
"form.horario.segun": "According to the needs of the Center",
|
|
||||||
"form.fuera_ciudad": "Are you willing to participate in events outside your city?",
|
|
||||||
"form.misiones_internacionales": "Are you willing to participate in international events or missions?",
|
|
||||||
"form.condicion_medica": "Do you have any medical conditions that the Center should be aware of?",
|
|
||||||
"form.condicion_medica_cual": "If yes, please specify",
|
|
||||||
"form.alergias": "Allergies",
|
|
||||||
"form.medicamentos": "Medications taken on a permanent basis",
|
|
||||||
"form.emergencia_nombre": "Full name",
|
|
||||||
"form.emergencia_parentesco": "Relationship",
|
|
||||||
"form.emergencia_telefono": "Phone number",
|
|
||||||
"form.emergencia_correo": "Email address",
|
|
||||||
"form.declaracion_voluntario": "I declare under penalty of perjury, that:",
|
|
||||||
"form.declaracion.verdadera": "All information provided in this application is true and complete.",
|
|
||||||
"form.declaracion.acepto_reglamento": "I have read and accept the <a href=\"{terms_url}\" target=\"_blank\" class=\"underline\">General Volunteer Program Regulations and Conditions</a> of the Kingdom of Peace and Justice Center.",
|
|
||||||
"form.declaracion.compromiso_etica": "I agree to comply with the Code of Conduct, institutional policies, and instructions from the Center's representatives.",
|
|
||||||
"form.declaracion.autorizo_datos": "I authorize the processing of my personal data in accordance with the Center's Privacy Policy and applicable law.",
|
|
||||||
"form.declaracion.confidencialidad": "I agree to maintain absolute confidentiality regarding all information to which I have access during my participation.",
|
|
||||||
"form.declaracion.voluntaria": "I understand that my participation is completely voluntary and does not create any employment relationship with the Center.",
|
|
||||||
"form.confirmar_nombre": "Full name",
|
|
||||||
"form.confirmar_firma": "Signature",
|
|
||||||
"form.confirmacion": "Final confirmation",
|
|
||||||
"form.confirmacion_label": "I confirm that the personal data and signature shown above are correct and correspond to my person.",
|
|
||||||
"terminos.title": "Terms and Conditions",
|
|
||||||
"terminos.text": "General Volunteer Program Regulations",
|
|
||||||
"form.page_title": "VOLUNTEER REGISTRATION APPLICATION",
|
|
||||||
"form.page_desc": "Complete your details to join the Kingdom of Peace and Justice Center.",
|
|
||||||
"form.step1_reglamento": "Regulations and Acceptance",
|
|
||||||
"form.step2": "Personal Information",
|
|
||||||
"form.step3": "Academic Background and Experience",
|
|
||||||
"form.step4": "Areas of Interest for Volunteering",
|
|
||||||
"form.step5": "Availability",
|
|
||||||
"form.step6": "Medical Information",
|
|
||||||
"form.step7": "Emergency Contact",
|
|
||||||
"form.step8": "Volunteer Declaration",
|
|
||||||
"form.submit": "Submit Form",
|
|
||||||
"form.next": "Next",
|
|
||||||
"form.back": "Back",
|
|
||||||
"form.sending": "Sending...",
|
|
||||||
"form.success": "Sent successfully!",
|
|
||||||
"form.error": "Error submitting",
|
|
||||||
"form.required": "This field is required",
|
|
||||||
"form.optional": "This field is optional",
|
|
||||||
"form.remaining_required_one": "1 required field remaining",
|
|
||||||
"form.remaining_required": "{count} required fields remaining",
|
|
||||||
"form.phone_invalid": "Only numbers allowed",
|
|
||||||
"form.phone_number_invalid": "Invalid number (min. 7 digits, max. 15)",
|
|
||||||
"form.phone_code_select": "Code",
|
|
||||||
"form.config_error": "Error loading the form. Please try again later.",
|
|
||||||
"form.si": "Yes",
|
|
||||||
"form.no": "No",
|
|
||||||
"form.select_placeholder": "Select {label}",
|
|
||||||
"form.step_counter": "Step {current} of {total}",
|
|
||||||
"form.success_title": "Registration completed successfully!",
|
|
||||||
"form.success_info": "Your volunteer registration application has been received successfully.",
|
|
||||||
"form.success_detail": "For more information, you can contact us through the official channels of the Kingdom of Peace and Justice Center. We appreciate your interest and commitment.",
|
|
||||||
"form.back_home": "Back to home",
|
|
||||||
"form.documentos_help": "Enter the number of an official identity document issued by your country (e.g.: identity card, ID, national ID card, or passport, as applicable).",
|
|
||||||
"form.lugar_trabajo_actual_help": "Indicate the city, province, and country where your current workplace is located.",
|
|
||||||
"form.nacionalidad_help": "Indicate your country of birth.",
|
|
||||||
"form.nivel_academico_help": "Indicate your highest level of education (e.g.: high school, university, postgraduate).",
|
|
||||||
"form.fecha_nacimiento_help": "If you are under 18, you can indicate that your occupation is “Student”. Registration can also be completed from age 12 onward, accompanied by a parent or legal guardian.",
|
|
||||||
"form.fecha_nacimiento_menor_aviso": "If you are under 18, you can indicate that your occupation is “Student”. Registration can also be completed from age 12 onward, accompanied by a parent or legal guardian.",
|
|
||||||
"form.profesion_help": "If you are under 18, you can indicate “Student” as your occupation.",
|
|
||||||
"form.date.day": "Day",
|
|
||||||
"form.date.month": "Month",
|
|
||||||
"form.date.year": "Year",
|
|
||||||
"form.month.1": "January",
|
|
||||||
"form.month.2": "February",
|
|
||||||
"form.month.3": "March",
|
|
||||||
"form.month.4": "April",
|
|
||||||
"form.month.5": "May",
|
|
||||||
"form.month.6": "June",
|
|
||||||
"form.month.7": "July",
|
|
||||||
"form.month.8": "August",
|
|
||||||
"form.month.9": "September",
|
|
||||||
"form.month.10": "October",
|
|
||||||
"form.month.11": "November",
|
|
||||||
"form.month.12": "December"
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -122,7 +122,7 @@
|
||||||
{
|
{
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"icon": "ph:arrow-circle-up-thin",
|
"icon": "ph:arrow-circle-up-thin",
|
||||||
"text": "Enseñanza de las escrituras aplicada al análisis del mundo contemporáneo.",
|
"text": "Enseñanza bíblica aplicada al análisis del mundo contemporáneo.",
|
||||||
"textColor": "#EBE5D0",
|
"textColor": "#EBE5D0",
|
||||||
"bgColor": "#003421"
|
"bgColor": "#003421"
|
||||||
},
|
},
|
||||||
|
|
@ -160,7 +160,7 @@
|
||||||
"formation.title": "Formación y Capacitación",
|
"formation.title": "Formación y Capacitación",
|
||||||
"formation.subtitle": "Programas y Área de Acción",
|
"formation.subtitle": "Programas y Área de Acción",
|
||||||
"formation.text": "El <strong>Centro del Reino de Paz y Justicia (CRPJ) desarrolla cursos, seminarios y programas de formación</strong> dirigidos a líderes, profesionales, referentes institucionales y actores con responsabilidad pública.",
|
"formation.text": "El <strong>Centro del Reino de Paz y Justicia (CRPJ) desarrolla cursos, seminarios y programas de formación</strong> dirigidos a líderes, profesionales, referentes institucionales y actores con responsabilidad pública.",
|
||||||
"formation.area.title": "Área de Formación",
|
"formation.area.title": "Area de Formación",
|
||||||
"formation.area.text": "<li>Liderazgo ético y estratégico.</li> <li>Mediación y resolución responsable de conflictos.</li> <li>Fe, valores y acción en el espacio público.</li> <li>Análisis de escenarios internacionales y desafíos contemporáneos.</li> <li>Fundamentos para la construcción de una paz sólida y duradera, con eje en Israel.</li>",
|
"formation.area.text": "<li>Liderazgo ético y estratégico.</li> <li>Mediación y resolución responsable de conflictos.</li> <li>Fe, valores y acción en el espacio público.</li> <li>Análisis de escenarios internacionales y desafíos contemporáneos.</li> <li>Fundamentos para la construcción de una paz sólida y duradera, con eje en Israel.</li>",
|
||||||
"formation.consulting.title": "Asesoría y Consultoría",
|
"formation.consulting.title": "Asesoría y Consultoría",
|
||||||
"formation.consulting.text": "Acompañamiento estratégico a organizaciones e instituciones que buscan diseñar e implementar iniciativas de impacto, alineadas con valores claros, objetivos transversales y una visión de largo plazo.",
|
"formation.consulting.text": "Acompañamiento estratégico a organizaciones e instituciones que buscan diseñar e implementar iniciativas de impacto, alineadas con valores claros, objetivos transversales y una visión de largo plazo.",
|
||||||
|
|
@ -231,9 +231,9 @@
|
||||||
"form.whatsapp": "WhatsApp",
|
"form.whatsapp": "WhatsApp",
|
||||||
"form.aceptacion_reglamento": "Declaración de Aceptación",
|
"form.aceptacion_reglamento": "Declaración de Aceptación",
|
||||||
"form.aceptacion.leido": "He leído y acepto el presente Reglamento.",
|
"form.aceptacion.leido": "He leído y acepto el presente Reglamento.",
|
||||||
"form.aceptacion.codigo_etica": "Acepto el Código de Ética del Centro.",
|
"form.aceptacion.codigo_etica": "Acepto el Código de Ética del Centro",
|
||||||
"form.aceptacion.datos": "Autorizo el tratamiento de mis datos personales conforme a la Política de Privacidad.",
|
"form.aceptacion.datos": "Autorizo el tratamiento de mis datos personales conforme a la Política de Privacidad.",
|
||||||
"form.aceptacion.voluntaria": "Confirmo que mi participación es completamente voluntaria y que no existe relación laboral, contractual o de representación con el Centro.",
|
"form.aceptacion.voluntaria": "Confirmo que mi participación es completamente voluntaria y que no existe relación laboral, contractual o de representación con el Centro",
|
||||||
"form.aceptacion.verdadera": "Confirmo que toda la información proporcionada es verdadera.",
|
"form.aceptacion.verdadera": "Confirmo que toda la información proporcionada es verdadera.",
|
||||||
"form.aceptacion.firma_validez": "Acepto que mi consentimiento electrónico tendrá la misma validez jurídica que una firma manuscrita, conforme a la legislación aplicable.",
|
"form.aceptacion.firma_validez": "Acepto que mi consentimiento electrónico tendrá la misma validez jurídica que una firma manuscrita, conforme a la legislación aplicable.",
|
||||||
"form.reglamento_firma": "Firma electrónica",
|
"form.reglamento_firma": "Firma electrónica",
|
||||||
|
|
@ -347,23 +347,5 @@
|
||||||
"form.documentos_help": "Ingrese el número de un documento oficial de identidad emitido por su país (por ejemplo: cédula de identidad, DNI, tarjeta de identidad o pasaporte, según corresponda).",
|
"form.documentos_help": "Ingrese el número de un documento oficial de identidad emitido por su país (por ejemplo: cédula de identidad, DNI, tarjeta de identidad o pasaporte, según corresponda).",
|
||||||
"form.lugar_trabajo_actual_help": "Indique la ciudad, provincia y país donde se encuentra su lugar de trabajo actual.",
|
"form.lugar_trabajo_actual_help": "Indique la ciudad, provincia y país donde se encuentra su lugar de trabajo actual.",
|
||||||
"form.nacionalidad_help": "Indique su país de nacimiento.",
|
"form.nacionalidad_help": "Indique su país de nacimiento.",
|
||||||
"form.nivel_academico_help": "Indique su nivel académico alcanzado (ej.: secundario, universitario, posgrado).",
|
"form.nivel_academico_help": "Indique su nivel académico alcanzado (ej.: secundario, universitario, posgrado)."
|
||||||
"form.fecha_nacimiento_help": "La inscripción también podrá ser realizada desde los 12 años en adelante, acompañado por sus padres o representante legal; y si son estudiantes, podrán indicarlo en el campo en \"profesión u ocupación\".",
|
|
||||||
"form.fecha_nacimiento_menor_aviso": "La inscripción también podrá ser realizada desde los 12 años en adelante, acompañado por sus padres o representante legal; y si son estudiantes, podrán indicarlo en el campo en \"profesión u ocupación\".",
|
|
||||||
"form.profesion_help": "Si es menor de 18 años, puede indicar «Estudiante» como su ocupación.",
|
|
||||||
"form.date.day": "Día",
|
|
||||||
"form.date.month": "Mes",
|
|
||||||
"form.date.year": "Año",
|
|
||||||
"form.month.1": "Enero",
|
|
||||||
"form.month.2": "Febrero",
|
|
||||||
"form.month.3": "Marzo",
|
|
||||||
"form.month.4": "Abril",
|
|
||||||
"form.month.5": "Mayo",
|
|
||||||
"form.month.6": "Junio",
|
|
||||||
"form.month.7": "Julio",
|
|
||||||
"form.month.8": "Agosto",
|
|
||||||
"form.month.9": "Septiembre",
|
|
||||||
"form.month.10": "Octubre",
|
|
||||||
"form.month.11": "Noviembre",
|
|
||||||
"form.month.12": "Diciembre"
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ export const routeTranslations = {
|
||||||
fr: "formulaire",
|
fr: "formulaire",
|
||||||
he: "טופס",
|
he: "טופס",
|
||||||
uk: "форма",
|
uk: "форма",
|
||||||
pt: "formulario",
|
pt: "formulário",
|
||||||
ru: "форма",
|
ru: "форма",
|
||||||
rw: "formulaire",
|
rw: "formulaire",
|
||||||
kr: "fòm",
|
kr: "fòm",
|
||||||
|
|
|
||||||
167
src/i18n/pt.json
|
|
@ -122,7 +122,7 @@
|
||||||
{
|
{
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"icon": "ph:arrow-circle-up-thin",
|
"icon": "ph:arrow-circle-up-thin",
|
||||||
"text": "Ensinamento das escrituras aplicado à análise do mundo contemporâneo.",
|
"text": "Ensinamento bíblico aplicado à análise do mundo contemporâneo.",
|
||||||
"textColor": "#EBE5D0",
|
"textColor": "#EBE5D0",
|
||||||
"bgColor": "#003421"
|
"bgColor": "#003421"
|
||||||
},
|
},
|
||||||
|
|
@ -200,168 +200,5 @@
|
||||||
"footer.form.name": "Nome completo",
|
"footer.form.name": "Nome completo",
|
||||||
"footer.form.mesagge": "Escreva a sua mensagem",
|
"footer.form.mesagge": "Escreva a sua mensagem",
|
||||||
"footer.form.button": "Enviar",
|
"footer.form.button": "Enviar",
|
||||||
"footer.reserved": "©2026. Todos os Direitos Reservados. Centro do Reino de Paz e Justiça.",
|
"footer.reserved": "©2026. Todos os Direitos Reservados. Centro do Reino de Paz e Justiça."
|
||||||
"form.aceptacion_reglamento": "Declaração de Aceite",
|
|
||||||
"form.aceptacion.leido": "Li e aceito o presente Regulamento.",
|
|
||||||
"form.aceptacion.codigo_etica": "Aceito o Código de Ética do Centro.",
|
|
||||||
"form.aceptacion.datos": "Autorizo o tratamento dos meus dados pessoais em conformidade com a Política de Privacidade.",
|
|
||||||
"form.aceptacion.voluntaria": "Confirmo que minha participação é totalmente voluntária e que não estabelece qualquer vínculo empregatício, contratual ou de representação com o Centro.",
|
|
||||||
"form.aceptacion.verdadera": "Confirmo que todas as informações fornecidas são verdadeiras.",
|
|
||||||
"form.aceptacion.firma_validez": "Aceito que meu consentimento eletrônico terá a mesma validade jurídica de uma assinatura manuscrita, em conformidade com a legislação aplicável.",
|
|
||||||
"form.reglamento_firma": "Assinatura eletrônica",
|
|
||||||
"form.reglamento_firma_placeholder": "Nome completo como assinatura",
|
|
||||||
"form.leer_reglamento": "Ler Regulamento Completo",
|
|
||||||
"form.reglamento_titulo": "Regulamento Geral do Programa de Voluntariado",
|
|
||||||
"form.reglamento_confirmar": "Li e compreendo o Regulamento em sua totalidade",
|
|
||||||
"form.reglamento_cerrar": "Fechar",
|
|
||||||
"form.reglamento_leido": "Você leu o Regulamento completo",
|
|
||||||
"form.reglamento_scroll_needed": "Desça até o final para confirmar que leu o Regulamento",
|
|
||||||
"form.reglamento_aviso": "Você deve ler o Regulamento completo para poder marcar as caixas de aceitação e continuar com o formulário.",
|
|
||||||
"form.reglamento_tooltip": "Você deve ler e descer até o final do Regulamento para continuar",
|
|
||||||
"form.nombre": "Nome",
|
|
||||||
"form.segundo_nombre": "Segundo Nome",
|
|
||||||
"form.apellido": "Sobrenome",
|
|
||||||
"form.documentos": "Documento de Identidade / Passaporte",
|
|
||||||
"form.correo": "E-mail",
|
|
||||||
"form.fecha_nacimiento": "Data de nascimento",
|
|
||||||
"form.nacionalidad": "Nacionalidade",
|
|
||||||
"form.sexo": "Sexo",
|
|
||||||
"form.sexo.m": "Masculino",
|
|
||||||
"form.sexo.f": "Feminino",
|
|
||||||
"form.sexo.o": "Outro",
|
|
||||||
"form.direccion": "Endereço completo",
|
|
||||||
"form.direccion_postal": "Endereço Postal",
|
|
||||||
"form.ciudad": "Cidade",
|
|
||||||
"form.estado": "Estado / Província",
|
|
||||||
"form.pais": "País",
|
|
||||||
"form.codigo_postal": "CEP",
|
|
||||||
"form.mobile": "Celular",
|
|
||||||
"form.whatsapp": "WhatsApp",
|
|
||||||
"form.profesion": "Profissão ou ocupação",
|
|
||||||
"form.lugar_trabajo_actual": "Local de trabalho atual",
|
|
||||||
"form.nivel_academico": "Escolaridade",
|
|
||||||
"form.idioma": "Idiomas que domina",
|
|
||||||
"form.idioma.esp": "Espanhol",
|
|
||||||
"form.idioma.ing": "Inglês",
|
|
||||||
"form.idioma.heb": "Hebraico",
|
|
||||||
"form.idioma.port": "Português",
|
|
||||||
"form.idioma.franc": "Francês",
|
|
||||||
"form.idioma.otro": "Outro",
|
|
||||||
"form.idioma_otro": "Outro (especificar)",
|
|
||||||
"form.voluntariado_anterior": "Já realizou trabalho voluntário anteriormente?",
|
|
||||||
"form.voluntariado_anterior.si": "Sim",
|
|
||||||
"form.voluntariado_anterior.no": "Não",
|
|
||||||
"form.caso_si": "Em caso afirmativo, informe onde e em quais funções",
|
|
||||||
"form.nivel.basico": "Básico",
|
|
||||||
"form.nivel.intermedio": "Intermediário",
|
|
||||||
"form.nivel.avanzado": "Avançado",
|
|
||||||
"form.areas_colaborar": "Selecione as áreas nas quais deseja colaborar",
|
|
||||||
"form.areas.ayuda_humanitaria": "Ajuda Humanitária",
|
|
||||||
"form.areas.educacion": "Educação",
|
|
||||||
"form.areas.desarrollo_comunitario": "Desenvolvimento Comunitário",
|
|
||||||
"form.areas.liderazgo": "Liderança",
|
|
||||||
"form.areas.logistica": "Logística",
|
|
||||||
"form.areas.organizacion_eventos": "Organização de Eventos",
|
|
||||||
"form.areas.comunicacion_institucional": "Comunicação Institucional",
|
|
||||||
"form.areas.fotografia_medios": "Fotografia e Mídia",
|
|
||||||
"form.areas.recaudacion_fondos": "Captação de Recursos",
|
|
||||||
"form.areas.gestion_proyectos": "Gestão de Projetos",
|
|
||||||
"form.areas.traduccion_interpretacion": "Tradução e Interpretação",
|
|
||||||
"form.areas.asesoria_juridica": "Assessoria Jurídica",
|
|
||||||
"form.areas.servicios_medicos": "Serviços Médicos / Primeiros Socorros",
|
|
||||||
"form.areas.diplomacia_publica": "Diplomacia Pública",
|
|
||||||
"form.areas.administracion": "Administração",
|
|
||||||
"form.areas.tecnologia_innovacion": "Tecnologia e Inovação",
|
|
||||||
"form.areas.otra": "Outra",
|
|
||||||
"form.areas_otra": "Outra (especificar)",
|
|
||||||
"form.dias_disponibles": "Dias disponíveis",
|
|
||||||
"form.dias.lunes": "Segunda-feira",
|
|
||||||
"form.dias.martes": "Terça-feira",
|
|
||||||
"form.dias.miercoles": "Quarta-feira",
|
|
||||||
"form.dias.jueves": "Quinta-feira",
|
|
||||||
"form.dias.viernes": "Sexta-feira",
|
|
||||||
"form.dias.sabado": "Sábado",
|
|
||||||
"form.dias.domingo": "Domingo",
|
|
||||||
"form.horario_preferido": "Horário preferencial",
|
|
||||||
"form.horario.manana": "Manhã",
|
|
||||||
"form.horario.tarde": "Tarde",
|
|
||||||
"form.horario.noche": "Noite",
|
|
||||||
"form.horario.segun": "Conforme as necessidades do Centro",
|
|
||||||
"form.fuera_ciudad": "Está disposto(a) a participar de atividades fora da sua cidade?",
|
|
||||||
"form.misiones_internacionales": "Está disposto(a) a participar de atividades ou missões internacionais?",
|
|
||||||
"form.condicion_medica": "Possui alguma condição médica que o Centro deva conhecer?",
|
|
||||||
"form.condicion_medica_cual": "Em caso afirmativo, especifique",
|
|
||||||
"form.alergias": "Alergias",
|
|
||||||
"form.medicamentos": "Medicamentos de uso contínuo",
|
|
||||||
"form.emergencia_nombre": "Nome completo",
|
|
||||||
"form.emergencia_parentesco": "Parentesco",
|
|
||||||
"form.emergencia_telefono": "Telefone",
|
|
||||||
"form.emergencia_correo": "E-mail",
|
|
||||||
"form.declaracion_voluntario": "Declaro, sob as penas da lei, que:",
|
|
||||||
"form.declaracion.verdadera": "Todas as informações fornecidas nesta solicitação são verdadeiras e completas.",
|
|
||||||
"form.declaracion.acepto_reglamento": "Li e aceito o Regulamento e as <a href=\"{terms_url}\" target=\"_blank\" class=\"underline\">Condições do Programa de Voluntariado</a> do Centro do Reino de Paz e Justiça.",
|
|
||||||
"form.declaracion.compromiso_etica": "Comprometo-me a cumprir o Código de Ética, as políticas institucionais e as instruções fornecidas pelos responsáveis do Centro.",
|
|
||||||
"form.declaracion.autorizo_datos": "Autorizo o tratamento dos meus dados pessoais em conformidade com a Política de Privacidade do Centro e a legislação aplicável.",
|
|
||||||
"form.declaracion.confidencialidad": "Comprometo-me a manter absoluto sigilo sobre todas as informações às quais tiver acesso durante minha participação.",
|
|
||||||
"form.declaracion.voluntaria": "Estou ciente de que minha participação é inteiramente voluntária e não gera qualquer vínculo empregatício com o Centro.",
|
|
||||||
"form.confirmar_nombre": "Nome",
|
|
||||||
"form.confirmar_firma": "Assinatura eletrônica",
|
|
||||||
"form.confirmacion": "Confirmação final",
|
|
||||||
"form.confirmacion_label": "Confirmo que os dados pessoais e a assinatura exibidos acima estão corretos e correspondem à minha pessoa.",
|
|
||||||
"terminos.title": "Termos e Condições",
|
|
||||||
"terminos.text": "Regulamento Geral do Programa de Voluntariado",
|
|
||||||
"form.page_title": "FORMULÁRIO DE INSCRIÇÃO PARA VOLUNTARIADO",
|
|
||||||
"form.page_desc": "Preencha seus dados para fazer parte do Centro do Reino de Paz e Justiça.",
|
|
||||||
"form.step1_reglamento": "Regulamento e Aceite",
|
|
||||||
"form.step2": "Dados Pessoais",
|
|
||||||
"form.step3": "Formação Acadêmica e Experiência",
|
|
||||||
"form.step4": "Áreas de Colaboração",
|
|
||||||
"form.step5": "Disponibilidade",
|
|
||||||
"form.step6": "Informações Médicas",
|
|
||||||
"form.step7": "Contato de Emergência",
|
|
||||||
"form.step8": "Declaração do Voluntário",
|
|
||||||
"form.submit": "Enviar Formulário",
|
|
||||||
"form.next": "Seguinte",
|
|
||||||
"form.back": "Anterior",
|
|
||||||
"form.sending": "Enviando...",
|
|
||||||
"form.success": "Enviado com sucesso!",
|
|
||||||
"form.error": "Erro ao enviar",
|
|
||||||
"form.required": "Este campo é obrigatório",
|
|
||||||
"form.optional": "Este campo é opcional",
|
|
||||||
"form.remaining_required_one": "Falta preencher 1 campo obrigatório.",
|
|
||||||
"form.remaining_required": "Faltam preencher {count} campos obrigatórios.",
|
|
||||||
"form.phone_invalid": "Apenas números são permitidos",
|
|
||||||
"form.phone_number_invalid": "Número inválido (mín. 7 dígitos, máx. 15)",
|
|
||||||
"form.phone_code_select": "Código",
|
|
||||||
"form.config_error": "Erro ao carregar o formulário. Tente novamente mais tarde.",
|
|
||||||
"form.si": "Sim",
|
|
||||||
"form.no": "Não",
|
|
||||||
"form.select_placeholder": "Selecione {label}",
|
|
||||||
"form.step_counter": "Passo {current} de {total}",
|
|
||||||
"form.success_title": "Cadastro concluído com sucesso!",
|
|
||||||
"form.success_info": "Sua solicitação de inscrição como voluntário foi recebida com sucesso.",
|
|
||||||
"form.success_detail": "Para mais informações, você pode entrar em contato conosco por meio dos canais oficiais do Centro do Reino de Paz e Justiça. Agradecemos seu interesse e compromisso.",
|
|
||||||
"form.back_home": "Voltar ao início",
|
|
||||||
"form.documentos_help": "Informe o número de um documento oficial de identidade emitido pelo seu país, por exemplo: Carteira de Identidade (RG), Cadastro de Pessoas Físicas (CPF), passaporte ou outro documento equivalente, conforme o caso.",
|
|
||||||
"form.lugar_trabajo_actual_help": "Informe a cidade, o estado e o país onde está localizado seu local de trabalho atual.",
|
|
||||||
"form.nacionalidad_help": "Informe seu país de nascimento.",
|
|
||||||
"form.nivel_academico_help": "Informe o seu nível acadêmico alcançado (ex.: ensino médio, universitário, pós-graduação).",
|
|
||||||
"form.fecha_nacimiento_help": "Se for menor de 18 anos, pode indicar que sua ocupação é «Estudante». A inscrição também pode ser feita a partir dos 12 anos, acompanhado pelos pais ou responsável legal.",
|
|
||||||
"form.fecha_nacimiento_menor_aviso": "Se for menor de 18 anos, pode indicar que sua ocupação é «Estudante». A inscrição também pode ser feita a partir dos 12 anos, acompanhado pelos pais ou responsável legal.",
|
|
||||||
"form.profesion_help": "Se for menor de 18 anos, pode indicar «Estudante» como sua ocupação.",
|
|
||||||
"form.date.day": "Dia",
|
|
||||||
"form.date.month": "Mês",
|
|
||||||
"form.date.year": "Ano",
|
|
||||||
"form.month.1": "Janeiro",
|
|
||||||
"form.month.2": "Fevereiro",
|
|
||||||
"form.month.3": "Março",
|
|
||||||
"form.month.4": "Abril",
|
|
||||||
"form.month.5": "Maio",
|
|
||||||
"form.month.6": "Junho",
|
|
||||||
"form.month.7": "Julho",
|
|
||||||
"form.month.8": "Agosto",
|
|
||||||
"form.month.9": "Setembro",
|
|
||||||
"form.month.10": "Outubro",
|
|
||||||
"form.month.11": "Novembro",
|
|
||||||
"form.month.12": "Dezembro"
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="24" viewBox="0 0 32 24"><path fill="#009b3a" d="M0 0h32v24H0z"/><path fill="#fedf00" d="M16 3.5 28 12 16 20.5 4 12z"/><circle cx="16" cy="12" r="4.4" fill="#002776"/><path fill="#fff" d="M11.9 11.4c1.2 1.3 2.7 2.1 4.4 2.5l-.4 1c-1.6-.4-3.1-1.2-4.4-2.6z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="24" viewBox="0 0 32 24"><g fill="none"><g clip-path="url(#SVGpEZyBdcF)"><path fill="#093" fill-rule="evenodd" d="M0 0v24h32V0z" clip-rule="evenodd"/><mask id="SVGcFaS5cXn" width="32" height="24" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><path fill="#fff" fill-rule="evenodd" d="M0 0v24h32V0z" clip-rule="evenodd"/></mask><g mask="url(#SVGcFaS5cXn)"><g fill-rule="evenodd" clip-rule="evenodd" filter="url(#SVGjQD4adIr)"><path fill="#ffd221" d="m15.927 3.704l12.202 8.504L15.76 20.17L3.809 12.043z"/><path fill="url(#SVGSSHUKcJk)" d="m15.927 3.704l12.202 8.504L15.76 20.17L3.809 12.043z"/></g><path fill="#2e42a5" fill-rule="evenodd" d="M16 17.2a5 5 0 1 0 0-10a5 5 0 0 0 0 10" clip-rule="evenodd"/><mask id="SVGKrBiue1x" width="10" height="11" x="11" y="7" maskUnits="userSpaceOnUse" style="mask-type:luminance"><path fill="#fff" fill-rule="evenodd" d="M16 17.2a5 5 0 1 0 0-10a5 5 0 0 0 0 10" clip-rule="evenodd"/></mask><g mask="url(#SVGKrBiue1x)"><path fill="#f7fcff" fill-rule="evenodd" d="m14.38 14.57l-.223.117l.042-.248l-.18-.176l.25-.037l.111-.226l.112.226l.25.037l-.181.176l.042.248zm2 0l-.223.117l.042-.248l-.18-.176l.25-.037l.111-.226l.112.226l.25.037l-.181.176l.042.248zm0 1.2l-.223.117l.042-.248l-.18-.176l.25-.037l.111-.226l.112.226l.25.037l-.181.176l.042.248zm-1-4.2l-.223.117l.042-.248l-.18-.176l.25-.037l.111-.226l.112.226l.25.037l-.181.176l.042.248zm0 2l-.223.117l.042-.248l-.18-.176l.25-.037l.111-.226l.112.226l.25.037l-.181.176l.042.248zm-1.4-1l-.223.117l.042-.248l-.18-.176l.25-.037l.111-.226l.112.226l.25.037l-.181.176l.042.248zm-1.4.8l-.223.117l.042-.248l-.18-.176l.25-.037l.111-.226l.112.226l.25.037l-.181.176l.042.248zm4.6-3.4l-.223.117l.042-.248l-.18-.176l.25-.037l.111-.226l.112.226l.25.037l-.181.176l.042.248z" clip-rule="evenodd"/><path fill="#f7fcff" d="m9.925 10.997l.15-1.994c4.798.362 8.585 1.94 11.313 4.745l-1.434 1.395c-2.364-2.433-5.692-3.819-10.03-4.146"/><path fill="#093" d="m12.29 10.603l.05-.498q4.643.48 7.952 3.552l-.34.366q-3.186-2.956-7.663-3.42"/></g></g></g><defs><linearGradient id="SVGSSHUKcJk" x1="32" x2="32" y1="24" y2="0" gradientUnits="userSpaceOnUse"><stop stop-color="#ffc600"/><stop offset="1" stop-color="#ffde42"/></linearGradient><clipPath id="SVGpEZyBdcF"><path fill="#fff" d="M0 0h32v24H0z"/></clipPath><filter id="SVGjQD4adIr" width="24.32" height="16.467" x="3.809" y="3.704" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset/><feColorMatrix values="0 0 0 0 0.0313726 0 0 0 0 0.368627 0 0 0 0 0 0 0 0 0.28 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_270_67334"/><feBlend in="SourceGraphic" in2="effect1_dropShadow_270_67334" result="shape"/></filter></defs></g></svg>
|
||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 2.8 KiB |
|
|
@ -1 +0,0 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="24" viewBox="0 0 32 24"><path fill="#00209f" d="M0 0h32v12H0z"/><path fill="#d21034" d="M0 12h32v12H0z"/><path fill="#fff" d="M12.5 6h7v12h-7z"/><path fill="#016a16" d="M15.7 7.6h.6v5.8h-.6z"/><path fill="#016a16" d="M16 7.5 13.4 9.1h5.2z"/><path fill="#016a16" d="M16 7.5 18.6 9.1h-5.2z"/></svg>
|
|
||||||
|
Before Width: | Height: | Size: 356 B |
|
|
@ -1 +1 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="24" viewBox="0 0 32 24"><path fill="#fff" d="M0 0h32v24H0z"/><path fill="#0038b8" d="M0 0h32v5H0zM0 19h32v5H0z"/><path fill="#0038b8" d="M16 6.5 21.5 16h-11z"/><path fill="#0038b8" d="M16 17.5 10.5 8h11z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="24" viewBox="0 0 32 24"><g fill="none"><path fill="#f7fcff" fill-rule="evenodd" d="M0 0v24h32V0z" clip-rule="evenodd"/><mask id="SVGcFaS5cXn" width="32" height="24" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><path fill="#fff" fill-rule="evenodd" d="M0 0v24h32V0z" clip-rule="evenodd"/></mask><g fill="#3d58db" fill-rule="evenodd" clip-rule="evenodd" mask="url(#SVGcFaS5cXn)"><path d="M0 3v3h32V3zm0 15v3h32v-3zm11.381-3.061h9.377L16.116 6.62zm7.772-1.01h-6.132l3.086-5.47z"/><path d="M11.264 9.076h9.417l-4.545 8.086zm7.781.974h-5.994l3.058 5.481z"/></g></g></svg>
|
||||||
|
Before Width: | Height: | Size: 272 B After Width: | Height: | Size: 647 B |
|
|
@ -1 +1 @@
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="24" viewBox="0 0 32 24"><path fill="#fff" d="M0 0h32v8H0z"/><path fill="#0039a6" d="M0 8h32v8H0z"/><path fill="#d52b1e" d="M0 16h32v8H0z"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="24" viewBox="0 0 32 24"><g fill="none"><path fill="#3d58db" fill-rule="evenodd" d="M0 0v24h32V0z" clip-rule="evenodd"/><mask id="SVGcFaS5cXn" width="32" height="24" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:luminance"><path fill="#fff" fill-rule="evenodd" d="M0 0v24h32V0z" clip-rule="evenodd"/></mask><g fill-rule="evenodd" clip-rule="evenodd" mask="url(#SVGcFaS5cXn)"><path fill="#f7fcff" d="M0 0v8h32V0z"/><path fill="#c51918" d="M0 16v8h32v-8z"/></g></g></svg>
|
||||||
|
Before Width: | Height: | Size: 205 B After Width: | Height: | Size: 537 B |
|
|
@ -8,7 +8,7 @@ import "@fontsource/poppins/700.css";
|
||||||
import "@fontsource-variable/kameron";
|
import "@fontsource-variable/kameron";
|
||||||
import ShareSticky from "../components/ShareSticky.vue";
|
import ShareSticky from "../components/ShareSticky.vue";
|
||||||
import { routeTranslations } from "../i18n";
|
import { routeTranslations } from "../i18n";
|
||||||
const { title, description, image, url, date, noindex } = Astro.props;
|
const { title, description, image, url, date } = Astro.props;
|
||||||
|
|
||||||
const currentLocale = Astro.currentLocale ?? "es";
|
const currentLocale = Astro.currentLocale ?? "es";
|
||||||
const direction = currentLocale === "he" ? "rtl" : "ltr";
|
const direction = currentLocale === "he" ? "rtl" : "ltr";
|
||||||
|
|
@ -28,7 +28,6 @@ const isNewsPage = contentSegments.some((segment) =>
|
||||||
image={image}
|
image={image}
|
||||||
url={url}
|
url={url}
|
||||||
date={date}
|
date={date}
|
||||||
noindex={noindex}
|
|
||||||
/>
|
/>
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener("contextmenu", (event) => {
|
document.addEventListener("contextmenu", (event) => {
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ export async function getStaticPaths() {
|
||||||
for (const post of posts) {
|
for (const post of posts) {
|
||||||
paths.push({
|
paths.push({
|
||||||
params: {
|
params: {
|
||||||
id: post.data.slug,
|
id: post.id,
|
||||||
locale: post.data.locale,
|
locale: post.data.locale,
|
||||||
section: getLocalizedRoute(collection, post.data.locale),
|
section: getLocalizedRoute(collection, post.data.locale),
|
||||||
},
|
},
|
||||||
|
|
@ -51,7 +51,7 @@ const words = plainText
|
||||||
.slice(0, 35);
|
.slice(0, 35);
|
||||||
const excerpt = words.join(" ") + (words.length === 35 ? "..." : "");
|
const excerpt = words.join(" ") + (words.length === 35 ? "..." : "");
|
||||||
|
|
||||||
const canonicalUrl = new URL(`/${locale}/${section}/${post.data.slug}`, Astro.site);
|
const canonicalUrl = new URL(`/${locale}/${section}/${post.id}`, Astro.site);
|
||||||
const imageUrl = post.data.thumbnail
|
const imageUrl = post.data.thumbnail
|
||||||
? new URL(post.data.thumbnail, Astro.site).toString()
|
? new URL(post.data.thumbnail, Astro.site).toString()
|
||||||
: null;
|
: null;
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ const { locale, section } = Astro.params;
|
||||||
const routeKey = getRouteKeyFromSlug(section);
|
const routeKey = getRouteKeyFromSlug(section);
|
||||||
|
|
||||||
if (routeKey === "formulario") {
|
if (routeKey === "formulario") {
|
||||||
if (!["es", "en", "pt"].includes(Astro.currentLocale)) {
|
if (Astro.currentLocale !== "es") {
|
||||||
return Astro.redirect(`/${Astro.currentLocale}/`);
|
return Astro.redirect(`/${Astro.currentLocale}/`);
|
||||||
}
|
}
|
||||||
} else if (routeKey === "terminos") {
|
} else if (routeKey === "terminos") {
|
||||||
|
|
@ -127,7 +127,7 @@ if (routeKey === "formulario") {
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<FooterSection hideContact={routeKey === "formulario"} />
|
<FooterSection />
|
||||||
|
|
||||||
</MainLayout>
|
</MainLayout>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,186 +0,0 @@
|
||||||
---
|
|
||||||
import MainLayout from "@/layouts/MainLayout.astro";
|
|
||||||
|
|
||||||
// Frecuencia de consulta al Google Sheet de voluntarios (en milisegundos).
|
|
||||||
// Cambia este valor para ajustar cada cuánto se refresca el contador.
|
|
||||||
const POLL_INTERVAL_MS = 10_000;
|
|
||||||
---
|
|
||||||
|
|
||||||
<MainLayout
|
|
||||||
title="Contador de Voluntarios | Centro del Reino de Paz y Justicia"
|
|
||||||
description="Contador en vivo de voluntarios registrados en el Centro del Reino de Paz y Justicia."
|
|
||||||
noindex={true}
|
|
||||||
>
|
|
||||||
<main
|
|
||||||
class="relative flex min-h-screen items-center justify-center overflow-hidden bg-[#0f3327] px-4 py-12"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_50%_35%,rgba(203,161,106,0.18),transparent_60%)]"
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
<img
|
|
||||||
src="/img/opacity-logo.png"
|
|
||||||
alt=""
|
|
||||||
aria-hidden="true"
|
|
||||||
class="pointer-events-none absolute inset-0 m-auto w-[140%] max-w-none select-none opacity-[0.05]"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<section
|
|
||||||
class="counter-card relative w-full max-w-2xl rounded-3xl border border-white/10 bg-white/5 px-6 py-10 text-center shadow-2xl backdrop-blur-md sm:px-12 sm:py-14"
|
|
||||||
>
|
|
||||||
<img
|
|
||||||
src="/img/logo-metalico.webp"
|
|
||||||
alt="Centro del Reino de Paz y Justicia"
|
|
||||||
class="mx-auto mb-4 h-14 w-auto object-contain sm:h-16"
|
|
||||||
/>
|
|
||||||
<p
|
|
||||||
class="font-primary text-xs font-bold uppercase tracking-[0.3em] text-colorSecondary sm:text-sm"
|
|
||||||
>
|
|
||||||
Centro del Reino de Paz y Justicia
|
|
||||||
</p>
|
|
||||||
<h1
|
|
||||||
class="mt-3 font-secondary text-2xl font-bold text-colorPrimary sm:text-4xl"
|
|
||||||
>
|
|
||||||
Voluntarios Registrados
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
<div
|
|
||||||
class="mt-8 flex items-center justify-center font-mono text-colorSecondary sm:mt-10"
|
|
||||||
style="text-shadow: 0 0 40px rgba(203,161,106,0.35)"
|
|
||||||
>
|
|
||||||
<span
|
|
||||||
id="counter-number"
|
|
||||||
class="counter-number text-[clamp(3.5rem,16vw,9rem)] font-bold tabular-nums"
|
|
||||||
aria-hidden="true"
|
|
||||||
>0</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<p id="sr-count" class="sr-only" aria-live="polite">
|
|
||||||
Cargando contador de voluntarios…
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<div
|
|
||||||
class="mt-6 flex flex-col items-center gap-2 sm:mt-8 sm:flex-row sm:justify-center sm:gap-6"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
class="flex items-center gap-2 text-xs font-semibold uppercase tracking-widest text-white/70 sm:text-sm"
|
|
||||||
>
|
|
||||||
<span class="relative flex h-2.5 w-2.5">
|
|
||||||
<span
|
|
||||||
id="status-ping"
|
|
||||||
class="absolute inline-flex h-full w-full animate-ping rounded-full bg-amber-400 opacity-75"
|
|
||||||
></span>
|
|
||||||
<span
|
|
||||||
id="status-dot"
|
|
||||||
class="relative inline-flex h-2.5 w-2.5 rounded-full bg-amber-400"
|
|
||||||
></span>
|
|
||||||
</span>
|
|
||||||
<span id="status-text">Conectando…</span>
|
|
||||||
</div>
|
|
||||||
<p class="text-xs text-white/40 sm:text-sm">
|
|
||||||
Última actualización: <span id="last-updated">—</span>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</main>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
.counter-card {
|
|
||||||
animation: counter-fade-in 0.6s ease-out;
|
|
||||||
}
|
|
||||||
.counter-number {
|
|
||||||
display: inline-block;
|
|
||||||
}
|
|
||||||
.counter-number.counter-bump {
|
|
||||||
animation: counter-bump 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
|
|
||||||
}
|
|
||||||
@keyframes counter-fade-in {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateY(12px) scale(0.98);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0) scale(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes counter-bump {
|
|
||||||
0% {
|
|
||||||
transform: scale(1);
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
35% {
|
|
||||||
transform: scale(1.12) translateY(-0.05em);
|
|
||||||
opacity: 0.55;
|
|
||||||
}
|
|
||||||
100% {
|
|
||||||
transform: scale(1) translateY(0);
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
||||||
<script is:inline define:vars={{ POLL_INTERVAL_MS }}>
|
|
||||||
const ENDPOINT = "/api/voluntarios/count";
|
|
||||||
|
|
||||||
const counterNumber = document.getElementById("counter-number");
|
|
||||||
const srCount = document.getElementById("sr-count");
|
|
||||||
const statusDot = document.getElementById("status-dot");
|
|
||||||
const statusPing = document.getElementById("status-ping");
|
|
||||||
const statusText = document.getElementById("status-text");
|
|
||||||
const lastUpdated = document.getElementById("last-updated");
|
|
||||||
|
|
||||||
const STATUS_STYLES = {
|
|
||||||
live: { color: "bg-emerald-400", text: "En vivo" },
|
|
||||||
error: { color: "bg-red-400", text: "Reconectando…" },
|
|
||||||
loading: { color: "bg-amber-400", text: "Conectando…" },
|
|
||||||
};
|
|
||||||
|
|
||||||
let currentCount = null;
|
|
||||||
|
|
||||||
function renderCount(count) {
|
|
||||||
const safe = Math.max(0, Math.min(999999, Math.round(count)));
|
|
||||||
|
|
||||||
counterNumber.textContent = safe.toLocaleString("es-ES");
|
|
||||||
srCount.textContent = `${safe} ${safe === 1 ? "voluntario registrado" : "voluntarios registrados"}`;
|
|
||||||
|
|
||||||
if (currentCount !== null && currentCount !== safe) {
|
|
||||||
counterNumber.classList.remove("counter-bump");
|
|
||||||
void counterNumber.offsetWidth;
|
|
||||||
counterNumber.classList.add("counter-bump");
|
|
||||||
}
|
|
||||||
currentCount = safe;
|
|
||||||
}
|
|
||||||
|
|
||||||
function setStatus(state) {
|
|
||||||
const { color, text } = STATUS_STYLES[state] || STATUS_STYLES.loading;
|
|
||||||
statusDot.className = `relative inline-flex h-2.5 w-2.5 rounded-full ${color}`;
|
|
||||||
statusPing.className = `absolute inline-flex h-full w-full animate-ping rounded-full opacity-75 ${color}`;
|
|
||||||
statusText.textContent = text;
|
|
||||||
}
|
|
||||||
|
|
||||||
async function fetchCount() {
|
|
||||||
try {
|
|
||||||
const res = await fetch(ENDPOINT, { cache: "no-store" });
|
|
||||||
const data = await res.json();
|
|
||||||
if (!res.ok || !data.success) {
|
|
||||||
throw new Error(data.message || "Error desconocido");
|
|
||||||
}
|
|
||||||
|
|
||||||
renderCount(data.count);
|
|
||||||
setStatus("live");
|
|
||||||
lastUpdated.textContent = new Date().toLocaleTimeString("es-ES", {
|
|
||||||
hour: "2-digit",
|
|
||||||
minute: "2-digit",
|
|
||||||
second: "2-digit",
|
|
||||||
});
|
|
||||||
} catch (err) {
|
|
||||||
console.error("No se pudo actualizar el contador de voluntarios:", err);
|
|
||||||
setStatus("error");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fetchCount();
|
|
||||||
setInterval(fetchCount, POLL_INTERVAL_MS);
|
|
||||||
</script>
|
|
||||||
</MainLayout>
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
import type { APIRoute } from "astro";
|
import type { APIRoute } from "astro";
|
||||||
import { prisma } from "../lib/prisma";
|
import { prisma } from "../lib/prisma";
|
||||||
import { sendEmailCf } from "../lib/email";
|
|
||||||
|
|
||||||
export const prerender = false;
|
export const prerender = false;
|
||||||
|
|
||||||
|
|
@ -65,11 +64,32 @@ export const POST: APIRoute = async ({ request }) => {
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
await sendEmailCf(
|
const emailApiKey = import.meta.env.EMAIL_API_KEY;
|
||||||
{ nombre, email, mensaje },
|
|
||||||
"joseperez@centrodelreinodepazyjusticia.com",
|
const emailResponse = await fetch("https://flows2.carpa.com/webhook/email/send", {
|
||||||
"CENTRO_DEL_REINO_PAZ_Y_JUSTICIA_INFO",
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"x-api-key": emailApiKey!,
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
type: "CENTRO_DEL_REINO_PAZ_Y_JUSTICIA_INFO",
|
||||||
|
data: {
|
||||||
|
nombre,
|
||||||
|
email,
|
||||||
|
mensaje,
|
||||||
|
senderName : "Centro del Reino de Paz y Justicia",
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!emailResponse.ok) {
|
||||||
|
console.error("Error enviando correo");
|
||||||
|
return new Response(
|
||||||
|
JSON.stringify({ error: "Error en servicio de correo" }),
|
||||||
|
{ status: 500 }
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
return new Response(null, {
|
return new Response(null, {
|
||||||
status: 302,
|
status: 302,
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
import type { APIRoute } from "astro";
|
import type { APIRoute } from "astro";
|
||||||
import { appendToSheet, emailExists } from "../lib/googleSheets";
|
import { appendToSheet, emailExists } from "../lib/googleSheets";
|
||||||
import { sendEmailCf } from "../lib/email";
|
|
||||||
export const prerender = false;
|
export const prerender = false;
|
||||||
|
|
||||||
export const POST: APIRoute = async ({ request }) => {
|
export const POST: APIRoute = async ({ request }) => {
|
||||||
|
|
@ -30,6 +29,17 @@ export const POST: APIRoute = async ({ request }) => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const dataSend = {
|
||||||
|
nombres,
|
||||||
|
apellidos,
|
||||||
|
pais,
|
||||||
|
lugar,
|
||||||
|
direccion,
|
||||||
|
telefono,
|
||||||
|
email
|
||||||
|
};
|
||||||
|
const emailApiKey = import.meta.env.EMAIL_API_KEY;
|
||||||
|
|
||||||
const valuesForSheets = [
|
const valuesForSheets = [
|
||||||
nombres,
|
nombres,
|
||||||
apellidos,
|
apellidos,
|
||||||
|
|
@ -41,12 +51,31 @@ export const POST: APIRoute = async ({ request }) => {
|
||||||
new Date().toLocaleString()
|
new Date().toLocaleString()
|
||||||
];
|
];
|
||||||
|
|
||||||
// 🔹 Enviar correo (Cloudflare) y guardar en Google Sheets
|
// 🔹 Enviar a tu backend real
|
||||||
await Promise.all([
|
const [emailResponse] = await Promise.all([
|
||||||
sendEmailCf({ nombres, apellidos }, email, "CENTRO_DEL_REINO_PAZ_Y_JUSTICIA_POSTULACION"),
|
fetch("http://155.138.215.11:3050/email/send", {
|
||||||
appendToSheet(valuesForSheets)
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"x-api-key": emailApiKey!,
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
|
type: "CENTRO_DEL_REINO_PAZ_Y_JUSTICIA_POSTULACION",
|
||||||
|
data: dataSend,
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
appendToSheet(valuesForSheets) // Guardar en Google Sheets
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
if (!emailResponse.ok) {
|
||||||
|
return new Response(null, {
|
||||||
|
status: 302,
|
||||||
|
headers: {
|
||||||
|
Location: "/",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// 🔹 Redirección elegante después de enviar
|
// 🔹 Redirección elegante después de enviar
|
||||||
return new Response(null, {
|
return new Response(null, {
|
||||||
status: 302,
|
status: 302,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
import type { APIRoute } from "astro";
|
import type { APIRoute } from "astro";
|
||||||
import { appendRegistrationToSheet } from "../lib/googleSheets";
|
import { appendRegistrationToSheet } from "../lib/googleSheets";
|
||||||
import { sendEmailCf } from "../lib/email";
|
import { sendEmail } from "../lib/email";
|
||||||
import { emailExistsInRegistry, addEmailToRegistry } from "../lib/emailsRegistry";
|
|
||||||
export const prerender = false;
|
export const prerender = false;
|
||||||
|
|
||||||
const COLUMNS = [
|
const COLUMNS = [
|
||||||
|
|
@ -52,7 +51,6 @@ const COLUMNS = [
|
||||||
"confirmar_firma",
|
"confirmar_firma",
|
||||||
"declaracion_voluntario",
|
"declaracion_voluntario",
|
||||||
"confirmacion",
|
"confirmacion",
|
||||||
"locale",
|
|
||||||
];
|
];
|
||||||
|
|
||||||
function flattenValue(val: unknown): string {
|
function flattenValue(val: unknown): string {
|
||||||
|
|
@ -102,25 +100,16 @@ export const POST: APIRoute = async ({ request }) => {
|
||||||
timeZone: "America/Puerto_Rico",
|
timeZone: "America/Puerto_Rico",
|
||||||
});
|
});
|
||||||
|
|
||||||
if (emailExistsInRegistry(formData.correo)) {
|
|
||||||
return Response.json(
|
|
||||||
{ success: false, message: "Este correo ya está registrado. No se permiten 2 registros." },
|
|
||||||
{ status: 409 }
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
const row = COLUMNS.map((key) => flattenValue(formData[key]));
|
const row = COLUMNS.map((key) => flattenValue(formData[key]));
|
||||||
row.push(timestamp);
|
row.push(timestamp);
|
||||||
|
|
||||||
const result = await appendRegistrationToSheet(row);
|
const result = await appendRegistrationToSheet(row);
|
||||||
|
|
||||||
await sendEmailCf({
|
await sendEmail({
|
||||||
nombres: formData.nombre_completo,
|
nombres: formData.nombre,
|
||||||
apellidos: formData.apellido,
|
apellidos: formData.apellido,
|
||||||
}, formData.correo, "CENTRO_DEL_REINO_PAZ_Y_JUSTICIA_POSTULACION");
|
}, formData.correo, "CENTRO_DEL_REINO_PAZ_Y_JUSTICIA_POSTULACION");
|
||||||
|
|
||||||
addEmailToRegistry(formData.correo);
|
|
||||||
|
|
||||||
return Response.json(result);
|
return Response.json(result);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error en /api/formulario/send:", error);
|
console.error("Error en /api/formulario/send:", error);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
import Cloudflare from "cloudflare";
|
|
||||||
|
|
||||||
type TypeEmailData = "CENTRO_DEL_REINO_PAZ_Y_JUSTICIA_INFO" | "CENTRO_DEL_REINO_PAZ_Y_JUSTICIA_POSTULACION";
|
type TypeEmailData = "CENTRO_DEL_REINO_PAZ_Y_JUSTICIA_INFO" | "CENTRO_DEL_REINO_PAZ_Y_JUSTICIA_POSTULACION";
|
||||||
|
|
||||||
export async function sendEmail(data: object, to: string, type: TypeEmailData) {
|
export async function sendEmail(data: object, to: string, type: TypeEmailData) {
|
||||||
|
|
@ -30,114 +28,3 @@ export async function sendEmail(data: object, to: string, type: TypeEmailData) {
|
||||||
throw new Error(`Error en servicio de correo: ${emailResponse.status}`);
|
throw new Error(`Error en servicio de correo: ${emailResponse.status}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ═══════════════════════════════════════════════════════════════
|
|
||||||
// Cloudflare (Email Sending)
|
|
||||||
// Usar sendEmailCf() en lugar de sendEmail() (n8n/Brevo)
|
|
||||||
// ═══════════════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
const TEMPLATE_URLS: Record<TypeEmailData, { subject: string; url: string }> = {
|
|
||||||
CENTRO_DEL_REINO_PAZ_Y_JUSTICIA_POSTULACION: {
|
|
||||||
subject: "Confirmación de inscripción al voluntariado",
|
|
||||||
url: "https://assets.centrodelreinodepazyjusticia.com/centro_del_reino_paz_y_justicia_postulacion_user.html",
|
|
||||||
},
|
|
||||||
CENTRO_DEL_REINO_PAZ_Y_JUSTICIA_INFO: {
|
|
||||||
subject: "Notificación de contacto institucional",
|
|
||||||
url: "https://assets.centrodelreinodepazyjusticia.com/centro_del_reino_paz_y_justicia_info.html",
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const TEMPLATE_CACHE = new Map<string, string>();
|
|
||||||
|
|
||||||
async function fetchTemplate(type: TypeEmailData): Promise<string> {
|
|
||||||
const cached = TEMPLATE_CACHE.get(type);
|
|
||||||
if (cached) return cached;
|
|
||||||
|
|
||||||
const { url } = TEMPLATE_URLS[type];
|
|
||||||
const res = await fetch(url);
|
|
||||||
if (!res.ok) {
|
|
||||||
throw new Error(`Error descargando template ${type}: HTTP ${res.status}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
const html = await res.text();
|
|
||||||
TEMPLATE_CACHE.set(type, html);
|
|
||||||
return html;
|
|
||||||
}
|
|
||||||
|
|
||||||
function renderTemplate(template: string, data: Record<string, string>): string {
|
|
||||||
let html = template;
|
|
||||||
for (const [key, value] of Object.entries(data)) {
|
|
||||||
html = html.replaceAll(new RegExp(`\\{\\{${key}\\}\\}`, "g"), value ?? "");
|
|
||||||
}
|
|
||||||
return html;
|
|
||||||
}
|
|
||||||
|
|
||||||
function stripHtml(html: string): string {
|
|
||||||
return html.replace(/<[^>]*>/g, "").replace(/\s+/g, " ").trim();
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function sendEmailCf(data: Record<string, string>, to: string, type: TypeEmailData) {
|
|
||||||
const apiToken = import.meta.env.CLOUDFLARE_API_TOKEN;
|
|
||||||
const accountId = import.meta.env.CLOUDFLARE_ACCOUNT_ID;
|
|
||||||
|
|
||||||
try {
|
|
||||||
const client = new Cloudflare({ apiToken });
|
|
||||||
const { subject } = TEMPLATE_URLS[type];
|
|
||||||
const rawHtml = await fetchTemplate(type);
|
|
||||||
const html = renderTemplate(rawHtml, data);
|
|
||||||
const text = stripHtml(html);
|
|
||||||
|
|
||||||
const response = await client.emailSending.send({
|
|
||||||
account_id: accountId,
|
|
||||||
from: "welcome@mail.centrodelreinodepazyjusticia.com",
|
|
||||||
to,
|
|
||||||
subject,
|
|
||||||
html,
|
|
||||||
text,
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!response.delivered.includes(to)) {
|
|
||||||
console.error("Cloudflare email not delivered", response);
|
|
||||||
throw new Error("El correo no fue entregado");
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
console.error("Cloudflare email failed, fallback a n8n:", error);
|
|
||||||
await sendEmail(data, to, type);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// ═══════════════════════════════════════════════════════════════
|
|
||||||
// ALTERNATIVA: Brevo (SDK directo)
|
|
||||||
// Descomentar y usar sendEmailViaBrevo() en lugar de lo de arriba
|
|
||||||
// Requiere: pnpm add @getbrevo/brevo + BREVO_API_KEY en .env
|
|
||||||
// ═══════════════════════════════════════════════════════════════
|
|
||||||
|
|
||||||
// import {
|
|
||||||
// TransactionalEmailsApi,
|
|
||||||
// SendSmtpEmail,
|
|
||||||
// } from "@getbrevo/brevo";
|
|
||||||
|
|
||||||
// async function sendEmailViaBrevo(
|
|
||||||
// data: Record<string, string>,
|
|
||||||
// to: string,
|
|
||||||
// type: TypeEmailData
|
|
||||||
// ) {
|
|
||||||
// const apiKey = import.meta.env.BREVO_API_KEY;
|
|
||||||
// const { subject } = TEMPLATE_URLS[type];
|
|
||||||
// const rawHtml = await fetchTemplate(type);
|
|
||||||
// const html = renderTemplate(rawHtml, data);
|
|
||||||
// const text = stripHtml(html);
|
|
||||||
|
|
||||||
// const api = new TransactionalEmailsApi();
|
|
||||||
// api.setApiKey(0, apiKey);
|
|
||||||
|
|
||||||
// const email = new SendSmtpEmail();
|
|
||||||
// email.subject = subject;
|
|
||||||
// email.sender = { name: "Centro del Reino de Paz y Justicia", email: "welcome@mail.centrodelreinodepazyjusticia.com" };
|
|
||||||
// email.to = [{ email: to }];
|
|
||||||
// email.htmlContent = html;
|
|
||||||
// email.textContent = text;
|
|
||||||
|
|
||||||
// const response = await api.sendTransacEmail(email);
|
|
||||||
// console.log("Brevo email sent:", response.body?.messageId);
|
|
||||||
// }
|
|
||||||
|
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
import fs from "node:fs";
|
|
||||||
import path from "node:path";
|
|
||||||
|
|
||||||
const REGISTRY_PATH = path.resolve(process.cwd(), "data", "emails.txt");
|
|
||||||
|
|
||||||
export function emailExistsInRegistry(email: string): boolean {
|
|
||||||
try {
|
|
||||||
if (!fs.existsSync(REGISTRY_PATH)) return false;
|
|
||||||
const content = fs.readFileSync(REGISTRY_PATH, "utf-8");
|
|
||||||
return content.split("\n").some((line) => line.trim().toLowerCase() === email.trim().toLowerCase());
|
|
||||||
} catch {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function addEmailToRegistry(email: string): void {
|
|
||||||
const dir = path.dirname(REGISTRY_PATH);
|
|
||||||
if (!fs.existsSync(dir)) {
|
|
||||||
fs.mkdirSync(dir, { recursive: true });
|
|
||||||
}
|
|
||||||
fs.appendFileSync(REGISTRY_PATH, email.trim().toLowerCase() + "\n");
|
|
||||||
}
|
|
||||||
|
|
@ -37,17 +37,6 @@ export async function emailExists(email: string): Promise<boolean> {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export async function getVolunteerCount(): Promise<number> {
|
|
||||||
const result = await sheets.spreadsheets.values.get({
|
|
||||||
spreadsheetId: SPREADSHEET_ID,
|
|
||||||
range: 'VOLUNTARIOS!B2:B', // columna nombre_completo, se llena en cada registro
|
|
||||||
valueRenderOption: 'UNFORMATTED_VALUE',
|
|
||||||
});
|
|
||||||
|
|
||||||
const rows = result.data.values || [];
|
|
||||||
return rows.filter((row) => row[0] !== undefined && row[0] !== '').length;
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function appendToSheet(values: any[]) {
|
export async function appendToSheet(values: any[]) {
|
||||||
try {
|
try {
|
||||||
await sheets.spreadsheets.values.append({
|
await sheets.spreadsheets.values.append({
|
||||||
|
|
@ -73,7 +62,7 @@ export async function appendRegistrationToSheet(values: string[]) {
|
||||||
try {
|
try {
|
||||||
await sheets.spreadsheets.values.append({
|
await sheets.spreadsheets.values.append({
|
||||||
spreadsheetId: SPREADSHEET_ID,
|
spreadsheetId: SPREADSHEET_ID,
|
||||||
range: 'VOLUNTARIOS!A2:AV',
|
range: 'VOLUNTARIOS!A2:AU',
|
||||||
valueInputOption: 'RAW',
|
valueInputOption: 'RAW',
|
||||||
requestBody: {
|
requestBody: {
|
||||||
values: [values],
|
values: [values],
|
||||||
|
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
import type { APIRoute } from "astro";
|
|
||||||
import { getVolunteerCount } from "../lib/googleSheets";
|
|
||||||
|
|
||||||
export const prerender = false;
|
|
||||||
|
|
||||||
export const GET: APIRoute = async () => {
|
|
||||||
try {
|
|
||||||
const count = await getVolunteerCount();
|
|
||||||
|
|
||||||
return Response.json(
|
|
||||||
{ success: true, count },
|
|
||||||
{ headers: { "Cache-Control": "no-store" } }
|
|
||||||
);
|
|
||||||
} catch (error) {
|
|
||||||
console.error("Error en /api/voluntarios/count:", error);
|
|
||||||
return Response.json(
|
|
||||||
{ success: false, message: "Error al obtener el contador de voluntarios" },
|
|
||||||
{ status: 500 }
|
|
||||||
);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"DocumentConnection":{"type":"DocumentConnection","resolveType":"multiCollectionDocumentList","collections":["news","editorial"]},"Node":{"type":"Node","resolveType":"nodeDocument"},"DocumentNode":{"type":"DocumentNode","resolveType":"multiCollectionDocument","createDocument":"create","updateDocument":"update"},"News":{"type":"News","resolveType":"collectionDocument","collection":"news","createNews":"create","updateNews":"update"},"NewsConnection":{"type":"NewsConnection","resolveType":"collectionDocumentList","collection":"news"},"Editorial":{"type":"Editorial","resolveType":"collectionDocument","collection":"editorial","createEditorial":"create","updateEditorial":"update"},"EditorialConnection":{"type":"EditorialConnection","resolveType":"collectionDocumentList","collection":"editorial"}}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
{"version":{"fullVersion":"2.4.2","major":"2","minor":"4","patch":"2"},"meta":{"flags":["experimentalData"]},"collections":[{"name":"news","label":"News","path":"src/content/news","format":"md","match":{"include":"**/*"},"ui":{"filename":{"readonly":false}},"fields":[{"type":"string","name":"locale","label":"Language","options":[{"label":"Español","value":"es"},{"label":"English","value":"en"},{"label":"Português","value":"pt"},{"label":"Kinyarwanda","value":"rw"},{"label":"Frances","value":"fr"}],"namespace":["news","locale"],"searchable":true,"uid":false},{"type":"string","name":"title","label":"Title","isTitle":true,"required":true,"namespace":["news","title"],"searchable":true,"uid":false},{"type":"datetime","name":"date","label":"Date","required":true,"namespace":["news","date"],"searchable":true,"uid":false},{"type":"string","name":"slug","label":"Slug","namespace":["news","slug"],"searchable":true,"uid":false},{"type":"string","name":"place","label":"Place","namespace":["news","place"],"searchable":true,"uid":false},{"type":"string","name":"country","label":"Country","namespace":["news","country"],"searchable":true,"uid":false},{"type":"string","name":"city","label":"City","namespace":["news","city"],"searchable":true,"uid":false},{"type":"image","name":"thumbnail","label":"Thumbnail URL","namespace":["news","thumbnail"],"searchable":false,"uid":false},{"type":"image","name":"thumbnail_square","label":"Thumbnail Square URL","namespace":["news","thumbnail_square"],"searchable":false,"uid":false},{"type":"string","name":"tags","label":"Tags","list":true,"namespace":["news","tags"],"searchable":true,"uid":false},{"type":"object","name":"gallery","label":"Gallery","list":true,"fields":[{"type":"image","name":"image","label":"Image","namespace":["news","gallery","image"],"searchable":false,"uid":false}],"namespace":["news","gallery"],"searchable":true,"uid":false},{"type":"string","name":"youtube","label":"YouTube ID","namespace":["news","youtube"],"searchable":true,"uid":false},{"type":"boolean","name":"draft","label":"Draft","namespace":["news","draft"],"searchable":true,"uid":false},{"type":"rich-text","name":"body","label":"Content","isBody":true,"namespace":["news","body"],"searchable":true,"parser":{"type":"markdown"},"uid":false}],"namespace":["news"]},{"name":"editorial","label":"Editorial","path":"src/content/editorial","format":"md","match":{"include":"**/*"},"ui":{"filename":{"readonly":false}},"fields":[{"type":"string","name":"locale","label":"Language","options":[{"label":"Español","value":"es"},{"label":"English","value":"en"},{"label":"Português","value":"pt"},{"label":"Kinyarwanda","value":"rw"},{"label":"Frances","value":"fr"}],"namespace":["editorial","locale"],"searchable":true,"uid":false},{"type":"string","name":"title","label":"Title","isTitle":true,"required":true,"namespace":["editorial","title"],"searchable":true,"uid":false},{"type":"datetime","name":"date","label":"Date","required":true,"namespace":["editorial","date"],"searchable":true,"uid":false},{"type":"string","name":"slug","label":"Slug","namespace":["editorial","slug"],"searchable":true,"uid":false},{"type":"string","name":"place","label":"Place","namespace":["editorial","place"],"searchable":true,"uid":false},{"type":"string","name":"country","label":"Country","namespace":["editorial","country"],"searchable":true,"uid":false},{"type":"string","name":"city","label":"City","namespace":["editorial","city"],"searchable":true,"uid":false},{"type":"image","name":"thumbnail","label":"Thumbnail URL","namespace":["editorial","thumbnail"],"searchable":false,"uid":false},{"type":"image","name":"thumbnail_square","label":"Thumbnail Square URL","namespace":["editorial","thumbnail_square"],"searchable":false,"uid":false},{"type":"string","name":"tags","label":"Tags","list":true,"namespace":["editorial","tags"],"searchable":true,"uid":false},{"type":"object","name":"gallery","label":"Gallery","list":true,"fields":[{"type":"image","name":"image","label":"Image","namespace":["editorial","gallery","image"],"searchable":false,"uid":false}],"namespace":["editorial","gallery"],"searchable":true,"uid":false},{"type":"string","name":"youtube","label":"YouTube ID","namespace":["editorial","youtube"],"searchable":true,"uid":false},{"type":"boolean","name":"draft","label":"Draft","namespace":["editorial","draft"],"searchable":true,"uid":false},{"type":"rich-text","name":"body","label":"Content","isBody":true,"namespace":["editorial","body"],"searchable":true,"parser":{"type":"markdown"},"uid":false}],"namespace":["editorial"]}],"config":{"media":{"tina":{"publicFolder":"public","mediaRoot":"public/images"}}}}
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
import { createClient } from "tinacms/dist/client";
|
||||||
|
import { queries } from "./types.js";
|
||||||
|
export const client = createClient({ url: 'http://localhost:4001/graphql', token: 'null', queries, });
|
||||||
|
export default client;
|
||||||
|
|
||||||
|
|
@ -0,0 +1,243 @@
|
||||||
|
// tina/config.ts
|
||||||
|
import { defineConfig } from "tinacms";
|
||||||
|
var branch = process.env.HEAD || process.env.VERCEL_GIT_COMMIT_REF || "main";
|
||||||
|
var config_default = defineConfig({
|
||||||
|
branch,
|
||||||
|
clientId: null,
|
||||||
|
token: null,
|
||||||
|
build: {
|
||||||
|
outputFolder: "admin",
|
||||||
|
publicFolder: "public"
|
||||||
|
},
|
||||||
|
media: {
|
||||||
|
tina: {
|
||||||
|
mediaRoot: "public/images",
|
||||||
|
publicFolder: "public"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
schema: {
|
||||||
|
collections: [
|
||||||
|
{
|
||||||
|
name: "news",
|
||||||
|
label: "News",
|
||||||
|
path: "src/content/news",
|
||||||
|
format: "md",
|
||||||
|
match: {
|
||||||
|
include: "**/*"
|
||||||
|
},
|
||||||
|
ui: {
|
||||||
|
filename: {
|
||||||
|
readonly: false,
|
||||||
|
slugify: (values) => {
|
||||||
|
return values?.slug?.toLowerCase() || values?.title?.toLowerCase().replace(/ /g, "-");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fields: [
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "locale",
|
||||||
|
label: "Language",
|
||||||
|
options: [
|
||||||
|
{ label: "Espa\xF1ol", value: "es" },
|
||||||
|
{ label: "English", value: "en" },
|
||||||
|
{ label: "Portugu\xEAs", value: "pt" },
|
||||||
|
{ label: "Kinyarwanda", value: "rw" },
|
||||||
|
{ label: "Frances", value: "fr" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "title",
|
||||||
|
label: "Title",
|
||||||
|
isTitle: true,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "datetime",
|
||||||
|
name: "date",
|
||||||
|
label: "Date",
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "slug",
|
||||||
|
label: "Slug"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "place",
|
||||||
|
label: "Place"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "country",
|
||||||
|
label: "Country"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "city",
|
||||||
|
label: "City"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "image",
|
||||||
|
name: "thumbnail",
|
||||||
|
label: "Thumbnail URL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "image",
|
||||||
|
name: "thumbnail_square",
|
||||||
|
label: "Thumbnail Square URL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "tags",
|
||||||
|
label: "Tags",
|
||||||
|
list: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "object",
|
||||||
|
name: "gallery",
|
||||||
|
label: "Gallery",
|
||||||
|
list: true,
|
||||||
|
fields: [
|
||||||
|
{
|
||||||
|
type: "image",
|
||||||
|
name: "image",
|
||||||
|
label: "Image"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "youtube",
|
||||||
|
label: "YouTube ID"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "boolean",
|
||||||
|
name: "draft",
|
||||||
|
label: "Draft"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "rich-text",
|
||||||
|
name: "body",
|
||||||
|
label: "Content",
|
||||||
|
isBody: true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "editorial",
|
||||||
|
label: "Editorial",
|
||||||
|
path: "src/content/editorial",
|
||||||
|
format: "md",
|
||||||
|
match: {
|
||||||
|
include: "**/*"
|
||||||
|
},
|
||||||
|
ui: {
|
||||||
|
filename: {
|
||||||
|
readonly: false,
|
||||||
|
slugify: (values) => {
|
||||||
|
return values?.slug?.toLowerCase() || values?.title?.toLowerCase().replace(/ /g, "-");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fields: [
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "locale",
|
||||||
|
label: "Language",
|
||||||
|
options: [
|
||||||
|
{ label: "Espa\xF1ol", value: "es" },
|
||||||
|
{ label: "English", value: "en" },
|
||||||
|
{ label: "Portugu\xEAs", value: "pt" },
|
||||||
|
{ label: "Kinyarwanda", value: "rw" },
|
||||||
|
{ label: "Frances", value: "fr" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "title",
|
||||||
|
label: "Title",
|
||||||
|
isTitle: true,
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "datetime",
|
||||||
|
name: "date",
|
||||||
|
label: "Date",
|
||||||
|
required: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "slug",
|
||||||
|
label: "Slug"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "place",
|
||||||
|
label: "Place"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "country",
|
||||||
|
label: "Country"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "city",
|
||||||
|
label: "City"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "image",
|
||||||
|
name: "thumbnail",
|
||||||
|
label: "Thumbnail URL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "image",
|
||||||
|
name: "thumbnail_square",
|
||||||
|
label: "Thumbnail Square URL"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "tags",
|
||||||
|
label: "Tags",
|
||||||
|
list: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "object",
|
||||||
|
name: "gallery",
|
||||||
|
label: "Gallery",
|
||||||
|
list: true,
|
||||||
|
fields: [
|
||||||
|
{
|
||||||
|
type: "image",
|
||||||
|
name: "image",
|
||||||
|
label: "Image"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "youtube",
|
||||||
|
label: "YouTube ID"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "boolean",
|
||||||
|
name: "draft",
|
||||||
|
label: "Draft"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "rich-text",
|
||||||
|
name: "body",
|
||||||
|
label: "Content",
|
||||||
|
isBody: true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
});
|
||||||
|
export {
|
||||||
|
config_default as default
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,41 @@
|
||||||
|
fragment NewsParts on News {
|
||||||
|
__typename
|
||||||
|
locale
|
||||||
|
title
|
||||||
|
date
|
||||||
|
slug
|
||||||
|
place
|
||||||
|
country
|
||||||
|
city
|
||||||
|
thumbnail
|
||||||
|
thumbnail_square
|
||||||
|
tags
|
||||||
|
gallery {
|
||||||
|
__typename
|
||||||
|
image
|
||||||
|
}
|
||||||
|
youtube
|
||||||
|
draft
|
||||||
|
body
|
||||||
|
}
|
||||||
|
|
||||||
|
fragment EditorialParts on Editorial {
|
||||||
|
__typename
|
||||||
|
locale
|
||||||
|
title
|
||||||
|
date
|
||||||
|
slug
|
||||||
|
place
|
||||||
|
country
|
||||||
|
city
|
||||||
|
thumbnail
|
||||||
|
thumbnail_square
|
||||||
|
tags
|
||||||
|
gallery {
|
||||||
|
__typename
|
||||||
|
image
|
||||||
|
}
|
||||||
|
youtube
|
||||||
|
draft
|
||||||
|
body
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,109 @@
|
||||||
|
query news($relativePath: String!) {
|
||||||
|
news(relativePath: $relativePath) {
|
||||||
|
... on Document {
|
||||||
|
_sys {
|
||||||
|
filename
|
||||||
|
basename
|
||||||
|
hasReferences
|
||||||
|
breadcrumbs
|
||||||
|
path
|
||||||
|
relativePath
|
||||||
|
extension
|
||||||
|
}
|
||||||
|
id
|
||||||
|
}
|
||||||
|
...NewsParts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query newsConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: NewsFilter) {
|
||||||
|
newsConnection(
|
||||||
|
before: $before
|
||||||
|
after: $after
|
||||||
|
first: $first
|
||||||
|
last: $last
|
||||||
|
sort: $sort
|
||||||
|
filter: $filter
|
||||||
|
) {
|
||||||
|
pageInfo {
|
||||||
|
hasPreviousPage
|
||||||
|
hasNextPage
|
||||||
|
startCursor
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
totalCount
|
||||||
|
edges {
|
||||||
|
cursor
|
||||||
|
node {
|
||||||
|
... on Document {
|
||||||
|
_sys {
|
||||||
|
filename
|
||||||
|
basename
|
||||||
|
hasReferences
|
||||||
|
breadcrumbs
|
||||||
|
path
|
||||||
|
relativePath
|
||||||
|
extension
|
||||||
|
}
|
||||||
|
id
|
||||||
|
}
|
||||||
|
...NewsParts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query editorial($relativePath: String!) {
|
||||||
|
editorial(relativePath: $relativePath) {
|
||||||
|
... on Document {
|
||||||
|
_sys {
|
||||||
|
filename
|
||||||
|
basename
|
||||||
|
hasReferences
|
||||||
|
breadcrumbs
|
||||||
|
path
|
||||||
|
relativePath
|
||||||
|
extension
|
||||||
|
}
|
||||||
|
id
|
||||||
|
}
|
||||||
|
...EditorialParts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
query editorialConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: EditorialFilter) {
|
||||||
|
editorialConnection(
|
||||||
|
before: $before
|
||||||
|
after: $after
|
||||||
|
first: $first
|
||||||
|
last: $last
|
||||||
|
sort: $sort
|
||||||
|
filter: $filter
|
||||||
|
) {
|
||||||
|
pageInfo {
|
||||||
|
hasPreviousPage
|
||||||
|
hasNextPage
|
||||||
|
startCursor
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
totalCount
|
||||||
|
edges {
|
||||||
|
cursor
|
||||||
|
node {
|
||||||
|
... on Document {
|
||||||
|
_sys {
|
||||||
|
filename
|
||||||
|
basename
|
||||||
|
hasReferences
|
||||||
|
breadcrumbs
|
||||||
|
path
|
||||||
|
relativePath
|
||||||
|
extension
|
||||||
|
}
|
||||||
|
id
|
||||||
|
}
|
||||||
|
...EditorialParts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,306 @@
|
||||||
|
# DO NOT MODIFY THIS FILE. This file is automatically generated by Tina
|
||||||
|
"""References another document, used as a foreign key"""
|
||||||
|
scalar Reference
|
||||||
|
|
||||||
|
""""""
|
||||||
|
scalar JSON
|
||||||
|
|
||||||
|
type SystemInfo {
|
||||||
|
filename: String!
|
||||||
|
title: String
|
||||||
|
basename: String!
|
||||||
|
hasReferences: Boolean
|
||||||
|
breadcrumbs(excludeExtension: Boolean): [String!]!
|
||||||
|
path: String!
|
||||||
|
relativePath: String!
|
||||||
|
extension: String!
|
||||||
|
template: String!
|
||||||
|
collection: Collection!
|
||||||
|
}
|
||||||
|
|
||||||
|
type Folder {
|
||||||
|
name: String!
|
||||||
|
path: String!
|
||||||
|
}
|
||||||
|
|
||||||
|
type PageInfo {
|
||||||
|
hasPreviousPage: Boolean!
|
||||||
|
hasNextPage: Boolean!
|
||||||
|
startCursor: String!
|
||||||
|
endCursor: String!
|
||||||
|
}
|
||||||
|
|
||||||
|
""""""
|
||||||
|
interface Node {
|
||||||
|
id: ID!
|
||||||
|
}
|
||||||
|
|
||||||
|
""""""
|
||||||
|
interface Document {
|
||||||
|
id: ID!
|
||||||
|
_sys: SystemInfo
|
||||||
|
_values: JSON!
|
||||||
|
}
|
||||||
|
|
||||||
|
"""A relay-compliant pagination connection"""
|
||||||
|
interface Connection {
|
||||||
|
totalCount: Float!
|
||||||
|
pageInfo: PageInfo!
|
||||||
|
}
|
||||||
|
|
||||||
|
type Query {
|
||||||
|
getOptimizedQuery(queryString: String!): String
|
||||||
|
collection(collection: String): Collection!
|
||||||
|
collections: [Collection!]!
|
||||||
|
node(id: String): Node!
|
||||||
|
document(collection: String, relativePath: String): DocumentNode!
|
||||||
|
news(relativePath: String): News!
|
||||||
|
newsConnection(before: String, after: String, first: Float, last: Float, sort: String, filter: NewsFilter): NewsConnection!
|
||||||
|
editorial(relativePath: String): Editorial!
|
||||||
|
editorialConnection(before: String, after: String, first: Float, last: Float, sort: String, filter: EditorialFilter): EditorialConnection!
|
||||||
|
}
|
||||||
|
|
||||||
|
input DocumentFilter {
|
||||||
|
news: NewsFilter
|
||||||
|
editorial: EditorialFilter
|
||||||
|
}
|
||||||
|
|
||||||
|
type DocumentConnectionEdges {
|
||||||
|
cursor: String!
|
||||||
|
node: DocumentNode
|
||||||
|
}
|
||||||
|
|
||||||
|
type DocumentConnection implements Connection {
|
||||||
|
pageInfo: PageInfo!
|
||||||
|
totalCount: Float!
|
||||||
|
edges: [DocumentConnectionEdges]
|
||||||
|
}
|
||||||
|
|
||||||
|
type Collection {
|
||||||
|
name: String!
|
||||||
|
slug: String!
|
||||||
|
label: String
|
||||||
|
path: String!
|
||||||
|
format: String
|
||||||
|
matches: String
|
||||||
|
templates: [JSON]
|
||||||
|
fields: [JSON]
|
||||||
|
documents(before: String, after: String, first: Float, last: Float, sort: String, filter: DocumentFilter, folder: String): DocumentConnection!
|
||||||
|
}
|
||||||
|
|
||||||
|
union DocumentNode = News | Editorial | Folder
|
||||||
|
|
||||||
|
type NewsGallery {
|
||||||
|
image: String
|
||||||
|
}
|
||||||
|
|
||||||
|
type News implements Node & Document {
|
||||||
|
locale: String
|
||||||
|
title: String!
|
||||||
|
date: String!
|
||||||
|
slug: String
|
||||||
|
place: String
|
||||||
|
country: String
|
||||||
|
city: String
|
||||||
|
thumbnail: String
|
||||||
|
thumbnail_square: String
|
||||||
|
tags: [String]
|
||||||
|
gallery: [NewsGallery]
|
||||||
|
youtube: String
|
||||||
|
draft: Boolean
|
||||||
|
body: JSON
|
||||||
|
id: ID!
|
||||||
|
_sys: SystemInfo!
|
||||||
|
_values: JSON!
|
||||||
|
}
|
||||||
|
|
||||||
|
input StringFilter {
|
||||||
|
startsWith: String
|
||||||
|
eq: String
|
||||||
|
exists: Boolean
|
||||||
|
in: [String]
|
||||||
|
}
|
||||||
|
|
||||||
|
input DatetimeFilter {
|
||||||
|
after: String
|
||||||
|
before: String
|
||||||
|
eq: String
|
||||||
|
exists: Boolean
|
||||||
|
in: [String]
|
||||||
|
}
|
||||||
|
|
||||||
|
input ImageFilter {
|
||||||
|
startsWith: String
|
||||||
|
eq: String
|
||||||
|
exists: Boolean
|
||||||
|
in: [String]
|
||||||
|
}
|
||||||
|
|
||||||
|
input NewsGalleryFilter {
|
||||||
|
image: ImageFilter
|
||||||
|
}
|
||||||
|
|
||||||
|
input BooleanFilter {
|
||||||
|
eq: Boolean
|
||||||
|
exists: Boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
input RichTextFilter {
|
||||||
|
startsWith: String
|
||||||
|
eq: String
|
||||||
|
exists: Boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
input NewsFilter {
|
||||||
|
locale: StringFilter
|
||||||
|
title: StringFilter
|
||||||
|
date: DatetimeFilter
|
||||||
|
slug: StringFilter
|
||||||
|
place: StringFilter
|
||||||
|
country: StringFilter
|
||||||
|
city: StringFilter
|
||||||
|
thumbnail: ImageFilter
|
||||||
|
thumbnail_square: ImageFilter
|
||||||
|
tags: StringFilter
|
||||||
|
gallery: NewsGalleryFilter
|
||||||
|
youtube: StringFilter
|
||||||
|
draft: BooleanFilter
|
||||||
|
body: RichTextFilter
|
||||||
|
}
|
||||||
|
|
||||||
|
type NewsConnectionEdges {
|
||||||
|
cursor: String!
|
||||||
|
node: News
|
||||||
|
}
|
||||||
|
|
||||||
|
type NewsConnection implements Connection {
|
||||||
|
pageInfo: PageInfo!
|
||||||
|
totalCount: Float!
|
||||||
|
edges: [NewsConnectionEdges]
|
||||||
|
}
|
||||||
|
|
||||||
|
type EditorialGallery {
|
||||||
|
image: String
|
||||||
|
}
|
||||||
|
|
||||||
|
type Editorial implements Node & Document {
|
||||||
|
locale: String
|
||||||
|
title: String!
|
||||||
|
date: String!
|
||||||
|
slug: String
|
||||||
|
place: String
|
||||||
|
country: String
|
||||||
|
city: String
|
||||||
|
thumbnail: String
|
||||||
|
thumbnail_square: String
|
||||||
|
tags: [String]
|
||||||
|
gallery: [EditorialGallery]
|
||||||
|
youtube: String
|
||||||
|
draft: Boolean
|
||||||
|
body: JSON
|
||||||
|
id: ID!
|
||||||
|
_sys: SystemInfo!
|
||||||
|
_values: JSON!
|
||||||
|
}
|
||||||
|
|
||||||
|
input EditorialGalleryFilter {
|
||||||
|
image: ImageFilter
|
||||||
|
}
|
||||||
|
|
||||||
|
input EditorialFilter {
|
||||||
|
locale: StringFilter
|
||||||
|
title: StringFilter
|
||||||
|
date: DatetimeFilter
|
||||||
|
slug: StringFilter
|
||||||
|
place: StringFilter
|
||||||
|
country: StringFilter
|
||||||
|
city: StringFilter
|
||||||
|
thumbnail: ImageFilter
|
||||||
|
thumbnail_square: ImageFilter
|
||||||
|
tags: StringFilter
|
||||||
|
gallery: EditorialGalleryFilter
|
||||||
|
youtube: StringFilter
|
||||||
|
draft: BooleanFilter
|
||||||
|
body: RichTextFilter
|
||||||
|
}
|
||||||
|
|
||||||
|
type EditorialConnectionEdges {
|
||||||
|
cursor: String!
|
||||||
|
node: Editorial
|
||||||
|
}
|
||||||
|
|
||||||
|
type EditorialConnection implements Connection {
|
||||||
|
pageInfo: PageInfo!
|
||||||
|
totalCount: Float!
|
||||||
|
edges: [EditorialConnectionEdges]
|
||||||
|
}
|
||||||
|
|
||||||
|
type Mutation {
|
||||||
|
addPendingDocument(collection: String!, relativePath: String!, template: String): DocumentNode!
|
||||||
|
updateDocument(collection: String, relativePath: String!, params: DocumentUpdateMutation!): DocumentNode!
|
||||||
|
deleteDocument(collection: String, relativePath: String!): DocumentNode!
|
||||||
|
createDocument(collection: String, relativePath: String!, params: DocumentMutation!): DocumentNode!
|
||||||
|
createFolder(collection: String, relativePath: String!): DocumentNode!
|
||||||
|
updateNews(relativePath: String!, params: NewsMutation!): News!
|
||||||
|
createNews(relativePath: String!, params: NewsMutation!): News!
|
||||||
|
updateEditorial(relativePath: String!, params: EditorialMutation!): Editorial!
|
||||||
|
createEditorial(relativePath: String!, params: EditorialMutation!): Editorial!
|
||||||
|
}
|
||||||
|
|
||||||
|
input DocumentUpdateMutation {
|
||||||
|
news: NewsMutation
|
||||||
|
editorial: EditorialMutation
|
||||||
|
relativePath: String
|
||||||
|
}
|
||||||
|
|
||||||
|
input DocumentMutation {
|
||||||
|
news: NewsMutation
|
||||||
|
editorial: EditorialMutation
|
||||||
|
}
|
||||||
|
|
||||||
|
input NewsGalleryMutation {
|
||||||
|
image: String
|
||||||
|
}
|
||||||
|
|
||||||
|
input NewsMutation {
|
||||||
|
locale: String
|
||||||
|
title: String
|
||||||
|
date: String
|
||||||
|
slug: String
|
||||||
|
place: String
|
||||||
|
country: String
|
||||||
|
city: String
|
||||||
|
thumbnail: String
|
||||||
|
thumbnail_square: String
|
||||||
|
tags: [String]
|
||||||
|
gallery: [NewsGalleryMutation]
|
||||||
|
youtube: String
|
||||||
|
draft: Boolean
|
||||||
|
body: JSON
|
||||||
|
}
|
||||||
|
|
||||||
|
input EditorialGalleryMutation {
|
||||||
|
image: String
|
||||||
|
}
|
||||||
|
|
||||||
|
input EditorialMutation {
|
||||||
|
locale: String
|
||||||
|
title: String
|
||||||
|
date: String
|
||||||
|
slug: String
|
||||||
|
place: String
|
||||||
|
country: String
|
||||||
|
city: String
|
||||||
|
thumbnail: String
|
||||||
|
thumbnail_square: String
|
||||||
|
tags: [String]
|
||||||
|
gallery: [EditorialGalleryMutation]
|
||||||
|
youtube: String
|
||||||
|
draft: Boolean
|
||||||
|
body: JSON
|
||||||
|
}
|
||||||
|
|
||||||
|
schema {
|
||||||
|
query: Query
|
||||||
|
mutation: Mutation
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
[]
|
||||||
|
|
@ -0,0 +1,210 @@
|
||||||
|
export function gql(strings, ...args) {
|
||||||
|
let str = "";
|
||||||
|
strings.forEach((string, i) => {
|
||||||
|
str += string + (args[i] || "");
|
||||||
|
});
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
export const NewsPartsFragmentDoc = gql`
|
||||||
|
fragment NewsParts on News {
|
||||||
|
__typename
|
||||||
|
locale
|
||||||
|
title
|
||||||
|
date
|
||||||
|
slug
|
||||||
|
place
|
||||||
|
country
|
||||||
|
city
|
||||||
|
thumbnail
|
||||||
|
thumbnail_square
|
||||||
|
tags
|
||||||
|
gallery {
|
||||||
|
__typename
|
||||||
|
image
|
||||||
|
}
|
||||||
|
youtube
|
||||||
|
draft
|
||||||
|
body
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
export const EditorialPartsFragmentDoc = gql`
|
||||||
|
fragment EditorialParts on Editorial {
|
||||||
|
__typename
|
||||||
|
locale
|
||||||
|
title
|
||||||
|
date
|
||||||
|
slug
|
||||||
|
place
|
||||||
|
country
|
||||||
|
city
|
||||||
|
thumbnail
|
||||||
|
thumbnail_square
|
||||||
|
tags
|
||||||
|
gallery {
|
||||||
|
__typename
|
||||||
|
image
|
||||||
|
}
|
||||||
|
youtube
|
||||||
|
draft
|
||||||
|
body
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
export const NewsDocument = gql`
|
||||||
|
query news($relativePath: String!) {
|
||||||
|
news(relativePath: $relativePath) {
|
||||||
|
... on Document {
|
||||||
|
_sys {
|
||||||
|
filename
|
||||||
|
basename
|
||||||
|
hasReferences
|
||||||
|
breadcrumbs
|
||||||
|
path
|
||||||
|
relativePath
|
||||||
|
extension
|
||||||
|
}
|
||||||
|
id
|
||||||
|
}
|
||||||
|
...NewsParts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${NewsPartsFragmentDoc}`;
|
||||||
|
export const NewsConnectionDocument = gql`
|
||||||
|
query newsConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: NewsFilter) {
|
||||||
|
newsConnection(
|
||||||
|
before: $before
|
||||||
|
after: $after
|
||||||
|
first: $first
|
||||||
|
last: $last
|
||||||
|
sort: $sort
|
||||||
|
filter: $filter
|
||||||
|
) {
|
||||||
|
pageInfo {
|
||||||
|
hasPreviousPage
|
||||||
|
hasNextPage
|
||||||
|
startCursor
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
totalCount
|
||||||
|
edges {
|
||||||
|
cursor
|
||||||
|
node {
|
||||||
|
... on Document {
|
||||||
|
_sys {
|
||||||
|
filename
|
||||||
|
basename
|
||||||
|
hasReferences
|
||||||
|
breadcrumbs
|
||||||
|
path
|
||||||
|
relativePath
|
||||||
|
extension
|
||||||
|
}
|
||||||
|
id
|
||||||
|
}
|
||||||
|
...NewsParts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${NewsPartsFragmentDoc}`;
|
||||||
|
export const EditorialDocument = gql`
|
||||||
|
query editorial($relativePath: String!) {
|
||||||
|
editorial(relativePath: $relativePath) {
|
||||||
|
... on Document {
|
||||||
|
_sys {
|
||||||
|
filename
|
||||||
|
basename
|
||||||
|
hasReferences
|
||||||
|
breadcrumbs
|
||||||
|
path
|
||||||
|
relativePath
|
||||||
|
extension
|
||||||
|
}
|
||||||
|
id
|
||||||
|
}
|
||||||
|
...EditorialParts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${EditorialPartsFragmentDoc}`;
|
||||||
|
export const EditorialConnectionDocument = gql`
|
||||||
|
query editorialConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: EditorialFilter) {
|
||||||
|
editorialConnection(
|
||||||
|
before: $before
|
||||||
|
after: $after
|
||||||
|
first: $first
|
||||||
|
last: $last
|
||||||
|
sort: $sort
|
||||||
|
filter: $filter
|
||||||
|
) {
|
||||||
|
pageInfo {
|
||||||
|
hasPreviousPage
|
||||||
|
hasNextPage
|
||||||
|
startCursor
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
totalCount
|
||||||
|
edges {
|
||||||
|
cursor
|
||||||
|
node {
|
||||||
|
... on Document {
|
||||||
|
_sys {
|
||||||
|
filename
|
||||||
|
basename
|
||||||
|
hasReferences
|
||||||
|
breadcrumbs
|
||||||
|
path
|
||||||
|
relativePath
|
||||||
|
extension
|
||||||
|
}
|
||||||
|
id
|
||||||
|
}
|
||||||
|
...EditorialParts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${EditorialPartsFragmentDoc}`;
|
||||||
|
export function getSdk(requester) {
|
||||||
|
return {
|
||||||
|
news(variables, options) {
|
||||||
|
return requester(NewsDocument, variables, options);
|
||||||
|
},
|
||||||
|
newsConnection(variables, options) {
|
||||||
|
return requester(NewsConnectionDocument, variables, options);
|
||||||
|
},
|
||||||
|
editorial(variables, options) {
|
||||||
|
return requester(EditorialDocument, variables, options);
|
||||||
|
},
|
||||||
|
editorialConnection(variables, options) {
|
||||||
|
return requester(EditorialConnectionDocument, variables, options);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
import { createClient } from "tinacms/dist/client";
|
||||||
|
const generateRequester = (client) => {
|
||||||
|
const requester = async (doc, vars, options) => {
|
||||||
|
let url = client.apiUrl;
|
||||||
|
if (options?.branch) {
|
||||||
|
const index = client.apiUrl.lastIndexOf("/");
|
||||||
|
url = client.apiUrl.substring(0, index + 1) + options.branch;
|
||||||
|
}
|
||||||
|
const data = await client.request({
|
||||||
|
query: doc,
|
||||||
|
variables: vars,
|
||||||
|
url
|
||||||
|
}, options);
|
||||||
|
return { data: data?.data, errors: data?.errors, query: doc, variables: vars || {} };
|
||||||
|
};
|
||||||
|
return requester;
|
||||||
|
};
|
||||||
|
export const ExperimentalGetTinaClient = () => getSdk(
|
||||||
|
generateRequester(
|
||||||
|
createClient({
|
||||||
|
url: "http://localhost:4001/graphql",
|
||||||
|
queries
|
||||||
|
})
|
||||||
|
)
|
||||||
|
);
|
||||||
|
export const queries = (client) => {
|
||||||
|
const requester = generateRequester(client);
|
||||||
|
return getSdk(requester);
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,737 @@
|
||||||
|
//@ts-nocheck
|
||||||
|
// DO NOT MODIFY THIS FILE. This file is automatically generated by Tina
|
||||||
|
export function gql(strings: TemplateStringsArray, ...args: string[]): string {
|
||||||
|
let str = ''
|
||||||
|
strings.forEach((string, i) => {
|
||||||
|
str += string + (args[i] || '')
|
||||||
|
})
|
||||||
|
return str
|
||||||
|
}
|
||||||
|
export type Maybe<T> = T | null;
|
||||||
|
export type InputMaybe<T> = Maybe<T>;
|
||||||
|
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
|
||||||
|
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
|
||||||
|
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
|
||||||
|
export type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };
|
||||||
|
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
|
||||||
|
/** All built-in and custom scalars, mapped to their actual values */
|
||||||
|
export type Scalars = {
|
||||||
|
ID: { input: string; output: string; }
|
||||||
|
String: { input: string; output: string; }
|
||||||
|
Boolean: { input: boolean; output: boolean; }
|
||||||
|
Int: { input: number; output: number; }
|
||||||
|
Float: { input: number; output: number; }
|
||||||
|
/** References another document, used as a foreign key */
|
||||||
|
Reference: { input: any; output: any; }
|
||||||
|
JSON: { input: any; output: any; }
|
||||||
|
};
|
||||||
|
|
||||||
|
export type SystemInfo = {
|
||||||
|
__typename?: 'SystemInfo';
|
||||||
|
filename: Scalars['String']['output'];
|
||||||
|
title?: Maybe<Scalars['String']['output']>;
|
||||||
|
basename: Scalars['String']['output'];
|
||||||
|
hasReferences?: Maybe<Scalars['Boolean']['output']>;
|
||||||
|
breadcrumbs: Array<Scalars['String']['output']>;
|
||||||
|
path: Scalars['String']['output'];
|
||||||
|
relativePath: Scalars['String']['output'];
|
||||||
|
extension: Scalars['String']['output'];
|
||||||
|
template: Scalars['String']['output'];
|
||||||
|
collection: Collection;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type SystemInfoBreadcrumbsArgs = {
|
||||||
|
excludeExtension?: InputMaybe<Scalars['Boolean']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Folder = {
|
||||||
|
__typename?: 'Folder';
|
||||||
|
name: Scalars['String']['output'];
|
||||||
|
path: Scalars['String']['output'];
|
||||||
|
};
|
||||||
|
|
||||||
|
export type PageInfo = {
|
||||||
|
__typename?: 'PageInfo';
|
||||||
|
hasPreviousPage: Scalars['Boolean']['output'];
|
||||||
|
hasNextPage: Scalars['Boolean']['output'];
|
||||||
|
startCursor: Scalars['String']['output'];
|
||||||
|
endCursor: Scalars['String']['output'];
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Node = {
|
||||||
|
id: Scalars['ID']['output'];
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Document = {
|
||||||
|
id: Scalars['ID']['output'];
|
||||||
|
_sys?: Maybe<SystemInfo>;
|
||||||
|
_values: Scalars['JSON']['output'];
|
||||||
|
};
|
||||||
|
|
||||||
|
/** A relay-compliant pagination connection */
|
||||||
|
export type Connection = {
|
||||||
|
totalCount: Scalars['Float']['output'];
|
||||||
|
pageInfo: PageInfo;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Query = {
|
||||||
|
__typename?: 'Query';
|
||||||
|
getOptimizedQuery?: Maybe<Scalars['String']['output']>;
|
||||||
|
collection: Collection;
|
||||||
|
collections: Array<Collection>;
|
||||||
|
node: Node;
|
||||||
|
document: DocumentNode;
|
||||||
|
news: News;
|
||||||
|
newsConnection: NewsConnection;
|
||||||
|
editorial: Editorial;
|
||||||
|
editorialConnection: EditorialConnection;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryGetOptimizedQueryArgs = {
|
||||||
|
queryString: Scalars['String']['input'];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryCollectionArgs = {
|
||||||
|
collection?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryNodeArgs = {
|
||||||
|
id?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryDocumentArgs = {
|
||||||
|
collection?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
relativePath?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryNewsArgs = {
|
||||||
|
relativePath?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryNewsConnectionArgs = {
|
||||||
|
before?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
after?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
first?: InputMaybe<Scalars['Float']['input']>;
|
||||||
|
last?: InputMaybe<Scalars['Float']['input']>;
|
||||||
|
sort?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
filter?: InputMaybe<NewsFilter>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryEditorialArgs = {
|
||||||
|
relativePath?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type QueryEditorialConnectionArgs = {
|
||||||
|
before?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
after?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
first?: InputMaybe<Scalars['Float']['input']>;
|
||||||
|
last?: InputMaybe<Scalars['Float']['input']>;
|
||||||
|
sort?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
filter?: InputMaybe<EditorialFilter>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type DocumentFilter = {
|
||||||
|
news?: InputMaybe<NewsFilter>;
|
||||||
|
editorial?: InputMaybe<EditorialFilter>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type DocumentConnectionEdges = {
|
||||||
|
__typename?: 'DocumentConnectionEdges';
|
||||||
|
cursor: Scalars['String']['output'];
|
||||||
|
node?: Maybe<DocumentNode>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type DocumentConnection = Connection & {
|
||||||
|
__typename?: 'DocumentConnection';
|
||||||
|
pageInfo: PageInfo;
|
||||||
|
totalCount: Scalars['Float']['output'];
|
||||||
|
edges?: Maybe<Array<Maybe<DocumentConnectionEdges>>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Collection = {
|
||||||
|
__typename?: 'Collection';
|
||||||
|
name: Scalars['String']['output'];
|
||||||
|
slug: Scalars['String']['output'];
|
||||||
|
label?: Maybe<Scalars['String']['output']>;
|
||||||
|
path: Scalars['String']['output'];
|
||||||
|
format?: Maybe<Scalars['String']['output']>;
|
||||||
|
matches?: Maybe<Scalars['String']['output']>;
|
||||||
|
templates?: Maybe<Array<Maybe<Scalars['JSON']['output']>>>;
|
||||||
|
fields?: Maybe<Array<Maybe<Scalars['JSON']['output']>>>;
|
||||||
|
documents: DocumentConnection;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type CollectionDocumentsArgs = {
|
||||||
|
before?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
after?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
first?: InputMaybe<Scalars['Float']['input']>;
|
||||||
|
last?: InputMaybe<Scalars['Float']['input']>;
|
||||||
|
sort?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
filter?: InputMaybe<DocumentFilter>;
|
||||||
|
folder?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type DocumentNode = News | Editorial | Folder;
|
||||||
|
|
||||||
|
export type NewsGallery = {
|
||||||
|
__typename?: 'NewsGallery';
|
||||||
|
image?: Maybe<Scalars['String']['output']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type News = Node & Document & {
|
||||||
|
__typename?: 'News';
|
||||||
|
locale?: Maybe<Scalars['String']['output']>;
|
||||||
|
title: Scalars['String']['output'];
|
||||||
|
date: Scalars['String']['output'];
|
||||||
|
slug?: Maybe<Scalars['String']['output']>;
|
||||||
|
place?: Maybe<Scalars['String']['output']>;
|
||||||
|
country?: Maybe<Scalars['String']['output']>;
|
||||||
|
city?: Maybe<Scalars['String']['output']>;
|
||||||
|
thumbnail?: Maybe<Scalars['String']['output']>;
|
||||||
|
thumbnail_square?: Maybe<Scalars['String']['output']>;
|
||||||
|
tags?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
|
||||||
|
gallery?: Maybe<Array<Maybe<NewsGallery>>>;
|
||||||
|
youtube?: Maybe<Scalars['String']['output']>;
|
||||||
|
draft?: Maybe<Scalars['Boolean']['output']>;
|
||||||
|
body?: Maybe<Scalars['JSON']['output']>;
|
||||||
|
id: Scalars['ID']['output'];
|
||||||
|
_sys: SystemInfo;
|
||||||
|
_values: Scalars['JSON']['output'];
|
||||||
|
};
|
||||||
|
|
||||||
|
export type StringFilter = {
|
||||||
|
startsWith?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
eq?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
exists?: InputMaybe<Scalars['Boolean']['input']>;
|
||||||
|
in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type DatetimeFilter = {
|
||||||
|
after?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
before?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
eq?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
exists?: InputMaybe<Scalars['Boolean']['input']>;
|
||||||
|
in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type ImageFilter = {
|
||||||
|
startsWith?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
eq?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
exists?: InputMaybe<Scalars['Boolean']['input']>;
|
||||||
|
in?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type NewsGalleryFilter = {
|
||||||
|
image?: InputMaybe<ImageFilter>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type BooleanFilter = {
|
||||||
|
eq?: InputMaybe<Scalars['Boolean']['input']>;
|
||||||
|
exists?: InputMaybe<Scalars['Boolean']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type RichTextFilter = {
|
||||||
|
startsWith?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
eq?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
exists?: InputMaybe<Scalars['Boolean']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type NewsFilter = {
|
||||||
|
locale?: InputMaybe<StringFilter>;
|
||||||
|
title?: InputMaybe<StringFilter>;
|
||||||
|
date?: InputMaybe<DatetimeFilter>;
|
||||||
|
slug?: InputMaybe<StringFilter>;
|
||||||
|
place?: InputMaybe<StringFilter>;
|
||||||
|
country?: InputMaybe<StringFilter>;
|
||||||
|
city?: InputMaybe<StringFilter>;
|
||||||
|
thumbnail?: InputMaybe<ImageFilter>;
|
||||||
|
thumbnail_square?: InputMaybe<ImageFilter>;
|
||||||
|
tags?: InputMaybe<StringFilter>;
|
||||||
|
gallery?: InputMaybe<NewsGalleryFilter>;
|
||||||
|
youtube?: InputMaybe<StringFilter>;
|
||||||
|
draft?: InputMaybe<BooleanFilter>;
|
||||||
|
body?: InputMaybe<RichTextFilter>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type NewsConnectionEdges = {
|
||||||
|
__typename?: 'NewsConnectionEdges';
|
||||||
|
cursor: Scalars['String']['output'];
|
||||||
|
node?: Maybe<News>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type NewsConnection = Connection & {
|
||||||
|
__typename?: 'NewsConnection';
|
||||||
|
pageInfo: PageInfo;
|
||||||
|
totalCount: Scalars['Float']['output'];
|
||||||
|
edges?: Maybe<Array<Maybe<NewsConnectionEdges>>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type EditorialGallery = {
|
||||||
|
__typename?: 'EditorialGallery';
|
||||||
|
image?: Maybe<Scalars['String']['output']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Editorial = Node & Document & {
|
||||||
|
__typename?: 'Editorial';
|
||||||
|
locale?: Maybe<Scalars['String']['output']>;
|
||||||
|
title: Scalars['String']['output'];
|
||||||
|
date: Scalars['String']['output'];
|
||||||
|
slug?: Maybe<Scalars['String']['output']>;
|
||||||
|
place?: Maybe<Scalars['String']['output']>;
|
||||||
|
country?: Maybe<Scalars['String']['output']>;
|
||||||
|
city?: Maybe<Scalars['String']['output']>;
|
||||||
|
thumbnail?: Maybe<Scalars['String']['output']>;
|
||||||
|
thumbnail_square?: Maybe<Scalars['String']['output']>;
|
||||||
|
tags?: Maybe<Array<Maybe<Scalars['String']['output']>>>;
|
||||||
|
gallery?: Maybe<Array<Maybe<EditorialGallery>>>;
|
||||||
|
youtube?: Maybe<Scalars['String']['output']>;
|
||||||
|
draft?: Maybe<Scalars['Boolean']['output']>;
|
||||||
|
body?: Maybe<Scalars['JSON']['output']>;
|
||||||
|
id: Scalars['ID']['output'];
|
||||||
|
_sys: SystemInfo;
|
||||||
|
_values: Scalars['JSON']['output'];
|
||||||
|
};
|
||||||
|
|
||||||
|
export type EditorialGalleryFilter = {
|
||||||
|
image?: InputMaybe<ImageFilter>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type EditorialFilter = {
|
||||||
|
locale?: InputMaybe<StringFilter>;
|
||||||
|
title?: InputMaybe<StringFilter>;
|
||||||
|
date?: InputMaybe<DatetimeFilter>;
|
||||||
|
slug?: InputMaybe<StringFilter>;
|
||||||
|
place?: InputMaybe<StringFilter>;
|
||||||
|
country?: InputMaybe<StringFilter>;
|
||||||
|
city?: InputMaybe<StringFilter>;
|
||||||
|
thumbnail?: InputMaybe<ImageFilter>;
|
||||||
|
thumbnail_square?: InputMaybe<ImageFilter>;
|
||||||
|
tags?: InputMaybe<StringFilter>;
|
||||||
|
gallery?: InputMaybe<EditorialGalleryFilter>;
|
||||||
|
youtube?: InputMaybe<StringFilter>;
|
||||||
|
draft?: InputMaybe<BooleanFilter>;
|
||||||
|
body?: InputMaybe<RichTextFilter>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type EditorialConnectionEdges = {
|
||||||
|
__typename?: 'EditorialConnectionEdges';
|
||||||
|
cursor: Scalars['String']['output'];
|
||||||
|
node?: Maybe<Editorial>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type EditorialConnection = Connection & {
|
||||||
|
__typename?: 'EditorialConnection';
|
||||||
|
pageInfo: PageInfo;
|
||||||
|
totalCount: Scalars['Float']['output'];
|
||||||
|
edges?: Maybe<Array<Maybe<EditorialConnectionEdges>>>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type Mutation = {
|
||||||
|
__typename?: 'Mutation';
|
||||||
|
addPendingDocument: DocumentNode;
|
||||||
|
updateDocument: DocumentNode;
|
||||||
|
deleteDocument: DocumentNode;
|
||||||
|
createDocument: DocumentNode;
|
||||||
|
createFolder: DocumentNode;
|
||||||
|
updateNews: News;
|
||||||
|
createNews: News;
|
||||||
|
updateEditorial: Editorial;
|
||||||
|
createEditorial: Editorial;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationAddPendingDocumentArgs = {
|
||||||
|
collection: Scalars['String']['input'];
|
||||||
|
relativePath: Scalars['String']['input'];
|
||||||
|
template?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationUpdateDocumentArgs = {
|
||||||
|
collection?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
relativePath: Scalars['String']['input'];
|
||||||
|
params: DocumentUpdateMutation;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationDeleteDocumentArgs = {
|
||||||
|
collection?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
relativePath: Scalars['String']['input'];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationCreateDocumentArgs = {
|
||||||
|
collection?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
relativePath: Scalars['String']['input'];
|
||||||
|
params: DocumentMutation;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationCreateFolderArgs = {
|
||||||
|
collection?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
relativePath: Scalars['String']['input'];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationUpdateNewsArgs = {
|
||||||
|
relativePath: Scalars['String']['input'];
|
||||||
|
params: NewsMutation;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationCreateNewsArgs = {
|
||||||
|
relativePath: Scalars['String']['input'];
|
||||||
|
params: NewsMutation;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationUpdateEditorialArgs = {
|
||||||
|
relativePath: Scalars['String']['input'];
|
||||||
|
params: EditorialMutation;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export type MutationCreateEditorialArgs = {
|
||||||
|
relativePath: Scalars['String']['input'];
|
||||||
|
params: EditorialMutation;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type DocumentUpdateMutation = {
|
||||||
|
news?: InputMaybe<NewsMutation>;
|
||||||
|
editorial?: InputMaybe<EditorialMutation>;
|
||||||
|
relativePath?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type DocumentMutation = {
|
||||||
|
news?: InputMaybe<NewsMutation>;
|
||||||
|
editorial?: InputMaybe<EditorialMutation>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type NewsGalleryMutation = {
|
||||||
|
image?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type NewsMutation = {
|
||||||
|
locale?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
title?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
date?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
slug?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
place?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
country?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
city?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
thumbnail?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
thumbnail_square?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
tags?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||||
|
gallery?: InputMaybe<Array<InputMaybe<NewsGalleryMutation>>>;
|
||||||
|
youtube?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
draft?: InputMaybe<Scalars['Boolean']['input']>;
|
||||||
|
body?: InputMaybe<Scalars['JSON']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type EditorialGalleryMutation = {
|
||||||
|
image?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type EditorialMutation = {
|
||||||
|
locale?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
title?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
date?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
slug?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
place?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
country?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
city?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
thumbnail?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
thumbnail_square?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
tags?: InputMaybe<Array<InputMaybe<Scalars['String']['input']>>>;
|
||||||
|
gallery?: InputMaybe<Array<InputMaybe<EditorialGalleryMutation>>>;
|
||||||
|
youtube?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
draft?: InputMaybe<Scalars['Boolean']['input']>;
|
||||||
|
body?: InputMaybe<Scalars['JSON']['input']>;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type NewsPartsFragment = { __typename: 'News', locale?: string | null, title: string, date: string, slug?: string | null, place?: string | null, country?: string | null, city?: string | null, thumbnail?: string | null, thumbnail_square?: string | null, tags?: Array<string | null> | null, youtube?: string | null, draft?: boolean | null, body?: any | null, gallery?: Array<{ __typename: 'NewsGallery', image?: string | null } | null> | null };
|
||||||
|
|
||||||
|
export type EditorialPartsFragment = { __typename: 'Editorial', locale?: string | null, title: string, date: string, slug?: string | null, place?: string | null, country?: string | null, city?: string | null, thumbnail?: string | null, thumbnail_square?: string | null, tags?: Array<string | null> | null, youtube?: string | null, draft?: boolean | null, body?: any | null, gallery?: Array<{ __typename: 'EditorialGallery', image?: string | null } | null> | null };
|
||||||
|
|
||||||
|
export type NewsQueryVariables = Exact<{
|
||||||
|
relativePath: Scalars['String']['input'];
|
||||||
|
}>;
|
||||||
|
|
||||||
|
|
||||||
|
export type NewsQuery = { __typename?: 'Query', news: { __typename: 'News', id: string, locale?: string | null, title: string, date: string, slug?: string | null, place?: string | null, country?: string | null, city?: string | null, thumbnail?: string | null, thumbnail_square?: string | null, tags?: Array<string | null> | null, youtube?: string | null, draft?: boolean | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, hasReferences?: boolean | null, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string }, gallery?: Array<{ __typename: 'NewsGallery', image?: string | null } | null> | null } };
|
||||||
|
|
||||||
|
export type NewsConnectionQueryVariables = Exact<{
|
||||||
|
before?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
after?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
first?: InputMaybe<Scalars['Float']['input']>;
|
||||||
|
last?: InputMaybe<Scalars['Float']['input']>;
|
||||||
|
sort?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
filter?: InputMaybe<NewsFilter>;
|
||||||
|
}>;
|
||||||
|
|
||||||
|
|
||||||
|
export type NewsConnectionQuery = { __typename?: 'Query', newsConnection: { __typename?: 'NewsConnection', totalCount: number, pageInfo: { __typename?: 'PageInfo', hasPreviousPage: boolean, hasNextPage: boolean, startCursor: string, endCursor: string }, edges?: Array<{ __typename?: 'NewsConnectionEdges', cursor: string, node?: { __typename: 'News', id: string, locale?: string | null, title: string, date: string, slug?: string | null, place?: string | null, country?: string | null, city?: string | null, thumbnail?: string | null, thumbnail_square?: string | null, tags?: Array<string | null> | null, youtube?: string | null, draft?: boolean | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, hasReferences?: boolean | null, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string }, gallery?: Array<{ __typename: 'NewsGallery', image?: string | null } | null> | null } | null } | null> | null } };
|
||||||
|
|
||||||
|
export type EditorialQueryVariables = Exact<{
|
||||||
|
relativePath: Scalars['String']['input'];
|
||||||
|
}>;
|
||||||
|
|
||||||
|
|
||||||
|
export type EditorialQuery = { __typename?: 'Query', editorial: { __typename: 'Editorial', id: string, locale?: string | null, title: string, date: string, slug?: string | null, place?: string | null, country?: string | null, city?: string | null, thumbnail?: string | null, thumbnail_square?: string | null, tags?: Array<string | null> | null, youtube?: string | null, draft?: boolean | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, hasReferences?: boolean | null, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string }, gallery?: Array<{ __typename: 'EditorialGallery', image?: string | null } | null> | null } };
|
||||||
|
|
||||||
|
export type EditorialConnectionQueryVariables = Exact<{
|
||||||
|
before?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
after?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
first?: InputMaybe<Scalars['Float']['input']>;
|
||||||
|
last?: InputMaybe<Scalars['Float']['input']>;
|
||||||
|
sort?: InputMaybe<Scalars['String']['input']>;
|
||||||
|
filter?: InputMaybe<EditorialFilter>;
|
||||||
|
}>;
|
||||||
|
|
||||||
|
|
||||||
|
export type EditorialConnectionQuery = { __typename?: 'Query', editorialConnection: { __typename?: 'EditorialConnection', totalCount: number, pageInfo: { __typename?: 'PageInfo', hasPreviousPage: boolean, hasNextPage: boolean, startCursor: string, endCursor: string }, edges?: Array<{ __typename?: 'EditorialConnectionEdges', cursor: string, node?: { __typename: 'Editorial', id: string, locale?: string | null, title: string, date: string, slug?: string | null, place?: string | null, country?: string | null, city?: string | null, thumbnail?: string | null, thumbnail_square?: string | null, tags?: Array<string | null> | null, youtube?: string | null, draft?: boolean | null, body?: any | null, _sys: { __typename?: 'SystemInfo', filename: string, basename: string, hasReferences?: boolean | null, breadcrumbs: Array<string>, path: string, relativePath: string, extension: string }, gallery?: Array<{ __typename: 'EditorialGallery', image?: string | null } | null> | null } | null } | null> | null } };
|
||||||
|
|
||||||
|
export const NewsPartsFragmentDoc = gql`
|
||||||
|
fragment NewsParts on News {
|
||||||
|
__typename
|
||||||
|
locale
|
||||||
|
title
|
||||||
|
date
|
||||||
|
slug
|
||||||
|
place
|
||||||
|
country
|
||||||
|
city
|
||||||
|
thumbnail
|
||||||
|
thumbnail_square
|
||||||
|
tags
|
||||||
|
gallery {
|
||||||
|
__typename
|
||||||
|
image
|
||||||
|
}
|
||||||
|
youtube
|
||||||
|
draft
|
||||||
|
body
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
export const EditorialPartsFragmentDoc = gql`
|
||||||
|
fragment EditorialParts on Editorial {
|
||||||
|
__typename
|
||||||
|
locale
|
||||||
|
title
|
||||||
|
date
|
||||||
|
slug
|
||||||
|
place
|
||||||
|
country
|
||||||
|
city
|
||||||
|
thumbnail
|
||||||
|
thumbnail_square
|
||||||
|
tags
|
||||||
|
gallery {
|
||||||
|
__typename
|
||||||
|
image
|
||||||
|
}
|
||||||
|
youtube
|
||||||
|
draft
|
||||||
|
body
|
||||||
|
}
|
||||||
|
`;
|
||||||
|
export const NewsDocument = gql`
|
||||||
|
query news($relativePath: String!) {
|
||||||
|
news(relativePath: $relativePath) {
|
||||||
|
... on Document {
|
||||||
|
_sys {
|
||||||
|
filename
|
||||||
|
basename
|
||||||
|
hasReferences
|
||||||
|
breadcrumbs
|
||||||
|
path
|
||||||
|
relativePath
|
||||||
|
extension
|
||||||
|
}
|
||||||
|
id
|
||||||
|
}
|
||||||
|
...NewsParts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${NewsPartsFragmentDoc}`;
|
||||||
|
export const NewsConnectionDocument = gql`
|
||||||
|
query newsConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: NewsFilter) {
|
||||||
|
newsConnection(
|
||||||
|
before: $before
|
||||||
|
after: $after
|
||||||
|
first: $first
|
||||||
|
last: $last
|
||||||
|
sort: $sort
|
||||||
|
filter: $filter
|
||||||
|
) {
|
||||||
|
pageInfo {
|
||||||
|
hasPreviousPage
|
||||||
|
hasNextPage
|
||||||
|
startCursor
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
totalCount
|
||||||
|
edges {
|
||||||
|
cursor
|
||||||
|
node {
|
||||||
|
... on Document {
|
||||||
|
_sys {
|
||||||
|
filename
|
||||||
|
basename
|
||||||
|
hasReferences
|
||||||
|
breadcrumbs
|
||||||
|
path
|
||||||
|
relativePath
|
||||||
|
extension
|
||||||
|
}
|
||||||
|
id
|
||||||
|
}
|
||||||
|
...NewsParts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${NewsPartsFragmentDoc}`;
|
||||||
|
export const EditorialDocument = gql`
|
||||||
|
query editorial($relativePath: String!) {
|
||||||
|
editorial(relativePath: $relativePath) {
|
||||||
|
... on Document {
|
||||||
|
_sys {
|
||||||
|
filename
|
||||||
|
basename
|
||||||
|
hasReferences
|
||||||
|
breadcrumbs
|
||||||
|
path
|
||||||
|
relativePath
|
||||||
|
extension
|
||||||
|
}
|
||||||
|
id
|
||||||
|
}
|
||||||
|
...EditorialParts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${EditorialPartsFragmentDoc}`;
|
||||||
|
export const EditorialConnectionDocument = gql`
|
||||||
|
query editorialConnection($before: String, $after: String, $first: Float, $last: Float, $sort: String, $filter: EditorialFilter) {
|
||||||
|
editorialConnection(
|
||||||
|
before: $before
|
||||||
|
after: $after
|
||||||
|
first: $first
|
||||||
|
last: $last
|
||||||
|
sort: $sort
|
||||||
|
filter: $filter
|
||||||
|
) {
|
||||||
|
pageInfo {
|
||||||
|
hasPreviousPage
|
||||||
|
hasNextPage
|
||||||
|
startCursor
|
||||||
|
endCursor
|
||||||
|
}
|
||||||
|
totalCount
|
||||||
|
edges {
|
||||||
|
cursor
|
||||||
|
node {
|
||||||
|
... on Document {
|
||||||
|
_sys {
|
||||||
|
filename
|
||||||
|
basename
|
||||||
|
hasReferences
|
||||||
|
breadcrumbs
|
||||||
|
path
|
||||||
|
relativePath
|
||||||
|
extension
|
||||||
|
}
|
||||||
|
id
|
||||||
|
}
|
||||||
|
...EditorialParts
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
${EditorialPartsFragmentDoc}`;
|
||||||
|
export type Requester<C= {}> = <R, V>(doc: DocumentNode, vars?: V, options?: C) => Promise<R>
|
||||||
|
export function getSdk<C>(requester: Requester<C>) {
|
||||||
|
return {
|
||||||
|
news(variables: NewsQueryVariables, options?: C): Promise<{data: NewsQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: NewsQueryVariables, query: string}> {
|
||||||
|
return requester<{data: NewsQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: NewsQueryVariables, query: string}, NewsQueryVariables>(NewsDocument, variables, options);
|
||||||
|
},
|
||||||
|
newsConnection(variables?: NewsConnectionQueryVariables, options?: C): Promise<{data: NewsConnectionQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: NewsConnectionQueryVariables, query: string}> {
|
||||||
|
return requester<{data: NewsConnectionQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: NewsConnectionQueryVariables, query: string}, NewsConnectionQueryVariables>(NewsConnectionDocument, variables, options);
|
||||||
|
},
|
||||||
|
editorial(variables: EditorialQueryVariables, options?: C): Promise<{data: EditorialQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: EditorialQueryVariables, query: string}> {
|
||||||
|
return requester<{data: EditorialQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: EditorialQueryVariables, query: string}, EditorialQueryVariables>(EditorialDocument, variables, options);
|
||||||
|
},
|
||||||
|
editorialConnection(variables?: EditorialConnectionQueryVariables, options?: C): Promise<{data: EditorialConnectionQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: EditorialConnectionQueryVariables, query: string}> {
|
||||||
|
return requester<{data: EditorialConnectionQuery, errors?: { message: string, locations: { line: number, column: number }[], path: string[] }[], variables: EditorialConnectionQueryVariables, query: string}, EditorialConnectionQueryVariables>(EditorialConnectionDocument, variables, options);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
export type Sdk = ReturnType<typeof getSdk>;
|
||||||
|
|
||||||
|
// TinaSDK generated code
|
||||||
|
import { createClient, TinaClient } from "tinacms/dist/client";
|
||||||
|
|
||||||
|
const generateRequester = (
|
||||||
|
client: TinaClient,
|
||||||
|
) => {
|
||||||
|
const requester: (
|
||||||
|
doc: any,
|
||||||
|
vars?: any,
|
||||||
|
options?: {
|
||||||
|
branch?: string,
|
||||||
|
/**
|
||||||
|
* Aside from `method` and `body`, all fetch options are passed
|
||||||
|
* through to underlying fetch request
|
||||||
|
*/
|
||||||
|
fetchOptions?: Omit<Parameters<typeof fetch>[1], 'body' | 'method'>,
|
||||||
|
},
|
||||||
|
client
|
||||||
|
) => Promise<any> = async (doc, vars, options) => {
|
||||||
|
let url = client.apiUrl
|
||||||
|
if (options?.branch) {
|
||||||
|
const index = client.apiUrl.lastIndexOf('/')
|
||||||
|
url = client.apiUrl.substring(0, index + 1) + options.branch
|
||||||
|
}
|
||||||
|
const data = await client.request({
|
||||||
|
query: doc,
|
||||||
|
variables: vars,
|
||||||
|
url,
|
||||||
|
}, options)
|
||||||
|
|
||||||
|
return { data: data?.data, errors: data?.errors, query: doc, variables: vars || {} }
|
||||||
|
}
|
||||||
|
|
||||||
|
return requester
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @experimental this class can be used but may change in the future
|
||||||
|
**/
|
||||||
|
export const ExperimentalGetTinaClient = () =>
|
||||||
|
getSdk(
|
||||||
|
generateRequester(
|
||||||
|
createClient({
|
||||||
|
url: "http://localhost:4001/graphql",
|
||||||
|
queries,
|
||||||
|
})
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
export const queries = (
|
||||||
|
client: TinaClient,
|
||||||
|
) => {
|
||||||
|
const requester = generateRequester(client)
|
||||||
|
return getSdk(requester)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
import { TinaAuth } from "tinacms";
|
||||||
|
|
||||||
|
const branch = process.env.HEAD || process.env.VERCEL_GIT_COMMIT_REF || "main";
|
||||||
|
|
||||||
|
export const auth = TinaAuth({
|
||||||
|
branch,
|
||||||
|
clientId: null,
|
||||||
|
token: null,
|
||||||
|
});
|
||||||
|
|
@ -0,0 +1,241 @@
|
||||||
|
import { defineConfig } from "tinacms";
|
||||||
|
|
||||||
|
const branch = process.env.HEAD || process.env.VERCEL_GIT_COMMIT_REF || "main";
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
branch,
|
||||||
|
clientId: null,
|
||||||
|
token: null,
|
||||||
|
build: {
|
||||||
|
outputFolder: "admin",
|
||||||
|
publicFolder: "public",
|
||||||
|
},
|
||||||
|
media: {
|
||||||
|
tina: {
|
||||||
|
mediaRoot: "public/images",
|
||||||
|
publicFolder: "public",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
schema: {
|
||||||
|
collections: [
|
||||||
|
{
|
||||||
|
name: "news",
|
||||||
|
label: "News",
|
||||||
|
path: "src/content/news",
|
||||||
|
format: "md",
|
||||||
|
match: {
|
||||||
|
include: "**/*",
|
||||||
|
},
|
||||||
|
ui: {
|
||||||
|
filename: {
|
||||||
|
readonly: false,
|
||||||
|
slugify: (values) => {
|
||||||
|
return values?.slug?.toLowerCase() || values?.title?.toLowerCase().replace(/ /g, '-');
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
fields: [
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "locale",
|
||||||
|
label: "Language",
|
||||||
|
options: [
|
||||||
|
{ label: "Español", value: "es" },
|
||||||
|
{ label: "English", value: "en" },
|
||||||
|
{ label: "Português", value: "pt" },
|
||||||
|
{ label: "Kinyarwanda", value: "rw" },
|
||||||
|
{ label: "Frances", value: "fr" }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "title",
|
||||||
|
label: "Title",
|
||||||
|
isTitle: true,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "datetime",
|
||||||
|
name: "date",
|
||||||
|
label: "Date",
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "slug",
|
||||||
|
label: "Slug",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "place",
|
||||||
|
label: "Place",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "country",
|
||||||
|
label: "Country",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "city",
|
||||||
|
label: "City",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "image",
|
||||||
|
name: "thumbnail",
|
||||||
|
label: "Thumbnail URL",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "image",
|
||||||
|
name: "thumbnail_square",
|
||||||
|
label: "Thumbnail Square URL",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "tags",
|
||||||
|
label: "Tags",
|
||||||
|
list: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "object",
|
||||||
|
name: "gallery",
|
||||||
|
label: "Gallery",
|
||||||
|
list: true,
|
||||||
|
fields: [
|
||||||
|
{
|
||||||
|
type: "image",
|
||||||
|
name: "image",
|
||||||
|
label: "Image",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "youtube",
|
||||||
|
label: "YouTube ID",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "boolean",
|
||||||
|
name: "draft",
|
||||||
|
label: "Draft",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "rich-text",
|
||||||
|
name: "body",
|
||||||
|
label: "Content",
|
||||||
|
isBody: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "editorial",
|
||||||
|
label: "Editorial",
|
||||||
|
path: "src/content/editorial",
|
||||||
|
format: "md",
|
||||||
|
match: {
|
||||||
|
include: "**/*",
|
||||||
|
},
|
||||||
|
ui: {
|
||||||
|
filename: {
|
||||||
|
readonly: false,
|
||||||
|
slugify: (values) => {
|
||||||
|
return values?.slug?.toLowerCase() || values?.title?.toLowerCase().replace(/ /g, '-');
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
fields: [
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "locale",
|
||||||
|
label: "Language",
|
||||||
|
options: [
|
||||||
|
{ label: "Español", value: "es" },
|
||||||
|
{ label: "English", value: "en" },
|
||||||
|
{ label: "Português", value: "pt" },
|
||||||
|
{ label: "Kinyarwanda", value: "rw" },
|
||||||
|
{ label: "Frances", value: "fr" }
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "title",
|
||||||
|
label: "Title",
|
||||||
|
isTitle: true,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "datetime",
|
||||||
|
name: "date",
|
||||||
|
label: "Date",
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "slug",
|
||||||
|
label: "Slug",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "place",
|
||||||
|
label: "Place",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "country",
|
||||||
|
label: "Country",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "city",
|
||||||
|
label: "City",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "image",
|
||||||
|
name: "thumbnail",
|
||||||
|
label: "Thumbnail URL",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "image",
|
||||||
|
name: "thumbnail_square",
|
||||||
|
label: "Thumbnail Square URL",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "tags",
|
||||||
|
label: "Tags",
|
||||||
|
list: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "object",
|
||||||
|
name: "gallery",
|
||||||
|
label: "Gallery",
|
||||||
|
list: true,
|
||||||
|
fields: [
|
||||||
|
{
|
||||||
|
type: "image",
|
||||||
|
name: "image",
|
||||||
|
label: "Image",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "string",
|
||||||
|
name: "youtube",
|
||||||
|
label: "YouTube ID",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "boolean",
|
||||||
|
name: "draft",
|
||||||
|
label: "Draft",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: "rich-text",
|
||||||
|
name: "body",
|
||||||
|
label: "Content",
|
||||||
|
isBody: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
});
|
||||||