<link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet"><script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
<script>
AOS.init();
</script>import React from 'react';
import classes from './Dialogs.module.css';
import DialogItem from "./DialogItem/DialogItem";
import Message from "./Message/Message";
import {Redirect} from "react-router-dom";
import {Field, Form, Formik} from 'formik';
const Dialogs = (props) => {
let state = props.dialogsPage;
let dialogsElements = state.dialogs
.map(el => <DialogItem name={el.name} key={el.id} id={el.id} avatar={el.avatar}/>);
let messagesElements = state.messages
.map(el => <Message message={el.message} key={el.id}/>);
if (!props.isAuth) return <Redirect to={"/login"}/>;
return (
<div className={classes.dialogs}>
<div className={classes.dialogsItems}>
{dialogsElements}
</div>
<div className={classes.messages}>
<div>{messagesElements}</div>
</div>
<AddMessageForm sendMessage={props.sendMessage}/>
</div>
)
}
const AddMessageForm = (props) => {
const initialValues = {
newMessageBody: ''
}
const onSubmit = values => {
props.sendMessage(values.newMessageBody);
console.log('запись', values)
}
return (
<Formik initialValues={initialValues} onSubmit={onSubmit}>
<Form>
<div>
<div>
<Field as='textarea'
id='newMessageBody'
name='newMessageBody'/>
</div>
<button type='submit'>Submit</button>
</div>
</Form>
</Formik>
)
}
export default Dialogs; // Отрисовываем карточки
const cards = document.querySelectorALl("card selector")
for(const card of cards) {
card.addEventListener("click", e => {
// у каждой карточки в атрибуте id задайте ID индификатор (_id) card.id = _id
const id = e.target.id // получаем индификатор и отправляем на сервер
})
} const WorkQuery = graphql`
query WP_Posts {
allWpPost {
edges {
post: node {
id
title
slug
excerpt
uri
}
}
}
}
}
`
const Work = () => {
const query = useStaticQuery()
return (
{query.allWpPost.edges.map(({ post }) => (
<div>
<Link to={post.slug}>
<p>{post.title}</p>
</Link>
<div dangerouslySetInnerHTML={{ __html: post.excerpt }} />
</div>
))}
)
}
export default Work- export const WorkQuery = graphql`
query WP_Posts {
allWpPost {
edges {
post: node {
id
title
slug
excerpt
uri
}
}
}
}
}
`-
+ export const query = graphql`
query WP_Posts {
allWpPost {
edges {
post: node {
id
title
slug
excerpt
uri
}
}
}
}
}
`import React from "react"
function App(props) {
// при изменении путя работает только с путем #
window.onhashchange = () => {
switch (document.location.pathname) {
case '/': {
return <Index />
}
default: {
return <h1>Error</h1>
}
}
}
}
export default Appimport App from "path/to/App.js(x)"
ReactDOM.render(
<App />
document.getElementById('root'),
);<div class="calc-wrapper">
<div class="calculator">
<div class="input-wrap">
<input readonly="readonly" dir="rtl" value="0" type="text" class="input">
// Атрибут dir -
</div>
<div class="buttons-wrap">
<!-- 1 ряд -->
<div value="remLastSym" class="casual-btns back-btn">←</div>
<div value="clearInp" class="casual-btns CE-btn">CE</div>
<div value="remLastDig" class="casual-btns C-btn">C</div>
<div value="+" class="casual-btns plus-btn">+</div>
<!-- 2 ряд -->
<div value="7" class="casual-btns btn-seven">7</div>
<div value="8" class="casual-btns btn-eight">8</div>
<div value="9" class="casual-btns btn-nine">9</div>
<div value="-" class="casual-btns btn-minus">-</div>
<!-- 3 ряд -->
<div value="4" class="casual-btns btn-four">4</div>
<div value="5" class="casual-btns btn-five">5</div>
<div value="6" class="casual-btns btn-six">6</div>
<div value="*" class="casual-btns btn-multiply">*</div>
<!-- 4 ряд -->
<div value="1" class="casual-btns btn-one">1</div>
<div value="2" class="casual-btns btn-two">2</div>
<div value="3" class="casual-btns btn-three">3</div>
<div value="/" class="casual-btns btn-split">/</div>
<!-- 5 ряд -->
<div value="0" class="btn-zero casual-btns btn-zero">0</div>
<div value="." class="casual-btns btn-three">.</div>
<div value="=" class="casual-btns btn-equally">=</div>
</div>
</div>
</div>