mirror of
https://github.com/morbalint/kemkas.git
synced 2026-07-18 03:13:46 +00:00
refactor to use redux WIP
just pushing to save data
This commit is contained in:
@@ -1,12 +1,18 @@
|
||||
import React from "react";
|
||||
import KepzettsegSelector from "./KepzettsegSelector2E";
|
||||
import KepzettsegSelector from "../display-components/KepzettsegSelector2E";
|
||||
import {
|
||||
GetKepzettsegListaN,
|
||||
GetNumberOfKepzettsegek,
|
||||
Kepzettseg,
|
||||
Kepzettsegek,
|
||||
KepzettsegId,
|
||||
TolvajKepzettsegList,
|
||||
} from "../domain-models/kepzettsegek2E";
|
||||
import {arraySetN} from "../../util";
|
||||
import {useDispatch, useSelector} from "react-redux";
|
||||
import {AppDispatch, RootState} from "../../store";
|
||||
import {characterSelector, setKepzettsegek, setTolvajKepzettsegek} from "../domain-models/characterSlice";
|
||||
import {TulajdonsagokFajjal} from "../domain-models/faj2E";
|
||||
|
||||
function InternalKepzettsegekSelector(props: {
|
||||
title: string,
|
||||
@@ -59,15 +65,19 @@ function InternalKepzettsegekSelector(props: {
|
||||
|
||||
}
|
||||
|
||||
function KarakterKepzettsegek (props: {
|
||||
numberOfKepzettsegek: number
|
||||
kepzettsegek: KepzettsegId[],
|
||||
changeKepzettsegek: (newKepzettsegek: KepzettsegId[]) => void
|
||||
tolvajKepzettsegek: KepzettsegId[],
|
||||
changeTolvajKepzettsegek: (newKepzettsegek: KepzettsegId[]) => void
|
||||
getKepzettsegListaN: (n: number) => Kepzettseg[]
|
||||
}) {
|
||||
const { kepzettsegek, numberOfKepzettsegek, getKepzettsegListaN, changeKepzettsegek, tolvajKepzettsegek, changeTolvajKepzettsegek} = props
|
||||
function KarakterKepzettsegek () {
|
||||
const karakter = useSelector.withTypes<RootState>()(characterSelector);
|
||||
const dispatch = useDispatch.withTypes<AppDispatch>()();
|
||||
|
||||
const tulajdonsagokFajjal = TulajdonsagokFajjal(karakter.tulajdonsagok, karakter.faj)
|
||||
const numberOfKepzettsegek = GetNumberOfKepzettsegek(tulajdonsagokFajjal.t_int, karakter.faj)
|
||||
const kepzettsegek = karakter.kepzettsegek
|
||||
const fajError = karakter.kepzettsegFajError
|
||||
const osztalyError = karakter.kepzettsegOsztalyError
|
||||
const tolvajKepzettsegek = karakter.tolvajKepzettsegek || []
|
||||
const getKepzettsegListaN = GetKepzettsegListaN(karakter)
|
||||
const changeKepzettsegek = (k: KepzettsegId[]) => dispatch(setKepzettsegek(k))
|
||||
const changeTolvajKepzettsegek = (k: KepzettsegId[]) => dispatch(setTolvajKepzettsegek(k))
|
||||
|
||||
// TODO: Birodalmi tolvajnal az Alikmia, vagy Meregkeveres kezelese
|
||||
|
||||
@@ -85,7 +95,10 @@ function KarakterKepzettsegek (props: {
|
||||
kepzettsegek={kepzettsegek}
|
||||
dataTestId={"kepzettseg"}
|
||||
/>
|
||||
|
||||
{fajError && (
|
||||
<span className='form-field-error'>{fajError}</span>)}
|
||||
{osztalyError && (
|
||||
<span className='form-field-error'>{osztalyError}</span>)}
|
||||
{tolvajKepzettsegek.length > 0 && <InternalKepzettsegekSelector
|
||||
title="Tolvaj képzettségek"
|
||||
numberOfKepzettseg={4}
|
||||
|
||||
Reference in New Issue
Block a user