diff --git a/components/RepositoryItem.tsx b/components/RepositoryItem.tsx
index 34c4a0bd..1650e96e 100644
--- a/components/RepositoryItem.tsx
+++ b/components/RepositoryItem.tsx
@@ -57,6 +57,7 @@ export const RepositoryItem = ({ repository }: RepositoryItemProps) => {
repositoryLang={repository.language.display}
repositoryTopics={repository.topics}
repositoryNumIssues={repository.issues.length}
+ repositoryStars={repository.stars_display}
/>
diff --git a/components/RepositoryList.tsx b/components/RepositoryList.tsx
index 34bc5488..b397e783 100644
--- a/components/RepositoryList.tsx
+++ b/components/RepositoryList.tsx
@@ -11,6 +11,11 @@ import { RepositoryItem } from "./RepositoryItem";
import { SDGFilter } from "./SDGFilter";
import { Grid, Stack } from "@primer/react-brand";
+import Select from "react-select";
+import { REPOSITORY_SORT_OPTIONS } from "../constants";
+import { RepositorySortOrder } from "../types";
+import { useAppData } from "../hooks/useAppData";
+
type RepositoryListProps = {
repositories: Repository[];
filter: string;
@@ -61,12 +66,33 @@ export const RepositoryList = ({ repositories, filter }: RepositoryListProps) =>
const loadMoreItems = () => setItems(items + itemsPerScroll);
const hasMoreItems = items < filteredRepositories.length;
+ const { repositorySortOrder, updateRepositorySortOrder } = useAppData();
+
+ const sortOptions = REPOSITORY_SORT_OPTIONS.map((sortOrder) => ({
+ value: sortOrder,
+ label: sortOrder
+ }));
+
return (
+
+
);
-};
\ No newline at end of file
+};
diff --git a/components/RepositoryMetadata.tsx b/components/RepositoryMetadata.tsx
index 4d8fb01b..a0521bbf 100644
--- a/components/RepositoryMetadata.tsx
+++ b/components/RepositoryMetadata.tsx
@@ -6,13 +6,15 @@ type RepositoryMetadataProps = {
lastModified: Repository["last_modified"];
repositoryLang: Repository["language"]["display"];
repositoryTopics: Repository["topics"];
+ repositoryStars: Repository["stars_display"];
};
export const RepositoryMetadata = ({
repositoryNumIssues,
lastModified,
repositoryLang,
- repositoryTopics
+ repositoryTopics,
+ repositoryStars
}: RepositoryMetadataProps) => {
return (
@@ -28,6 +30,10 @@ export const RepositoryMetadata = ({
Language: {repositoryLang}
+
+ Stars: {repositoryStars}
+
+
{repositoryTopics && repositoryTopics.length > 0 && (
Label:
diff --git a/context/AppDataContext.tsx b/context/AppDataContext.tsx
index 325d7340..722ce2bb 100644
--- a/context/AppDataContext.tsx
+++ b/context/AppDataContext.tsx
@@ -19,7 +19,14 @@ const AppDataProvider = ({ children }: { children: React.ReactNode }) => {
languages,
topics
}: { repositories: Repository[]; languages: CountableTag[]; topics: CountableTag[] } = data;
- const [repositories, setRepositories] = useState(allRepositories);
+
+ // make sorted by most issues first by default
+ // .sort() was mutating the original array, so I used .toSorted() instead to avoid mutating the state directly.
+ // a.issue and b.issue are arrays, it should be compared using length.
+ const [repositories, setRepositories] = useState(
+ allRepositories.toSorted((a, b) => b.issues.length - a.issues.length)
+ );
+
const [repositorySortOrder, setRepositorySortOrder] = useState(
RepositorySortOrder.NONE
);
@@ -50,7 +57,8 @@ const AppDataProvider = ({ children }: { children: React.ReactNode }) => {
}
if (sortOrder === RepositorySortOrder.NONE) {
- updatedRepositories = allRepositories;
+ // reset the default value, when sort order is set NONE.
+ updatedRepositories = allRepositories.toSorted((a, b) => b.issues.length - a.issues.length);
}
setRepositories(updatedRepositories);
diff --git a/package-lock.json b/package-lock.json
index 8fc67892..311e9902 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -18,7 +18,7 @@
"@types/react-dom": "^19.2.3",
"dayjs": "^1.11.20",
"millify": "^6.1.0",
- "next": "16.2.6",
+ "next": "16.2.0",
"postcss-import": "^16.1.1",
"react": "^19.2.4",
"react-dom": "^19.2.4",
@@ -42,12 +42,12 @@
"@typescript-eslint/parser": "^8.57.1",
"autoprefixer": "^10.4.27",
"eslint": "^9.0.0",
- "eslint-config-next": "^16.2.6",
+ "eslint-config-next": "^16.2.0",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-typescript": "^4.4.4",
"eslint-plugin-prettier": "^5.5.5",
"husky": "^9.1.7",
- "postcss": "^8.5.10",
+ "postcss": "^8.5.8",
"prettier": "^3.8.1",
"tailwindcss": "^4.2.2",
"ts-node": "^10.9.2"
@@ -1345,9 +1345,9 @@
}
},
"node_modules/@next/env": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.6.tgz",
- "integrity": "sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.0.tgz",
+ "integrity": "sha512-OZIbODWWAi0epQRCRjNe1VO45LOFBzgiyqmTLzIqWq6u1wrxKnAyz1HH6tgY/Mc81YzIjRPoYsPAEr4QV4l9TA==",
"license": "MIT"
},
"node_modules/@next/eslint-plugin-next": {
@@ -1361,9 +1361,9 @@
}
},
"node_modules/@next/swc-darwin-arm64": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.6.tgz",
- "integrity": "sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.0.tgz",
+ "integrity": "sha512-/JZsqKzKt01IFoiLLAzlNqys7qk2F3JkcUhj50zuRhKDQkZNOz9E5N6wAQWprXdsvjRP4lTFj+/+36NSv5AwhQ==",
"cpu": [
"arm64"
],
@@ -1377,9 +1377,9 @@
}
},
"node_modules/@next/swc-darwin-x64": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.6.tgz",
- "integrity": "sha512-v/YLBHIY132Ced3puBJ7YJKw1lqsCrgcNo2aRJlCEyQrrCeRJlvGlnmxhPxNQI3KE3N1DN5r9TPNPvka3nq5RQ==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.0.tgz",
+ "integrity": "sha512-/hV8erWq4SNlVgglUiW5UmQ5Hwy5EW/AbbXlJCn6zkfKxTy/E/U3V8U1Ocm2YCTUoFgQdoMxRyRMOW5jYy4ygg==",
"cpu": [
"x64"
],
@@ -1393,9 +1393,9 @@
}
},
"node_modules/@next/swc-linux-arm64-gnu": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.6.tgz",
- "integrity": "sha512-RPOvqlYBbcQjkz9VQQDZ2T2bARIjXZV1KFlt+V2Mr6SW/e4I9fcKsaA0hdyf2FHoTlsV2xnBd5Y912rP/1Ce6w==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.0.tgz",
+ "integrity": "sha512-GkjL/Q7MWOwqWR9zoxu1TIHzkOI2l2BHCf7FzeQG87zPgs+6WDh+oC9Sw9ARuuL/FUk6JNCgKRkA6rEQYadUaw==",
"cpu": [
"arm64"
],
@@ -1412,9 +1412,9 @@
}
},
"node_modules/@next/swc-linux-arm64-musl": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.6.tgz",
- "integrity": "sha512-URUTu1+dMkxJsPFgm+OeEvq9wf5sujw0EvgYy80TDGHTSLTnIHeqb0Eu8A3sC95IRgjejQL+kC4mw+4yPxiAXA==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.0.tgz",
+ "integrity": "sha512-1ffhC6KY5qWLg5miMlKJp3dZbXelEfjuXt1qcp5WzSCQy36CV3y+JT7OC1WSFKizGQCDOcQbfkH/IjZP3cdRNA==",
"cpu": [
"arm64"
],
@@ -1431,9 +1431,9 @@
}
},
"node_modules/@next/swc-linux-x64-gnu": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.6.tgz",
- "integrity": "sha512-DOj182mPV8G3UkrayLoREM5YEYI+Dk5wv7Ox9xl1fFibAELEsFD0lDPfHIeILlutMMfdyhlzYPELG3peuKaurw==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.0.tgz",
+ "integrity": "sha512-FmbDcZQ8yJRq93EJSL6xaE0KK/Rslraf8fj1uViGxg7K4CKBCRYSubILJPEhjSgZurpcPQq12QNOJQ0DRJl6Hg==",
"cpu": [
"x64"
],
@@ -1450,9 +1450,9 @@
}
},
"node_modules/@next/swc-linux-x64-musl": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.6.tgz",
- "integrity": "sha512-HKQ5SP/V/ub73UvF7n/zeJlxk2kLmtL7Wzrg4WfmkjmNos5onJ2tKu7yZOPdL18A6Svfn3max29ym+ry7NkK4g==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.0.tgz",
+ "integrity": "sha512-HzjIHVkmGAwRbh/vzvoBWWEbb8BBZPxBvVbDQDvzHSf3D8RP/4vjw7MNLDXFF9Q1WEzeQyEj2zdxBtVAHu5Oyw==",
"cpu": [
"x64"
],
@@ -1469,9 +1469,9 @@
}
},
"node_modules/@next/swc-win32-arm64-msvc": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.6.tgz",
- "integrity": "sha512-LZXpTlPyS5v7HhSmnvsLGP3iIYgYOBnc8r8ArlT55sGHV89bR2HlDdBjWQ+PY6SJMmk8TuVGFuxalnP3k/0Dwg==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.0.tgz",
+ "integrity": "sha512-UMiFNQf5H7+1ZsZPxEsA064WEuFbRNq/kEXyepbCnSErp4f5iut75dBA8UeerFIG3vDaQNOfCpevnERPp2V+nA==",
"cpu": [
"arm64"
],
@@ -1485,9 +1485,9 @@
}
},
"node_modules/@next/swc-win32-x64-msvc": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.6.tgz",
- "integrity": "sha512-F0+4i0h9J6C4eE3EAPWsoCk7UW/dbzOjyzxY0qnDUOYFu6FFmdZ6l97/XdV3/Nz3VYyO7UWjyEJUXkGqcoXfMA==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.0.tgz",
+ "integrity": "sha512-DRrNJKW+/eimrZgdhVN1uvkN1OI4j6Lpefwr44jKQ0YQzztlmOBUUzHuV5GxOMPK3nmodAYElUVCY8ZXo/IWeA==",
"cpu": [
"x64"
],
@@ -6351,12 +6351,12 @@
"dev": true
},
"node_modules/next": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/next/-/next-16.2.6.tgz",
- "integrity": "sha512-qOVgKJg1+At15NpeUP+eJgCHvTCgXsogweq87Ri/Ix7PkqQHg4sdaXmSFqKlgaIXE4kW0g25LE68W87UANlHtw==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/next/-/next-16.2.0.tgz",
+ "integrity": "sha512-NLBVrJy1pbV1Yn00L5sU4vFyAHt5XuSjzrNyFnxo6Com0M0KrL6hHM5B99dbqXb2bE9pm4Ow3Zl1xp6HVY9edQ==",
"license": "MIT",
"dependencies": {
- "@next/env": "16.2.6",
+ "@next/env": "16.2.0",
"@swc/helpers": "0.5.15",
"baseline-browser-mapping": "^2.9.19",
"caniuse-lite": "^1.0.30001579",
@@ -6370,14 +6370,14 @@
"node": ">=20.9.0"
},
"optionalDependencies": {
- "@next/swc-darwin-arm64": "16.2.6",
- "@next/swc-darwin-x64": "16.2.6",
- "@next/swc-linux-arm64-gnu": "16.2.6",
- "@next/swc-linux-arm64-musl": "16.2.6",
- "@next/swc-linux-x64-gnu": "16.2.6",
- "@next/swc-linux-x64-musl": "16.2.6",
- "@next/swc-win32-arm64-msvc": "16.2.6",
- "@next/swc-win32-x64-msvc": "16.2.6",
+ "@next/swc-darwin-arm64": "16.2.0",
+ "@next/swc-darwin-x64": "16.2.0",
+ "@next/swc-linux-arm64-gnu": "16.2.0",
+ "@next/swc-linux-arm64-musl": "16.2.0",
+ "@next/swc-linux-x64-gnu": "16.2.0",
+ "@next/swc-linux-x64-musl": "16.2.0",
+ "@next/swc-win32-arm64-msvc": "16.2.0",
+ "@next/swc-win32-x64-msvc": "16.2.0",
"sharp": "^0.34.5"
},
"peerDependencies": {
@@ -9105,9 +9105,9 @@
}
},
"@next/env": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.6.tgz",
- "integrity": "sha512-gd8HoHN4ufj73WmR3JmVolrpJR47ILK6LouP5xElPglaVxir6e1a7VzvTvDWkOoPXT9rkkTzyCxBu4yeZfZwcw=="
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-16.2.0.tgz",
+ "integrity": "sha512-OZIbODWWAi0epQRCRjNe1VO45LOFBzgiyqmTLzIqWq6u1wrxKnAyz1HH6tgY/Mc81YzIjRPoYsPAEr4QV4l9TA=="
},
"@next/eslint-plugin-next": {
"version": "16.2.6",
@@ -9119,51 +9119,51 @@
}
},
"@next/swc-darwin-arm64": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.6.tgz",
- "integrity": "sha512-ZJGkkcNfYgrrMkqOdZ7zoLa1TOy0qpcMfk/z4Mh/FKUz40gVO+HNQWqmLxf67Z5WB64DRp0dhEbyHfel+6sJUg==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.2.0.tgz",
+ "integrity": "sha512-/JZsqKzKt01IFoiLLAzlNqys7qk2F3JkcUhj50zuRhKDQkZNOz9E5N6wAQWprXdsvjRP4lTFj+/+36NSv5AwhQ==",
"optional": true
},
"@next/swc-darwin-x64": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.6.tgz",
- "integrity": "sha512-v/YLBHIY132Ced3puBJ7YJKw1lqsCrgcNo2aRJlCEyQrrCeRJlvGlnmxhPxNQI3KE3N1DN5r9TPNPvka3nq5RQ==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.2.0.tgz",
+ "integrity": "sha512-/hV8erWq4SNlVgglUiW5UmQ5Hwy5EW/AbbXlJCn6zkfKxTy/E/U3V8U1Ocm2YCTUoFgQdoMxRyRMOW5jYy4ygg==",
"optional": true
},
"@next/swc-linux-arm64-gnu": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.6.tgz",
- "integrity": "sha512-RPOvqlYBbcQjkz9VQQDZ2T2bARIjXZV1KFlt+V2Mr6SW/e4I9fcKsaA0hdyf2FHoTlsV2xnBd5Y912rP/1Ce6w==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.2.0.tgz",
+ "integrity": "sha512-GkjL/Q7MWOwqWR9zoxu1TIHzkOI2l2BHCf7FzeQG87zPgs+6WDh+oC9Sw9ARuuL/FUk6JNCgKRkA6rEQYadUaw==",
"optional": true
},
"@next/swc-linux-arm64-musl": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.6.tgz",
- "integrity": "sha512-URUTu1+dMkxJsPFgm+OeEvq9wf5sujw0EvgYy80TDGHTSLTnIHeqb0Eu8A3sC95IRgjejQL+kC4mw+4yPxiAXA==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.2.0.tgz",
+ "integrity": "sha512-1ffhC6KY5qWLg5miMlKJp3dZbXelEfjuXt1qcp5WzSCQy36CV3y+JT7OC1WSFKizGQCDOcQbfkH/IjZP3cdRNA==",
"optional": true
},
"@next/swc-linux-x64-gnu": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.6.tgz",
- "integrity": "sha512-DOj182mPV8G3UkrayLoREM5YEYI+Dk5wv7Ox9xl1fFibAELEsFD0lDPfHIeILlutMMfdyhlzYPELG3peuKaurw==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.2.0.tgz",
+ "integrity": "sha512-FmbDcZQ8yJRq93EJSL6xaE0KK/Rslraf8fj1uViGxg7K4CKBCRYSubILJPEhjSgZurpcPQq12QNOJQ0DRJl6Hg==",
"optional": true
},
"@next/swc-linux-x64-musl": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.6.tgz",
- "integrity": "sha512-HKQ5SP/V/ub73UvF7n/zeJlxk2kLmtL7Wzrg4WfmkjmNos5onJ2tKu7yZOPdL18A6Svfn3max29ym+ry7NkK4g==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.2.0.tgz",
+ "integrity": "sha512-HzjIHVkmGAwRbh/vzvoBWWEbb8BBZPxBvVbDQDvzHSf3D8RP/4vjw7MNLDXFF9Q1WEzeQyEj2zdxBtVAHu5Oyw==",
"optional": true
},
"@next/swc-win32-arm64-msvc": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.6.tgz",
- "integrity": "sha512-LZXpTlPyS5v7HhSmnvsLGP3iIYgYOBnc8r8ArlT55sGHV89bR2HlDdBjWQ+PY6SJMmk8TuVGFuxalnP3k/0Dwg==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.2.0.tgz",
+ "integrity": "sha512-UMiFNQf5H7+1ZsZPxEsA064WEuFbRNq/kEXyepbCnSErp4f5iut75dBA8UeerFIG3vDaQNOfCpevnERPp2V+nA==",
"optional": true
},
"@next/swc-win32-x64-msvc": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.6.tgz",
- "integrity": "sha512-F0+4i0h9J6C4eE3EAPWsoCk7UW/dbzOjyzxY0qnDUOYFu6FFmdZ6l97/XdV3/Nz3VYyO7UWjyEJUXkGqcoXfMA==",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.2.0.tgz",
+ "integrity": "sha512-DRrNJKW+/eimrZgdhVN1uvkN1OI4j6Lpefwr44jKQ0YQzztlmOBUUzHuV5GxOMPK3nmodAYElUVCY8ZXo/IWeA==",
"optional": true
},
"@nodelib/fs.scandir": {
@@ -12169,19 +12169,19 @@
"dev": true
},
"next": {
- "version": "16.2.6",
- "resolved": "https://registry.npmjs.org/next/-/next-16.2.6.tgz",
- "integrity": "sha512-qOVgKJg1+At15NpeUP+eJgCHvTCgXsogweq87Ri/Ix7PkqQHg4sdaXmSFqKlgaIXE4kW0g25LE68W87UANlHtw==",
- "requires": {
- "@next/env": "16.2.6",
- "@next/swc-darwin-arm64": "16.2.6",
- "@next/swc-darwin-x64": "16.2.6",
- "@next/swc-linux-arm64-gnu": "16.2.6",
- "@next/swc-linux-arm64-musl": "16.2.6",
- "@next/swc-linux-x64-gnu": "16.2.6",
- "@next/swc-linux-x64-musl": "16.2.6",
- "@next/swc-win32-arm64-msvc": "16.2.6",
- "@next/swc-win32-x64-msvc": "16.2.6",
+ "version": "16.2.0",
+ "resolved": "https://registry.npmjs.org/next/-/next-16.2.0.tgz",
+ "integrity": "sha512-NLBVrJy1pbV1Yn00L5sU4vFyAHt5XuSjzrNyFnxo6Com0M0KrL6hHM5B99dbqXb2bE9pm4Ow3Zl1xp6HVY9edQ==",
+ "requires": {
+ "@next/env": "16.2.0",
+ "@next/swc-darwin-arm64": "16.2.0",
+ "@next/swc-darwin-x64": "16.2.0",
+ "@next/swc-linux-arm64-gnu": "16.2.0",
+ "@next/swc-linux-arm64-musl": "16.2.0",
+ "@next/swc-linux-x64-gnu": "16.2.0",
+ "@next/swc-linux-x64-musl": "16.2.0",
+ "@next/swc-win32-arm64-msvc": "16.2.0",
+ "@next/swc-win32-x64-msvc": "16.2.0",
"@swc/helpers": "0.5.15",
"baseline-browser-mapping": "^2.9.19",
"caniuse-lite": "^1.0.30001579",
diff --git a/pages/index.tsx b/pages/index.tsx
index 1ec40199..5f1b6285 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -17,15 +17,18 @@ export default function Home() {
const { repositories } = useAppData();
const [filter, setFilter] = useState("");
- const sortedRepositories = repositories.sort((a, b) => {
- if (a.issues > b.issues) {
- return -1;
- } else if (a.issues < b.issues) {
- return 1;
- } else {
- return 0;
- }
- });
+ // • Added sort by starts, so if this code stays here it will again sort it by isuue.
+ // • make sorted by most issues first by default in the AppDataContext.tsx file, so no need to sort here.
+
+ // const sortedRepositories = repositories.sort((a, b) => {
+ // if (a.issues > b.issues) {
+ // return -1;
+ // } else if (a.issues < b.issues) {
+ // return 1;
+ // } else {
+ // return 0;
+ // }
+ // });
return (
<>
@@ -49,10 +52,10 @@ export default function Home() {
-
+
>
);
-}
\ No newline at end of file
+}