Skip to content

Commit e99d733

Browse files
committed
Split DB, contracts, and web style modules
1 parent 106d1e2 commit e99d733

22 files changed

Lines changed: 2725 additions & 2661 deletions

apps/web/src/styles.css

Lines changed: 4 additions & 782 deletions
Large diffs are not rendered by default.

apps/web/src/styles/base.css

Lines changed: 259 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,259 @@
1+
:root {
2+
color-scheme: dark;
3+
font-family:
4+
-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif,
5+
"Apple Color Emoji", "Segoe UI Emoji";
6+
line-height: 1.5;
7+
font-weight: 400;
8+
background: #0d1117;
9+
color: #e6edf3;
10+
font-synthesis: none;
11+
text-rendering: optimizeLegibility;
12+
-webkit-font-smoothing: antialiased;
13+
-moz-osx-font-smoothing: grayscale;
14+
--canvas-default: #0d1117;
15+
--canvas-subtle: #161b22;
16+
--canvas-inset: #010409;
17+
--canvas-overlay: #161b22;
18+
--border-default: #30363d;
19+
--border-muted: #21262d;
20+
--fg-default: #e6edf3;
21+
--fg-muted: #8b949e;
22+
--fg-subtle: #7d8590;
23+
--accent: #2f81f7;
24+
--accent-emphasis: #1f6feb;
25+
--success-fg: #3fb950;
26+
--danger-fg: #f85149;
27+
--attention-fg: #d29922;
28+
--neutral-fg: #8b949e;
29+
--shadow-resting: 0 0 0 1px rgba(27, 31, 36, 0.04), 0 8px 24px rgba(1, 4, 9, 0.32);
30+
--radius-sm: 6px;
31+
--radius-md: 10px;
32+
--radius-lg: 12px;
33+
--space-1: 4px;
34+
--space-2: 8px;
35+
--space-3: 12px;
36+
--space-4: 16px;
37+
--space-5: 24px;
38+
--space-6: 32px;
39+
--space-7: 48px;
40+
}
41+
42+
* {
43+
box-sizing: border-box;
44+
}
45+
46+
html,
47+
body,
48+
#root {
49+
min-height: 100%;
50+
}
51+
52+
body {
53+
margin: 0;
54+
background:
55+
linear-gradient(180deg, rgba(1, 4, 9, 0.92) 0%, rgba(13, 17, 23, 1) 18%), var(--canvas-default);
56+
color: var(--fg-default);
57+
}
58+
59+
a {
60+
color: inherit;
61+
}
62+
63+
button,
64+
input,
65+
select,
66+
textarea {
67+
font: inherit;
68+
}
69+
70+
button {
71+
cursor: pointer;
72+
}
73+
74+
input,
75+
select,
76+
textarea {
77+
width: 100%;
78+
border: 1px solid var(--border-default);
79+
border-radius: var(--radius-sm);
80+
padding: 10px 12px;
81+
background: var(--canvas-inset);
82+
color: var(--fg-default);
83+
outline: none;
84+
}
85+
86+
input:focus,
87+
select:focus,
88+
textarea:focus {
89+
border-color: var(--accent);
90+
box-shadow: 0 0 0 3px rgba(31, 111, 235, 0.18);
91+
}
92+
93+
textarea {
94+
min-height: 128px;
95+
resize: vertical;
96+
}
97+
98+
table {
99+
border-collapse: collapse;
100+
}
101+
102+
.appShell {
103+
width: min(1440px, calc(100vw - 32px));
104+
margin: 0 auto;
105+
padding: 24px 0 56px;
106+
}
107+
108+
.topbar {
109+
position: sticky;
110+
top: 0;
111+
z-index: 10;
112+
display: flex;
113+
align-items: center;
114+
justify-content: space-between;
115+
gap: 16px;
116+
margin-bottom: 24px;
117+
padding: 14px 18px;
118+
border: 1px solid rgba(48, 54, 61, 0.76);
119+
border-radius: 14px;
120+
background: rgba(13, 17, 23, 0.88);
121+
backdrop-filter: blur(14px);
122+
box-shadow: var(--shadow-resting);
123+
}
124+
125+
.brandBlock,
126+
.brandPath,
127+
.topnav,
128+
.topbarMeta,
129+
.badgeRow,
130+
.rowMeta,
131+
.panelActions,
132+
.paginationActions,
133+
.timelineMeta,
134+
.entityHeader,
135+
.specHeader {
136+
display: flex;
137+
align-items: center;
138+
gap: 12px;
139+
}
140+
141+
.brandName {
142+
font-size: 16px;
143+
font-weight: 600;
144+
}
145+
146+
.brandSlash {
147+
color: var(--fg-muted);
148+
}
149+
150+
.navLink {
151+
padding: 8px 12px;
152+
border: 1px solid transparent;
153+
border-radius: var(--radius-sm);
154+
color: var(--fg-muted);
155+
text-decoration: none;
156+
}
157+
158+
.navLink:hover {
159+
background: rgba(177, 186, 196, 0.08);
160+
color: var(--fg-default);
161+
}
162+
163+
.navLink.active {
164+
border-color: var(--border-default);
165+
background: rgba(177, 186, 196, 0.12);
166+
color: var(--fg-default);
167+
}
168+
169+
.repoPicker {
170+
width: auto;
171+
min-width: 150px;
172+
max-width: 240px;
173+
padding: 0;
174+
border: 0;
175+
background: transparent;
176+
color: var(--fg-default);
177+
box-shadow: none;
178+
font-size: 16px;
179+
font-weight: 600;
180+
}
181+
182+
.repoPicker:focus {
183+
box-shadow: none;
184+
}
185+
186+
.pageStack {
187+
display: grid;
188+
gap: 24px;
189+
}
190+
191+
.overviewHeader,
192+
.pageHeader {
193+
display: grid;
194+
gap: 20px;
195+
}
196+
197+
.overviewHeader {
198+
grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
199+
align-items: start;
200+
}
201+
202+
.pageHeader h1,
203+
.overviewHeader h1 {
204+
margin: 0;
205+
font-size: 32px;
206+
font-weight: 600;
207+
letter-spacing: -0.02em;
208+
}
209+
210+
.pageIntro {
211+
max-width: 74ch;
212+
margin: 10px 0 0;
213+
color: var(--fg-muted);
214+
}
215+
216+
.summaryLabel,
217+
.infoLabel {
218+
color: var(--fg-muted);
219+
font-size: 12px;
220+
font-weight: 600;
221+
letter-spacing: 0.06em;
222+
text-transform: uppercase;
223+
}
224+
225+
.summaryGrid {
226+
display: grid;
227+
grid-template-columns: repeat(3, minmax(0, 1fr));
228+
gap: 16px;
229+
}
230+
231+
.summaryCard,
232+
.panel,
233+
.specCard,
234+
.entityCard,
235+
.timelineItem,
236+
.emptyState {
237+
border: 1px solid var(--border-default);
238+
border-radius: var(--radius-lg);
239+
background: linear-gradient(180deg, rgba(22, 27, 34, 0.96), rgba(13, 17, 23, 0.98));
240+
box-shadow: var(--shadow-resting);
241+
}
242+
243+
.summaryCard {
244+
display: grid;
245+
gap: 8px;
246+
padding: 16px;
247+
}
248+
249+
.summaryCard strong {
250+
font-size: 28px;
251+
font-weight: 600;
252+
letter-spacing: -0.03em;
253+
}
254+
255+
.summaryMeta,
256+
.secondaryText {
257+
color: var(--fg-muted);
258+
font-size: 13px;
259+
}

0 commit comments

Comments
 (0)