Skip to content

Commit 936d49e

Browse files
committed
make sure paths start with /
1 parent 6eb9754 commit 936d49e

17 files changed

+340
-268
lines changed

app/routes.mjs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
// Generated by ReScript, PLEASE EDIT WITH CARE
22

3-
import * as Belt_Array from "rescript/lib/es6/Belt_Array.js";
3+
import * as Belt_Array from "@rescript/runtime/lib/es6/Belt_Array.js";
44
import * as Server from "react-router-mdx/server";
55
import * as Routes from "@react-router/dev/routes";
66

77
let $$default = Belt_Array.concatMany([
88
[
99
Routes.index("./routes/LandingPageRoute.mjs"),
10+
Routes.route("packages", "./routes/PackagesRoute.mjs"),
1011
Routes.route("try", "./routes/TryRoute.mjs"),
1112
Routes.route("community", "./routes/CommunityRoute.mjs"),
1213
Routes.route("community/overview", "./routes/CommunityRoute.mjs", {

app/routes.res

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ open ReactRouter.Mdx
33

44
let default = [
55
index("./routes/LandingPageRoute.mjs"),
6+
route("packages", "./routes/PackagesRoute.mjs"),
67
route("try", "./routes/TryRoute.mjs"),
78
route("community", "./routes/CommunityRoute.mjs"),
89
route("community/overview", "./routes/CommunityRoute.mjs", ~options={id: "overview"}),

app/routes/LandingPageRoute.res

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
let default = () => {
22
<LandingPageLayout>
3-
<div></div>
3+
<></>
44
</LandingPageLayout>
55
}

app/routes/PackagesRoute.res

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
let default = () => {
2+
<Packages packages=[] unmaintained=[] />
3+
}

generate-route-types.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ init({ paths: ["_blogposts", "docs"], aliases: ["blog", "docs"] });
55

66
const { default: routes } = await import("./app/routes.mjs");
77

8-
const paths = routes.map((route) => `#"${route.path}"`).join(" |\n");
8+
const paths = routes.map((route) => `#"/${route.path}"`).join(" |\n");
99

1010
await fs.writeFile(
1111
"src/Path.res",

package-lock.json

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

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@
1010
"type": "module",
1111
"scripts": {
1212
"dev": "react-router dev",
13-
"res:watch": "rescript build -w",
14-
"build": "rescript && react-router build",
13+
"res:watch": "rescript watch",
14+
"res:clean": "rescript clean",
15+
"build": "rescript build && react-router build",
1516
"test": "node scripts/test-examples.mjs && node scripts/test-hrefs.mjs",
1617
"reanalyze": "reanalyze -all-cmt .",
1718
"update-index": "npm run generate-llms && node scripts/extract-indices.mjs && node scripts/extract-tocs.mjs && node scripts/extract-syntax.mjs && node scripts/generate_feed.mjs > public/blog/feed.xml",
@@ -30,7 +31,7 @@
3031
"@mdx-js/loader": "^3.1.0",
3132
"@react-router/node": "^7.8.1",
3233
"@rescript/react": "^0.14.0-rc.1",
33-
"@rescript/webapi": "^0.1.0-experimental-0b87498",
34+
"@rescript/webapi": "^0.1.0-experimental-ae90e53",
3435
"codemirror": "^5.54.0",
3536
"docson": "^2.1.0",
3637
"escodegen": "^2.1.0",

src/Blog.res

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ module Badge = {
3131
let text = badge->BlogFrontmatter.Badge.toString
3232

3333
<div
34-
className={bgColor ++ " flex items-center h-6 font-medium tracking-tight text-gray-80-tr text-14 px-2 rounded-sm"}>
34+
className={bgColor ++ " flex items-center h-6 font-medium tracking-tight text-gray-80-tr text-14 px-2 rounded-sm"}
35+
>
3536
<div>
3637
<img className="h-3 block mr-1" src="/star.svg" />
3738
</div>
@@ -85,7 +86,7 @@ module BlogCard = {
8586
) =>
8687
<section className="h-full">
8788
<div className="relative">
88-
<ReactRouter.Link to=#"syntax-lookup" />
89+
<ReactRouter.Link to=#"/syntax-lookup" />
8990
{switch badge {
9091
| None => React.null
9192
| Some(badge) =>
@@ -142,7 +143,8 @@ module FeatureCard = {
142143
</div>
143144
}
144145
<section
145-
className="flex sm:px-4 md:px-8 lg:px-0 flex-col justify-end lg:flex-row sm:items-center h-full">
146+
className="flex sm:px-4 md:px-8 lg:px-0 flex-col justify-end lg:flex-row sm:items-center h-full"
147+
>
146148
<div className="w-full h-full sm:self-start md:self-auto max-h-101.75">
147149
<Link.String to={`/blog/${slug}`} className="relative block pt-2/3">
148150
{switch badge {
@@ -162,7 +164,8 @@ module FeatureCard = {
162164
</Link.String>
163165
</div>
164166
<div
165-
className="relative px-4 lg:self-auto sm:pt-12 md:px-20 sm:self-start md:-mt-20 mt-4 bg-white lg:w-full lg:pt-0 lg:mt-0 lg:px-0 lg:ml-12">
167+
className="relative px-4 lg:self-auto sm:pt-12 md:px-20 sm:self-start md:-mt-20 mt-4 bg-white lg:w-full lg:pt-0 lg:mt-0 lg:px-0 lg:ml-12"
168+
>
166169
<div className="max-w-400 ">
167170
<h2 className="hl-1"> {React.string(title)} </h2>
168171
<div className="mb-6">
@@ -175,7 +178,8 @@ module FeatureCard = {
175178
| X(handle) => "https://x.com/" ++ handle
176179
| Bluesky(handle) => "https://bsky.app/profile/" ++ handle
177180
}}
178-
rel="noopener noreferrer">
181+
rel="noopener noreferrer"
182+
>
179183
{React.string(author.fullname)}
180184
</a>
181185
{switch category {
@@ -238,7 +242,8 @@ let default = (props: props): React.element => {
238242
| [] => React.null
239243
| rest =>
240244
<div
241-
className="px-4 md:px-8 xl:px-0 grid grid-cols-1 xs:grid-cols-2 md:grid-cols-3 gap-20 gap-y-12 md:gap-y-24 w-full">
245+
className="px-4 md:px-8 xl:px-0 grid grid-cols-1 xs:grid-cols-2 md:grid-cols-3 gap-20 gap-y-12 md:gap-y-24 w-full"
246+
>
242247
{Array.map(rest, post => {
243248
let badge = post.frontmatter.badge->Null.toOption
244249

src/Packages.res

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ module Card = {
177177
<button
178178
?onMouseDown
179179
className="hover:pointer px-2 rounded-lg text-white bg-fire-70 text-14"
180-
key={keyword}>
180+
key={keyword}
181+
>
181182
{React.string(keyword)}
182183
</button>
183184
})->React.array}
@@ -248,7 +249,8 @@ module InfoSidebar = {
248249
setFilter(prev => {
249250
{...prev, Filter.includeOfficial: !filter.includeOfficial}
250251
})
251-
}}>
252+
}}
253+
>
252254
{React.string("Official")}
253255
</Toggle>
254256
<Toggle
@@ -257,7 +259,8 @@ module InfoSidebar = {
257259
setFilter(prev => {
258260
{...prev, Filter.includeCommunity: !filter.includeCommunity}
259261
})
260-
}}>
262+
}}
263+
>
261264
{React.string("Community")}
262265
</Toggle>
263266
// <Toggle
@@ -275,15 +278,16 @@ module InfoSidebar = {
275278
setFilter(prev => {
276279
{...prev, Filter.includeOutdated: !filter.includeOutdated}
277280
})
278-
}}>
281+
}}
282+
>
279283
{React.string("Outdated")}
280284
</Toggle>
281285
</div>
282286
</div>
283287
<div>
284288
<h2 className=h2> {React.string("Guidelines")} </h2>
285289
<ul className="space-y-4">
286-
<ReactRouter.Link to=#"docs/guidelines/publishing-packages" className=link>
290+
<ReactRouter.Link to=#"/docs/guidelines/publishing-packages" className=link>
287291
{React.string("Publishing ReScript npm packages")}
288292
</ReactRouter.Link>
289293
/* <li> */
@@ -306,7 +310,7 @@ type state =
306310
| All
307311
| Filtered(string) // search term
308312

309-
let default = (props: props) => {
313+
let make = (props: props) => {
310314
open Markdown
311315

312316
let (state, setState) = React.useState(_ => All)
@@ -395,7 +399,8 @@ let default = (props: props) => {
395399
</Category>
396400
}
397401

398-
let router = Next.Router.useRouter()
402+
let location = ReactRouter.useLocation()
403+
let (searchParams, setSearchParams) = ReactRouter.useSearchParams()
399404

400405
// On first render, the router query is undefined so we set a flag.
401406
let firstRenderDone = React.useRef(false)
@@ -407,16 +412,19 @@ let default = (props: props) => {
407412

408413
// On second render, this hook runs one more time to actually trigger the search.
409414
React.useEffect(() => {
410-
router.query->Dict.get("search")->Option.forEach(onValueChange)
415+
// TODO RR7: test this
416+
417+
// TODO RR7: this is broken
418+
let _ = searchParams["search"]->Option.map(onValueChange)
419+
420+
// location.search->Option.forEach(onValueChange)
421+
422+
// router.query->Dict.get("search")->Option.forEach(onValueChange)
411423

412424
None
413425
}, [firstRenderDone.current])
414426

415-
let updateQuery = value =>
416-
router->Next.Router.replaceObj({
417-
pathname: router.pathname,
418-
query: value === "" ? Dict.make() : Dict.fromArray([("search", value)]),
419-
})
427+
let updateQuery = value => setSearchParams({"search": value})
420428

421429
// When the search term changes, update the router query accordingly.
422430
React.useEffect(() => {
@@ -440,7 +448,8 @@ let default = (props: props) => {
440448
<Navigation isOverlayOpen setOverlayOpen />
441449
<div className="flex overflow-hidden">
442450
<div
443-
className="flex justify-between min-w-320 px-4 pt-16 lg:align-center w-full lg:px-8 pb-48">
451+
className="flex justify-between min-w-320 px-4 pt-16 lg:align-center w-full lg:px-8 pb-48"
452+
>
444453
<MdxProvider components=MarkdownComponents.default>
445454
<main className="max-w-1280 w-full flex justify-center">
446455
<div className="w-full max-w-176.25">

src/Packages.resi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ type props = {
2222
unmaintained: array<npmPackage>,
2323
}
2424

25-
let default: props => React.element
25+
let make: props => React.element
2626

2727
let getStaticProps: Next.GetStaticProps.t<props, unit>

0 commit comments

Comments
 (0)