<!doctype html>
<html lang="hi">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- Preconnect to external fonts for speed -->
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link rel="dns-prefetch" href="https://cdnjs.cloudflare.com" />
<!-- Advanced SEO & Language Tags -->
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="canonical" href="https://tabrejazam.blogspot.com/" />
<meta name="robots" content="index, follow, max-image-preview:large" />
<meta name="googlebot" content="index, follow, snippet, archive" />
<meta name="distribution" content="web" />
<meta name="language" content="Hindi" />
<meta name="geo.region" content="IN-UP" />
<!-- Region set to India -->
<meta name="geo.placename" content="India" />
<!-- Dynamic Title for Better CTR -->
<title>
स्वतंत्रता दिवस 2027 | 15 August Wishes, WhatsApp Link & Patriotic Quotes
</title>
<!-- SEO Description with Action Words -->
<meta
name="description"
content="15 August 2027: स्वतंत्रता दिवस की शुभकामनाएं! यहाँ से अपना नाम लिखकर 'Wishing Link' बनाएं और WhatsApp पर शेयर करें। पाएँ बेहतरीन शायरी, कोट्स और HD इमेजेस।"
/>
<!-- Highly Targeted Keywords (LSI Keywords) -->
<meta
name="keywords"
content="15 august 2027, swatantrata diwas wishes, independence day wishing link 2027, 15 august shayari hindi, independence day whatsapp status, 15 august hd images, swatantrata diwas wishing script blogger, Tabrej Azam"
/>
<!-- Open Graph (Facebook/WhatsApp Preview) -->
<meta property="og:site_name" content="Tabrej Azam Greetings" />
<meta
property="og:title"
content="🇮🇳 15 अगस्त स्वतंत्रता दिवस की स्पेशल शुभकामनाएँ"
/>
<meta
property="og:description"
content="क्या आपने स्वतंत्रता दिवस का विशिंग लिंक बनाया? अभी अपना नाम लिखें और जादू देखें!"
/>
<meta
property="og:image"
content="https://tabrejazam.blogspot.com/images/15aug-banner.jpg"
/>
<meta property="og:url" content="https://tabrejazam.blogspot.com/" />
<meta property="og:type" content="article" />
<!-- Twitter SEO -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:creator" content="@tabrej_azam" />
<meta
name="twitter:title"
content="Independence Day 2027 Wishes & Images"
/>
<meta
name="twitter:image"
content="https://tabrejazam.blogspot.com/images/15aug-banner.jpg"
/>
<!-- Google Fonts -->
<link
href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&family=Dancing+Script:wght@400;500;600&family=Noto+Sans+Devanagari:wght@300;400;500;600;700&display=swap"
rel="stylesheet"
/>
<!-- Font Awesome Icons -->
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
/>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
--saffron: #ff9933;
--white: #ffffff;
--green: #138808;
--primary-gradient: linear-gradient(
135deg,
#ff9933 0%,
#ffffff 50%,
#138808 100%
);
--glass-bg: rgba(255, 255, 255, 0.15);
--glass-border: rgba(255, 255, 255, 0.2);
--text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
--box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
}
/* Hide Blogger Elements */
.centered-top,
.item-view .search,
.sticky,
.search,
.main .PopularPosts,
.item-view .blog-name,
.ripple,
.page_body .centered > #footer,
#comments,
header.centered-top-container,
.post-title,
.post-share-buttons,
.bg-photo-container,
.bg-photo-overlay,
.post-footer,
.post-header,
.sidebar-container .container .sidebar-invisible,
.navigation,
.sidebar_top_wrapper,
#page_body.section div.widget.FeaturedPost,
div.widget.PopularPosts,
#sidebar_top,
#sidebar_bottom,
#BlogArchive1,
.vertical-ad-container {
display: none !important;
}
.post-body,
.page_body .widget,
.blog-posts.hfeed {
margin: 0;
line-height: normal;
}
.page_body .centered,
.centered-bottom,
.centered-top-placeholder,
.blog-posts.hfeed,
div.widget.Blog .blog-posts .post-outer-container {
padding: 0;
max-width: 100%;
}
.page_body {
margin-left: 0;
}
.sidebar-container.sidebar-invisible,
aside {
display: none !important;
}
#page_body .FeaturedPost,
.Blog .blog-posts .post-outer-container {
min-height: 0;
margin: 0;
padding: 0;
background: transparent;
}
body {
font-family: "Poppins", "Noto Sans Devanagari", sans-serif;
overflow-x: hidden;
min-height: 100vh;
background: linear-gradient(
135deg,
#ff9933 0%,
#ffffff 25%,
#138808 50%,
#ff9933 75%,
#138808 100%
);
background-attachment: fixed;
position: relative;
}
/* Tricolor particle system */
.particles-container {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 1;
overflow: hidden;
}
.particle {
position: absolute;
width: 6px;
height: 6px;
border-radius: 50%;
animation: float 10s infinite ease-in-out;
}
.particle.saffron {
background: #ff9933;
box-shadow: 0 0 10px #ff9933;
}
.particle.white {
background: #ffffff;
box-shadow: 0 0 10px #ffffff;
}
.particle.green {
background: #138808;
box-shadow: 0 0 10px #138808;
}
@keyframes float {
0%,
100% {
transform: translateY(0px) translateX(0px) rotate(0deg);
opacity: 0.3;
}
33% {
transform: translateY(-30px) translateX(20px) rotate(120deg);
opacity: 1;
}
66% {
transform: translateY(-60px) translateX(-20px) rotate(240deg);
opacity: 0.7;
}
}
/* Gradient Border Wrapper */
.gradient-border {
position: relative;
background: linear-gradient(45deg, #ff9933, #ffffff, #138808);
border-radius: 25px;
padding: 2px;
}
.gradient-border-inner {
background: var(--glass-bg);
backdrop-filter: blur(15px);
border-radius: 23px;
width: 100%;
height: 100%;
}
/* Main Container */
.container {
position: relative;
z-index: 10;
min-height: 100vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 20px;
}
/* Form Page Styles */
.form-page {
display: block;
}
.form-page.hidden {
display: none;
}
/* Header */
.header {
text-align: center;
margin-bottom: 40px;
}
.header h1 {
font-size: clamp(2.5rem, 6vw, 4rem);
font-weight: 700;
color: #005fff;
background: linear-gradient(45deg, #ff9933, #ffffff, #138808);
background-clip: text;
-webkit-background-clip: text;
text-shadow: var(--text-shadow);
margin-bottom: 15px;
font-family: "Dancing Script", cursive;
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
gap: 10px;
}
.header p {
font-size: clamp(1rem, 2.5vw, 1.3rem);
color: rgba(255, 255, 255, 0.95);
text-shadow: var(--text-shadow);
margin-bottom: 8px;
font-weight: 600;
}
.header .subtitle {
font-size: clamp(0.9rem, 2vw, 1rem);
color: rgba(255, 255, 255, 0.9);
font-style: italic;
}
/* Flag Images */
.flag-img {
filter: drop-shadow(0 0 15px rgba(255, 153, 51, 0.7));
vertical-align: middle;
}
.flag-img-header {
width: clamp(35px, 6vw, 60px);
height: clamp(25px, 4vw, 45px);
}
.flag-img-main {
width: clamp(60px, 8vw, 100px);
height: clamp(45px, 6vw, 75px);
margin: 20px 0;
}
.flag-img-btn {
width: 18px;
height: 13px;
margin-right: 8px;
}
.flag-img-toast {
width: 20px;
height: 15px;
margin-right: 10px;
}
/* Form Section */
.form-section {
text-align: center;
box-shadow: var(--box-shadow);
max-width: 600px;
width: 100%;
position: relative;
padding: 40px;
}
.form-group {
margin-bottom: 30px;
}
.form-group label {
display: block;
color: #fff;
font-size: 1.1rem;
font-weight: 600;
margin-bottom: 12px;
text-shadow: var(--text-shadow);
}
.name-input {
width: 100%;
padding: 16px 20px;
border: 2px solid rgba(255, 153, 51, 0.5);
border-radius: 20px;
background: rgba(255, 255, 255, 0.2);
color: #333;
font-size: 1.1rem;
font-weight: 500;
outline: none;
transition: all 0.3s ease;
backdrop-filter: blur(10px);
}
.name-input:focus {
border-color: #ff9933;
background: rgba(255, 255, 255, 0.25);
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(255, 153, 51, 0.3);
}
.name-input::placeholder {
color: rgba(51, 51, 51, 0.7);
}
/* Buttons */
.btn {
background: var(--primary-gradient);
color: #333;
border: none;
padding: 15px 35px;
border-radius: 20px;
font-size: 1.1rem;
font-weight: 600;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 8px 20px rgba(255, 153, 51, 0.4);
margin: 10px;
font-family: "Poppins", "Noto Sans Devanagari", sans-serif;
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
}
.btn:hover {
transform: translateY(-3px);
box-shadow: 0 12px 25px rgba(255, 153, 51, 0.5);
}
.template-btn {
background: linear-gradient(135deg, #138808 0%, #ff9933 100%);
color: white;
box-shadow: 0 8px 20px rgba(19, 136, 8, 0.3);
}
.template-btn.selected {
background: linear-gradient(135deg, #ff9933 0%, #138808 100%);
box-shadow: 0 8px 20px rgba(255, 153, 51, 0.3);
}
.copy-btn {
background: linear-gradient(135deg, #ff9933 0%, #138808 100%);
color: white;
box-shadow: 0 8px 20px rgba(255, 153, 51, 0.3);
}
/* Generated Link */
.generated-link {
margin: 30px 0;
padding: 25px;
background: rgba(255, 255, 255, 0.15);
border-radius: 15px;
border: 1px solid rgba(255, 255, 255, 0.2);
backdrop-filter: blur(10px);
}
.generated-link p {
color: #fff;
font-weight: 600;
margin-bottom: 12px;
text-shadow: var(--text-shadow);
}
.link-display {
background: rgba(0, 0, 0, 0.3);
padding: 15px;
border-radius: 10px;
color: #fff;
font-family: "Courier New", monospace;
word-break: break-all;
font-size: 0.9rem;
margin-bottom: 15px;
}
/* Template Modal Styles */
.modal {
display: none;
position: fixed;
z-index: 1000;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: linear-gradient(
135deg,
#ff9933 0%,
#ffffff 25%,
#138808 50%,
#ff9933 75%,
#138808 100%
);
background-attachment: fixed;
backdrop-filter: blur(10px);
align-items: center;
justify-content: center;
padding: 20px;
}
.modal.hidden {
display: none;
}
.modal.show {
display: flex;
}
.modal-content {
background: linear-gradient(
135deg,
rgba(255, 255, 255, 0.95),
rgba(245, 245, 245, 0.95)
);
border-radius: 25px;
width: 100%;
max-width: 800px;
position: relative;
box-shadow: 0 25px 60px rgba(0, 0, 0, 0.4);
max-height: 90vh;
overflow-y: auto;
padding: 30px;
margin: 0;
transform: scale(0.9);
opacity: 0;
transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.modal.show .modal-content {
transform: scale(1);
opacity: 1;
}
.close {
color: #666;
font-size: 28px;
font-weight: bold;
position: absolute;
top: 20px;
right: 25px;
z-index: 1001;
background: rgba(255, 255, 255, 0.9);
border-radius: 50%;
width: 40px;
height: 40px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s ease;
border: 2px solid rgba(0, 0, 0, 0.1);
}
.close:hover {
color: #ff9933;
background: rgba(255, 255, 255, 1);
transform: scale(1.1);
border-color: #ff9933;
}
.modal-title {
text-align: center;
font-size: 2.5rem;
font-weight: bold;
color: #333;
margin-bottom: 30px;
font-family: "Dancing Script", cursive;
background: linear-gradient(135deg, #ff9933, #138808);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
/* Independence Day Information Modal */
.info-modal {
display: none;
position: fixed;
z-index: 2000;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: linear-gradient(
135deg,
#ff9933 0%,
#ffffff 25%,
#138808 50%,
#ff9933 75%,
#138808 100%
);
background-attachment: fixed;
overflow-y: auto;
}
.info-modal.show {
display: block;
}
.info-modal-content {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
position: relative;
color: #333;
line-height: 1.7;
}
.info-close {
color: #fff;
font-size: 35px;
font-weight: bold;
position: fixed;
top: 20px;
right: 30px;
z-index: 2001;
background: rgba(255, 153, 51, 0.9);
border-radius: 50%;
width: 50px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.3s ease;
border: 2px solid rgba(255, 255, 255, 0.3);
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
}
.info-close:hover {
background: rgba(19, 136, 8, 0.9);
transform: scale(1.1);
border-color: rgba(255, 255, 255, 0.6);
}
/* Carousel */
.carousel-container {
position: relative;
width: 100%;
aspect-ratio: 16/9;
border-radius: 20px;
overflow: hidden;
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
}
.carousel-container::before {
content: "";
position: absolute;
top: -3px;
left: -3px;
right: -3px;
bottom: -3px;
background: linear-gradient(45deg, #ff9933, #ffffff, #138808);
border-radius: 23px;
z-index: -1;
}
.carousel {
position: relative;
width: 100%;
height: 100%;
border-radius: 20px;
overflow: hidden;
}
.carousel-slide {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 0.6s ease-in-out;
}
.carousel-slide.active {
opacity: 1;
}
.carousel-slide img {
width: 100%;
height: 100%;
object-fit: cover;
}
.nav-button {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(255, 153, 51, 0.95);
border: none;
border-radius: 50%;
width: 50px;
height: 50px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
color: #fff;
transition: all 0.3s ease;
z-index: 10;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.nav-button:hover {
background: rgba(255, 153, 51, 1);
transform: translateY(-50%) scale(1.15);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}
.prev-btn {
left: 20px;
}
.next-btn {
right: 20px;
}
/* Enhanced Select Button */
.select-button {
position: absolute;
top: 20px;
right: 20px;
border: none;
padding: 12px 24px;
border-radius: 25px;
font-size: 1rem;
font-weight: bold;
background: linear-gradient(135deg, #ff9933, #138808);
color: white;
cursor: pointer;
transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
z-index: 15;
display: flex;
align-items: center;
gap: 8px;
box-shadow: 0 8px 20px rgba(255, 153, 51, 0.4);
min-width: 120px;
justify-content: center;
}
.select-button:hover:not(.selected) {
transform: translateY(-3px) scale(1.05);
box-shadow: 0 12px 30px rgba(255, 153, 51, 0.6);
}
.select-button.selected {
background: linear-gradient(135deg, #138808, #ff9933);
border-radius: 50%;
width: 40px;
height: 40px;
min-width: 40px;
padding: 0;
transform: scale(1.1);
box-shadow: 0 10px 25px rgba(19, 136, 8, 0.5);
animation: selectSuccess 0.6s ease-in-out;
}
.select-button.selected .select-text {
display: none;
}
.select-button.selected .check-icon {
display: block;
font-size: 18px;
animation: checkBounce 0.6s ease-in-out;
}
.select-button .check-icon {
display: none;
}
@keyframes selectSuccess {
0% {
transform: scale(1);
border-radius: 25px;
}
50% {
transform: scale(1.2);
border-radius: 35px;
}
100% {
transform: scale(1.1);
border-radius: 50%;
}
}
@keyframes checkBounce {
0% {
transform: scale(0);
opacity: 0;
}
50% {
transform: scale(1.3);
opacity: 0.7;
}
100% {
transform: scale(1);
opacity: 1;
}
}
/* Music Control Button */
.music-control {
position: fixed;
top: 30px;
right: 30px;
padding: 15px;
background: var(--primary-gradient);
color: #333;
border: none;
border-radius: 50%;
font-size: 1.2rem;
cursor: pointer;
box-shadow: 0 10px 25px rgba(255, 153, 51, 0.4);
z-index: 101;
transition: all 0.3s ease;
width: 60px;
height: 60px;
display: flex;
align-items: center;
justify-content: center;
}
.music-control:hover {
transform: translateY(-2px);
box-shadow: 0 12px 30px rgba(255, 153, 51, 0.5);
}
.music-control.muted {
background: linear-gradient(135deg, #138808 0%, #ff9933 100%);
color: white;
box-shadow: 0 10px 25px rgba(19, 136, 8, 0.4);
}
/* Music Notification */
.music-notification {
position: fixed;
top: 100px;
right: 30px;
background: rgba(255, 255, 255, 0.15);
backdrop-filter: blur(15px);
border: 1px solid rgba(255, 255, 255, 0.2);
padding: 15px 20px;
border-radius: 15px;
color: #fff;
font-size: 0.9rem;
box-shadow: 0 10px 25px rgba(255, 153, 51, 0.3);
z-index: 102;
opacity: 0;
transform: translateX(100px);
transition: all 0.5s ease;
display: flex;
align-items: center;
gap: 10px;
max-width: 250px;
}
.music-notification.show {
opacity: 1;
transform: translateX(0);
}
.musical-note {
animation: musicBounce 1s infinite ease-in-out;
color: #ff9933;
}
@keyframes musicBounce {
0%,
100% {
transform: scale(1);
}
50% {
transform: scale(1.2);
}
}
/* Envelope Page Styles */
.envelope-page {
display: none;
height: 100vh;
width: 100%;
justify-content: center;
align-items: center;
position: relative;
background: linear-gradient(
135deg,
#ff9933 0%,
#ffffff 25%,
#138808 50%,
#ff9933 75%,
#138808 100%
);
background-attachment: fixed;
}
.envelope-page.active {
display: flex;
}
.envelope-container {
position: relative;
z-index: 10;
transition:
opacity 1s ease,
transform 1s ease;
}
.envelope-container.hidden {
opacity: 0;
transform: scale(0.8);
pointer-events: none;
}
.wrapper {
height: 180px;
width: 270px;
background: linear-gradient(135deg, #ff9933, #138808);
position: relative;
display: flex;
justify-content: center;
z-index: 10;
border-bottom-left-radius: 10px;
border-bottom-right-radius: 10px;
}
.lid {
position: absolute;
height: 100%;
width: 100%;
top: 0;
left: 0;
border-right: 135px solid transparent;
border-bottom: 90px solid transparent;
border-left: 135px solid transparent;
transform-origin: top;
transition: transform 0.25s linear;
}
.lid.one {
border-top: 90px solid #ff9933;
transform: rotateX(0deg);
z-index: 3;
transition-delay: 0.75s;
}
.lid.two {
border-top: 90px solid #138808;
transform: rotateX(90deg);
z-index: 1;
transition-delay: 0.5s;
}
.envelope {
position: absolute;
height: 100%;
width: 100%;
top: 0;
left: 0;
border-top: 90px solid transparent;
border-right: 135px solid #ffffff;
border-bottom: 90px solid #ffffff;
border-left: 135px solid #ffffff;
z-index: 3;
border-bottom-left-radius: 7px;
border-bottom-right-radius: 7px;
}
.letter {
position: absolute;
top: 5%;
left: 5%;
width: 90%;
height: 90%;
background-color: white;
border-radius: 10px;
z-index: 2;
transition: all 0.8s ease;
display: flex;
justify-content: center;
align-items: center;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.letter img {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 8px;
}
.open-btn {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #ff9933;
color: white;
border: none;
width: 50px;
height: 50px;
border-radius: 50%;
cursor: pointer;
font-size: 16px;
z-index: 4;
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: center;
}
.open-btn:hover {
transform: translate(-50%, -50%) scale(1.1);
background: #138808;
}
/* Opening Animation */
.wrapper.opening .lid.one {
transform: rotateX(90deg);
transition-delay: 0s;
}
.wrapper.opening .lid.two {
transform: rotateX(180deg);
transition-delay: 0.25s;
}
.wrapper.opening .letter {
transform: translateY(-60px) scale(1.2);
z-index: 10;
transition-delay: 0.3s;
}
.wrapper.opening .open-btn {
opacity: 0;
visibility: hidden;
}
/* Content Container */
.content-container {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
opacity: 0;
visibility: hidden;
transition: all 1s ease;
z-index: 20;
width: 90%;
max-width: 450px;
}
.content-container.show {
opacity: 1;
visibility: visible;
}
.content-card {
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(15px);
border-radius: 20px;
padding: 40px;
text-align: center;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
position: relative;
}
.content-card::before {
content: "";
position: absolute;
top: -2px;
left: -2px;
right: -2px;
bottom: -2px;
background: linear-gradient(45deg, #ff9933, #ffffff, #138808);
border-radius: 22px;
z-index: -1;
}
.independence-image {
width: 100%;
max-width: 320px;
aspect-ratio: 16/9;
object-fit: cover;
border-radius: 15px;
margin-bottom: 20px;
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
position: relative;
}
.independence-image::before {
content: "";
position: absolute;
top: -2px;
left: -2px;
right: -2px;
bottom: -2px;
background: linear-gradient(45deg, #ff9933, #138808);
border-radius: 17px;
z-index: -1;
}
.download-btn {
background: linear-gradient(135deg, #ff9933 0%, #138808 100%);
color: white;
border: none;
padding: 12px 25px;
border-radius: 20px;
cursor: pointer;
font-size: 14px;
font-weight: bold;
transition: all 0.3s ease;
display: flex;
align-items: center;
gap: 8px;
margin: 15px auto;
justify-content: center;
}
.download-btn:hover {
transform: scale(1.05);
}
.download-btn.loading {
pointer-events: none;
opacity: 0.7;
}
.download-btn.loading i {
animation: spin 1s linear infinite;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
.wish-text {
font-size: 1.2rem;
font-weight: 600;
color: #333;
margin: 20px 0;
line-height: 1.5;
font-family: "Dancing Script", cursive;
}
.action-buttons {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 25px;
}
.action-btn {
background: linear-gradient(135deg, #138808 0%, #ff9933 100%);
color: white;
border: none;
padding: 12px 20px;
border-radius: 20px;
cursor: pointer;
font-size: 1rem;
font-weight: 500;
transition: all 0.3s ease;
font-family: "Poppins", "Noto Sans Devanagari", sans-serif;
}
.action-btn:hover {
transform: translateY(-2px);
}
.action-btn.secondary {
background: linear-gradient(135deg, #ff9933 0%, #138808 100%);
color: white;
}
/* Independence Day Info Content */
.info-content {
font-family: "Poppins", "Noto Sans Devanagari", sans-serif;
color: #333;
line-height: 1.8;
}
.page-header {
text-align: center;
margin-bottom: 40px;
padding: 50px 30px;
background: linear-gradient(
135deg,
rgba(255, 255, 255, 0.95),
rgba(245, 245, 245, 0.95)
);
border: 2px solid rgba(255, 153, 51, 0.3);
border-radius: 25px;
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
position: relative;
overflow: hidden;
}
.page-header h1 {
color: #333;
font-size: clamp(2rem, 5vw, 3.5rem);
margin-bottom: 15px;
font-weight: 700;
font-family: "Dancing Script", "Noto Sans Devanagari", sans-serif;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.page-header .subtitle {
color: #444;
font-size: clamp(1rem, 2.5vw, 1.4rem);
font-style: italic;
font-weight: 500;
}
.info-content-card {
background: rgba(255, 255, 255, 0.95);
border: 2px solid rgba(255, 153, 51, 0.2);
padding: 35px;
border-radius: 25px;
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
margin-bottom: 35px;
position: relative;
overflow: hidden;
}
.section-title {
color: #222;
font-size: clamp(1.4rem, 3vw, 2rem);
margin-bottom: 20px;
font-weight: 700;
display: flex;
align-items: center;
gap: 15px;
font-family: "Dancing Script", "Noto Sans Devanagari", sans-serif;
border-bottom: 2px solid rgba(255, 153, 51, 0.3);
padding-bottom: 12px;
}
.section-icon {
color: var(--saffron);
font-size: 1.2em;
background: rgba(255, 153, 51, 0.12);
padding: 8px;
border-radius: 50%;
width: 45px;
height: 45px;
display: inline-flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.content-text {
color: #333;
font-size: 1.1rem;
line-height: 1.85;
text-align: justify;
margin-bottom: 16px;
}
.story-box {
background: rgba(255, 153, 51, 0.05);
border: 2px solid rgba(255, 153, 51, 0.2);
border-radius: 15px;
padding: 25px;
color: #333;
font-size: 1.05rem;
margin: 20px 0;
}
.highlight-box {
background: rgba(255, 153, 51, 0.08);
border: 2px solid var(--saffron);
border-radius: 15px;
padding: 25px;
margin: 20px 0;
}
.historical-box {
background: rgba(19, 136, 8, 0.08);
border: 2px solid var(--green);
border-radius: 15px;
padding: 25px;
margin: 20px 0;
}
.warning-box {
background: rgba(220, 53, 69, 0.08);
border: 2px solid #dc3545;
border-radius: 15px;
padding: 25px;
margin: 20px 0;
}
.story-title {
font-size: 1.3rem;
font-weight: 600;
color: #222;
margin-bottom: 12px;
display: flex;
align-items: center;
gap: 10px;
font-family: "Dancing Script", "Noto Sans Devanagari", sans-serif;
}
.story-icon {
color: var(--saffron);
font-size: 1.1em;
}
.info-table {
width: 100%;
border-collapse: collapse;
margin: 25px 0;
background: rgba(255, 255, 255, 0.95);
border-radius: 15px;
overflow: hidden;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
border: 2px solid rgba(255, 153, 51, 0.2);
}
.info-table th {
background: var(--primary-gradient);
color: #222;
padding: 16px 15px;
font-weight: 700;
font-size: 1.05rem;
text-align: left;
}
.info-table td {
padding: 14px 15px;
border-bottom: 1px solid rgba(255, 153, 51, 0.15);
font-size: 1rem;
color: #333;
}
.info-table tr:nth-child(even) {
background: rgba(255, 153, 51, 0.03);
}
.info-table tr:nth-child(odd) {
background: rgba(255, 255, 255, 0.95);
}
h3,
h4 {
font-size: 1.4rem;
font-weight: bold;
color: #222;
font-family: "Dancing Script", "Noto Sans Devanagari", sans-serif;
}
.quote-box {
background: rgba(255, 153, 51, 0.1);
border-left: 4px solid var(--saffron);
padding: 20px;
margin: 20px 0;
border-radius: 8px;
font-style: italic;
font-size: 1.15rem;
color: #222;
}
.color-indicator {
display: inline-block;
width: 20px;
height: 20px;
border-radius: 50%;
margin-right: 8px;
vertical-align: middle;
border: 2px solid rgba(51, 51, 51, 0.3);
}
.saffron-color {
background-color: var(--saffron);
}
.white-color {
background-color: var(--white);
}
.green-color {
background-color: var(--green);
}
.blue-color {
background-color: #000080;
}
/* Toast Notification */
.toast {
position: fixed;
top: 20px;
right: 20px;
background: linear-gradient(135deg, #ff9933, #138808);
color: #fff;
padding: 15px 25px;
border-radius: 12px;
box-shadow: 0 15px 30px rgba(255, 153, 51, 0.3);
transform: translateX(400px);
transition: all 0.4s ease;
z-index: 1000;
font-weight: 600;
display: flex;
align-items: center;
}
.toast.show {
transform: translateX(0);
}
.hidden {
display: none;
}
/* Loading Spinner */
.loading-spinner {
width: 20px;
height: 20px;
border: 2px solid rgba(255, 255, 255, 0.3);
border-top: 2px solid #fff;
border-radius: 50%;
animation: spin 1s linear infinite;
}
/* Responsive Design */
@media (max-width: 768px) {
body {
padding-bottom: 90px;
}
.container {
padding: 15px;
}
.form-section {
padding: 30px 20px;
}
.btn {
padding: 12px 25px;
font-size: 1rem;
width: 100%;
margin: 8px 0;
}
.name-input {
padding: 14px 18px;
font-size: 1rem;
}
.modal {
padding: 15px;
align-items: center;
}
.modal-content {
width: 100%;
max-width: 95vw;
max-height: 85vh;
padding: 20px;
border-radius: 20px;
}
.modal-title {
font-size: 1.8rem;
margin-bottom: 20px;
}
.carousel-container {
border-radius: 15px;
}
.nav-button {
width: 40px;
height: 40px;
font-size: 16px;
}
.prev-btn {
left: 15px;
}
.next-btn {
right: 15px;
}
.select-button {
padding: 10px 20px;
font-size: 0.9rem;
top: 15px;
right: 15px;
min-width: 100px;
}
.select-button.selected {
width: 30px;
height: 30px;
min-width: 40px;
}
.music-control {
top: 20px;
right: 20px;
width: 50px;
height: 50px;
padding: 12px;
font-size: 1rem;
}
.music-notification {
top: 80px;
right: 20px;
max-width: 200px;
padding: 12px 15px;
font-size: 0.8rem;
}
.wrapper {
height: 140px;
width: 210px;
}
.lid {
border-right: 105px solid transparent;
border-left: 105px solid transparent;
border-bottom: 70px solid transparent;
}
.lid.one {
border-top: 70px solid #ff9933;
}
.lid.two {
border-top: 70px solid #138808;
}
.envelope {
border-top: 70px solid transparent;
border-right: 105px solid #ffffff;
border-bottom: 70px solid #ffffff;
border-left: 105px solid #ffffff;
}
.content-card {
padding: 20px;
margin: 0 10px;
}
.independence-image {
height: 180px;
}
.wish-text {
font-size: 1.1rem;
}
.info-close {
top: 15px;
right: 20px;
width: 45px;
height: 45px;
font-size: 30px;
}
.info-modal-content {
padding: 15px;
}
.page-header {
padding: 30px 20px;
}
.info-content-card {
padding: 25px 20px;
}
.section-title {
font-size: 1.5rem;
flex-direction: column;
text-align: center;
gap: 10px;
}
}
@media (max-width: 480px) {
body {
padding-bottom: 100px;
}
.header h1 {
font-size: 2rem;
}
.flag-img-header {
width: 30px;
height: 22px;
}
.form-section {
padding: 25px 15px;
}
.modal {
padding: 10px;
}
.modal-content {
padding: 15px;
border-radius: 15px;
}
.modal-title {
font-size: 1.5rem;
margin-bottom: 15px;
}
.nav-button {
width: 35px;
height: 35px;
font-size: 14px;
}
.prev-btn {
left: 10px;
}
.next-btn {
right: 10px;
}
.select-button {
padding: 8px 16px;
font-size: 0.8rem;
top: 10px;
right: 10px;
min-width: 80px;
}
.wrapper {
height: 120px;
width: 180px;
}
.open-btn {
width: 40px;
height: 40px;
font-size: 14px;
}
.independence-image {
height: 160px;
}
.info-close {
top: 10px;
right: 15px;
width: 40px;
height: 40px;
font-size: 25px;
}
.content-text {
font-size: 0.98rem;
text-align: left;
}
.info-table th,
.info-table td {
padding: 10px 8px;
font-size: 0.85rem;
}
.story-box,
.highlight-box,
.historical-box,
.warning-box {
padding: 18px;
}
}
a:visited {
color: white;
}
</style>
<!-- Technical SEO: JSON-LD Schema Markup -->
<script type="application/ld+json">
[
{
"@context": "https://schema.org",
"@type": "Event",
"name": "India Independence Day 2027",
"startDate": "2027-08-15T00:00:00+05:30",
"endDate": "2027-08-15T23:59:59+05:30",
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"eventStatus": "https://schema.org/EventScheduled",
"location": {
"@type": "VirtualLocation",
"url": "https://tabrejazam.blogspot.com/"
},
"description": "Celebrate 79th Independence Day of India with personalized wishing links.",
"organizer": {
"@type": "Person",
"name": "Tabrej Azam"
}
},
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "स्वतंत्रता दिवस 2027 की थीम क्या है?",
"acceptedAnswer": {
"@type": "Answer",
"text": "15 अगस्त 2027 को भारत अपना 80वां स्वतंत्रता दिवस मनाएगा, जिसकी थीम राष्ट्र प्रथम, सदैव प्रथम (Nation First, Always First) के इर्द-गिर्द होगी।"
}
},
{
"@type": "Question",
"name": "How to create Independence Day wishing link with name?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Visit tabrejazam.blogspot.com, enter your name in the box, select your favorite image and click 'Generate'. Your personalized link is ready to share."
}
}
]
}
]
</script>
</head>
<script
type="text/javascript"
src="//pl27304325.profitableratecpm.com/15/d9/76/15d97613d4fcce5aa926e43e870fe885.js"
></script>
<body>
<!-- Background Music - Single Song -->
<audio id="backgroundMusic" loop preload="auto" style="display: none">
<source
src="https://res.cloudinary.com/tabrej/video/upload/v1753617354/indian-flute-and-tabla-new-tune-remastered-277266-_AudioTrimmer.com_nq7szz.mp3"
type="audio/mpeg"
/>
Your browser does not support the audio element.
</audio>
<!-- Music Control Button -->
<button
id="musicControl"
class="music-control"
onclick="toggleMusic()"
title="Music On/Off"
>
<i class="fas fa-music"></i>
</button>
<!-- Music Notification -->
<div id="musicNotification" class="music-notification">
<i class="fas fa-music musical-note"></i>
<span>देशभक्ति संगीत चल रहा है</span>
</div>
<!-- Tricolor Particle System -->
<div class="particles-container" id="particlesContainer"></div>
<!-- Form Page -->
<div class="form-page" id="formPage">
<div class="container">
<div class="header">
<h1>🇮🇳 स्वतंत्रता दिवस की शुभकामनाएं 🇮🇳</h1>
<p>🌟 15 अगस्त 2027 🌟</p>
<p>आजादी का पावन त्योहार</p>
<p class="subtitle">वतन की खुशियां सबके साथ बांटें</p>
</div>
<div class="gradient-border">
<div class="gradient-border-inner">
<div class="form-section" id="formSection">
<div class="form-group">
<label for="userName">🇮🇳 अपना प्यारा नाम लिखें:</label>
<input
type="text"
id="userName"
class="name-input"
placeholder="जैसे: राहुल, प्रिया, अमित, सुनीता..."
maxlength="50"
/>
</div>
<button
class="btn template-btn"
id="chooseTemplateBtn"
onclick="openTemplateModal()"
>
<i class="fas fa-images"></i>
<span id="templateBtnText">स्वतंत्रता दिवस की फोटो चुनें</span>
</button>
<button
class="btn"
id="generateBtn"
onclick="generateIndependenceLink()"
>
<span id="btnText">
🇮🇳 स्वतंत्रता दिवस की शुभकामना तैयार करें
</span>
<span class="loading-spinner hidden" id="loadingSpinner"></span>
</button>
<div class="generated-link hidden" id="generatedLink">
<p>🎉 आपकी स्वतंत्रता दिवस की शुभकामनाएं तैयार हैं!</p>
<div class="link-display" id="linkDisplay"></div>
<button class="btn copy-btn" onclick="copyToClipboard()">
<i class="fa-regular fa-copy"></i> लिंक कॉपी करें
</button>
<button
class="btn"
onclick="shareOnWhatsApp()"
style="background: linear-gradient(135deg, #138808, #ff9933)"
>
<i class="fa-brands fa-whatsapp"></i> व्हाट्सऐप पर भेजें
</button>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Envelope Page -->
<div class="envelope-page" id="envelopePage">
<div class="particles-container" id="envelopeParticlesContainer"></div>
<div class="envelope-container" id="envelope-container">
<div class="wrapper" id="envelope-wrapper">
<div class="lid one"></div>
<div class="lid two"></div>
<div class="envelope"></div>
<button class="open-btn" id="open-btn">
<i class="fas fa-envelope-open"></i>
</button>
<div class="letter">
<img
id="envelope-image"
src="https://i.postimg.cc/zXhTtJ6y/16.webp"
alt="स्वतंत्रता दिवस की शुभकामना"
crossorigin="anonymous"
/>
</div>
</div>
</div>
<div class="content-container" id="content-container">
<div class="content-card">
<img
id="main-image"
src="https://i.postimg.cc/zXhTtJ6y/16.webp"
alt="स्वतंत्रता दिवस की शुभकामना"
class="independence-image"
crossorigin="anonymous"
/>
<button class="download-btn" id="download-btn">
<i class="fas fa-download"></i>
Download Image
</button>
<div class="wish-text" id="wish-text">
ने आपको स्वतंत्रता दिवस की हार्दिक शुभकामनाएं भेजी हैं!
</div>
<div class="action-buttons">
<button class="action-btn" onclick="showIndependenceDayInfo()">
स्वतंत्रता दिवस के बारे में जानें
</button>
<button class="action-btn secondary" onclick="createNewWish()">
नई शुभकामना बनाएं
</button>
</div>
</div>
</div>
</div>
<!-- Template Selection Modal -->
<div id="templateModal" class="modal">
<div class="particles-container" id="modalParticlesContainer"></div>
<div class="modal-content">
<span class="close" onclick="closeTemplateModal()">×</span>
<h1 class="modal-title">स्वतंत्रता दिवस की फोटो चुनें</h1>
<div class="carousel-container">
<div class="carousel">
<div class="carousel-slide active">
<img
src="https://i.postimg.cc/zXhTtJ6y/16.webp"
alt="Independence Day 1"
/>
</div>
<div class="carousel-slide">
<img
src="https://i.postimg.cc/ZRy8ypk5/17.webp"
alt="Independence Day 2"
/>
</div>
<div class="carousel-slide">
<img
src="https://i.postimg.cc/Y0Rh4CSS/18.webp"
alt="Independence Day 3"
/>
</div>
<div class="carousel-slide">
<img
src="https://i.postimg.cc/1XmzZ1K1/19.webp"
alt="Independence Day 4"
/>
</div>
<div class="carousel-slide">
<img
src="https://i.postimg.cc/rssLJVJs/20.webp"
alt="Independence Day 5"
/>
</div>
<div class="carousel-slide">
<img
src="https://i.postimg.cc/7PzvqWWp/21.webp"
alt="Independence Day 6"
/>
</div>
<div class="carousel-slide">
<img
src="https://i.postimg.cc/wTYCMkK3/22.webp"
alt="Independence Day 7"
/>
</div>
<div class="carousel-slide">
<img
src="https://i.postimg.cc/K8Jw9S1g/24.webp"
alt="Independence Day 8"
/>
</div>
<div class="carousel-slide">
<img
src="https://i.postimg.cc/7h8WCqWj/25.webp"
alt="Independence Day 9"
/>
</div>
<div class="carousel-slide">
<img
src="https://i.postimg.cc/kGvfBK8t/26.webp"
alt="Independence Day 10"
/>
</div>
<div class="carousel-slide">
<img
src="https://i.postimg.cc/VLsFKSnD/27.webp"
alt="Independence Day 11"
/>
</div>
<div class="carousel-slide">
<img
src="https://i.postimg.cc/Wz1JwkCZ/29.webp"
alt="Independence Day 12"
/>
</div>
<div class="carousel-slide">
<img
src="https://i.postimg.cc/283Zqn4R/28.webp"
alt="Independence Day 13"
/>
</div>
</div>
<button class="nav-button prev-btn" onclick="prevSlide()">
<i class="fas fa-chevron-left"></i>
</button>
<button class="nav-button next-btn" onclick="nextSlide()">
<i class="fas fa-chevron-right"></i>
</button>
<button class="select-button" onclick="selectTemplate()">
<span class="select-text">
<i class="fas fa-check"></i>
Select
</span>
<i class="fas fa-check check-icon"></i>
</button>
</div>
</div>
</div>
<!-- Independence Day Information Modal -->
<div id="infoModal" class="info-modal">
<div class="particles-container" id="infoModalParticlesContainer"></div>
<span class="info-close" onclick="closeInfoModal()">×</span>
<div class="info-modal-content">
<div class="info-content">
<!-- Header -->
<header class="page-header">
<h1>
<i class="fas fa-flag"></i>
15 अगस्त: स्वतंत्रता दिवस महा-गाथा
</h1>
<p class="subtitle">
सिर्फ एक तारीख नहीं, बल्कि 140 करोड़ भारतीयों के गौरव, स्वाभिमान
और बलिदान का अमर प्रतीक है
</p>
</header>
<!-- 1. गुलामी से आज़ादी की ओर -->
<div class="info-content-card">
<h2 class="section-title">
<span class="section-icon"><i class="fas fa-history"></i></span>
गुलामी से आज़ादी की ओर: 200 वर्षों का दर्दनाक व संघर्षपूर्ण इतिहास
</h2>
<div class="highlight-box">
<h3 class="story-title">
<i class="fas fa-compass story-icon"></i>
व्यापारी से शासक बनने का षड्यंत्र
</h3>
<p class="content-text">
1600 ईस्वी में महारानी एलिजाबेथ प्रथम के चार्टर के साथ ब्रिटिश
ईस्ट इंडिया कंपनी भारत में केवल व्यापार करने के इरादे से आई थी।
उस समय भारत दुनिया की कुल जीडीपी का लगभग 25% योगदान देता था और
अपनी समृद्धि के कारण "सोने की चिड़िया" कहलाता था।
</p>
<p class="content-text">
परंतु, हमारे देशी राजाओं की आपसी फूट का लाभ उठाकर अंग्रेजों ने
'फूट डालो और शासन करो' (Divide and Rule) की कूटनीति अपनाई। 1757
के <strong>प्लासी के युद्ध</strong> में रॉबर्ट क्लाइव ने नवाब
सिराजुद्दौला के साथ छल किया और 1764 के
<strong>बक्सर के युद्ध</strong> के बाद बंगाल, बिहार और ओडिशा की
दीवानी अंग्रेजों के हाथ में चली गई।
</p>
</div>
<div class="historical-box">
<h3 class="story-title">
<i class="fas fa-fist-raised story-icon"></i>
1857: प्रथम स्वतंत्रता संग्राम (महाक्रांति)
</h3>
<p class="content-text">
लॉर्ड डलहौजी की 'हड़प नीति' (Doctrine of Lapse) और चर्बी वाले
कारतूसों के विरोध में 10 मई 1857 को मेरठ छावनी से क्रांति की
ज्वाला भड़की। मंगल पांडे के सर्वस्व बलिदान, झांसी की रानी
लक्ष्मीबाई की बीरता, तात्या टोपे, कुंवर सिंह, बेगम हज़रत महल और
अंतिम मुगल सम्राट बहादुर शाह ज़फर के नेतृत्व में पूरा देश एक साथ
ब्रिटिश सत्ता के खिलाफ खड़ा हो गया।
</p>
<p class="content-text">
यद्यपि यह क्रांति दबा दी गई, लेकिन इसने ब्रिटिश साम्राज्य की
नींव हिला दी। 1858 में ईस्ट इंडिया कंपनी का शासन समाप्त हुआ और
भारत की बागडोर सीधे ब्रिटिश क्राउन (ब्रिटेन की महारानी) के पास
चली गई।
</p>
</div>
</div>
<!-- 2. गुलामी का क्रूर यथार्थ -->
<div class="info-content-card">
<h2 class="section-title">
<span class="section-icon"
><i class="fas fa-skull-crossbones"></i
></span>
गुलामी की विभीषिका: शोषण, अकाल और अमानवीय अत्याचार
</h2>
<div class="story-box">
<p class="content-text">
<i class="fas fa-seedling"></i>
<strong>कृषि व किसानों की बर्बादी:</strong> स्थायी बंदोबस्त
(Permanent Settlement), रैयतवाड़ी और महालवाड़ी जैसी क्रूर लगान
प्रणालियों के कारण भारतीय किसान दाने-दाने को मोहताज हो गए। नील
और अफीम की जबरन खेती करवाई जाती थी।
</p>
<p class="content-text">
<i class="fas fa-industry"></i>
<strong>भारतीय उद्योगों का विनाश:</strong> ढाका के मलमल, बनारसी
रेशम और भारतीय हस्तशिल्प को नष्ट कर दिया गया ताकि ब्रिटेन के
मैनचेस्टर और लिवरपूल के कारखानों का माल भारत में बेचा जा सके
(वि-औद्योगिकीकरण)। दादाभाई नौरोजी ने अपनी पुस्तक में इसे 'धन की
निकासी' (Drain of Wealth) कहा।
</p>
<p class="content-text">
<i class="fas fa-utensils"></i>
<strong>भीषण अकाल की त्रासदी:</strong> ब्रिटिश नीतियों के कारण
भारत में दर्जनों अकाल पड़े। 1943 के बंगाल अकाल में लगभग 30 लाख
निर्दोष लोग भूख से तड़प-तड़प कर मर गए, जबकि विंस्टन चर्चिल ने
भारत का अनाज द्वितीय विश्व युद्ध के लिए ब्रिटेन भेज दिया था।
</p>
<p class="content-text">
<i class="fas fa-balance-scale-left"></i>
<strong>काला कानून (रौलेट एक्ट 1919):</strong> "न कोई वकील, न
कोई अपील, न कोई दलील"। किसी भी भारतीय को बिना मुकदमे के जेल में
डालने का कानून बनाया गया। इसका विरोध करने पर 13 अप्रैल 1919 को
<strong>जलियांवाला बाग</strong> में जनरल डायर ने निहत्थे मासूमों
पर अंधाधुंध गोलियां बरसा कर सैकड़ों भारतीयों को मौत के घाट उतार
दिया।
</p>
</div>
<div class="warning-box">
<h4 class="story-title">
<i class="fas fa-exclamation-triangle story-icon"></i>
अंग्रेजों के नस्लीय अहंकार का प्रमाण:
</h4>
<div class="quote-box">
<i class="fas fa-ban"></i>
<strong>"Dogs and Indians Not Allowed"</strong> — ब्रिटिश
क्लबों, पार्कों और प्रथम श्रेणी रेल डिब्बों के बाहर यह शर्मनाक
बोर्ड टंगा रहता था।
</div>
</div>
</div>
<!-- 3. स्वतंत्रता आंदोलन की ऐतिहासिक समय-रेखा -->
<div class="info-content-card">
<h2 class="section-title">
<span class="section-icon"><i class="fas fa-clock"></i></span>
स्वतंत्रता संग्राम के प्रमुख आंदोलन (समय-रेखा: 1757-1947)
</h2>
<table class="info-table">
<thead>
<tr>
<th>वर्ष</th>
<th>ऐतिहासिक घटना / आंदोलन</th>
<th>मुख्य पहलू व प्रभाव</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>1757 - 1764</strong></td>
<td>प्लासी व बक्सर का युद्ध</td>
<td>भारत में ब्रिटिश औपनिवेशिक सत्ता का प्रारंभ।</td>
</tr>
<tr>
<td><strong>1857</strong></td>
<td>प्रथम स्वतंत्रता संग्राम</td>
<td>सैन्य व जन विद्रोह, ईस्ट इंडिया कंपनी का अंत।</td>
</tr>
<tr>
<td><strong>1885</strong></td>
<td>भारतीय राष्ट्रीय कांग्रेस की स्थापना</td>
<td>ए.ओ. ह्यूम, व्योमेश चंद्र बनर्जी द्वारा संगठित मंच।</td>
</tr>
<tr>
<td><strong>1905</strong></td>
<td>बंगाल विभाजन व स्वदेशी आंदोलन</td>
<td>
लॉर्ड कर्जन का कूटनीतिक विभाजन, विदेशी वस्तुओं का बहिष्कार।
</td>
</tr>
<tr>
<td><strong>1915</strong></td>
<td>गांधी जी का भारत आगमन</td>
<td>
दक्षिण अफ्रीका से लौटकर सत्याग्रह और अहिंसा की शुरुआत।
</td>
</tr>
<tr>
<td><strong>1919</strong></td>
<td>जलियांवाला बाग नरसंहार</td>
<td>रौलेट एक्ट का विरोध, उधम सिंह द्वारा डायर का अंत।</td>
</tr>
<tr>
<td><strong>1920 - 1922</strong></td>
<td>असहयोग आंदोलन</td>
<td>सरकारी संस्थाओं, उपाधियों व विदेशी सामानों का त्याग।</td>
</tr>
<tr>
<td><strong>1928 - 1929</strong></td>
<td>साइमन कमीशन विरोध व पूर्ण स्वराज का संकल्प</td>
<td>
लाला लाजपत राय का बलिदान, 1929 लाहौर अधिवेशन में रावी नदी तट
पर पूर्ण स्वराज की घोषणा।
</td>
</tr>
<tr>
<td><strong>1930</strong></td>
<td>दांडी मार्च व सविनय अवज्ञा आंदोलन</td>
<td>
साबरमती से दांडी तक 385 किमी यात्रा कर नमक कानून तोड़ना।
</td>
</tr>
<tr>
<td><strong>1931</strong></td>
<td>भगत सिंह, सुखदेव व राजगुरु की शहादत</td>
<td>23 मार्च 1931 को हंसते-हंसते फांसी के फंदे को चूमना।</td>
</tr>
<tr>
<td><strong>1942</strong></td>
<td>भारत छोड़ो आंदोलन व आज़ाद हिंद फौज</td>
<td>
'करो या मरो' का नारा, नेताजी द्वारा दिल्ली चलो का आह्वान।
</td>
</tr>
<tr>
<td><strong>1946</strong></td>
<td>शाही नौसेना विद्रोह (RIN Mutiny)</td>
<td>
बॉम्बे में नौसैनिकों का विद्रोह, ब्रिटिश साम्राज्य की अंतिम
कील।
</td>
</tr>
<tr>
<td><strong>15 अगस्त 1947</strong></td>
<td>भारत का स्वतंत्रता दिवस</td>
<td>200 साल की गुलामी का अंत, स्वतंत्र भारत का उदय।</td>
</tr>
</tbody>
</table>
</div>
<!-- 4. अमर सेनानी व गुमनाम नायक -->
<div class="info-content-card">
<h2 class="section-title">
<span class="section-icon"><i class="fas fa-medal"></i></span>
आज़ादी के महानायक एवं गुमनाम क्रांतिकारी
</h2>
<div class="historical-box">
<h3 class="story-title">
<i class="fas fa-star story-icon"></i>
स्वतंत्रता संग्राम के प्रमुख नेता एवं उनकी भूमिका
</h3>
<table class="info-table">
<thead>
<tr>
<th>स्वतंत्रता सेनानी</th>
<th>योगदान एवं अमर संदेश</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>महात्मा गांधी</strong></td>
<td>
अहिंसा, सत्याग्रह, असहयोग एवं भारत छोड़ो आंदोलन का
नेतृत्व।
</td>
</tr>
<tr>
<td><strong>नेताजी सुभाष चंद्र बोस</strong></td>
<td>
आज़ाद हिंद फौज (INA) का गठन, "तुम मुझे खून दो, मैं तुम्हें
आजादी दूंगा"।
</td>
</tr>
<tr>
<td><strong>भगत सिंह</strong></td>
<td>
इंकलाब जिंदाबाद का नारा, सांडर्स वध एवं असेंबली बम कांड
द्वारा क्रांति की अलख।
</td>
</tr>
<tr>
<td><strong>सरदार वल्लभभाई पटेल</strong></td>
<td>
बारडोली सत्याग्रह, 565 देशी रियासतों का एकीकरण कर 'अखंड
भारत' का निर्माण।
</td>
</tr>
<tr>
<td><strong>चंद्रशेखर आज़ाद</strong></td>
<td>
"आज़ाद थे, आज़ाद हैं, आज़ाद रहेंगे" — अल्फ्रेड पार्क में
अंतिम सांस तक संघर्ष।
</td>
</tr>
<tr>
<td><strong>लोकमान्य बाल गंगाधर तिलक</strong></td>
<td>
"स्वराज मेरा जन्मसिद्ध अधिकार है और मैं इसे लेकर रहूंगा"।
</td>
</tr>
<tr>
<td><strong>डॉ. बी.आर. आंबेडकर</strong></td>
<td>
दलितों व वंचितों के अधिकारों की लड़ाई, स्वतंत्र भारत के
संविधान के शिल्पकार।
</td>
</tr>
<tr>
<td><strong>लाला लाजपत राय (पंजाब केसरी)</strong></td>
<td>
"मेरे शरीर पर पड़ी एक-एक लाठी ब्रिटिश साम्राज्य के कफन की
कील साबित होगी"।
</td>
</tr>
</tbody>
</table>
</div>
<div class="highlight-box">
<h4 class="story-title">
<i class="fas fa-heart story-icon"></i>
गुमनाम व अमर क्रांतिकारी (जिन्हें नमन करना हमारा कर्तव्य है):
</h4>
<p class="content-text">
<i class="fas fa-check-circle"></i>
<strong>अशफाकउल्ला खान व रामप्रसाद बिस्मिल:</strong> काकोरी
ट्रेन एक्शन के नायक, जिन्होंने धर्म की दीवारों को तोड़कर देश के
लिए फांसी का फंदा चूमा।
</p>
<p class="content-text">
<i class="fas fa-check-circle"></i>
<strong>उधम सिंह:</strong> जलियांवाला बाग के 21 साल बाद लंदन
जाकर माइकल ओ'डायर को ढेर करने वाले अमर बलिदानी।
</p>
<p class="content-text">
<i class="fas fa-check-circle"></i>
<strong>बीरसा मुंडा:</strong> छोटानागपुर के जंगलों में अंग्रेजों
व जमींदारों के खिलाफ 'उलगुलान' (महाविद्रोह) का नेतृत्व करने वाले
धरती आबा।
</p>
<p class="content-text">
<i class="fas fa-check-circle"></i>
<strong>मातंगिनी हाजरा (गांधी बुरी):</strong> 73 वर्ष की आयु में
1942 में हाथ में तिरंगा थामे 3 गोलियां खाने के बाद भी वंदे मातरम
गाते हुए शहीद हुईं।
</p>
<p class="content-text">
<i class="fas fa-check-circle"></i>
<strong>कनकलता बरुआ:</strong> असम की 17 वर्षीय वीरांगना जिसने
गोहपुर पुलिस स्टेशन पर तिरंगा फहराते समय अपने प्राणों की आहुति
दी।
</p>
<p class="content-text">
<i class="fas fa-check-circle"></i>
<strong>अरुणा आसफ अली:</strong> 1942 के भारत छोड़ो आंदोलन के
दौरान बॉम्बे के ग्वालिया टैंक मैदान में तिरंगा फहराने वाली
वीरांगना।
</p>
<p class="content-text">
<i class="fas fa-check-circle"></i>
<strong>खुदीराम बोस:</strong> मात्र 18 वर्ष की आयु में भारत माता
के चरणों में अपने प्राण न्योछावर करने वाले सबसे युवा
क्रांतिकारी।
</p>
</div>
</div>
<!-- 5. 14-15 अगस्त 1947 की रात -->
<div class="info-content-card">
<h2 class="section-title">
<span class="section-icon"><i class="fas fa-moon"></i></span>
14-15 अगस्त 1947 की मध्यरात्रि: नियति से साक्षात्कार (Tryst with
Destiny)
</h2>
<p class="content-text">
14 अगस्त 1947 की रात ठीक 12 बजे, जब पूरा विश्व सो रहा था, भारत
जीवन और स्वतंत्रता की नई प्रभात में प्रवेश कर रहा था। नई दिल्ली के
सेंट्रल हॉल (संसद भवन) में संविधान सभा का ऐतिहासिक सत्र चल रहा था।
</p>
<div class="quote-box">
<h4 class="story-title">
<i class="fas fa-quote-left story-icon"></i>
पंडित जवाहरलाल नेहरू का ऐतिहासिक भाषण:
</h4>
<p class="content-text">
"At the stroke of the midnight hour, when the world sleeps,
India will awake to life and freedom. A moment comes, which
comes but rarely in history, when we step out from the old to
the new, when an age ends, and when the soul of a nation, long
suppressed, finds utterance…"
</p>
</div>
<div class="story-box">
<p class="content-text">
<strong>सेंगोल (Sengol) का हस्तांतरण:</strong> सत्ता के
हस्तांतरण के प्रतीक के रूप में तमिलनाडु के प्राचीन
'तिरुवावदुतुरै आधीनम' मठ के संतों द्वारा लाया गया पवित्र
'सेंगोल' (राजदंड) पंडित जवाहरलाल नेहरू को सौंपा गया, जो
न्यायपूर्ण और नीतिपरक शासन का प्रतीक माना जाता है।
</p>
</div>
<div class="warning-box">
<h4 class="story-title">
<i class="fas fa-heart-broken story-icon"></i>
आज़ादी की भारी कीमत: देश का विभाजन
</h4>
<p class="content-text">
आज़ादी की खुशी के साथ ही भारत विभाजन की सबसे दर्दनाक त्रासदी से
गुजरा। सर सिरिल रेडक्लिफ ने महज 5 हफ्तों में नक्शे पर रेखा
(Radcliffe Line) खींचकर सदियों से साथ रहे लोगों को बांट दिया।
</p>
<p class="content-text">
लगभग 1.5 से 2 करोड़ लोग विस्थापित हुए, 10 लाख से अधिक बेगुनाह
लोग दंगों में मारे गए। महात्मा गांधी 15 अगस्त को दिल्ली के जश्न
में शामिल नहीं हुए; वे नोआखाली (बंगाल) में दंगों को रोकने और
सांप्रदायिक सौहार्द स्थापित करने के लिए उपवास पर बैठे थे।
</p>
</div>
</div>
<!-- 6. 15 अगस्त 1947 – प्रथम प्रभात -->
<div class="info-content-card">
<h2 class="section-title">
<span class="section-icon"><i class="fas fa-sun"></i></span>
15 अगस्त 1947: स्वतंत्र भारत की प्रथम प्रभात
</h2>
<div class="historical-box">
<p class="content-text">
<i class="fas fa-flag"></i> <strong>प्रथम ध्वजारोहण:</strong> 15
अगस्त 1947 की सुबह नई दिल्ली के इंडिया गेट (प्रिंसेज पार्क) में
लाखों की जनसभा के बीच गवर्नर जनरल लॉर्ड माउंटबेटन और प्रथम
प्रधानमंत्री नेहरू जी की उपस्थिति में ब्रिटिश ध्वज यूनियन जैक को
उतारकर स्वतंत्र भारत का तिरंगा फहराया गया।
</p>
<p class="content-text">
<i class="fas fa-fort-awesome"></i>
<strong>लाल किले पर ध्वजारोहण:</strong> इसके अगले दिन यानी 16
अगस्त 1947 को सुबह 8:30 बजे पंडित नेहरू ने लाल किले के लाहौरी
गेट की प्राचीर से पहली बार तिरंगा फहराया और राष्ट्र को संबोधित
किया। तब से हर साल 15 अगस्त को लाल किले पर ध्वजारोहण की परंपरा
चली आ रही है।
</p>
<p class="content-text">
<i class="fas fa-users-cog"></i>
<strong>प्रथम स्वतंत्र मंत्रिमंडल:</strong> 14 मंत्रियों के इस
मंत्रिमंडल में नेहरू (प्रधानमंत्री), सरदार पटेल (गृह), डॉ.
आंबेडकर (कानून), मौलाना आज़ाद (शिक्षा), डॉ. श्यामा प्रसाद
मुखर्जी (उद्योग) और राजकुमारी अमृत कौर (स्वास्थ्य) जैसे प्रखर
विजनरी नेता शामिल थे।
</p>
</div>
</div>
<!-- 7. अनसुने व अद्भुत ऐतिहासिक तथ्य -->
<div class="info-content-card">
<h2 class="section-title">
<span class="section-icon"><i class="fas fa-lightbulb"></i></span>
स्वतंत्रता दिवस से जुड़े अनसुने एवं अद्भुत तथ्य
</h2>
<table class="info-table">
<thead>
<tr>
<th>रोचक विषय</th>
<th>ऐतिहासिक जानकारी</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>तिरंगे का निर्माण व अधिकार</strong></td>
<td>
तिरंगे का मूल डिज़ाइन आंध्र प्रदेश के
<strong>पिंगली वेंकैया</strong> ने तैयार किया था। भारत का
आधिकारिक राष्ट्रीय ध्वज केवल
<strong
>कर्नाटक खादी ग्रामोद्योग संयुक्त संघ (हुबली)</strong
>
द्वारा निर्मित खादी के कपड़े से ही बनता है।
</td>
</tr>
<tr>
<td><strong>15 अगस्त को आज़ाद होने वाले अन्य देश</strong></td>
<td>
भारत के अलावा 5 अन्य देश भी 15 अगस्त को अपना स्वतंत्रता दिवस
मनाते हैं:
<strong
>दक्षिण कोरिया, उत्तर कोरिया, बहरीन, कांगो गणराज्य, और
लीकटेंस्टीन</strong
>।
</td>
</tr>
<tr>
<td><strong>15 अगस्त की तारीख ही क्यों?</strong></td>
<td>
लॉर्ड माउंटबेटन ने 15 अगस्त 1947 का दिन इसलिए चुना क्योंकि
15 अगस्त 1945 को द्वितीय विश्व युद्ध में जापानी सेना ने
मित्र राष्ट्रों के सामने आत्मसमर्पण किया था, जो माउंटबेटन के
लिए सौभाग्यशाली तारीख थी।
</td>
</tr>
<tr>
<td><strong>राष्ट्रगान 'जन गण मन'</strong></td>
<td>
गुरुदेव रवींद्रनाथ टैगोर द्वारा 1911 में रचित इस गीत को 24
जनवरी 1950 को भारत का आधिकारिक राष्ट्रगान घोषित किया गया।
इसके संगीत की धुन आजाद हिंद फौज के राम सिंह ठाकुरी ने तैयार
की थी।
</td>
</tr>
<tr>
<td><strong>राष्ट्रीय प्रतीक एवं वाक्य</strong></td>
<td>
सारनाथ के अशोक स्तंभ को राष्ट्रीय प्रतीक और मुंडक उपनिषद के
अमर मंत्र <strong>"सत्यमेव जयते"</strong> (सत्य की ही विजय
होती है) को राष्ट्रीय वाक्य का दर्जा दिया गया।
</td>
</tr>
</tbody>
</table>
</div>
<!-- 8. तिरंगे के रंगों व प्रतीक चिह्नों का अर्थ -->
<div class="info-content-card">
<h2 class="section-title">
<span class="section-icon"><i class="fas fa-palette"></i></span>
तिरंगे के रंगों एवं अशोक चक्र की 24 तीलियों का गहरा अर्थ
</h2>
<table class="info-table">
<thead>
<tr>
<th>रंग / प्रतीक</th>
<th>प्रतिनिधित्व व भावना</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<span class="color-indicator saffron-color"></span
><strong>केसरिया (Saffron)</strong>
</td>
<td>
देश का साहस, शक्ति, त्याग, बलिदान और निरंतर सेवा का प्रतीक।
</td>
</tr>
<tr>
<td>
<span class="color-indicator white-color"></span
><strong>सफेद (White)</strong>
</td>
<td>सत्य, शांति, पवित्रता, ज्ञान और ईमानदारी का प्रतीक।</td>
</tr>
<tr>
<td>
<span class="color-indicator green-color"></span
><strong>हरा (Green)</strong>
</td>
<td>
विश्वास, समृद्धि, प्रकृति, कृषि और देश की उर्वरता का प्रतीक।
</td>
</tr>
<tr>
<td>
<span class="color-indicator blue-color"></span
><strong>अशोक चक्र (24 तीलियाँ)</strong>
</td>
<td>
सारनाथ के अशोक स्तंभ से लिया गया नीले रंग का चक्र। 24
तीलियाँ मनुष्य के 24 सद्गुणों (धर्म, प्रेम, करुणा, न्याय,
स्वास्थ्य, शांति, भ्रातृत्व आदि) तथा 24 घंटे निरंतर प्रगति
पथ पर आगे बढ़ने का संदेश देती हैं।
</td>
</tr>
</tbody>
</table>
</div>
<!-- 9. आयोजन एवं हर घर तिरंगा -->
<div class="info-content-card">
<h2 class="section-title">
<span class="section-icon"><i class="fas fa-drum"></i></span>
स्वतंत्रता दिवस का राष्ट्रव्यापी आयोजन व 'हर घर तिरंगा'
</h2>
<div class="story-box">
<p class="content-text">
<i class="fas fa-monument"></i>
<strong>लाल किला समारोह:</strong> प्रतिवर्ष 15 अगस्त को
प्रधानमंत्री लाल किले पर तिरंगा फहराते हैं, 21 तोपों की सलामी दी
जाती है, थल सेना, नौसेना व वायुसेना का परेड होता है और प्राचीर
से देश के नाम संबोधन होता है।
</p>
<p class="content-text">
<i class="fas fa-flag"></i>
<strong>हर घर तिरंगा अभियान:</strong> आज़ादी का अमृत महोत्सव के
तहत भारत सरकार का यह अभियान देश के प्रत्येक नागरिक को अपने घर पर
गर्व के साथ तिरंगा फहराने के लिए प्रेरित करता है, जिससे जन-जन
में देशभक्ति का संचार होता है।
</p>
<p class="content-text">
<i class="fas fa-paper-plane"></i>
<strong>पतंगबाज़ी की परंपरा:</strong> दिल्ली, पंजाब और उत्तर
भारत में 15 अगस्त को गगन में रंग-बिरंगी पतंगें उड़ाकर आज़ादी के
खुले आसमान में सांस लेने का उत्सव मनाया जाता है।
</p>
</div>
</div>
<!-- 10. देशभक्ति के अमर नारे व भावी कर्तव्य -->
<div class="info-content-card">
<h2 class="section-title">
<span class="section-icon"><i class="fas fa-bullhorn"></i></span>
देशभक्ति के अमर नारे, संकल्प एवं नागरिकों का कर्तव्य
</h2>
<div class="highlight-box">
<h3 class="story-title">
<i class="fas fa-fire story-icon"></i>
स्वतंत्रता संग्राम के अमर नारे
</h3>
<p class="content-text">
• <strong>"इंकलाब जिंदाबाद"</strong> — भगत सिंह / हसरत मोहानी<br />
• <strong>"तुम मुझे खून दो, मैं तुम्हें आजादी दूंगा"</strong> —
नेताजी सुभाष चंद्र बोस<br />
•
<strong
>"स्वराज मेरा जन्मसिद्ध अधिकार है और मैं इसे लेकर
रहूंगा"</strong
>
— बाल गंगाधर तिलक<br />
• <strong>"सारे जहां से अच्छा हिंदोस्तां हमारा"</strong> —
अल्लामा इकबाल<br />
• <strong>"सरफरोशी की तमन्ना अब हमारे दिल में है"</strong> —
रामप्रसाद बिस्मिल<br />
• <strong>"जय जवान, जय किसान"</strong> — लाल बहादुर शास्त्री<br />
• <strong>"जय हिंद"</strong> — नेताजी सुभाष चंद्र बोस /
चेन्पकरामन पिल्लई
</p>
</div>
<div class="story-box">
<h3 class="story-title">
<i class="fas fa-hand-holding-heart story-icon"></i>
विकसित भारत @2047 का संकल्प
</h3>
<p class="content-text">
आज़ादी केवल एक अधिकार नहीं, बल्कि एक महान जिम्मेदारी है। हमें
देश की एकता, अखंडता, सामाजिक सौहार्द, वैज्ञानिक दृष्टिकोण और
पर्यावरण संरक्षण के लिए समर्पित रहना होगा। हमारे वीर सैनिकों की
कुर्बानियों को व्यर्थ न जाने देना ही हर भारतीय का सच्चा
राष्ट्रधर्म है।
</p>
</div>
</div>
<!-- 11. काव्य श्रद्धांजलि -->
<div class="info-content-card">
<h2 class="section-title">
<span class="section-icon"><i class="fas fa-heart"></i></span>
शहीदों को काव्यांजलि
</h2>
<div class="quote-box">
<p
class="content-text"
style="
font-size: 1.25rem;
text-align: center;
font-weight: 600;
line-height: 2;
"
>
शहीदों की चिताओं पर लगेंगे हर बरस मेले,<br />
वतन पर मरने वालों का यही बाकी निशां होगा।<br /><br />
तुम भूल न जाओ उनको, इसलिए कही यह कहानी,<br />
जो शहीद हुए हैं उनकी, जरा याद करो कुर्बानी।<br /><br />
<strong
style="
color: var(--saffron);
font-size: 1.6rem;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
"
>🇮🇳 जय हिंद! जय भारत! 🇮🇳</strong
>
</p>
</div>
</div>
</div>
</div>
</div>
<!-- Toast Notification -->
<div class="toast" id="toast">🇮🇳 लिंक सफलतापूर्वक कॉपी हो गया!</div>
<script>
// Music variables
let isMusicPlaying = false;
let backgroundMusic = null;
// Download flag
let isDownloading = false;
// Initialize music
function initializeMusic() {
backgroundMusic = document.getElementById("backgroundMusic");
if (backgroundMusic) {
backgroundMusic.volume = 0.3;
document.addEventListener(
"click",
function playMusicOnFirstInteraction() {
if (!isMusicPlaying) {
playMusic();
}
document.removeEventListener(
"click",
playMusicOnFirstInteraction,
);
},
{ once: true },
);
backgroundMusic
.play()
.then(() => {
isMusicPlaying = true;
updateMusicButton();
showMusicNotification(
"\u0926\u0947\u0936\u092d\u0915\u094d\u0924\u093f \u0938\u0902\u0917\u0940\u0924 \u091a\u0932 \u0930\u0939\u093e \u0939\u0948",
);
})
.catch(() => {
console.log("Autoplay prevented, waiting for user interaction");
});
}
}
function playMusic() {
if (backgroundMusic && !isMusicPlaying) {
backgroundMusic
.play()
.then(() => {
isMusicPlaying = true;
updateMusicButton();
showMusicNotification(
"\u0926\u0947\u0936\u092d\u0915\u094d\u0924\u093f \u0938\u0902\u0917\u0940\u0924 \u091a\u0932 \u0930\u0939\u093e \u0939\u0948",
);
})
.catch((error) => {
console.log("Could not play music:", error);
});
}
}
function toggleMusic() {
if (isMusicPlaying) {
backgroundMusic.pause();
isMusicPlaying = false;
hideMusicNotification();
} else {
playMusic();
}
updateMusicButton();
}
function updateMusicButton() {
const musicControl = document.getElementById("musicControl");
const icon = musicControl.querySelector("i");
if (isMusicPlaying) {
icon.className = "fas fa-music";
musicControl.classList.remove("muted");
musicControl.title =
"\u0938\u0902\u0917\u0940\u0924 \u092c\u0902\u0926 \u0915\u0930\u0947\u0902";
} else {
icon.className = "fas fa-volume-mute";
musicControl.classList.add("muted");
musicControl.title =
"\u0938\u0902\u0917\u0940\u0924 \u091a\u093e\u0932\u0942 \u0915\u0930\u0947\u0902";
}
}
function showMusicNotification(message) {
const notification = document.getElementById("musicNotification");
if (notification) {
notification.querySelector("span").textContent = message;
notification.classList.add("show");
setTimeout(() => {
notification.classList.remove("show");
}, 4000);
}
}
function hideMusicNotification() {
const notification = document.getElementById("musicNotification");
if (notification) {
notification.classList.remove("show");
}
}
// Independence Day messages
const independenceMessages = {
baseTemplate:
"\u0906\u092a\u0915\u094b \u0938\u094d\u0935\u0924\u0902\u0924\u094d\u0930\u0924\u093e \u0926\u093f\u0935\u0938 \u0915\u0940 \u0939\u093e\u0930\u094d\u0926\u093f\u0915 \u0936\u0941\u092d\u0915\u093e\u092e\u0928\u093e\u090f\u0902",
colors: ["#FF9933", "#FFFFFF", "#138808"],
toast: {
linkCopied:
"\u0932\u093f\u0902\u0915 \u0938\u092b\u0932\u0924\u093e\u092a\u0942\u0930\u094d\u0935\u0915 \u0915\u094c\u092a\u0940 \u0939\u094b \u0917\u092f\u093e!",
templateSelected:
"\u091f\u0948\u092e\u094d\u092a\u094d\u0932\u0947\u091f \u0938\u0947\u0932\u0947\u0915\u094d\u091f \u0939\u094b \u0917\u092f\u093e! \ud83c\udfa8",
wishGenerated:
"\u0938\u094d\u0935\u0924\u0902\u0924\u094d\u0930\u0924\u093e \u0926\u093f\u0935\u0938 \u0915\u0940 \u0936\u0941\u092d\u0915\u093e\u092e\u0928\u093e \u0924\u0948\u092f\u093e\u0930 \u0939\u094b \u0917\u092f\u0940!",
enterName:
"\u0915\u0943\u092a\u092f\u093e \u0905\u092a\u0928\u093e \u0928\u093e\u092e \u0926\u0930\u094d\u091c \u0915\u0930\u0947\u0902! \ud83d\ude4f",
},
wishes: {
ready:
"\ud83c\udf89 \u0906\u092a\u0915\u0940 \u0938\u094d\u0935\u0924\u0902\u0924\u094d\u0930\u0924\u093e \u0926\u093f\u0935\u0938 \u0915\u0940 \u0936\u0941\u092d\u0915\u093e\u092e\u0928\u093e\u090f\u0902 \u0924\u0948\u092f\u093e\u0930 \u0939\u0948\u0902!",
copyLink:
"\ud83d\udccb \u0932\u093f\u0902\u0915 \u0915\u094c\u092a\u0940 \u0915\u0930\u0947\u0902",
shareWhatsApp:
"\ud83d\udcf1 \u0934\u094d\u0935\u093e\u091f\u094d\u0938\u0910\u092a \u092a\u0930 \u092d\u0947\u091c\u0947\u0902",
newWish:
"\ud83c\udfe0 \u0928\u0908 \u0936\u0941\u092d\u0915\u093e\u092e\u0928\u093e \u092c\u0928\u093e\u090f\u0902",
wishText:
"\u0928\u0947 \u0905\u092a\u0915\u094b \u0938\u094d\u0935\u0924\u0902\u0924\u094d\u0930\u0924\u093e \u0926\u093f\u0935\u0938 \u0915\u0940 \u0939\u093e\u0930\u094d\u0926\u093f\u0915 \u0936\u0941\u092d\u0915\u093e\u092e\u0928\u093e\u090f\u0902 \u092d\u0947\u091c\u0940 \u0939\u0948\u0902!",
aboutIndependence:
"\u0938\u094d\u0935\u0924\u0902\u0924\u094d\u0930\u0924\u093e \u0926\u093f\u0935\u0938 \u0915\u0947 \u092c\u093e\u0930\u0947 \u092e\u0947\u0902 \u091c\u093e\u0928\u0947\u0902",
downloadError:
"\u0921\u093e\u0909\u0928\u0932\u094b\u0921 \u092e\u0947\u0902 \u0938\u092e\u0938\u094d\u092f\u093e",
shareError:
"\u0936\u0947\u092f\u0930 \u092e\u0947\u0902 \u0938\u092e\u0938\u094d\u092f\u093e",
copyError:
"\u0915\u094c\u092a\u0940 \u092e\u0947\u0902 \u0938\u092e\u0938\u094d\u092f\u093e",
},
};
// Template Images
const templateImages = [
"https://i.postimg.cc/zXhTtJ6y/16.webp",
"https://i.postimg.cc/ZRy8ypk5/17.webp",
"https://i.postimg.cc/Y0Rh4CSS/18.webp",
"https://i.postimg.cc/1XmzZ1K1/19.webp",
"https://i.postimg.cc/rssLJVJs/20.webp",
"https://i.postimg.cc/7PzvqWWp/21.webp",
"https://i.postimg.cc/wTYCMkK3/22.webp",
"https://i.postimg.cc/K8Jw9S1g/24.webp",
"https://i.postimg.cc/7h8WCqWj/25.webp",
"https://i.postimg.cc/kGvfBK8t/26.webp",
"https://i.postimg.cc/VLsFKSnD/27.webp",
"https://i.postimg.cc/Wz1JwkCZ/29.webp",
"https://i.postimg.cc/283Zqn4R/28.webp",
];
// Global state
let currentSlide = 0;
let selectedTemplate = null;
let isEnvelopeOpened = false;
let userName = "";
let selectedImage = "";
// Check page mode based on URL query
function checkPageMode() {
const urlParams = new URLSearchParams(window.location.search);
const name = urlParams.get("name");
if (name) {
document.getElementById("formPage").classList.add("hidden");
document.getElementById("envelopePage").classList.add("active");
initializeEnvelopePage();
} else {
document.getElementById("formPage").classList.remove("hidden");
document.getElementById("envelopePage").classList.remove("active");
initializeFormPage();
}
}
function initializeFormPage() {
createTricolorParticles();
initializeEventListeners();
initializeMusic();
}
function initializeEnvelopePage() {
const urlParams = new URLSearchParams(window.location.search);
userName =
urlParams.get("name") ||
"\u0915\u094b\u0908 \u0916\u093e\u0938 \u0935\u094d\u092f\u0915\u094d\u0924\u093f";
const templateIndex = urlParams.get("template");
if (
templateIndex !== null &&
templateIndex >= 0 &&
templateIndex < templateImages.length
) {
selectedImage = templateImages[parseInt(templateIndex)];
} else {
selectedImage = templateImages[0];
}
document.getElementById("envelope-image").src = selectedImage;
document.getElementById("main-image").src = selectedImage;
document.getElementById("wish-text").textContent =
userName + " " + independenceMessages.wishes.wishText;
createTricolorParticles("envelopeParticlesContainer");
initializeEnvelopeEvents();
initializeMusic();
}
// Particles
function createTricolorParticles(containerId = "particlesContainer") {
const container = document.getElementById(containerId);
if (!container) return;
container.innerHTML = "";
const colors = ["saffron", "white", "green"];
for (let i = 0; i < 30; i++) {
const particle = document.createElement("div");
particle.className = `particle ${colors[i % 3]}`;
particle.style.left = Math.random() * 100 + "%";
particle.style.top = Math.random() * 100 + "%";
particle.style.animationDelay = Math.random() * 10 + "s";
particle.style.animationDuration = Math.random() * 5 + 8 + "s";
container.appendChild(particle);
}
}
function initializeEnvelopeEvents() {
const openBtn = document.getElementById("open-btn");
const downloadBtn = document.getElementById("download-btn");
const envelopeWrapper = document.getElementById("envelope-wrapper");
const envelopeContainer = document.getElementById("envelope-container");
const contentContainer = document.getElementById("content-container");
openBtn.addEventListener("click", function () {
if (!isEnvelopeOpened) {
isEnvelopeOpened = true;
envelopeWrapper.classList.add("opening");
setTimeout(() => {
envelopeContainer.classList.add("hidden");
setTimeout(() => {
contentContainer.classList.add("show");
}, 500);
}, 2000);
}
});
downloadBtn.addEventListener("click", function () {
downloadImage();
});
}
// Template Modal
function openTemplateModal() {
const modal = document.getElementById("templateModal");
if (modal) {
createTricolorParticles("modalParticlesContainer");
modal.classList.remove("hidden");
modal.classList.add("show");
document.body.style.overflow = "hidden";
showSlide(0);
}
}
function closeTemplateModal() {
const modal = document.getElementById("templateModal");
if (modal) {
modal.classList.remove("show");
document.body.style.overflow = "auto";
setTimeout(() => {
modal.classList.add("hidden");
}, 300);
const selectBtn = document.querySelector(".select-button");
if (selectBtn && selectBtn.classList.contains("selected")) {
resetSelectButton();
}
}
}
// Info Modal
function showIndependenceDayInfo() {
const infoModal = document.getElementById("infoModal");
if (infoModal) {
createTricolorParticles("infoModalParticlesContainer");
infoModal.classList.add("show");
document.body.style.overflow = "hidden";
}
}
function closeInfoModal() {
const infoModal = document.getElementById("infoModal");
if (infoModal) {
infoModal.classList.remove("show");
document.body.style.overflow = "auto";
}
}
function selectTemplate() {
const selectBtn = document.querySelector(".select-button");
const templateBtn = document.getElementById("chooseTemplateBtn");
const templateBtnText = document.getElementById("templateBtnText");
if (selectBtn && !selectBtn.classList.contains("selected")) {
selectBtn.classList.add("selected");
selectedTemplate = templateImages[currentSlide];
templateBtn.classList.add("selected");
templateBtnText.innerHTML =
"\u0906\u092a\u0915\u093e \u092b\u094b\u091f\u094b \u091a\u0941\u0928 \u0932\u093f\u092f\u093e \u0917\u092f\u093e \u0939\u0948\u0964";
setTimeout(() => {
showToast(independenceMessages.toast.templateSelected);
setTimeout(() => {
closeTemplateModal();
}, 1000);
}, 600);
}
}
function resetSelectButton() {
const selectBtn = document.querySelector(".select-button");
if (selectBtn) {
selectBtn.classList.remove("selected");
}
}
function showSlide(index) {
const slides = document.querySelectorAll(".carousel-slide");
slides.forEach((slide) => slide.classList.remove("active"));
if (slides[index]) {
slides[index].classList.add("active");
}
resetSelectButton();
}
function nextSlide() {
const slides = document.querySelectorAll(".carousel-slide");
currentSlide = (currentSlide + 1) % slides.length;
showSlide(currentSlide);
}
function prevSlide() {
const slides = document.querySelectorAll(".carousel-slide");
currentSlide = (currentSlide - 1 + slides.length) % slides.length;
showSlide(currentSlide);
}
function generateIndependenceLink() {
const userNameInput = document.getElementById("userName");
const btnText = document.getElementById("btnText");
const loadingSpinner = document.getElementById("loadingSpinner");
if (!userNameInput) return;
const uName = userNameInput.value.trim();
if (!uName) {
showToast(independenceMessages.toast.enterName);
return;
}
if (btnText) btnText.classList.add("hidden");
if (loadingSpinner) loadingSpinner.classList.remove("hidden");
setTimeout(function () {
const currentUrl = window.location.origin + window.location.pathname;
let greetingUrl = currentUrl + "?name=" + encodeURIComponent(uName);
if (selectedTemplate) {
const templateIndex = templateImages.indexOf(selectedTemplate);
greetingUrl += "&template=" + templateIndex;
}
const linkDisplay = document.getElementById("linkDisplay");
if (linkDisplay) {
linkDisplay.textContent = greetingUrl;
}
const generatedLink = document.getElementById("generatedLink");
if (generatedLink) {
generatedLink.classList.remove("hidden");
}
if (btnText) btnText.classList.remove("hidden");
if (loadingSpinner) loadingSpinner.classList.add("hidden");
showToast(independenceMessages.toast.wishGenerated);
}, 1000);
}
function copyToClipboard() {
const linkDisplay = document.getElementById("linkDisplay");
if (!linkDisplay) return;
const linkText = linkDisplay.textContent || linkDisplay.innerText;
if (navigator.clipboard) {
navigator.clipboard
.writeText(linkText)
.then(function () {
showToast(independenceMessages.toast.linkCopied);
})
.catch(function () {
fallbackCopyTextToClipboard(linkText);
});
} else {
fallbackCopyTextToClipboard(linkText);
}
}
function fallbackCopyTextToClipboard(text) {
const textArea = document.createElement("textarea");
textArea.value = text;
textArea.style.position = "fixed";
textArea.style.left = "-999999px";
textArea.style.top = "-999999px";
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
document.execCommand("copy");
showToast(independenceMessages.toast.linkCopied);
} catch (err) {
showToast(independenceMessages.wishes.copyError);
}
textArea.remove();
}
function shareOnWhatsApp() {
const linkDisplay = document.getElementById("linkDisplay");
if (!linkDisplay) return;
const linkText = linkDisplay.textContent || linkDisplay.innerText;
try {
let nameVal = "\u0915\u093f\u0938\u0940 \u0928\u0947";
if (linkText.includes("?")) {
const urlParams = new URLSearchParams(linkText.split("?")[1]);
nameVal =
urlParams.get("name") || "\u0915\u093f\u0938\u0940 \u0928\u0947";
}
const message =
nameVal +
" " +
independenceMessages.wishes.wishText +
"\n\n\u2728 \u092f\u0939\u093e\u0901 \u0926\u0947\u0916\u0947\u0902: " +
linkText +
"\n\n\ud83c\uddee\ud83c\uddf3 \u0938\u094d\u0935\u0924\u0902\u0924\u094d\u0930\u0924\u093e \u0926\u093f\u0935\u0938 \u0915\u0940 \u0939\u093e\u0930\u094d\u0926\u093f\u0915 \u0936\u0941\u092d\u0915\u093e\u092e\u0928\u093e\u090f\u0902! \ud83c\uddee\ud83c\uddf3";
const whatsappUrl =
"https://wa.me/?text=" + encodeURIComponent(message);
window.open(whatsappUrl, "_blank");
} catch (e) {
showToast(independenceMessages.wishes.shareError);
}
}
function showToast(message) {
const toast = document.getElementById("toast");
if (!toast) return;
toast.textContent = message;
toast.classList.add("show");
setTimeout(function () {
toast.classList.remove("show");
}, 3000);
}
function downloadImage() {
if (isDownloading) return;
isDownloading = true;
const downloadBtn = document.getElementById("download-btn");
downloadBtn.classList.add("loading");
downloadBtn.innerHTML = '<i class="fas fa-spinner"></i> Downloading...';
const canvas = document.createElement("canvas");
const ctx = canvas.getContext("2d");
const img = new Image();
img.crossOrigin = "anonymous";
img.onload = function () {
try {
const aspectRatio = 16 / 9;
let canvasWidth = img.naturalWidth;
let canvasHeight = img.naturalHeight;
if (canvasWidth / canvasHeight > aspectRatio) {
canvasWidth = canvasHeight * aspectRatio;
} else {
canvasHeight = canvasWidth / aspectRatio;
}
canvas.width = canvasWidth;
canvas.height = canvasHeight;
const x = (img.naturalWidth - canvasWidth) / 2;
const y = (img.naturalHeight - canvasHeight) / 2;
ctx.drawImage(
img,
x,
y,
canvasWidth,
canvasHeight,
0,
0,
canvasWidth,
canvasHeight,
);
canvas.toBlob(
function (blob) {
if (blob) {
const url = URL.createObjectURL(blob);
const link = document.createElement("a");
link.href = url;
link.download = "independence-day-" + Date.now() + ".jpg";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
URL.revokeObjectURL(url);
resetDownloadButton();
} else {
fallbackDownload();
}
},
"image/jpeg",
0.95,
);
} catch (error) {
console.error("Canvas download error:", error);
fallbackDownload();
}
};
img.onerror = function () {
console.error("Image load error");
fallbackDownload();
};
img.src = selectedImage;
}
function fallbackDownload() {
try {
const link = document.createElement("a");
link.href = selectedImage;
link.download = "independence-day-" + Date.now() + ".jpg";
link.target = "_blank";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
resetDownloadButton();
} catch (error) {
console.error("Fallback download error:", error);
resetDownloadButton();
}
}
function resetDownloadButton() {
const downloadBtn = document.getElementById("download-btn");
setTimeout(() => {
downloadBtn.classList.remove("loading");
downloadBtn.innerHTML =
'<i class="fas fa-download"></i> Download Image';
isDownloading = false;
}, 1000);
}
function createNewWish() {
closeInfoModal();
window.location.href = window.location.pathname;
}
function initializeEventListeners() {
const userNameElem = document.getElementById("userName");
if (userNameElem) {
userNameElem.addEventListener("keypress", function (e) {
if (e.key === "Enter") {
generateIndependenceLink();
}
});
}
}
// Keyboard navigation
document.addEventListener("keydown", function (e) {
const templateModal = document.getElementById("templateModal");
const infoModal = document.getElementById("infoModal");
if (templateModal && templateModal.classList.contains("show")) {
if (e.key === "ArrowLeft") prevSlide();
else if (e.key === "ArrowRight") nextSlide();
else if (e.key === "Escape") closeTemplateModal();
else if (e.key === "Enter") selectTemplate();
}
if (infoModal && infoModal.classList.contains("show")) {
if (e.key === "Escape") closeInfoModal();
}
});
// Touch events
let startX = 0;
function initializeTouchEvents() {
const carouselContainer = document.querySelector(".carousel-container");
if (carouselContainer) {
carouselContainer.addEventListener("touchstart", function (e) {
startX = e.touches[0].clientX;
});
carouselContainer.addEventListener("touchend", function (e) {
if (!startX) return;
const endX = e.changedTouches[0].clientX;
const diffX = startX - endX;
if (Math.abs(diffX) > 50) {
if (diffX > 0) nextSlide();
else prevSlide();
}
startX = 0;
});
}
}
// Close modal on click outside
window.onclick = function (event) {
const templateModal = document.getElementById("templateModal");
const infoModal = document.getElementById("infoModal");
if (event.target === templateModal) closeTemplateModal();
if (event.target === infoModal) closeInfoModal();
};
// Lifecycle hooks
window.addEventListener("load", function () {
checkPageMode();
initializeTouchEvents();
});
window.addEventListener("popstate", function () {
checkPageMode();
});
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", function () {
checkPageMode();
});
} else {
checkPageMode();
}
document.addEventListener("DOMContentLoaded", function () {
if (backgroundMusic) {
backgroundMusic.addEventListener("ended", function () {
isMusicPlaying = true;
});
backgroundMusic.addEventListener("pause", function () {
isMusicPlaying = false;
updateMusicButton();
});
backgroundMusic.addEventListener("play", function () {
isMusicPlaying = true;
updateMusicButton();
});
}
});
document.addEventListener("contextmenu", function (e) {
if (e.target.id === "backgroundMusic") {
e.preventDefault();
}
});
</script>
</body>
</html>
Comments
Post a Comment