Skip to content

Commit d1f1312

Browse files
authored
Add about redirect and registry
Add about redirect and registry
2 parents 01dbc47 + f139fd6 commit d1f1312

File tree

7 files changed

+714
-2
lines changed

7 files changed

+714
-2
lines changed

docusaurus.config.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,10 @@ const config: Config = {
8888
to: '/about/contributing',
8989
from: '/CONTRIBUTING',
9090
},
91+
{
92+
to: '/about/about-us',
93+
from: '/about',
94+
},
9195
],
9296
},
9397
],
@@ -123,6 +127,11 @@ const config: Config = {
123127
label: 'RFC',
124128
docsPluginId: 'about',
125129
},
130+
{
131+
to: '/registry',
132+
position: 'left',
133+
label: 'Registry',
134+
},
126135
{
127136
type: 'docsVersionDropdown',
128137
position: 'right',

package-lock.json

Lines changed: 11 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
"clsx": "^2.0.0",
2323
"prism-react-renderer": "^2.3.0",
2424
"react": "^19.0.0",
25-
"react-dom": "^19.0.0"
25+
"react-dom": "^19.0.0",
26+
"zod": "^4.0.14"
2627
},
2728
"devDependencies": {
2829
"@docusaurus/module-type-aliases": "3.8.1",

src/pages/registry.module.css

Lines changed: 216 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
1+
.registryContainer {
2+
min-height: 70vh;
3+
padding: 2rem 0;
4+
background-color: #000000;
5+
color: #ffffff;
6+
}
7+
8+
.header {
9+
text-align: center;
10+
margin-bottom: 3rem;
11+
}
12+
13+
.header h1 {
14+
font-size: 2.5rem;
15+
margin-bottom: 1rem;
16+
color: #ffffff;
17+
}
18+
19+
.header p {
20+
font-size: 1.2rem;
21+
color: #cccccc;
22+
max-width: 600px;
23+
margin: 0 auto;
24+
}
25+
26+
.searchContainer {
27+
display: flex;
28+
justify-content: center;
29+
margin-bottom: 3rem;
30+
}
31+
32+
.searchInput {
33+
width: 100%;
34+
max-width: 500px;
35+
padding: 1rem 1.5rem;
36+
font-size: 1.1rem;
37+
border: 2px solid #333333;
38+
border-radius: 10px;
39+
background-color: #111111;
40+
color: #ffffff;
41+
outline: none;
42+
transition: border-color 0.3s ease;
43+
}
44+
45+
.searchInput:focus {
46+
border-color: #ffffff;
47+
}
48+
49+
.searchInput::placeholder {
50+
color: #888888;
51+
}
52+
53+
.providersGrid {
54+
display: grid;
55+
grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
56+
gap: 2rem;
57+
margin-top: 2rem;
58+
}
59+
60+
.providerCard {
61+
background-color: #111111;
62+
border: 1px solid #333333;
63+
border-radius: 12px;
64+
padding: 1.5rem;
65+
transition: transform 0.2s ease, border-color 0.2s ease;
66+
}
67+
68+
.providerCard:hover {
69+
transform: translateY(-4px);
70+
border-color: #666666;
71+
}
72+
73+
.cardHeader {
74+
display: flex;
75+
justify-content: space-between;
76+
align-items: center;
77+
margin-bottom: 1rem;
78+
padding-bottom: 1rem;
79+
border-bottom: 1px solid #333333;
80+
}
81+
82+
.cardHeaderLeft {
83+
display: flex;
84+
flex-direction: column;
85+
gap: 0.5rem;
86+
align-items: flex-start;
87+
}
88+
89+
.cardFooter {
90+
border-top: 1px solid #333333;
91+
padding-top: 1rem;
92+
margin-top: 1rem;
93+
display: flex;
94+
justify-content: center;
95+
}
96+
97+
.copyButton {
98+
background-color: #333333;
99+
color: #ffffff;
100+
border: 1px solid #666666;
101+
border-radius: 6px;
102+
padding: 0.5rem 1rem;
103+
font-size: 0.85rem;
104+
cursor: pointer;
105+
transition: all 0.2s ease;
106+
white-space: nowrap;
107+
}
108+
109+
.copyButton:hover {
110+
background-color: #444444;
111+
border-color: #888888;
112+
}
113+
114+
.copyButton:active {
115+
transform: translateY(1px);
116+
}
117+
118+
.downloadButton {
119+
background-color: #2d5a27;
120+
color: #ffffff;
121+
border: 1px solid #4a8c3a;
122+
border-radius: 6px;
123+
padding: 0.75rem 1.5rem;
124+
font-size: 0.9rem;
125+
font-weight: 500;
126+
cursor: pointer;
127+
transition: all 0.2s ease;
128+
white-space: nowrap;
129+
min-width: 150px;
130+
}
131+
132+
.downloadButton:hover:not(:disabled) {
133+
background-color: #3a6b33;
134+
border-color: #5ba048;
135+
}
136+
137+
.downloadButton:active:not(:disabled) {
138+
transform: translateY(1px);
139+
}
140+
141+
.downloadButton:disabled {
142+
opacity: 0.6;
143+
cursor: not-allowed;
144+
}
145+
146+
.providerName {
147+
font-size: 1.3rem;
148+
font-weight: 600;
149+
margin: 0;
150+
color: #ffffff;
151+
}
152+
153+
.providerType {
154+
background-color: #333333;
155+
color: #ffffff;
156+
padding: 0.3rem 0.8rem;
157+
border-radius: 20px;
158+
font-size: 0.85rem;
159+
font-weight: 500;
160+
text-transform: uppercase;
161+
width: fit-content;
162+
display: inline-block;
163+
}
164+
165+
.cardContent {
166+
color: #cccccc;
167+
}
168+
169+
.cardContent p {
170+
margin: 0.5rem 0;
171+
font-size: 0.95rem;
172+
}
173+
174+
.cardContent strong {
175+
color: #ffffff;
176+
}
177+
178+
.cardContent a {
179+
color: #ffffff;
180+
text-decoration: underline;
181+
word-break: break-all;
182+
}
183+
184+
.cardContent a:hover {
185+
color: #cccccc;
186+
}
187+
188+
.loading {
189+
text-align: center;
190+
padding: 4rem 0;
191+
font-size: 1.2rem;
192+
color: #cccccc;
193+
}
194+
195+
.noResults {
196+
grid-column: 1 / -1;
197+
text-align: center;
198+
padding: 4rem 0;
199+
font-size: 1.2rem;
200+
color: #cccccc;
201+
}
202+
203+
@media (max-width: 768px) {
204+
.providersGrid {
205+
grid-template-columns: 1fr;
206+
gap: 1.5rem;
207+
}
208+
209+
.searchInput {
210+
margin: 0 1rem;
211+
}
212+
213+
.header h1 {
214+
font-size: 2rem;
215+
}
216+
}

0 commit comments

Comments
 (0)