feat: modal component

This commit is contained in:
Val 2025-02-13 17:30:45 +07:00
parent 526a913c9f
commit 2ec99c64f6
5 changed files with 68 additions and 1 deletions

View File

@ -0,0 +1,38 @@
/* Modal.css */
.modal-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.7);
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
}
.modal-content {
background-color: #fff;
padding: 20px;
border-radius: 8px;
position: relative;
max-width: 500px;
width: 100%;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.modal-close {
position: absolute;
top: 10px;
right: 10px;
background: none;
border: none;
font-size: 20px;
cursor: pointer;
color: #333;
}
.modal-close:hover {
color: #000;
}

View File

@ -5,6 +5,7 @@
@import "./magnific-popup.css"; @import "./magnific-popup.css";
@import "./owl.carousel.css"; @import "./owl.carousel.css";
@import "./splitting.css"; @import "./splitting.css";
@import "./modal.css";
@import "./YTPlayer.css"; @import "./YTPlayer.css";
@import "./demo-main/demo-main.css"; @import "./demo-main/demo-main.css";
@import "./demo-bold/demo-bold.css"; @import "./demo-bold/demo-bold.css";

View File

@ -7,7 +7,6 @@ export const metadata = {
description: "Resonance — One & Multi Page React Nextjs Creative Template", description: "Resonance — One & Multi Page React Nextjs Creative Template",
keywords: "Cochise Oncology, Oncology, Healthcare, Medical Services, Cancer Treatment", keywords: "Cochise Oncology, Oncology, Healthcare, Medical Services, Cancer Treatment",
author: "Cochise Oncology", author: "Cochise Oncology",
viewport: "width=device-width, initial-scale=1.0",
robots: "index, follow", robots: "index, follow",
og: { og: {
title: "HomePage - Cochise Oncology", title: "HomePage - Cochise Oncology",
@ -25,6 +24,11 @@ export const metadata = {
}, },
}; };
export const viewport = {
width: "device-width",
initialScale: 1,
};
export default function Home() { export default function Home() {
return ( return (
<> <>

View File

@ -2,6 +2,7 @@
import { useRef } from "react"; import { useRef } from "react";
import Link from "next/link"; import Link from "next/link";
import Modal from "./Modal";
export default function Hero6() { export default function Hero6() {
const videoRef = useRef<any | null>(null); const videoRef = useRef<any | null>(null);

View File

@ -0,0 +1,23 @@
import React from "react";
interface ModalProps {
isOpen: boolean; // Whether the modal is open or not
onClose: () => void; // Function to close the modal
children: React.ReactNode; // Content to be displayed inside the modal
}
const Modal: React.FC<ModalProps> = ({ isOpen, onClose, children }) => {
if (!isOpen) return null;
return (
<div className="modal-overlay">
<div className="modal-content">
<button className="modal-close" onClick={onClose}>
&times;
</button>
{children}
</div>
</div>
);
};
export default Modal;