diff --git a/package-lock.json b/package-lock.json
index fccee57..d76dc80 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,15 +10,19 @@
"dependencies": {
"flowbite-react": "^0.10.2",
"framer-motion": "^11.11.17",
+ "moment": "^2.30.1",
"next": "14.2.18",
"react": "^18",
"react-dom": "^18",
+ "react-slick": "^0.30.2",
+ "slick-carousel": "^1.8.1",
"swiper": "^11.1.15"
},
"devDependencies": {
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
+ "@types/react-slick": "^0.23.13",
"eslint": "^8",
"eslint-config-next": "14.2.18",
"postcss": "^8",
@@ -597,6 +601,15 @@
"@types/react": "*"
}
},
+ "node_modules/@types/react-slick": {
+ "version": "0.23.13",
+ "resolved": "https://registry.npmjs.org/@types/react-slick/-/react-slick-0.23.13.tgz",
+ "integrity": "sha512-bNZfDhe/L8t5OQzIyhrRhBr/61pfBcWaYJoq6UDqFtv5LMwfg4NsVDD2J8N01JqdAdxLjOt66OZEp6PX+dGs/A==",
+ "dev": true,
+ "dependencies": {
+ "@types/react": "*"
+ }
+ },
"node_modules/@types/resolve": {
"version": "1.20.2",
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
@@ -1520,6 +1533,11 @@
"node": ">=10.13.0"
}
},
+ "node_modules/enquire.js": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz",
+ "integrity": "sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw=="
+ },
"node_modules/es-abstract": {
"version": "1.23.5",
"resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz",
@@ -3103,6 +3121,12 @@
"jiti": "bin/jiti.js"
}
},
+ "node_modules/jquery": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
+ "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
+ "peer": true
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -3138,6 +3162,14 @@
"integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
"dev": true
},
+ "node_modules/json2mq": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz",
+ "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==",
+ "dependencies": {
+ "string-convert": "^0.2.0"
+ }
+ },
"node_modules/json5": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
@@ -3233,6 +3265,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
+ },
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
@@ -3312,6 +3349,14 @@
"node": ">=16 || 14 >=14.17"
}
},
+ "node_modules/moment": {
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
+ "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
+ "engines": {
+ "node": "*"
+ }
+ },
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -3940,6 +3985,22 @@
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
"dev": true
},
+ "node_modules/react-slick": {
+ "version": "0.30.2",
+ "resolved": "https://registry.npmjs.org/react-slick/-/react-slick-0.30.2.tgz",
+ "integrity": "sha512-XvQJi7mRHuiU3b9irsqS9SGIgftIfdV5/tNcURTb5LdIokRA5kIIx3l4rlq2XYHfxcSntXapoRg/GxaVOM1yfg==",
+ "dependencies": {
+ "classnames": "^2.2.5",
+ "enquire.js": "^2.1.6",
+ "json2mq": "^0.2.0",
+ "lodash.debounce": "^4.0.8",
+ "resize-observer-polyfill": "^1.5.0"
+ },
+ "peerDependencies": {
+ "react": "^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^0.14.0 || ^15.0.1 || ^16.0.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/read-cache": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
@@ -3998,6 +4059,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/resize-observer-polyfill": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
+ "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
+ },
"node_modules/resolve": {
"version": "1.22.8",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
@@ -4235,6 +4301,14 @@
"url": "https://github.com/sponsors/isaacs"
}
},
+ "node_modules/slick-carousel": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/slick-carousel/-/slick-carousel-1.8.1.tgz",
+ "integrity": "sha512-XB9Ftrf2EEKfzoQXt3Nitrt/IPbT+f1fgqBdoxO3W/+JYvtEOW6EgxnWfr9GH6nmULv7Y2tPmEX3koxThVmebA==",
+ "peerDependencies": {
+ "jquery": ">=1.8.0"
+ }
+ },
"node_modules/source-map-js": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
@@ -4251,6 +4325,11 @@
"node": ">=10.0.0"
}
},
+ "node_modules/string-convert": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz",
+ "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A=="
+ },
"node_modules/string-width": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
diff --git a/package.json b/package.json
index 5da0c0e..81c6c88 100644
--- a/package.json
+++ b/package.json
@@ -11,15 +11,19 @@
"dependencies": {
"flowbite-react": "^0.10.2",
"framer-motion": "^11.11.17",
+ "moment": "^2.30.1",
"next": "14.2.18",
"react": "^18",
"react-dom": "^18",
+ "react-slick": "^0.30.2",
+ "slick-carousel": "^1.8.1",
"swiper": "^11.1.15"
},
"devDependencies": {
"@types/node": "^20",
"@types/react": "^18",
"@types/react-dom": "^18",
+ "@types/react-slick": "^0.23.13",
"eslint": "^8",
"eslint-config-next": "14.2.18",
"postcss": "^8",
diff --git a/src/app/(home)/about-us/page.tsx b/src/app/(home)/about-us/page.tsx
index 25360a6..a2f1532 100644
--- a/src/app/(home)/about-us/page.tsx
+++ b/src/app/(home)/about-us/page.tsx
@@ -1,11 +1,2 @@
-import React from 'react'
-
-const AboutUS = () => {
- return (
-
- Lorem ipsum dolor sit amet consectetur adipisicing elit. Nihil est fuga distinctio repellat veniam laborum molestias blanditiis neque, similique tempora recusandae, eligendi incidunt reiciendis nulla optio dolore ratione fugiat! Minima!
-
- )
-}
-
-export default AboutUS
\ No newline at end of file
+import AboutUs from "@/components/pages/about/AboutUs";
+export default AboutUs;
\ No newline at end of file
diff --git a/src/app/(home)/contact-us/page.tsx b/src/app/(home)/contact-us/page.tsx
index 983ebb8..c30d4c3 100644
--- a/src/app/(home)/contact-us/page.tsx
+++ b/src/app/(home)/contact-us/page.tsx
@@ -1,9 +1,88 @@
-import React from 'react'
+'use client'
+import Link from 'next/link';
+import { motion } from 'framer-motion';
+import { FaEnvelope, FaPhoneAlt, FaFacebook } from 'react-icons/fa'; // Import icons from react-icons
-const page = () => {
+const ContactUs: React.FC = () => {
return (
- page
- )
-}
+
+
+
+
+
+ আমাদের অবস্থান দেখুন
+
+
+ আমাদের অফিসিয়াল ঠিকানা এবং যোগাযোগ তথ্য
+
+
+
+
+ {/* Google Maps Section */}
+
+
+
-export default page
\ No newline at end of file
+ {/* Address and Contact Details Section */}
+
+
+ {/* Address */}
+
+ ঠিকানা:
+ রামনা মিস্ত্রী পাড়া, চিলমারী, বাংলাদেশ, ৫৬৩০
+ চিলমারী, কুড়িগ্রাম
+
+
+ {/* Contact Information */}
+
+ Contact
+
+
+
+
ফোন: +৮৮০১৭১৯৪৬৪৯৮১, ০১৯৬৯-৯০৬০০৮
+
+
+
+ ফেসবুক পেজ
+
+
+
+
+
+
+
+
+
+ );
+};
+
+export default ContactUs;
diff --git a/src/app/(home)/our-show/page.tsx b/src/app/(home)/our-show/page.tsx
index 983ebb8..94dbd1f 100644
--- a/src/app/(home)/our-show/page.tsx
+++ b/src/app/(home)/our-show/page.tsx
@@ -1,8 +1,15 @@
+import HoursCard from '@/components/ui/HoursCard'
+import RdrsProgram from '@/components/ui/RdrsProgram'
import React from 'react'
const page = () => {
return (
- page
+
+
+
+
+
+
)
}
diff --git a/src/assets/icons/31_RDRS%20Bangladesh%20_Logo.png b/src/assets/icons/31_RDRS%20Bangladesh%20_Logo.png
new file mode 100644
index 0000000..17c0a71
Binary files /dev/null and b/src/assets/icons/31_RDRS%20Bangladesh%20_Logo.png differ
diff --git a/src/assets/icons/images.jpeg b/src/assets/icons/images.jpeg
new file mode 100644
index 0000000..2686a12
Binary files /dev/null and b/src/assets/icons/images.jpeg differ
diff --git a/src/assets/icons/readio_icon.png b/src/assets/icons/readio_icon.png
new file mode 100644
index 0000000..dcf7ad8
Binary files /dev/null and b/src/assets/icons/readio_icon.png differ
diff --git "a/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_1.png" "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_1.png"
new file mode 100644
index 0000000..2c16fdb
Binary files /dev/null and "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_1.png" differ
diff --git "a/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_2.png" "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_2.png"
new file mode 100644
index 0000000..88cab5f
Binary files /dev/null and "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_2.png" differ
diff --git "a/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_3.png" "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_3.png"
new file mode 100644
index 0000000..2bbfcce
Binary files /dev/null and "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_3.png" differ
diff --git "a/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_4.png" "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_4.png"
new file mode 100644
index 0000000..22d7551
Binary files /dev/null and "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_4.png" differ
diff --git "a/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_5.png" "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_5.png"
new file mode 100644
index 0000000..99d7b51
Binary files /dev/null and "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_5.png" differ
diff --git "a/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_6.png" "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_6.png"
new file mode 100644
index 0000000..7e44789
Binary files /dev/null and "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_6.png" differ
diff --git "a/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_7.png" "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_7.png"
new file mode 100644
index 0000000..cd71704
Binary files /dev/null and "b/src/assets/images/RDRS/\340\246\260\340\247\207\340\246\241\340\246\277\340\246\223_\340\246\232\340\246\277\340\246\262\340\246\256\340\246\276\340\246\260\340\246\277_RDRS_7.png" differ
diff --git a/src/components/pages/about/AboutUs.tsx b/src/components/pages/about/AboutUs.tsx
new file mode 100644
index 0000000..7f93644
--- /dev/null
+++ b/src/components/pages/about/AboutUs.tsx
@@ -0,0 +1,120 @@
+'use client'
+import React from "react";
+import { aboutUsData } from "@/contexts/aboutUsData";
+import Link from "next/link";
+import { motion } from "framer-motion";
+
+const AboutUs: React.FC = () => {
+ const { title, address, contact, broadcast, description, audienceAndCoverage } = aboutUsData;
+
+ return (
+
+
+
+ {title}
+
+
+ {/* Address Section */}
+
+
+ ঠিকানা:
+
+ {address.map((line, index) => (
+
{line}
+ ))}
+
+
+ {/* Contact Section */}
+
+
+ যোগাযোগ:
+
+
ফোন: {contact.phone.join(", ")}
+
+ ইমেল: {" "}
+
+ {contact.email}
+
+
+
+ ফেসবুক: {" "}
+
+ {contact.facebook}
+
+
+
+
+ {/* Broadcast Details */}
+
+
+ সম্প্রচার বিবরণ:
+
+
ফ্রিকোয়েন্সি: {broadcast.frequency}
+
+ শুরুর বছর: পরীক্ষামূলক: {broadcast.yearStarted.test},
+ আনুষ্ঠানিক: {broadcast.yearStarted.official}
+
+
দেশ: {broadcast.country}
+
মালিকানা: {broadcast.ownership}
+
মালিক: {broadcast.owner}
+
+
+ {/* Description Section */}
+
+
+ বিবরণ:
+
+
{description}
+
+
+ {/* Audience & Coverage */}
+
+
+ শ্রোতা ও কভারেজ:
+
+
শ্রোতার ধরন: {audienceAndCoverage.audience.join(", ")}
+
ভাষা: {audienceAndCoverage.languages}
+
+ কভারেজ এলাকাসমূহ: {" "}
+ {audienceAndCoverage.coverage.join(", ")}
+
+
বিষয়বস্তু: {audienceAndCoverage.contentType}
+
কভারেজ ধরণ: {audienceAndCoverage.coverageType}
+
+
+
+ );
+};
+
+export default AboutUs;
+
diff --git a/src/components/pages/home/Home.tsx b/src/components/pages/home/Home.tsx
index 8c86986..d4cbc08 100644
--- a/src/components/pages/home/Home.tsx
+++ b/src/components/pages/home/Home.tsx
@@ -1,28 +1,51 @@
-import React from 'react'
-import { Alert } from "flowbite-react";
+import React from 'react';
import TopRegularProgramSlider from '@/components/ui/TopRegularProgramSlider';
import FacebookVideoEmbed from '@/components/ui/FacebookVideoEmbed';
import RadioChilmariFacebookPage from '@/components/ui/FacebookPage';
-
-
+import HoursCard from '@/components/ui/HoursCard';
+import OurFacebookNews from '@/components/ui/OurFacebookNews';
+import RdrsProgram from '@/components/ui/RdrsProgram';
const Home = () => {
return (
-
+
+
+ {/* Main Content */}
+
+
+ {/* Slider Section */}
+
-Alert!
+ {/* Facebook Page Section */}
+
-
+ {/* Facebook News Section */}
+
+
+ {/* Hours Card Section */}
+
-
+
+ {/* Video Embed Section */}
+
+ {/* Uncomment if needed */}
+
+
-
-
+
- )
-}
+ );
+};
-export default Home
\ No newline at end of file
+export default Home;
diff --git a/src/components/ui/FacebookPage.tsx b/src/components/ui/FacebookPage.tsx
index 9d10b3e..0b56e13 100644
--- a/src/components/ui/FacebookPage.tsx
+++ b/src/components/ui/FacebookPage.tsx
@@ -1,8 +1,19 @@
'use client';
import { useEffect } from 'react';
+import OurFacebookNewsData from '@/contexts/OurFacebookNewsData';
+import readio_icon from '@/assets/icons/readio_icon.png';
+import Image from 'next/image';
-const RadioChilmariFacebookPage = () => {
+interface RadioChilmariFacebookPageProps {
+ pageHref: string;
+ width?: number | string;
+ height?: number | string;
+}
+
+const RadioChilmariFacebookPage = ({
+
+}: RadioChilmariFacebookPageProps) => {
useEffect(() => {
// Load the Facebook SDK
if (!document.getElementById('facebook-jssdk')) {
@@ -15,19 +26,23 @@ const RadioChilmariFacebookPage = () => {
document.body.appendChild(script);
}
}, []);
-
return (
-
- {/* Left Side: Text Content */}
-
-
- Our Facebook Page
+
+
+আমাদের অফিসিয়াল ফেসবুক পেজ l
+
+
+
+ {/* Left Side: Text Content (Bangla) */}
+
+
+
+ {OurFacebookNewsData.title_1}
-
- Stay updated all the time! Lorem ipsum dolor sit amet consectetur adipisicing elit.
- Perspiciatis incidunt velit asperiores voluptate necessitatibus voluptates harum tempora atque quo.
- Saepe vitae ad dicta neque voluptatibus ut officiis ducimus perspiciatis eos?
+
+ {OurFacebookNewsData.description}
+
{/* Right Side: Facebook Page Embed */}
@@ -54,6 +69,7 @@ const RadioChilmariFacebookPage = () => {
+
);
};
diff --git a/src/components/ui/FacebookVideoEmbed.tsx b/src/components/ui/FacebookVideoEmbed.tsx
index 3b2c1e8..93c7aed 100644
--- a/src/components/ui/FacebookVideoEmbed.tsx
+++ b/src/components/ui/FacebookVideoEmbed.tsx
@@ -2,19 +2,85 @@
const FacebookVideoEmbed = () => {
return (
-
-
-
+
+
+
+ {/* Video 1 */}
+
+
+
+
+
+ {/* Video 2 */}
+
+
+
+
+ {/* Video 3 */}
+
+
+
+
+ {/* Video 4 */}
+
+
+
+
+ {/* Video 5 */}
+
+
+
+
);
diff --git a/src/components/ui/Footer.tsx b/src/components/ui/Footer.tsx
index a9f4da8..6528e89 100644
--- a/src/components/ui/Footer.tsx
+++ b/src/components/ui/Footer.tsx
@@ -1,3 +1,4 @@
+import Link from 'next/link';
import { FC } from 'react';
const Footer: FC = () => {
@@ -8,30 +9,43 @@ const Footer: FC = () => {
{/* Footer Bottom Section */}
-
-
+
+ {/* Left Section - Logos */}
+
+
+
+
+
+ {/* Center Section - Copyright Text */}
+
© ২০২৪{' '}
-
- Kazi Byte
-
- . . সর্বস্বত্ব সংরক্ষিত।
+
+ সর্বস্বত্ব সংরক্ষিত।
+
- {/* Social Media Icons */}
-
diff --git a/src/components/ui/HoursCard.tsx b/src/components/ui/HoursCard.tsx
new file mode 100644
index 0000000..da31928
--- /dev/null
+++ b/src/components/ui/HoursCard.tsx
@@ -0,0 +1,89 @@
+'use client';
+import React, { useEffect, useState } from "react";
+import moment from "moment";
+import "moment/locale/bn"; // Import Bangla locale
+import { motion } from 'framer-motion'; // Import framer-motion
+
+moment.locale("bn"); // Set moment to Bangla locale
+
+// Function to convert English numbers to Bangla
+const toBanglaNumber = (number: string): string => {
+ const englishToBanglaMap: { [key: string]: string } = {
+ "0": "০",
+ "1": "১",
+ "2": "২",
+ "3": "৩",
+ "4": "৪",
+ "5": "৫",
+ "6": "৬",
+ "7": "৭",
+ "8": "৮",
+ "9": "৯",
+ };
+ return number.replace(/[0-9]/g, (digit) => englishToBanglaMap[digit]);
+};
+
+const HoursCard: React.FC = () => {
+ const [currentTime, setCurrentTime] = useState
("");
+
+ useEffect(() => {
+ const updateTime = () => {
+ // Format current time in 12-hour format with AM/PM and adjust to Bangladesh timezone
+ setCurrentTime(
+ toBanglaNumber(
+ moment().utcOffset("+06:00").format("dddd, LL, h:mm:ss A")
+ )
+ );
+ };
+
+ updateTime();
+ const interval = setInterval(updateTime, 1000); // Update every second
+
+ return () => clearInterval(interval); // Cleanup
+ }, []);
+
+ const hours = [
+ { day: "সোমবার", time: toBanglaNumber("২:৪৫ PM - ৮:০৫ PM") },
+ { day: "মঙ্গলবার", time: toBanglaNumber("২:৪৫ PM - ৮:০৫ PM") },
+ { day: "বুধবার", time: toBanglaNumber("২:৪৫ PM - ৮:০৫ PM") },
+ { day: "বৃহস্পতিবার", time: toBanglaNumber("২:৪৫ PM - ৮:০৫ PM") },
+ { day: "শুক্রবার", time: toBanglaNumber("২:৪৫ PM - ৮:০৫ PM") },
+ { day: "শনিবার", time: toBanglaNumber("২:৪৫ PM - ৮:০৫ PM") },
+ { day: "রবিবার", time: toBanglaNumber("২:৪৫ PM - ৮:০৫ PM") },
+ ];
+
+ // Assign a background color to each day
+ const dayColors = [
+ "bg-blue-100", "bg-green-100", "bg-yellow-100",
+ "bg-red-100", "bg-purple-100", "bg-pink-100", "bg-indigo-100"
+ ];
+
+ return (
+
+
+
+ অনুষ্ঠানের সময়সূচি
+
+
+
বর্তমান সময়:
+
{currentTime}
+
+
+ {hours.map((hour, index) => (
+
+ {hour.day}
+ {hour.time}
+
+ ))}
+
+
+
+ );
+};
+
+export default HoursCard;
diff --git a/src/components/ui/Navbar.tsx b/src/components/ui/Navbar.tsx
index 528e258..97eb753 100644
--- a/src/components/ui/Navbar.tsx
+++ b/src/components/ui/Navbar.tsx
@@ -1,36 +1,74 @@
-import React from 'react';
+'use client';
+import React, { useState, useEffect } from 'react';
import Image from 'next/image';
import Link from 'next/link';
+import { motion } from 'framer-motion';
const Navbar = () => {
+ const [scrolling, setScrolling] = useState(false);
+
+ // Detect scrolling and apply blur effect
+ useEffect(() => {
+ const handleScroll = () => {
+ if (window.scrollY > 0) {
+ setScrolling(true);
+ } else {
+ setScrolling(false);
+ }
+ };
+
+ window.addEventListener('scroll', handleScroll);
+ return () => window.removeEventListener('scroll', handleScroll);
+ }, []);
+
return (
-
+
{/* Centered Logo */}
-
-
-
+
+
+
{/* Right Side Links */}
-
-
- আমাদের সম্পর্কে
-
-
- আমাদের শো
-
-
- যোগাযোগ করুন
-
+
+
+ আমাদের সম্পর্কে
+
+
+ আমাদের শো
+
+
+ যোগাযোগ করুন
+
-
+
);
};
diff --git a/src/components/ui/OurFacebookNews.tsx b/src/components/ui/OurFacebookNews.tsx
new file mode 100644
index 0000000..98c11a0
--- /dev/null
+++ b/src/components/ui/OurFacebookNews.tsx
@@ -0,0 +1,64 @@
+'use client';
+import { AwaitedReactNode, JSXElementConstructor, Key, ReactElement, ReactNode, ReactPortal } from 'react';
+import OurFacebookNewsData from '@/contexts/OurFacebookNewsData';
+import { motion } from 'framer-motion'; // Import framer-motion
+
+const OurFacebookNews = () => {
+ return (
+
+ {/* Left Side: Text Content (Bangla) */}
+
+
+ {OurFacebookNewsData.title}
+
+
+ {OurFacebookNewsData.description}
+
+
+ {OurFacebookNewsData.programs[0].type}
+
+
+ {OurFacebookNewsData.programs[0].details.map((detail: string | number | bigint | boolean | ReactElement> | Iterable | ReactPortal | Promise | null | undefined, index: Key | null | undefined) => (
+
+ {detail}
+
+ ))}
+
+
+ {OurFacebookNewsData.programs[1].type}
+
+
+ {OurFacebookNewsData.programs[1].details}
+
+
+ আমাদের ফেইসবুক পেজে কেন যুক্ত হবেন?
+
+
+ {OurFacebookNewsData.facebookPageReasons.map((reason: string | number | bigint | boolean | ReactElement> | Iterable | ReactPortal | Promise | null | undefined, index: Key | null | undefined) => (
+
+ {reason}
+
+ ))}
+
+
+ চোখ রাখুন Radio Chilmary-তে!
+
+
+ {OurFacebookNewsData.closingMessage}
+
+
+
+ );
+};
+
+export default OurFacebookNews;
diff --git a/src/components/ui/RdrsProgram.tsx b/src/components/ui/RdrsProgram.tsx
new file mode 100644
index 0000000..33ba455
--- /dev/null
+++ b/src/components/ui/RdrsProgram.tsx
@@ -0,0 +1,71 @@
+'use client';
+import React from 'react';
+import Slider from 'react-slick';
+import 'slick-carousel/slick/slick.css';
+import 'slick-carousel/slick/slick-theme.css';
+import { RdrsProgramImages } from '@/contexts/RdrsProgram';
+import Image from 'next/image';
+import { StaticImport } from 'next/dist/shared/lib/get-img-props';
+
+export default function RdrsProgram() {
+ const settings = {
+ dots: true, // Show dots for pagination
+ infinite: true, // Infinite scroll
+ speed: 500, // Transition speed
+ slidesToShow: 1, // Default: Show 1 slide at a time
+ slidesToScroll: 1, // Scroll 1 slide at a time
+ autoplay: true, // Autoplay the carousel
+ autoplaySpeed: 2500, // Autoplay speed (ms)
+ arrows: true, // Show navigation arrows
+ responsive: [ // Responsive settings
+ {
+ breakpoint: 1024, // For tablets and up (large screens)
+ settings: {
+ slidesToShow: 3, // Show 3 slides at a time
+ slidesToScroll: 1,
+ infinite: true,
+ dots: true,
+ },
+ },
+ {
+ breakpoint: 768, // For tablets (medium screens)
+ settings: {
+ slidesToShow: 2, // Show 2 slides at a time
+ slidesToScroll: 1,
+ infinite: true,
+ dots: true,
+ },
+ },
+ {
+ breakpoint: 480, // For mobile (small screens)
+ settings: {
+ slidesToShow: 1, // Show 1 slide at a time
+ slidesToScroll: 1,
+ infinite: true,
+ dots: true,
+ },
+ },
+ ],
+ };
+
+ return (
+
+
+নারীর অধিকার এবং নারী ও শিশু সম্পর্কিত প্রোগ্রামগুলি সচেতনতা সৃষ্টি, তথ্য প্রদান এবং সমাজে ইতিবাচক পরিবর্তন আনার জন্য প্রচারিত হয়। এসব প্রোগ্রামে নারীদের আইনি অধিকার, গার্হস্থ্য সহিংসতা, শিশুদের শিক্ষা ও সুরক্ষা, স্বাস্থ্য সচেতনতা, এবং নারী উদ্যোক্তাদের সাফল্য তুলে ধরা হয়। এছাড়া, শিশু শ্রম, পাচার ও নির্যাতন রোধে সচেতনতা তৈরি করা হয়, যা নারী ও শিশুদের নিরাপত্তা এবং সমান অধিকার নিশ্চিত করতে সহায়ক।
+
+
+ {RdrsProgramImages.map((image: string | StaticImport, index: React.Key | null | undefined) => (
+
+
+
+ ))}
+
+
+ );
+}
diff --git a/src/components/ui/TopRegularProgramSlider.tsx b/src/components/ui/TopRegularProgramSlider.tsx
index 3d20fee..a8d22a7 100644
--- a/src/components/ui/TopRegularProgramSlider.tsx
+++ b/src/components/ui/TopRegularProgramSlider.tsx
@@ -33,12 +33,13 @@ const TopRegularProgramSlider: React.FC = () => {
};
return (
-
+
{/* Header */}
-
+
নিয়মিত প্রোগ্রাম সমূহ
+
{/* Swiper Slider */}
@@ -92,8 +93,8 @@ const TopRegularProgramSlider: React.FC = () => {
{/* Current Slide Indicator */}
-
- Item {currentSlide}
+
+ তালিকাভুক্ত {currentSlide}
diff --git a/src/contexts/OurFacebookNewsData.ts b/src/contexts/OurFacebookNewsData.ts
new file mode 100644
index 0000000..c857ece
--- /dev/null
+++ b/src/contexts/OurFacebookNewsData.ts
@@ -0,0 +1,49 @@
+// OurFacebookNewsData
+
+
+export interface RadioChilmariData {
+ title: string;
+ title_1: string;
+
+ description: string;
+ programs: {
+ type: string;
+ details: string[];
+ }[];
+ facebookPageReasons: string[];
+ closingMessage: string;
+ }
+
+ const OurFacebookNewsData: RadioChilmariData = {
+ title: "রেডিও চিলমারি : আপনার প্রিয় অনুষ্ঠানগুলোর সকল আপডেটের কেন্দ্রবিন্দু!",
+ title_1: "আপনার প্রিয় অনুষ্ঠানগুলোর সকল আপডেটের কেন্দ্রবিন্দু!",
+ description:
+ "সকল শ্রোতাদের জন্য উন্মুক্ত রেডিও চিলমারি, যেখানে আপনি পাবেন আপনার প্রিয় অনুষ্ঠানগুলোর সেরা আপডেট এবং তথ্য। আমাদের রেডিও চ্যানেল আপনাকে প্রতিদিন বিনোদন, শিক্ষা এবং তথ্যের সঙ্গে যুক্ত রাখে।",
+ programs: [
+ {
+ type: "🎙️ নানা ধরনের অনুষ্ঠান:",
+ details: [
+ "🎵 সঙ্গীতানুষ্ঠান",
+ "📚 শিক্ষামূলক প্রোগ্রাম",
+ "🗞️ সাম্প্রতিক খবর",
+ "👩👩👧👦 কমিউনিটি ভিত্তিক অনুষ্ঠান",
+ ],
+ },
+ {
+ type: "📢 বিশেষ আয়োজনের আপডেট:",
+ details: [
+ "যেকোনো বিশেষ অনুষ্ঠান, সরাসরি সম্প্রচার, অথবা নতুন সেগমেন্টের খবর পেতে Radio Chilmary আপনার প্রথম পছন্দ।",
+ ],
+ },
+ ],
+ facebookPageReasons: [
+ "👉 সকল অনুষ্ঠানের শিডিউল: আপনার প্রিয় অনুষ্ঠানগুলো কখন সম্প্রচারিত হবে তা জানতে আমাদের ফেইসবুক পেজ ফলো করুন।",
+ "👉 বিশেষ ঘোষণার আপডেট: নতুন শো, প্রতিযোগিতা এবং আরও অনেক কিছু।",
+ "👉 শ্রোতাদের মতামত ও প্রশ্নের উত্তর: আপনার মূল্যবান মতামত আমাদের কাছে গুরুত্বপূর্ণ।",
+ ],
+ closingMessage:
+ "আপনার প্রতিদিনের সঙ্গী, Radio Chilmary, সব খবর ও আপডেটের জন্য!",
+ };
+
+ export default OurFacebookNewsData;
+
\ No newline at end of file
diff --git a/src/contexts/RdrsProgram.ts b/src/contexts/RdrsProgram.ts
new file mode 100644
index 0000000..3940d21
--- /dev/null
+++ b/src/contexts/RdrsProgram.ts
@@ -0,0 +1,12 @@
+import im1 from "@/assets/images/RDRS/রেডিও_চিলমারি_RDRS_1.png"
+import im2 from "@/assets/images/RDRS/রেডিও_চিলমারি_RDRS_2.png"
+import im3 from "@/assets/images/RDRS/রেডিও_চিলমারি_RDRS_3.png"
+import im4 from "@/assets/images/RDRS/রেডিও_চিলমারি_RDRS_4.png"
+import im5 from "@/assets/images/RDRS/রেডিও_চিলমারি_RDRS_5.png"
+import im6 from "@/assets/images/RDRS/রেডিও_চিলমারি_RDRS_6.png"
+import im7 from "@/assets/images/RDRS/রেডিও_চিলমারি_RDRS_7.png"
+
+
+
+
+export const RdrsProgramImages = [im1,im2,im3,im4,im5,im6,im7]
\ No newline at end of file
diff --git a/src/contexts/aboutUsData.ts b/src/contexts/aboutUsData.ts
new file mode 100644
index 0000000..9e43c8a
--- /dev/null
+++ b/src/contexts/aboutUsData.ts
@@ -0,0 +1,39 @@
+export const aboutUsData = {
+ title: "রেডিও চিলমারী",
+ address: [
+ "আরডিআরএস চিলমারী ক্যাম্পাস",
+ "চিলমারী, কুড়িগ্রাম",
+ "রামনা মিস্ত্রী পাড়া, চিলমারী, বাংলাদেশ, ৫৬৩০",
+ ],
+ contact: {
+ phone: ["+৮৮০১৭১৯৪৬৪৯৮১", "০১৯৬৯-৯০৬০০৮"],
+ email: "radiochilmari@gmail.com",
+ facebook: "ফেসবুক পেজ",
+ },
+ broadcast: {
+ frequency: "৯৯.২০ এফএম",
+ yearStarted: {
+ test: "২রা নভেম্বর, ২০১১",
+ official: "৩রা জুন, ২০১২",
+ },
+ country: "বাংলাদেশ",
+ ownership: "বেসরকারি",
+ owner: "আরডিআরএস বাংলাদেশ",
+ },
+ description: `রেডিও চিলমারী ৩রা জুন, ২০১২ তারিখে আনুষ্ঠানিকভাবে উদ্বোধন করা হয়।
+ ১৯৭২ সাল থেকে আরডিআরএস বাংলাদেশ রংপুর-দিনাজপুর অঞ্চলের দরিদ্র জনগণের সামাজিক,
+ অর্থনৈতিক এবং সাংস্কৃতিক উন্নয়নের জন্য কাজ করে আসছে। এর ধারাবাহিকতায়, একটি
+ কমিউনিটি রেডিও প্রতিষ্ঠার উদ্যোগ গ্রহণ করা হয়। "শোনো বাহে, জাগো বাহে" স্লোগান নিয়ে
+ রেডিও চালু হওয়ার পর থেকে শ্রোতার সংখ্যা ক্রমাগত বৃদ্ধি পাচ্ছে।`,
+ audienceAndCoverage: {
+ audience: ["কৃষক", "জেলে", "ছাত্র", "নারী", "ব্যবসায়ী"],
+ languages: "বাংলা",
+ coverage: [
+ "সুন্দরগঞ্জ উপজেলা (গাইবান্ধা জেলা)",
+ "রৌমারী, রাজীবপুর, চিলমারী এবং উলিপুর উপজেলা (কুড়িগ্রাম জেলা)",
+ ],
+ contentType: "নারীর অধিকার",
+ coverageType: "স্থানীয়",
+ },
+ };
+
\ No newline at end of file
diff --git a/src/layouts/RootLayout.tsx b/src/layouts/RootLayout.tsx
index aa26a40..04e86de 100644
--- a/src/layouts/RootLayout.tsx
+++ b/src/layouts/RootLayout.tsx
@@ -19,9 +19,13 @@ export default async function RootLayout({
}>) {
return (
+
+
+
+
-
+
{children}
diff --git a/src/styles/RdrsPro.css b/src/styles/RdrsPro.css
new file mode 100644
index 0000000..3592955
--- /dev/null
+++ b/src/styles/RdrsPro.css
@@ -0,0 +1,23 @@
+
+.swiper {
+ width: 100%;
+ height: 100%;
+}
+
+.swiper-slide {
+ text-align: center;
+ font-size: 18px;
+ background: #fff;
+
+ /* Center slide text vertically */
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.swiper-slide img {
+ display: block;
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+}
diff --git a/tailwind.config.ts b/tailwind.config.ts
index 6b80606..07e5618 100644
--- a/tailwind.config.ts
+++ b/tailwind.config.ts
@@ -15,6 +15,9 @@ const config: Config = {
background: "var(--background)",
foreground: "var(--foreground)",
},
+ fontFamily: {
+ bengali: ['"Noto Sans Bengali"', 'sans-serif'], // Replace with your preferred font
+ },
},
},
plugins: [