added negative to imperative verbs quiz
This commit is contained in:
parent
a606bbb7d7
commit
ce7c477218
|
@ -7,7 +7,7 @@
|
||||||
"@formkit/auto-animate": "^1.0.0-beta.1",
|
"@formkit/auto-animate": "^1.0.0-beta.1",
|
||||||
"@fortawesome/fontawesome-free": "^5.15.4",
|
"@fortawesome/fontawesome-free": "^5.15.4",
|
||||||
"@lingdocs/lingdocs-main": "^0.3.3",
|
"@lingdocs/lingdocs-main": "^0.3.3",
|
||||||
"@lingdocs/pashto-inflector": "^3.8.9",
|
"@lingdocs/pashto-inflector": "^3.9.0",
|
||||||
"@testing-library/jest-dom": "^5.11.4",
|
"@testing-library/jest-dom": "^5.11.4",
|
||||||
"@testing-library/react": "^11.1.0",
|
"@testing-library/react": "^11.1.0",
|
||||||
"@testing-library/user-event": "^12.1.10",
|
"@testing-library/user-event": "^12.1.10",
|
||||||
|
|
|
@ -35,6 +35,7 @@ import { baParticle } from "@lingdocs/pashto-inflector/dist/lib/grammar-units";
|
||||||
import { intransitivePastVerbs } from "../../content/verbs/basic-present-verbs";
|
import { intransitivePastVerbs } from "../../content/verbs/basic-present-verbs";
|
||||||
import { makePool } from "../../lib/pool";
|
import { makePool } from "../../lib/pool";
|
||||||
import { wordQuery } from "../../words/words";
|
import { wordQuery } from "../../words/words";
|
||||||
|
import { isImperativeTense } from "@lingdocs/pashto-inflector/dist/lib/type-predicates";
|
||||||
|
|
||||||
const kidsColor = "#017BFE";
|
const kidsColor = "#017BFE";
|
||||||
|
|
||||||
|
@ -198,7 +199,7 @@ const VerbGame: GameSubCore<VerbGameLevel> = ({ id, link, level, inChapter }: {
|
||||||
VP,
|
VP,
|
||||||
{ removeKing: false, shrinkServant: false },
|
{ removeKing: false, shrinkServant: false },
|
||||||
true,
|
true,
|
||||||
{ ba: true, verb: true },
|
{ ba: true, verb: true, negative: true },
|
||||||
);
|
);
|
||||||
const phrase = {
|
const phrase = {
|
||||||
ps: compiled.ps,
|
ps: compiled.ps,
|
||||||
|
@ -329,7 +330,9 @@ function QuestionDisplay({ question, userAnswer }: {
|
||||||
{x}
|
{x}
|
||||||
</div>)}
|
</div>)}
|
||||||
</div>}
|
</div>}
|
||||||
<div>{humanReadableVerbForm(v.block.tense)}</div>
|
<div>{(isImperativeTense(v.block.tense) && v.block.negative)
|
||||||
|
? "Negative Imperative"
|
||||||
|
: humanReadableVerbForm(v.block.tense)}</div>
|
||||||
</div>;
|
</div>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -451,6 +454,9 @@ function makeVPS({ verb, king, servant, tense, defaultTransitivity }: {
|
||||||
...vps,
|
...vps,
|
||||||
verb: {
|
verb: {
|
||||||
...vps.verb,
|
...vps.verb,
|
||||||
|
negative: isImperativeTense(tense)
|
||||||
|
? randFromArray([false, false, true])
|
||||||
|
: false,
|
||||||
transitivity,
|
transitivity,
|
||||||
tense,
|
tense,
|
||||||
},
|
},
|
||||||
|
@ -479,11 +485,18 @@ function makeVPS({ verb, king, servant, tense, defaultTransitivity }: {
|
||||||
|
|
||||||
function getVerbPs({ blocks }: T.VPRendered): T.PsString[] {
|
function getVerbPs({ blocks }: T.VPRendered): T.PsString[] {
|
||||||
const { perfectiveHead, verb } = blockUtils.getVerbAndHeadFromBlocks(blocks);
|
const { perfectiveHead, verb } = blockUtils.getVerbAndHeadFromBlocks(blocks);
|
||||||
|
const mU = blocks[0].find(b => b.block.type === "negative" && b.block.imperative);
|
||||||
|
function vBase() {
|
||||||
if (!perfectiveHead) {
|
if (!perfectiveHead) {
|
||||||
return flattenLengths(verb.block.ps);
|
return flattenLengths(verb.block.ps);
|
||||||
}
|
}
|
||||||
return flattenLengths(verb.block.ps).map(r => concatPsString(perfectiveHead.ps, r));
|
return flattenLengths(verb.block.ps).map(r => concatPsString(perfectiveHead.ps, r));
|
||||||
}
|
}
|
||||||
|
if (mU) {
|
||||||
|
return vBase().map(b => concatPsString({ p: "مه", f: "mÚ" }, " ", b));
|
||||||
|
}
|
||||||
|
return vBase();
|
||||||
|
}
|
||||||
|
|
||||||
function verbHasBa({ blocks }: T.VPRendered): boolean {
|
function verbHasBa({ blocks }: T.VPRendered): boolean {
|
||||||
const verb = blockUtils.getVerbFromBlocks(blocks);
|
const verb = blockUtils.getVerbFromBlocks(blocks);
|
||||||
|
|
|
@ -1804,10 +1804,10 @@
|
||||||
rambda "^6.7.0"
|
rambda "^6.7.0"
|
||||||
react-select "^5.2.2"
|
react-select "^5.2.2"
|
||||||
|
|
||||||
"@lingdocs/pashto-inflector@^3.8.9":
|
"@lingdocs/pashto-inflector@^3.9.0":
|
||||||
version "3.8.9"
|
version "3.9.0"
|
||||||
resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-3.8.9.tgz#c023449dc13dbc32ef95cef172a68b5b0b4659bf"
|
resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-3.9.0.tgz#abcea34db1d7031e7915c1bc6281b88df6c8ca2b"
|
||||||
integrity sha512-60hAao+ADerI5hOMeJzYmrSCliwTqCndbUlx1Ke58s2FikxDqUb9/wb700JVbhsVLyRdr6tGg+YslDf4irr5tA==
|
integrity sha512-6KARwTVmt/qJaOrvIbQlQhIfseB0sM9HrfWGpkRUQZK4eGmo6Qpnne8PBJQe1CQZCuAKgDjpwDHz3CssFIOegA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@formkit/auto-animate" "^1.0.0-beta.1"
|
"@formkit/auto-animate" "^1.0.0-beta.1"
|
||||||
classnames "^2.2.6"
|
classnames "^2.2.6"
|
||||||
|
|
Loading…
Reference in New Issue