Skip to content

Instantly share code, notes, and snippets.

View ruzicic's full-sized avatar

Mladen Ruzicic ruzicic

View GitHub Profile
@ruzicic
ruzicic / useSearchParamsState.test.ts
Created October 18, 2023 07:04
`useSearchParamsState` a hook to manage state in URL search params
import { renderHook, hookAct } from 'testUtils'
import { useSearchParamsState } from './useSearchParamsState'
import * as reactRouterDom from 'react-router-dom'
describe('useSearchParamsState hook', () => {
const key = 'testKey'
const initialValue = 'initialValue'
const newValue = 'newValue'
it('should set and update state correctly', () => {
@ruzicic
ruzicic / settings.json
Last active December 1, 2023 16:14
My VSCode settings.json
{
// Place your settings in this file to overwrite the default settings
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.detectIndentation": true,
"editor.lightbulb.enabled": true,
"editor.fontFamily": "JetBrains Mono",
"editor.fontLigatures": true,
"editor.rulers": [100],
"editor.snippetSuggestions": "inline",
"editor.suggest.showKeywords": true,
@ruzicic
ruzicic / export-mongodb-collection.js
Created December 3, 2022 19:23
Export MongoDB collection
const MongoClient = require("mongodb").MongoClient;
const fs = require("fs");
const COLLECTION_NAME = "collection-name"
const DB_NAME = "database-name";
const MONGO_URL = "mongodb+srv://connection-string";
const client = new MongoClient(MONGO_URL , { useUnifiedTopology: true });
client.connect(function (err) {
@ruzicic
ruzicic / git-delete-branch-pattern
Created February 14, 2019 10:47
GIT - delete branch matching pattern
git branch --list 'o*' | xargs -r git branch -d
@ruzicic
ruzicic / GitCommitEmoji.md
Created August 8, 2018 13:36 — forked from parmentf/GitCommitEmoji.md
Git Commit message Emoji
@ruzicic
ruzicic / camphor.scss
Created December 18, 2017 20:54 — forked from bdno86/camphor.scss
camphor
$camphor300:'d09GMgABAAAAAQ5UABIAAAAEn0QAAQ3tAAEZmQAAAAAAAAAAAAAAAAAAAAAAAAAAG4SkahzOKgZgFotgAIosCCIJgnMRCAqLlgCKvTwBNgIkA5lwE4GnDguZdAAEIAW7bwcgDHJb0WS0WUXZkokWaBHx4wKbY7TigANIU/t980QCGzI/IkCsdbqJZwY1ZOgWDngIamw3I43435Dd+zJ1kNmKVp/DvXNAwaNm//////////////////+/NZkMZ5cAl0CpbZ3oiwloFA5GyIWNzOYVLt1bpXPX+pABI2fo5rMZpgVYIzYqgxt92ajECqUKh2G9gaOCVRC23VSRVypHfbvb7wYcwEM25WArF0esm1yKzDixrJRdcBGtcpBZTFbFbIl8LIU4gWOnEdSITqkoGrHWJ8ywn9eVFWWk3lC6m07qp1TXntHaWp6ekYHLrFoyzOXYiQnn2kWX2zqMaFBTca25vHKndPhJV66HRhQzL9lB3OT20KGTXuFHu62wm1qzoV/iTnaiLdc8o/D7B+1O94BrjSE3cia6U1A5XNp0kHmUj8IMBaeiGaiNJV7b1csb0bq8EWYo2h1TuipR+7hmYjxeZsonGLNcmgsKp5EUDCEj9SvRyxX2uMUNfINmfNqglBYNNtjtNmdwWV2ly4uQKheyDyka2RTRoQ3IEfs+0BNcGJ4Z5AnmHNpFbCKW5PsXkAzJ6VVzzVMo0fwIUpQQT67itTNRE946/NxDashl9KuAFUbZ6yW91vObh+WAMZ1mQ1J4wotF6KXHuo65X6wSz406hW/T6XZMf/6W+HGYUxCDfhyjPaoMGcWccmbYM/H35NdHTOd79Jg0ho/BDBvRy2vcg8pHsv07UYiKrDFeqzL0Qk7qCkXLuukl2EKuR3xS6VtsLEaT0BfWoDYoQ1YvEjjT729XNMYoCX3j+2ApedBG/UHLOJ7AAnfPSqdmmePsY+522MpfPaf7kf6fIJMn0/4SE6PmuI3yjyeGjWn+1qj/ukf09DE
@ruzicic
ruzicic / docker-compose-cheatsheet.sh
Created December 18, 2017 12:47 — forked from buonzz/docker-compose-cheatsheet.sh
docker-compose cheatsheet
$ docker-compose up -d # start containers in background
$ docker-compose kill # stop containers
$ docker-compose up -d --build # force rebuild of Dockerfiles
$ docker-compose rm # remove stopped containers
$ docker ps # see list of running containers
$ docker exec -ti [NAME] bash # ssh to the container
# list all images
docker images
@ruzicic
ruzicic / docker-compose.yml
Created August 22, 2017 13:36
Wordpress dev env (using Docker)
version: '3.3'
services:
# Wordpress
wordpress:
depends_on:
- db
image: wordpress
restart: always
@ruzicic
ruzicic / copy.js
Created March 16, 2017 08:04
Copy input value to clipboard
const copy = e => {
// find target
const clickTarget = e.target;
const hasCopytarget = clickTarget.dataset.copytarget;
const inputVal = hasCopytarget ? document.querySelector(hasCopytarget) : null;
// Is element selectable?
if (inputVal && inputVal.select) {
// select text