Improved on responsiveness for the header #5
@@ -1,7 +1,6 @@
|
||||
.btn-primary {
|
||||
background: #5A2C82;
|
||||
color: #FFFFFF;
|
||||
padding: 6px 10px;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
font-weight: 500;
|
||||
|
||||
@@ -4,40 +4,53 @@ import Button from "../shared/Button";
|
||||
import { lowerMenuItems } from "../../utils/data";
|
||||
|
||||
const Header = () => {
|
||||
const [searchValue, setSearchValue] = useState<string>("");
|
||||
const [searchValue, setSearchValue] = useState("");
|
||||
|
||||
const handleSearchChange = (e: ChangeEvent<HTMLInputElement>) => {
|
||||
setSearchValue(e.target.value);
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="relative my-2 items-center justify-center flex">
|
||||
<div className="container px-8 flex justify-between">
|
||||
<img src={Logo} alt="" />
|
||||
|
||||
{/* Right Part of the navbar */}
|
||||
<div className="flex flex-col justify-between items-end">
|
||||
<ul className={`flex gap-4 items-center`}>
|
||||
<li>
|
||||
<a href="#">
|
||||
<Button className="btn-active" text="Open An Account" />
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<Button text="Internet Banking" />
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#">
|
||||
<Button text="Contact Us" />
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<div className="relative my-2 flex items-center justify-center">
|
||||
<div className="containerMode flex justify-between gap-1 xl:gap-8">
|
||||
<img
|
||||
src={Logo}
|
||||
alt="Logo"
|
||||
className="w-[90px] h-[90px] xl:w-[117px] xl:h-[117px]"
|
||||
/>
|
||||
<div className="flex flex-col-reverse lg:flex-col grow lg:grow-0 justify-between items-end">
|
||||
<ul className="flex gap-0 lg:gap-[10px] items-center justify-end w-full flex-wrap">
|
||||
{["Open An Account", "Internet Banking", "Contact Us"].map(
|
||||
(text: string) => (
|
||||
<li key={text} className="hidden sm:flex">
|
||||
<a href="#">
|
||||
<Button
|
||||
className={text === "Open An Account" ? "btn-active" : ""}
|
||||
text={text}
|
||||
/>
|
||||
</a>
|
||||
</li>
|
||||
)
|
||||
)}
|
||||
<li className="w-full lg:w-fit">
|
||||
<SearchInput onChange={handleSearchChange} value={searchValue} />
|
||||
</li>
|
||||
</ul>
|
||||
<ul className="flex gap-4 items-center">
|
||||
<div className="flex lg:hidden">
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
className="w-6 h-6"
|
||||
>
|
||||
<path
|
||||
fillRule="evenodd"
|
||||
d="M3 6.75A.75.75 0 013.75 6h16.5a.75.75 0 010 1.5H3.75A.75.75 0 013 6.75zM3 12a.75.75 0 01.75-.75h16.5a.75.75 0 010 1.5H3.75A.75.75 0 013 12zm0 5.25a.75.75 0 01.75-.75h16.5a.75.75 0 010 1.5H3.75a.75.75 0 01-.75-.75z"
|
||||
clipRule="evenodd"
|
||||
/>
|
||||
</svg>
|
||||
</div>
|
||||
<ul className="hidden lg:flex gap-[10px] items-center justify-end flex-wrap">
|
||||
{lowerMenuItems.map((item) => (
|
||||
<li
|
||||
key={item.id}
|
||||
@@ -63,7 +76,7 @@ const SearchInput = ({
|
||||
onChange: (e: ChangeEvent<HTMLInputElement>) => void;
|
||||
}) => {
|
||||
return (
|
||||
<div className="flex items-center border border-[#5A2C82] overflow-hidden">
|
||||
<div className="flex items-center border border-[#5A2C82] overflow-hidden w-full">
|
||||
<input
|
||||
type="text"
|
||||
value={value}
|
||||
@@ -73,7 +86,7 @@ const SearchInput = ({
|
||||
/>
|
||||
<button
|
||||
type="button"
|
||||
className="flex items-center justify-center bg-transparent text-[#5A2C82] p-2"
|
||||
className="flex items-center justify-center bg-transparent text-[#5A2C82] py-[4px] px-[12px]"
|
||||
>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
@@ -86,7 +99,7 @@ const SearchInput = ({
|
||||
<path
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
d="m21 21-5.197-5.197m0 0A7.5 7.5 0 1 0 5.196 5.196a7.5 7.5 0 0 0 10.607 10.607Z"
|
||||
d="m21 21-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
@@ -3,19 +3,36 @@ import styles from "./header.module.css";
|
||||
|
||||
const TopHeader = () => {
|
||||
return (
|
||||
<div className={styles.top_header}>
|
||||
<div className="container flex justify-between w-full text-white font-medium">
|
||||
<ul className="flex gap-8 items-center px-4">
|
||||
{top_header_data.map(({ id, name }) => (
|
||||
<li key={id}>{name}</li>
|
||||
<>
|
||||
<div className="flex flex-col sm:hidden bg-[#5c2684]">
|
||||
<ul className="flex flex-col justify-center items-center py-[0.4rem] text-[13px] font-light">
|
||||
{["Open An Account", "Internet Banking", "Contact Us"].map((text) => (
|
||||
<li key={text}>
|
||||
<a href="#" className={`p-[10px] cursor-pointer text-white`}>
|
||||
{text}
|
||||
</a>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
<div className="flex gap-2">
|
||||
<p className="uppercase">Today's Share price:</p>
|
||||
<span className="text-[#F8B51F]">$ 4.00</span>
|
||||
</div>
|
||||
<div className={styles.top_header}>
|
||||
<div className="containerMode flex justify-between w-full text-white font-medium text-[11px] md:text-[13px]">
|
||||
<ul className="flex items-center py-[0.4rem]">
|
||||
{top_header_data.map(({ id, name }) => (
|
||||
<li key={id}>
|
||||
<a href="#" className={`py-[11px] px-[15px]`}>
|
||||
{name}
|
||||
</a>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
<div className="hidden sm:flex gap-2 items-center bg-[#74449E] px-2 text-[11px] md:text-[13px]">
|
||||
<p className="uppercase">Today's Share price:</p>
|
||||
<span className="text-[#F8B51F] text-base md:text-lg">$ 4.00</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.top_header{
|
||||
background: url(../../assets/images/topbar_back.jpg) no-repeat;
|
||||
background-size: cover;
|
||||
height: 2.535rem;
|
||||
/* padding: 0.4rem 0; */
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
||||
@@ -5,7 +5,7 @@ type ButtonProps = {
|
||||
};
|
||||
|
||||
const Button = ({ text, className }: ButtonProps) => {
|
||||
return <button className={`btn-primary uppercase text-[13px] ${className}`}>{text}</button>;
|
||||
return <button className={`btn-primary uppercase text-[11px] lg:text-[13px] p-[6px] lg:px-[10px] ${className}`}>{text}</button>;
|
||||
};
|
||||
|
||||
export default Button;
|
||||
|
||||
+17
-1
@@ -1,3 +1,19 @@
|
||||
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');
|
||||
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
@tailwind utilities;
|
||||
|
||||
body {
|
||||
line-height: 1.42857143;
|
||||
font-family: "Open Sans", sans-serif;
|
||||
font-optical-sizing: auto;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
|
||||
@layer components {
|
||||
.containerMode {
|
||||
@apply container mx-auto px-5 xxs:max-w-full sm:max-w-[98%] lg:max-w-[1100px];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user