Skip to content

Commit 3951122

Browse files
authored
fix i18next dependencies and rework card in main page (#2402)
* revert #2401 change * fix dependencies * change DBEntryView to DBCard in main page
1 parent dd15efa commit 3951122

File tree

9 files changed

+67
-83
lines changed

9 files changed

+67
-83
lines changed

ui/packages/db/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
"@gcsim/ui": "workspace:^",
1616
"@gcsim/utils": "workspace:^",
1717
"axios": "^1.1.3",
18+
"i18next": "^23.10.1",
19+
"i18next-browser-languagedetector": "^7.2.0",
1820
"react": "^18.2.0",
1921
"react-dom": "^18.2.0",
2022
"react-i18next": "^12.0.0",
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,4 @@ i18n
1818
interpolation: {
1919
escapeValue: false,
2020
},
21-
});
22-
23-
export { i18n };
21+
});

ui/packages/db/src/index.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,17 @@ import "@blueprintjs/icons/lib/css/blueprint-icons.css";
66
import "@blueprintjs/popover2/lib/css/blueprint-popover2.css";
77
import "@blueprintjs/select/lib/css/blueprint-select.css";
88
import "@gcsim/components/src/index.css";
9+
import "./i18n";
910
import "./index.css";
1011

1112
import React from "react";
1213
import ReactDOM from "react-dom/client";
1314

14-
import { i18n } from "@gcsim/utils";
15-
import { I18nextProvider } from "react-i18next";
16-
1715
const root = ReactDOM.createRoot(
1816
document.getElementById("root") as HTMLElement
1917
);
2018
root.render(
2119
<React.StrictMode>
22-
<I18nextProvider i18n={i18n}><App /></I18nextProvider>
20+
<App />
2321
</React.StrictMode>
2422
);

ui/packages/storybook/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"lucide-react": "^0.360.0",
2020
"react": "^18.2.0",
2121
"react-dom": "^18.2.0",
22-
"react-i18next": "^14.1.0",
22+
"react-i18next": "^12.0.0",
2323
"tailwind-merge": "^2.2.2",
2424
"tailwindcss-animate": "^1.0.7"
2525
},

ui/packages/ui/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
"fast-deep-equal": "^3.1.3",
3434
"file-saver": "^2.0.5",
3535
"framer-motion": "^7.6.2",
36-
"i18next": "^22.0.2",
37-
"i18next-browser-languagedetector": "^7.0.1",
36+
"i18next": "^23.10.1",
37+
"i18next-browser-languagedetector": "^7.2.0",
3838
"lodash-es": "^4.17.21",
3939
"merge": "^2.1.1",
4040
"pako": "^2.1.0",

ui/packages/ui/src/Pages/Dash/Dash.tsx

Lines changed: 47 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
import { AnchorButton, Card } from "@blueprintjs/core";
2-
import DBEntryView from "@gcsim/db/src/SharedComponents/DBEntryView";
3-
import { db } from "@gcsim/types";
4-
import axios from "axios";
5-
import { useEffect, useState } from "react";
6-
import { useTranslation } from "react-i18next";
7-
import ReactMarkdown from "react-markdown";
8-
import { Link } from "react-router-dom";
9-
import remarkGfm from "remark-gfm";
1+
import {AnchorButton, Card} from '@blueprintjs/core';
2+
import {Button, DBCard} from '@gcsim/components';
3+
import {db} from '@gcsim/types';
4+
import axios from 'axios';
5+
import {useEffect, useState} from 'react';
6+
import {useTranslation} from 'react-i18next';
7+
import ReactMarkdown from 'react-markdown';
8+
import {Link} from 'react-router-dom';
9+
import remarkGfm from 'remark-gfm';
1010

1111
const randQuery = {
1212
query: {
@@ -20,33 +20,33 @@ const randQuery = {
2020
};
2121

2222
export function Dash() {
23-
const { t } = useTranslation();
23+
const {t} = useTranslation();
2424

25-
const [{ isLoaded, text, tag }, setState] = useState({
25+
const [{isLoaded, text, tag}, setState] = useState({
2626
isLoaded: false,
27-
text: "",
28-
tag: "",
27+
text: '',
28+
tag: '',
2929
});
3030
const [data, setData] = useState<db.Entry[]>([]);
3131
const [dataIsLoaded, setDataIsLoaded] = useState(false);
3232

3333
useEffect(() => {
34-
axios("https://api.github.com/repos/genshinsim/gcsim/releases/latest")
35-
.then((resp: { data }) => {
36-
setState({ isLoaded: true, text: resp.data.body, tag: resp.data.name });
34+
axios('https://api.github.com/repos/genshinsim/gcsim/releases/latest')
35+
.then((resp: {data}) => {
36+
setState({isLoaded: true, text: resp.data.body, tag: resp.data.name});
3737
})
3838
.catch((err) =>
39-
console.log(t<string>("viewer.error_encountered") + err.message)
39+
console.log(t<string>('viewer.error_encountered') + err.message),
4040
);
4141
axios(`/api/db?q=${encodeURIComponent(JSON.stringify(randQuery))}`)
42-
.then((resp: { data: db.Entries }) => {
42+
.then((resp: {data: db.Entries}) => {
4343
if (resp.data && resp.data.data) {
4444
setData(resp.data.data);
4545
setDataIsLoaded(true);
4646
}
4747
})
4848
.catch((err) =>
49-
console.log(t<string>("viewer.error_encountered") + err.message)
49+
console.log(t<string>('viewer.error_encountered') + err.message),
5050
);
5151
}, [t]);
5252

@@ -56,33 +56,46 @@ export function Dash() {
5656
to="/simulator"
5757
role="button"
5858
className="bp4-button bp4-intent-success !p-3 !rounded-md"
59-
tabIndex={0}
60-
>
59+
tabIndex={0}>
6160
<span className="bp4-button-text text-3xl md:text-4xl lg:text-5xl font-semibold">
62-
{t<string>("dash.get_started")}
61+
{t<string>('dash.get_started')}
6362
</span>
6463
</Link>
6564
{/* mobile Chrome/Safari needs w-full for padding to work properly, mobile Firefox works fine though... */}
6665
<div className="flex flex-col gap-4 w-full md:w-fit">
6766
<Card className="flex flex-col gap-4 items-center">
6867
<h1 className="text-center text-xl md:text-2xl lg:text-4xl">
69-
<b>{t<string>("dash.users_submitted")}</b>
68+
<b>{t<string>('dash.users_submitted')}</b>
7069
</h1>
7170
<div>
7271
{dataIsLoaded
73-
? data.map((entry, index) => (
74-
<DBEntryView dbEntry={entry} key={index} />
72+
? data.map((e, i) => (
73+
<DBCard
74+
className="border-0"
75+
key={'entry-' + i}
76+
entry={e}
77+
skipTags={-1}
78+
footer={
79+
<div className="flex flex-row flex-wrap place-content-end mr-2 gap-4">
80+
<a
81+
href={'https://gcsim.app/db/' + e._id}
82+
target="_blank"
83+
rel="noopener noreferrer">
84+
<Button className="bg-blue-600">Show Detail</Button>
85+
</a>
86+
</div>
87+
}
88+
/>
7589
))
76-
: t<string>("sim.loading")}
90+
: t<string>('sim.loading')}
7791
</div>
7892
<AnchorButton
7993
href="https://simpact.app/"
8094
intent="primary"
8195
target="_blank"
82-
className="!p-3 !rounded-md"
83-
>
96+
className="!p-3 !rounded-md">
8497
<span className="text-xl md:text-2xl font-semibold">
85-
{t<string>("dash.visit_teams_db")}
98+
{t<string>('dash.visit_teams_db')}
8699
</span>
87100
</AnchorButton>
88101
</Card>
@@ -91,10 +104,9 @@ export function Dash() {
91104
<>
92105
<div className="flex flex-col gap-4">
93106
<h1 className="text-center text-xl md:text-2xl lg:text-4xl">
94-
<b>{t<string>("dash.latest_release")}</b>
107+
<b>{t<string>('dash.latest_release')}</b>
95108
<a
96-
href={`https://github.com/genshinsim/gcsim/releases/tag/${tag}`}
97-
>
109+
href={`https://github.com/genshinsim/gcsim/releases/tag/${tag}`}>
98110
{tag}
99111
</a>
100112
</h1>
@@ -108,15 +120,14 @@ export function Dash() {
108120
href="https://github.com/genshinsim/gcsim/releases"
109121
intent="primary"
110122
target="_blank"
111-
className="!p-3 !rounded-md"
112-
>
123+
className="!p-3 !rounded-md">
113124
<span className="text-xl md:text-2xl font-semibold">
114-
{t<string>("dash.view_releases")}
125+
{t<string>('dash.view_releases')}
115126
</span>
116127
</AnchorButton>
117128
</>
118129
) : (
119-
t<string>("sim.loading")
130+
t<string>('sim.loading')
120131
)}
121132
</Card>
122133
</div>

ui/packages/ui/src/index.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import "@blueprintjs/core/lib/css/blueprint.css";
4444
import "@blueprintjs/icons/lib/css/blueprint-icons.css";
4545
import "@blueprintjs/popover2/lib/css/blueprint-popover2.css";
4646
import "@blueprintjs/select/lib/css/blueprint-select.css";
47+
import "@gcsim/components/src/index.css";
4748
import "./index.css";
4849

4950
// Two things must always be supplied to the UI for it to work

ui/packages/utils/src/index.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
export { useLocalStorage } from "./hooks";
2-
export { i18n } from "./i18n";
1+
export { useLocalStorage } from "./hooks";

ui/yarn.lock

Lines changed: 10 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1797,7 +1797,7 @@ __metadata:
17971797
languageName: node
17981798
linkType: hard
17991799

1800-
"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.24.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
1800+
"@babel/runtime@npm:^7.1.2, @babel/runtime@npm:^7.10.3, @babel/runtime@npm:^7.12.1, @babel/runtime@npm:^7.12.13, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.13.10, @babel/runtime@npm:^7.17.8, @babel/runtime@npm:^7.18.6, @babel/runtime@npm:^7.20.13, @babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.24.0, @babel/runtime@npm:^7.5.5, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.8.7, @babel/runtime@npm:^7.9.2":
18011801
version: 7.24.4
18021802
resolution: "@babel/runtime@npm:7.24.4"
18031803
dependencies:
@@ -3339,6 +3339,8 @@ __metadata:
33393339
"@types/react-dom": ^18.0.6
33403340
"@vitejs/plugin-react": ^3.1.0
33413341
axios: ^1.1.3
3342+
i18next: ^23.10.1
3343+
i18next-browser-languagedetector: ^7.2.0
33423344
prettier: ^2.8.3
33433345
prettier-plugin-organize-imports: ^3.2.2
33443346
react: ^18.2.0
@@ -3456,7 +3458,7 @@ __metadata:
34563458
lucide-react: ^0.360.0
34573459
react: ^18.2.0
34583460
react-dom: ^18.2.0
3459-
react-i18next: ^14.1.0
3461+
react-i18next: ^12.0.0
34603462
storybook: ^8.0.2
34613463
storybook-react-i18next: ^3.0.1
34623464
tailwind-merge: ^2.2.2
@@ -3535,8 +3537,8 @@ __metadata:
35353537
fast-deep-equal: ^3.1.3
35363538
file-saver: ^2.0.5
35373539
framer-motion: ^7.6.2
3538-
i18next: ^22.0.2
3539-
i18next-browser-languagedetector: ^7.0.1
3540+
i18next: ^23.10.1
3541+
i18next-browser-languagedetector: ^7.2.0
35403542
lodash-es: ^4.17.21
35413543
merge: ^2.1.1
35423544
pako: ^2.1.0
@@ -15217,12 +15219,12 @@ __metadata:
1521715219
languageName: node
1521815220
linkType: hard
1521915221

15220-
"i18next-browser-languagedetector@npm:^7.0.1, i18next-browser-languagedetector@npm:^7.2.0":
15221-
version: 7.2.1
15222-
resolution: "i18next-browser-languagedetector@npm:7.2.1"
15222+
"i18next-browser-languagedetector@npm:^7.2.0":
15223+
version: 7.2.2
15224+
resolution: "i18next-browser-languagedetector@npm:7.2.2"
1522315225
dependencies:
1522415226
"@babel/runtime": ^7.23.2
15225-
checksum: 159958be2d8f19444e9378512c36c2bf13a8ab85eddac2fc0000198a03dbc28c73a6f44594ab040b242bdc82dfeabb7c1ab805884b5438ee0a48a8e2b52ca062
15227+
checksum: d67e2da74fe7a6e1c1f7c96f59034cc43ff5b6f58b99ed9088985bdc80a03dfd19ceebe95e2721225edcf47e678c8190c6414445fe73f7d32fcdabf481a568a5
1522615228
languageName: node
1522715229
linkType: hard
1522815230

@@ -15235,15 +15237,6 @@ __metadata:
1523515237
languageName: node
1523615238
linkType: hard
1523715239

15238-
"i18next@npm:^22.0.2":
15239-
version: 22.5.1
15240-
resolution: "i18next@npm:22.5.1"
15241-
dependencies:
15242-
"@babel/runtime": ^7.20.6
15243-
checksum: 175f8ab7fac2abcee147b00cc2d8e7d4fa9b05cdc227f02cac841fc2fd9545ed4a6d88774f594f8ad12dc944e4d34cc8e88aa00c8b9947baef9e859d93abd305
15244-
languageName: node
15245-
linkType: hard
15246-
1524715240
"i18next@npm:^23.10.1":
1524815241
version: 23.10.1
1524915242
resolution: "i18next@npm:23.10.1"
@@ -21432,24 +21425,6 @@ __metadata:
2143221425
languageName: node
2143321426
linkType: hard
2143421427

21435-
"react-i18next@npm:^14.1.0":
21436-
version: 14.1.0
21437-
resolution: "react-i18next@npm:14.1.0"
21438-
dependencies:
21439-
"@babel/runtime": ^7.23.9
21440-
html-parse-stringify: ^3.0.1
21441-
peerDependencies:
21442-
i18next: ">= 23.2.3"
21443-
react: ">= 16.8.0"
21444-
peerDependenciesMeta:
21445-
react-dom:
21446-
optional: true
21447-
react-native:
21448-
optional: true
21449-
checksum: 96fbc4b0919b9f0c639f9f3eb35eecac528174aa97e3b1af469cfdbff4b34e40ae8969c26c0b737691a5fa9b56bb13093524cfca79b93cbd58f1319530da31b2
21450-
languageName: node
21451-
linkType: hard
21452-
2145321428
"react-icons@npm:^4.6.0":
2145421429
version: 4.12.0
2145521430
resolution: "react-icons@npm:4.12.0"

0 commit comments

Comments
 (0)