gallery
@@ -13,15 +13,21 @@ type EventItem = {
|
||||
date: string;
|
||||
description: string;
|
||||
images: string[];
|
||||
googleDriveUrl: string;
|
||||
};
|
||||
|
||||
export default function GalleryPageClient() {
|
||||
const { gallery } = useTranslation();
|
||||
const { gallery, lang } = useTranslation();
|
||||
|
||||
// Active Event Index (0: latest event, 7: oldest event)
|
||||
const [activeEventIndex, setActiveEventIndex] = useState(0);
|
||||
|
||||
// Lightbox State
|
||||
const [lightboxEventId, setLightboxEventId] = useState<number | null>(null);
|
||||
const [lightboxImageIndex, setLightboxImageIndex] = useState<number | null>(null);
|
||||
|
||||
// Active event object
|
||||
const activeEvent = gallery.events[activeEventIndex] as EventItem;
|
||||
|
||||
// Helper to format image source path
|
||||
const getImgSrc = (src: string) => {
|
||||
if (src.startsWith("http")) return src;
|
||||
@@ -30,10 +36,7 @@ export default function GalleryPageClient() {
|
||||
|
||||
// Keyboard navigation for Lightbox
|
||||
useEffect(() => {
|
||||
if (lightboxEventId === null || lightboxImageIndex === null) return;
|
||||
|
||||
const activeEvent = gallery.events.find((e: EventItem) => e.id === lightboxEventId);
|
||||
if (!activeEvent) return;
|
||||
if (lightboxImageIndex === null || !activeEvent) return;
|
||||
|
||||
const handleKeyDown = (e: KeyboardEvent) => {
|
||||
if (e.key === "Escape") {
|
||||
@@ -49,28 +52,63 @@ export default function GalleryPageClient() {
|
||||
return () => {
|
||||
window.removeEventListener("keydown", handleKeyDown);
|
||||
};
|
||||
}, [lightboxEventId, lightboxImageIndex, gallery.events]);
|
||||
}, [lightboxImageIndex, activeEvent]);
|
||||
|
||||
const openLightbox = (eventId: number, imgIndex: number) => {
|
||||
setLightboxEventId(eventId);
|
||||
const openLightbox = (imgIndex: number) => {
|
||||
setLightboxImageIndex(imgIndex);
|
||||
document.body.style.overflow = "hidden";
|
||||
};
|
||||
|
||||
const closeLightbox = () => {
|
||||
setLightboxEventId(null);
|
||||
setLightboxImageIndex(null);
|
||||
document.body.style.overflow = "";
|
||||
};
|
||||
|
||||
// Find active lightbox image and event
|
||||
const activeEvent = lightboxEventId !== null
|
||||
? gallery.events.find((e: EventItem) => e.id === lightboxEventId)
|
||||
: null;
|
||||
const goToNewerEvent = () => {
|
||||
if (activeEventIndex > 0) {
|
||||
setActiveEventIndex(activeEventIndex - 1);
|
||||
}
|
||||
};
|
||||
|
||||
const goToOlderEvent = () => {
|
||||
if (activeEventIndex < gallery.events.length - 1) {
|
||||
setActiveEventIndex(activeEventIndex + 1);
|
||||
}
|
||||
};
|
||||
|
||||
const activeImage = activeEvent && lightboxImageIndex !== null
|
||||
? activeEvent.images[lightboxImageIndex]
|
||||
: null;
|
||||
|
||||
// Helper to determine CSS classes for the dynamic mosaic
|
||||
const getMosaicClasses = (i: number, total: number) => {
|
||||
// If very few images, keep it simple
|
||||
if (total < 3) {
|
||||
return "h-[240px] sm:h-[320px]";
|
||||
}
|
||||
|
||||
// Dynamic grid classes
|
||||
switch (i) {
|
||||
case 0:
|
||||
// Spotlight spans 2 columns & 2 rows on desktop
|
||||
return "md:col-span-2 md:row-span-2 h-[260px] sm:h-[360px] md:h-[500px]";
|
||||
default:
|
||||
// Adjust the last image to prevent layout gaps
|
||||
if (i === total - 1) {
|
||||
if (total === 4 || total === 7) {
|
||||
return "md:col-span-2 h-[180px] sm:h-[240px]";
|
||||
}
|
||||
if (total === 5 || total === 8) {
|
||||
return "md:col-span-2 h-[180px] sm:h-[240px]";
|
||||
}
|
||||
if (total === 10) {
|
||||
return "md:col-span-3 h-[200px] sm:h-[280px]";
|
||||
}
|
||||
}
|
||||
return "h-[180px] sm:h-[240px]";
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<main className="pt-16 lg:pt-20 min-h-screen bg-background text-on-surface">
|
||||
{/* Hero Header */}
|
||||
@@ -88,93 +126,158 @@ export default function GalleryPageClient() {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Visual Gallery section */}
|
||||
{/* Gallery Section */}
|
||||
<section className="py-12 lg:py-20 px-[var(--spacing-gutter)] max-w-hd mx-auto">
|
||||
<div className="flex flex-col gap-16 lg:gap-24">
|
||||
{gallery.events.map((event: EventItem) => (
|
||||
|
||||
{/* Step Timeline Navigation */}
|
||||
<div className="mb-10 max-w-4xl mx-auto px-4">
|
||||
<div className="relative flex justify-between items-center">
|
||||
{/* Timeline track behind steps */}
|
||||
<div className="absolute left-0 right-0 h-[2px] bg-white/10 -z-10" />
|
||||
<div
|
||||
className="absolute left-0 h-[2px] bg-primary transition-all duration-500 -z-10"
|
||||
style={{ width: `${(activeEventIndex / (gallery.events.length - 1)) * 100}%` }}
|
||||
/>
|
||||
|
||||
{gallery.events.map((event: EventItem, idx: number) => {
|
||||
const isActive = idx === activeEventIndex;
|
||||
const isPassed = idx < activeEventIndex;
|
||||
|
||||
return (
|
||||
<button
|
||||
key={event.id}
|
||||
className="glass-panel p-6 sm:p-8 lg:p-12 rounded-3xl border border-primary/20 hover:border-primary/40 shadow-xl transition-all duration-300"
|
||||
type="button"
|
||||
onClick={() => setActiveEventIndex(idx)}
|
||||
className="flex flex-col items-center group cursor-pointer relative focus:outline-none"
|
||||
title={event.title}
|
||||
>
|
||||
{/* Event details */}
|
||||
<div className="flex flex-col lg:flex-row lg:items-start lg:justify-between mb-8 gap-4">
|
||||
<div className="max-w-2xl">
|
||||
<h2 className="text-xl sm:text-2xl lg:text-3xl font-[var(--font-display-lg)] text-primary mb-3">
|
||||
{event.title}
|
||||
{/* Step circle */}
|
||||
<div
|
||||
className={[
|
||||
"w-8 h-8 rounded-full flex items-center justify-center font-[var(--font-label-caps)] text-xs font-bold transition-all duration-300 border-2 z-10",
|
||||
isActive
|
||||
? "bg-background border-primary text-primary status-led shadow-[0_0_12px_rgba(197,160,89,0.6)] scale-110"
|
||||
: isPassed
|
||||
? "bg-primary border-primary text-on-primary"
|
||||
: "bg-surface-container-high border-white/10 text-on-surface-variant/40 hover:border-white/30 hover:text-on-surface"
|
||||
].join(" ")}
|
||||
>
|
||||
{idx + 1}
|
||||
</div>
|
||||
</button>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Active Event Grid Container */}
|
||||
{activeEvent && (
|
||||
<div className="glass-panel p-6 sm:p-10 lg:p-16 rounded-[2rem] lg:rounded-[3rem] border border-primary/20 hover:border-primary/30 shadow-2xl transition-all duration-300">
|
||||
|
||||
{/* Top Navigation Control Header */}
|
||||
<div className="flex justify-between items-center mb-10 border-b border-white/5 pb-6">
|
||||
<button
|
||||
type="button"
|
||||
onClick={goToNewerEvent}
|
||||
disabled={activeEventIndex === 0}
|
||||
className="flex items-center gap-1.5 text-xs sm:text-sm font-bold uppercase tracking-wider text-on-surface-variant/60 hover:text-primary disabled:opacity-20 disabled:pointer-events-none transition-colors duration-200 focus:outline-none"
|
||||
>
|
||||
<span className="material-symbols-outlined text-lg">arrow_back</span>
|
||||
<span className="hidden sm:inline">{lang === "vi" ? "Sự kiện mới hơn" : "Newer Event"}</span>
|
||||
</button>
|
||||
|
||||
<span className="font-[var(--font-label-caps)] text-xs sm:text-sm text-primary tracking-widest bg-primary/5 border border-primary/20 px-4 py-2 rounded-xl">
|
||||
{lang === "vi"
|
||||
? `SỰ KIỆN ${activeEventIndex + 1} / ${gallery.events.length}`
|
||||
: `EVENT ${activeEventIndex + 1} OF ${gallery.events.length}`
|
||||
}
|
||||
</span>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
onClick={goToOlderEvent}
|
||||
disabled={activeEventIndex === gallery.events.length - 1}
|
||||
className="flex items-center gap-1.5 text-xs sm:text-sm font-bold uppercase tracking-wider text-on-surface-variant/60 hover:text-primary disabled:opacity-20 disabled:pointer-events-none transition-colors duration-200 focus:outline-none"
|
||||
>
|
||||
<span className="hidden sm:inline">{lang === "vi" ? "Sự kiện cũ hơn" : "Older Event"}</span>
|
||||
<span className="material-symbols-outlined text-lg">arrow_forward</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
{/* Event Info Header */}
|
||||
<div className="max-w-4xl mb-12">
|
||||
<h2 className="text-2xl sm:text-3xl lg:text-4xl font-[var(--font-display-lg)] text-primary mb-4 leading-tight">
|
||||
{activeEvent.title}
|
||||
</h2>
|
||||
<p className="text-sm sm:text-base text-on-surface-variant/80 leading-relaxed font-sans">
|
||||
{event.description}
|
||||
|
||||
<div className="flex flex-wrap items-center gap-4 text-xs uppercase tracking-wider text-on-surface-variant/50 font-[var(--font-label-caps)] mb-6">
|
||||
<div className="flex items-center gap-1.5 bg-surface-container-high px-3.5 py-2 rounded-xl border border-white/5">
|
||||
<span className="material-symbols-outlined text-base text-primary">calendar_today</span>
|
||||
<span>{activeEvent.date}</span>
|
||||
</div>
|
||||
|
||||
{activeEvent.googleDriveUrl && activeEvent.googleDriveUrl.trim() !== "" && (
|
||||
<a
|
||||
href={activeEvent.googleDriveUrl}
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="flex items-center gap-2 bg-surface-container-high hover:bg-surface-container-highest px-3.5 py-2 rounded-xl border border-white/5 text-primary text-xs font-bold transition-all duration-200 focus:outline-none"
|
||||
>
|
||||
<i className="fab fa-google-drive text-sm"></i>
|
||||
<span>{lang === "vi" ? "Xem Full Album trên Drive" : "View Full Album on Drive"}</span>
|
||||
</a>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Dynamic Mosaic Grid or Coming Soon Placeholder */}
|
||||
{activeEvent.images.length === 0 ? (
|
||||
<div className="flex flex-col items-center justify-center py-20 px-6 border border-white/5 bg-white/[0.01] rounded-2xl">
|
||||
<span className="material-symbols-outlined text-5xl text-primary/45 mb-4">image</span>
|
||||
<p className="text-on-surface-variant/60 font-sans text-sm sm:text-base text-center max-w-md">
|
||||
{lang === "vi"
|
||||
? "Hình ảnh nổi bật cho sự kiện này hiện đang được cập nhật."
|
||||
: "Highlight images for this event are currently being updated."
|
||||
}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
{/* Meta details */}
|
||||
<div className="flex flex-wrap items-center gap-4 lg:self-start lg:mt-2 text-xs uppercase tracking-wider text-on-surface-variant/60 font-[var(--font-label-caps)]">
|
||||
<div className="flex items-center gap-1.5 bg-surface-container-high px-3 py-1.5 rounded-lg border border-white/5">
|
||||
<span className="material-symbols-outlined text-base text-primary">location_on</span>
|
||||
<span>{event.location}</span>
|
||||
</div>
|
||||
<div className="flex items-center gap-1.5 bg-surface-container-high px-3 py-1.5 rounded-lg border border-white/5">
|
||||
<span className="material-symbols-outlined text-base text-primary">calendar_today</span>
|
||||
<span>{event.date}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Collage gallery grid */}
|
||||
<div className="grid grid-cols-1 md:grid-cols-3 gap-4 lg:gap-6">
|
||||
{/* Large image (left) */}
|
||||
<div
|
||||
className="md:col-span-2 overflow-hidden rounded-2xl border border-white/10 group cursor-pointer relative h-[240px] sm:h-[320px] md:h-[360px]"
|
||||
onClick={() => openLightbox(event.id, 0)}
|
||||
>
|
||||
{/* eslint-disable-next-line @next/next/no-img-element */}
|
||||
<img
|
||||
src={getImgSrc(event.images[0])}
|
||||
alt={`${event.title} Highlight 1`}
|
||||
className="w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"
|
||||
loading="lazy"
|
||||
/>
|
||||
<div className="absolute inset-0 bg-black/40 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-center justify-center">
|
||||
<div className="w-12 h-12 rounded-full bg-primary/20 backdrop-blur-md flex items-center justify-center border border-primary/50 text-white">
|
||||
<span className="material-symbols-outlined text-2xl">zoom_in</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Stacked images (right) */}
|
||||
<div className="flex flex-col gap-4 lg:gap-6">
|
||||
{event.images.slice(1, 3).map((imgUrl, i) => (
|
||||
) : (
|
||||
<div className="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-6">
|
||||
{activeEvent.images.map((imgUrl, i) => (
|
||||
<div
|
||||
key={i}
|
||||
className="flex-1 overflow-hidden rounded-2xl border border-white/10 group cursor-pointer relative h-[180px] sm:h-[220px] md:h-[168px] lg:h-[168px]"
|
||||
onClick={() => openLightbox(event.id, i + 1)}
|
||||
className={[
|
||||
getMosaicClasses(i, activeEvent.images.length),
|
||||
"overflow-hidden rounded-2xl border border-white/10 group cursor-pointer relative",
|
||||
].join(" ")}
|
||||
onClick={() => openLightbox(i)}
|
||||
>
|
||||
{/* eslint-disable-next-line @next/next/no-img-element */}
|
||||
<img
|
||||
src={getImgSrc(imgUrl)}
|
||||
alt={`${event.title} Highlight ${i + 2}`}
|
||||
alt={`${activeEvent.title} Highlight ${i + 1}`}
|
||||
className="w-full h-full object-cover transition-transform duration-700 group-hover:scale-105"
|
||||
loading="lazy"
|
||||
/>
|
||||
<div className="absolute inset-0 bg-black/40 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex items-center justify-center">
|
||||
<div className="w-10 h-10 rounded-full bg-primary/20 backdrop-blur-md flex items-center justify-center border border-primary/50 text-white">
|
||||
<span className="material-symbols-outlined text-xl">zoom_in</span>
|
||||
<div className="w-12 h-12 rounded-full bg-primary/20 backdrop-blur-md flex items-center justify-center border border-primary/50 text-white shadow-lg">
|
||||
<span className="material-symbols-outlined text-2xl">zoom_in</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
)}
|
||||
</section>
|
||||
|
||||
{/* Invitation Section */}
|
||||
<ReadyToJoin data={gallery.join} />
|
||||
|
||||
{/* Lightbox Overlay */}
|
||||
{lightboxEventId !== null && lightboxImageIndex !== null && activeEvent && activeImage && (
|
||||
{lightboxImageIndex !== null && activeEvent && activeImage && (
|
||||
<div
|
||||
className="fixed inset-0 z-[100] flex flex-col justify-center items-center bg-black/95 backdrop-blur-md transition-opacity duration-300"
|
||||
onClick={closeLightbox}
|
||||
@@ -182,7 +285,7 @@ export default function GalleryPageClient() {
|
||||
{/* Close button */}
|
||||
<button
|
||||
type="button"
|
||||
className="absolute top-6 right-6 text-white/70 hover:text-white transition-colors p-2 z-[110]"
|
||||
className="absolute top-6 right-6 text-white/70 hover:text-white transition-colors p-2 z-[110] focus:outline-none"
|
||||
onClick={closeLightbox}
|
||||
aria-label="Close Lightbox"
|
||||
>
|
||||
@@ -197,7 +300,7 @@ export default function GalleryPageClient() {
|
||||
{/* Prev arrow */}
|
||||
<button
|
||||
type="button"
|
||||
className="w-12 h-12 md:w-16 md:h-16 rounded-full bg-white/5 hover:bg-white/10 border border-white/10 text-white flex items-center justify-center transition-colors mr-2 active:scale-95"
|
||||
className="w-12 h-12 md:w-16 md:h-16 rounded-full bg-white/5 hover:bg-white/10 border border-white/10 text-white flex items-center justify-center transition-colors mr-2 active:scale-95 focus:outline-none"
|
||||
onClick={() => setLightboxImageIndex((prev) => (prev! - 1 + activeEvent.images.length) % activeEvent.images.length)}
|
||||
aria-label="Previous Image"
|
||||
>
|
||||
@@ -217,7 +320,7 @@ export default function GalleryPageClient() {
|
||||
{/* Next arrow */}
|
||||
<button
|
||||
type="button"
|
||||
className="w-12 h-12 md:w-16 md:h-16 rounded-full bg-white/5 hover:bg-white/10 border border-white/10 text-white flex items-center justify-center transition-colors ml-2 active:scale-95"
|
||||
className="w-12 h-12 md:w-16 md:h-16 rounded-full bg-white/5 hover:bg-white/10 border border-white/10 text-white flex items-center justify-center transition-colors ml-2 active:scale-95 focus:outline-none"
|
||||
onClick={() => setLightboxImageIndex((prev) => (prev! + 1) % activeEvent.images.length)}
|
||||
aria-label="Next Image"
|
||||
>
|
||||
@@ -234,7 +337,7 @@ export default function GalleryPageClient() {
|
||||
{activeEvent.title}
|
||||
</h3>
|
||||
<p className="text-on-surface-variant/60 text-xs sm:text-sm uppercase tracking-wider font-[var(--font-label-caps)]">
|
||||
{useTranslation().lang === "vi"
|
||||
{lang === "vi"
|
||||
? `Hình ảnh ${lightboxImageIndex + 1} trên ${activeEvent.images.length}`
|
||||
: `Image ${lightboxImageIndex + 1} of ${activeEvent.images.length}`
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ export default function ReadyToJoin({ data }: Props) {
|
||||
</Link>
|
||||
|
||||
<Link
|
||||
href="/registration#members"
|
||||
href="/#agenda"
|
||||
className="w-full sm:w-auto inline-flex items-center justify-center gap-2 bg-surface-container-high hover:bg-surface-container-highest border border-white/10 hover:border-primary/40 text-on-surface-variant px-8 lg:px-10 py-4 rounded-xl font-bold uppercase tracking-widest text-xs lg:text-sm hover:scale-105 active:scale-95 transition-all duration-300"
|
||||
>
|
||||
<span>{data.viewMembersBtn}</span>
|
||||
|
||||
@@ -7,105 +7,165 @@
|
||||
"events": [
|
||||
{
|
||||
"id": 1,
|
||||
"title": "IPv6 Enhanced AI Summit 2025",
|
||||
"location": "Singapore",
|
||||
"date": "Nov 14, 2025",
|
||||
"description": "Exploring the intersection of IPv6 next-gen routing and large-scale AI cluster networks.",
|
||||
"title": "4th APAC IPv6 Council Meeting",
|
||||
"location": "Kathmandu, Nepal",
|
||||
"date": "April 2026",
|
||||
"description": "The 4th APAC IPv6 Council Meeting brought together regional leaders and delegates to discuss key policy upgrades, routing standards, and regional transition guidelines.",
|
||||
"googleDriveUrl": "",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new1.jpg",
|
||||
"https://images.unsplash.com/photo-1540575467063-178a50c2df87?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1515187029135-18ee286d815b?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_9.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "ASEAN Next-Gen Internet Forum 2025",
|
||||
"location": "Bangkok, Thailand",
|
||||
"date": "Sep 08, 2025",
|
||||
"description": "Driving the adoption of IPv6 across ASEAN telecommunications networks for regional integration.",
|
||||
"title": "1st APAC IPv6 Council Meeting in Vietnam",
|
||||
"location": "Hanoi, Vietnam",
|
||||
"date": "October 2025",
|
||||
"description": "Establishing Vietnam's leadership in IPv6 deployment within ASEAN, highlighting collaborations with national authorities and leading internet service providers.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipMvjUho6Ob3q5SlY2TOnfXLVsTzxXUIBlNlqAgAJU7E2qN6FTabI8wcz4nQR6pIMg?key=RWVpMEJJUzNaejF3TG9VTGRtcGhrWnIxTTU4V2lB",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new2.JPG",
|
||||
"https://images.unsplash.com/photo-1528605248644-14dd04022da1?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_10.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "Global IPv6 Innovation Summit 2024",
|
||||
"location": "Tokyo, Japan",
|
||||
"date": "Dec 05, 2024",
|
||||
"description": "Celebrating pioneers in IPv6 deployment and next-generation internet protocols.",
|
||||
"title": "Malaysia - Japan ERAB Cybersecurity Conference 2025",
|
||||
"location": "Kuala Lumpur, Malaysia",
|
||||
"date": "January 2025",
|
||||
"description": "Fostering cybersecurity resilience in Energy Resource Aggregation Business infrastructure through combined Malaysian-Japanese tech standards.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipOxNW0OSJrmlWl7ZvoCDZlFpoQzHNl_sdjZq_h_pvwhPYRgcCjMWkJ4ewDqySzJVA?key=VDI4TTV5a25SRF9pRXJyczVBLVJYZzl6V1V3WkxR",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new3.JPG",
|
||||
"https://images.unsplash.com/photo-1475721027785-f74eccf877e2?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1511578314322-379afb476865?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_10.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_11.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"title": "ASEAN AI & Cloud Networking Conference 2024",
|
||||
"location": "Kuala Lumpur, Malaysia",
|
||||
"date": "Oct 22, 2024",
|
||||
"description": "Discussing the role of IPv6 in building AI-ready, scalable multi-cloud architectures.",
|
||||
"title": "Penang Cybersafety Workshop 2025",
|
||||
"location": "Penang, Malaysia",
|
||||
"date": "February 2025",
|
||||
"description": "An interactive technical workshop aimed at training system administrators on securing IPv6 endpoints against cyberthreats.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipN-eavBP9gCyiNWcMMU_C85wCJQfPgeodSyMGE37_wGrQW-GS5VGrdIvnt0_gZjRw?key=TWM3cUV4ZGFJWlA2RWppd181S1RFWmVTLXJnYU5B",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new4.jpg",
|
||||
"https://images.unsplash.com/photo-1597852074816-d933c7d2b988?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1511795409834-ef04bbd61622?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_10.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"title": "APAC IPv6 Council Regional Assembly 2024",
|
||||
"location": "Kathmandu, Nepal",
|
||||
"date": "Apr 18, 2024",
|
||||
"description": "Regional coordinators aligning policies, routing standards, and government initiatives.",
|
||||
"title": "3rd APAC IPv6 Council Meeting in India",
|
||||
"location": "New Delhi, India",
|
||||
"date": "September 2024",
|
||||
"description": "Gathering key internet authorities in India to review the roadmap of next-generation IPv6 internet protocols and AI data center alignments.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipO6U61VXvypWMPMn93_8E5hJY0IwfK59xDGkPOFdpKUGjlzllUlcKH3wtDSZD0HRg?key=NThNdVV5T0NaQzRTbVVRanR4YW1hYWVZUFBuWnB3",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new5.jpg",
|
||||
"https://images.unsplash.com/photo-1531482615713-2afd69097998?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1542744173-8e0ee26cf195?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_10.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_11.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"title": "Vietnam IPv6 Transition Workshop 2023",
|
||||
"title": "MoU Signing Ceremony with VNNIC",
|
||||
"location": "Hanoi, Vietnam",
|
||||
"date": "Nov 10, 2023",
|
||||
"description": "Guiding local enterprises and ISPs in the seamless migration from IPv4 to IPv6.",
|
||||
"date": "November 2023",
|
||||
"description": "Signaling a milestone partnership with the Vietnam Internet Network Information Center (VNNIC) to accelerate IPv6 transition in Vietnam's government networks.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipPfoA3yeb1eROK07HXS3hCeH2B4hqTr9K6Zg_BZNrZ0jzn5s0_vwz8ny7cNC6OH8w?key=VFJrT1JjLVpJUXRTSXE0aGdfTEduTXJEd05JZXFB",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new6.jpg",
|
||||
"https://images.unsplash.com/photo-1517245386807-bb43f82c33c4?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_10.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_11.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"title": "ASEAN Cloud & Datacenter Forum 2023",
|
||||
"location": "Jakarta, Indonesia",
|
||||
"date": "Aug 15, 2023",
|
||||
"description": "Optimizing server hardware and network topology using IPv6 features for enterprise scale.",
|
||||
"title": "2nd APAC IPv6 Council Meeting",
|
||||
"location": "Bangkok, Thailand",
|
||||
"date": "April 2023",
|
||||
"description": "The 2nd APAC IPv6 Council Meeting formulated initial strategies for cross-border telecom standard alignments across ASEAN.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipPDfUKw0JpOEhQ5mfNWx-21O_gtTeHFi2PGLqxgQYDCRJuvliEnfacHYkI4s3h-UA?key=dTlfUXBES2pzbmpnRkZYZkdENjZTVWROV3lUUFlB",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new7.jpg",
|
||||
"https://images.unsplash.com/photo-1600132806370-bf17e65e942f?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1505373877841-8d25f7d46678?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_10.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_11.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"title": "5G & IPv6 Enhanced Summit 2023",
|
||||
"location": "Manila, Philippines",
|
||||
"date": "May 24, 2023",
|
||||
"description": "Catalyzing mobile broadband innovation and IoT connectivity through IPv6-based 5G network slicing.",
|
||||
"title": "MoU Signing Ceremony between APJII and APAC IPv6 Council",
|
||||
"location": "Jakarta, Indonesia",
|
||||
"date": "October 2022",
|
||||
"description": "A historic agreement between APJII (Indonesia Internet Service Provider Association) and the APAC IPv6 Council to deploy IPv6 globally across Indonesia ISP lines.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipPUH5g15wkXPa_BNWwSNFS-i0yGR3K2reb7mZ2NPt-HT7qQGkq9A-Z2atsqEVIFlQ?key=U1BtSjBtYW94Sk4tZVkxNTVjYUZrWTU0RzRRMkdR",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new8.jpg",
|
||||
"https://images.unsplash.com/photo-1519389950473-47ba0277781c?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1522071820081-009f0129c71c?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_10.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_11.jpg"
|
||||
]
|
||||
}
|
||||
],
|
||||
"join": {
|
||||
"title": "Ready to Join the Council?",
|
||||
"description": "Become a member today and collaborate with regional leaders to shape the future of the Internet in the Asia-Pacific region.",
|
||||
"registerBtn": "Member Registration",
|
||||
"viewMembersBtn": "View Current Members"
|
||||
"title": "Ready to Attend the Summit?",
|
||||
"description": "Register today to secure your ticket and join regional leaders in shaping the future of AI & next-generation data centers in ASEAN.",
|
||||
"registerBtn": "Register Now",
|
||||
"viewMembersBtn": "View Event Agenda"
|
||||
}
|
||||
}
|
||||
@@ -7,105 +7,165 @@
|
||||
"events": [
|
||||
{
|
||||
"id": 1,
|
||||
"title": "Hội Nghị Thượng Đỉnh IPv6 Enhanced Cho AI 2025",
|
||||
"location": "Singapore",
|
||||
"date": "14/11/2025",
|
||||
"description": "Khám phá sự giao thoa giữa định tuyến thế hệ mới IPv6 và mạng lưới cụm máy chủ AI quy mô lớn.",
|
||||
"title": "Hội nghị Hội đồng APAC IPv6 Lần thứ 4",
|
||||
"location": "Kathmandu, Nepal",
|
||||
"date": "Tháng 4/2026",
|
||||
"description": "Hội nghị Hội đồng APAC IPv6 lần thứ 4 đã quy tụ các nhà lãnh đạo và đại biểu trong khu vực để thảo luận về các nâng cấp chính sách quan trọng, tiêu chuẩn định tuyến và hướng dẫn chuyển đổi khu vực.",
|
||||
"googleDriveUrl": "",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new1.jpg",
|
||||
"https://images.unsplash.com/photo-1540575467063-178a50c2df87?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1515187029135-18ee286d815b?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/1-4th council meeting/gallery_image_9.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "Diễn Đàn Internet Thế Hệ Mới ASEAN 2025",
|
||||
"location": "Bangkok, Thái Lan",
|
||||
"date": "08/09/2025",
|
||||
"description": "Thúc đẩy chuyển đổi sang IPv6 trên các mạng viễn thông ASEAN nhằm tích hợp khu vực số.",
|
||||
"title": "Hội nghị Hội đồng APAC IPv6 Lần thứ 1 tại Việt Nam",
|
||||
"location": "Hà Nội, Việt Nam",
|
||||
"date": "Tháng 10/2025",
|
||||
"description": "Khẳng định vai trò dẫn đầu của Việt Nam trong việc triển khai IPv6 tại khu vực ASEAN, nhấn mạnh quan hệ hợp tác cùng các cơ quan nhà nước và các nhà cung cấp dịch vụ Internet hàng đầu.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipMvjUho6Ob3q5SlY2TOnfXLVsTzxXUIBlNlqAgAJU7E2qN6FTabI8wcz4nQR6pIMg?key=RWVpMEJJUzNaejF3TG9VTGRtcGhrWnIxTTU4V2lB",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new2.JPG",
|
||||
"https://images.unsplash.com/photo-1528605248644-14dd04022da1?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1558494949-ef010cbdcc31?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/2-1st APAC IPv6 Council Meet in Vietnam/gallery_image_10.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "Hội Nghị Thượng Đỉnh Sáng Tạo IPv6 Toàn Cầu 2024",
|
||||
"location": "Tokyo, Nhật Bản",
|
||||
"date": "05/12/2024",
|
||||
"description": "Vinh danh những đơn vị tiên phong trong triển khai IPv6 và các giao thức internet thế hệ tiếp theo.",
|
||||
"title": "Hội nghị An ninh mạng ERAB Malaysia - Nhật Bản 2025",
|
||||
"location": "Kuala Lumpur, Malaysia",
|
||||
"date": "Tháng 1/2025",
|
||||
"description": "Nâng cao khả năng phục hồi an ninh mạng trong hạ tầng Kinh doanh Tổng hợp Tài nguyên Năng lượng thông qua việc hợp tác xây dựng tiêu chuẩn công nghệ giữa Malaysia và Nhật Bản.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipOxNW0OSJrmlWl7ZvoCDZlFpoQzHNl_sdjZq_h_pvwhPYRgcCjMWkJ4ewDqySzJVA?key=VDI4TTV5a25SRF9pRXJyczVBLVJYZzl6V1V3WkxR",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new3.JPG",
|
||||
"https://images.unsplash.com/photo-1475721027785-f74eccf877e2?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1511578314322-379afb476865?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_10.jpg",
|
||||
"/assets/img/ipv6-gallery/3-Malaysia- Japan ERAB (Energy Resource Aggregation Business) Cybersecurity Conference 2025/gallery_image_11.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"title": "Hội Nghị Mạng Đám Mây & AI ASEAN 2024",
|
||||
"location": "Kuala Lumpur, Malaysia",
|
||||
"date": "22/10/2024",
|
||||
"description": "Thảo luận về vai trò của IPv6 trong việc xây dựng kiến trúc đa đám mây có khả năng mở rộng cho AI.",
|
||||
"title": "Hội thảo An toàn không gian mạng Penang 2025",
|
||||
"location": "Penang, Malaysia",
|
||||
"date": "Tháng 2/2025",
|
||||
"description": "Hội thảo kỹ thuật tương tác nhằm đào tạo các quản trị viên hệ thống về cách bảo mật các thiết bị đầu cuối IPv6 trước các mối đe dọa trên không gian mạng.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipN-eavBP9gCyiNWcMMU_C85wCJQfPgeodSyMGE37_wGrQW-GS5VGrdIvnt0_gZjRw?key=TWM3cUV4ZGFJWlA2RWppd181S1RFWmVTLXJnYU5B",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new4.jpg",
|
||||
"https://images.unsplash.com/photo-1597852074816-d933c7d2b988?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1511795409834-ef04bbd61622?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/4-Penang Cybersafety Workshop 2025/gallery_image_10.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"title": "Đại Hội Đồng Khu Vực Hội Đồng IPv6 APAC 2024",
|
||||
"location": "Kathmandu, Nepal",
|
||||
"date": "18/04/2024",
|
||||
"description": "Các điều phối viên khu vực thống nhất về chính sách mạng, tiêu chuẩn định tuyến và các sáng kiến quốc gia.",
|
||||
"title": "Hội nghị Hội đồng APAC IPv6 Lần thứ 3 tại Ấn Độ",
|
||||
"location": "New Delhi, Ấn Độ",
|
||||
"date": "Tháng 9/2024",
|
||||
"description": "Tập hợp các cơ quan Internet hàng đầu tại Ấn Độ để xem xét lộ trình phát triển giao thức mạng IPv6 thế hệ mới và định hướng trung tâm dữ liệu AI.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipO6U61VXvypWMPMn93_8E5hJY0IwfK59xDGkPOFdpKUGjlzllUlcKH3wtDSZD0HRg?key=NThNdVV5T0NaQzRTbVVRanR4YW1hYWVZUFBuWnB3",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new5.jpg",
|
||||
"https://images.unsplash.com/photo-1531482615713-2afd69097998?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1542744173-8e0ee26cf195?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_10.jpg",
|
||||
"/assets/img/ipv6-gallery/5-3rd APAC IPv6 Council Meeting in India/gallery_image_11.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"title": "Hội Thảo Chuyển Đổi IPv6 Việt Nam 2023",
|
||||
"title": "Lễ Ký kết Biên bản Ghi nhớ (MoU) với VNNIC",
|
||||
"location": "Hà Nội, Việt Nam",
|
||||
"date": "10/11/2023",
|
||||
"description": "Hướng dẫn các doanh nghiệp và nhà cung cấp dịch vụ Internet (ISP) trong nước chuyển đổi suôn sẻ từ IPv4 sang IPv6.",
|
||||
"date": "Tháng 11/2023",
|
||||
"description": "Đánh dấu cột mốc hợp tác quan trọng với Trung tâm Internet Việt Nam (VNNIC) nhằm thúc đẩy quá trình chuyển đổi sang IPv6 trong mạng lưới cơ quan nhà nước Việt Nam.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipPfoA3yeb1eROK07HXS3hCeH2B4hqTr9K6Zg_BZNrZ0jzn5s0_vwz8ny7cNC6OH8w?key=VFJrT1JjLVpJUXRTSXE0aGdfTEduTXJEd05JZXFB",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new6.jpg",
|
||||
"https://images.unsplash.com/photo-1517245386807-bb43f82c33c4?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1454165804606-c3d57bc86b40?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_10.jpg",
|
||||
"/assets/img/ipv6-gallery/6-MoU Signing Ceremony with VNNIC/gallery_image_11.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"title": "Diễn Đàn Điện Toán Đám Mây & Trung Tâm Dữ Liệu ASEAN 2023",
|
||||
"location": "Jakarta, Indonesia",
|
||||
"date": "15/08/2023",
|
||||
"description": "Tối ưu hóa phần cứng máy chủ và cấu trúc liên kết mạng dựa trên các tính năng của IPv6 cho quy mô doanh nghiệp.",
|
||||
"title": "Hội nghị Hội đồng APAC IPv6 Lần thứ 2",
|
||||
"location": "Bangkok, Thái Lan",
|
||||
"date": "Tháng 4/2023",
|
||||
"description": "Hội nghị Hội đồng APAC IPv6 lần thứ 2 đã đề ra các chiến lược ban đầu cho việc liên kết tiêu chuẩn viễn thông xuyên biên giới trong khu vực ASEAN.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipPDfUKw0JpOEhQ5mfNWx-21O_gtTeHFi2PGLqxgQYDCRJuvliEnfacHYkI4s3h-UA?key=dTlfUXBES2pzbmpnRkZYZkdENjZTVWROV3lUUFlB",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new7.jpg",
|
||||
"https://images.unsplash.com/photo-1600132806370-bf17e65e942f?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1505373877841-8d25f7d46678?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_10.jpg",
|
||||
"/assets/img/ipv6-gallery/7-2nd APAC IPv6 Council Meeting/gallery_image_11.jpg"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"title": "Hội Nghị Thượng Đỉnh 5G & IPv6 Enhanced 2023",
|
||||
"location": "Manila, Philippines",
|
||||
"date": "24/05/2023",
|
||||
"description": "Thúc đẩy đổi mới băng thông rộng di động và kết nối IoT thông qua kỹ thuật chia tách mạng 5G dựa trên IPv6.",
|
||||
"title": "Lễ Ký kết Biên bản Ghi nhớ Giữa APJII và Hội đồng APAC IPv6",
|
||||
"location": "Jakarta, Indonesia",
|
||||
"date": "Tháng 10/2022",
|
||||
"description": "Thỏa thuận hợp tác lịch sử giữa APJII (Hiệp hội nhà cung cấp dịch vụ Internet Indonesia) và Hội đồng APAC IPv6 nhằm triển khai toàn diện giao thức IPv6 trên các đường truyền ISP tại Indonesia.",
|
||||
"googleDriveUrl": "https://photos.google.com/share/AF1QipPUH5g15wkXPa_BNWwSNFS-i0yGR3K2reb7mZ2NPt-HT7qQGkq9A-Z2atsqEVIFlQ?key=U1BtSjBtYW94Sk4tZVkxNTVjYUZrWTU0RzRRMkdR",
|
||||
"images": [
|
||||
"/assets/img/gallery/ipv6_new8.jpg",
|
||||
"https://images.unsplash.com/photo-1519389950473-47ba0277781c?auto=format&fit=crop&w=800&q=80",
|
||||
"https://images.unsplash.com/photo-1522071820081-009f0129c71c?auto=format&fit=crop&w=800&q=80"
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_2.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_3.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_4.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_5.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_6.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_7.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_8.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_9.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_10.jpg",
|
||||
"/assets/img/ipv6-gallery/8-MOU Signing Ceremony between APJII and APAC IPv6 Council/gallery_image_11.jpg"
|
||||
]
|
||||
}
|
||||
],
|
||||
"join": {
|
||||
"title": "Sẵn Sàng Tham Gia Hội Đồng?",
|
||||
"description": "Trở thành thành viên ngay hôm nay và hợp tác với các nhà lãnh đạo khu vực để định hình tương lai của Internet tại khu vực Châu Á - Thái Bình Dương.",
|
||||
"registerBtn": "Đăng Ký Thành Viên",
|
||||
"viewMembersBtn": "Xem Các Thành Viên Hiện Tại"
|
||||
"title": "Sẵn Sàng Đăng Ký Tham Dự?",
|
||||
"description": "Đăng ký ngay hôm nay để giữ chỗ và cùng các chuyên gia hàng đầu định hình tương lai của AI & trung tâm dữ liệu thế hệ mới tại ASEAN.",
|
||||
"registerBtn": "Đăng Ký Ngay",
|
||||
"viewMembersBtn": "Xem Lịch Trình Sự Kiện"
|
||||
}
|
||||
}
|
||||
|
||||
|
After Width: | Height: | Size: 6.1 MiB |
|
After Width: | Height: | Size: 8.0 MiB |
|
After Width: | Height: | Size: 7.2 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 7.2 MiB |
|
After Width: | Height: | Size: 4.8 MiB |
|
After Width: | Height: | Size: 6.4 MiB |
|
After Width: | Height: | Size: 6.4 MiB |
|
After Width: | Height: | Size: 9.5 MiB |
|
After Width: | Height: | Size: 9.7 MiB |
|
After Width: | Height: | Size: 8.1 MiB |
|
After Width: | Height: | Size: 195 KiB |
|
After Width: | Height: | Size: 6.5 MiB |
|
After Width: | Height: | Size: 8.0 MiB |
|
After Width: | Height: | Size: 7.3 MiB |
|
After Width: | Height: | Size: 8.1 MiB |
|
After Width: | Height: | Size: 8.2 MiB |
|
After Width: | Height: | Size: 3.4 MiB |
|
After Width: | Height: | Size: 3.6 MiB |
|
After Width: | Height: | Size: 3.6 MiB |
|
After Width: | Height: | Size: 3.4 MiB |
|
After Width: | Height: | Size: 3.7 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 3.5 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 3.3 MiB |
|
After Width: | Height: | Size: 452 KiB |
|
After Width: | Height: | Size: 486 KiB |
|
After Width: | Height: | Size: 160 KiB |
|
After Width: | Height: | Size: 147 KiB |
|
After Width: | Height: | Size: 924 KiB |
|
After Width: | Height: | Size: 137 KiB |
|
After Width: | Height: | Size: 198 KiB |
|
After Width: | Height: | Size: 144 KiB |
|
After Width: | Height: | Size: 146 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 119 KiB |
|
After Width: | Height: | Size: 224 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 180 KiB |
|
After Width: | Height: | Size: 179 KiB |
|
After Width: | Height: | Size: 190 KiB |
|
After Width: | Height: | Size: 513 KiB |
|
After Width: | Height: | Size: 575 KiB |
|
After Width: | Height: | Size: 614 KiB |
|
After Width: | Height: | Size: 634 KiB |
|
After Width: | Height: | Size: 163 KiB |
|
After Width: | Height: | Size: 593 KiB |
|
After Width: | Height: | Size: 574 KiB |
|
After Width: | Height: | Size: 604 KiB |
|
After Width: | Height: | Size: 507 KiB |
|
After Width: | Height: | Size: 551 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 41 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 504 KiB |
|
After Width: | Height: | Size: 382 KiB |
|
After Width: | Height: | Size: 502 KiB |
|
After Width: | Height: | Size: 515 KiB |
|
After Width: | Height: | Size: 523 KiB |
|
After Width: | Height: | Size: 523 KiB |
|
After Width: | Height: | Size: 409 KiB |
|
After Width: | Height: | Size: 516 KiB |
|
After Width: | Height: | Size: 388 KiB |
|
After Width: | Height: | Size: 370 KiB |