Compare commits
No commits in common. "f6a53c7b4d4126e52596bb0f92477754d1ea187d" and "af77d6bd0a1dcdf9b40d8c2d7604d5867d49ace7" have entirely different histories.
f6a53c7b4d
...
af77d6bd0a
32
src/App.css
32
src/App.css
|
@ -20,14 +20,12 @@
|
||||||
unicode-range: U+0600-06FF;
|
unicode-range: U+0600-06FF;
|
||||||
} */
|
} */
|
||||||
|
|
||||||
.ais-SearchBox {
|
.ais-SearchBox { margin: 1em 0; }
|
||||||
margin: 1em 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.table-of-contents {
|
.table-of-contents {
|
||||||
padding-top: 1rem;
|
padding-top: 1rem;
|
||||||
position: sticky !important;
|
position: sticky !important;
|
||||||
top: 4rem;
|
top: 1rem;
|
||||||
height: calc(100vh - 2rem);
|
height: calc(100vh - 2rem);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
@ -36,15 +34,12 @@
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: #21252A;
|
color: #21252A;
|
||||||
}
|
}
|
||||||
|
|
||||||
.heading-link:hover {
|
.heading-link:hover {
|
||||||
color: #21252A;
|
color: #21252A;
|
||||||
}
|
}
|
||||||
|
|
||||||
.heading-link:active {
|
.heading-link:active {
|
||||||
color: #21252A;
|
color: #21252A;
|
||||||
}
|
}
|
||||||
|
|
||||||
.heading-link:visited {
|
.heading-link:visited {
|
||||||
color: #21252A;
|
color: #21252A;
|
||||||
}
|
}
|
||||||
|
@ -72,30 +67,19 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 821px) {
|
@media (min-width: 821px) {
|
||||||
header {
|
.sticky-on-big {
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 0;
|
||||||
z-index: 9999999;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.sticky-on-big {
|
|
||||||
position: fixed;
|
|
||||||
top: 65px;
|
|
||||||
bottom: 0;
|
|
||||||
overflow-y: scroll;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 820px) {
|
@media (max-width: 820px) {
|
||||||
.main-row {
|
.main-row {
|
||||||
height: calc(100vh - 62px);
|
height: calc(100vh - 62px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.header-title {
|
.header-title {
|
||||||
margin-left: 3.5rem;
|
margin-left: 3.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.side-nav-btn {
|
.side-nav-btn {
|
||||||
display: block;
|
display: block;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
|
@ -103,11 +87,9 @@
|
||||||
background: white;
|
background: white;
|
||||||
margin-left: 0.25rem;
|
margin-left: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
aside {
|
aside {
|
||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.side-nav {
|
.side-nav {
|
||||||
display: block;
|
display: block;
|
||||||
min-width: 15rem;
|
min-width: 15rem;
|
||||||
|
@ -119,12 +101,10 @@
|
||||||
z-index: 99999;
|
z-index: 99999;
|
||||||
transition: all 0.25s linear;
|
transition: all 0.25s linear;
|
||||||
}
|
}
|
||||||
|
|
||||||
.side-nav-closed {
|
.side-nav-closed {
|
||||||
transform: translate(-100%);
|
transform: translate(-100%);
|
||||||
-webkit-transform: translate(-100%);
|
-webkit-transform: translate(-100%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.overlay {
|
.overlay {
|
||||||
display: block;
|
display: block;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
|
@ -138,7 +118,6 @@
|
||||||
/* animate the transition */
|
/* animate the transition */
|
||||||
transition: all 0.2s ease-in-out;
|
transition: all 0.2s ease-in-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
.overlay-showing {
|
.overlay-showing {
|
||||||
z-index: 99998;
|
z-index: 99998;
|
||||||
top: 0;
|
top: 0;
|
||||||
|
@ -185,7 +164,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.side-nav-item-selected {
|
.side-nav-item-selected {
|
||||||
background-color: rgb(25, 101, 189, 0.3);
|
background-color: rgb(25,101,189, 0.3);
|
||||||
}
|
}
|
||||||
|
|
||||||
.side-nav-item-secondary {
|
.side-nav-item-secondary {
|
||||||
|
@ -207,7 +186,6 @@
|
||||||
color: inherit;
|
color: inherit;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.copyright a:hover {
|
.copyright a:hover {
|
||||||
color: inherit;
|
color: inherit;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { useEffect, useState } from "react";
|
import { useState } from "react";
|
||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import classNames from "classnames";
|
import classNames from "classnames";
|
||||||
import SmoothCollapse from "react-smooth-collapse";
|
import SmoothCollapse from "react-smooth-collapse";
|
||||||
|
@ -19,31 +19,17 @@ function Sidebar({ content, navOpen, setNavOpen, pathname }) {
|
||||||
));
|
));
|
||||||
const openSectionHeading = openSection ? openSection.heading : "";
|
const openSectionHeading = openSection ? openSection.heading : "";
|
||||||
const [sectionOpen, setSectionOpen] = useState(openSectionHeading);
|
const [sectionOpen, setSectionOpen] = useState(openSectionHeading);
|
||||||
const [sidebarWidth, setSidebarWidth] = useState(200);
|
|
||||||
useEffect(() => {
|
|
||||||
const s = document.getElementById("sidebar");
|
|
||||||
if (s) {
|
|
||||||
setSidebarWidth(s.offsetWidth);
|
|
||||||
}
|
|
||||||
window.addEventListener("resize", () => {
|
|
||||||
const s = document.getElementById("sidebar");
|
|
||||||
if (s) {
|
|
||||||
setSidebarWidth(s.offsetWidth);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}, []);
|
|
||||||
function handleHeadingClick(h) {
|
function handleHeadingClick(h) {
|
||||||
setSectionOpen(h === sectionOpen ? "" : h);
|
setSectionOpen(h === sectionOpen ? "" : h);
|
||||||
}
|
}
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<aside
|
<aside
|
||||||
id="sidebar"
|
|
||||||
className={classNames(
|
className={classNames(
|
||||||
"side-nav col-3 col-lg-2 p-0 bg-light",
|
"side-nav col-3 col-lg-2 p-0 bg-light",
|
||||||
{ "side-nav-closed": !navOpen }
|
{ "side-nav-closed": !navOpen }
|
||||||
)}>
|
)}>
|
||||||
<nav className="sticky-on-big flex-column align-items-start" style={{ width: `${sidebarWidth}px` }}>
|
<nav className="sticky-on-big flex-column align-items-start">
|
||||||
<Link to="/table-of-contents" style={{ textDecoration: "none", color: "inherit" }} onClick={() => setNavOpen(false)}>
|
<Link to="/table-of-contents" style={{ textDecoration: "none", color: "inherit" }} onClick={() => setNavOpen(false)}>
|
||||||
<div className={classNames(
|
<div className={classNames(
|
||||||
"side-nav-item",
|
"side-nav-item",
|
||||||
|
|
|
@ -37,7 +37,7 @@ export const basicVerbs = verbs.filter(
|
||||||
</Link>
|
</Link>
|
||||||
</Formula>
|
</Formula>
|
||||||
|
|
||||||
The <i className="fas fa-video" /> **imperfective imperative** is used when you want to tell someone to something repeatedly, in general, or if you're wanting them to get going on action that will be ongoing. It's used for giving commands in the <i className="fas fa-video" /> <Link to="/verbs/verb-aspect/#imperfective-aspect">imperfective aspect</Link>. It's also used when you want to emphasize the firmness or certainty of a command, regardless of aspect.
|
The <i className="fas fa-video" /> **imperfective imperative** is used when you want to tell someone to something repeatedly, in general, or if you're wanting them to get going on action that will be ongoing.
|
||||||
|
|
||||||
<div className="text-center">
|
<div className="text-center">
|
||||||
<img src={imperfectiveImperative} alt="" className="img-fluid" />
|
<img src={imperfectiveImperative} alt="" className="img-fluid" />
|
||||||
|
@ -171,7 +171,7 @@ For Pashto learners, having a choice between the perfective and imperfective imp
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
Notice how the in the perfective form _the accent is always on the front_ because it's based on the <Link to="/verbs/roots-and-stems/">perfective stem</Link>
|
Notice how the in the perfective form _the accent is always on the front_ because it's based on the <Link to="/verbs/roots-and-stems/">perfective stem</Link>.
|
||||||
|
|
||||||
### Singular and Plural
|
### Singular and Plural
|
||||||
|
|
||||||
|
@ -215,35 +215,6 @@ You will notice there are only two <Link to="/verbs/verb-endings/#imperative-ver
|
||||||
|
|
||||||
<GameDisplay record={imperativeVerbGame2} />
|
<GameDisplay record={imperativeVerbGame2} />
|
||||||
|
|
||||||
### Using the Imperfective Imperative for Emphasis
|
|
||||||
|
|
||||||
You might remember that we can use the <Link to="/verbs/future-verbs/#imperfective-future">imperfective future</Link> to emphasize the _certainty_ of something happen, like saying that something will _definately_ happen, regardless of aspect.
|
|
||||||
|
|
||||||
In the same way, we can use the <i className="fas fa-video" /> <Link to="/verbs/imperative-verbs/#imperfective-imperative">imperfective imperative</Link> to make a command more forceful and certain, kind of saying "definately make sure you do this!"
|
|
||||||
|
|
||||||
<Examples opts={opts}>
|
|
||||||
{psmd([
|
|
||||||
{
|
|
||||||
p: "دا عکس راته **ولېږه**!",
|
|
||||||
f: "daa aks raa-ta **óoleGa**!",
|
|
||||||
e: "Send me that picture.",
|
|
||||||
sub: "Perfective - one time request",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
p: "عکسونه راته **لېږه**!",
|
|
||||||
f: "aksóona raa-ta **leGá**!",
|
|
||||||
e: "Send me pictures.",
|
|
||||||
sub: "Imperfective - send again and again, over time",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
p: "دا عکس راته **لېږه**!",
|
|
||||||
f: "daa aks raa-ta **leGá**!",
|
|
||||||
e: "Definately send me that picture!",
|
|
||||||
sub: "Imperfective form used to make the one time request more forceful and definite.",
|
|
||||||
},
|
|
||||||
])}
|
|
||||||
</Examples>
|
|
||||||
|
|
||||||
## Negative Imperatives
|
## Negative Imperatives
|
||||||
|
|
||||||
**In the negative form of commands** (ie. _"Don't \_\_\_\_"_), **the aspect choice dissapears**. There is no imperfective/perfective option with negative imperatives, there's only one form.
|
**In the negative form of commands** (ie. _"Don't \_\_\_\_"_), **the aspect choice dissapears**. There is no imperfective/perfective option with negative imperatives, there's only one form.
|
||||||
|
|
Loading…
Reference in New Issue