Skip to content

Commit 1a70252

Browse files
committed
version as string
1 parent c316edd commit 1a70252

File tree

5 files changed

+37
-41
lines changed

5 files changed

+37
-41
lines changed

src/common/App.res

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,13 @@ let make = (props: props): React.element => {
5959
switch pagepath[0] {
6060
| Some("api") =>
6161
switch url->Url.getVersionString {
62-
| "v11.0.0" | "v12.0.0" =>
62+
| ("v11.0.0" | "v12.0.0") as version =>
6363
switch (Array.length(pagepath), pagepath[1]) {
64-
| (1, _) => <ApiOverviewLayout.Docs version=url> content </ApiOverviewLayout.Docs>
64+
| (1, _) => <ApiOverviewLayout.Docs version> content </ApiOverviewLayout.Docs>
6565
| _ => content
6666
}
67-
| "v8.0.0" | "v9.0.0" | "v10.0.0" =>
68-
<ApiOverviewLayoutLegacy version=url> content </ApiOverviewLayoutLegacy>
67+
| ("v8.0.0" | "v9.0.0" | "v10.0.0") as version =>
68+
<ApiOverviewLayoutLegacy version> content </ApiOverviewLayoutLegacy>
6969
| _ => content
7070
}
7171
| _ =>

src/layouts/ApiOverviewLayout.res

Lines changed: 24 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,26 @@
11
module Sidebar = SidebarLayout.Sidebar
22

3-
let makeCategories: Url.t => array<Sidebar.Category.t> = url => {
4-
switch url.version {
5-
| Version("v12.0.0" | "v11.0.0") | Latest | Next =>
6-
let version = Url.getVersionString(url)
7-
[
8-
{
9-
name: "Overview",
10-
items: [
11-
{name: "Introduction", href: `/docs/manual/${version}/api`},
12-
if version >= "v12.0.0" {
13-
{name: "Stdlib", href: `/docs/manual/${version}/api/stdlib`}
14-
} else {
15-
{name: "Core", href: `/docs/manual/${version}/api/core`}
16-
},
17-
],
18-
},
19-
{
20-
name: "Additional Libraries",
21-
items: [
22-
{name: "Belt", href: `/docs/manual/${version}/api/belt`},
23-
{name: "Dom", href: `/docs/manual/${version}/api/dom`},
24-
],
25-
},
26-
]
27-
| _ => throw(Failure(`Invalid version ${url->Url.getVersionString}`))
28-
}
3+
let makeCategories: string => array<Sidebar.Category.t> = version => {
4+
[
5+
{
6+
name: "Overview",
7+
items: [
8+
{name: "Introduction", href: `/docs/manual/${version}/api`},
9+
if version >= "v12.0.0" {
10+
{name: "Stdlib", href: `/docs/manual/${version}/api/stdlib`}
11+
} else {
12+
{name: "Core", href: `/docs/manual/${version}/api/core`}
13+
},
14+
],
15+
},
16+
{
17+
name: "Additional Libraries",
18+
items: [
19+
{name: "Belt", href: `/docs/manual/${version}/api/belt`},
20+
{name: "Dom", href: `/docs/manual/${version}/api/dom`},
21+
],
22+
},
23+
]
2924
}
3025

3126
/* Used for API docs (structured data) */
@@ -36,11 +31,10 @@ module Docs = {
3631
let route = router.route
3732

3833
let categories = makeCategories(version)
39-
let versionStr = Url.getVersionString(version)
4034

41-
<ApiLayout categories version=versionStr components>
42-
{switch version.version {
43-
| Version("v9.0.0" | "v8.0.0") => <ApiLayout.OldDocsWarning route version=versionStr />
35+
<ApiLayout categories version components>
36+
{switch version {
37+
| "v9.0.0" | "v8.0.0" => <ApiLayout.OldDocsWarning route version />
4438
| _ => React.null
4539
}}
4640
children

src/layouts/ApiOverviewLayout.resi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module Docs: {
22
@react.component
33
let make: (
4-
~version: Url.t,
4+
~version: string,
55
~components: MarkdownComponents.t=?,
66
~children: React.element,
77
) => React.element

src/layouts/ApiOverviewLayoutLegacy.res

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -329,14 +329,16 @@ let moduleCategories = (moduleName, version) => {
329329
}
330330

331331
@react.component
332-
let make = (~components=ApiMarkdown.default, ~version: Url.t, ~children) => {
332+
let make = (~components=ApiMarkdown.default, ~version, ~children) => {
333333
let router = Next.Router.useRouter()
334334
let route = router.route
335-
let versionStr = version->Url.getVersionString
335+
let url = router.route->Url.parse
336+
337+
let versionStr = version
336338

337339
let warnBanner = <ApiLayout.OldDocsWarning route version=versionStr />
338340

339-
switch version.pagepath->Array.get(1) {
341+
switch url.pagepath->Array.get(1) {
340342
| None =>
341343
let title = "API"
342344
let categories: array<Category.t> = [
@@ -348,7 +350,7 @@ let make = (~components=ApiMarkdown.default, ~version: Url.t, ~children) => {
348350
name: "Modules",
349351
items: [
350352
{name: "Js Module", href: `/docs/manual/${versionStr}/api/js`},
351-
{name: "Belt Stdlib", href: `/docs/manual/${versionStr}/api/belt`},
353+
{name: "Belt Module", href: `/docs/manual/${versionStr}/api/belt`},
352354
{name: "Dom Module", href: `/docs/manual/${versionStr}/api/dom`},
353355
],
354356
},
@@ -360,7 +362,7 @@ let make = (~components=ApiMarkdown.default, ~version: Url.t, ~children) => {
360362
| Some(moduleName) =>
361363
let indexData = switch Dict.get(indexData, moduleName) {
362364
| Some(moduleData) =>
363-
Dict.get(moduleData, version->Url.getVersionString)->Option.getOrThrow(
365+
Dict.get(moduleData, version)->Option.getOrThrow(
364366
~message=`Not found data for ${moduleName} version ${versionStr}`,
365367
)
366368
| None => throw(Failure(`Not found index data for module: ${moduleName}`))
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@react.component
22
let make: (
33
~components: MarkdownComponents.t=?,
4-
~version: Url.t,
4+
~version: string,
55
~children: React.element,
66
) => React.element

0 commit comments

Comments
 (0)