Skip to content

Instantly share code, notes, and snippets.

@Tribhuwan-Joshi
Tribhuwan-Joshi / curry.js
Created May 14, 2023 06:13
Smooth currying in JS
const curry = function (fn){
return function currying(...args){
if(args.length >= fn.length ){
return fn(...args);
}
else {
return function(...args2){
return currying.apply(...args.concat(args2))
}
}
@Tribhuwan-Joshi
Tribhuwan-Joshi / App.jsx
Created March 30, 2023 12:59
Note appwrite
import { useEffect, useRef, useState } from "react";
import {
BrowserRouter as Router,
Routes,
Route,
Navigate,
} from "react-router-dom";
import "./index.css";
import { projectId, account } from "./appwrite/appwriteConfig";
import Signup from "./components/Signup";
@Tribhuwan-Joshi
Tribhuwan-Joshi / Main.tsx
Last active March 16, 2023 04:34
Smooth scrolling react
import React from "react";
function Main() {
return (
<div className="flex-1 overflow-auto scroll-smooth ">
<section id="about" className="h-[100%] bg-pink-200"></section>
<section id="skills" className="h-[100%] bg-pink-400"></section>
<section id="projects" className="h-[100%] bg-pink-800"></section>
<section id="interests" className="h-[100%] bg-gray-400"></section>
<section id="certifications" className="h-[100%] bg-red-200"></section>
@Tribhuwan-Joshi
Tribhuwan-Joshi / app.js
Created February 7, 2023 09:10
Courses API
const express = require("express");
const app = express();
const mogoose = require('mongoose');
const categories = require('./Routes/categories'); // import router with route name
mogoose.connect('mongodb://127.0.0.1/eapp').then(()=>console.log("Connection successful")).catch(err=>console.error("Couldn't connect to monogodb",err));
@Tribhuwan-Joshi
Tribhuwan-Joshi / index.js
Created January 25, 2023 04:01
Todo sign In
let isAuth = cookies.get('auth-token') ? true : false;
const fullMain = document.querySelector(".full-main");
setAuth(isAuth);
// when auth got changed make the main clickable and non clickble
function handler(e) {
e.stopPropagation();
e.preventDefault();
}
@Tribhuwan-Joshi
Tribhuwan-Joshi / domManipulation.js
Created January 23, 2023 14:12
Firebase integration with todo app
import editIcon from "./imgs/edit.png";
import projDeleteIconSrc from "./imgs/proDelete.png";
import { format } from "date-fns";
import { Project } from "./project";
import { activateCheckboxes, activateEditBtns, allTasks } from "./index";
import { changeContent } from './projectsDOM'
const allProjects = document.querySelector(".all-projects"); // refer to that of tasks
const projectAddForm = document.querySelector(".project-add-form");
@Tribhuwan-Joshi
Tribhuwan-Joshi / useFetch.js
Created January 18, 2023 05:22
Custom hook
import { useState, useEffect } from "react";
import ReactDOM from "react-dom/client";
const useFetch = (url) => {
const [data, setData] = useState(null);
useEffect(() => {
fetch(url)
.then((res) => res.json())
.then((data) => setData(data));
}, [url]);
@Tribhuwan-Joshi
Tribhuwan-Joshi / App.js
Last active January 12, 2023 04:10
Shop cart
import { Route, Routes } from "react-router-dom";
import Navbar from "./components/Navbar";
import Home from "./components/Home";
import Shop from "./components/Shop";
import Cart from "./components/Cart";
import itemData from "./ItemData";
import { useState, useEffect } from "react";
export default function App() {
const [shopItems, setShopItems] = useState(itemData);
@Tribhuwan-Joshi
Tribhuwan-Joshi / shuffle.js
Created December 17, 2022 07:40
Randomize/shuffle an array
function shuffleArray(arr){
for(let i=arr.length-1 ; i>0; i--){
let j = Math.floor(Math.random()*(i+1))
[arr[i],arr[j]] = [arr[j] ,arr[i]]
return arr
}
// https://en.wikipedia.org/wiki/Fisher-Yates_shuffle#The_modern_algorithm
@Tribhuwan-Joshi
Tribhuwan-Joshi / Main.js
Created December 15, 2022 03:55
Memory Card
import { useEffect, useState } from "react";
function getFormatData(data) {
const res = [];
for (let i of data) {
const obj = {};
obj.url = i.url;
obj.name = i.breeds[0].name;
res.push(obj);
}