Skip to content

Instantly share code, notes, and snippets.

@nurbek-ab
nurbek-ab / removeSearchParam.js
Created October 4, 2020 14:55
Remove URL search parameter
const removeSearchParam = param => {
const url = new URL(window.location.href)
url.searchParams.delete(param)
window.history.replaceState(null, null, url)
}
@nurbek-ab
nurbek-ab / connect.js
Created November 29, 2019 23:51 — forked from gaearon/connect.js
connect.js explained
// connect() is a function that injects Redux-related props into your component.
// You can inject data and callbacks that change that data by dispatching actions.
function connect(mapStateToProps, mapDispatchToProps) {
// It lets us inject component as the last step so people can use it as a decorator.
// Generally you don't need to worry about it.
return function (WrappedComponent) {
// It returns a component
return class extends React.Component {
render() {
return (
@nurbek-ab
nurbek-ab / git-ssh-auth-win-setup.md
Created January 5, 2019 06:08 — forked from bsara/git-ssh-auth-win-setup.md
Setup SSH Authentication for Git Bash on Windows

Setup SSH Authentication for Git Bash on Windows

Prepararation

  1. Create a folder at the root of your user home folder (Example: C:/Users/uname/) called .ssh.
  2. Create the following files if they do not already exist (paths begin from the root of your user home folder):
  • .ssh/config
@nurbek-ab
nurbek-ab / simple-pagination.js
Created March 28, 2018 12:01 — forked from kottenator/simple-pagination.js
Simple pagination algorithm
// Implementation in ES6
function pagination(c, m) {
var current = c,
last = m,
delta = 2,
left = current - delta,
right = current + delta + 1,
range = [],
rangeWithDots = [],
l;
@nurbek-ab
nurbek-ab / outOfViewport.js
Last active November 15, 2017 11:02 — forked from LukyVj/outOfViewport.js
Detect which elements overlap your document width.
function outOfViewport(colorWrapper, colorTag, colorClass) {
const bodyWidth = document.body.offsetWidth;
const list = document.querySelectorAll('*');
for (let elem of list) {
if (elem.offsetWidth > bodyWidth) {
console.log(
`%c [` +
`%c` + elem.tagName +
`%c.` + elem.classList +
`%c]` +
@nurbek-ab
nurbek-ab / really-right-breakpoints.less
Created November 8, 2017 20:17 — forked from markhowellsmead/really-right-breakpoints.less
The 100% correct way to do CSS breakpoints - LESS variables
/*
Thanks David <3 - https://medium.freecodecamp.com/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862
*/
@for-phone: ~"screen and (max-width: 44.9375rem)"; // < 720
@for-tablet-only: ~"screen and (min-width: 45rem) and (max-width: 74.9375rem)"; // > 720 < 1199
@for-tablet-portrait-only: ~"screen and (min-width: 45rem) and (max-width: 56.1875rem)"; // > 720 < 900
@for-tablet-portrait-up: ~"screen and (min-width: 45rem)"; // > 720
@for-tablet-landscape-up: ~"screen and (min-width: 56.25rem)"; // > 900
@for-desktop-up: ~"screen and (min-width: 75rem)"; // > 1200
@for-big-desktop-up: ~"screen and (min-width: 112.5rem)"; // > 1800
@nurbek-ab
nurbek-ab / diff.js
Created January 11, 2017 12:12
Show diff between two javascript objects
// http://stackoverflow.com/questions/31683075/how-to-do-a-deep-comparison-between-2-objects-with-lodash
function compare(a, b) {
var result = {
different: [],
missing_from_first: [],
missing_from_second: []
};
_.reduce(a, function (result, value, key) {
@nurbek-ab
nurbek-ab / modal-centered.css
Created October 31, 2016 11:27
Bootstrap modal centered vertically via CSS only.
/*https://codepen.io/dimbslmh/full/mKfCc*/
.modal {
text-align: center;
padding: 0!important;
}
.modal:before {
content: '';
display: inline-block;
height: 100%;
@nurbek-ab
nurbek-ab / isDateString.js
Created June 24, 2016 12:05
Check if a string is a date string
function isDateString(str) {
return !isNaN(Date.parse(str));
}
@nurbek-ab
nurbek-ab / inspect.js
Last active October 21, 2016 13:19
Logs prettyfied and colored objects to console
var util = require('util');
var _ = require('lodash');
/**
* Logs prettyfied and colored objects to console
* @param msg - message
* @param title - log message title
* @param depth - property depth
* @param showHidden - show hidden properties
*/