1+ import React from 'react' ;
2+
3+ interface SimpleFooterProps {
4+ store ?: any ;
5+ }
6+
7+ const SimpleFooter : React . FC < SimpleFooterProps > = ( { store = { } } ) => {
8+ const currentYear = new Date ( ) . getFullYear ( ) ;
9+
10+ // Extract store information with fallbacks
11+ const storeName = store ?. title || "Markkët Express" ;
12+ const storeDescription = store ?. Description || "Tu tienda online de confianza" ;
13+ const storeSettings = store ?. settings || { } ;
14+ const storeMeta = storeSettings ?. meta || { } ;
15+ const storeContact = { email : store ?. settings ?. support_email } ;
16+ const storeSocial = storeMeta ?. social || { } ;
17+
18+ return (
19+ < footer className = "bg-dark text-light py-5 mt-5" >
20+ < div className = "container" >
21+ < div className = "row" >
22+ { /* Store Info */ }
23+ < div className = "col-md-4 mb-4" >
24+ < h5 className = "fw-bold mb-3" > { storeName } </ h5 >
25+ < p className = "text-light opacity-75" > { storeDescription } </ p >
26+ < div className = "d-flex gap-3" >
27+ { storeSocial ?. facebook && (
28+ < a href = { storeSocial . facebook } className = "text-light" target = "_blank" rel = "noopener noreferrer" >
29+ < i className = "bi bi-facebook fs-5" > </ i >
30+ </ a >
31+ ) }
32+ { storeSocial ?. instagram && (
33+ < a href = { storeSocial . instagram } className = "text-light" target = "_blank" rel = "noopener noreferrer" >
34+ < i className = "bi bi-instagram fs-5" > </ i >
35+ </ a >
36+ ) }
37+ { storeSocial ?. twitter && (
38+ < a href = { storeSocial . twitter } className = "text-light" target = "_blank" rel = "noopener noreferrer" >
39+ < i className = "bi bi-twitter fs-5" > </ i >
40+ </ a >
41+ ) }
42+ { /* Fallback social links if no store social data */ }
43+ { ! storeSocial ?. facebook && ! storeSocial ?. instagram && ! storeSocial ?. twitter && (
44+ < >
45+ < a href = "#" className = "text-light" >
46+ < i className = "bi bi-facebook fs-5" > </ i >
47+ </ a >
48+ < a href = "#" className = "text-light" >
49+ < i className = "bi bi-instagram fs-5" > </ i >
50+ </ a >
51+ < a href = "#" className = "text-light" >
52+ < i className = "bi bi-twitter fs-5" > </ i >
53+ </ a >
54+ </ >
55+ ) }
56+ </ div >
57+ </ div >
58+
59+ { /* Quick Links */ }
60+ < div className = "col-md-2 mb-4" >
61+ < h6 className = "fw-bold mb-3 text-white" > Enlaces</ h6 >
62+ < ul className = "list-unstyled" >
63+ < li > < a href = "/" className = "text-light text-decoration-none opacity-75 hover-opacity-100" > Inicio</ a > </ li >
64+ < li > < a href = "/servicios" className = "text-light text-decoration-none opacity-75 hover-opacity-100" > Servicios</ a > </ li >
65+ < li > < a href = "/blog" className = "text-light text-decoration-none opacity-75 hover-opacity-100" > Blog</ a > </ li >
66+ < li > < a href = "/about" className = "text-light text-decoration-none opacity-75 hover-opacity-100" > Acerca de</ a > </ li >
67+ </ ul >
68+ </ div >
69+
70+ { /* Support */ }
71+ < div className = "col-md-2 mb-4" >
72+ < h6 className = "fw-bold mb-3 text-white" > Soporte</ h6 >
73+ < ul className = "list-unstyled" >
74+ < li > < a href = "/contact" className = "text-light text-decoration-none opacity-75 hover-opacity-100" > Contacto</ a > </ li >
75+ < li > < a href = "/help" className = "text-light text-decoration-none opacity-75 hover-opacity-100" > Ayuda</ a > </ li >
76+ < li > < a href = "/terms" className = "text-light text-decoration-none opacity-75 hover-opacity-100" > Términos</ a > </ li >
77+ < li > < a href = "/privacy" className = "text-light text-decoration-none opacity-75 hover-opacity-100" > Privacidad</ a > </ li >
78+ </ ul >
79+ </ div >
80+
81+ { /* Contact Info */ }
82+ < div className = "col-md-4 mb-4" >
83+ < h6 className = "fw-bold mb-3 text-white" > Contacto</ h6 >
84+ < div className = "text-light opacity-75" >
85+ < div className = "mb-2" >
86+ < i className = "bi bi-envelope me-2" > </ i >
87+ { storeContact ?. email || "info@markketexpress.com" }
88+ </ div >
89+ < div className = "mb-2" >
90+ < i className = "bi bi-phone me-2" > </ i >
91+ { storeContact ?. phone || "+1 (555) 123-4567" }
92+ </ div >
93+ < div >
94+ < i className = "bi bi-geo-alt me-2" > </ i >
95+ { storeContact ?. address || "Ciudad, País" }
96+ </ div >
97+ </ div >
98+ </ div >
99+ </ div >
100+
101+ < hr className = "my-4 border-light opacity-25" />
102+
103+ { /* Copyright */ }
104+ < div className = "row" >
105+ < div className = "col-12 text-center" >
106+ < p className = "text-light opacity-75 mb-0" >
107+ © { currentYear } { storeName } . Todos los derechos reservados.
108+ < span className = "ms-2" >
109+ Desarrollado con < i className = "bi bi-heart-fill text-danger" > </ i > usando Astro
110+ </ span >
111+ </ p >
112+ </ div >
113+ </ div >
114+ </ div >
115+ </ footer >
116+ ) ;
117+ } ;
118+
119+ export default SimpleFooter ;
0 commit comments