@@ -8,15 +8,15 @@ export const metadata: Metadata = {
88
99function Code ( { children } : { children : React . ReactNode } ) {
1010 return (
11- < pre className = "bg-slate-950 text-slate -100 rounded-lg px-4 py-3.5 text-sm font-mono leading-relaxed overflow-x-auto" >
11+ < pre className = "bg-gray-900 text-gray -100 rounded-lg px-4 py-3.5 text-sm font-mono leading-relaxed overflow-x-auto" >
1212 < code > { children } </ code >
1313 </ pre >
1414 ) ;
1515}
1616
1717function IC ( { children } : { children : React . ReactNode } ) {
1818 return (
19- < code className = "bg-slate -100 text-orange-600 text-[13px] font-mono px-1.5 py-0.5 rounded" >
19+ < code className = "bg-gray -100 text-orange-600 text-[13px] font-mono px-1.5 py-0.5 rounded" >
2020 { children }
2121 </ code >
2222 ) ;
@@ -28,7 +28,7 @@ function Method({ verb }: { verb: string }) {
2828 POST : 'bg-green-50 text-green-700 border-green-200' ,
2929 } ;
3030 return (
31- < span className = { `inline-block border text-xs font-bold px-2 py-0.5 rounded font-mono ${ colors [ verb ] ?? 'bg-slate -100 text-slate -700 border-slate -200' } ` } >
31+ < span className = { `inline-block border text-xs font-bold px-2 py-0.5 rounded font-mono ${ colors [ verb ] ?? 'bg-gray -100 text-gray -700 border-gray -200' } ` } >
3232 { verb }
3333 </ span >
3434 ) ;
@@ -42,17 +42,17 @@ function Endpoint({ method, path, desc, example, response }: {
4242 response ?: string ;
4343} ) {
4444 return (
45- < div className = "border border-slate -200 rounded-xl overflow-hidden" >
46- < div className = "bg-slate -50 px-4 py-3 flex items-center gap-3 border-b border-slate -200" >
45+ < div className = "border border-gray -200 rounded-xl overflow-hidden" >
46+ < div className = "bg-gray -50 px-4 py-3 flex items-center gap-3 border-b border-gray -200" >
4747 < Method verb = { method } />
4848 < IC > { path } </ IC >
4949 </ div >
5050 < div className = "p-4 flex flex-col gap-3" >
51- < p className = "text-sm text-slate -600" > { desc } </ p >
51+ < p className = "text-sm text-gray -600" > { desc } </ p >
5252 < Code > { example } </ Code >
5353 { response && (
5454 < >
55- < p className = "text-xs font-semibold text-slate -400 uppercase tracking-wider" > Response</ p >
55+ < p className = "text-xs font-semibold text-gray -400 uppercase tracking-wider" > Response</ p >
5656 < Code > { response } </ Code >
5757 </ >
5858 ) }
@@ -118,22 +118,22 @@ export default function DocsPage() {
118118 { /* Sidebar */ }
119119 < aside className = "lg:w-48 shrink-0" >
120120 < div className = "lg:sticky lg:top-20" >
121- < p className = "text-[11px] font-bold text-slate -400 uppercase tracking-widest mb-3 px-2" > Contents</ p >
121+ < p className = "text-[11px] font-bold text-gray -400 uppercase tracking-widest mb-3 px-2" > Contents</ p >
122122 < nav className = "flex flex-col gap-0.5" >
123123 { nav . map ( ( item ) => (
124124 < a
125125 key = { item . href }
126126 href = { item . href }
127- className = { `text-sm px-2 py-1.5 rounded-lg transition-colors hover:bg-orange-50 hover:text-orange-600 text-slate -600 ${
128- item . sub ? 'pl-5 text-[13px] text-slate -500' : 'font-medium'
127+ className = { `text-sm px-2 py-1.5 rounded-lg transition-colors hover:bg-orange-50 hover:text-orange-600 text-gray -600 ${
128+ item . sub ? 'pl-5 text-[13px] text-gray -500' : 'font-medium'
129129 } `}
130130 >
131131 { item . label }
132132 </ a >
133133 ) ) }
134134 </ nav >
135- < div className = "mt-6 pt-4 border-t border-slate -100" >
136- < Link href = "/" className = "text-xs text-slate -400 hover:text-orange-500 transition-colors px-2" >
135+ < div className = "mt-6 pt-4 border-t border-gray -100" >
136+ < Link href = "/" className = "text-xs text-gray -400 hover:text-orange-500 transition-colors px-2" >
137137 ← Back home
138138 </ Link >
139139 </ div >
@@ -145,16 +145,16 @@ export default function DocsPage() {
145145
146146 { /* Header */ }
147147 < div >
148- < h1 className = "text-3xl font-black text-slate -900" > Documentation</ h1 >
149- < p className = "text-slate -500 mt-2 text-base" >
148+ < h1 className = "text-3xl font-black text-gray -900" > Documentation</ h1 >
149+ < p className = "text-gray -500 mt-2 text-base" >
150150 Use c0upons from the web, terminal, or your own apps.
151151 </ p >
152152 </ div >
153153
154154 { /* Overview */ }
155155 < section id = "overview" className = "scroll-mt-20 flex flex-col gap-5" >
156- < h2 className = "text-xl font-bold text-slate -900 pb-2 border-b border-slate -100" > Overview</ h2 >
157- < p className = "text-slate -600 leading-relaxed" >
156+ < h2 className = "text-xl font-bold text-gray -900 pb-2 border-b border-gray -100" > Overview</ h2 >
157+ < p className = "text-gray -600 leading-relaxed" >
158158 < strong > c0upons</ strong > is an open-source, community-powered coupon platform.
159159 Browse and submit deals for free on the web, or use the CLI and API to integrate
160160 savings into your own tools.
@@ -165,57 +165,57 @@ export default function DocsPage() {
165165 { icon : '⌨️' , title : 'CLI' , desc : 'Search deals from your terminal' } ,
166166 { icon : '🔌' , title : 'API' , desc : 'Integrate into your own apps' } ,
167167 ] . map ( ( f ) => (
168- < div key = { f . title } className = "bg-slate -50 border border-slate -200 rounded-xl p-4" >
168+ < div key = { f . title } className = "bg-gray -50 border border-gray -200 rounded-xl p-4" >
169169 < div className = "text-2xl mb-2" > { f . icon } </ div >
170- < div className = "font-semibold text-slate -900 text-sm" > { f . title } </ div >
171- < div className = "text-xs text-slate -500 mt-0.5" > { f . desc } </ div >
170+ < div className = "font-semibold text-gray -900 text-sm" > { f . title } </ div >
171+ < div className = "text-xs text-gray -500 mt-0.5" > { f . desc } </ div >
172172 </ div >
173173 ) ) }
174174 </ div >
175175 </ section >
176176
177177 { /* CLI */ }
178178 < section id = "cli" className = "scroll-mt-20 flex flex-col gap-5" >
179- < h2 className = "text-xl font-bold text-slate -900 pb-2 border-b border-slate -100" > CLI</ h2 >
180- < p className = "text-slate -600 leading-relaxed" >
179+ < h2 className = "text-xl font-bold text-gray -900 pb-2 border-b border-gray -100" > CLI</ h2 >
180+ < p className = "text-gray -600 leading-relaxed" >
181181 The < IC > c0upons</ IC > CLI is a bash script that works on macOS and Linux.
182182 Requires < IC > curl</ IC > and < IC > jq</ IC > .
183183 </ p >
184184 </ section >
185185
186186 < section id = "cli-install" className = "scroll-mt-20 flex flex-col gap-4" >
187- < h3 className = "text-base font-bold text-slate -800" > Installation</ h3 >
187+ < h3 className = "text-base font-bold text-gray -800" > Installation</ h3 >
188188 < Code > { `curl -fsSL https://c0upons.com/install.sh | sh` } </ Code >
189- < p className = "text-sm text-slate -500" >
189+ < p className = "text-sm text-gray -500" >
190190 Installs to < IC > /usr/local/bin/c0upons</ IC > (or < IC > ~/.local/bin</ IC > without sudo).
191191 </ p >
192192
193- < h3 className = "text-base font-bold text-slate -800 mt-2" > Upgrade</ h3 >
193+ < h3 className = "text-base font-bold text-gray -800 mt-2" > Upgrade</ h3 >
194194 < Code > { `c0upons upgrade` } </ Code >
195195
196- < h3 className = "text-base font-bold text-slate -800 mt-2" > Uninstall</ h3 >
196+ < h3 className = "text-base font-bold text-gray -800 mt-2" > Uninstall</ h3 >
197197 < Code > { `c0upons remove` } </ Code >
198198
199- < h3 className = "text-base font-bold text-slate -800 mt-2" > Dependencies</ h3 >
200- < div className = "border border-slate -200 rounded-lg overflow-hidden text-sm" >
199+ < h3 className = "text-base font-bold text-gray -800 mt-2" > Dependencies</ h3 >
200+ < div className = "border border-gray -200 rounded-lg overflow-hidden text-sm" >
201201 < table className = "w-full border-collapse" >
202- < thead className = "bg-slate -50" >
202+ < thead className = "bg-gray -50" >
203203 < tr >
204- < th className = "text-left px-4 py-2.5 text-slate -500 font-medium border-b border-slate -200" > Tool</ th >
205- < th className = "text-left px-4 py-2.5 text-slate -500 font-medium border-b border-slate -200" > Required</ th >
206- < th className = "text-left px-4 py-2.5 text-slate -500 font-medium border-b border-slate -200" > Install</ th >
204+ < th className = "text-left px-4 py-2.5 text-gray -500 font-medium border-b border-gray -200" > Tool</ th >
205+ < th className = "text-left px-4 py-2.5 text-gray -500 font-medium border-b border-gray -200" > Required</ th >
206+ < th className = "text-left px-4 py-2.5 text-gray -500 font-medium border-b border-gray -200" > Install</ th >
207207 </ tr >
208208 </ thead >
209- < tbody className = "divide-y divide-slate -100" >
209+ < tbody className = "divide-y divide-gray -100" >
210210 { [
211211 { tool : 'curl' , req : 'Yes' , install : 'Pre-installed on most systems' } ,
212212 { tool : 'jq' , req : 'Yes' , install : 'brew install jq · apt install jq' } ,
213213 { tool : 'python3' , req : 'Optional' , install : 'Used for URL encoding fallback' } ,
214214 ] . map ( ( row ) => (
215215 < tr key = { row . tool } >
216216 < td className = "px-4 py-2.5" > < IC > { row . tool } </ IC > </ td >
217- < td className = "px-4 py-2.5 text-slate -600" > { row . req } </ td >
218- < td className = "px-4 py-2.5 text-slate -500" > { row . install } </ td >
217+ < td className = "px-4 py-2.5 text-gray -600" > { row . req } </ td >
218+ < td className = "px-4 py-2.5 text-gray -500" > { row . install } </ td >
219219 </ tr >
220220 ) ) }
221221 </ tbody >
@@ -224,31 +224,31 @@ export default function DocsPage() {
224224 </ section >
225225
226226 < section id = "cli-commands" className = "scroll-mt-20 flex flex-col gap-6" >
227- < h3 className = "text-base font-bold text-slate -800" > Commands</ h3 >
227+ < h3 className = "text-base font-bold text-gray -800" > Commands</ h3 >
228228 { CLI_COMMANDS . map ( ( item ) => (
229229 < div key = { item . cmd } className = "flex flex-col gap-2" >
230230 < IC > { item . cmd } </ IC >
231- < p className = "text-sm text-slate -600" > { item . desc } </ p >
231+ < p className = "text-sm text-gray -600" > { item . desc } </ p >
232232 < Code > { item . example } </ Code >
233233 </ div >
234234 ) ) }
235235
236236 < div className = "mt-2" >
237- < h3 className = "text-base font-bold text-slate -800 mb-3" > Environment</ h3 >
238- < div className = "border border-slate -200 rounded-lg overflow-hidden text-sm" >
237+ < h3 className = "text-base font-bold text-gray -800 mb-3" > Environment</ h3 >
238+ < div className = "border border-gray -200 rounded-lg overflow-hidden text-sm" >
239239 < table className = "w-full border-collapse" >
240- < thead className = "bg-slate -50" >
240+ < thead className = "bg-gray -50" >
241241 < tr >
242- < th className = "text-left px-4 py-2.5 text-slate -500 font-medium border-b border-slate -200" > Variable</ th >
243- < th className = "text-left px-4 py-2.5 text-slate -500 font-medium border-b border-slate -200" > Default</ th >
244- < th className = "text-left px-4 py-2.5 text-slate -500 font-medium border-b border-slate -200" > Description</ th >
242+ < th className = "text-left px-4 py-2.5 text-gray -500 font-medium border-b border-gray -200" > Variable</ th >
243+ < th className = "text-left px-4 py-2.5 text-gray -500 font-medium border-b border-gray -200" > Default</ th >
244+ < th className = "text-left px-4 py-2.5 text-gray -500 font-medium border-b border-gray -200" > Description</ th >
245245 </ tr >
246246 </ thead >
247247 < tbody >
248248 < tr >
249249 < td className = "px-4 py-2.5" > < IC > C0UPONS_API</ IC > </ td >
250- < td className = "px-4 py-2.5 text-slate -500 font-mono text-xs" > https://c0upons.com/api</ td >
251- < td className = "px-4 py-2.5 text-slate -500" > Override the API base URL</ td >
250+ < td className = "px-4 py-2.5 text-gray -500 font-mono text-xs" > https://c0upons.com/api</ td >
251+ < td className = "px-4 py-2.5 text-gray -500" > Override the API base URL</ td >
252252 </ tr >
253253 </ tbody >
254254 </ table >
@@ -258,15 +258,15 @@ export default function DocsPage() {
258258
259259 { /* API */ }
260260 < section id = "api" className = "scroll-mt-20 flex flex-col gap-5" >
261- < h2 className = "text-xl font-bold text-slate -900 pb-2 border-b border-slate -100" > REST API</ h2 >
262- < p className = "text-slate -600 leading-relaxed" >
261+ < h2 className = "text-xl font-bold text-gray -900 pb-2 border-b border-gray -100" > REST API</ h2 >
262+ < p className = "text-gray -600 leading-relaxed" >
263263 No authentication required for read operations. Base URL:{ ' ' }
264264 < IC > https://c0upons.com/api</ IC >
265265 </ p >
266266 </ section >
267267
268268 < section id = "api-coupons" className = "scroll-mt-20 flex flex-col gap-4" >
269- < h3 className = "text-base font-bold text-slate -800" > Coupons</ h3 >
269+ < h3 className = "text-base font-bold text-gray -800" > Coupons</ h3 >
270270 < Endpoint
271271 method = "GET"
272272 path = "/api/coupons"
@@ -304,7 +304,7 @@ export default function DocsPage() {
304304 </ section >
305305
306306 < section id = "api-stores" className = "scroll-mt-20 flex flex-col gap-4" >
307- < h3 className = "text-base font-bold text-slate -800" > Stores</ h3 >
307+ < h3 className = "text-base font-bold text-gray -800" > Stores</ h3 >
308308 < Endpoint
309309 method = "GET"
310310 path = "/api/stores"
@@ -320,7 +320,7 @@ export default function DocsPage() {
320320 </ section >
321321
322322 < section id = "api-search" className = "scroll-mt-20 flex flex-col gap-4" >
323- < h3 className = "text-base font-bold text-slate -800" > Search</ h3 >
323+ < h3 className = "text-base font-bold text-gray -800" > Search</ h3 >
324324 < Endpoint
325325 method = "GET"
326326 path = "/api/search?q=query"
@@ -331,8 +331,8 @@ export default function DocsPage() {
331331
332332 { /* Contributing */ }
333333 < section id = "contributing" className = "scroll-mt-20 flex flex-col gap-5" >
334- < h2 className = "text-xl font-bold text-slate -900 pb-2 border-b border-slate -100" > Contributing</ h2 >
335- < p className = "text-slate -600 leading-relaxed" >
334+ < h2 className = "text-xl font-bold text-gray -900 pb-2 border-b border-gray -100" > Contributing</ h2 >
335+ < p className = "text-gray -600 leading-relaxed" >
336336 c0upons is open source. Contributions are welcome — submit coupons via the web, report
337337 bugs, or open a pull request.
338338 </ p >
@@ -347,12 +347,12 @@ export default function DocsPage() {
347347 href = "https://github.com/profullstack/c0upons"
348348 target = "_blank"
349349 rel = "noopener noreferrer"
350- className = "flex-1 border border-slate -200 hover:border-slate -300 text-slate -700 text-sm font-semibold px-4 py-3 rounded-lg text-center transition-colors"
350+ className = "flex-1 border border-gray -200 hover:border-gray -300 text-gray -700 text-sm font-semibold px-4 py-3 rounded-lg text-center transition-colors"
351351 >
352352 View on GitHub ↗
353353 </ a >
354354 </ div >
355- < h3 className = "text-base font-bold text-slate -800 mt-2" > Submit via API</ h3 >
355+ < h3 className = "text-base font-bold text-gray -800 mt-2" > Submit via API</ h3 >
356356 < Code > { `curl -X POST https://c0upons.com/api/coupons \\
357357 -H "Content-Type: application/json" \\
358358 -d '{"store_id": 1, "title": "15% off everything", "code": "GET15"}'` } </ Code >
0 commit comments