Publish approved Thaalam 2026 page for November 22
Some checks are pending
Build and Deploy Build Output / build (push) Waiting to run

User-approved page without postponement banner. November 22, 10:00 AM–12:30 PM EST, Kitchener Public Library Theater. Adults $25, ages 5–14 $15, under 5 free. Includes poster, calendar reminder and event links. Preserves unrelated production content. Local build and patch checks passed.
This commit is contained in:
Waterloomurugantemple 2026-11-04 05:06:31 +00:00
parent 5e1103c51e
commit 5a2fc472b3
7 changed files with 81 additions and 1 deletions

View File

@ -0,0 +1,10 @@
import ThaalamEvent from "./thaalam-event";
import "./thaalam.css";
export const metadata = {
title: "Thaalam 2026 | Temple Fundraiser | Sri Murugan Temple of Waterloo",
description: "Rescheduled: Thaalam 2026, Sunday, November 22, 10:00 AM–12:30 PM EST at Kitchener Public Library Theater, 85 Queen Street N, Kitchener. Adults $25 CAD; children aged 5–14 $15; under 5 free. Supporting temple renovations and the RSC requirement.",
robots: { index: true, follow: true },
};
export default function ThaalamPage() { return <ThaalamEvent />; }

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,27 @@
"use client";
import { useEffect } from "react";
import content from "./thaalam-content.json";
export default function ThaalamEvent() {
useEffect(() => {
const controller = new AbortController();
const options = { signal: controller.signal };
const posterDialog = document.getElementById("poster-dialog");
document.querySelectorAll(".thaalam-page [data-open-poster]").forEach(button => button.addEventListener("click", () => posterDialog.showModal(), options));
document.getElementById("close-poster").addEventListener("click", () => posterDialog.close(), options);
posterDialog.addEventListener("click", event => {
if (event.target === posterDialog) {
const r = posterDialog.getBoundingClientRect();
if (event.clientX < r.left || event.clientX > r.right || event.clientY < r.top || event.clientY > r.bottom) posterDialog.close();
}
}, options);
document.getElementById("calendar-download").addEventListener("click", () => {
const lines = ['BEGIN:VCALENDAR','VERSION:2.0','PRODID:-//Sri Murugan Temple of Waterloo//Thaalam 2026//EN','CALSCALE:GREGORIAN','BEGIN:VEVENT','UID:thaalam-2026-20261003@waterloomurugantemple.ca','DTSTAMP:20261104T044353Z','SEQUENCE:2','DTSTART:20261122T150000Z','DTEND:20261122T173000Z','SUMMARY:Thaalam 2026 - Temple Fundraiser','LOCATION:Kitchener Public Library Theater\\, 85 Queen Street N\\, Kitchener\\, Ontario','DESCRIPTION:Rescheduled from October 3. Devotional musical fundraiser for Sri Murugan Temple of Waterloo. Proceeds support temple renovations and the RSC requirement.\\nAdults $25 CAD. Children aged 5-14 $15 CAD. Under 5 free.\\nTickets: https://www.zeffy.com/en-CA/ticketing/thaalam-2026-tickets','URL:https://www.zeffy.com/en-CA/ticketing/thaalam-2026-tickets','END:VEVENT','END:VCALENDAR'];
const ics=lines.map(line=>{const chunks=[];while(line.length>70){chunks.push(line.slice(0,70));line=' '+line.slice(70);}chunks.push(line);return chunks.join('\r\n');}).join('\r\n')+'\r\n';
const url=URL.createObjectURL(new Blob([ics],{type:'text/calendar;charset=utf-8'}));const link=document.createElement('a');link.href=url;link.download='Thaalam-2026.ics';link.click();setTimeout(()=>URL.revokeObjectURL(url),1000);
}, options);
return () => { controller.abort(); if (posterDialog.open) posterDialog.close(); };
}, []);
// Authored static event markup, not user-submitted HTML.
return <div className="thaalam-page" dangerouslySetInnerHTML={{ __html: content }} />;
}

File diff suppressed because one or more lines are too long

View File

@ -8,6 +8,33 @@ const EventMain = () => {
<section className="blog-area space-top space-extra-bottom"> <section className="blog-area space-top space-extra-bottom">
<div className="container"> <div className="container">
<div className="row gx-30 gy-30"> <div className="row gx-30 gy-30">
<div className="col-lg-6 col-md-6">
<div
className="hero-intro-card"
style={{ backgroundColor: "rgba(210, 165, 48, 0.2)" }}
>
<div className="intro-card-img">
<img
src="/assets/img/events/thaalam/thaalam-2026-nov22.jpeg"
alt="Thaalam 2026 Fundraiser poster"
style={{ objectFit: "contain" }}
/>
</div>
<div className="intro-card-details">
<h6 className="intro-card-subtitle">Sunday, November 22, 2026 · 10:00 AM–12:30 PM EST</h6>
<h4 className="intro-card-title">
<Link href="/event-thaalam-2026/">Thaalam 2026 Fundraiser</Link>
</h4>
<p>Devotional musical temple fundraiser</p>
<p>Kitchener Public Library Theater, 85 Queen Street N, Kitchener, Ontario</p>
<p>Adults: $25 CAD | Children aged 5–14: $15 CAD | Under 5: Free</p>
<Link href="/event-thaalam-2026/" className="btn style5 style-radius">
Know More
<i className="fas fa-arrow-right ms-2" />
</Link>
</div>
</div>
</div>
<div className="col-lg-6 col-md-6"> <div className="col-lg-6 col-md-6">
<div <div
className="hero-intro-card" className="hero-intro-card"

View File

@ -274,6 +274,7 @@ const HeaderFour = () => {
width: "320px", width: "320px",
}} }}
> >
<li><Link href="/event-thaalam-2026/">Thaalam 2026 Fundraiser</Link></li>
<li> <li>
<Link href="/event-avani-avittam">Aavani Avittam</Link> <Link href="/event-avani-avittam">Aavani Avittam</Link>
</li> </li>
@ -659,7 +660,8 @@ const HeaderFour = () => {
<li className="menu-item-has-children"> <li className="menu-item-has-children">
<Link href="#">2026</Link> <Link href="#">2026</Link>
<ul style={{ position: "static" }}> <ul style={{ position: "static" }}>
<li> <li><Link href="/event-thaalam-2026/">Thaalam 2026 Fundraiser</Link></li>
<li>
<Link href="/event-new-year">New Year Celebration</Link> <Link href="/event-new-year">New Year Celebration</Link>
</li> </li>
<li> <li>

View File

@ -8,6 +8,7 @@ const EventCalendar = () => {
const [selectedYear, setSelectedYear] = useState("2026"); const [selectedYear, setSelectedYear] = useState("2026");
const events = [ const events = [
{ id: 4, date: "2026-11-22", title: "Thaalam 2026 Fundraiser, Sunday, 10:00 AM - 12:30 PM", url: "/event-thaalam-2026/" },
{ id: 1, date: "2026-08-25", title: "Pradosham Puja, Tuesday, 6:30 PM - 8:30 PM", url: "/event-pradhosham-puja" }, { id: 1, date: "2026-08-25", title: "Pradosham Puja, Tuesday, 6:30 PM - 8:30 PM", url: "/event-pradhosham-puja" },
{ id: 2, date: "2026-08-27", title: "Avani Avittam - Jandhyala Pournima, Thursday, 6:15 AM - 8:15 AM", url: "/event-avani-avittam" }, { id: 2, date: "2026-08-27", title: "Avani Avittam - Jandhyala Pournima, Thursday, 6:15 AM - 8:15 AM", url: "/event-avani-avittam" },
{ id: 3, date: "2026-08-30", title: "Aruna Prasnam Chanting - Surya Namaskaram, Sunday, 7:00 AM", url: "/event-aruna-prasnam-chanting" }, { id: 3, date: "2026-08-30", title: "Aruna Prasnam Chanting - Surya Namaskaram, Sunday, 7:00 AM", url: "/event-aruna-prasnam-chanting" },