Skip to content

Commit 775bd5a

Browse files
Add landing page at root for Vercel deployment
1 parent a11b5ce commit 775bd5a

2 files changed

Lines changed: 177 additions & 1 deletion

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"scripts": {
77
"start": "vite",
88
"build:functions": "esbuild src/functions/index.ts --bundle --format=iife --target=es2019 --outfile=dist/functions.js --global-name=datasetiqFunctions",
9-
"build:copy": "mkdir -p dist && cp src/functions/functions.html dist/functions.html && cp src/functions/functions.json dist/functions.json && mkdir -p dist/assets && cp assets/*.png dist/assets/ && cp manifest.xml dist/manifest.xml && cp test.html dist/test.html",
9+
"build:copy": "mkdir -p dist && cp public/index.html dist/index.html && cp src/functions/functions.html dist/functions.html && cp src/functions/functions.json dist/functions.json && mkdir -p dist/assets && cp assets/*.png dist/assets/ && cp manifest.xml dist/manifest.xml && cp test.html dist/test.html",
1010
"build:taskpane": "vite build",
1111
"build": "npm run build:functions && npm run build:copy && npm run build:taskpane",
1212
"lint": "eslint \"src/**/*.{ts,tsx}\"",

public/index.html

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
<head>
4+
<meta charset="UTF-8">
5+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
6+
<title>DataSetIQ Excel Add-in</title>
7+
<style>
8+
* {
9+
margin: 0;
10+
padding: 0;
11+
box-sizing: border-box;
12+
}
13+
body {
14+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;
15+
line-height: 1.6;
16+
color: #0f172a;
17+
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
18+
min-height: 100vh;
19+
display: flex;
20+
align-items: center;
21+
justify-content: center;
22+
padding: 20px;
23+
}
24+
.container {
25+
max-width: 800px;
26+
background: white;
27+
padding: 60px 40px;
28+
border-radius: 20px;
29+
box-shadow: 0 20px 60px rgba(0,0,0,0.3);
30+
text-align: center;
31+
}
32+
h1 {
33+
font-size: 48px;
34+
font-weight: 700;
35+
margin-bottom: 20px;
36+
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
37+
-webkit-background-clip: text;
38+
-webkit-text-fill-color: transparent;
39+
background-clip: text;
40+
}
41+
.subtitle {
42+
font-size: 24px;
43+
color: #64748b;
44+
margin-bottom: 40px;
45+
}
46+
.description {
47+
font-size: 18px;
48+
color: #475569;
49+
margin-bottom: 40px;
50+
line-height: 1.8;
51+
}
52+
.features {
53+
display: grid;
54+
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
55+
gap: 20px;
56+
margin: 40px 0;
57+
text-align: left;
58+
}
59+
.feature {
60+
padding: 20px;
61+
background: #f8fafc;
62+
border-radius: 12px;
63+
border: 1px solid #e2e8f0;
64+
}
65+
.feature h3 {
66+
font-size: 18px;
67+
margin-bottom: 8px;
68+
color: #0f172a;
69+
}
70+
.feature p {
71+
font-size: 14px;
72+
color: #64748b;
73+
}
74+
.cta {
75+
margin-top: 40px;
76+
}
77+
.button {
78+
display: inline-block;
79+
padding: 16px 32px;
80+
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
81+
color: white;
82+
text-decoration: none;
83+
border-radius: 12px;
84+
font-weight: 600;
85+
font-size: 18px;
86+
transition: transform 0.2s, box-shadow 0.2s;
87+
margin: 10px;
88+
}
89+
.button:hover {
90+
transform: translateY(-2px);
91+
box-shadow: 0 10px 30px rgba(102, 126, 234, 0.4);
92+
}
93+
.button.secondary {
94+
background: white;
95+
color: #667eea;
96+
border: 2px solid #667eea;
97+
}
98+
.files {
99+
margin-top: 50px;
100+
padding-top: 30px;
101+
border-top: 1px solid #e2e8f0;
102+
}
103+
.files h3 {
104+
font-size: 20px;
105+
margin-bottom: 20px;
106+
color: #0f172a;
107+
}
108+
.file-list {
109+
display: flex;
110+
flex-wrap: wrap;
111+
gap: 10px;
112+
justify-content: center;
113+
}
114+
.file-link {
115+
padding: 10px 20px;
116+
background: #f1f5f9;
117+
color: #475569;
118+
text-decoration: none;
119+
border-radius: 8px;
120+
font-size: 14px;
121+
font-family: 'Courier New', monospace;
122+
transition: background 0.2s;
123+
}
124+
.file-link:hover {
125+
background: #e2e8f0;
126+
}
127+
</style>
128+
</head>
129+
<body>
130+
<div class="container">
131+
<h1>📊 DataSetIQ</h1>
132+
<div class="subtitle">Excel Add-in for Economic Data</div>
133+
134+
<p class="description">
135+
Access 15+ economic data sources directly in Excel. Insert time-series data with custom functions,
136+
search thousands of datasets, and build dynamic spreadsheets connected to real-time economic indicators.
137+
</p>
138+
139+
<div class="features">
140+
<div class="feature">
141+
<h3>🔍 Smart Search</h3>
142+
<p>Browse and search across FRED, BLS, IMF, World Bank, and 12 other sources</p>
143+
</div>
144+
<div class="feature">
145+
<h3>⚡ Custom Functions</h3>
146+
<p>Use DSIQ() formulas to pull data directly into cells with automatic updates</p>
147+
</div>
148+
<div class="feature">
149+
<h3>🔧 Formula Builder</h3>
150+
<p>Wizard interface to construct formulas with frequency, date ranges, and transformations</p>
151+
</div>
152+
<div class="feature">
153+
<h3>📁 Templates</h3>
154+
<p>Save and reuse formula collections across workbooks</p>
155+
</div>
156+
</div>
157+
158+
<div class="cta">
159+
<a href="https://datasetiq.com/docs/excel" class="button">View Documentation</a>
160+
<a href="manifest.xml" class="button secondary">Download Manifest</a>
161+
</div>
162+
163+
<div class="files">
164+
<h3>Add-in Resources</h3>
165+
<div class="file-list">
166+
<a href="/manifest.xml" class="file-link">manifest.xml</a>
167+
<a href="/functions.html" class="file-link">functions.html</a>
168+
<a href="/functions.js" class="file-link">functions.js</a>
169+
<a href="/functions.json" class="file-link">functions.json</a>
170+
<a href="/taskpane/index.html" class="file-link">taskpane/index.html</a>
171+
<a href="/test.html" class="file-link">test.html</a>
172+
</div>
173+
</div>
174+
</div>
175+
</body>
176+
</html>

0 commit comments

Comments
 (0)