Skip to content

Instantly share code, notes, and snippets.

View zaguiini's full-sized avatar
🏠
Working from home

Luis Felipe Zaguini zaguiini

🏠
Working from home
View GitHub Profile
{
test: /(?<!\.module)\.scss$/,
use: [
require.resolve('style-loader'),
{
loader: require.resolve('css-loader'),
options: {
importLoaders: 1,
},
},
import React from 'react'
import classNames from 'classnames'
import styles from './styles.module.scss'
export default ({ negative = false, name, surname }) => (
<div
className={classNames(
styles['name-container'],
negative && styles['name-negative'],
@zaguiini
zaguiini / codigo-feio.swift
Created August 28, 2018 22:58
An example of Ugly code
form.rowByTag("vNome")?.disabled = true
form.rowByTag("vNome")?.evaluateDisabled()
form.rowByTag("vLocal")?.disabled = true
form.rowByTag("vLocal")?.evaluateDisabled()
form.rowByTag("vData")?.disabled = true
form.rowByTag("vData")?.evaluateDisabled()
form.rowByTag("vEquipe")?.disabled = true
form.rowByTag("vEquipe")?.evaluateDisabled()
form.rowByTag("vAmigos")?.disabled = true
form.rowByTag("vAmigos")?.evaluateDisabled()
@zaguiini
zaguiini / codigo-menos-feio.swift
Created August 28, 2018 22:59
An example of less ugly code
let tags: [String] = ["vNome", "vLocal", "vData", "vEquipe", "vAmigos", "vReferencia"]
for tag in tags {
form.rowByTag(tag)?.disabled = true
form.rowByTag(tag)?.evaluateDisabled()
}
function login() {
// login logic here
}
class LoginForm extends React.PureComponent {
render() {
return (
<form onSubmit={login}>
<input type="email" /><br />
<input type="password" /><br />
@zaguiini
zaguiini / Router.js
Last active January 9, 2019 11:57
Treta do Bundle
import React, { Component } from 'react';
import { Switch, Route } from 'react-router-dom';
const PAGES = [
{
name: 'Home',
path: '/',
loader: './pages/Home',
},
];
@zaguiini
zaguiini / usage.tsx
Created March 6, 2019 16:44 — forked from sibelius/usage.tsx
useSelectRows is a hook that manage a list of selected items, so you don't have to
const MyUserSelectableList = ({ users ) => {
const { onRowCheck, isRowSelected } = useSelectedRows();
return (
<>
{users.map(user => (
<>
<Checkbox value={isRowSelected(user)} onChange={(value) => onRowCheck(user, value)} />
<span>{user.name}</span>
</>
@zaguiini
zaguiini / use-mutual-number-field.js
Last active March 8, 2019 13:27
Useful hook for when updating multiple values that must fit 100%
function useMutualNumberField({
values,
index,
setCurrentValue,
setAllValues,
}) {
return function handlePercentageChange(rawInputtedValue) {
const inputtedValue = parseInt((rawInputtedValue || 0).toString(), 10)
const prevValue = values[index].percentage
@zaguiini
zaguiini / getAge.js
Last active May 27, 2019 13:07
Return the age given the parameters
function getAge(month, day, year) {
const birthDate = new Date(year, month - 1, day)
const fromNow = new Date() - birthDate
const absoluteAge = new Date(fromNow).getFullYear()
// that's because timestamps starts from 1970, so
// we're getting relatively to that year
return Math.abs(absoluteAge - 1970)
}
@zaguiini
zaguiini / selection-sort.js
Last active October 29, 2019 04:05
Selection sort in plain English
/*
Time complexity: O(nˆ2) since it has two nested loops
Space complexity: O(1) since it uses a reference to something that already exists and does not create new arrays
*/
const selectionSort = array => {
for (let arrayIndex = 0; arrayIndex < array.length - 1; arrayIndex++) {
let minIndex = arrayIndex
for (let subArrayIndex = arrayIndex + 1; subArrayIndex < array.length; subArrayIndex++) {