Skip to content

Instantly share code, notes, and snippets.

.mouse-icon {
position: relative;
border: 2px solid #fff;
border-radius: 16px;
height: 50px;
width: 30px;
margin: 0 auto;
display: block;
z-index: 10;
}
@olegpolyakov
olegpolyakov / webpack.config.js
Created March 16, 2017 21:31
Webpack configuration for React
const path = require('path');
const webpack = require('webpack');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: {
library: './src/library/index.jsx',
player: './src/player/index.jsx',
vendor: ['react', 'react-dom']
@olegpolyakov
olegpolyakov / .eslintrc
Created March 22, 2017 12:36
ES List configuration
{
"env": {
"es6": true,
"node": true
},
"extends": "eslint:recommended",
"parserOptions": {
"ecmaVersion": 2017
},
"rules": {
@olegpolyakov
olegpolyakov / server.js
Created March 16, 2017 21:30
Node app using vhost
'use strict';
const express = require('express');
const vhost = require('vhost');
const site = require('./site');
const app = require('./app');
const api = require('./api');
const admin = require('./admin');
form#login-form(method='post')
input(type='hidden' name='_csrf' value=_csrfToken)
+input('text', 'username', 'Имя пользователя', null, 'Только маленькие латинские буквы и цифры без пробелов')(minlength='2' maxlength='32' pattern='^[a-z0-9]+$')
+input('password', 'password', 'Пароль')(required maxlength='128')
button#submit(type='submit').mdc-button.mdc-button--accent.mdc-button--raised.mdc-button--full-width Войти
a(href='/auth/reset-password').mdc-button Забыли пароль?
a(href='/auth/register').mdc-button Зарегистрироваться
@olegpolyakov
olegpolyakov / promisify.js
Last active July 7, 2018 12:01
Promisify function
function promisify(fn) {
return function(...args) {
return new Promise((resolve, reject) => {
fn(...args, (error, data) => {
if (error) return reject(error);
resolve(data);
});
});
};
'use strict';
var $choices = $('.choice');
var $total = $('.total .number');
$choices.on('click', function (event) {
var price = $(this).data('price');
$total.text(price);
changeNumber('.total .number');
});
'use strict';
var subjects = ['программирование', 'веб-разработку', 'HTML', 'CSS', 'JavaScript', 'React', 'Angular', 'Node.js'];
var element = $('#hero .subject');
var subjectIndex = 0;
(function printSubjects() {
printSubject(subjects[subjectIndex])
.then(function() {
var timeout = setTimeout(function() {
@olegpolyakov
olegpolyakov / react-jwt-auth.js
Last active December 17, 2018 22:52
JWT for React
import React from 'react';
let cachedToken;
function setToken(token) {
cachedToken = token;
localStorage.setItem('authToken', token);
}
function getToken() {
@olegpolyakov
olegpolyakov / passport-jwt.js
Last active December 17, 2018 22:52
Passport JWT Strategy
const JwtStrategy = require('passport-jwt').Strategy;
const ExtractJwt = require('passport-jwt').ExtractJwt;
const User = require('../../shared/models/data').User;
const errorHandler = require('../../shared/utils').errorHandler;
const options = {
secretOrKey: cfg.jwtSecret,
jwtFromRequest: ExtractJwt.fromAuthHeader()
};