@@ -3,8 +3,8 @@ import { CollectionEntry, getCollection } from "astro:content";
3
3
import Layout from " ../layouts/Layout.astro" ;
4
4
import NavInternal from " ../sections/NavInternal.astro" ;
5
5
import Footer from " ../sections/Footer.astro" ;
6
- import RelatedHook from " ../components/RelatedHook .astro" ;
7
- import Install from ' ../components/Install.astro ' ;
6
+ import Install from " ../components/Install .astro" ;
7
+ import HooksList from " ../components/search/HooksList " ;
8
8
9
9
export async function getStaticPaths() {
10
10
const hooks = await getCollection (" hooks" );
@@ -27,14 +27,24 @@ interface Props {
27
27
28
28
const { hook } = Astro .props ;
29
29
const { Content } = await hook .render ();
30
- const { name, tagline, relatedHooks, experimental } = hook .data ;
30
+ const { name, tagline, experimental } = hook .data ;
31
31
const ogImage = new URL (` /meta/${name .toLowerCase ()}.png ` , Astro .url );
32
32
const installSnippet = experimental
33
33
? ` npm i @uidotdev/usehooks@experimental react@experimental react-dom@experimental `
34
34
: ` npm i @uidotdev/usehooks ` ;
35
+
36
+ const hooks = await getCollection (" hooks" ).then ((hooks ) => {
37
+ return hooks .filter ((h ) => {
38
+ return h .slug !== hook .slug ;
39
+ });
40
+ });
35
41
---
36
42
37
- <Layout title ={ ` ${name } React Hook – useHooks ` } description ={ tagline } ogImage ={ ogImage } >
43
+ <Layout
44
+ title ={ ` ${name } React Hook – useHooks ` }
45
+ description ={ tagline }
46
+ ogImage ={ ogImage }
47
+ >
38
48
<NavInternal />
39
49
<main >
40
50
<section >
@@ -61,19 +71,12 @@ const installSnippet = experimental
61
71
)
62
72
}
63
73
<Install text ={ installSnippet } />
64
-
65
74
</div >
66
75
<Content />
67
76
</section >
68
77
<div class =" mt-12" >
69
- <h2 >Related Hooks:</h2 >
70
- <ul class =" related-hooks" >
71
- {
72
- relatedHooks .map ((hook ) => {
73
- return <RelatedHook { ... hook } />;
74
- })
75
- }
76
- </ul >
78
+ <h2 >Other Hooks:</h2 >
79
+ <HooksList client:load hooks ={ hooks } />
77
80
</div >
78
81
</main >
79
82
<Footer />
@@ -92,7 +95,7 @@ const installSnippet = experimental
92
95
}
93
96
94
97
section {
95
- padding: clamp(.5rem, 4vw, 3rem);
98
+ padding: clamp(0 .5rem, 4vw, 3rem);
96
99
padding-top: 0;
97
100
display: flex;
98
101
flex-direction: column;
@@ -167,7 +170,7 @@ const installSnippet = experimental
167
170
}
168
171
169
172
:global(.reference h3) {
170
- font-size: clamp(.9rem, 2vw, 1.1rem);
173
+ font-size: clamp(0 .9rem, 2vw, 1.1rem);
171
174
}
172
175
173
176
:global(.reference .table-container) {
@@ -178,7 +181,7 @@ const installSnippet = experimental
178
181
}
179
182
180
183
:global(.reference table) {
181
- border-radius: .9rem;
184
+ border-radius: 0 .9rem;
182
185
font-size: clamp(1rem, 2.1vw, 1.2rem);
183
186
}
184
187
@@ -199,7 +202,7 @@ const installSnippet = experimental
199
202
200
203
:global(.reference td),
201
204
:global(.reference th) {
202
- padding: .5rem 1.2rem .5rem .75rem;
205
+ padding: 0 .5rem 1.2rem 0 .5rem 0 .75rem;
203
206
}
204
207
205
208
:global(.reference td:not(:last-of-type)),
@@ -213,13 +216,6 @@ const installSnippet = experimental
213
216
min-width: 300px;
214
217
}
215
218
216
- .related-hooks {
217
- display: grid;
218
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
219
- gap: clamp(1.2rem, 2.5vw, 2rem);
220
- margin-top: 0;
221
- }
222
-
223
219
:global(.sp-preview-container),
224
220
:global(.sp-preview-container iframe) {
225
221
background: var(--coal) !important;
0 commit comments