diff --git a/app/(event)/photo-gallery/page.jsx b/app/(event)/photo-gallery/page.jsx index 1bca5f6..c28b9b0 100644 --- a/app/(event)/photo-gallery/page.jsx +++ b/app/(event)/photo-gallery/page.jsx @@ -1,125 +1,10 @@ -'use client'; -import axios from 'axios'; -import Layout from "@/components/layout/Layout"; -import Link from "next/link"; -import { useState, useEffect } from 'react'; +export const metadata = { + title: "Community Photo Gallery | View Our Memories", + description: "Browse photos from Tamil cultural events and community programs in Waterloo Region.", +}; + +import PhotoGallerySection from "@/components/events/PhotoGallerySection"; export default function Memories() { - const [selectedYear, setSelectedYear] = useState(''); - const [events, setEvents] = useState([]); - const [years, setYears] = useState([]); - - useEffect(() => { - getEvents(); - }, []); - - const getEvents = async () => { - try { - const eventRes = await axios.get( - 'https://api.tamilculturewaterloo.org/api/events/' - ); - - const eventsData = eventRes?.data?.data || []; - setEvents(eventsData); - - // Extract unique years & sort (latest first) - const uniqueYears = [...new Set(eventsData.map(event => event.year))].sort((a, b) => b - a); - setYears(uniqueYears); - - // Default to latest year immediately - if (uniqueYears.length > 0) { - setSelectedYear(uniqueYears[0]); - } - } catch (error) { - console.log("error fetching data", error); - } - }; - - // Filter events by selected year - const filteredEvents = events.filter(event => event.year === selectedYear); - - return ( - -
- {/* Header Section */} -
-
-
-
-
-

Recent Memories

-
- - Home Recent Memories - -
-
-
-
-
- - {/* Memory Section */} -
-
-
- {/* Left Column: Year Tabs */} -
-
-
-
    - {years.map((year) => ( -
  • - -
  • - ))} -
-
-
-
- - {/* Right Column: Gallery */} -
-
- {filteredEvents.map((event, idx) => ( -
-
-
- {event.eventtitle} -
-
-

{event.eventdate}

-
- - {event.eventtitle} - -
- - - -
-
-
-
- ))} - {filteredEvents.length === 0 && ( -
-

No events found for {selectedYear}

-
- )} -
-
-
-
-
-
- - ); + return ; } diff --git a/app/(event)/photo-gallery/single-gallery/page.tsx b/app/(event)/photo-gallery/single-gallery/page.tsx index cc1b06a..82e0495 100644 --- a/app/(event)/photo-gallery/single-gallery/page.tsx +++ b/app/(event)/photo-gallery/single-gallery/page.tsx @@ -4,7 +4,7 @@ import Layout from '@/components/layout/Layout'; import axios from 'axios'; import Link from 'next/link'; import { useSearchParams, useRouter } from 'next/navigation'; -import { useEffect, useState } from 'react'; +import { useEffect, useState, useCallback } from 'react'; import Lightbox from "yet-another-react-lightbox"; import "yet-another-react-lightbox/styles.css"; @@ -24,13 +24,7 @@ export default function SingleGallery() { const [open, setOpen] = useState(false); const [currentIndex, setCurrentIndex] = useState(0); - useEffect(() => { - if (eventId) { - getEventGallery(); - } - }, [eventId]); - - const getEventGallery = async () => { + const getEventGallery = useCallback(async () => { try { const res = await axios.get( `https://api.tamilculturewaterloo.org/api/event-images/event/${eventId}` @@ -45,7 +39,13 @@ export default function SingleGallery() { } catch (error) { console.log("Error fetching event images", error); } - }; + }, [eventId]); + + useEffect(() => { + if (eventId) { + getEventGallery(); + } + }, [eventId, getEventGallery]); const handleImageClick = (index: number) => { setCurrentIndex(index); diff --git a/app/(event)/upcoming-event/page.jsx b/app/(event)/upcoming-event/page.jsx index ae2493a..345b1fb 100644 --- a/app/(event)/upcoming-event/page.jsx +++ b/app/(event)/upcoming-event/page.jsx @@ -1,9 +1,10 @@ -'use client'; -import Countdown from '@/components/elements/Countdown'; +export const metadata = { + title: "Upcoming Community Events | Join Us", + description: "Stay updated on upcoming Tamil cultural events and community gatherings in Waterloo, Ontario.", +}; + import Layout from "@/components/layout/Layout"; -import { memoryData } from '@/utility/constant.utils'; import Link from "next/link"; -import { useState } from 'react'; import UpcomingEventData from '../../../components/events/UpcomingEventData'; export default function Memories() { @@ -31,8 +32,8 @@ export default function Memories() {
- - + +
); diff --git a/app/(event)/upcoming-event/tamil-cultural-nite-2025/page.jsx b/app/(event)/upcoming-event/tamil-cultural-nite-2025/page.jsx index 5c63335..e9d6b2e 100644 --- a/app/(event)/upcoming-event/tamil-cultural-nite-2025/page.jsx +++ b/app/(event)/upcoming-event/tamil-cultural-nite-2025/page.jsx @@ -1,4 +1,8 @@ -'use client' +export const metadata = { + title: "Tamil Cultural Nite 2025 | Book & Participate", + description: "Join Tamil Cultural Nite 2025 in Waterloo for performances, music, and community celebration.", +}; + import Layout from "@/components/layout/Layout" import PageLoader from "@/components/common-component/PageLoader"; import Link from "next/link" @@ -114,7 +118,7 @@ const Page = () => { > - Book Now + Book Now @@ -204,17 +208,17 @@ const Page = () => { - + -
-
- -
+
+
+ +
-
+
diff --git a/app/about/association/page.tsx b/app/about/association/page.tsx index 8c7c78c..619b81a 100644 --- a/app/about/association/page.tsx +++ b/app/about/association/page.tsx @@ -1,3 +1,9 @@ +import type { Metadata } from "next" + +export const metadata: Metadata = { + title: "Tamil Cultural Association | Get to Know Us", + description: "Discover our association, leadership structure, and how we support Tamil culture and unity in Waterloo, Ontario.", +}; import Countdown from '@/components/elements/Countdown' import Layout from "@/components/layout/Layout" @@ -13,25 +19,25 @@ export default function Association() {
-
-
-
-
-
-

Association

-
- Home About -
-
-
-
+
+
+
+
+
+

Association

+
+ Home About +
+
+
+
+
+ + + + +
- - - - - -
) diff --git a/app/about/committee/page.tsx b/app/about/committee/page.tsx index c89f75f..3476958 100644 --- a/app/about/committee/page.tsx +++ b/app/about/committee/page.tsx @@ -1,4 +1,10 @@ -'use client' +import type { Metadata } from "next" + +export const metadata: Metadata = { + title: "Meet Our Committee Members | Community Leaders", + description: "Meet the dedicated committee members leading Tamil Culture Waterloo and organizing community initiatives.", +}; + import Layout from "@/components/layout/Layout"; import Section1 from "@/components/about/committee/Section1"; // adjust path if needed diff --git a/app/about/constitution/page.tsx b/app/about/constitution/page.tsx index dc73166..4af61a4 100644 --- a/app/about/constitution/page.tsx +++ b/app/about/constitution/page.tsx @@ -1,3 +1,9 @@ +import type { Metadata } from "next" + +export const metadata: Metadata = { + title: "Constitution & Governance | Read Our Principles", + description: "Read the constitution outlining governance, values, and operational principles of our Tamil cultural association.", +}; import Countdown from '@/components/elements/Countdown' import Layout from "@/components/layout/Layout" @@ -11,22 +17,22 @@ export default function Constitution() {
-
-
-
-
-
-

Constitution

-
- Home About -
+
+
+
+
+
+

Constitution

+
+ Home About
- - -
+
+ + +
diff --git a/app/about/mission/page.tsx b/app/about/mission/page.tsx index 8ff6a44..b6db734 100644 --- a/app/about/mission/page.tsx +++ b/app/about/mission/page.tsx @@ -1,3 +1,9 @@ +import type { Metadata } from "next" + +export const metadata: Metadata = { + title: "Our Mission & Vision | Discover Our Purpose", + description: "Explore our mission and vision to preserve Tamil culture and strengthen community connections in Waterloo Region.", +}; import Countdown from '@/components/elements/Countdown' import Layout from "@/components/layout/Layout" @@ -11,22 +17,22 @@ export default function Mission() {
-
-
-
-
-
-

Mission

-
- Home About -
+
+
+
+
+
+

Mission

+
+ Home About
- - -
+
+ + +
diff --git a/app/about/page.tsx b/app/about/page.tsx index 10e6767..24288da 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -1,4 +1,10 @@ -'use client' +import type { Metadata } from "next" + +export const metadata: Metadata = { + title: "About Tamil Culture Waterloo | Learn Our Story", + description: "Learn about Tamil Culture Waterloo, our history, values, and role in serving the Tamil community in Waterloo Region.", +}; + import CountUp from 'react-countup' import Countdown from '@/components/elements/Countdown' import Layout from "@/components/layout/Layout" @@ -27,7 +33,7 @@ export default function About() {
{/*===== HERO AREA ENDS =======*/} - +
diff --git a/app/community/badminton-club/BadmintonClubClient.tsx b/app/community/badminton-club/BadmintonClubClient.tsx new file mode 100644 index 0000000..d977c70 --- /dev/null +++ b/app/community/badminton-club/BadmintonClubClient.tsx @@ -0,0 +1,120 @@ +'use client'; + +import Layout from '@/components/layout/Layout'; +import { communitySubmenuData } from '@/utility/constant.utils'; +import Link from 'next/link'; +import { useState } from 'react'; +import Lightbox from "yet-another-react-lightbox"; +import "yet-another-react-lightbox/styles.css"; + +export default function BadmintonClubClient() { + + const galleryImages = communitySubmenuData.filter((img: any) => +img.id >= 9 && +img.id <= 12); + + const [open, setOpen] = useState(false); + const [index, setIndex] = useState(0); + + return ( + <> + + +
+
+
+
+
+

Badminton Club

+
+ + Home + Badminton Club + +
+
+
+
+
+ + {/* Description Section */} +
+
+
+
+
+

+ Badminton Club Cambridge +

+
+

+ Waterloo region's Tamil Badminton Club was started in 2019. It is held on Friday at 6:30 – 9:30pm, William G Davis Public School, 530 Langs Drive, Cambridge, Ontario. Membership is open to members of Tamil Cultural Association of Waterloo Region only. +

+
+

2022/23 Badminton Membership Fee:

+

Single $106.00

+

Family $157.00

+
+

+ A Badminton club member has to obtain TCA membership prior to joining the club. Membership includes Court fee and Insurance. Fall/Winter season only. (Sep.23/22 To May 26/23) +

+

+ The school is primarily supported by Tamil Cultural Association of Waterloo Region and Waterloo District School Board. + More info: mail@tca.srika.in +

+
+
+
+ +
+ {galleryImages.length > 0 ? ( + galleryImages.map((img: any, i: number) => ( +
{ + setIndex(i); + setOpen(true); + }} + style={{ cursor: 'pointer' }} + > +
+
+ {img.alt} +
+
+
+ )) + ) : ( +
+

No images found for this event.

+
+ )} +
+
+
+ + {/* Lightbox Viewer */} + setOpen(false)} + slides={galleryImages} + index={index} + /> + + + ); +} diff --git a/app/community/badminton-club/page.tsx b/app/community/badminton-club/page.tsx index 65f397f..acc8266 100644 --- a/app/community/badminton-club/page.tsx +++ b/app/community/badminton-club/page.tsx @@ -1,120 +1,12 @@ -'use client'; +import type { Metadata } from "next" -import Layout from '@/components/layout/Layout'; -import { communitySubmenuData } from '@/utility/constant.utils'; -import Link from 'next/link'; -import { useState } from 'react'; -import Lightbox from "yet-another-react-lightbox"; -import "yet-another-react-lightbox/styles.css"; +export const metadata: Metadata = { + title: "Tamil Badminton Club | Play With Us", + description: "Play, train, and compete with the Tamil Badminton Club in Waterloo Region.", +}; -export default function CricketClub() { +import BadmintonClubClient from "./BadmintonClubClient"; - const galleryImages = communitySubmenuData.filter(img => +img.id >= 9 && +img.id <= 12); - - const [open, setOpen] = useState(false); - const [index, setIndex] = useState(0); - - return ( - <> - - -
-
-
-
-
-

Badminton Club

-
- - Home - Badminton Club - -
-
-
-
-
- - {/* Description Section */} -
-
-
-
-
-

- Badminton Club Cambridge -

-
-

- Waterloo region’s Tamil Badminton Club was started in 2019. It is held on Friday at 6:30 – 9:30pm, William G Davis Public School, 530 Langs Drive, Cambridge, Ontario. Membership is open to members of Tamil Cultural Association of Waterloo Region only. -

-
-

2022/23 Badminton Membership Fee:

-

Single $106.00

-

Family $157.00

-
-

- A Badminton club member has to obtain TCA membership prior to joining the club. Membership includes Court fee and Insurance. Fall/Winter season only. (Sep.23/22 To May 26/23) -

-

- The school is primarily supported by Tamil Cultural Association of Waterloo Region and Waterloo District School Board. - More info: mail@tca.srika.in -

-
-
-
- -
- {galleryImages.length > 0 ? ( - galleryImages.map((img, i) => ( -
{ - setIndex(i); - setOpen(true); - }} - style={{ cursor: 'pointer' }} - > -
-
- {img.alt} -
-
-
- )) - ) : ( -
-

No images found for this event.

-
- )} -
-
-
- - {/* Lightbox Viewer */} - setOpen(false)} - slides={galleryImages} - index={index} - /> - - - ); +export default function BadmintonClubPage() { + return ; } diff --git a/app/community/business-directory/page.tsx b/app/community/business-directory/page.tsx index 974b709..280c13b 100644 --- a/app/community/business-directory/page.tsx +++ b/app/community/business-directory/page.tsx @@ -1,3 +1,9 @@ +import type { Metadata } from "next" + +export const metadata: Metadata = { + title: "Tamil Business Directory | Support Local Businesses", + description: "Explore Tamil-owned businesses and support local entrepreneurs in Waterloo.", +}; import Countdown from '@/components/elements/Countdown' import Layout from "@/components/layout/Layout" @@ -11,22 +17,22 @@ export default function BusinessDirectory() {
-
-
-
-
-
-

Business Directory

-
- Home About -
+
+
+
+
+
+

Business Directory

+
+ Home About
- - -
+
+ + +
diff --git a/app/community/cricket-club/CricketClubClient.tsx b/app/community/cricket-club/CricketClubClient.tsx new file mode 100644 index 0000000..7049b4f --- /dev/null +++ b/app/community/cricket-club/CricketClubClient.tsx @@ -0,0 +1,107 @@ +'use client'; + +import Layout from '@/components/layout/Layout'; +import { communitySubmenuData } from '@/utility/constant.utils'; +import Link from 'next/link'; +import { useState } from 'react'; +import Lightbox from 'yet-another-react-lightbox'; +import 'yet-another-react-lightbox/styles.css'; + +export default function CricketClubClient() { + + const galleryImages = communitySubmenuData.filter((img: any) => +img.id >= 5 && +img.id <= 8); + + const [open, setOpen] = useState(false); + const [index, setIndex] = useState(0); + + return ( + <> + +
+
+
+
+
+

Cricket Club

+ + Home + Community + +
+
+
+
+
+ +
+
+
+
+
+

Tamil Cricket Club Waterloo

+
+

+ Waterloo region's Tamil Cricket Club was started in 2018. Venue: Waterloo Park, + Waterloo, Ontario Canada. Spring/Summer season only. Membership is for Tamil Cultural + Association of Waterloo Region only. +
+
+ The club is primarily supported by Tamil Cultural Association of Waterloo Region. + More info:{' '} + + mail@tca.srika.in + +

+
+
+
+
+ +
+ {galleryImages.length > 0 ? ( + galleryImages.map((img: any, i: number) => ( +
{ + setIndex(i); + setOpen(true); + }} + style={{ cursor: 'pointer' }} + > +
+
+ {img.alt} +
+
+
+ )) + ) : ( +
+

No images found for this event.

+
+ )} +
+
+
+ + setOpen(false)} slides={galleryImages} index={index} /> + + + ); +} diff --git a/app/community/cricket-club/page.tsx b/app/community/cricket-club/page.tsx index 1ad6603..1c5699b 100644 --- a/app/community/cricket-club/page.tsx +++ b/app/community/cricket-club/page.tsx @@ -1,107 +1,12 @@ -'use client'; +import type { Metadata } from "next" -import Layout from '@/components/layout/Layout'; -import { communitySubmenuData } from '@/utility/constant.utils'; -import Link from 'next/link'; -import { useState } from 'react'; -import Lightbox from 'yet-another-react-lightbox'; -import 'yet-another-react-lightbox/styles.css'; +export const metadata: Metadata = { + title: "Tamil Cricket Club | Join the Team", + description: "Join the Tamil Cricket Club and enjoy sports and teamwork in Waterloo.", +}; -export default function CricketClub() { +import CricketClubClient from "./CricketClubClient"; - const galleryImages = communitySubmenuData.filter(img => +img.id >= 5 && +img.id <= 8); - - const [open, setOpen] = useState(false); - const [index, setIndex] = useState(0); - - return ( - <> - -
-
-
-
-
-

Cricket Club

- - Home - Community - -
-
-
-
-
- -
-
-
-
-
-

Tamil Cricket Club Waterloo

-
-

- Waterloo region’s Tamil Cricket Club was started in 2018. Venue: Waterloo Park, - Waterloo, Ontario Canada. Spring/Summer season only. Membership is for Tamil Cultural - Association of Waterloo Region only. -
-
- The club is primarily supported by Tamil Cultural Association of Waterloo Region. - More info:{' '} - - mail@tca.srika.in - -

-
-
-
-
- -
- {galleryImages.length > 0 ? ( - galleryImages.map((img, i) => ( -
{ - setIndex(i); - setOpen(true); - }} - style={{ cursor: 'pointer' }} - > -
-
- {img.alt} -
-
-
- )) - ) : ( -
-

No images found for this event.

-
- )} -
-
-
- - setOpen(false)} slides={galleryImages} index={index} /> - - - ); +export default function CricketClubPage() { + return ; } diff --git a/app/community/global-relief-fund/GlobalReliefFundClient.tsx b/app/community/global-relief-fund/GlobalReliefFundClient.tsx new file mode 100644 index 0000000..034e739 --- /dev/null +++ b/app/community/global-relief-fund/GlobalReliefFundClient.tsx @@ -0,0 +1,150 @@ +'use client'; + +import Layout from '@/components/layout/Layout'; +import { communitySubmenuData } from '@/utility/constant.utils'; +import Link from 'next/link'; +import { useState } from 'react'; +import Lightbox from "yet-another-react-lightbox"; +import "yet-another-react-lightbox/styles.css"; + +export default function GlobalReliefFundClient() { + // Show only images with id 1 to 4 + const galleryImages = communitySubmenuData.filter((img: any) => +img.id >= 1 && +img.id <= 4); + + const [open, setOpen] = useState(false); + const [index, setIndex] = useState(0); + + return ( + <> + + +
+
+
+
+
+

TCA Global Relief Fund

+
+ + Home + Community + +
+
+
+
+
+ + +
+
+
+
+
+

TCA Global Relief Fund

+
+
+
+
+
+ + + + +
+
+
+
+

+ Tamil Cultural Association established a global relief fund in 2000 to support financially as well as in-kind support to under privileged communities or individuals in Canada, Sri Lanka and India. +

+
+
+

1. A consignment of cloths were shipped through Trico freight to Nunavil Children's Orphanage in Jaffna, Sri Lanka.

+
+

2. Indian Rupees of 25,000 donated to burnt victim in Trichy, South India.

+
+ +

3. Project Hope fundraising in 2008 for Ramakrishna Mission school library, Batticaloa, Sri Lanka. Raised $2032.00

+
+ +

4. Donated funds and food items to St. John's Soup Kitchen, Kitchener

+
+ +

5. Gifted educational materials to school children in Jaffna and Killinochchi, Sri Lanka in 2021. Facilitated by YMCA Jaffna.

+
+ +

6. Dry ration food kits were donated to Indian upcountry community in Nuwara Eliya and Kegalle district in 2021. Funds raised $3300

+
+ +

7. Toronto Tamil Chair campaign to establish a Tamil chair at University of Toronto. Raised funds amounting to $2400 in 2021

+
+ +

8. Raised funds and donated dry food to Waterloo Region Food bank in 2022. It was part of Tamil Heritage month.

+
+ +
+
+
+
+
+
+ +
+ {galleryImages.length > 0 ? ( + galleryImages.map((img: any, i: number) => ( +
{ + setIndex(i); + setOpen(true); + }} + style={{ cursor: 'pointer' }} + > +
+
+ {img.alt} +
+
+
+ )) + ) : ( +
+

No images found for this event.

+
+ )} +
+
+
+ + + setOpen(false)} + slides={galleryImages} + index={index} + /> + + + ); +} diff --git a/app/community/global-relief-fund/page.tsx b/app/community/global-relief-fund/page.tsx index 69baa1e..e5a9c33 100644 --- a/app/community/global-relief-fund/page.tsx +++ b/app/community/global-relief-fund/page.tsx @@ -1,150 +1,12 @@ -'use client'; +import type { Metadata } from "next" -import Layout from '@/components/layout/Layout'; -import { communitySubmenuData } from '@/utility/constant.utils'; -import Link from 'next/link'; -import { useState } from 'react'; -import Lightbox from "yet-another-react-lightbox"; -import "yet-another-react-lightbox/styles.css"; +export const metadata: Metadata = { + title: "Global Relief Fund | Support Humanitarian Causes", + description: "Support global relief efforts and humanitarian causes led by the Tamil community.", +}; -export default function GlobalReliefFund() { - // Show only images with id 1 to 4 - const galleryImages = communitySubmenuData.filter(img => +img.id >= 1 && +img.id <= 4); +import GlobalReliefFundClient from "./GlobalReliefFundClient"; - const [open, setOpen] = useState(false); - const [index, setIndex] = useState(0); - - return ( - <> - - -
-
-
-
-
-

TCA Global Relief Fund

-
- - Home - Community - -
-
-
-
-
- - -
-
-
-
-
-

TCA Global Relief Fund

-
-
-
-
-
- - - - -
-
-
-
-

- Tamil Cultural Association established a global relief fund in 2000 to support financially as well as in-kind support to under privileged communities or individuals in Canada, Sri Lanka and India. -

-
-
-

1. A consignment of cloths were shipped through Trico freight to Nunavil Children’s Orphanage in Jaffna, Sri Lanka.

-
-

2. Indian Rupees of 25,000 donated to burnt victim in Trichy, South India.

-
- -

3. Project Hope fundraising in 2008 for Ramakrishna Mission school library, Batticaloa, Sri Lanka. Raised $2032.00

-
- -

4. Donated funds and food items to St. John’s Soup Kitchen, Kitchener

-
- -

5. Gifted educational materials to school children in Jaffna and Killinochchi, Sri Lanka in 2021. Facilitated by YMCA Jaffna.

-
- -

6. Dry ration food kits were donated to Indian upcountry community in Nuwara Eliya and Kegalle district in 2021. Funds raised $3300

-
- -

7. Toronto Tamil Chair campaign to establish a Tamil chair at University of Toronto. Raised funds amounting to $2400 in 2021

-
- -

8. Raised funds and donated dry food to Waterloo Region Food bank in 2022. It was part of Tamil Heritage month.

-
- -
-
-
-
-
-
- -
- {galleryImages.length > 0 ? ( - galleryImages.map((img, i) => ( -
{ - setIndex(i); - setOpen(true); - }} - style={{ cursor: 'pointer' }} - > -
-
- {img.alt} -
-
-
- )) - ) : ( -
-

No images found for this event.

-
- )} -
-
-
- - - setOpen(false)} - slides={galleryImages} - index={index} - /> - - - ); +export default function GlobalReliefFundPage() { + return ; } diff --git a/app/community/page.tsx b/app/community/page.tsx index 811f2dc..0b4dafd 100644 --- a/app/community/page.tsx +++ b/app/community/page.tsx @@ -1,4 +1,10 @@ -'use client' +import type { Metadata } from "next" + +export const metadata: Metadata = { + title: "Tamil Community Programs | Get Involved", + description: "Discover Tamil community programs, initiatives, and social activities in Waterloo Region.", +}; + import CountUp from 'react-countup' import Countdown from '@/components/elements/Countdown' import Layout from "@/components/layout/Layout" @@ -27,7 +33,7 @@ export default function CommunityPage() {
{/*===== HERO AREA ENDS =======*/} - +
diff --git a/app/community/recipes/page.tsx b/app/community/recipes/page.tsx index b95b278..5115b80 100644 --- a/app/community/recipes/page.tsx +++ b/app/community/recipes/page.tsx @@ -1,3 +1,9 @@ +import type { Metadata } from "next" + +export const metadata: Metadata = { + title: "Traditional Tamil Recipes | Explore & Cook", + description: "Explore traditional Tamil recipes and home-style dishes shared by the community.", +}; import Layout from "@/components/layout/Layout" @@ -28,37 +34,37 @@ export default function Recipes() {
- {recipesList.map((post) => ( + {recipesList.map((post) => ( -
-
-
- {post.title} -
-
-
    -
  • - {post.date} | -
  • -
  • - {post.user} -
  • -
-
- {post.title.length > 40 ? `${post.title.slice(0, 40)}...` : post?.title} -
- read more -
- +
+
+
+ {post.title} +
+
+
    +
  • + {post.date} | +
  • +
  • + {post.user} +
  • +
+
+ {post.title.length > 40 ? `${post.title.slice(0, 40)}...` : post?.title} +
+ read more +
+ +
-
-
+
)) - } -
- {/*
*/} - {/*
+ } +
+ {/*
*/} + {/*
*/} -
+
diff --git a/app/community/tamil-school/TamilSchoolClient.tsx b/app/community/tamil-school/TamilSchoolClient.tsx new file mode 100644 index 0000000..0ac7977 --- /dev/null +++ b/app/community/tamil-school/TamilSchoolClient.tsx @@ -0,0 +1,121 @@ +'use client'; + +import Layout from '@/components/layout/Layout'; +import { communitySubmenuData } from '@/utility/constant.utils'; +import Link from 'next/link'; +import { useState } from 'react'; +import Lightbox from "yet-another-react-lightbox"; +import "yet-another-react-lightbox/styles.css"; + +export default function TamilSchoolClient() { + + const galleryImages = communitySubmenuData.filter((img: any) => +img.id >= 13 && +img.id <= 20); + + const [open, setOpen] = useState(false); + const [index, setIndex] = useState(0); + + return ( + <> + +
+
+
+
+
+

Tamil School

+
+ + Home + Tamil School + +
+
+
+
+
+ +
+
+
+
+
+

+ Waterloo Region Tamil School +

+ +
+

Waterloo region's first Tamil language class was started in 1987 with the support of Late Mr. Marcil Francis, Late Prof. Pala Kannappan, Prof. Selvakumar and Mrs. Pushpa Seevaratnam. It was held at Victoria Public School, downtown Kitchener.

+ +
+

The first Tamil Variety show & Social Hour was held on December 5th, 1987 at Keatsway Public School, Waterloo.

+ +
+

Tamil Class was re-activated in 2000 at St. John's School, Guelph under the ILP program. Mrs. Padhmini Swaminathan was the first teacher. In the following year it was moved to St. Peter's School, Guelph and successive teachers were Shayamala Navam, Dharini Sivakumar and Shanthi Rajan. Classes discontinued in 2005 due to lack of student participation.

+ +
+

In 2011, Waterloo District School board in conjunction with Tamil Cultural Association recommenced the Tamil class at Hespler Public School, Cambridge. Mrs. E. Kunamalar was the teacher.

+ +
+

In the year 2020/21, as per instructions from Ontario Ministry of Education, Waterloo Tamil school switched to an online portal. This was due to Covid-19 pandemic in the Province. Virtual and in-house classes are conducted by Mrs. Suharmini Shrishankar.

+ +
+

October 2022, Waterloo school board recommenced live Tamil class at 555 Ellis Rd, Cambridge, ON N3C 4K2. It is held on Saturday at 9.00am

+ +

The school is primarily supported by Tamil Cultural Association of Waterloo Region and Waterloo District School Board.

+
+
+
+ +
+ {galleryImages.length > 0 ? ( + galleryImages.map((img: any, i: number) => ( +
{ + setIndex(i); + setOpen(true); + }} + style={{ cursor: 'pointer' }} + > +
+
+ {img.alt} +
+
+
+ )) + ) : ( +
+

No images found for this event.

+
+ )} +
+
+
+ + setOpen(false)} + slides={galleryImages} + index={index} + /> + + + ); +} diff --git a/app/community/tamil-school/page.tsx b/app/community/tamil-school/page.tsx index f559a71..a14e2de 100644 --- a/app/community/tamil-school/page.tsx +++ b/app/community/tamil-school/page.tsx @@ -1,121 +1,12 @@ -'use client'; +import type { Metadata } from "next" -import Layout from '@/components/layout/Layout'; -import { communitySubmenuData } from '@/utility/constant.utils'; -import Link from 'next/link'; -import { useState } from 'react'; -import Lightbox from "yet-another-react-lightbox"; -import "yet-another-react-lightbox/styles.css"; +export const metadata: Metadata = { + title: "Tamil Language School | Enroll Your Child", + description: "Learn about Tamil language education programs for children in Waterloo Region.", +}; -export default function CricketClub() { +import TamilSchoolClient from "./TamilSchoolClient"; - const galleryImages = communitySubmenuData.filter(img => +img.id >= 13 && +img.id <= 20); - - const [open, setOpen] = useState(false); - const [index, setIndex] = useState(0); - - return ( - <> - -
-
-
-
-
-

Tamil School

-
- - Home - Tamil School - -
-
-
-
-
- -
-
-
-
-
-

- Waterloo Region Tamil School -

- -
-

Waterloo region’s first Tamil language class was started in 1987 with the support of Late Mr. Marcil Francis, Late Prof. Pala Kannappan, Prof. Selvakumar and Mrs. Pushpa Seevaratnam. It was held at Victoria Public School, downtown Kitchener.

- -
-

The first Tamil Variety show & Social Hour was held on December 5th, 1987 at Keatsway Public School, Waterloo.

- -
-

Tamil Class was re-activated in 2000 at St. John’s School, Guelph under the ILP program. Mrs. Padhmini Swaminathan was the first teacher. In the following year it was moved to St. Peter’s School, Guelph and successive teachers were Shayamala Navam, Dharini Sivakumar and Shanthi Rajan. Classes discontinued in 2005 due to lack of student participation.

- -
-

In 2011, Waterloo District School board in conjunction with Tamil Cultural Association recommenced the Tamil class at Hespler Public School, Cambridge. Mrs. E. Kunamalar was the teacher.

- -
-

In the year 2020/21, as per instructions from Ontario Ministry of Education, Waterloo Tamil school switched to an online portal. This was due to Covid-19 pandemic in the Province. Virtual and in-house classes are conducted by Mrs. Suharmini Shrishankar.

- -
-

October 2022, Waterloo school board recommenced live Tamil class at 555 Ellis Rd, Cambridge, ON N3C 4K2. It is held on Saturday at 9.00am

- -

The school is primarily supported by Tamil Cultural Association of Waterloo Region and Waterloo District School Board.

-
-
-
- -
- {galleryImages.length > 0 ? ( - galleryImages.map((img, i) => ( -
{ - setIndex(i); - setOpen(true); - }} - style={{ cursor: 'pointer' }} - > -
-
- {img.alt} -
-
-
- )) - ) : ( -
-

No images found for this event.

-
- )} -
-
-
- - setOpen(false)} - slides={galleryImages} - index={index} - /> - - - ); +export default function TamilSchoolPage() { + return ; } diff --git a/app/contact/page.tsx b/app/contact/page.tsx index 35fd694..a4d7beb 100644 --- a/app/contact/page.tsx +++ b/app/contact/page.tsx @@ -1,256 +1,12 @@ -"use client"; -import Countdown from '@/components/elements/Countdown'; -import Layout from "@/components/layout/Layout"; -import Link from "next/link"; -import { useState, useEffect, ChangeEvent, FormEvent } from "react"; -import ReCAPTCHA from "react-google-recaptcha"; -import axios from "axios"; +import type { Metadata } from "next" -interface FormData { - name: string; - phone: string; - email: string; - subject: string; - message: string; -} +export const metadata: Metadata = { + title: "Contact Tamil Culture Waterloo | Connect With Us", + description: "Contact Tamil Culture Waterloo for events, membership, volunteering, and community support in Waterloo, Ontario.", +}; -interface FormErrors { - name?: string; - phone?: string; - email?: string; - subject?: string; - message?: string; - captcha?: string; -} +import ContactSection from "@/components/contact/ContactSection"; export default function Contact() { - const [formData, setFormData] = useState({ - name: "", - phone: "", - email: "", - subject: "", - message: "", - }); - - const [captchaToken, setCaptchaToken] = useState(null); - const [formErrors, setFormErrors] = useState({}); - const [alert, setAlert] = useState<{ show: boolean; type: string; message: string }>({ - show: false, - type: "", - message: "", - }); - - const handleChange = (e: ChangeEvent) => { - const { name, value } = e.target; - setFormData((prev) => ({ ...prev, [name]: value })); - }; - - const handleCaptchaChange = (token: string | null) => { - setCaptchaToken(token); - }; - - const handleSubmit = async (e: FormEvent) => { - e.preventDefault(); - - const errors: FormErrors = {}; - if (!formData.name.trim()) errors.name = "Name is required."; - if (!formData.phone.trim()) errors.phone = "Phone number is required."; - if (!formData.email.trim()) errors.email = "Email is required."; - if (!formData.subject.trim()) errors.subject = "Subject is required."; - if (!formData.message.trim()) errors.message = "Message is required."; - if (!captchaToken) errors.captcha = "Please verify the CAPTCHA."; - - setFormErrors(errors); - if (Object.keys(errors).length > 0) return; - - const emailData = { - ...formData, - message: `Subject: ${formData.subject}

Message: ${formData.message}`, - to: "mail@tamilculturewaterloo.org", - senderName: "Tamil Culture Waterloo Contact Page", - recaptchaToken: captchaToken, - }; - - try { - const res = await axios.post("https://mailserver.metatronnest.com/send", emailData, { - headers: { "Content-Type": "application/json" }, - }); - - setAlert({ - show: true, - type: "success", - message: res?.data?.message || "Message sent successfully!", - }); - - setFormData({ name: "", phone: "", email: "", subject: "", message: "" }); - setCaptchaToken(null); - setFormErrors({}); - } catch { - setAlert({ - show: true, - type: "danger", - message: "Failed to send message. Please try again later.", - }); - } - }; - -useEffect(() => { - if (alert.show) { - const timer = setTimeout(() => { - setAlert(prev => ({ ...prev, show: false })); - }, 5000); - return () => clearTimeout(timer); - } -}, [alert.show]); - - - return ( - -
-
-
-
-
-
-

Contact Us

-
- Home Contact Us -
-
-
-
-
- -
-
-
-
-
-
-
- -
-
-
Email
-
- mail@tamilculturewaterloo.org -
-
-
-
-
-
- -
-
-
Location
-
- P.O. Box No:25068, Kitchener, Ontario, N2A 4A5, Canada. -
-
-
- {/*
-
-
- -
-
-
Call Us
-
- +1 123 456 7890 -
-
-
*/} -
-
-
- -
-
-
-
-
-

Get In Touch Now

-
-
- {alert.show && ( -
{alert.message}
- )} -
-
-
- - {formErrors.name && {formErrors.name}} -
-
-
-
- - {formErrors.phone && {formErrors.phone}} -
-
-
-
- - {formErrors.email && {formErrors.email}} -
-
-
-
- - {formErrors.subject && {formErrors.subject}} -
-
-
-
-