1
1
import React , { useContext , useState } from "react" ;
2
- import Link from "next/link" ;
3
2
import Image from "next/image" ;
4
3
import { useRouter } from "next/router" ;
5
-
6
4
import { location , logo , phone } from "../assets" ;
7
5
import AnimatedBorder from "./AnimatedBorder" ;
8
- import {
9
- footerButtons ,
10
- socialMediaHandles ,
11
- socialMediaTealIcons ,
12
- } from "../helper/constant" ;
6
+ import { footerButtons , socialMediaHandles , socialMediaTealIcons } from "../helper/constant" ;
13
7
import AppContext from "./AppContext" ;
8
+ import Link from "next/link" ;
14
9
15
10
const Footer = ( ) => {
16
11
const [ onHover , setOnHover ] = useState ( false ) ;
@@ -23,14 +18,17 @@ const Footer = () => {
23
18
router . push ( href ) ;
24
19
} ;
25
20
26
- const handleNavigteTo = ( item : any ) => {
21
+ const handleNavigateTo = ( item : any ) => {
27
22
if ( item . title === "Pricing" ) {
28
- if ( router . pathname !== "/" && router . pathname !== "pricing" )
29
- router . push ( "/#pricing" ) ;
23
+ if ( router . pathname !== "/" && router . pathname !== "/pricing" ) {
24
+ throw new Error ( "Invalid pathname" ) ;
25
+ }
26
+ router . push ( "/#pricing" ) ;
30
27
return ;
31
28
}
32
- if ( item . target ) window . open ( item ?. route , "_blank" ) ;
33
- else {
29
+ if ( item . target ) {
30
+ window . open ( item ?. route , "_blank" ) ;
31
+ } else {
34
32
handleNavigate ( item . route ) ;
35
33
}
36
34
} ;
@@ -41,7 +39,7 @@ const Footer = () => {
41
39
id = "footer"
42
40
className = "flex gap-4 md:gap-10 lg:gap-20 xl:gap-24 flex-col lg:flex-row justify-center pl-4 xsm:px-6 sm:pl-8 lg:pl-20 py-10 bg-main-secondary"
43
41
>
44
- < div className = "w-full lg:w-1/4 font-miligramText400" >
42
+ < div className = "w-full lg:w-1/4 font-miligramText400" >
45
43
< Image
46
44
src = { logo }
47
45
alt = "logo"
@@ -51,9 +49,7 @@ const Footer = () => {
51
49
< div className = "flex items-center my-3 gap-2" >
52
50
{ socialMediaHandles . map ( ( item , i ) => (
53
51
< Image
54
- src = {
55
- hoverOnSocialMedia === i ? socialMediaTealIcons [ i ] : item . src
56
- }
52
+ src = { hoverOnSocialMedia === i ? socialMediaTealIcons [ i ] : item . src }
57
53
alt = { item . src }
58
54
key = { i }
59
55
className = "h-7 cursor-pointer brightness-50 hover:brightness-100"
@@ -65,7 +61,7 @@ const Footer = () => {
65
61
/>
66
62
) ) }
67
63
</ div >
68
- < div className = "flex justify-start items-start mt-4 text-[0.9rem] sm:text-[1rem] ml-2" >
64
+ < div className = "flex justify-start items-start mt-4 text-[0.9rem] sm:text-[1rem] ml-2" >
69
65
< Image
70
66
src = { location }
71
67
alt = "location"
@@ -84,7 +80,7 @@ const Footer = () => {
84
80
}
85
81
>
86
82
< p className = "mt-1 w-fit group-hover:text-white relative inline lg:block" >
87
- IT-07, IT Park,
83
+ IT-07, IT Park,
88
84
< AnimatedBorder />
89
85
</ p >
90
86
< p className = "mt-1 w-fit group-hover:text-white relative inline lg:block" >
@@ -97,62 +93,54 @@ const Footer = () => {
97
93
</ p >
98
94
</ div >
99
95
</ div >
100
- < div className = "flex justify-start mt-3 ml-2" >
96
+ < div className = "flex justify-start mt-3 ml-2" >
101
97
< Image
102
98
src = { phone }
103
99
alt = "phone"
104
- className = { `mt-[5px] mr-4 ${
105
- hoverOnMob ? "brightness-200" : "brightness-50 "
106
- } `}
100
+ className = { `mt-[5px] mr-4 ${ hoverOnMob ? "brightness-200" : "brightness-50" } ` }
107
101
/>
108
102
< a
109
103
onMouseEnter = { ( ) => setHoverOnMob ( true ) }
110
104
onMouseLeave = { ( ) => setHoverOnMob ( false ) }
111
105
href = "tel:01353504103"
112
- className = { ` group relative text-main-light_white m-0 ml-1 text-[0.9rem] sm:text-[1rem] mt-[4px] hover:text-white` }
106
+ className = " group relative text-main-light_white m-0 ml-1 text-[0.9rem] sm:text-[1rem] mt-[4px] hover:text-white"
113
107
>
114
108
+91 7008493497
115
109
< AnimatedBorder />
116
110
</ a >
117
111
</ div >
118
112
</ div >
119
113
< div className = "flex justify-center flex-wrap w-full lg:w-3/4" >
120
- { footerButtons . map ( ( item , i ) => {
121
- return (
122
- < div className = "w-1/2 sm:w-1/4 mt-6 sm:mt-0" key = { i } >
123
- < p className = "text-white text-[1.1rem] sm:text-[1.4rem] font-miligrambold" >
124
- { item . title }
125
- </ p >
126
- { item . buttons . map ( ( item , i ) => (
127
- < p
128
- id = { item . title }
129
- key = { i }
130
- className = "relative group text-[0.9rem] md:text-[1.2rem] text-main-light_white mt-3 cursor-pointer font-miligramTextBook font-light hover:text-white w-fit"
131
- onClick = { ( ) => {
132
- handleNavigteTo ( item ) ;
133
- } }
134
- >
135
- { item . title === "Pricing" ? (
136
- router . pathname === "/" ||
137
- router . pathname === "pricing" ? (
138
- < Link href = "#pricing" > Pricing</ Link >
139
- ) : (
140
- "Pricing"
141
- )
114
+ { footerButtons . map ( ( item , i ) => (
115
+ < div className = "w-1/2 sm:w-1/4 mt-6 sm:mt-0" key = { i } >
116
+ < p className = "text-white text-[1.1rem] sm:text-[1.4rem] font-miligrambold" > { item . title } </ p >
117
+ { item . buttons . map ( ( item , j ) => (
118
+ < p
119
+ key = { j }
120
+ className = "relative group text-[0.9rem] md:text-[1.2rem] text-main-light_white mt-3 cursor-pointer font-miligramTextBook font-light hover:text-white w-fit"
121
+ onClick = { ( ) => {
122
+ handleNavigateTo ( item ) ;
123
+ } }
124
+ >
125
+ { item . title === "Pricing" ? (
126
+ router . pathname === "/" || router . pathname === "/pricing" ? (
127
+ < Link href = "#pricing" > Pricing</ Link >
142
128
) : (
143
- item . title
144
- ) }
145
- { item ?. chip && jobs ?. jobs_listing ?. length && (
146
- < span className = "absolute w-auto right-[-340%] md:right-[-281%] xl:right-[-240%] xxl:right-[-330%] bottom-[8%] font-miligramMedium text-[0.7rem] xxl:text-[1rem] bg-main-greenOpt-200 border-[0px] border-main-lightTeal text-main-teal px-2 py-[3px] rounded-md pointer-events-none" >
147
- { item . chip } !
148
- </ span >
149
- ) }
150
- < AnimatedBorder />
151
- </ p >
152
- ) ) }
153
- </ div >
154
- ) ;
155
- } ) }
129
+ "Pricing"
130
+ )
131
+ ) : (
132
+ item . title
133
+ ) }
134
+ { item ?. chip && jobs ?. jobs_listing ?. length && (
135
+ < span className = "absolute w-auto right-[-340%] md:right-[-281%] xl:right-[-240%] xxl:right-[-330%] bottom-[8%] font-miligramMedium text-[0.7rem] xxl:text-[1rem] bg-main-greenOpt-200 border-[0px] border-main-lightTeal text-main-teal px-2 py-[3px] rounded-md pointer-events-none" >
136
+ { item . chip } !
137
+ </ span >
138
+ ) }
139
+ < AnimatedBorder />
140
+ </ p >
141
+ ) ) }
142
+ </ div >
143
+ ) ) }
156
144
</ div >
157
145
</ div >
158
146
< p className = "py-5 px-2 text-main-light_white text-[0.85rem] sm:text-[1.2rem] text-center font-miligramText400" >
@@ -162,4 +150,4 @@ const Footer = () => {
162
150
) ;
163
151
} ;
164
152
165
- export default Footer ;
153
+ export default Footer ;
0 commit comments