Skip to content

Instantly share code, notes, and snippets.

View amorkovin's full-sized avatar

Андрей Морковин amorkovin

View GitHub Profile
// Получаю данные из firebase
componentDidMount() {
database.ref(this.urlRequest).once('value').then(res=>{
this.setState({
wordArr: res.val() || [],
})
})
}
// Другой метод получения данных. Он будет следить за изменениями данных.
@amorkovin
amorkovin / react-async.js
Last active July 2, 2020 09:13
Реакт: асинхронные функции
// Просто fetch, который асинхронно что-то сделал
handleOnSearch = () => {
const text = 'time';
const lang = 'en-ru';
fetch(
`https://reactmarathon-api.netlify.app/api/translate?text=${text}&lang=${lang}`,
{
headers: {
'Authorization': 'dict.1.1.20200629T110424Z.820c51d0c3c6ce08.edfcf3c77862c014dce8158ae4581d8a842e9b30'
@amorkovin
amorkovin / react-form.js
Created July 2, 2020 08:20
Реакт: отправка полей формы
const wordsList = [
{
eng: 'between',
rus: 'между',
id: 1
},
{
eng: 'high',
rus: 'высокий',
id: 2
@amorkovin
amorkovin / user_post_type_wordpress.php
Last active June 5, 2020 14:04
Настройка произвольного типа записи в WordPress с редиректами в случае изменения url и с присутствием в url части от термина таксономии
<?php
// Решаю проблему отстутствия редиректа и непраивльного canonical от Yoast SEO в случае изменения части URL для произвольного типа записи.
// Если произвольный тип записи зарегистрирован следующим обарзом
register_taxonomy( 'tournaments', [ 'fight' ], [
'label' => '',
'labels' => [
'name' => 'Турниры',
'singular_name' => 'Турнир',
'search_items' => 'Поиск',
@amorkovin
amorkovin / php-interesting.php
Last active September 8, 2020 13:37
Разное интересное в PHP
<?php
//Разбирает URL и возвращает его компоненты (в данном случае вернется доменное имя)
parse_url($comment->comment_author_url, PHP_URL_HOST)
// Удаляет теги (может вторым параметром получить тег, который не надо удалять). В примере разрешено оставить тег br.
strip_tags($input, '<br>');
// Редирект на php в любой момент ;)
echo "<script>window.location = '$next_iteration_url'</script>";
@amorkovin
amorkovin / content_trim_wp.txt
Last active May 26, 2020 07:06
Плавный разворот свернутого контента WordPress. Контент обрезается кнопкой «Читать далее». Клик по кнопке плавно разворачивает обрезанный контет.
// Плавный разворот свернутого контента WordPress. Контент обрезается кнопкой «Читать далее». Клик по кнопке плавно разворачивает обрезанный контет.
// JavaScript
window.addEventListener('load', function () {
const read_more_btns = document.querySelectorAll('.reviews-ac__read-more_js');
if (read_more_btns.length) {
read_more_btns.forEach((item) => {
item.addEventListener('click', (e) => {
man_account_review_read_more_review_click(e);
})
@amorkovin
amorkovin / horizontal-scroll.js
Last active January 4, 2021 18:18
Кнопки для горизонтальной прокрутки таблицы
// HTML
<div class="trading-page__pricing-table-wrap table-wrap">
<div class="table-wrap__inner">
<table>
...
</table>
</div>
</div>
@amorkovin
amorkovin / timer.js
Last active April 10, 2020 08:42
Таймер JavaScript
// Таймер будет вставлен в начало node wrapper_timer.
// Через 1 минуту в коносоль выведется test123. Таймер на 1 минуту будет отображен в начале node footer
const footer = document.querySelector('.footer');
man_get_timer('test_timer', footer, 1, function(){
console.log('test123');
});
// Таймер будет вставлен в начало wrapper_timer.
function man_get_timer(timer_id, wrapper_timer, min_timer_pause, after_stop_timer_function) {
@amorkovin
amorkovin / flex.txt
Last active October 29, 2020 11:38
Flex разное
Перенос на следующую строку
flex-wrap: wrap;
justify-content — управляет выравниванием элементов по главной оси.
По умолчанию выстраивает элементы в начале блока. justify-content: flex-start
justify-content: flex-start;
justify-content: flex-end;
justify-content: center;
justify-content: space-between;
justify-content: space-around;
@amorkovin
amorkovin / mobile_menu_position.js
Created January 23, 2020 13:13
Изменение положения мобильного меню при прокрутке
//Меняю положение мобильного меню при прокрутке
function man_mobile_menu_position( mobile_menu ) {
const rect_menu = mobile_menu.getBoundingClientRect();
const rect_footer = document.querySelector('.footer').getBoundingClientRect();
const rect_header = document.querySelector('.header').getBoundingClientRect();
//Если сверху прокручено меньше чем высота шапки, то убрать фиксацию мобильного меню.
if ( window.pageYOffset <= rect_header.height ) {
if ( mobile_menu.classList.contains('fixed') ) {
mobile_menu.classList.remove('fixed');