Skip to content

Instantly share code, notes, and snippets.

View nesbtesh's full-sized avatar

Nessim Btesh nesbtesh

  • Boston
View GitHub Profile
@nesbtesh
nesbtesh / useTraceUpdate.js
Created October 13, 2023 14:26
useTraceUpdate
import React, { useEffect, useRef } from "react";
export default function useTraceUpdate(props) {
const prev = useRef(props);
useEffect(() => {
const changedProps = Object.entries(props).reduce((ps, [k, v]) => {
if (prev.current[k] !== v) {
ps[k] = [prev.current[k], v];
}
return ps;
import React from "react";
import { CSSTransition } from "react-transition-group";
import ModalPortal from "../ModalPortal";
export function useModal() {
const [isModalVisible, setIsModalVisitble] = React.useState(false);
const toggleModal = () => {
setIsModalVisitble((prevState) => !prevState);
};
const closeModal = () => {
import React, { useContext, createContext, useState, useRef } from "react";
import { useParams } from "react-router-dom";
import useBluelagoon from "../bluelagon/hooks/useBluelagoon";
const SomethingContext = createContext();
function useProvideSomething() {
const { id } = useParams();
const { wrappedApi, isLoading, error, response } = useBluelagoon({
export default function ModalContent({ closeModal, onChange, factoryId }) {
const [_t] = useTranslation();
const [state, dispatch] = React.useReducer(reducer, initialState);
const [feriaValue, feriaInput, setFeriaInput] = useInput({
type: "text",
label: _t("Fair"),
placeholder: _t("Enter the fair or season your products belong to"),
rules: {
isRequired: true,
import React from "react";
import Bluelagoon from "..";
import useConfirm from "../../hooks/useConfirm";
import useNotification from "../../hooks/useNotification";
import { useNotify } from "../../NotifyContext";
function useBluelagoonPromise({
method,
defaultData,
notifyError,
import { Accounts } from "meteor/accounts-base";
class blue {
call(name, params) {
return new Promise((resolve, reject) => {
Meteor.call(name, params, (err, resp) => {
if (err) reject(err);
else resolve(resp);
});
});
@nesbtesh
nesbtesh / Calcula Stats Navidad .EXCEL.yaml
Created June 3, 2022 17:25
Calcula Stats Navidad de coleccion
name: 'Calcula Stats Navidad '
description: Calcula Stats Navidad de coleccion
host: EXCEL
api_set: {}
script:
content: |
$("#run").click(() => tryCatch(run));
const colecciones = {};
function run() {
return Excel.run(async function (context) {
const App = ({ routes, initialData, initialToken, menus }) => (
<Switch>
{routes.map((route, index) => {
// pass in the initialData from the server or window.DATA for this
// specific route
return (
<Route
key={index}
path={route.path}
import React from 'react';
import Header from "../components/Header"
import Footer from "../components/Footer"
import LanguageChanger from "../components/LanguageChanger/index"
import { LangContext } from "../context"
class MainTemplate extends React.Component {
constructor(props) {
super(props);
export default class BaseTemplate extends React.Component {
setValue = (e) => {
const obj = {};
obj[e.target.name] = e.target.value;
this.setState(obj);
}
someOtherGlobalFunction() {
.....
}