Skip to content

Commit 78d57a0

Browse files
Merge branch 'develop' into feature/sort-specifications-alphabetically
2 parents 964eafe + 581476c commit 78d57a0

File tree

7 files changed

+397
-362
lines changed

7 files changed

+397
-362
lines changed

package-lock.json

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

package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"@mui/material": "^7.0.1",
2828
"@octokit/auth-app": "^7.2.1",
2929
"@octokit/core": "^6.1.5",
30-
"@octokit/webhooks": "~13.8.0",
30+
"@octokit/webhooks": "~13.8.2",
3131
"core-js": "^3.39.0",
3232
"encoding": "^0.1.13",
3333
"figma-squircle": "^1.1.0",
@@ -36,7 +36,7 @@
3636
"mobx": "^6.13.5",
3737
"next": "^15.3.0",
3838
"next-auth": "^5.0.0-beta.25",
39-
"npm": "^11.2.0",
39+
"npm": "^11.3.0",
4040
"nprogress": "^0.2.0",
4141
"octokit": "^4.1.1",
4242
"react": "^18.3.1",
@@ -45,7 +45,7 @@
4545
"redoc": "^2.4.0",
4646
"sharp": "^0.34.1",
4747
"styled-components": "^6.1.17",
48-
"swagger-ui-react": "^5.20.1",
48+
"swagger-ui-react": "^5.21.0",
4949
"swr": "^2.3.3",
5050
"usehooks-ts": "^3.1.1",
5151
"yaml": "^2.7.0",
@@ -60,9 +60,9 @@
6060
"@types/pg": "^8.11.10",
6161
"@types/react": "^18.3.12",
6262
"@types/react-dom": "^18.3.0",
63-
"@types/swagger-ui-react": "^4.18.3",
64-
"@typescript-eslint/eslint-plugin": "^8.30.1",
65-
"@typescript-eslint/parser": "^8.30.1",
63+
"@types/swagger-ui-react": "^5.18.0",
64+
"@typescript-eslint/eslint-plugin": "^8.31.0",
65+
"@typescript-eslint/parser": "^8.31.0",
6666
"eslint": "^9.21.0",
6767
"eslint-config-next": "^15.2.2",
6868
"pg": "^8.13.1",

src/features/projects/data/useProjectSelection.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,13 @@ import NProgress from "nprogress"
44
import { useRouter, usePathname } from "next/navigation"
55
import { useContext } from "react"
66
import { ProjectsContext } from "@/common"
7-
import { Project, ProjectNavigator, getProjectSelectionFromPath } from "../domain"
7+
import {
8+
Project,
9+
ProjectNavigator,
10+
getProjectSelectionFromPath,
11+
getDefaultSpecification
12+
13+
} from "../domain"
814

915
export default function useProjectSelection() {
1016
const router = useRouter()
@@ -29,7 +35,7 @@ export default function useProjectSelection() {
2935
},
3036
selectProject: (project: Project) => {
3137
const version = project.versions[0]
32-
const specification = version.specifications.find(spec => spec.isDefault) || version.specifications[0]
38+
const specification = getDefaultSpecification(version)
3339
NProgress.start()
3440
projectNavigator.navigate(
3541
project.owner,

src/features/projects/domain/ProjectNavigator.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import Project from "./Project"
2+
import { getDefaultSpecification } from "./Version"
23

34
interface IPathnameReader {
45
readonly pathname: string
@@ -36,7 +37,7 @@ export default class ProjectNavigator {
3637
if (candidateSpecification) {
3738
this.router.push(`/${project.owner}/${project.name}/${newVersion.id}/${candidateSpecification.id}`)
3839
} else {
39-
const defaultOrFirstSpecification = newVersion.specifications.find(spec => spec.isDefault) || newVersion.specifications[0]
40+
const defaultOrFirstSpecification = getDefaultSpecification(newVersion)
4041
this.router.push(`/${project.owner}/${project.name}/${newVersion.id}/${defaultOrFirstSpecification.id}`)
4142
}
4243
}

src/features/projects/domain/Version.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,7 @@ export const VersionSchema = z.object({
1212
type Version = z.infer<typeof VersionSchema>
1313

1414
export default Version
15+
16+
export function getDefaultSpecification(version: Version) {
17+
return version.specifications.find((spec) => spec.isDefault) || version.specifications[0]
18+
}

src/features/projects/domain/getProjectSelectionFromPath.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Project from "./Project"
2-
import Version from "./Version"
2+
import Version, { getDefaultSpecification } from "./Version"
33
import OpenApiSpecification from "./OpenApiSpecification"
44

55
export default function getProjectSelectionFromPath({
@@ -61,7 +61,7 @@ export default function getProjectSelectionFromPath({
6161
if (specificationId && !didMoveSpecificationIdToVersionId) {
6262
specification = version.specifications.find(e => e.id == specificationId)
6363
} else if (version.specifications.length > 0) {
64-
specification = version.specifications.find(spec => spec.isDefault) || version.specifications[0]
64+
specification = getDefaultSpecification(version)
6565
}
6666
return { project, version, specification }
6767
}

src/features/projects/domain/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,4 @@ export { default as ProjectNavigator } from "./ProjectNavigator"
1616
export { default as ProjectRepository } from "./ProjectRepository"
1717
export { default as updateWindowTitle } from "./updateWindowTitle"
1818
export type { default as Version } from "./Version"
19+
export { getDefaultSpecification } from "./Version"

0 commit comments

Comments
 (0)