@@ -10,19 +10,156 @@ const montserrat = Montserrat({
1010 display : "swap" ,
1111} ) ;
1212
13+ const siteUrl = process . env . NEXT_PUBLIC_SITE_URL || "https://eloomen.com" ;
14+ const siteName = "Eloomen" ;
15+ const siteDescription =
16+ "Secure your digital life. Share it on your terms. Eloomen is a secure, relationship-based digital vault platform for storing and sharing sensitive data with time-based and conditional access policies. Perfect for families, partners, and professionals." ;
17+
1318export const metadata : Metadata = {
14- title : "Eloomen - Control your digital life" ,
15- description :
16- "A secure, relationship-based digital vault platform for storing and sharing sensitive data with time-based and conditional access policies." ,
19+ metadataBase : new URL ( siteUrl ) ,
20+ title : {
21+ default :
22+ "Eloomen - Secure Digital Vault Platform | Control Your Digital Life" ,
23+ template : "%s | Eloomen" ,
24+ } ,
25+ description : siteDescription ,
26+ keywords : [
27+ "digital vault" ,
28+ "secure storage" ,
29+ "password manager" ,
30+ "document storage" ,
31+ "estate planning" ,
32+ "secure sharing" ,
33+ "encrypted vault" ,
34+ "time-based access" ,
35+ "conditional access" ,
36+ "family vault" ,
37+ "secure notes" ,
38+ "crypto wallet storage" ,
39+ "digital legacy" ,
40+ "secure data sharing" ,
41+ "relationship-based vault" ,
42+ ] ,
43+ authors : [ { name : "Eloomen Team" } ] ,
44+ creator : "Eloomen" ,
45+ publisher : "Eloomen" ,
46+ formatDetection : {
47+ email : false ,
48+ address : false ,
49+ telephone : false ,
50+ } ,
51+ openGraph : {
52+ type : "website" ,
53+ locale : "en_US" ,
54+ url : siteUrl ,
55+ siteName : siteName ,
56+ title : "Eloomen - Secure Digital Vault Platform" ,
57+ description : siteDescription ,
58+ images : [
59+ {
60+ url : "/privacy.png" ,
61+ width : 512 ,
62+ height : 512 ,
63+ alt : "Eloomen Logo" ,
64+ type : "image/png" ,
65+ } ,
66+ ] ,
67+ } ,
68+ twitter : {
69+ card : "summary_large_image" ,
70+ title : "Eloomen - Secure Digital Vault Platform" ,
71+ description : siteDescription ,
72+ images : [ "/privacy.png" ] ,
73+ creator : "@eloomen" ,
74+ } ,
75+ robots : {
76+ index : true ,
77+ follow : true ,
78+ googleBot : {
79+ index : true ,
80+ follow : true ,
81+ "max-video-preview" : - 1 ,
82+ "max-image-preview" : "large" ,
83+ "max-snippet" : - 1 ,
84+ } ,
85+ } ,
86+ icons : {
87+ icon : [
88+ { url : "/icon.png" , sizes : "any" } ,
89+ { url : "/privacy.png" , sizes : "512x512" , type : "image/png" } ,
90+ { url : "/icon-16x16.png" , sizes : "16x16" , type : "image/png" } ,
91+ { url : "/icon-32x32.png" , sizes : "32x32" , type : "image/png" } ,
92+ { url : "/icon-192x192.png" , sizes : "192x192" , type : "image/png" } ,
93+ { url : "/icon-512x512.png" , sizes : "512x512" , type : "image/png" } ,
94+ ] ,
95+ apple : [
96+ { url : "/apple-touch-icon.png" , sizes : "180x180" , type : "image/png" } ,
97+ ] ,
98+ shortcut : [ { url : "/privacy.png" , type : "image/png" } ] ,
99+ } ,
100+ manifest : "/site.webmanifest" ,
101+ alternates : {
102+ canonical : siteUrl ,
103+ } ,
104+ category : "technology" ,
105+ classification : "Digital Vault Platform" ,
17106} ;
18107
19108export default function RootLayout ( {
20109 children,
21110} : Readonly < {
22111 children : React . ReactNode ;
23112} > ) {
113+ const jsonLd = {
114+ "@context" : "https://schema.org" ,
115+ "@type" : "SoftwareApplication" ,
116+ name : "Eloomen" ,
117+ applicationCategory : "SecurityApplication" ,
118+ operatingSystem : "Web" ,
119+ offers : {
120+ "@type" : "Offer" ,
121+ price : "0" ,
122+ priceCurrency : "USD" ,
123+ } ,
124+ description : siteDescription ,
125+ url : siteUrl ,
126+ logo : `${ siteUrl } /privacy.png` ,
127+ image : `${ siteUrl } /privacy.png` ,
128+ author : {
129+ "@type" : "Organization" ,
130+ name : "Eloomen" ,
131+ } ,
132+ featureList : [
133+ "Secure Digital Vault" ,
134+ "Time-Based Access Policies" ,
135+ "Encrypted Storage" ,
136+ "Document Management" ,
137+ "Password Management" ,
138+ "Crypto Wallet Storage" ,
139+ "Secure Notes" ,
140+ "Relationship-Based Sharing" ,
141+ "Audit Logging" ,
142+ "Device Verification" ,
143+ ] ,
144+ aggregateRating : {
145+ "@type" : "AggregateRating" ,
146+ ratingValue : "5" ,
147+ ratingCount : "1" ,
148+ } ,
149+ } ;
150+
24151 return (
25- < html lang = "en" className = "dark bg-gradient-to-br from-slate-950 via-slate-900 to-indigo-950/50" suppressHydrationWarning >
152+ < html
153+ lang = "en"
154+ className = "dark bg-gradient-to-br from-slate-950 via-slate-900 to-indigo-950/50"
155+ suppressHydrationWarning
156+ >
157+ < head >
158+ < script
159+ type = "application/ld+json"
160+ dangerouslySetInnerHTML = { { __html : JSON . stringify ( jsonLd ) } }
161+ />
162+ </ head >
26163 < body
27164 className = { `${ montserrat . variable } font-sans antialiased bg-gradient-to-br from-slate-950 via-slate-900 to-indigo-950/50` }
28165 suppressHydrationWarning
0 commit comments