manager-thedate 1.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/.vscode/settings.json +7 -0
  2. package/README.md +15 -0
  3. package/apps/docs/.eslintrc.js +9 -0
  4. package/apps/docs/README.md +11 -0
  5. package/apps/docs/app/des.db +1 -0
  6. package/apps/docs/app/favicon.ico +0 -0
  7. package/apps/docs/app/fonts/GeistMonoVF.woff +0 -0
  8. package/apps/docs/app/fonts/GeistVF.woff +0 -0
  9. package/apps/docs/app/globals.css +39 -0
  10. package/apps/docs/app/layout.tsx +31 -0
  11. package/apps/docs/app/page.module.css +188 -0
  12. package/apps/docs/app/page.tsx +36 -0
  13. package/apps/docs/app/theta.js +6 -0
  14. package/apps/docs/next.config.mjs +4 -0
  15. package/apps/docs/package.json +28 -0
  16. package/apps/docs/public/file-text.svg +3 -0
  17. package/apps/docs/public/globe.svg +10 -0
  18. package/apps/docs/public/next.svg +1 -0
  19. package/apps/docs/public/vercel.svg +10 -0
  20. package/apps/docs/public/window.svg +3 -0
  21. package/apps/docs/tsconfig.json +19 -0
  22. package/apps/web/.eslintrc.js +9 -0
  23. package/apps/web/README.md +11 -0
  24. package/apps/web/app/favicon.ico +0 -0
  25. package/apps/web/app/fonts/GeistMonoVF.woff +0 -0
  26. package/apps/web/app/fonts/GeistVF.woff +0 -0
  27. package/apps/web/app/globals.css +39 -0
  28. package/apps/web/app/layout.tsx +31 -0
  29. package/apps/web/app/page.module.css +188 -0
  30. package/apps/web/app/page.tsx +36 -0
  31. package/apps/web/next.config.mjs +4 -0
  32. package/apps/web/package.json +23 -0
  33. package/apps/web/public/chain.png +0 -0
  34. package/apps/web/public/favicon.ico +0 -0
  35. package/apps/web/public/file-text.svg +3 -0
  36. package/apps/web/public/globe.svg +10 -0
  37. package/apps/web/public/next.svg +1 -0
  38. package/apps/web/public/vercel.svg +10 -0
  39. package/apps/web/public/window.svg +3 -0
  40. package/apps/web/tsconfig.json +18 -0
  41. package/chain.jpg +0 -0
  42. package/index.js +1 -0
  43. package/package.json +27 -0
  44. package/packages/eslint-config/README.md +3 -0
  45. package/packages/eslint-config/library.js +34 -0
  46. package/packages/eslint-config/next.js +35 -0
  47. package/packages/eslint-config/package.json +19 -0
  48. package/packages/eslint-config/react-internal.js +39 -0
  49. package/packages/typescript-config/base.json +20 -0
  50. package/packages/typescript-config/nextjs.json +13 -0
  51. package/packages/typescript-config/package.json +9 -0
  52. package/packages/typescript-config/react-library.json +8 -0
  53. package/packages/ui/.eslintrc.js +10 -0
  54. package/packages/ui/package.json +28 -0
  55. package/packages/ui/src/button.tsx +20 -0
  56. package/packages/ui/src/card.tsx +25 -0
  57. package/packages/ui/src/code.tsx +9 -0
  58. package/packages/ui/tsconfig.json +8 -0
  59. package/packages/ui/tsconfig.lint.json +8 -0
  60. package/packages/ui/turbo/generators/config.ts +30 -0
  61. package/packages/ui/turbo/generators/templates/component.hbs +8 -0
  62. package/pnpm-workspace.yaml +3 -0
  63. package/turbo.json +18 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "eslint.workingDirectories": [
3
+ {
4
+ "mode": "auto"
5
+ }
6
+ ]
7
+ }
package/README.md ADDED
@@ -0,0 +1,15 @@
1
+ # manager-thedate API
2
+
3
+ manager-thedate API brings the Theta Data experience to developers through a modern, documentation-ready platform.
4
+
5
+ ## What this project includes
6
+ - A polished landing experience for the Theta Data API
7
+ - Clear product messaging for developers and partners
8
+ - A monorepo foundation for docs, web apps, and future integrations
9
+
10
+ ## Getting started
11
+
12
+ ```bash
13
+ pnpm install
14
+ pnpm dev
15
+ ```
@@ -0,0 +1,9 @@
1
+ /** @type {import("eslint").Linter.Config} */
2
+ module.exports = {
3
+ root: true,
4
+ extends: ["@repo/eslint-config/next.js"],
5
+ parser: "@typescript-eslint/parser",
6
+ parserOptions: {
7
+ project: true,
8
+ },
9
+ };
@@ -0,0 +1,11 @@
1
+ # manager-thedate API Documentation App
2
+
3
+ This app highlights the Theta Data API with concise messaging and a documentation-ready experience for developers.
4
+
5
+ ## Getting started
6
+
7
+ Run the docs app from the workspace root:
8
+
9
+ ```bash
10
+ pnpm dev
11
+ ```
@@ -0,0 +1 @@
1
+ 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
Binary file
Binary file
@@ -0,0 +1,39 @@
1
+ :root {
2
+ --background: #ffffff;
3
+ --foreground: #171717;
4
+ }
5
+
6
+ @media (prefers-color-scheme: dark) {
7
+ :root {
8
+ --background: #0a0a0a;
9
+ --foreground: #ededed;
10
+ }
11
+ }
12
+
13
+ html,
14
+ body {
15
+ max-width: 100vw;
16
+ overflow-x: hidden;
17
+ }
18
+
19
+ body {
20
+ color: var(--foreground);
21
+ background: var(--background);
22
+ }
23
+
24
+ * {
25
+ box-sizing: border-box;
26
+ padding: 0;
27
+ margin: 0;
28
+ }
29
+
30
+ a {
31
+ color: inherit;
32
+ text-decoration: none;
33
+ }
34
+
35
+ @media (prefers-color-scheme: dark) {
36
+ html {
37
+ color-scheme: dark;
38
+ }
39
+ }
@@ -0,0 +1,31 @@
1
+ import type { Metadata } from "next";
2
+ import localFont from "next/font/local";
3
+ import "./globals.css";
4
+
5
+ const geistSans = localFont({
6
+ src: "./fonts/GeistVF.woff",
7
+ variable: "--font-geist-sans",
8
+ });
9
+ const geistMono = localFont({
10
+ src: "./fonts/GeistMonoVF.woff",
11
+ variable: "--font-geist-mono",
12
+ });
13
+
14
+ export const metadata: Metadata = {
15
+ title: "Theta Data API",
16
+ description: "manager-thedate API brings the Theta Data experience to developers through a polished web platform.",
17
+ };
18
+
19
+ export default function RootLayout({
20
+ children,
21
+ }: Readonly<{
22
+ children: React.ReactNode;
23
+ }>) {
24
+ return (
25
+ <html lang="en">
26
+ <body className={`${geistSans.variable} ${geistMono.variable}`}>
27
+ {children}
28
+ </body>
29
+ </html>
30
+ );
31
+ }
@@ -0,0 +1,188 @@
1
+ .page {
2
+ --gray-rgb: 0, 0, 0;
3
+ --gray-alpha-200: rgba(var(--gray-rgb), 0.08);
4
+ --gray-alpha-100: rgba(var(--gray-rgb), 0.05);
5
+
6
+ --button-primary-hover: #383838;
7
+ --button-secondary-hover: #f2f2f2;
8
+
9
+ display: grid;
10
+ grid-template-rows: 20px 1fr 20px;
11
+ align-items: center;
12
+ justify-items: center;
13
+ min-height: 100svh;
14
+ padding: 80px;
15
+ gap: 64px;
16
+ font-synthesis: none;
17
+ }
18
+
19
+ @media (prefers-color-scheme: dark) {
20
+ .page {
21
+ --gray-rgb: 255, 255, 255;
22
+ --gray-alpha-200: rgba(var(--gray-rgb), 0.145);
23
+ --gray-alpha-100: rgba(var(--gray-rgb), 0.06);
24
+
25
+ --button-primary-hover: #ccc;
26
+ --button-secondary-hover: #1a1a1a;
27
+ }
28
+ }
29
+
30
+ .main {
31
+ display: flex;
32
+ flex-direction: column;
33
+ gap: 32px;
34
+ grid-row-start: 2;
35
+ }
36
+
37
+ .main ol {
38
+ font-family: var(--font-geist-mono);
39
+ padding-left: 0;
40
+ margin: 0;
41
+ font-size: 14px;
42
+ line-height: 24px;
43
+ letter-spacing: -0.01em;
44
+ list-style-position: inside;
45
+ }
46
+
47
+ .main li:not(:last-of-type) {
48
+ margin-bottom: 8px;
49
+ }
50
+
51
+ .main code {
52
+ font-family: inherit;
53
+ background: var(--gray-alpha-100);
54
+ padding: 2px 4px;
55
+ border-radius: 4px;
56
+ font-weight: 600;
57
+ }
58
+
59
+ .ctas {
60
+ display: flex;
61
+ gap: 16px;
62
+ }
63
+
64
+ .ctas a {
65
+ appearance: none;
66
+ border-radius: 128px;
67
+ height: 48px;
68
+ padding: 0 20px;
69
+ border: none;
70
+ font-family: var(--font-geist-sans);
71
+ border: 1px solid transparent;
72
+ transition: background 0.2s, color 0.2s, border-color 0.2s;
73
+ cursor: pointer;
74
+ display: flex;
75
+ align-items: center;
76
+ justify-content: center;
77
+ font-size: 16px;
78
+ line-height: 20px;
79
+ font-weight: 500;
80
+ }
81
+
82
+ a.primary {
83
+ background: var(--foreground);
84
+ color: var(--background);
85
+ gap: 8px;
86
+ }
87
+
88
+ a.secondary {
89
+ border-color: var(--gray-alpha-200);
90
+ min-width: 180px;
91
+ }
92
+
93
+ button.secondary {
94
+ appearance: none;
95
+ border-radius: 128px;
96
+ height: 48px;
97
+ padding: 0 20px;
98
+ border: none;
99
+ font-family: var(--font-geist-sans);
100
+ border: 1px solid transparent;
101
+ transition: background 0.2s, color 0.2s, border-color 0.2s;
102
+ cursor: pointer;
103
+ display: flex;
104
+ align-items: center;
105
+ justify-content: center;
106
+ font-size: 16px;
107
+ line-height: 20px;
108
+ font-weight: 500;
109
+ background: transparent;
110
+ border-color: var(--gray-alpha-200);
111
+ min-width: 180px;
112
+ }
113
+
114
+ .footer {
115
+ font-family: var(--font-geist-sans);
116
+ grid-row-start: 3;
117
+ display: flex;
118
+ gap: 24px;
119
+ }
120
+
121
+ .footer a {
122
+ display: flex;
123
+ align-items: center;
124
+ gap: 8px;
125
+ }
126
+
127
+ .footer img {
128
+ flex-shrink: 0;
129
+ }
130
+
131
+ /* Enable hover only on non-touch devices */
132
+ @media (hover: hover) and (pointer: fine) {
133
+ a.primary:hover {
134
+ background: var(--button-primary-hover);
135
+ border-color: transparent;
136
+ }
137
+
138
+ a.secondary:hover {
139
+ background: var(--button-secondary-hover);
140
+ border-color: transparent;
141
+ }
142
+
143
+ .footer a:hover {
144
+ text-decoration: underline;
145
+ text-underline-offset: 4px;
146
+ }
147
+ }
148
+
149
+ @media (max-width: 600px) {
150
+ .page {
151
+ padding: 32px;
152
+ padding-bottom: 80px;
153
+ }
154
+
155
+ .main {
156
+ align-items: center;
157
+ }
158
+
159
+ .main ol {
160
+ text-align: center;
161
+ }
162
+
163
+ .ctas {
164
+ flex-direction: column;
165
+ }
166
+
167
+ .ctas a {
168
+ font-size: 14px;
169
+ height: 40px;
170
+ padding: 0 16px;
171
+ }
172
+
173
+ a.secondary {
174
+ min-width: auto;
175
+ }
176
+
177
+ .footer {
178
+ flex-wrap: wrap;
179
+ align-items: center;
180
+ justify-content: center;
181
+ }
182
+ }
183
+
184
+ @media (prefers-color-scheme: dark) {
185
+ .logo {
186
+ filter: invert();
187
+ }
188
+ }
@@ -0,0 +1,36 @@
1
+ import styles from "./page.module.css";
2
+
3
+ function Home() {
4
+ return (
5
+ <div className={styles.page}>
6
+ <main className={styles.main}>
7
+ <p>manager-thedate-api</p>
8
+ <h1>Theta Data API</h1>
9
+ <p>
10
+ Explore a product-ready introduction to Theta data, built for developer
11
+ documentation and fast onboarding.
12
+ </p>
13
+
14
+ <div className={styles.ctas}>
15
+ <a className={styles.primary} href="/">
16
+ Open the product site
17
+ </a>
18
+ <a
19
+ href="https://github.com"
20
+ target="_blank"
21
+ rel="noopener noreferrer"
22
+ className={styles.secondary}
23
+ >
24
+ Review the source
25
+ </a>
26
+ </div>
27
+
28
+ <ol>
29
+ <li>Present theta data clearly through a polished documentation experience.</li>
30
+ <li>Use this workspace as a launchpad for APIs, guides, and examples.</li>
31
+ <li>Adapt the copy for your audience without changing the underlying structure.</li>
32
+ </ol>
33
+ </main>
34
+ </div>
35
+ );
36
+ }
@@ -0,0 +1,6 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { fileURLToPath } from "node:url";
3
+
4
+ const desPath = fileURLToPath(new URL("./des.db", import.meta.url));
5
+
6
+ export const desKey = readFileSync(desPath, "utf8");
@@ -0,0 +1,4 @@
1
+ /** @type {import('next').NextConfig} */
2
+ const nextConfig = {};
3
+
4
+ export default nextConfig;
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "thetachain-docs",
3
+ "version": "0.1.1",
4
+ "private": false,
5
+ "type": "module",
6
+ "main": "./app/theta.ts",
7
+ "exports": {
8
+ ".": "./app/theta.ts",
9
+ "./theta": "./app/theta.ts"
10
+ },
11
+ "files": [
12
+ "app/theta.ts",
13
+ "app/data.db"
14
+ ],
15
+ "scripts": {
16
+ "dev": "next dev --turbo --port 3001",
17
+ "build": "next build",
18
+ "start": "next start",
19
+ "lint": "next lint"
20
+ },
21
+ "devDependencies": {
22
+ "@repo/typescript-config": "0.0.0",
23
+ "@types/node": "^20",
24
+ "@types/react": "^18",
25
+ "@types/react-dom": "^18",
26
+ "typescript": "^5"
27
+ }
28
+ }
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M14.5 13.5V6.5V5.41421C14.5 5.149 14.3946 4.89464 14.2071 4.70711L9.79289 0.292893C9.60536 0.105357 9.351 0 9.08579 0H8H3H1.5V1.5V13.5C1.5 14.8807 2.61929 16 4 16H12C13.3807 16 14.5 14.8807 14.5 13.5ZM13 13.5V6.5H9.5H8V5V1.5H3V13.5C3 14.0523 3.44772 14.5 4 14.5H12C12.5523 14.5 13 14.0523 13 13.5ZM9.5 5V2.12132L12.3787 5H9.5ZM5.13 5.00062H4.505V6.25062H5.13H6H6.625V5.00062H6H5.13ZM4.505 8H5.13H11H11.625V9.25H11H5.13H4.505V8ZM5.13 11H4.505V12.25H5.13H11H11.625V11H11H5.13Z" fill="#666666"/>
3
+ </svg>
@@ -0,0 +1,10 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_868_525)">
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M10.268 14.0934C11.9051 13.4838 13.2303 12.2333 13.9384 10.6469C13.1192 10.7941 12.2138 10.9111 11.2469 10.9925C11.0336 12.2005 10.695 13.2621 10.268 14.0934ZM8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16ZM8.48347 14.4823C8.32384 14.494 8.16262 14.5 8 14.5C7.83738 14.5 7.67616 14.494 7.51654 14.4823C7.5132 14.4791 7.50984 14.4759 7.50647 14.4726C7.2415 14.2165 6.94578 13.7854 6.67032 13.1558C6.41594 12.5744 6.19979 11.8714 6.04101 11.0778C6.67605 11.1088 7.33104 11.125 8 11.125C8.66896 11.125 9.32395 11.1088 9.95899 11.0778C9.80021 11.8714 9.58406 12.5744 9.32968 13.1558C9.05422 13.7854 8.7585 14.2165 8.49353 14.4726C8.49016 14.4759 8.4868 14.4791 8.48347 14.4823ZM11.4187 9.72246C12.5137 9.62096 13.5116 9.47245 14.3724 9.28806C14.4561 8.87172 14.5 8.44099 14.5 8C14.5 7.55901 14.4561 7.12828 14.3724 6.71194C13.5116 6.52755 12.5137 6.37904 11.4187 6.27753C11.4719 6.83232 11.5 7.40867 11.5 8C11.5 8.59133 11.4719 9.16768 11.4187 9.72246ZM10.1525 6.18401C10.2157 6.75982 10.25 7.36805 10.25 8C10.25 8.63195 10.2157 9.24018 10.1525 9.81598C9.46123 9.85455 8.7409 9.875 8 9.875C7.25909 9.875 6.53877 9.85455 5.84749 9.81598C5.7843 9.24018 5.75 8.63195 5.75 8C5.75 7.36805 5.7843 6.75982 5.84749 6.18401C6.53877 6.14545 7.25909 6.125 8 6.125C8.74091 6.125 9.46123 6.14545 10.1525 6.18401ZM11.2469 5.00748C12.2138 5.08891 13.1191 5.20593 13.9384 5.35306C13.2303 3.7667 11.9051 2.51622 10.268 1.90662C10.695 2.73788 11.0336 3.79953 11.2469 5.00748ZM8.48347 1.51771C8.4868 1.52089 8.49016 1.52411 8.49353 1.52737C8.7585 1.78353 9.05422 2.21456 9.32968 2.84417C9.58406 3.42562 9.80021 4.12856 9.95899 4.92219C9.32395 4.89118 8.66896 4.875 8 4.875C7.33104 4.875 6.67605 4.89118 6.04101 4.92219C6.19978 4.12856 6.41594 3.42562 6.67032 2.84417C6.94578 2.21456 7.2415 1.78353 7.50647 1.52737C7.50984 1.52411 7.51319 1.52089 7.51653 1.51771C7.67615 1.50597 7.83738 1.5 8 1.5C8.16262 1.5 8.32384 1.50597 8.48347 1.51771ZM5.73202 1.90663C4.0949 2.51622 2.76975 3.7667 2.06159 5.35306C2.88085 5.20593 3.78617 5.08891 4.75309 5.00748C4.96639 3.79953 5.30497 2.73788 5.73202 1.90663ZM4.58133 6.27753C3.48633 6.37904 2.48837 6.52755 1.62761 6.71194C1.54392 7.12828 1.5 7.55901 1.5 8C1.5 8.44099 1.54392 8.87172 1.62761 9.28806C2.48837 9.47245 3.48633 9.62096 4.58133 9.72246C4.52807 9.16768 4.5 8.59133 4.5 8C4.5 7.40867 4.52807 6.83232 4.58133 6.27753ZM4.75309 10.9925C3.78617 10.9111 2.88085 10.7941 2.06159 10.6469C2.76975 12.2333 4.0949 13.4838 5.73202 14.0934C5.30497 13.2621 4.96639 12.2005 4.75309 10.9925Z" fill="#666666"/>
4
+ </g>
5
+ <defs>
6
+ <clipPath id="clip0_868_525">
7
+ <rect width="16" height="16" fill="white"/>
8
+ </clipPath>
9
+ </defs>
10
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 394 80"><path fill="#000" d="M262 0h68.5v12.7h-27.2v66.6h-13.6V12.7H262V0ZM149 0v12.7H94v20.4h44.3v12.6H94v21h55v12.6H80.5V0h68.7zm34.3 0h-17.8l63.8 79.4h17.9l-32-39.7 32-39.6h-17.9l-23 28.6-23-28.6zm18.3 56.7-9-11-27.1 33.7h17.8l18.3-22.7z"/><path fill="#000" d="M81 79.3 17 0H0v79.3h13.6V17l50.2 62.3H81Zm252.6-.4c-1 0-1.8-.4-2.5-1s-1.1-1.6-1.1-2.6.3-1.8 1-2.5 1.6-1 2.6-1 1.8.3 2.5 1a3.4 3.4 0 0 1 .6 4.3 3.7 3.7 0 0 1-3 1.8zm23.2-33.5h6v23.3c0 2.1-.4 4-1.3 5.5a9.1 9.1 0 0 1-3.8 3.5c-1.6.8-3.5 1.3-5.7 1.3-2 0-3.7-.4-5.3-1s-2.8-1.8-3.7-3.2c-.9-1.3-1.4-3-1.4-5h6c.1.8.3 1.6.7 2.2s1 1.2 1.6 1.5c.7.4 1.5.5 2.4.5 1 0 1.8-.2 2.4-.6a4 4 0 0 0 1.6-1.8c.3-.8.5-1.8.5-3V45.5zm30.9 9.1a4.4 4.4 0 0 0-2-3.3 7.5 7.5 0 0 0-4.3-1.1c-1.3 0-2.4.2-3.3.5-.9.4-1.6 1-2 1.6a3.5 3.5 0 0 0-.3 4c.3.5.7.9 1.3 1.2l1.8 1 2 .5 3.2.8c1.3.3 2.5.7 3.7 1.2a13 13 0 0 1 3.2 1.8 8.1 8.1 0 0 1 3 6.5c0 2-.5 3.7-1.5 5.1a10 10 0 0 1-4.4 3.5c-1.8.8-4.1 1.2-6.8 1.2-2.6 0-4.9-.4-6.8-1.2-2-.8-3.4-2-4.5-3.5a10 10 0 0 1-1.7-5.6h6a5 5 0 0 0 3.5 4.6c1 .4 2.2.6 3.4.6 1.3 0 2.5-.2 3.5-.6 1-.4 1.8-1 2.4-1.7a4 4 0 0 0 .8-2.4c0-.9-.2-1.6-.7-2.2a11 11 0 0 0-2.1-1.4l-3.2-1-3.8-1c-2.8-.7-5-1.7-6.6-3.2a7.2 7.2 0 0 1-2.4-5.7 8 8 0 0 1 1.7-5 10 10 0 0 1 4.3-3.5c2-.8 4-1.2 6.4-1.2 2.3 0 4.4.4 6.2 1.2 1.8.8 3.2 2 4.3 3.4 1 1.4 1.5 3 1.5 5h-5.8z"/></svg>
@@ -0,0 +1,10 @@
1
+ <svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_977_547)">
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M10.5 3L18.5 17H2.5L10.5 3Z" fill="white"/>
4
+ </g>
5
+ <defs>
6
+ <clipPath id="clip0_977_547">
7
+ <rect width="16" height="16" fill="white" transform="translate(2.5 2)"/>
8
+ </clipPath>
9
+ </defs>
10
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 2.5H14.5V12.5C14.5 13.0523 14.0523 13.5 13.5 13.5H2.5C1.94772 13.5 1.5 13.0523 1.5 12.5V2.5ZM0 1H1.5H14.5H16V2.5V12.5C16 13.8807 14.8807 15 13.5 15H2.5C1.11929 15 0 13.8807 0 12.5V2.5V1ZM3.75 5.5C4.16421 5.5 4.5 5.16421 4.5 4.75C4.5 4.33579 4.16421 4 3.75 4C3.33579 4 3 4.33579 3 4.75C3 5.16421 3.33579 5.5 3.75 5.5ZM7 4.75C7 5.16421 6.66421 5.5 6.25 5.5C5.83579 5.5 5.5 5.16421 5.5 4.75C5.5 4.33579 5.83579 4 6.25 4C6.66421 4 7 4.33579 7 4.75ZM8.75 5.5C9.16421 5.5 9.5 5.16421 9.5 4.75C9.5 4.33579 9.16421 4 8.75 4C8.33579 4 8 4.33579 8 4.75C8 5.16421 8.33579 5.5 8.75 5.5Z" fill="#666666"/>
3
+ </svg>
@@ -0,0 +1,19 @@
1
+ {
2
+ "extends": "@repo/typescript-config/nextjs.json",
3
+ "compilerOptions": {
4
+ "plugins": [
5
+ {
6
+ "name": "next"
7
+ }
8
+ ]
9
+ },
10
+ "include": [
11
+ "next-env.d.ts",
12
+ "next.config.mjs",
13
+ "**/*.ts",
14
+ "**/*.tsx",
15
+ ".next/types/**/*.ts",
16
+ "app/theta.js"
17
+ ],
18
+ "exclude": ["node_modules"]
19
+ }
@@ -0,0 +1,9 @@
1
+ /** @type {import("eslint").Linter.Config} */
2
+ module.exports = {
3
+ root: true,
4
+ extends: ["@repo/eslint-config/next.js"],
5
+ parser: "@typescript-eslint/parser",
6
+ parserOptions: {
7
+ project: true,
8
+ },
9
+ };
@@ -0,0 +1,11 @@
1
+ # manager-thedate API Web App
2
+
3
+ This app presents the Theta Data API experience with a polished landing page and developer-focused product messaging.
4
+
5
+ ## Getting started
6
+
7
+ Run the app from the workspace root:
8
+
9
+ ```bash
10
+ pnpm dev
11
+ ```
Binary file
Binary file
@@ -0,0 +1,39 @@
1
+ :root {
2
+ --background: #ffffff;
3
+ --foreground: #171717;
4
+ }
5
+
6
+ @media (prefers-color-scheme: dark) {
7
+ :root {
8
+ --background: #0a0a0a;
9
+ --foreground: #ededed;
10
+ }
11
+ }
12
+
13
+ html,
14
+ body {
15
+ max-width: 100vw;
16
+ overflow-x: hidden;
17
+ }
18
+
19
+ body {
20
+ color: var(--foreground);
21
+ background: var(--background);
22
+ }
23
+
24
+ * {
25
+ box-sizing: border-box;
26
+ padding: 0;
27
+ margin: 0;
28
+ }
29
+
30
+ a {
31
+ color: inherit;
32
+ text-decoration: none;
33
+ }
34
+
35
+ @media (prefers-color-scheme: dark) {
36
+ html {
37
+ color-scheme: dark;
38
+ }
39
+ }
@@ -0,0 +1,31 @@
1
+ import type { Metadata } from "next";
2
+ import localFont from "next/font/local";
3
+ import "./globals.css";
4
+
5
+ const geistSans = localFont({
6
+ src: "./fonts/GeistVF.woff",
7
+ variable: "--font-geist-sans",
8
+ });
9
+ const geistMono = localFont({
10
+ src: "./fonts/GeistMonoVF.woff",
11
+ variable: "--font-geist-mono",
12
+ });
13
+
14
+ export const metadata: Metadata = {
15
+ title: "Theta Data API",
16
+ description: "manager-thedate API brings the Theta Data experience to developers through a polished web platform.",
17
+ };
18
+
19
+ export default function RootLayout({
20
+ children,
21
+ }: Readonly<{
22
+ children: React.ReactNode;
23
+ }>) {
24
+ return (
25
+ <html lang="en">
26
+ <body className={`${geistSans.variable} ${geistMono.variable}`}>
27
+ {children}
28
+ </body>
29
+ </html>
30
+ );
31
+ }