Skip to content

Instantly share code, notes, and snippets.

@alicantorun
alicantorun / init-prompt.md
Last active October 5, 2025 13:03
System Prompt: Next.js + Supabase Note-Taking App

🎯 System Prompt: Next.js + Supabase Note-Taking App

Create a production-ready Next.js note-taking application with the following specifications:

🏗️ Tech Stack

  • Framework: Next.js 15 (App Router)
  • Language: TypeScript
  • Styling: Tailwind CSS (v3 or v4)
  • UI Components: shadcn/ui (button, card, input, label, textarea, dialog, dropdown-menu, avatar, separator, sonner)
@alicantorun
alicantorun / chart-with-d3.jsx
Created June 7, 2022 22:30 — forked from samselikoff/chart-with-d3.jsx
Diff from "Building an Animated Line Chart with d3, React and Framer Motion" https://www.youtube.com/watch?v=kPbRDn5Fg0Y
import * as d3 from "d3";
import {
eachMonthOfInterval,
endOfMonth,
format,
isSameMonth,
parseISO,
startOfMonth,
} from "date-fns";
import useMeasure from "react-use-measure";
import React, { useRef, useEffect, useState } from 'react'
// I also made it to support running when specific values update in deps
// The default value for deps will be undefined if you did not pass it
// and will have the same effect as not passing the parameter to useEffect
// so it watch for general updates by default
function useDidUpdate (callback, deps) {
const hasMount = useRef(false)
useEffect(() => {
import React, { useReducer } from "react";
const initialState = {
firstName: "",
lastName: "",
email: "",
phone: "",
age: ""
};
import React, { useState } from "react";
function User() {
const [firstName, setFirstName] = useState("");
const [lastName, setLastName] = useState("");
const [email, setEmail] = useState("");
const [phone, setPhone] = useState("");
const [age, setAge] = useState("");
return (
import React, { Component } from "react";
class User extends Component {
state = { firstName: "", lastName: "", email: "", phone: "", age: "" };
onChange = (e) => {
const { name, value } = e.target;
this.setState({ [name]: value });
};
import React from "react";
import {
LayoutChangeEvent,
PanResponder,
PanResponderGestureState
} from "react-native";
import styled from "styled-components";
type StateType = {
barHeight: number | null,
@alicantorun
alicantorun / Authorization.jsx
Created March 6, 2020 08:46 — forked from GiladShoham/Authorization.jsx
React Authorizaion component
import React, { PropTypes } from 'react';
import apConnect from 'apollo-passportjs-react/lib/connect';
function getDisplayName(WrappedComponent) {
return WrappedComponent.displayName || WrappedComponent.name || 'Component'
}
const Authorization = (allowedRoles) =>
(WrappedComponent, options = {}) => {
// useDocumentTitle.jsx
import { useEffect } from "react";
function useDocumentTitle(count) {
useEffect(() => {
document.title = ` count ${count} `;
}, [count]);
}
// DocTitleWitHCustomHook.jsx
import React, { useState } from "react";
import useDocumentTitle from "./hooks/useDocumentTitle";
function DocTitleWitHCustomHook() {
const [count, setCount] = useState(0);
useDocumentTitle(count);