added news page, added button read more news, only view 6 news in landing
This commit is contained in:
parent
0274a92704
commit
a8a0d34ca0
BIN
prisma/dev.db
BIN
prisma/dev.db
Binary file not shown.
|
|
@ -9,7 +9,7 @@ const tl = createTranslator(Astro.currentLocale);
|
||||||
<div class="font-secondary">
|
<div class="font-secondary">
|
||||||
<div class="top-16 relative mb container mx-auto">
|
<div class="top-16 relative mb container mx-auto">
|
||||||
<Header />
|
<Header />
|
||||||
</div>
|
</div>
|
||||||
<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">
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,10 @@
|
||||||
---
|
---
|
||||||
import { getCollection, getEntry } from "astro:content";
|
import { getCollection, getEntry } from "astro:content";
|
||||||
import NewsCard from "../cards/NewsCard.astro";
|
import NewsCard from "../cards/NewsCard.astro";
|
||||||
|
import Button from "../ui/Button.astro";
|
||||||
|
const { props } = Astro.props;
|
||||||
|
const currentLocale = Astro.currentLocale;
|
||||||
|
|
||||||
const newsItems = await getCollection("news", (post)=>{
|
const newsItems = await getCollection("news", (post)=>{
|
||||||
const currentLocale = Astro.currentLocale;
|
const currentLocale = Astro.currentLocale;
|
||||||
return post.data.locale == currentLocale
|
return post.data.locale == currentLocale
|
||||||
|
|
@ -15,15 +19,17 @@ const tl = createTranslator(Astro.currentLocale);
|
||||||
<h4 class="text-white text-2xl uppercase font-bold text-center mb-4 font-primary">{tl("news.title")}</h4>
|
<h4 class="text-white text-2xl uppercase font-bold text-center mb-4 font-primary">{tl("news.title")}</h4>
|
||||||
<h2 class="text-white text-3xl lg:text-5xl font-bold text-center font-secondary mb-4">{tl("news.text")}</h2>
|
<h2 class="text-white text-3xl lg:text-5xl font-bold text-center font-secondary mb-4">{tl("news.text")}</h2>
|
||||||
<p class="text-white text-xl text-center">{tl("news.text2")}</p>
|
<p class="text-white text-xl text-center">{tl("news.text2")}</p>
|
||||||
|
<Button class="px-6 py-3 uppercase mt-4" url=`/${currentLocale}/news` variant="primary" title={tl("news.buttonLable")} />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="grid md:grid-cols-2 lg:grid-cols-3 md:gap-10 gap-20">
|
<div class="grid md:grid-cols-2 lg:grid-cols-3 md:gap-10 gap-20">
|
||||||
{
|
{
|
||||||
[...newsItems] // copiamos para no mutar el original
|
[...newsItems]
|
||||||
.sort((a, b) =>
|
.sort((a, b) =>
|
||||||
new Date(b.data.date).getTime() - new Date(a.data.date).getTime()
|
new Date(b.data.date).getTime() - new Date(a.data.date).getTime()
|
||||||
)
|
)
|
||||||
|
.slice(0,6)
|
||||||
.map((item) => (
|
.map((item) => (
|
||||||
<NewsCard data={item} />
|
<NewsCard data={item} />
|
||||||
))
|
))
|
||||||
|
|
|
||||||
|
|
@ -36,18 +36,18 @@ gallery: [
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
---
|
---
|
||||||
**El encuentro reunió a referentes educativos y comunitarios de distintos países para fortalecer redes institucionales y promover el intercambio académico**
|
**The meeting brought together educational and community leaders from different countries to strengthen institutional networks and promote academic exchange.**
|
||||||
|
|
||||||
El domingo 15 de febrero de 2026 se realizó la apertura oficial del III Congreso Internacional de Rabinos en Puerto Rico, consolidando el inicio formal de una agenda académica y de trabajo que convoca a líderes religiosos y educativos de diferentes regiones del mundo.
|
On Sunday, February 15, 2026, the 3rd International Congress of Rabbis began in Puerto Rico, marking the official start of an academic and work agenda that brought together religious and educational leaders from different regions of the world.
|
||||||
|
|
||||||
Durante la sesión inaugural se destacó que el congreso busca trascender el formato tradicional de conferencias para constituirse en un espacio de articulación institucional, intercambio de experiencias y fortalecimiento de vínculos entre comunidades. En ese marco, el Dr. José Benjamín Pérez Matos —presidente del Centro del Reino de Paz y Justicia— subrayó la importancia de que el encuentro funcione como instancia de reencuentro y cooperación sostenida, más allá de los paneles y exposiciones programadas.
|
The opening session underscored that the congress aims to transcend the traditional conference formats to serve as a space for institutional alignment, experience-sharing, and strengthening ties between communities. In that context, Dr. José Benjamín Pérez Matos, President of the Kingdom of Peace and Justice Center, emphasized the importance of the meeting providing an opportunity for reconnection and on-going partnership, beyond the scheduled panels and presentations.
|
||||||
|
|
||||||
En su intervención, hizo referencia al valor formativo de la tradición bíblica y a la dimensión universal de ciertos principios espirituales vinculados a la responsabilidad ética y la proyección internacional de las comunidades. Asimismo, invitó a los participantes a orientar el trabajo del congreso hacia el fortalecimiento del aprendizaje profundo, el diálogo respetuoso y la construcción de redes colaborativas.
|
In his speech, he referred to the formative value of biblical tradition and the universal scope of certain spiritual principles linked to ethical responsibility and the international reach of communities. Likewise, he invited participants to center the efforts of the congress on fostering in-depth learning, respectful dialogue, and the development of collaborative networks.
|
||||||
|
|
||||||
También dirigieron palabras a los presentes el rabino Eliahu Birnbaum, director de los institutos Straus-Amiel y Beren-Amiel, y Yinon Ahiman, director general de la red Ohr Torah Stone, quienes resaltaron el papel de la formación rabínica contemporánea frente a los desafíos sociales y culturales actuales.
|
Rabbi Eliahu Birnbaum, Director of the Straus-Amiel and Beren-Amiel Institute, and Yinon Ahiman, Director General of the Ohr Torah Stone network, also addressed attendees and highlighted the role of contemporary rabbinical training in the face of current social and cultural challenges.
|
||||||
|
|
||||||
La primera jornada incluyó paneles académicos con la participación del Dr. Roi Abecassis, jefe del Departamento de Educación de la Organización Sionista Mundial; del rabino Dorón Pérez, presidente de dicha organización —quien intervino mediante mensaje en video—; y del rabino Dr. Katriel Kenneth Brander, presidente y director de las instituciones Ohr Torah Stone.
|
The first day included academic panels with the participation of Roi Abecassis, Head of the Education Department of the World Zionist Organization; Rabbi Doron Perez, President of the World Zionist Organization, who participated virtually; and Rabbi Dr. Katriel Kenneth Brander, President and Rosh HaYeshiva of the Ohr Torah Stone network.
|
||||||
|
|
||||||
El evento contó además con la presencia institucional del rabino Moshé Bakshi-Dorón, director general de la Yeshivat Yesod HaTorah.
|
The event was also attended by Rabbi Moshe Bakshi Doron, Rosh HaYeshiva of Yesod HaTorah.
|
||||||
|
|
||||||
Con una agenda centrada en educación, liderazgo comunitario y cooperación internacional, el III Congreso Internacional de Rabinos se proyecta como una plataforma de articulación global orientada a consolidar vínculos entre instituciones y promover iniciativas conjuntas en el ámbito formativo y social.
|
With an agenda focused on education, community leadership, and international cooperation, the 3rd International Congress of Rabbis aims to serve as a platform for global alignment that deepens ties between institutions and promotes joint educational and social initiatives.
|
||||||
|
|
@ -178,6 +178,9 @@
|
||||||
"news.title": "News",
|
"news.title": "News",
|
||||||
"news.text": "Institutional updates and global reach",
|
"news.text": "Institutional updates and global reach",
|
||||||
"news.text2": "This section brings together the main events, awards, and undertakings of the Kingdom of Peace and Justice Center and its founder.",
|
"news.text2": "This section brings together the main events, awards, and undertakings of the Kingdom of Peace and Justice Center and its founder.",
|
||||||
|
"news.text3": "This page brings together the main events, awards, and undertakings of the Kingdom of Peace and Justice Center and its founder.",
|
||||||
|
"news.buttonLable": "See More News",
|
||||||
|
|
||||||
|
|
||||||
"participate.title": "Participate | Collaborate",
|
"participate.title": "Participate | Collaborate",
|
||||||
"participate.text": "Joining means making a commitment with purpose",
|
"participate.text": "Joining means making a commitment with purpose",
|
||||||
|
|
|
||||||
|
|
@ -184,6 +184,8 @@
|
||||||
"news.title": "Noticias",
|
"news.title": "Noticias",
|
||||||
"news.text": "Actualidad institucional y proyección internacional",
|
"news.text": "Actualidad institucional y proyección internacional",
|
||||||
"news.text2": "Esta sección reúne las principales actividades, reconocimientos y acciones del Centro del Reino de Paz y Justicia y de su fundador.",
|
"news.text2": "Esta sección reúne las principales actividades, reconocimientos y acciones del Centro del Reino de Paz y Justicia y de su fundador.",
|
||||||
|
"news.text3": "Esta página reúne las principales actividades, reconocimientos y acciones del Centro del Reino de Paz y Justicia y de su fundador.",
|
||||||
|
"news.buttonLable": "Ver Más Noticias",
|
||||||
|
|
||||||
"participate.title": "Participa | Colabora",
|
"participate.title": "Participa | Colabora",
|
||||||
"participate.text": "Sumarse es asumir un compromiso con propósito",
|
"participate.text": "Sumarse es asumir un compromiso con propósito",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
---
|
||||||
|
import MainLayout from "@/layouts/MainLayout.astro"
|
||||||
|
import NewsSection from "@/components/section/NewsSection.astro"
|
||||||
|
import Header from "@/components/Header.astro"
|
||||||
|
import NewsCard from "@/components/cards/NewsCard.astro";
|
||||||
|
import { getCollection, getEntry } from "astro:content";
|
||||||
|
|
||||||
|
|
||||||
|
import { createTranslator, t } from '@/i18n';
|
||||||
|
const tl = createTranslator(Astro.currentLocale);
|
||||||
|
|
||||||
|
const newsItems = await getCollection("news", (post)=>{
|
||||||
|
const currentLocale = Astro.currentLocale;
|
||||||
|
return post.data.locale == currentLocale
|
||||||
|
});
|
||||||
|
---
|
||||||
|
|
||||||
|
<MainLayout >
|
||||||
|
<div class="top-16 relative mb container mx-auto">
|
||||||
|
<Header />
|
||||||
|
</div>
|
||||||
|
<div class="container mx-auto">
|
||||||
|
<div class="flex flex-col lg:w-1/2 items-center mx-auto py-8">
|
||||||
|
<h1 class="text-white text-2xl uppercase font-bold text-center mb-4 font-primary md:mt-20 mt-10">{tl("news.title")}</h1>
|
||||||
|
<h2 class="text-white text-3xl lg:text-5xl font-bold text-center font-secondary mb-4">{tl("news.text")}</h2>
|
||||||
|
<!-- <p class="text-white text-xl text-center">{tl("news.text3")}</p> -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="grid md:grid-cols-2 lg:grid-cols-3 md:gap-10 gap-20">
|
||||||
|
{
|
||||||
|
[...newsItems]
|
||||||
|
.sort((a, b) =>
|
||||||
|
new Date(b.data.date).getTime() - new Date(a.data.date).getTime()
|
||||||
|
)
|
||||||
|
.map((item) => (
|
||||||
|
<NewsCard data={item} />
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</MainLayout>
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
---
|
||||||
|
import MainLayout from "@/layouts/MainLayout.astro"
|
||||||
|
import NewsSection from "@/components/section/NewsSection.astro"
|
||||||
|
import Header from "@/components/Header.astro"
|
||||||
|
import NewsCard from "@/components/cards/NewsCard.astro";
|
||||||
|
import { getCollection, getEntry } from "astro:content";
|
||||||
|
|
||||||
|
|
||||||
|
import { createTranslator, t } from '@/i18n';
|
||||||
|
const tl = createTranslator(Astro.currentLocale);
|
||||||
|
|
||||||
|
const newsItems = await getCollection("news", (post)=>{
|
||||||
|
const currentLocale = Astro.currentLocale;
|
||||||
|
return post.data.locale == currentLocale
|
||||||
|
});
|
||||||
|
---
|
||||||
|
|
||||||
|
<MainLayout >
|
||||||
|
<div class="top-16 relative mb container mx-auto">
|
||||||
|
<Header />
|
||||||
|
</div>
|
||||||
|
<div class="container mx-auto">
|
||||||
|
<div class="flex flex-col lg:w-1/2 items-center mx-auto py-8">
|
||||||
|
<h4 class="text-white text-2xl uppercase font-bold text-center mb-4 font-primary">{tl("news.title")}</h4>
|
||||||
|
<h2 class="text-white text-3xl lg:text-5xl font-bold text-center font-secondary mb-4">{tl("news.text")}</h2>
|
||||||
|
<!-- <p class="text-white text-xl text-center">{tl("news.text3")}</p> -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="grid md:grid-cols-2 lg:grid-cols-3 md:gap-10 gap-20">
|
||||||
|
{
|
||||||
|
[...newsItems]
|
||||||
|
.sort((a, b) =>
|
||||||
|
new Date(b.data.date).getTime() - new Date(a.data.date).getTime()
|
||||||
|
)
|
||||||
|
.map((item) => (
|
||||||
|
<NewsCard data={item} />
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</MainLayout>
|
||||||
Loading…
Reference in New Issue