Updating to latest carpa-astro version
This commit is contained in:
parent
fe63cb25c3
commit
846c5e962b
|
|
@ -4,10 +4,6 @@
|
|||
npm create astro@latest -- --template minimal
|
||||
```
|
||||
|
||||
[](https://stackblitz.com/github/withastro/astro/tree/latest/examples/minimal)
|
||||
[](https://codesandbox.io/p/sandbox/github/withastro/astro/tree/latest/examples/minimal)
|
||||
[](https://codespaces.new/withastro/astro?devcontainer_path=.devcontainer/minimal/devcontainer.json)
|
||||
|
||||
> 🧑🚀 **Seasoned astronaut?** Delete this file. Have fun!
|
||||
|
||||
## 🚀 Project Structure
|
||||
|
|
|
|||
|
|
@ -1,18 +1,22 @@
|
|||
// @ts-check
|
||||
import { defineConfig } from 'astro/config';
|
||||
import tailwindcss from "@tailwindcss/vite";
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
|
||||
import icon from "astro-icon";
|
||||
|
||||
// https://astro.build/config
|
||||
export default defineConfig({
|
||||
i18n: {
|
||||
defaultLocale: 'es', // The default language used as a fallback
|
||||
locales: ['es', 'en', 'pt', 'fr'], // All supported languages on the site
|
||||
locales: ["es", "en", "pt", "fr"],
|
||||
defaultLocale: "es",
|
||||
routing: {
|
||||
prefixDefaultLocale: true
|
||||
prefixDefaultLocale: true
|
||||
}
|
||||
},
|
||||
vite: {
|
||||
plugins: [tailwindcss()],
|
||||
|
||||
vite: {
|
||||
plugins: [tailwindcss()]
|
||||
},
|
||||
});
|
||||
|
||||
integrations: [icon()]
|
||||
});
|
||||
File diff suppressed because it is too large
Load Diff
17
package.json
17
package.json
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "",
|
||||
"name": "carpa_astro",
|
||||
"type": "module",
|
||||
"version": "0.0.1",
|
||||
"scripts": {
|
||||
|
|
@ -9,13 +9,16 @@
|
|||
"astro": "astro"
|
||||
},
|
||||
"dependencies": {
|
||||
"@fontsource-variable/roboto-condensed": "^5.2.6",
|
||||
"@tailwindcss/vite": "^4.1.11",
|
||||
"astro": "^5.10.1",
|
||||
"daisyui": "^5.0.43",
|
||||
"tailwindcss": "^4.1.11"
|
||||
"@iconify-json/clarity": "^1.2.4",
|
||||
"@iconify-json/ph": "^1.2.2",
|
||||
"@tailwindcss/vite": "^4.1.17",
|
||||
"astro": "^5.16.4",
|
||||
"astro-breadcrumbs": "^3.3.1",
|
||||
"astro-icon": "^1.1.5",
|
||||
"daisyui": "^5.3.7",
|
||||
"tailwindcss": "^4.1.17"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tailwindcss/typography": "^0.5.16"
|
||||
"@tailwindcss/typography": "^0.5.19"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
|
@ -1,19 +0,0 @@
|
|||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const languagePicker = document.getElementById('language-picker');
|
||||
|
||||
if (languagePicker) {
|
||||
languagePicker.addEventListener('change', (event) => {
|
||||
const selectedLocale = event.target.value;
|
||||
|
||||
// Strip the current locale from the path
|
||||
const currentPath = window.location.pathname;
|
||||
const pathWithoutLocale = currentPath.replace(/^\/[^/]+/, '');
|
||||
|
||||
// Build the new URL with the selected locale
|
||||
const newPath = `/${selectedLocale}${pathWithoutLocale}`;
|
||||
|
||||
// Redirect the browser
|
||||
window.location.href = newPath;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -0,0 +1,140 @@
|
|||
---
|
||||
import { getLangFromUrl, useTranslations } from '../i18n/utils';
|
||||
import { Icon } from 'astro-icon/components'
|
||||
|
||||
const lang = getLangFromUrl(Astro.url);
|
||||
const t = useTranslations(lang);
|
||||
|
||||
const { data, type } = Astro.props;
|
||||
|
||||
const hasSummary = data.data?.all?._formatted?.body
|
||||
|
||||
const files = formatFiles( data.data.files );
|
||||
|
||||
const language = Astro.currentLocale;
|
||||
|
||||
function formatFiles(files){
|
||||
let items = []
|
||||
if (files) {
|
||||
if (files.youtube) {
|
||||
items.push({
|
||||
to: files.youtube,
|
||||
target: '_blank',
|
||||
label: t('activities.youtube'),
|
||||
icon: 'ph:youtube-logo-thin',
|
||||
labelClass: 'text-xs',
|
||||
})
|
||||
}
|
||||
if (files.video) {
|
||||
items.push({
|
||||
to: files.video,
|
||||
target: '_blank',
|
||||
label: t('activities.video'),
|
||||
icon: 'ph:file-video-thin',
|
||||
labelClass: 'text-xs'
|
||||
})
|
||||
}
|
||||
if (files.audio) {
|
||||
items.push({
|
||||
to: files.audio,
|
||||
target: '_blank',
|
||||
label: t('activities.audio'),
|
||||
icon: 'ph:file-audio-thin',
|
||||
labelClass: 'text-xs'
|
||||
})
|
||||
}
|
||||
if (files.booklet) {
|
||||
items.push({
|
||||
to: files.booklet,
|
||||
target: '_blank',
|
||||
label: t.title,
|
||||
icon: 'ph:notebook-thin',
|
||||
labelClass: 'text-xs'
|
||||
})
|
||||
}
|
||||
if (files.simple) {
|
||||
items.push({
|
||||
to: files.simple,
|
||||
target: '_blank',
|
||||
label: t.title,
|
||||
icon: 'ph:note-thin',
|
||||
labelClass: 'text-xs'
|
||||
})
|
||||
}
|
||||
}
|
||||
return items
|
||||
}
|
||||
|
||||
---
|
||||
<div class="card bg-white shadow-sm">
|
||||
<figure>
|
||||
<a href={`/${language}/${type}/${data.id}`}>
|
||||
|
||||
{
|
||||
data.data.draft && (
|
||||
<span class="badge badge-xs bg-carpared border-0 text-white uppercase absolute right-2 top-2">
|
||||
Borrador
|
||||
</span>
|
||||
)
|
||||
}
|
||||
|
||||
{
|
||||
data.data.thumbnail && (
|
||||
<img src={`https://api.carpa.com/assets/${data.data?.thumbnail}`} alt={data.data.title} title={data.data.title} class="aspect-video" />
|
||||
) || (
|
||||
<img src={`https://placehold.co/1920x1080`} alt={data.data.title} title={data.data.title} class="aspect-video" />
|
||||
)
|
||||
}
|
||||
|
||||
</a>
|
||||
</figure>
|
||||
<div class="card-body p-4">
|
||||
<div class="flex gap-2">
|
||||
{
|
||||
hasSummary &&
|
||||
<div class="stats shadow">
|
||||
{/* <div class="stat w-24 h-24 px-0 py-2 gap-0 text-center place-items-center" :class="props.data.all._federation.indexUid.indexOf('conferences') === -1 ?'bg-carpagreen':'bg-carpablue'">
|
||||
<div class="stat-title text-white/50 uppercase">{ (data.data._federation.indexUid.indexOf('conferences') === -1 ?t('Activities.single_title'):t('Conferences.single_title')) }}</div>
|
||||
<div class="stat-value text-white/75">{{ (searchStore.searchLimit * (searchStore.searchPage -1)) + props.index+1 }}</div>
|
||||
<div class="stat-desc text-white/50"><div class="uppercase ">{{ $t('Search.hits') }}: {{ props.data.all._matchesPosition?.body?.length }}</div></div>
|
||||
</div> */}
|
||||
</div>
|
||||
}
|
||||
<div>
|
||||
<a href={`/${language}/${type}/${data.id}`}>
|
||||
<h2 class="text-lg leading-tight mb-2">{data.data.title}</h2>
|
||||
</a>
|
||||
<ul class="text-md uppercase font-light opacity-60">
|
||||
<li><Icon name="ph:calendar" class="text-carpared inline-block" /> { Intl.DateTimeFormat( language , { weekday: 'long', day: '2-digit', month:'long', year:'numeric', timeZone: "UTC" }).format(new Date( data.data.date )) }</li>
|
||||
{
|
||||
data.data.country && (
|
||||
<li><Icon name="ph:map-pin-line" class="text-carpared inline-block" /> { data.data.country }</li>
|
||||
)
|
||||
}
|
||||
{
|
||||
data.data.activity && (
|
||||
<li><Icon name="ph:hash" class="text-carpared inline-block" /> { t("activities.activity") } { data.data.activity } { data.data.biblestudy && ( <span> | { t("activities.biblestudy") } { data.data.biblestudy }</span> ) } </li>
|
||||
)
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-actions justify-end">
|
||||
<div v-if="props.data.files.length > 0" class="dropdown dropdown-bottom dropdown-center w-full">
|
||||
<div tabindex="0" role="button" class="btn btn-ghost btn-block font-thin uppercase"><Icon name="ph:download-thin" class="text-2xl" />{ t('ui.downloads') }</div>
|
||||
<ul tabindex="0" class="dropdown-content menu bg-base-100 rounded-box z-1 w-52 p-2 shadow-sm uppercase">
|
||||
{
|
||||
files?.map((item)=>(
|
||||
<li>
|
||||
<a href={item.to} target={item.target} class="flex justify-between">{ item.label }<Icon name={item.icon} class="text-3xl" /></a>
|
||||
</li>
|
||||
))
|
||||
}
|
||||
</ul>
|
||||
</div>
|
||||
<div v-if="hasSummary" class="prose text-xs bg-base-200 p-2 rounded-xl">
|
||||
<div v-if="props.data.all._formatted.body" v-html="props.data.all._formatted.body" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
---
|
||||
import { getLangFromUrl, useTranslations } from '../i18n/utils';
|
||||
|
||||
const lang = getLangFromUrl(Astro.url);
|
||||
const t = useTranslations(lang);
|
||||
---
|
||||
|
||||
<main>
|
||||
<div class="bg-neutral-300 text-black text-left">
|
||||
<div class="container mx-auto py-4 px-3">
|
||||
<div class="grid items-start grid-cols-1 md:grid-cols-6 lg:grid-cols-8 gap-4 container mx-auto">
|
||||
<div class="md:col-span-2">
|
||||
<img src="/img/logo.svg" class="mb-3" alt="La Gran Carpa Catedral, Corp." />
|
||||
<p>Carretera No.1 Km 54.5<br />
|
||||
Barrio Monte Llano<br />
|
||||
Cayey, Puerto Rico<br />
|
||||
00736</p>
|
||||
<p><i class="fa fa-phone mr-2"></i>+1 787 738 2651</p>
|
||||
<div class="flex gap-3 pt-2">
|
||||
<!-- <span v-for="network in networks">
|
||||
<div class="tooltip" :data-tip="network.title">
|
||||
<a href="network.url" :title="network.title" target="_blank">
|
||||
<Icon :name="network.icon" class="text-2xl" :class="network.color" />
|
||||
</a>
|
||||
</div>
|
||||
</span> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="md:col-span-4">
|
||||
<div class="grid grid-cols-3 sm:grid-cols-2 lg:grid-cols-3 gap-3 mb-3">
|
||||
<div class="bg-carpablue rounded-lg overflow-hidden shadow-lg aspect-video object-cover">
|
||||
<img
|
||||
src="https://actividadeswp.carpa.com/wp-content/uploads/2021/07/GCC_Mont-0521-scaled-1.jpg" alt="La Gran Carpa Catedral, Corp." />
|
||||
</div>
|
||||
<div class="bg-carpablue rounded-lg shadow-lg overflow-hidden aspect-video object-cover">
|
||||
<img
|
||||
src="https://actividadeswp.carpa.com/wp-content/uploads/2021/07/gran_carpa_catedral_domingo_27_de_octubre.jpg" alt="La Gran Carpa Catedral, Corp."/>
|
||||
</div>
|
||||
<div class="bg-carpablue rounded-lg shadow-lg overflow-hidden aspect-video object-cover">
|
||||
<img src="https://actividadeswp.carpa.com/wp-content/uploads/2021/07/15-scaled-2.jpg" alt="La Gran Carpa Catedral, Corp." />
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-right">
|
||||
<!-- <RouterLink :to="{ name: 'galleries' }"><v-btn variant="tonal">
|
||||
{ t('footer.more_galleries') }
|
||||
</v-btn></RouterLink> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="md:col-span-2">
|
||||
|
||||
<ul class="menu hidden lg:block rounded-box [&_li>*]:rounded-none p-0">
|
||||
<li>
|
||||
<div class="tooltip" :data-tip="t('nav.home')">
|
||||
<a class="uppercase mx-2" :to="localePath('/')" :title="t('nav.home')">{ t("nav.home") }</a>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
<li>
|
||||
<div class="tooltip" :data-tip="t('nav.activities')">
|
||||
<a class="uppercase mx-2" :to="localePath('/activities')" :title="t('nav.activities')">{ t("nav.activities")}</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="tooltip" :data-tip="t('nav.conferences')">
|
||||
<a class="uppercase mx-2" :to="localePath('/conferences')" :title="t('nav.conferences')">{
|
||||
t("nav.conferences") }</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="tooltip" :data-tip="t('nav.print')">
|
||||
<a class="uppercase mx-2" href="https://imprenta.carpa.com"
|
||||
target="_blank" :title="t('nav.print')">{ t('nav.print') }</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="tooltip" :data-tip="t('nav.donations')">
|
||||
<a class="uppercase mx-2" href="https://donacionlgccc.com/"
|
||||
target="_blank" :title="t('nav.donations')">{ t('nav.donations') }</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="tooltip" :data-tip="t('nav.bibleschool')">
|
||||
<a class="uppercase mx-2" href="https://escuelabiblicadeninos.com/"
|
||||
target="_blank" :title="t('nav.bibleschool')">{ t('nav.bibleschool') }</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="tooltip" :data-tip="t('nav.live')">
|
||||
<a class="uppercase mx-2" :to="localePath('/live')" title="live">{ t("nav.live") }
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="tooltip" :data-tip="t('nav.search')">
|
||||
<a class="uppercase mx-2" :to="localePath('/search')" title="Search">{ t("nav.search") }
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg-neutral-400 text-black text-center py-2">
|
||||
© La Gran Carpa Catedral, Corp. 2024
|
||||
</div>
|
||||
</main>
|
||||
|
|
@ -0,0 +1,74 @@
|
|||
---
|
||||
import { getLangFromUrl, useTranslations } from '../i18n/utils';
|
||||
import { i18n } from "astro:config/client";
|
||||
import { getRelativeLocaleUrl } from 'astro:i18n';
|
||||
import { Breadcrumbs } from "astro-breadcrumbs";
|
||||
import "astro-breadcrumbs/breadcrumbs.css";
|
||||
|
||||
const lang = getLangFromUrl(Astro.url);
|
||||
const t = useTranslations(lang);
|
||||
|
||||
const locale = Astro.currentLocale || i18n?.defaultLocale;
|
||||
|
||||
import LanguageSwitcher from "./LanguageSwitcher.astro";
|
||||
import SocialNetworks from "./SocialNetworks.astro";
|
||||
---
|
||||
|
||||
<div class="mx-auto container py-3">
|
||||
<div class="navbar">
|
||||
<div class="navbar-start w-full justify-between lg:justify-start">
|
||||
<div class="dropdown">
|
||||
<div class="flex lg:hidden">
|
||||
<label for="my-drawer-3" aria-label="open sidebar" class="btn btn-square btn-ghost">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
|
||||
class="inline-block h-6 w-6 stroke-current">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16">
|
||||
</path>
|
||||
</svg>
|
||||
</label>
|
||||
</div>
|
||||
<ul tabindex="0"
|
||||
class="menu menu-sm dropdown-content bg-base-100 rounded-box z-1 mt-3 w-52 p-2 shadow uppercase">
|
||||
<li><a class="uppercase mx-2" href={getRelativeLocaleUrl(locale,'/')}>{ t('nav.home') }</a></li>
|
||||
<li><a class="uppercase mx-2" href={getRelativeLocaleUrl(locale,'/activities')}>{ t('nav.activities') }</a></li>
|
||||
<li><a class="uppercase mx-2" href={getRelativeLocaleUrl(locale,'/conferences')}>{ t("nav.conferences") }</a></li>
|
||||
<li><a class="uppercase mx-2" href="https://imprenta.carpa.com" target="_blank">{ t("nav.print") }</a></li>
|
||||
<li><a class="uppercase mx-2" href="https://donacionlgccc.com" target="_blank">{ t("nav.donations") }</a></li>
|
||||
<li><a class="uppercase mx-2" href="https://escuelabiblicadeninos.com" target="_blank">{ t("nav.bibleschool") }</a></li>
|
||||
<li><a class="uppercase mx-2" href={getRelativeLocaleUrl(locale,'/live')}>{ t("nav.live") }</a></li>
|
||||
<li><a class="uppercase ml-2" href={getRelativeLocaleUrl(locale,'/search')} title="Buscar"></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a href={getRelativeLocaleUrl(locale,'/')}>
|
||||
<img src="/img/logo.svg" class="w-[170px] md:w-[230px]" height="70"
|
||||
alt="La Gran Carpa Catedral, Corp." title="La Gran Carpa Catedral, Corp." />
|
||||
</a>
|
||||
<div class="lg:hidden">
|
||||
<LanguageSwitcher class="" :type="`${props.type}`" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="navbar-center hidden lg:flex">
|
||||
<ul class="menu menu-horizontal px-1 uppercase text-[16px]">
|
||||
<li><a class="uppercase mx-2" href={getRelativeLocaleUrl(locale,'/')}>{ t('nav.home') }</a></li>
|
||||
<li><a class="uppercase mx-2" href={getRelativeLocaleUrl(locale,'/activities')}>{ t('nav.activities') }</a></li>
|
||||
<li><a class="uppercase mx-2" href={getRelativeLocaleUrl(locale,'/conferences')}>{ t("nav.conferences") }</a></li>
|
||||
<li><a class="uppercase mx-2" href="https://imprenta.carpa.com" target="_blank">{ t("nav.print") }</a></li>
|
||||
<li><a class="uppercase mx-2" href="https://donacionlgccc.com" target="_blank">{ t("nav.donations") }</a></li>
|
||||
<li><a class="uppercase mx-2" href="https://escuelabiblicadeninos.com" target="_blank">{ t("nav.bibleschool") }</a></li>
|
||||
<li><a class="uppercase mx-2" href={getRelativeLocaleUrl(locale,'/live')}>{ t("nav.live") }</a></li>
|
||||
</ul>
|
||||
<a class="uppercase ml-2" href={getRelativeLocaleUrl(locale,'/search')} title="Buscar"></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Header -->
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<div class="bg-neutral-200 min-h-8">
|
||||
<div class="container mx-auto flex items-center justify-between py-2 lg:py-0 px-4 truncate sm:overflow-visible">
|
||||
<Breadcrumbs customizeListElements={[{ index: 1, remove: true }]} />
|
||||
|
||||
<LanguageSwitcher class="hidden lg:block" :type="`${props.type}`" />
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
import { Icon } from 'astro-icon/components'
|
||||
import { i18n } from "astro:config/client";
|
||||
import { getRelativeLocaleUrl } from 'astro:i18n';
|
||||
|
||||
const locales = i18n?.locales;
|
||||
|
||||
---
|
||||
|
||||
<div class="dropdown dropdown-end">
|
||||
<div tabindex="0" role="button" class="btn btn-square btn-ghost m-1"><Icon name="clarity:language-line" class="text-3xl" /></div>
|
||||
<ul tabindex="0" class="dropdown-content menu bg-base-100 rounded-box z-100 w-52 p-2 shadow-sm">
|
||||
{
|
||||
locales?.map((l)=>(
|
||||
<li>
|
||||
<a href={getRelativeLocaleUrl(l,'/')}>Locale: {l}</a>
|
||||
</li>
|
||||
))
|
||||
}
|
||||
<!-- <li v-for="item in supportedLocales" :key="item.code">
|
||||
<a :to="switchLocalePath(item.code)">{ t(`locale.${item.code}`) }</a>
|
||||
</li> -->
|
||||
</ul>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
import { getLangFromUrl, useTranslations } from '../i18n/utils';
|
||||
import { Icon } from 'astro-icon/components'
|
||||
|
||||
const lang = getLangFromUrl(Astro.url);
|
||||
const t = useTranslations(lang);
|
||||
|
||||
const views = [
|
||||
{
|
||||
name: 'grid',
|
||||
icon: 'ph:grid-four'
|
||||
},
|
||||
{
|
||||
name: 'list',
|
||||
icon: 'ph:list-dashes'
|
||||
},
|
||||
{
|
||||
name: 'table',
|
||||
icon: 'ph:table'
|
||||
},
|
||||
{
|
||||
name: 'timeline',
|
||||
icon: 'ph:line-segments'
|
||||
}
|
||||
];
|
||||
---
|
||||
|
||||
<div class="join hidden lg:flex">
|
||||
<div v-for="view in views" class="flex" data-tip="">
|
||||
{
|
||||
views.map((view)=>(
|
||||
<button class="tooltip btn btn-ghost join-item btn-sm sm:btn-md" data-tip={t(`ui.${view.name}`)}>
|
||||
<Icon name={view.icon} class="text-sm sm:text-xl" />
|
||||
</button>
|
||||
))
|
||||
}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
import conferencesData from "../data/conferences/conferences.json";
|
||||
import activitiesData from "../data/activities/activities.json";
|
||||
|
||||
const language = Astro.currentLocale;
|
||||
const { type } = Astro.props;
|
||||
const data = {
|
||||
conferences: conferencesData,
|
||||
activities: activitiesData
|
||||
}
|
||||
---
|
||||
<ul class="menu rounded-box w-full">
|
||||
{ data[type].map((y, i) => (
|
||||
<li>
|
||||
<details>
|
||||
<summary>{y.year} <span class="badge badge-ghost badge-sm">{ y.count }</span></summary>
|
||||
<ul>
|
||||
{
|
||||
y.months.map((month, i) => (
|
||||
<li>
|
||||
<a href={`/${language}/${type}/${y.year}/${month.month}/`}>{Intl.DateTimeFormat('es', { month: 'long' }).format(new Date(month.month.toString()))} <span class="badge badge-ghost badge-sm">{ month.count }</span></a>
|
||||
</li>
|
||||
))
|
||||
}
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
) ) }
|
||||
</ul>
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
import Card from "../Card.astro";
|
||||
|
||||
const { data, type } = Astro.props;
|
||||
---
|
||||
<div class="grid gap-3 sm:grid-cols-1 xl:grid-cols-4 lg:grid-cols-3 md:grid-cols-2">
|
||||
{
|
||||
data.map((item)=>(
|
||||
<Card data={item} type={type} />
|
||||
))
|
||||
}
|
||||
</div>
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
---
|
||||
import { getLangFromUrl, useTranslations } from '../../i18n/utils';
|
||||
import { Icon } from 'astro-icon/components'
|
||||
|
||||
const lang = getLangFromUrl(Astro.url);
|
||||
const t = useTranslations(lang);
|
||||
|
||||
const { data } = Astro.props;
|
||||
---
|
||||
<ul class="list bg-base-100 rounded-box shadow-md">
|
||||
|
||||
{
|
||||
data.map((item)=>(
|
||||
<li class="list-row">
|
||||
<div v-if="!hasSummary">
|
||||
<div class="avatar">
|
||||
<div class="w-24 rounded-lg aspect-video">
|
||||
<img src={`https://api.carpa.com/assets/${item.data.thumbnail}`} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list-col-grow lg:w-96" v-else>
|
||||
<div class="prose text-xs bg-base-200 p-2 rounded-xl">
|
||||
<div v-html="item.all._formatted.body" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="list-col-grow">
|
||||
<div class="text-lg">{ item.data.title } <span v-if="item.draft === '1'"
|
||||
class="badge badge-xs badge-error text-white uppercase">
|
||||
Borrador
|
||||
</span></div>
|
||||
<ul class="text-md uppercase font-light opacity-60">
|
||||
<li><Icon name="ph:calendar" class="text-carpared inline-block" /> { item.data.date }</li>
|
||||
<li><Icon name="ph:map-pin-line" class="text-carpared inline-block" /> { item.data.country }</li>
|
||||
<li><Icon name="ph:hash" class="text-carpared inline-block" /> { t("activities.activity") } { item.data.activity }<span v-if="item.bible_study"> | { t("activities.biblestudy") } { item.data.bible_study }</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="sm:list-col-grow flex flex-row">
|
||||
|
||||
</div>
|
||||
</li>
|
||||
))
|
||||
}
|
||||
|
||||
</ul>
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
---
|
||||
import { getLangFromUrl, useTranslations } from '../../i18n/utils';
|
||||
import { Icon } from 'astro-icon/components'
|
||||
|
||||
const lang = getLangFromUrl(Astro.url);
|
||||
const t = useTranslations(lang);
|
||||
|
||||
const { data } = Astro.props;
|
||||
---
|
||||
<div class="overflow-x-auto bg-base-100 rounded-box shadow-md">
|
||||
<table class="table">
|
||||
<!-- head -->
|
||||
<thead class="uppercase opacity-80 font-light">
|
||||
<tr>
|
||||
<th></th>
|
||||
<th class="hidden">id</th>
|
||||
<th>{ t('table.day') }</th>
|
||||
<th><Icon name="ph:calendar" class="text-carpared inline-block" /> { t('table.date') }</th>
|
||||
<th><Icon name="ph:hash" class="text-carpared inline-block"/> { t('table.activity') }</th>
|
||||
<th><Icon name="ph:text-t" class="text-carpared inline-block" /> { t('table.title') }</th>
|
||||
<th><Icon name="ph:map-pin-line" class="text-carpared inline-block"/> { t('table.country') }</th>
|
||||
<th class="text-right"><Icon name="ph:download" class="text-carpared inline-block"/> { t('table.downloads') }</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{
|
||||
data.map((item)=>(
|
||||
<tr class="hover:bg-carpagreen/10 hover:opacity-100 text-md uppercase font-light opacity-60">
|
||||
<td data-label="Draft"><div class="tooltip tooltip-right" data-tip={t('activities.draft')}><Icon v-if="item.draft === '1'" name="ph:note-pencil-light" class="draft text-2xl text-carpared" /></div></td>
|
||||
<td data-label={t('table.day')}>{item.data.day}</td>
|
||||
<td data-label={t('table.date')}>{item.data.date}</td>
|
||||
<td data-label={t('table.activity')}>{item.data.activity}</td>
|
||||
<td data-label={t('table.title')}>
|
||||
<a href="#">
|
||||
<h2 class="leading-tight">{ item.data.title }</h2>
|
||||
</a>
|
||||
</td>
|
||||
<td data-label={t('table.country')}>{item.data.country}</td>
|
||||
<td data-label={t('table.downloads')}>
|
||||
<div class="flex flex-nowrap flex-row lg:justify-end">
|
||||
{/* <div v-for="file in item.files">
|
||||
<div class="tooltip" data-tip="file.label">
|
||||
<a :href="file.to" :target="file.target" class="btn btn-square btn-ghost">
|
||||
<Icon :name="file.icon" class="text-3xl" />
|
||||
</a>
|
||||
</div>
|
||||
</div> */}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
// <tr v-if="hasSummary">
|
||||
// <td colspan="8">
|
||||
// <div class="prose text-xs bg-base-200 p-2 rounded-xl">
|
||||
// <div v-html="item.all._formatted.body" />
|
||||
// </div>
|
||||
// </td>
|
||||
// </tr>
|
||||
))
|
||||
}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
import { getLangFromUrl, useTranslations } from '../../i18n/utils';
|
||||
import { Icon } from 'astro-icon/components'
|
||||
|
||||
const lang = getLangFromUrl(Astro.url);
|
||||
const t = useTranslations(lang);
|
||||
|
||||
const { data } = Astro.props;
|
||||
---
|
||||
<ul class="timeline timeline-snap-icon max-md:timeline-compact timeline-vertical">
|
||||
{
|
||||
data.map((item,index)=>(
|
||||
<li>
|
||||
<hr v-if="index != 0" />
|
||||
<div class="timeline-middle">
|
||||
<Icon name="ph:calendar-blank" class="text-xl" />
|
||||
</div>
|
||||
<div class="shadow-md bg-base-200 rounded-lg p-4 w-full"
|
||||
class={(index % 2 ? 'timeline-end md:mb-10' : 'timeline-start md:mb-10 md:text-end')}>
|
||||
<div class="flex gap-4" class={(index % 2 ? 'justify-start' : 'justify-end')}>
|
||||
<div class="stat max-h-30 max-w-30 justify-center place-items-center rounded-xl text-white aspect-square shadow-md"
|
||||
class={(index % 2 ? `order-0 ` : `order-1`)}>
|
||||
<div class="stat-title text-white uppercase">{ item.data.day }</div>
|
||||
<div class="stat-value text-5xl">{ item.data.date }</div>
|
||||
<div class="stat-desc text-white uppercase">{ item.data.month } <span v-if="hasSummary">{ item.year }</span></div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div v-if="item.draft == 1" class="badge bg-carpared text-white" size="xs"><time
|
||||
class="text-xs uppercase">Borrador</time></div>
|
||||
<div class="text-lg mb-4">{ item.title }</div>
|
||||
<ul class="text-sm uppercase font-light opacity-60">
|
||||
<li v-if="item.country">
|
||||
<Icon name="ph:map-pin-line" class="text-carpared inline-block" /> { item.data.date }
|
||||
</li>
|
||||
<li v-if="item.activity || item.bible_study">
|
||||
<Icon name="ph:hash" class="text-carpared inline-block" /> { t("activities.activity") } { item.activity }<span
|
||||
v-if="item.bible_study"> | { t("activities.biblestudy") } { item.bible_study }</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="hasSummary" class="prose text-xs bg-base-100 mt-2 p-2 rounded-xl">
|
||||
<div v-html="item.all._formatted.body" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr v-if="index != tableItems.length - 1" />
|
||||
</li>
|
||||
))
|
||||
}
|
||||
|
||||
</ul>
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
import { defineCollection, z } from 'astro:content';
|
||||
|
||||
import { glob, file } from 'astro/loaders';
|
||||
|
||||
const conferences = defineCollection({
|
||||
loader: glob({ pattern: "**/*.md", base: "./src/data/conferences/" }),
|
||||
schema: z.object({
|
||||
updated: z.date().optional().nullable(),
|
||||
title: z.string(),
|
||||
date: z.date(),
|
||||
activity: z.number().optional().nullable(),
|
||||
author: z.string().optional(),
|
||||
city: z.string().optional(),
|
||||
state: z.string().optional(),
|
||||
country: z.string().optional(),
|
||||
duration: z.string().optional(),
|
||||
youtube: z.string().optional(),
|
||||
video: z.string().optional(),
|
||||
audio: z.string().optional(),
|
||||
booklet: z.string().optional(),
|
||||
simple: z.string().optional(),
|
||||
translations: z.array().optional(),
|
||||
files: z.array().optional(),
|
||||
thumbnail: z.string().optional(),
|
||||
translations: z.array(z.string().optional()).optional().nullable(),
|
||||
files: z.array(z.string().optional()).optional().nullable()
|
||||
}),
|
||||
});
|
||||
|
||||
const activities = defineCollection({
|
||||
loader: glob({ pattern: "**/*.md", base: "./src/data/activities/" }),
|
||||
schema: z.object({
|
||||
title: z.string(),
|
||||
date: z.date(),
|
||||
activity: z.number().optional().nullable(),
|
||||
author: z.string().optional(),
|
||||
city: z.string().optional(),
|
||||
state: z.string().optional(),
|
||||
country: z.string().optional(),
|
||||
duration: z.string().optional(),
|
||||
youtube: z.string().optional(),
|
||||
video: z.string().optional(),
|
||||
audio: z.string().optional(),
|
||||
booklet: z.string().optional(),
|
||||
simple: z.string().optional(),
|
||||
translations: z.array().optional(),
|
||||
files: z.array().optional(),
|
||||
thumbnail: z.string().optional(),
|
||||
translations: z.array(z.string().optional()).optional().nullable(),
|
||||
files: z.array(z.string().optional()).optional().nullable()
|
||||
}),
|
||||
});
|
||||
|
||||
export const collections = { conferences, activities };
|
||||
231
src/i18n/en.json
231
src/i18n/en.json
|
|
@ -1,231 +0,0 @@
|
|||
{
|
||||
"name": "English",
|
||||
"nav": {
|
||||
"home": "Home",
|
||||
"galleries": "Galleries",
|
||||
"contact": "Contact us",
|
||||
"live": "Live",
|
||||
"conferences": "Conferences",
|
||||
"conferenceshistory": "Conferences History",
|
||||
"actividades": "Activities",
|
||||
"activities": "Activities",
|
||||
"atividades": "Activities",
|
||||
"print": "Press",
|
||||
"search": "Search",
|
||||
"donations": "Donations",
|
||||
"bibleschool": "Bible School"
|
||||
},
|
||||
"footer": {
|
||||
"more_galleries": "See more galleries",
|
||||
"contact_us": "Contact Us",
|
||||
"close": "Close"
|
||||
},
|
||||
"locale": {
|
||||
"en": "English",
|
||||
"es": "Español",
|
||||
"fr": "Français",
|
||||
"pt": "Português"
|
||||
},
|
||||
"Index": {
|
||||
"title": "Latest published conferences"
|
||||
},
|
||||
"Yearlist": {
|
||||
"title": "By date"
|
||||
},
|
||||
"Galleries": {
|
||||
"title": "Galleries"
|
||||
},
|
||||
"Contact": {
|
||||
"title": "Contact us"
|
||||
},
|
||||
"Detail": {
|
||||
"related": "Related study"
|
||||
},
|
||||
"Conferences": {
|
||||
"single_title": "Conference",
|
||||
"title": "Conferences",
|
||||
"activity": "Activity",
|
||||
"duration": "Duration",
|
||||
"latest": " - Latest",
|
||||
"homepage": "Latest Conferences",
|
||||
"downloads": "Downloads",
|
||||
"transcription": "Transcription",
|
||||
"translations": "Translations",
|
||||
"links": "Links",
|
||||
"youtube": "Youtube",
|
||||
"video": "Video",
|
||||
"audio": "Audio",
|
||||
"book": "Book",
|
||||
"simple": "Simple",
|
||||
"epub": "ePub"
|
||||
},
|
||||
"Activities": {
|
||||
"single_title": "Activity",
|
||||
"title": "Activities",
|
||||
"activity": "Post",
|
||||
"homepage": "Latest Activities",
|
||||
"bible_study": "Bible Study #",
|
||||
"youtube": "Youtube",
|
||||
"video": "Video",
|
||||
"audio": "Audio",
|
||||
"book": "Libro",
|
||||
"simple": "Sencillo",
|
||||
"epub": "ePub",
|
||||
"translations": "Translations",
|
||||
"downloads": "Downloads",
|
||||
"draft": "Draft",
|
||||
"disclaimer1": "This text is a raw transcript of this Study, and is not intended for printing or publishing.",
|
||||
"disclaimer2": "Once the final text is available for printing and publishing, this disclaimer will be removed from this current page."
|
||||
},
|
||||
"Search": {
|
||||
"country": "Country",
|
||||
"state": "State",
|
||||
"city": "City",
|
||||
"index": "lgccc_vue_EN",
|
||||
"title": "Search",
|
||||
"filter": "Filter",
|
||||
"page": "Page",
|
||||
"placeholder": "Search for...",
|
||||
"hits_per_page": "hits per page",
|
||||
"hits_retrieved_in": "hits retrieved in",
|
||||
"for": "for",
|
||||
"tab1": {
|
||||
"tab_title": "Activities"
|
||||
},
|
||||
"tab2": {
|
||||
"tab_title": "Conferences"
|
||||
}
|
||||
},
|
||||
"LocaleSwitcher": {
|
||||
"switchLocale": "Language:"
|
||||
},
|
||||
"Homepage": {
|
||||
"extract": {
|
||||
"title": "",
|
||||
"author": "Dr. José Benjamín Pérez",
|
||||
"date": "",
|
||||
"place": "",
|
||||
"p1": "\"Aware that we are in the greatest time of all times; the time where God is fulfilling in our midst all that was spoken that would be fulfilled, materializing, in the midst of the Church, in this end time, in a Great Tent Cathedral.",
|
||||
"p2": "God is fulfilling everything to the letter; because it is His Word that cannot fall to the ground; but that Word does that for which it has been sent\".",
|
||||
"p3": "",
|
||||
"p4": "",
|
||||
"p5": "",
|
||||
"p6": "",
|
||||
"p7": ""
|
||||
},
|
||||
"news": {
|
||||
"p1": "On behalf of The Great Tent Cathedral, its pastor, Dr. José Benjamín Pérez Matos and the entire congregation of Cayey, Puerto Rico, we express our sincerest condolences to our Brother Joseph Branham and the entire Branham Family for the passing of our Brother Billy Paul Branham. We know that we will see him again very soon!",
|
||||
"linktext": "Official publication on branham.org",
|
||||
"link": "https://branham.org/en/articles/10192023_IHadADream"
|
||||
}
|
||||
},
|
||||
"Live": {
|
||||
"title": "Live",
|
||||
"tab1": {
|
||||
"tab_title": "Internet"
|
||||
},
|
||||
"tab2": {
|
||||
"tab_title": "Satellite Amazonas",
|
||||
"tunetitle": "Tune in to",
|
||||
"satelite_title": "Satellite:",
|
||||
"frequency_title": "Frequency:",
|
||||
"polarization_title": "Polarization:",
|
||||
"symbolrate_title": "Symbol Rate:",
|
||||
"fec_title": "FEC:",
|
||||
"satelite_description": "Amazonas 3 – 61° West",
|
||||
"frequency_description": "4139.4",
|
||||
"polarization_description": "Horizontal (H)",
|
||||
"symbolrate_description": "4.543",
|
||||
"fec_description": "3/4",
|
||||
"tools_title": "Tools",
|
||||
"button1_title": "Hispasat / Amazonas Reception",
|
||||
"button2_title": "Solar Interference Calculator",
|
||||
"button3_title": "Point your antenna to hispasat",
|
||||
"general_title": "General information",
|
||||
"paragraphs": {
|
||||
"paragraph_1": "The satellite being used for the transmissions is Hispasat's Amazonas 3 satellite, which is located at 61° West. The transmissions are carried out in Band C.",
|
||||
"paragraph_2": "This is the satellite footprint in Band C for the Americas (in dBW):",
|
||||
"paragraph_3": "The graph for the antenna diameters recommended by Hispasat is as follows:",
|
||||
"paragraph_4": "In the weaker parts of the footprint (33-36 dBW), and for areas where other topographical or signal impediments from other transmissions make signal reception more difficult, it is recommended to have 3 meter or larger antennas.",
|
||||
"paragraph_5": "It is important to remember that the larger the antenna size, the higher the gain, and therefore the more reliable the reception."
|
||||
},
|
||||
"sataudio": {
|
||||
"title": "Satellite Audio",
|
||||
"paragraph_1": "On the control of your receiver you should have the option to be able to change the stereo audio channel you receive. The languages, according to each pair, are as follows:",
|
||||
"disclaimer": "For the moment the languages will be available during live broadcasts. We will be implementing the translations in the regular programming in the near future.",
|
||||
"stereopair": "Stereo Pair",
|
||||
"channell": "L (Left)",
|
||||
"channelr": "R (Right)",
|
||||
"channel_data": {
|
||||
"1l": "Spanish",
|
||||
"1r": "Spanish",
|
||||
"2l": "English",
|
||||
"2r": "Portuguese",
|
||||
"3l": "French",
|
||||
"3r": "Kreyol",
|
||||
"4l": "Kinyarwanda",
|
||||
"4r": "Swahili",
|
||||
"5l": "Kirundi"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tab3": {
|
||||
"tab_title": "Satellite Eutelsat",
|
||||
"tunetitle": "Tune in to",
|
||||
"satelite_title": "Satellite:",
|
||||
"frequency_title": "Frequency:",
|
||||
"polarization_title": "Polarization:",
|
||||
"symbolrate_title": "Symbol Rate:",
|
||||
"fec_title": "FEC:",
|
||||
"satelite_description": "Eutelsat 8 West B",
|
||||
"frequency_description": "3986",
|
||||
"polarization_description": "R",
|
||||
"symbolrate_description": "4.543",
|
||||
"fec_description": "3/4",
|
||||
"general_title": "General information",
|
||||
"tools_title": "Tools",
|
||||
"button1_title": "Eutelsat Calculator",
|
||||
"paragraphs": {
|
||||
"paragraph_1": "We are already testing on the Eutelsat 8 West B satellite, at position 8° West.",
|
||||
"paragraph_2": "It is important that you have:",
|
||||
"paragraph_3": "1. C-band antennas, with CIRCULAR polarization LNBs. The recommendation is antennas of 3.0M or more. The larger the antenna, the better reception quality can be obtained.",
|
||||
"paragraph_4": "2. FTA (free to air) receivers compatible with MPEG-4, with DVB-S2, and 8PSK modulation.",
|
||||
"paragraph_5": "You can use this link to calculate the azimuth and elevation data of the antenna at your location: https://www.eutelsat.com/deploy_SorbamLight/pages/azimuthElevation.do?action=init",
|
||||
"paragraph_6": "Reception parameters for our signal test:",
|
||||
"paragraph_7": "Frequency: 3986",
|
||||
"paragraph_8": "Symbol Rate: 4543",
|
||||
"paragraph_9": "Polarity: R",
|
||||
"paragraph_10": "When you receive the signal, please send a report including your location to: lgcctv@carpa.com"
|
||||
},
|
||||
"sataudio": {
|
||||
"title": "Satellite Audio",
|
||||
"paragraph_1": "On the control of your receiver you should have the option to be able to change the stereo audio channel you receive. The languages, according to each pair, are as follows:",
|
||||
"disclaimer": "For the moment the languages will be available during live broadcasts. We will be implementing the translations in the regular programming in the near future.",
|
||||
"stereopair": "Stereo Pair",
|
||||
"channell": "L (Left)",
|
||||
"channelr": "R (Right)",
|
||||
"channel_data": {
|
||||
"1l": "Spanish",
|
||||
"1r": "Spanish",
|
||||
"2l": "English",
|
||||
"2r": "Portuguese",
|
||||
"3l": "French",
|
||||
"3r": "Kreyol",
|
||||
"4l": "Kinyarwanda",
|
||||
"4r": "Swahili",
|
||||
"5l": "Kirundi"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"day": "Day",
|
||||
"date": "Date",
|
||||
"activity": "Act.",
|
||||
"title": "Title",
|
||||
"city": "City",
|
||||
"state": "State",
|
||||
"country": "Country",
|
||||
"duration": "Duratión"
|
||||
}
|
||||
}
|
||||
273
src/i18n/es.json
273
src/i18n/es.json
|
|
@ -1,273 +0,0 @@
|
|||
{
|
||||
"name": "Español",
|
||||
"nav": {
|
||||
"home": "Inicio",
|
||||
"galleries": "Galerias",
|
||||
"contact": "Contáctenos",
|
||||
"live": "En Vivo",
|
||||
"conferences": "Conferencias",
|
||||
"conferenceshistory": "Historial de Conferencias",
|
||||
"actividades": "Actividades",
|
||||
"activities": "Actividades",
|
||||
"atividades": "Actividades",
|
||||
"search": "Buscar",
|
||||
"print": "Imprenta",
|
||||
"donations": "Donaciones",
|
||||
"bibleschool": "Escuela Bíblica"
|
||||
},
|
||||
"footer": {
|
||||
"more_galleries": "Ver más galerias",
|
||||
"contact_us": "Contáctenos",
|
||||
"close": "Cerrar"
|
||||
},
|
||||
"locale": {
|
||||
"en": "English",
|
||||
"es": "Español",
|
||||
"fr": "Français",
|
||||
"pt": "Português"
|
||||
},
|
||||
"Index": {
|
||||
"title": "Últimas conferencias publicadas"
|
||||
},
|
||||
"Yearlist": {
|
||||
"title": "Por fecha"
|
||||
},
|
||||
"Galleries": {
|
||||
"title": "Galerias"
|
||||
},
|
||||
"Contact": {
|
||||
"title": "Contáctenos"
|
||||
},
|
||||
"Detail": {
|
||||
"related": "Estudio relacionado"
|
||||
},
|
||||
"Conferences": {
|
||||
"single_title": "Conferencia",
|
||||
"title": "Conferencias",
|
||||
"activity": "Actividad",
|
||||
"duration": "Duración",
|
||||
"latest": " - Últimas",
|
||||
"homepage": "Últimas Conferencias",
|
||||
"downloads": "Descargas",
|
||||
"transcription": "Transcripción",
|
||||
"translations": "Traducciones",
|
||||
"links": "Enlaces",
|
||||
"youtube": "Youtube",
|
||||
"video": "Video",
|
||||
"audio": "Audio",
|
||||
"book": "Libro",
|
||||
"simple": "Sencillo",
|
||||
"epub": "ePub"
|
||||
},
|
||||
"Activities": {
|
||||
"single_title": "Actividad",
|
||||
"title": "Actividades",
|
||||
"activity": "Publicación",
|
||||
"homepage": "Últimas Publicaciones",
|
||||
"bible_study": "Estudio Bíblico #",
|
||||
"youtube": "Youtube",
|
||||
"video": "Video",
|
||||
"audio": "Audio",
|
||||
"book": "Libro",
|
||||
"simple": "Sencillo",
|
||||
"epub": "ePub",
|
||||
"translations": "Traducciones",
|
||||
"downloads": "Descargas",
|
||||
"draft": "Borrador",
|
||||
"disclaimer1": "Este texto es una transcripción cruda de este Estudio, y no es para ser impreso ni publicado.",
|
||||
"disclaimer2": "Una vez que se tenga el texto final para impresión y publicación, esta aclaratoria se eliminará de esta página actual."
|
||||
},
|
||||
"Print": {
|
||||
"title": "Imprenta",
|
||||
"categories_list": "Categorias",
|
||||
"files": "Archivos"
|
||||
},
|
||||
"Search": {
|
||||
"country": "País",
|
||||
"state": "Estado",
|
||||
"city": "Ciudad",
|
||||
"index": "lgccc_vue",
|
||||
"title": "Buscar",
|
||||
"filter": "Filtrar",
|
||||
"page": "Página",
|
||||
"placeholder": "Buscar...",
|
||||
"hits_per_page": "aciertos por página",
|
||||
"hits_retrieved_in": "aciertos logrados en",
|
||||
"for": "Buscando",
|
||||
"words": "palabras",
|
||||
"phrases": "frases",
|
||||
"words_tooltip": "Buscar por palabras",
|
||||
"phrases_tooltip": "Buscar por frases",
|
||||
"instructions": "Selecciona un resultado de busqueda...",
|
||||
"tab1": {
|
||||
"tab_title": "Actividades"
|
||||
},
|
||||
"tab2": {
|
||||
"tab_title": "Conferencias"
|
||||
}
|
||||
},
|
||||
"LocaleSwitcher": {
|
||||
"switchLocale": "Idioma:"
|
||||
},
|
||||
"Homepage": {
|
||||
"extract": {
|
||||
"title": "",
|
||||
"author": "Dr. José Benjamín Pérez",
|
||||
"date": "",
|
||||
"place": "",
|
||||
"p1": "\"Conscientes de que estamos en el tiempo más grande de todos los tiempos; el tiempo en donde Dios está cumpliendo en medio de nosotros todo lo que fue hablado que se estaría cumpliendo, materializando, en medio de la Iglesia, en este tiempo final, en una Gran Carpa Catedral.",
|
||||
"p2": "Todo Dios lo está cumpliendo al pie de la letra; porque es Su Palabra la que no puede caer en tierra; sino que esa Palabra hace aquello para lo cual ha sido enviada\".",
|
||||
"p3": "",
|
||||
"p4": "",
|
||||
"p5": "",
|
||||
"p6": "",
|
||||
"p7": ""
|
||||
},
|
||||
"news": {
|
||||
"p1": "De parte de La Gran Carpa Catedral, su pastor, el Dr. José Benjamín Pérez Matos y toda la congregación de Cayey, Puerto Rico, expresamos nuestras más sinceras condolencias a nuestro hermano José Branham y a toda la familia Branham por la partida de nuestro hermano Billy Paul Branham. ¡Sabemos que muy pronto le veremos nuevamente!",
|
||||
"linktext": "Publicación oficial en branham.org",
|
||||
"link": "https://branham.org/es/articles/10192023_IHadADream"
|
||||
}
|
||||
},
|
||||
"Live": {
|
||||
"title": "En Vivo",
|
||||
"tab1": {
|
||||
"tab_title": "Internet"
|
||||
},
|
||||
"tab2": {
|
||||
"tab_title": "Satélite Amazonas",
|
||||
"tunetitle": "Sintonizar",
|
||||
"satelite_title": "Satélite:",
|
||||
"frequency_title": "Frecuencia:",
|
||||
"polarization_title": "Polarización:",
|
||||
"symbolrate_title": "Symbol Rate:",
|
||||
"fec_title": "FEC:",
|
||||
"satelite_description": "Amazonas 3 – 61° Oeste",
|
||||
"frequency_description": "4139.4",
|
||||
"polarization_description": "Horizontal (H)",
|
||||
"symbolrate_description": "4.543",
|
||||
"fec_description": "3/4",
|
||||
"tools_title": "Herramientas",
|
||||
"button1_title": "Recepción Hispasat / Amazonas",
|
||||
"button2_title": "Calculadora de interferencia solar",
|
||||
"button3_title": "Apunta tu antena a hispasat",
|
||||
"general_title": "Información general",
|
||||
"paragraphs": {
|
||||
"paragraph_1": "El satélite que se está utilizando para las transmisiones es el satélite Amazonas 3 de Hispasat, el cual está ubicado a 61° Oeste. Las transmisiones son realizadas en la Banda C.",
|
||||
"paragraph_2": "Esta es la pisada del satélite en Banda C para las Américas (en dBW):",
|
||||
"paragraph_3": "La gráfica para los diámetros de antena recomendados por Hispasat es la siguiente:",
|
||||
"paragraph_4": "En las partes más débiles de la pisada (33-36 dBW), y para áreas donde otros impedimentos topográficos o de señales de otras transmisiones hagan más difícil la recepción de la señal, es recomendado tener antenas de 3 metros o de mayor tamaño.",
|
||||
"paragraph_5": "Es importante recordar que a mayor tamaño de antena, mayor será la ganancia, y por consiguiente más segura será la recepción."
|
||||
},
|
||||
"sataudio": {
|
||||
"title": "Audio Satelital",
|
||||
"paragraph_1": "En el control de su receptor deben tener la opción de poder cambiar el canal stereo de audio que reciben. Los idiomas, según cada par, son los siguientes:",
|
||||
"disclaimer": "Por el momento los idiomas estarán disponibles durante las transmisiones en vivo. Próximamente estaremos implementando las traducciones en la programación regular.",
|
||||
"stereopair": "Par Stereo",
|
||||
"channell": "Canal L (Izquierdo)",
|
||||
"channelr": "Canal R (Derecho)",
|
||||
"channel_data": {
|
||||
"1l": "Español",
|
||||
"1r": "Español",
|
||||
"2l": "Ingles",
|
||||
"2r": "Portugues",
|
||||
"3l": "Frances",
|
||||
"3r": "Kreyol",
|
||||
"4l": "Kinyarwanda",
|
||||
"4r": "Swahili",
|
||||
"5l": "Kirundi"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tab3": {
|
||||
"tab_title": "Satélite Eutelsat",
|
||||
"tunetitle": "Sintonizar",
|
||||
"satelite_title": "Satélite:",
|
||||
"frequency_title": "Frecuencia:",
|
||||
"polarization_title": "Polarización:",
|
||||
"symbolrate_title": "Symbol Rate:",
|
||||
"fec_title": "FEC:",
|
||||
"satelite_description": "Eutelsat 8 West B",
|
||||
"frequency_description": "3986",
|
||||
"polarization_description": "R",
|
||||
"symbolrate_description": "4.543",
|
||||
"fec_description": "3/4",
|
||||
"general_title": "Información general",
|
||||
"tools_title": "Herramientas",
|
||||
"button1_title": "Calculadora Eutelsat",
|
||||
"paragraphs": {
|
||||
"paragraph_1": "Ya estamos realizando pruebas en el satélte Eutelsat 8 West B, en la posición 8° Oeste.",
|
||||
"paragraph_2": "Es importante que tengan:",
|
||||
"paragraph_3": "1. Antenas para banda C, con LNBs de polarización CIRCULAR. La recomendación es antenas de 3.0M o más. Mientras más grande la antena, mejor calidad de recepción se puede obtener.",
|
||||
"paragraph_4": "2. Receptores FTA (free to air) compatibles con MPEG-4, con DVB-S2, y modulación 8PSK.",
|
||||
"paragraph_5": "Pueden usar este enlace para calcular los datos de azimuto y elevación de la antena en su localización: https://www.eutelsat.com/deploy_SorbamLight/pages/azimuthElevation.do?action=init",
|
||||
"paragraph_6": "Parámetros de recepción para nuestra prueba de señal:",
|
||||
"paragraph_7": "Frecuencia: 3986",
|
||||
"paragraph_8": "Symbol Rate: 4543",
|
||||
"paragraph_9": "Polaridad: R",
|
||||
"paragraph_10": "Cuando reciban la señal, por favor envíen un reporte incluyendo su localidad a: lgcctv@carpa.com"
|
||||
},
|
||||
"sataudio": {
|
||||
"title": "Audio Satelital",
|
||||
"paragraph_1": "En el control de su receptor deben tener la opción de poder cambiar el canal stereo de audio que reciben. Los idiomas, según cada par, son los siguientes:",
|
||||
"disclaimer": "Por el momento los idiomas estarán disponibles durante las transmisiones en vivo. Próximamente estaremos implementando las traducciones en la programación regular.",
|
||||
"stereopair": "Par Stereo",
|
||||
"channell": "Canal L (Izquierdo)",
|
||||
"channelr": "Canal R (Derecho)",
|
||||
"channel_data": {
|
||||
"1l": "Español",
|
||||
"1r": "Español",
|
||||
"2l": "Ingles",
|
||||
"2r": "Portugues",
|
||||
"3l": "Frances",
|
||||
"3r": "Kreyol",
|
||||
"4l": "Kinyarwanda",
|
||||
"4r": "Swahili",
|
||||
"5l": "Kirundi"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"social_networks": {
|
||||
"network_1": {
|
||||
"title": "Telegram",
|
||||
"url": "https://t.me/gccinfo",
|
||||
"icon": "fab fa-telegram",
|
||||
"color": "#0088cc"
|
||||
},
|
||||
"network_2": {
|
||||
"title": "YouTube",
|
||||
"url": "https://www.youtube.com/user/grancarpacatedral",
|
||||
"icon": "fab fa-youtube",
|
||||
"color": "#ff0000"
|
||||
},
|
||||
"network_3": {
|
||||
"title": "Facebook",
|
||||
"url": "https://www.facebook.com/GCarpaCatedral",
|
||||
"icon": "fab fa-facebook",
|
||||
"color": "#3b5998"
|
||||
},
|
||||
"network_4": {
|
||||
"title": "Instagram",
|
||||
"url": "https://www.instagram.com/grancarpacatedral",
|
||||
"icon": "fab fa-instagram",
|
||||
"color": "#5851db"
|
||||
},
|
||||
"network_5": {
|
||||
"title": "Twitter",
|
||||
"url": "https://twitter.com/gcarpacatedral",
|
||||
"icon": "fab fa-twitter",
|
||||
"color": "#00acee"
|
||||
}
|
||||
},
|
||||
"table": {
|
||||
"day": "Día",
|
||||
"date": "Fecha",
|
||||
"activity": "Act.",
|
||||
"title": "Título",
|
||||
"city": "Ciudad",
|
||||
"state": "Estado",
|
||||
"country": "País",
|
||||
"duration": "Duración"
|
||||
}
|
||||
}
|
||||
225
src/i18n/fr.json
225
src/i18n/fr.json
|
|
@ -1,225 +0,0 @@
|
|||
{
|
||||
"name": "Français",
|
||||
"nav": {
|
||||
"home": "Commencer",
|
||||
"live": "En Direct",
|
||||
"search": "Recherche",
|
||||
"contact": "Contactez-nous",
|
||||
"galleries": "Galeries",
|
||||
"activities": "Activities",
|
||||
"atividades": "Activities",
|
||||
"actividades": "Activities",
|
||||
"conferences": "Conférences",
|
||||
"print": "Press",
|
||||
"conferenceshistory": "Historique des conférences",
|
||||
"donations": "Dons",
|
||||
"bibleschool": "École biblique"
|
||||
},
|
||||
"footer": {
|
||||
"more_galleries": "Voir plus de galeries",
|
||||
"contact_us": "Contactez-nous",
|
||||
"close": "Fermer"
|
||||
},
|
||||
"Live": {
|
||||
"tab1": {
|
||||
"tab_title": "Internet"
|
||||
},
|
||||
"tab2": {
|
||||
"fec_title": "FEC:",
|
||||
"tab_title": "Satellite Amazonas",
|
||||
"tunetitle": "Écouter l'émission",
|
||||
"paragraphs": {
|
||||
"paragraph_1": "Le satellite utilisé pour les transmissions est le satellite Amazonas 3 de Hispasat, qui est situé à 61° Ouest. Les transmissions sont effectuées dans la bande C.",
|
||||
"paragraph_2": "Voici l'empreinte du satellite dans la bande C pour les Amériques (en dBW) :",
|
||||
"paragraph_3": "Le graphique pour les diamètres d'antenne recommandés par Hispasat est le suivant :",
|
||||
"paragraph_4": "Dans les parties les plus faibles de l'empreinte (33-36 dBW), et dans les zones où d'autres obstacles topographiques ou d'autres transmissions rendent la réception du signal plus difficile, il est recommandé d'utiliser des antennes de 3 mètres ou plus.",
|
||||
"paragraph_5": "Il est important de se rappeler que plus la taille de l'antenne est grande, plus le gain est élevé et donc plus la réception est fiable."
|
||||
},
|
||||
"tools_title": "Outils",
|
||||
"button1_title": "Réception Hispasat / Amazonas",
|
||||
"button2_title": "Calculateur d'interférences solaires",
|
||||
"button3_title": "Orientez votre antenne vers Hispasat",
|
||||
"general_title": "Informations générales sur Hispasat",
|
||||
"satelite_title": "Satellite:",
|
||||
"fec_description": "3/4",
|
||||
"frequency_title": "Fréquence:",
|
||||
"symbolrate_title": "Débit de symbole:",
|
||||
"polarization_title": "Polarisation:",
|
||||
"satelite_description": "Amazonas 3 – 61° Ouest",
|
||||
"frequency_description": "4139.4",
|
||||
"symbolrate_description": "4.543",
|
||||
"polarization_description": "Horizontale (H)",
|
||||
"sataudio": {
|
||||
"title": "Satellite Audio",
|
||||
"paragraph_1": "On the control of your receiver you should have the option to be able to change the stereo audio channel you receive. The languages, according to each pair, are as follows:",
|
||||
"disclaimer": "For the moment the languages will be available during live broadcasts. We will be implementing the translations in the regular programming in the near future.",
|
||||
"stereopair": "Stereo Pair",
|
||||
"channell": "L (Left)",
|
||||
"channelr": "R (Right)",
|
||||
"channel_data": {
|
||||
"1l": "Spanish",
|
||||
"1r": "Spanish",
|
||||
"2l": "English",
|
||||
"2r": "Portuguese",
|
||||
"3l": "French",
|
||||
"3r": "Kreyol",
|
||||
"4l": "Kinyarwanda",
|
||||
"4r": "Swahili",
|
||||
"5l": "Kirundi"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tab3": {
|
||||
"tab_title": "Satellite Eutelsat",
|
||||
"tunetitle": "Écouter l'émission",
|
||||
"frequency_title": "Fréquence:",
|
||||
"symbolrate_title": "Débit de symbole:",
|
||||
"polarization_title": "Polarisation:",
|
||||
"fec_title": "FEC:",
|
||||
"satelite_description": "Eutelsat 8 West B",
|
||||
"frequency_description": "3986",
|
||||
"polarization_description": "R",
|
||||
"symbolrate_description": "4.543",
|
||||
"fec_description": "3/4",
|
||||
"general_title": "Informations générales sur Eutelsat",
|
||||
"tools_title": "Outils",
|
||||
"button1_title": "Calculateur Eutelsat",
|
||||
"paragraphs": {
|
||||
"paragraph_1": "We are already testing on the Eutelsat 8 West B satellite, at position 8° West.",
|
||||
"paragraph_2": "It is important that you have:",
|
||||
"paragraph_3": "1. C-band antennas, with CIRCULAR polarization LNBs. The recommendation is antennas of 3.0M or more. The larger the antenna, the better reception quality can be obtained.",
|
||||
"paragraph_4": "2. FTA (free to air) receivers compatible with MPEG-4, with DVB-S2, and 8PSK modulation.",
|
||||
"paragraph_5": "You can use this link to calculate the azimuth and elevation data of the antenna at your location: https://www.eutelsat.com/deploy_SorbamLight/pages/azimuthElevation.do?action=init",
|
||||
"paragraph_6": "Reception parameters for our signal test:",
|
||||
"paragraph_7": "Frequency: 3986",
|
||||
"paragraph_8": "Symbol Rate: 4543",
|
||||
"paragraph_9": "Polarity: R",
|
||||
"paragraph_10": "When you receive the signal, please send a report including your location to: lgcctv@carpa.com"
|
||||
},
|
||||
"sataudio": {
|
||||
"title": "Satellite Audio",
|
||||
"paragraph_1": "On the control of your receiver you should have the option to be able to change the stereo audio channel you receive. The languages, according to each pair, are as follows:",
|
||||
"disclaimer": "For the moment the languages will be available during live broadcasts. We will be implementing the translations in the regular programming in the near future.",
|
||||
"stereopair": "Stereo Pair",
|
||||
"channell": "L (Left)",
|
||||
"channelr": "R (Right)",
|
||||
"channel_data": {
|
||||
"1l": "Spanish",
|
||||
"1r": "Spanish",
|
||||
"2l": "English",
|
||||
"2r": "Portuguese",
|
||||
"3l": "French",
|
||||
"3r": "Kreyol",
|
||||
"4l": "Kinyarwanda",
|
||||
"4r": "Swahili",
|
||||
"5l": "Kirundi"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "En Direct"
|
||||
},
|
||||
"Index": {
|
||||
"title": "Dernières conférences publiées"
|
||||
},
|
||||
"Search": {
|
||||
"for": "recherche",
|
||||
"city": "Ville",
|
||||
"page": "Page",
|
||||
"tab1": {
|
||||
"tab_title": "Activites"
|
||||
},
|
||||
"tab2": {
|
||||
"tab_title": "Conférences"
|
||||
},
|
||||
"index": "lgccc_vue",
|
||||
"state": "État",
|
||||
"title": "Recherche",
|
||||
"filter": "Filtre",
|
||||
"country": "Pays",
|
||||
"placeholder": "Chercher...",
|
||||
"hits_per_page": "frapper par page",
|
||||
"hits_retrieved_in": "frapper récupérer dans"
|
||||
},
|
||||
"locale": {
|
||||
"en": "English",
|
||||
"es": "Español",
|
||||
"fr": "Français",
|
||||
"pt": "Português"
|
||||
},
|
||||
"Contact": {
|
||||
"title": "Contactez-nous"
|
||||
},
|
||||
"Homepage": {
|
||||
"extract": {
|
||||
"p1": "\"Conscients que nous sommes dans le plus grand temps de tous les temps; le temps où Dieu accomplit au milieu de nous tout ce qui a été dit qui serait accompli, matérialisant, au milieu de l’Église, en ce temps de la fin, dans une Grande Tente Cathédrale.",
|
||||
"p2": "Tout, Dieu l'accomplit au pied de la lettre; car c’est Sa Parole qui ne peut pas tomber en terre; mais cette Parole accomplit Ses dessein\".",
|
||||
"p3": "",
|
||||
"p4": "",
|
||||
"p5": "",
|
||||
"p6": "",
|
||||
"p7": "",
|
||||
"date": "",
|
||||
"place": "",
|
||||
"title": "",
|
||||
"author": "Dr. José Benjamín Pérez"
|
||||
},
|
||||
"news": {
|
||||
"p1": "Au nom de la Cathédrale de la Grande Tente, de son pasteur, le Dr José Benjamín Pérez Matos et de toute la congrégation de Cayey, Porto Rico, nous exprimons nos plus sincères condoléances à notre frère Joseph Branham et à toute la famille Branham pour le décès de notre frère Billy Paul. Branham. Nous savons que nous le reverrons très bientôt !",
|
||||
"link": "https://branham.org/fr/articles/10192023_IHadADream",
|
||||
"linktext": "Publication officielle sur branham.org"
|
||||
}
|
||||
},
|
||||
"Yearlist": {
|
||||
"title": "Par date"
|
||||
},
|
||||
"Galleries": {
|
||||
"title": "Galeries"
|
||||
},
|
||||
"Detail": {
|
||||
"related": "Étude connexe"
|
||||
},
|
||||
"Activities": {
|
||||
"draft": "Projet",
|
||||
"single_title": "Activite",
|
||||
"title": "Activites",
|
||||
"youtube": "Youtube",
|
||||
"activity": "Publication",
|
||||
"homepage": "Dernières activités",
|
||||
"downloads": "Téléchargements",
|
||||
"bible_study": "Étude biblique #",
|
||||
"disclaimer1": "Ce texte est une transcription brute de cette étude et n'est pas destiné à être imprimé ou publié.",
|
||||
"disclaimer2": "Lorsque le texte final sera disponible pour l'impression et la publication, cette clause de non-responsabilité sera supprimée de cette page.",
|
||||
"translations": "Traductions"
|
||||
},
|
||||
"Conferences": {
|
||||
"book": "livre",
|
||||
"epub": "ePub",
|
||||
"audio": "l'audio",
|
||||
"links": "Liens",
|
||||
"single_title": "Conférence",
|
||||
"title": "Conférences",
|
||||
"video": "Vidéo",
|
||||
"latest": " - Dernière",
|
||||
"simple": "Simple",
|
||||
"youtube": "Youtube",
|
||||
"activity": "Activité",
|
||||
"duration": "Durée",
|
||||
"homepage": "Dernières Conférences",
|
||||
"downloads": "Téléchargements",
|
||||
"translations": "Traductions",
|
||||
"transcription": "Texte"
|
||||
},
|
||||
"LocaleSwitcher": {
|
||||
"switchLocale": "Idioma: FR"
|
||||
},
|
||||
"table": {
|
||||
"day": "Jour",
|
||||
"date": "Date",
|
||||
"activity": "Act.",
|
||||
"title": "Titre",
|
||||
"city": "Ville",
|
||||
"state": "État",
|
||||
"country": "Pays",
|
||||
"duration": "Durée"
|
||||
}
|
||||
}
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
|
||||
import english from "./en.json";
|
||||
import spanish from "./es.json";
|
||||
import portuguese from "./pt.json";
|
||||
import french from "./fr.json";
|
||||
|
||||
import { GetLocaleOptions } from "astro:i18n";
|
||||
|
||||
export const languages = {
|
||||
es: "Español",
|
||||
en: 'English',
|
||||
pt: "Portugues",
|
||||
fr: 'Français',
|
||||
};
|
||||
|
||||
export const getI18N = ({
|
||||
currentLocale = "es",
|
||||
}: {
|
||||
currentLocale: string | undefined;
|
||||
}) => {
|
||||
if (currentLocale === 'en') return english;
|
||||
if (currentLocale === 'es') return spanish;
|
||||
if (currentLocale === 'pt') return portuguese;
|
||||
if (currentLocale === 'fr') return french;
|
||||
return spanish;
|
||||
};
|
||||
226
src/i18n/pt.json
226
src/i18n/pt.json
|
|
@ -1,226 +0,0 @@
|
|||
{
|
||||
"name": "Português",
|
||||
"nav": {
|
||||
"home": "Inicio",
|
||||
"live": "Ao vivo",
|
||||
"search": "Buscar",
|
||||
"contact": "Contate-nos",
|
||||
"galleries": "Galerias",
|
||||
"activities": "Atividades",
|
||||
"atividades": "Atividades",
|
||||
"actividades": "Atividades",
|
||||
"conferences": "Conferências",
|
||||
"print": "Gráfica",
|
||||
"conferenceshistory": "História das conferências",
|
||||
"donations": "Doações",
|
||||
"bibleschool": "Escola Bíblica"
|
||||
},
|
||||
"footer": {
|
||||
"more_galleries": "Veja mais galerias",
|
||||
"contact_us": "Contate-nos",
|
||||
"close": "Fechar"
|
||||
},
|
||||
"Live": {
|
||||
"tab1": {
|
||||
"tab_title": "Internet"
|
||||
},
|
||||
"tab2": {
|
||||
"tab_title": "Satélite Amazonas",
|
||||
"tunetitle": "Sintonizar",
|
||||
"satelite_title": "Satélite:",
|
||||
"frequency_title": "Frecuencia:",
|
||||
"polarization_title": "Polarización:",
|
||||
"symbolrate_title": "Symbol Rate:",
|
||||
"fec_title": "FEC:",
|
||||
"satelite_description": "Amazonas 3 – 61° Oeste",
|
||||
"frequency_description": "4139.4",
|
||||
"polarization_description": "Horizontal (H)",
|
||||
"symbolrate_description": "4.543",
|
||||
"fec_description": "3/4",
|
||||
"tools_title": "Ferramentas",
|
||||
"button1_title": "Recepção Hispasat / Amazonas",
|
||||
"button2_title": "Calculadora de interferência solar",
|
||||
"button3_title": "Aponte a sua antena para o hispasat",
|
||||
"general_title": "Informações gerais",
|
||||
"paragraphs": {
|
||||
"paragraph_1": "O satélite utilizado para as transmissões é o satélite Amazonas 3 da Hispasat, situado a 61° Oeste. As transmissões são efectuadas em Banda C.",
|
||||
"paragraph_2": "Este é o footprint do satélite na Banda C para as Américas (em dBW):",
|
||||
"paragraph_3": "O gráfico para os diâmetros de antena recomendados pela Hispasat é o seguinte:",
|
||||
"paragraph_4": "Nas partes mais fracas da área de cobertura (33-36 dBW), e para áreas onde outros impedimentos topográficos ou de sinal de outras transmissões tornam a recepção do sinal mais difícil, recomenda-se ter antenas de 3 metros ou maiores.",
|
||||
"paragraph_5": "É importante lembrar que quanto maior for o tamanho da antena, maior será o ganho e, portanto, mais fiável será a recepção."
|
||||
},
|
||||
"sataudio": {
|
||||
"title": "Audio Satelital",
|
||||
"paragraph_1": "No controle do seu receptor devem ter a opção de alterar o canal estéreo do audio que recebem. Os idiomas, de acordo com cada par, são os seguintes:",
|
||||
"disclaimer": "Pelo momento, as línguas estarão disponíveis só durante as transmissões ao vivo. Estaremos implementando as traduções na programação regular em um futuro próximo.",
|
||||
"stereopair": "Par Estéreo",
|
||||
"channell": "L (Esquerdo)",
|
||||
"channelr": "R (Direito)",
|
||||
"channel_data": {
|
||||
"1l": "Espanhol",
|
||||
"1r": "Espanhol",
|
||||
"2l": "Inglês",
|
||||
"2r": "Português",
|
||||
"3l": "Crioulo",
|
||||
"3r": "Crioulo",
|
||||
"4l": "Kinyarwanda",
|
||||
"4r": "Suaíli",
|
||||
"5l": "Kirundi"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tab3": {
|
||||
"tab_title": "Satélite Eutelsat",
|
||||
"tunetitle": "Sintonizar",
|
||||
"satelite_title": "Satélite:",
|
||||
"frequency_title": "Frequência:",
|
||||
"polarization_title": "Polarização:",
|
||||
"symbolrate_title": "Symbol Rate:",
|
||||
"fec_title": "FEC:",
|
||||
"satelite_description": "Eutelsat 8 West B",
|
||||
"frequency_description": "3986",
|
||||
"polarization_description": "R",
|
||||
"symbolrate_description": "4.543",
|
||||
"fec_description": "3/4",
|
||||
"general_title": "Informações gerais",
|
||||
"tools_title": "Ferramentas",
|
||||
"button1_title": "Calculadora Eutelsat",
|
||||
"paragraphs": {
|
||||
"paragraph_1": "Já estamos realizando testes no satélite Eutelsat 8 West B, na posição 8° Leste.",
|
||||
"paragraph_2": "É importante que tenham:",
|
||||
"paragraph_3": "1. As antenas para banda C, com LNBs de polarização CIRCULAR. A recomendação é antenas de 3.0M ou a mais. Quanto maior a antena, melhor qualidade de recepção se poderá obter.",
|
||||
"paragraph_4": "2. Receptores FTA (Free to air) compatíveis com MPEG-4, com DVB-S2, e modulação 8PSK.",
|
||||
"paragraph_5": "Podem usar este link para calcular os dados de azimuto e elevação da antena na sua localização: https://www.eutelsat.com/deploy_SorbamLight/pages/azimuthElevation.do?action=init",
|
||||
"paragraph_6": "Parâmetros de recepção para nosso teste de sinal:",
|
||||
"paragraph_7": "Frequência: 3986",
|
||||
"paragraph_8": "Symbol Rate: 4543",
|
||||
"paragraph_9": "Polaridade: R",
|
||||
"paragraph_10": "Quando vocês recebam o sinal, por gentileza enviem reporte incluindo a sua localidade ao email: lgcctv@carpa.com"
|
||||
},
|
||||
"sataudio": {
|
||||
"title": "Audio Satelital",
|
||||
"stereopair": "Par Stereo",
|
||||
"paragraph_1": "No controle do seu receptor devem ter a opção de alterar o canal estéreo do audio que recebem. Os idiomas, de acordo com cada par, são os seguintes:",
|
||||
"disclaimer": "Pelo momento, as línguas estarão disponíveis só durante as transmissões ao vivo. Estaremos implementando as traduções na programação regular em um futuro próximo.",
|
||||
"channell": "Canal L (Esquerdo)",
|
||||
"channelr": "Canal R (Direito)",
|
||||
"channel_data": {
|
||||
"1l": "Espanhol",
|
||||
"1r": "Espanhol",
|
||||
"2l": "Inglês",
|
||||
"2r": "Português",
|
||||
"3l": "Crioulo",
|
||||
"3r": "Crioulo",
|
||||
"4l": "Kinyarwanda",
|
||||
"4r": "Suaíli",
|
||||
"5l": "Kirundi"
|
||||
}
|
||||
}
|
||||
},
|
||||
"title": "Ao Vivo"
|
||||
},
|
||||
"Index": {
|
||||
"title": "Últimas conferências publicadas"
|
||||
},
|
||||
"Search": {
|
||||
"for": "Para",
|
||||
"city": "Cidade",
|
||||
"page": "Página",
|
||||
"tab1": {
|
||||
"tab_title": "Atividades"
|
||||
},
|
||||
"tab2": {
|
||||
"tab_title": "Conferências"
|
||||
},
|
||||
"index": "lgccc_vue",
|
||||
"state": "Estado",
|
||||
"title": "Buscar",
|
||||
"filter": "Filtro",
|
||||
"country": "País",
|
||||
"placeholder": "Digite para pesquisar...",
|
||||
"hits_per_page": "Resultados por página",
|
||||
"hits_retrieved_in": "Resultados recuperados em"
|
||||
},
|
||||
"locale": {
|
||||
"en": "English",
|
||||
"es": "Español",
|
||||
"fr": "Français",
|
||||
"pt": "Português"
|
||||
},
|
||||
"Contact": {
|
||||
"title": "Contate-nos"
|
||||
},
|
||||
"Homepage": {
|
||||
"extract": {
|
||||
"p1": "\"Conscientes de que estamos no tempo maior de todos os tempos; o tempo onde Deus está cumprindo no meio de todos nós tudo o que foi falado que estaria se cumprindo, materializando, no meio da Igreja, neste tempo final, em uma Grande Carpa Catedral.",
|
||||
"p2": "Tudo Deus o está cumprindo ao pé da letra; porque é Sua Palavra a que não pode cair em terra; mas que essa Palavra faz aquilo para o qual foi enviada\".",
|
||||
"p3": "",
|
||||
"p4": "",
|
||||
"p5": "",
|
||||
"p6": "",
|
||||
"p7": "",
|
||||
"date": "",
|
||||
"place": "",
|
||||
"title": "",
|
||||
"author": "Dr. José Benjamín Pérez"
|
||||
},
|
||||
"news": {
|
||||
"p1": "Da parte de A Grande Carpa Catedral, seu pastor, o Dr. José Benjamín Pérez Matos e toda a congregação de Cayey, Porto Rico, expressamos nossas mais sinceras condolências ao nostro irmão José Branham e a toda a família Branham pela partida de nosso irmão Billy Paul Branham. Sabemos que muito em breve o veremos novamente!",
|
||||
"link": "https://branham.org/pt/articles/10192023_IHadADream",
|
||||
"linktext": "Publicación oficial en branham.org"
|
||||
}
|
||||
},
|
||||
"Yearlist": {
|
||||
"title": "Por data"
|
||||
},
|
||||
"Galleries": {
|
||||
"title": "Galerias"
|
||||
},
|
||||
"Detail": {
|
||||
"related": "Estudo relacionado"
|
||||
},
|
||||
"Activities": {
|
||||
"draft": "Rascunho",
|
||||
"single_title": "Atividad",
|
||||
"title": "Atividades",
|
||||
"youtube": "Youtube",
|
||||
"activity": "Publicação",
|
||||
"homepage": "Últimas atividades",
|
||||
"downloads": "Transferências",
|
||||
"bible_study": "Estudo Bíblico #",
|
||||
"disclaimer1": "Este texto é uma transcrição rudimentar deste Estudo e não deve ser impresso ou publicado.",
|
||||
"disclaimer2": "Assim que o texto final estiver pronto para impressão e publicação, este esclarecimento será retirado desta página atual.",
|
||||
"translations": "Traduções"
|
||||
},
|
||||
"Conferences": {
|
||||
"book": "Livro",
|
||||
"epub": "ePub",
|
||||
"audio": "áudio",
|
||||
"links": "Links",
|
||||
"single_title": "Conferencia",
|
||||
"title": "Conferências",
|
||||
"video": "Vídeo",
|
||||
"latest": " - Mais recente",
|
||||
"simple": "Simples",
|
||||
"youtube": "Youtube",
|
||||
"activity": "Atividade",
|
||||
"duration": "Duração",
|
||||
"homepage": "Últimas conferências",
|
||||
"downloads": "Transferências",
|
||||
"translations": "Traduções",
|
||||
"transcription": "Transcrição"
|
||||
},
|
||||
"LocaleSwitcher": {
|
||||
"switchLocale": "Idioma: PT"
|
||||
},
|
||||
"table": {
|
||||
"day": "Dia",
|
||||
"date": "Data",
|
||||
"activity": "Ati.",
|
||||
"title": "Título",
|
||||
"city": "Cidade",
|
||||
"state": "Estado",
|
||||
"country": "País",
|
||||
"duration": "Duração"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
export const languages = {
|
||||
es: 'Español',
|
||||
fr: 'Français',
|
||||
};
|
||||
|
||||
export const defaultLang = 'es';
|
||||
|
||||
export const ui = {
|
||||
es: {
|
||||
'nav.home': 'Inicio',
|
||||
'nav.activities': 'Actividades',
|
||||
'nav.conferences': 'Conferencias',
|
||||
'nav.print': 'Imprenta',
|
||||
'nav.donations': 'Donaciones',
|
||||
'nav.bibleschool': 'Escuela Bíblica',
|
||||
'nav.live': 'En Vivo',
|
||||
'nav.twitter': 'Twitter',
|
||||
'activities.homepage': 'Actividades',
|
||||
'activities.activity': 'Actividad',
|
||||
'activities.biblestudy': 'Estudio Bíblico',
|
||||
'activities.youtube': 'YouTube',
|
||||
'activities.video': 'Video',
|
||||
'activities.audio': 'Audio',
|
||||
'activities.draft': 'Borrador',
|
||||
'table.day': 'Día',
|
||||
'table.date': 'Fecha',
|
||||
'table.activity': 'Act.',
|
||||
'table.title': 'Título',
|
||||
'table.country': 'País',
|
||||
'table.downloads': 'Descargas',
|
||||
'ui.downloads': 'Descargas',
|
||||
'ui.grid': 'Rejilla',
|
||||
'ui.list': 'Lista',
|
||||
'ui.table': 'Tabla',
|
||||
'ui.timeline': 'Linea de Tiempo'
|
||||
},
|
||||
en: {
|
||||
'nav.home': 'Home',
|
||||
'nav.activities': 'Activities',
|
||||
'nav.conferences': 'Conferences',
|
||||
'nav.print': 'Print',
|
||||
'nav.donations': 'Donations',
|
||||
'nav.bibleschool': 'Bible School',
|
||||
'nav.live': 'Live',
|
||||
'nav.twitter': 'Twitter',
|
||||
'activities.homepage': 'Activities'
|
||||
}
|
||||
} as const;
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
import { ui, defaultLang } from './ui';
|
||||
|
||||
export function getLangFromUrl(url: URL) {
|
||||
const [, lang] = url.pathname.split('/');
|
||||
if (lang in ui) return lang as keyof typeof ui;
|
||||
return defaultLang;
|
||||
}
|
||||
|
||||
export function useTranslations(lang: keyof typeof ui) {
|
||||
return function t(key: keyof typeof ui[typeof defaultLang]) {
|
||||
return ui[lang][key] || ui[defaultLang][key];
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
import { ClientRouter } from "astro:transitions";
|
||||
import Header from "../components/Header.astro";
|
||||
import Footer from "../components/Footer.astro";
|
||||
|
||||
import "../styles/global.css";
|
||||
import YearList from "@components/YearList.astro";
|
||||
const { frontmatter } = Astro.props;
|
||||
|
||||
const year = Astro.params;
|
||||
|
||||
---
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
<ClientRouter />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<Header />
|
||||
<div class="container m-auto py-8">
|
||||
<div class="grid grid-cols-12 gap-6">
|
||||
<div class="col-span-2">
|
||||
|
||||
<div class="tabs tabs-box">
|
||||
<input type="radio" name="my_tabs_6" class="tab" aria-label="Por fecha" checked="checked"/>
|
||||
<div class="tab-content bg-base-100 border-base-300 p-0">
|
||||
|
||||
<YearList type="activities" />
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-span-10">
|
||||
<slot />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Footer />
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,109 @@
|
|||
---
|
||||
import Header from "../components/Header.astro";
|
||||
import Footer from "../components/Footer.astro";
|
||||
import years from "../data/conferences.json";
|
||||
import "../styles/global.css";
|
||||
const { frontmatter } = Astro.props;
|
||||
---
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<Header />
|
||||
<div class="container m-auto py-8">
|
||||
<div class="grid grid-cols-12 gap-6">
|
||||
<div class="col-span-2">
|
||||
|
||||
<div class="tabs tabs-box">
|
||||
<input type="radio" name="my_tabs_6" class="tab" aria-label="Por fecha" checked="checked"/>
|
||||
<div class="tab-content bg-base-100 border-base-300 p-0">
|
||||
|
||||
<!-- <ul class="menu rounded-box w-full">
|
||||
<li>
|
||||
<details open>
|
||||
<summary>2025</summary>
|
||||
<ul>
|
||||
<li><a>Diciembre</a></li>
|
||||
<li><a>Noviembre</a></li>
|
||||
</ul>
|
||||
</details>
|
||||
</li>
|
||||
<li><a>2024</a></li>
|
||||
<li><a>2023</a></li>
|
||||
<li><a>2022</a></li>
|
||||
<li><a>2021</a></li>
|
||||
</ul> -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="prose prose-p col-span-7 prose-h1:font-normal prose-h2:mb-0 prose-h2:font-normal prose-h3:font-normal"
|
||||
>
|
||||
<h1 class="text-2xl">{frontmatter.title}</h1>
|
||||
|
||||
{frontmatter.youtube && <div>{frontmatter.youtube}</div>}
|
||||
|
||||
{ frontmatter.thumbnail && (
|
||||
<img src={ frontmatter.thumbnail } class="aspect-video w-full" />
|
||||
)}
|
||||
|
||||
<slot />
|
||||
</div>
|
||||
<div class="col-span-3">
|
||||
<div class="card bg-white shadow-sm">
|
||||
<figure>
|
||||
<img
|
||||
src={frontmatter.thumbnail}
|
||||
alt="El cumplimiento pleno de las profecías para el Día Postrero"
|
||||
title="El cumplimiento pleno de las profecías para el Día Postrero"
|
||||
/>
|
||||
</figure>
|
||||
<div class="card-body p-4">
|
||||
<h2 class="text-lg leading-tight">{frontmatter.title}</h2>
|
||||
<ul class="text-md uppercase font-light opacity-60">
|
||||
<li>
|
||||
<span
|
||||
class="iconify i-ph:calendar text-carpared"
|
||||
aria-hidden="true"></span>
|
||||
{frontmatter.date}
|
||||
</li>
|
||||
<li>
|
||||
<span
|
||||
class="iconify i-ph:map-pin-line text-carpared"
|
||||
aria-hidden="true"></span>
|
||||
{frontmatter.city}, {frontmatter.country}
|
||||
</li>
|
||||
<li>
|
||||
<span
|
||||
class="iconify i-ph:hash text-carpared"
|
||||
aria-hidden="true"></span> Publicación {
|
||||
frontmatter.activity
|
||||
}
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
{ frontmatter.translations && frontmatter.translations.map( lang => (
|
||||
<li>{lang}</li>
|
||||
)) }
|
||||
</ul>
|
||||
<ul>
|
||||
{ frontmatter.files && frontmatter.files.map( file => (
|
||||
<li>{file}</li>
|
||||
)) }
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Footer />
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
import { ClientRouter } from "astro:transitions";
|
||||
import Header from "../components/Header.astro";
|
||||
import Footer from "../components/Footer.astro";
|
||||
|
||||
import "../styles/global.css";
|
||||
import YearList from "@components/YearList.astro";
|
||||
const { frontmatter } = Astro.props;
|
||||
|
||||
const year = Astro.params;
|
||||
|
||||
---
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
<ClientRouter />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<Header />
|
||||
<div class="container m-auto py-8">
|
||||
<div class="grid grid-cols-12 gap-6">
|
||||
<div class="col-span-2">
|
||||
|
||||
<div class="tabs tabs-box">
|
||||
<input type="radio" name="my_tabs_6" class="tab" aria-label="Por fecha" checked="checked"/>
|
||||
<div class="tab-content bg-base-100 border-base-300 p-0">
|
||||
|
||||
<YearList type="conferences" />
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-span-10">
|
||||
<slot />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<Footer />
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
import Header from "../components/Header.astro";
|
||||
import Footer from "../components/Footer.astro";
|
||||
import "../styles/global.css";
|
||||
---
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
<title>Astro</title>
|
||||
</head>
|
||||
<body>
|
||||
<Header />
|
||||
|
||||
<div>
|
||||
<slot />
|
||||
</div>
|
||||
|
||||
<Footer />
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,293 +0,0 @@
|
|||
---
|
||||
import Image from "astro/components/Image.astro";
|
||||
import "../../styles/global.css";
|
||||
import logo from "../../assets/logo.svg";
|
||||
import "@fontsource-variable/roboto-condensed";
|
||||
import { getRelativeLocaleUrlList } from "astro:i18n";
|
||||
import { getI18N } from "../../i18n/index";
|
||||
|
||||
export async function getStaticPaths() {
|
||||
// Use Astro's i18n utility to get a list of locale-specific paths
|
||||
// This will return an array like: ['/en', '/es', '/fr']
|
||||
const paths = getRelativeLocaleUrlList();
|
||||
|
||||
// Transform the paths into the format required by Astro
|
||||
return paths.map((url) => {
|
||||
// Extract the locale from the path. This assumes every locale has a prefix.
|
||||
const locale = url.split('/')[1]; // Extracts 'en', 'es', 'fr', etc.
|
||||
|
||||
// Return an object with the locale as a route parameter for Astro to generate the page
|
||||
return { params: { locale } };
|
||||
});
|
||||
}
|
||||
|
||||
const currentLocale = Astro.currentLocale ? Astro.currentLocale : "es";
|
||||
const i18n = getI18N({ currentLocale });
|
||||
const localeUrls = getRelativeLocaleUrlList();
|
||||
|
||||
// const activitiesData = await fetch(`https://actividadeswp.carpa.com/v3/actividades/?cache=false&f=list&limit=8&locale=${currentLocale}`)
|
||||
// const activities = activitiesData.json();
|
||||
// const aData = await activities;
|
||||
|
||||
---
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
<title>Astro</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="drawer">
|
||||
<input id="my-drawer-3" type="checkbox" class="drawer-toggle" />
|
||||
<div class="drawer-content flex flex-col">
|
||||
<!-- Header -->
|
||||
<div class="mx-auto container py-3">
|
||||
<div class="navbar">
|
||||
<div class="navbar-start">
|
||||
<div class="dropdown">
|
||||
<div class="flex-none lg:hidden">
|
||||
<label
|
||||
for="my-drawer-3"
|
||||
aria-label="open sidebar"
|
||||
class="btn btn-square btn-ghost"
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
class="inline-block h-6 w-6 stroke-current"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
stroke-width="2"
|
||||
d="M4 6h16M4 12h16M4 18h16"
|
||||
></path>
|
||||
</svg>
|
||||
</label>
|
||||
</div>
|
||||
<ul
|
||||
tabindex="0"
|
||||
class="menu menu-sm dropdown-content bg-base-100 rounded-box z-1 mt-3 w-52 p-2 shadow uppercase"
|
||||
>
|
||||
<li><a href="#">{i18n.nav.home}</a></li>
|
||||
<li><a href="#">{i18n.nav.activities}</a></li>
|
||||
<li><a href="#">{i18n.nav.conferences}</a></li>
|
||||
<li><a href="#">{i18n.nav.print}</a></li>
|
||||
<li><a href="#">{i18n.nav.donations}</a></li>
|
||||
<li><a href="#">{i18n.nav.bibleschool}</a></li>
|
||||
<li><a href="#">{i18n.nav.live}</a></li>
|
||||
<li><a href="#">{i18n.nav.search}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a class="btn btn-link text-xl"
|
||||
><Image
|
||||
src={logo}
|
||||
alt="La Gran Carpa Catedral"
|
||||
/></a
|
||||
>
|
||||
</div>
|
||||
<div class="navbar-center hidden lg:flex">
|
||||
<ul class="menu menu-horizontal px-1 uppercase text-[16px]">
|
||||
<li><a href="#">{i18n.nav.home}</a></li>
|
||||
<li><a href="#">{i18n.nav.activities}</a></li>
|
||||
<li><a href="#">{i18n.nav.conferences}</a></li>
|
||||
<li><a href="#">{i18n.nav.print}</a></li>
|
||||
<li><a href="#">{i18n.nav.donations}</a></li>
|
||||
<li><a href="#">{i18n.nav.bibleschool}</a></li>
|
||||
<li><a href="#">{i18n.nav.live}</a></li>
|
||||
</ul>
|
||||
<a href="#" class="uppercase text-[16px]">{i18n.nav.search}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Header -->
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<div class="bg-neutral-200 min-h-8">
|
||||
<div class="container mx-auto flex items-center justify-between px-4">
|
||||
<div class="breadcrumbs text-xs uppercase">
|
||||
<ul>
|
||||
<li><a>{i18n.nav.home}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="dropdown dropdown-end">
|
||||
<!-- <div
|
||||
tabindex="0"
|
||||
role="button"
|
||||
class="btn btn-link m-1 uppercase"
|
||||
>
|
||||
{i18n.name}
|
||||
</div>
|
||||
<ul id="language-picker"
|
||||
tabindex="0"
|
||||
class="dropdown-content menu bg-base-100 rounded-box z-1 w-52 p-2 shadow-sm"
|
||||
>
|
||||
{localeUrls.map((url) => {
|
||||
const locale = url.split('/')[1] || 'en'; // Default locale if no prefix
|
||||
|
||||
return (
|
||||
<li><a href={`/${locale}`} >{i18n.locale[locale]}</a></li>
|
||||
);
|
||||
})}
|
||||
</ul> -->
|
||||
<select
|
||||
id="language-picker"
|
||||
class="bg-gray-100 text-gray-700 text-sm font-medium rounded-lg px-4 py-2 pr-8 hover:bg-gray-200 transition-colors focus:outline-none focus:ring-2 focus:ring-emerald-500"
|
||||
aria-label="Select language"
|
||||
>
|
||||
{localeUrls.map((url) => {
|
||||
const locale = url.split('/')[1] || 'en'; // Default locale if no prefix
|
||||
|
||||
return (
|
||||
<option value={locale} selected={currentLocale === locale}>
|
||||
{i18n.locale[locale]}
|
||||
</option>
|
||||
);
|
||||
})}
|
||||
</select>
|
||||
|
||||
<!-- Link to the JavaScript file for interactivity -->
|
||||
<script src="/js/languagePicker.js" defer>
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--End Breadcrumbs -->
|
||||
|
||||
<!--Main Content -->
|
||||
<div class="bg-white">
|
||||
<div class="container mx-auto p-4 grid xl:grid-cols-5 lg:grid-cols-4 gap-3 md:grid-cols-3 sm:grid-cols-1 gap-4">
|
||||
|
||||
<div class="card bg-base-100 shadow-sm">
|
||||
<figure>
|
||||
<img
|
||||
src="https://ik.imagekit.io/lgccc/tr:w-1920,f-auto/youtube_thumbnail_46396.png"
|
||||
alt="Shoes" />
|
||||
</figure>
|
||||
<div class="card-body p-3">
|
||||
<h2 class="card-title text-sm">Dios protegiendo el ministerio en el velo de carne</h2>
|
||||
<ul>
|
||||
<li>Jueves, 10 de julio de 2025</li>
|
||||
<li>Cayey, Puerto Rico</li>
|
||||
<li>Publicación 1</li>
|
||||
</ul>
|
||||
<div class="card-actions justify-end">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card bg-base-100 shadow-sm bg-gradient-to-t from-carpagreen/30 to-white">
|
||||
<figure>
|
||||
<img
|
||||
src="https://ik.imagekit.io/lgccc/tr:w-1920,f-auto/youtube_thumbnail_46396.png"
|
||||
alt="Shoes" />
|
||||
</figure>
|
||||
<div class="card-body p-3">
|
||||
<h2 class="card-title ">Dios protegiendo el ministerio en el velo de carne</h2>
|
||||
<ul>
|
||||
<li>Jueves, 10 de julio de 2025</li>
|
||||
<li>Cayey, Puerto Rico</li>
|
||||
<li>Publicación 1</li>
|
||||
</ul>
|
||||
<div class="card-actions justify-end">
|
||||
<button class="btn btn-primary">Descargas</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card bg-base-100 shadow-sm">
|
||||
<figure>
|
||||
<img
|
||||
src="https://ik.imagekit.io/lgccc/tr:w-1920,f-auto/youtube_thumbnail_46396.png"
|
||||
alt="Shoes" />
|
||||
</figure>
|
||||
<div class="card-body p-3">
|
||||
<h2 class="card-title text-sm">Dios protegiendo el ministerio en el velo de carne</h2>
|
||||
<ul>
|
||||
<li>Jueves, 10 de julio de 2025</li>
|
||||
<li>Cayey, Puerto Rico</li>
|
||||
<li>Publicación 1</li>
|
||||
</ul>
|
||||
<div class="card-actions justify-end">
|
||||
<button class="btn btn-primary">Descargas</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card bg-base-100 shadow-sm">
|
||||
<figure>
|
||||
<img
|
||||
src="https://ik.imagekit.io/lgccc/tr:w-1920,f-auto/youtube_thumbnail_46396.png"
|
||||
alt="Shoes" />
|
||||
</figure>
|
||||
<div class="card-body p-3">
|
||||
<h2 class="card-title">Dios protegiendo el ministerio en el velo de carne</h2>
|
||||
<ul>
|
||||
<li>Jueves, 10 de julio de 2025</li>
|
||||
<li>Cayey, Puerto Rico</li>
|
||||
<li>Publicación 1</li>
|
||||
</ul>
|
||||
<div class="card-actions justify-end">
|
||||
<button class="btn btn-primary">Descargas</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card bg-base-100 shadow-sm">
|
||||
<figure>
|
||||
<img
|
||||
src="https://ik.imagekit.io/lgccc/tr:w-1920,f-auto/youtube_thumbnail_46396.png"
|
||||
alt="Shoes" />
|
||||
</figure>
|
||||
<div class="card-body p-3">
|
||||
<h2 class="card-title">Dios protegiendo el ministerio en el velo de carne</h2>
|
||||
<ul>
|
||||
<li>Jueves, 10 de julio de 2025</li>
|
||||
<li>Cayey, Puerto Rico</li>
|
||||
<li>Publicación 1</li>
|
||||
</ul>
|
||||
<div class="card-actions justify-end">
|
||||
<button class="btn btn-primary">Descargas</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!--End Main Content -->
|
||||
|
||||
<!--Footer -->
|
||||
<div class="bg-neutral-200">
|
||||
<div class="container mx-auto flex items-center justify-between p-4">
|
||||
Footer Content
|
||||
</div>
|
||||
<div class="bg-neutral-300">
|
||||
<div class="container mx-auto flex items-centere justify-center p-2 text-sm">
|
||||
© La Gran Carpa Catedral, Corp. 2024
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--End Footer -->
|
||||
</div>
|
||||
|
||||
<!--Sidebar -->
|
||||
<div class="drawer-side">
|
||||
<label
|
||||
for="my-drawer-3"
|
||||
aria-label="close sidebar"
|
||||
class="drawer-overlay"></label>
|
||||
<ul class="menu bg-base-200 min-h-full w-80 p-4">
|
||||
<!-- Sidebar content here -->
|
||||
<li><a>Sidebar Item 1</a></li>
|
||||
<li><a>Sidebar Item 2</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--End Sidebar -->
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
---
|
||||
import { getCollection, render } from 'astro:content';
|
||||
import Layout from '@layouts/ActivitiesList.astro';
|
||||
import { Icon } from 'astro-icon/components'
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const posts = await getCollection('activities');
|
||||
return posts.map(post => ({
|
||||
params: { id: post.id },
|
||||
props: { post },
|
||||
}));
|
||||
}
|
||||
|
||||
const { post } = Astro.props;
|
||||
const { Content } = await render(post);
|
||||
---
|
||||
|
||||
<Layout>
|
||||
<main class="grid grid-cols-10 gap-6">
|
||||
<div class="col-span-10 navbar z-2 px-2 sticky top-0 bg-white shadow-xl rounded-md">
|
||||
<div class="flex-1 p-2">
|
||||
<h1 class="text-xl md:text-2xl">
|
||||
{ post.data.title }
|
||||
</h1>
|
||||
</div>
|
||||
<div class="hidden lg:flex">
|
||||
<button class="btn btn-ghost" type="button">
|
||||
<Icon name="ph:arrow-square-left" class="text-carpared inline-block text-2xl" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="prose prose-p col-span-7 prose-h1:font-normal prose-h2:mb-0 prose-h2:font-normal prose-h3:font-normal"
|
||||
>
|
||||
{ post.data.thumbnail && (
|
||||
<img src={ `https://api.carpa.com/assets/${post.data.thumbnail}` } class="aspect-video w-full rounded-lg" />
|
||||
)}
|
||||
|
||||
<Content />
|
||||
</div>
|
||||
<div class="col-span-3">
|
||||
<div class="card bg-white shadow-sm">
|
||||
<figure>
|
||||
<img
|
||||
src=`https://api.carpa.com/assets/${post.data.thumbnail}`
|
||||
alt={post.data.title}
|
||||
title={post.data.title}
|
||||
/>
|
||||
</figure>
|
||||
<div class="card-body p-4">
|
||||
<h2 class="text-lg leading-tight">{post.data.title}</h2>
|
||||
<ul class="text-md uppercase font-light opacity-60">
|
||||
<li>
|
||||
<span
|
||||
class="iconify i-ph:calendar text-carpared"
|
||||
aria-hidden="true"></span>
|
||||
{post.data.date}
|
||||
</li>
|
||||
<li>
|
||||
<span
|
||||
class="iconify i-ph:map-pin-line text-carpared"
|
||||
aria-hidden="true"></span>
|
||||
{post.data.city}, {post.data.country}
|
||||
</li>
|
||||
<li>
|
||||
<span
|
||||
class="iconify i-ph:hash text-carpared"
|
||||
aria-hidden="true"></span> Publicación {
|
||||
post.data.activity
|
||||
}
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
{ post.data.translations && post.data.translations.map( lang => (
|
||||
<li>{lang}</li>
|
||||
)) }
|
||||
</ul>
|
||||
<ul>
|
||||
{ post.data.files && post.data.files.map( file => (
|
||||
<li>{file}</li>
|
||||
)) }
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</Layout>
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
import { getCollection } from 'astro:content';
|
||||
import Layout from '@layouts/ActivitiesList.astro';
|
||||
import List from '@components/views/List.astro';
|
||||
import Grid from '@components/views/Grid.astro';
|
||||
import LayoutSwitcher from '@components/LayoutSwitcher.astro';
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const posts = await getCollection('activities');
|
||||
const yearMonthCombos = [...new Set(posts.map(post => {
|
||||
const year = post.data.date.getFullYear();
|
||||
const month = (post.data.date.getMonth() + 1).toString().padStart(2, '0');
|
||||
return `${year}-${month}`;
|
||||
}))];
|
||||
|
||||
return yearMonthCombos.map(combo => {
|
||||
const [year, month] = combo.split('-');
|
||||
return {
|
||||
params: { year, month },
|
||||
props: {
|
||||
year: parseInt(year),
|
||||
month: parseInt(month),
|
||||
posts: posts.filter(post => {
|
||||
const postYear = post.data.date.getFullYear();
|
||||
const postMonth = post.data.date.getMonth() + 1;
|
||||
return postYear === parseInt(year) && postMonth === parseInt(month);
|
||||
}).sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf())
|
||||
},
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
const { year, month, posts } = Astro.props;
|
||||
---
|
||||
<Layout>
|
||||
<div class="container m-auto">
|
||||
|
||||
<div class="navbar bg-base-100 border-b-2 border-neutral-200 pb-2 mb-2">
|
||||
<div class="flex-1">
|
||||
<h1 class="text-xl md:text-2xl">
|
||||
{ year }
|
||||
</h1>
|
||||
</div>
|
||||
<div class="flex-0">
|
||||
<LayoutSwitcher />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Grid data={posts} type="activities" />
|
||||
|
||||
</div>
|
||||
</Layout>
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
import { getCollection } from 'astro:content';
|
||||
import Layout from '@layouts/ActivitiesList.astro';
|
||||
import List from '@components/views/List.astro';
|
||||
import Grid from '@components/views/Grid.astro';
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const posts = await getCollection('activities');
|
||||
const years = [...new Set(posts.map(post => post.data.date.getFullYear()))];
|
||||
|
||||
return years.map(year => ({
|
||||
params: { year: year.toString() },
|
||||
props: {
|
||||
year,
|
||||
posts: posts.filter(post => post.data.date.getFullYear() === year)
|
||||
.sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf())
|
||||
},
|
||||
}));
|
||||
}
|
||||
|
||||
const { year, posts } = Astro.props;
|
||||
---
|
||||
<Layout>
|
||||
<div class="container m-auto py-8">
|
||||
<h1>Year: { year }</h1>
|
||||
<h2>Posts { posts.length }:</h2>
|
||||
|
||||
<Grid data={posts} type="activities" />
|
||||
|
||||
</div>
|
||||
</Layout>
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
import { getCollection } from 'astro:content';
|
||||
import Layout from '@layouts/ActivitiesList.astro';
|
||||
import List from '@components/views/List.astro';
|
||||
import Grid from '@components/views/Grid.astro';
|
||||
|
||||
let posts = await getCollection('activities');
|
||||
posts = posts.sort(
|
||||
(a, b) => a.data.updated - b.data.updated,
|
||||
).slice(0,16);
|
||||
---
|
||||
<Layout>
|
||||
<div class="container m-auto py-8">
|
||||
<h1>Activities</h1>
|
||||
<h2>Posts { posts.length }:</h2>
|
||||
|
||||
<Grid data={posts} type="activities" />
|
||||
|
||||
</div>
|
||||
</Layout>
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
---
|
||||
import { getCollection, render } from 'astro:content';
|
||||
import Layout from '@layouts/ConferencesList.astro';
|
||||
import { Icon } from 'astro-icon/components'
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const posts = await getCollection('conferences');
|
||||
return posts.map(post => ({
|
||||
params: { id: post.id },
|
||||
props: { post },
|
||||
}));
|
||||
}
|
||||
|
||||
const { post } = Astro.props;
|
||||
const { Content } = await render(post);
|
||||
---
|
||||
|
||||
<Layout>
|
||||
<main class="grid grid-cols-10 gap-6">
|
||||
<div class="col-span-10 navbar z-2 px-2 sticky top-0 bg-white shadow-xl rounded-md">
|
||||
<div class="flex-1 p-2">
|
||||
<h1 class="text-xl md:text-2xl">
|
||||
{ post.data.title }
|
||||
</h1>
|
||||
</div>
|
||||
<div class="hidden lg:flex">
|
||||
<button class="btn btn-ghost" type="button">
|
||||
<Icon name="ph:arrow-square-left" class="text-carpared inline-block text-2xl" />
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="prose prose-p col-span-7 prose-h1:font-normal prose-h2:mb-0 prose-h2:font-normal prose-h3:font-normal"
|
||||
>
|
||||
{ post.data.thumbnail && (
|
||||
<img src={ `https://api.carpa.com/assets/${post.data.thumbnail}` } class="aspect-video w-full rounded-lg" />
|
||||
)}
|
||||
|
||||
<Content />
|
||||
</div>
|
||||
<div class="col-span-3">
|
||||
<div class="card bg-white shadow-sm">
|
||||
<figure>
|
||||
<img
|
||||
src=`https://api.carpa.com/assets/${post.data.thumbnail}`
|
||||
alt={post.data.title}
|
||||
title={post.data.title}
|
||||
/>
|
||||
</figure>
|
||||
<div class="card-body p-4">
|
||||
<h2 class="text-lg leading-tight">{post.data.title}</h2>
|
||||
<ul class="text-md uppercase font-light opacity-60">
|
||||
<li>
|
||||
<span
|
||||
class="iconify i-ph:calendar text-carpared"
|
||||
aria-hidden="true"></span>
|
||||
{post.data.date}
|
||||
</li>
|
||||
<li>
|
||||
<span
|
||||
class="iconify i-ph:map-pin-line text-carpared"
|
||||
aria-hidden="true"></span>
|
||||
{post.data.city}, {post.data.country}
|
||||
</li>
|
||||
<li>
|
||||
<span
|
||||
class="iconify i-ph:hash text-carpared"
|
||||
aria-hidden="true"></span> Publicación {
|
||||
post.data.activity
|
||||
}
|
||||
</li>
|
||||
</ul>
|
||||
<ul>
|
||||
{ post.data.translations && post.data.translations.map( lang => (
|
||||
<li>{lang}</li>
|
||||
)) }
|
||||
</ul>
|
||||
<ul>
|
||||
{ post.data.files && post.data.files.map( file => (
|
||||
<li>{file}</li>
|
||||
)) }
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
</Layout>
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
---
|
||||
import { getCollection } from 'astro:content';
|
||||
import Layout from '@layouts/ConferencesList.astro';
|
||||
import List from '@components/views/List.astro';
|
||||
import Grid from '@components/views/Grid.astro';
|
||||
import LayoutSwitcher from '@components/LayoutSwitcher.astro';
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const posts = await getCollection('conferences');
|
||||
const yearMonthCombos = [...new Set(posts.map(post => {
|
||||
const year = post.data.date.getFullYear();
|
||||
const month = (post.data.date.getMonth() + 1).toString().padStart(2, '0');
|
||||
return `${year}-${month}`;
|
||||
}))];
|
||||
|
||||
return yearMonthCombos.map(combo => {
|
||||
const [year, month] = combo.split('-');
|
||||
return {
|
||||
params: { year, month },
|
||||
props: {
|
||||
year: parseInt(year),
|
||||
month: parseInt(month),
|
||||
posts: posts.filter(post => {
|
||||
const postYear = post.data.date.getFullYear();
|
||||
const postMonth = post.data.date.getMonth() + 1;
|
||||
return postYear === parseInt(year) && postMonth === parseInt(month);
|
||||
}).sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf())
|
||||
},
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
const { year, month, posts } = Astro.props;
|
||||
---
|
||||
<Layout>
|
||||
<div class="container m-auto">
|
||||
|
||||
<div class="navbar bg-base-100 border-b-2 border-neutral-200 pb-2 mb-2">
|
||||
<div class="flex-1">
|
||||
<h1 class="text-xl md:text-2xl">
|
||||
{ year }
|
||||
</h1>
|
||||
</div>
|
||||
<div class="flex-0">
|
||||
<LayoutSwitcher />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Grid data={posts} type="conferences" />
|
||||
|
||||
</div>
|
||||
</Layout>
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
import { getCollection } from 'astro:content';
|
||||
import Layout from '@layouts/ConferencesList.astro';
|
||||
import List from '@components/views/List.astro';
|
||||
import Grid from '@components/views/Grid.astro';
|
||||
|
||||
export async function getStaticPaths() {
|
||||
const posts = await getCollection('conferences');
|
||||
const years = [...new Set(posts.map(post => post.data.date.getFullYear()))];
|
||||
|
||||
return years.map(year => ({
|
||||
params: { year: year.toString() },
|
||||
props: {
|
||||
year,
|
||||
posts: posts.filter(post => post.data.date.getFullYear() === year)
|
||||
.sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf())
|
||||
},
|
||||
}));
|
||||
}
|
||||
|
||||
const { year, posts } = Astro.props;
|
||||
---
|
||||
<Layout>
|
||||
<div class="container m-auto py-8">
|
||||
<h1>Year: { year }</h1>
|
||||
<h2>Posts { posts.length }:</h2>
|
||||
|
||||
<Grid data={posts} type="conferences" />
|
||||
|
||||
</div>
|
||||
</Layout>
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
import { getCollection } from 'astro:content';
|
||||
import Layout from '@layouts/ConferencesList.astro';
|
||||
import List from '@components/views/List.astro';
|
||||
import Grid from '@components/views/Grid.astro';
|
||||
|
||||
let posts = await getCollection('conferences');
|
||||
posts = posts.sort(
|
||||
(a, b) => b.data.updated - a.data.updated,
|
||||
).slice(0,16);
|
||||
---
|
||||
<Layout>
|
||||
<div class="container m-auto py-8">
|
||||
<h1>Conferences</h1>
|
||||
<h2>Posts { posts.length }:</h2>
|
||||
|
||||
<Grid data={posts} type="conferences" />
|
||||
|
||||
</div>
|
||||
</Layout>
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
|
||||
import { getCollection, render } from 'astro:content';
|
||||
|
||||
// Get all entries from a collection.
|
||||
// Requires the name of the collection as an argument.
|
||||
//const conferences = await getCollection('conferences');
|
||||
|
||||
const language = Astro.params;
|
||||
|
||||
---
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
<title>Astro</title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Astro</h1>
|
||||
Language: { language }
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,152 +0,0 @@
|
|||
---
|
||||
import Image from "astro/components/Image.astro";
|
||||
import "../../styles/global.css";
|
||||
import logo from "../../assets/logo.svg";
|
||||
import "@fontsource-variable/roboto-condensed";
|
||||
---
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta name="generator" content={Astro.generator} />
|
||||
<title>Astro</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="drawer">
|
||||
<input id="my-drawer-3" type="checkbox" class="drawer-toggle" />
|
||||
<div class="drawer-content flex flex-col">
|
||||
<!-- Header -->
|
||||
<div class="mx-auto container py-3">
|
||||
<div class="navbar">
|
||||
<div class="navbar-start">
|
||||
<div class="dropdown">
|
||||
<div class="flex-none lg:hidden">
|
||||
<label
|
||||
for="my-drawer-3"
|
||||
aria-label="open sidebar"
|
||||
class="btn btn-square btn-ghost"
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
fill="none"
|
||||
viewBox="0 0 24 24"
|
||||
class="inline-block h-6 w-6 stroke-current"
|
||||
>
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
stroke-width="2"
|
||||
d="M4 6h16M4 12h16M4 18h16"
|
||||
></path>
|
||||
</svg>
|
||||
</label>
|
||||
</div>
|
||||
<ul
|
||||
tabindex="0"
|
||||
class="menu menu-sm dropdown-content bg-base-100 rounded-box z-1 mt-3 w-52 p-2 shadow uppercase"
|
||||
>
|
||||
<li><a href="#">Inicio</a></li>
|
||||
<li><a href="#">Actividades</a></li>
|
||||
<li><a href="#">Conferencias</a></li>
|
||||
<li><a href="#">Imprenta</a></li>
|
||||
<li><a href="#">Donaciones</a></li>
|
||||
<li><a href="#">Escuela Biblica</a></li>
|
||||
<li><a href="#">En Vivo</a></li>
|
||||
<li><a href="#">Buscar</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<a class="btn btn-link text-xl"
|
||||
><Image
|
||||
src={logo}
|
||||
alt="La Gran Carpa Catedral"
|
||||
/></a
|
||||
>
|
||||
</div>
|
||||
<div class="navbar-center hidden lg:flex">
|
||||
<ul class="menu menu-horizontal px-1 uppercase text-[16px]">
|
||||
<li><a href="#">Inicio</a></li>
|
||||
<li><a href="#">Actividades</a></li>
|
||||
<li><a href="#">Conferencias</a></li>
|
||||
<li><a href="#">Imprenta</a></li>
|
||||
<li><a href="#">Donaciones</a></li>
|
||||
<li><a href="#">Escuela Biblica</a></li>
|
||||
<li><a href="#">En Vivo</a></li>
|
||||
</ul>
|
||||
<a class="btn">Button</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- End Header -->
|
||||
|
||||
<!-- Breadcrumbs -->
|
||||
<div class="bg-neutral-200 min-h-8">
|
||||
<div class="container mx-auto flex items-center justify-between px-4">
|
||||
<div class="breadcrumbs text-xs uppercase">
|
||||
<ul>
|
||||
<li><a>Inicio</a></li>
|
||||
<li><a>Documents</a></li>
|
||||
<li>Add Document</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="dropdown dropdown-end">
|
||||
<div
|
||||
tabindex="0"
|
||||
role="button"
|
||||
class="btn btn-link m-1"
|
||||
>
|
||||
Español
|
||||
</div>
|
||||
<ul
|
||||
tabindex="0"
|
||||
class="dropdown-content menu bg-base-100 rounded-box z-1 w-52 p-2 shadow-sm"
|
||||
>
|
||||
<li><a>Español</a></li>
|
||||
<li><a>English</a></li>
|
||||
<li><a>Portugues</a></li>
|
||||
<li><a>Francois</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--End Breadcrumbs -->
|
||||
|
||||
<!--Main Content -->
|
||||
<div class="bg-white">
|
||||
<div class="container mx-auto flex items-center justify-between p-4">
|
||||
Content
|
||||
</div>
|
||||
</div>
|
||||
<!--End Main Content -->
|
||||
|
||||
<!--Footer -->
|
||||
<div class="bg-neutral-200">
|
||||
<div class="container mx-auto flex items-center justify-between p-4">
|
||||
Footer Content
|
||||
</div>
|
||||
<div class="bg-neutral-300">
|
||||
<div class="container mx-auto flex items-centere justify-center p-2 text-sm">
|
||||
© La Gran Carpa Catedral, Corp. 2024
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--End Footer -->
|
||||
</div>
|
||||
|
||||
<!--Sidebar -->
|
||||
<div class="drawer-side">
|
||||
<label
|
||||
for="my-drawer-3"
|
||||
aria-label="close sidebar"
|
||||
class="drawer-overlay"></label>
|
||||
<ul class="menu bg-base-200 min-h-full w-80 p-4">
|
||||
<!-- Sidebar content here -->
|
||||
<li><a>Sidebar Item 1</a></li>
|
||||
<li><a>Sidebar Item 2</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!--End Sidebar -->
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -1,11 +1,18 @@
|
|||
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
|
||||
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap');
|
||||
|
||||
@import "tailwindcss";
|
||||
@plugin "@tailwindcss/typography";
|
||||
@plugin "daisyui" {
|
||||
themes: light --default;
|
||||
@plugin "daisyui"{
|
||||
themes: light --default;
|
||||
}
|
||||
@plugin '@tailwindcss/typography';
|
||||
|
||||
@theme {
|
||||
--font-sans: 'Inter', 'sans-serif';
|
||||
--color-primary: #2d4ea2;
|
||||
--font-sans: 'Roboto Condensed', 'sans-serif';
|
||||
--color-carpablue: #2d4ea2;
|
||||
--color-carpagreen: #a8cc4f;
|
||||
--color-carpared: #ff0000;
|
||||
}
|
||||
|
||||
.prose {
|
||||
max-width : 100%;
|
||||
}
|
||||
|
|
@ -2,4 +2,11 @@
|
|||
"extends": "astro/tsconfigs/strict",
|
||||
"include": [".astro/types.d.ts", "**/*"],
|
||||
"exclude": ["dist"],
|
||||
"compilerOptions": {
|
||||
"paths": {
|
||||
"@components/*": ["./src/components/*"],
|
||||
"@assets/*": ["./src/assets/*"],
|
||||
"@layouts/*": ["./src/layouts/*"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue