diff --git a/README.md b/README.md index 8e7dc53..c29c563 100644 --- a/README.md +++ b/README.md @@ -14,13 +14,14 @@ See deployment repo at: [https://github.com/morbalint/kemkas-deployment](https:/ ## Coding readmes -For frontend only see: [Frontend README](./Kemkas.Web/frontend/README.md) +For frontend only see: [Frontend README](./frontend/README.md) -To start development, spin up the docker-compose.yaml file and use the launchSettings.json to start the backend and frontend dev servers. +To start development, spin up the docker-compose.yaml file and use yarn to start frontend dev server. For the first time setup: -1. start the DB from the docker compose (required for the backend) -2. launch the project with the launchSettings file (will generate SSL certs) -3. spin up the proxy from docker compose (needs the SSL certs) +```shell +dotnet dev-certs https --clean && \ +dotnet dev-certs https --format PEM --no-password -ep ~/.aspnet/https/kemkas.pem --trust +``` -Later start the docker compose first and the project launch settings after the DB is up and running. +Later start the docker compose first and the project launch settings after the DB is up and running. diff --git a/frontend/src/second-edition/components/LevelUps.tsx b/frontend/src/second-edition/components/LevelUps.tsx index 4370c75..18330c5 100644 --- a/frontend/src/second-edition/components/LevelUps.tsx +++ b/frontend/src/second-edition/components/LevelUps.tsx @@ -44,7 +44,7 @@ function LevelUp(props: { return
-
{szint}. Szint
+

{szint}. Szint

{osztaly !== Osztaly2E.Druida &&
-
Másodlagos értékek
+

Másodlagos értékek (első szinten)

diff --git a/frontend/src/second-edition/components/Tulajdonsagok2E.tsx b/frontend/src/second-edition/components/Tulajdonsagok2E.tsx index 72e39d8..2bbec01 100644 --- a/frontend/src/second-edition/components/Tulajdonsagok2E.tsx +++ b/frontend/src/second-edition/components/Tulajdonsagok2E.tsx @@ -29,7 +29,7 @@ function Tulajdonsagok(props: { const tulajdonsagok = props.tulajdonsagok ?? karakter.tulajdonsagok return <>
-
Tulajdonságok
+

Tulajdonságok

+
+
+
+ {v?.leiras} + {v?.megfordithato && Megfordítható{' '}} + {v?.komponens && Kötelező komponens: {v.komponens}{' '}} + {v?.opcionalis_komponens && Opcionális komponens: {v.opcionalis_komponens}{' '}} +
+ ))} + {availableSpells.length > 0 && } + ; +} + +export default VarazskonyvSzint \ No newline at end of file diff --git a/frontend/src/second-edition/components/Varazslatok.tsx b/frontend/src/second-edition/components/Varazslatok.tsx index e79b934..fe3dcef 100644 --- a/frontend/src/second-edition/components/Varazslatok.tsx +++ b/frontend/src/second-edition/components/Varazslatok.tsx @@ -1,65 +1,18 @@ import React from "react"; -import {ClassSpells, KarakterVarazslat} from "../domain-models/varazslat"; import {getClassLevels} from "../domain-models/szintlepes"; -import {useDispatch, useSelector} from "react-redux"; -import {AppDispatch, RootState} from "../../store"; -import {addVarazslat, characterSelector, setVarazslat} from "../domain-models/characterSlice"; +import {useSelector} from "react-redux"; +import {RootState} from "../../store"; +import {characterSelector} from "../domain-models/characterSlice"; import {Osztaly2E} from "../domain-models/osztaly2E"; -import VarazslatSelector from "../display-components/VarazslatSelector"; - -function VarazskonyvSzint(props: {osztaly: Osztaly2E, level: number, varazslatok: KarakterVarazslat[]}) { - const {level, osztaly, varazslatok} = props; - const dispatch = useDispatch.withTypes()() - - const classSpells = ClassSpells(osztaly) - const leveledSpells = classSpells.filter(v => v.szint === level) - const selectedSpells = varazslatok.map(v => { - return leveledSpells.find(x => x.id === v.id) - }).filter(x => !!x) - const availableSpells = leveledSpells.filter(v => varazslatok.every(x => x.id !== v.id)) - - return <> -
{level}. Szintű varázslatok
- {selectedSpells.map((v, i) => ( - dispatch(setVarazslat({prev: v.id, next: nextId}))} - />))} - {availableSpells.length > 0 && } - ; - -} - -function Varazskonyv(props: {osztaly: Osztaly2E, varazslatok: KarakterVarazslat[] }) { - const {osztaly, varazslatok } = props; - - const classSpells = ClassSpells(osztaly) - const spells = varazslatok.map(v => classSpells.find(x => x.id === v.id)).filter(x => !!x) - - return <> -

Varázslói Varázskönyv

- - {spells.some(v => v.szint === 0) && } - {spells.some(v => v.szint === 1) && } - {spells.some(v => v.szint === 2) && } - {spells.some(v => v.szint === 3) && } - {spells.some(v => v.szint === 4) && } - ; -} +import Varazskonyv from "./Varazskonyv"; function Varazslatok() { const karakter = useSelector.withTypes()(characterSelector) const classLevels = getClassLevels(karakter.szintlepesek) - return <> {classLevels[Osztaly2E.Varazslo] > 0 && } + {classLevels[Osztaly2E.Illuzionista] > 0 && } } diff --git a/frontend/src/second-edition/domain-models/characterSlice.ts b/frontend/src/second-edition/domain-models/characterSlice.ts index f0cd3dc..a5d3886 100644 --- a/frontend/src/second-edition/domain-models/characterSlice.ts +++ b/frontend/src/second-edition/domain-models/characterSlice.ts @@ -96,14 +96,17 @@ export const characterSlice = createSlice({ setFelszereles: (state, action: {payload: KarakterFelszereles}) => { state.felszereles = action.payload; }, + addVarazslat: (state, action: {payload: string}) => { + state.varazslatok = [...state.varazslatok, {id: action.payload, bekeszitve: false}]; + }, setVarazslat: (state, action: {payload: {prev: string, next: string}}) => { let spell = state.varazslatok.find(x => x.id === action.payload.prev) if (spell !== undefined) { spell.id = action.payload.next } }, - addVarazslat: (state, action: {payload: string}) => { - state.varazslatok = [...state.varazslatok, {id: action.payload, bekeszitve: false}]; + removeVarazslat: (state, action: {payload: string}) => { + state.varazslatok = [...state.varazslatok.filter(x => x.id !== action.payload)]; }, } }) @@ -159,8 +162,9 @@ export const { setKepzettsegek, setTolvajKepzettsegek, setFelszereles, - setVarazslat, addVarazslat, + setVarazslat, + removeVarazslat, } = characterSlice.actions export const characterSelector = characterSlice.selectSlice diff --git a/frontend/src/second-edition/pages/CreateCharacter2E.tsx b/frontend/src/second-edition/pages/CreateCharacter2E.tsx index 242ee27..cd86149 100644 --- a/frontend/src/second-edition/pages/CreateCharacter2E.tsx +++ b/frontend/src/second-edition/pages/CreateCharacter2E.tsx @@ -99,14 +99,14 @@ function CreateCharacter2E(props: {
event.preventDefault()}>
-
Származás
+

Származás



-
Tanult
+

Tanult

{karakter.szintlepesek[0].osztaly === Osztaly2E.Harcos && }