Skip to content

Instantly share code, notes, and snippets.

View zilahir's full-sized avatar
🍺

Richard Zilahi zilahir

🍺
View GitHub Profile
# Uses
## Editor
- [Visual Studio Code](https://code.visualstudio.com/download) (settings [here](https://gist.github.com/diurivj/ca5222271a32336273ac1c5a168e8166))
- [lucy](https://marketplace.visualstudio.com/items?itemName=juliettepretot.lucy-vscode) editor theme by [juliettepretot](https://marketplace.visualstudio.com/publishers/juliettepretot)
- [Dank Mono](https://dank.sh/) font by [Phil Plückthun](https://twitter.com/_philpl)
## Chrome Extensions
- [JSON Viewer](https://chrome.google.com/webstore/detail/json-viewer/gbmdgpbipfallnflgajpaliibnhdgobh)
- [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi)
@zilahir
zilahir / getDaysInMonth.js
Created January 12, 2020 21:33
get all day iin a month
const d = new Date()
const currentYear = d.getFullYear()
const months = Array(12).fill().map((e,i) => i)
// console.debug('currentYear', currentYear)
// console.debug(months)
const getDaysInMonth = (month, year) => (new Array(31)).fill('').map((v,i)=>new Date(year,month-1,i+1)).filter(v=>v.getMonth()===month-1)
console.debug(getDaysInMonth(1, currentYear))
@zilahir
zilahir / Home.js
Created February 17, 2020 14:10
fetchData with props
/* eslint-disable react/prop-types */
/* eslint-disable no-unused-vars */
/* eslint-disable no-console */
import React, { useState, useEffect } from 'react'
import { api } from '../api'
import { useServerData } from '../state/serverDataContext'
import Cover from './Cover'
import Header from './Header'
import styles from '../styles/root/Root.module.scss'
import { useState, useCallback } from 'react'
import { useStore } from 'react-redux'
export const useStructure = param => {
const store = useStore()
const fetchedStructure = store.getState().fetchStructure.structure
return {
structure,
setStructure,
getParentTagList: useCallback(tagId => setStructure(
@zilahir
zilahir / findInDeepArray.js
Created May 7, 2020 10:42
findInDeepArray
/**
* @param {number} tagId the id of the tags we are looking for it's child
* @param {Array} tags array of the level we are looking for the child tags
* @returns {object} object of the found child object
*/
function findTagById(tagId, tags) {
// console.debug("findTagById > Tags", tags);
const result = filter(tags, { item: [{ tag_id: tagId }] });
// console.debug("findTagById > result", result);
return result[0].item.filter(t => t.tag_id === tagId)[0];
@zilahir
zilahir / guide.md
Last active May 18, 2020 09:51
guide

React Guide

Table Of Contents

  1. Components
  2. Development Environment
  3. Deployment
  4. General rules 4.1 Hooks 4.2 Project structure
function handleTagClick(tag, thisLevel) {
reduxDispatch(getContentByTagId(tag.tag_id, authToken))
setLastClickedTag(tag)
const childTagIds = tag.relations.relation
const isRendered = tagState[thisLevel + 2]
if (isRendered) {
const tempTagState = tagState
Object.keys(tagState).map(curr => {
if (curr > thisLevel + 1) {
setTimeout(() => {
@zilahir
zilahir / alpr-nodejs-raspberrypi.js
Created September 11, 2020 15:44 — forked from dataslayermedia/alpr-nodejs-raspberrypi.js
ALPR License Plate Detection for Raspberry PI written in Node.js
const PiCamera = require('pi-camera');
function getRandomInt(max) {
return Math.floor(Math.random() * Math.floor(max));
}
setInterval(function() {
var path = './' + getRandomInt(500) + '.jpg';
@zilahir
zilahir / docker-compose.yml
Created October 21, 2020 12:24
php docker
version: '2'
services:
web:
image: nginx:latest
ports:
- "80:80"
volumes:
- ./<path-to-folder/backend>:/code/Backend
- ./<path-to-folde/frontend>:/code/Frontend
@zilahir
zilahir / LoadAssets.tsx
Created December 26, 2020 08:00
expo loading assets custom wrapper
// some stuff here
export type FontSouce = Parameters<typeof Font.loadAsync>[0];
const usePromiseAll = (
promises: Promise<void | void[] | Asset[]>[],
cb: () => void
) =>
useEffect(() => {
(async () => {
await Promise.all(promises);
cb();