Skip to content

Commit 84c61bf

Browse files
committed
first version
1 parent be9efe4 commit 84c61bf

53 files changed

Lines changed: 7021 additions & 1 deletion

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.editorconfig

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
root = true
2+
3+
[*]
4+
end_of_line = lf
5+
insert_final_newline = true
6+
indent_style = space
7+
indent_size = 4
8+
charset = utf-8
9+
trim_trailing_whitespace = true
10+
max_line_length = 100

.github/workflows/build.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Build Project
2+
3+
on:
4+
push:
5+
branches: [ main ]
6+
pull_request:
7+
branches: [ main ]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
16+
- name: Setup Biome
17+
uses: biomejs/setup-biome@v2
18+
with:
19+
version: latest
20+
21+
- name: Run Biome
22+
run: biome ci .

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
node_modules
2+
package-lock.json
3+
yarn.lock
4+
5+
.DS_Store
6+
.cache
7+
/dist/
8+
/coverage/

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pnpm lint-staged

.vscode/extensions.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"recommendations": ["biomejs.biome"]
3+
}

.vscode/settings.json

Lines changed: 240 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,240 @@
1+
{
2+
"files.watcherExclude": {
3+
"**/routeTree.gen.ts": true,
4+
"**/.git/objects/**": true,
5+
"**/.git/subtree-cache/**": true,
6+
"**/node_modules/*/**": true
7+
},
8+
"search.exclude": {
9+
"**/routeTree.gen.ts": true,
10+
"**/.git/objects/**": true,
11+
"**/.git/subtree-cache/**": true,
12+
"**/node_modules/*/**": true
13+
},
14+
"files.readonlyInclude": {
15+
"**/routeTree.gen.ts": true,
16+
"**/.git/objects/**": true,
17+
"**/.git/subtree-cache/**": true,
18+
"**/node_modules/*/**": true
19+
},
20+
"highlight.regexes": {
21+
"((?:<!-- *)?(?:#|// @|//|./\\*+|<!--|--|\\* @|{!|{{!--|{{!) *TODO(?:\\s*\\([^)]+\\))?:?)((?!\\w)(?: *-->| *\\*/| *!}| *--}}| *}}|(?= *(?:[^:]//|/\\*+|<!--|@|--|{!|{{!--|{{!))|(?: +[^\\n@]*?)(?= *(?:[^:]//|/\\*+|<!--|@|--(?!>)|{!|{{!--|{{!))|(?: +[^@\\n]+)?))": {
22+
"filterFileRegex": ".*(?<!CHANGELOG.md)$",
23+
"decorations": [
24+
{
25+
"overviewRulerColor": "#ffcc00",
26+
"backgroundColor": "#ffcc00",
27+
"color": "#000000",
28+
"fontWeight": "bold"
29+
},
30+
{
31+
"backgroundColor": "#ffcc00",
32+
"color": "#000000"
33+
}
34+
]
35+
},
36+
"((?:<!-- *)?(?:#|// @|//|./\\*+|<!--|--|\\* @|{!|{{!--|{{!) *IMPORTANT(?:\\s*\\([^)]+\\))?:?)((?!\\w)(?: *-->| *\\*/| *!}| *--}}| *}}|(?= *(?:[^:]//|/\\*+|<!--|@|--|{!|{{!--|{{!))|(?: +[^\\n@]*?)(?= *(?:[^:]//|/\\*+|<!--|@|--(?!>)|{!|{{!--|{{!))|(?: +[^@\\n]+)?))": {
37+
"filterFileRegex": ".*(?<!CHANGELOG.md)$",
38+
"decorations": [
39+
{
40+
"overviewRulerColor": "#c24ccf",
41+
"backgroundColor": "#c24ccf",
42+
"color": "#000000",
43+
"fontWeight": "bold"
44+
},
45+
{
46+
"backgroundColor": "#c24ccf",
47+
"color": "#000000"
48+
}
49+
]
50+
},
51+
"((?:<!-- *)?(?:#|// @|//|./\\*+|<!--|--|\\* @|{!|{{!--|{{!) *(?:FIXME|FIX|BUG|UGLY|DEBUG|HACK)(?:\\s*\\([^)]+\\))?:?)((?!\\w)(?: *-->| *\\*/| *!}| *--}}| *}}|(?= *(?:[^:]//|/\\*+|<!--|@|--|{!|{{!--|{{!))|(?: +[^\\n@]*?)(?= *(?:[^:]//|/\\*+|<!--|@|--(?!>)|{!|{{!--|{{!))|(?: +[^@\\n]+)?))": {
52+
"filterFileRegex": ".*(?<!CHANGELOG.md)$",
53+
"decorations": [
54+
{
55+
"overviewRulerColor": "#cc0000",
56+
"backgroundColor": "#cc0000",
57+
"color": "#ffffff",
58+
"fontWeight": "bold"
59+
},
60+
{
61+
"backgroundColor": "#cc0000",
62+
"color": "#ffffff"
63+
}
64+
]
65+
},
66+
"((?:<!-- *)?(?:#|// @|//|./\\*+|<!--|--|\\* @|{!|{{!--|{{!) *(?:WARN|WARNING)(?:\\s*\\([^)]+\\))?:?)((?!\\w)(?: *-->| *\\*/| *!}| *--}}| *}}|(?= *(?:[^:]//|/\\*+|<!--|@|--|{!|{{!--|{{!))|(?: +[^\\n@]*?)(?= *(?:[^:]//|/\\*+|<!--|@|--(?!>)|{!|{{!--|{{!))|(?: +[^@\\n]+)?))": {
67+
"filterFileRegex": ".*(?<!CHANGELOG.md)$",
68+
"decorations": [
69+
{
70+
"overviewRulerColor": "#ffcc00",
71+
"backgroundColor": "#ffcc00",
72+
"color": "#000000",
73+
"fontWeight": "bold"
74+
},
75+
{
76+
"backgroundColor": "#ffcc00",
77+
"color": "#000000"
78+
}
79+
]
80+
},
81+
"((?:<!-- *)?(?:#|// @|//|./\\*+|<!--|--|\\* @|{!|{{!--|{{!) *(?:NOTE|INFO|REVIEW|OPTIMIZE|TSC)(?:\\s*\\([^)]+\\))?:?)((?!\\w)(?: *-->| *\\*/| *!}| *--}}| *}}|(?= *(?:[^:]//|/\\*+|<!--|@|--|{!|{{!--|{{!))|(?: +[^\\n@]*?)(?= *(?:[^:]//|/\\*+|<!--|@|--(?!>)|{!|{{!--|{{!))|(?: +[^@\\n]+)?))": {
82+
"filterFileRegex": ".*(?<!CHANGELOG.md)$",
83+
"decorations": [
84+
{
85+
"overviewRulerColor": "#00ccff",
86+
"backgroundColor": "#00ccff",
87+
"color": "#000000",
88+
"fontWeight": "bold"
89+
},
90+
{
91+
"backgroundColor": "#00ccff",
92+
"color": "#000000"
93+
}
94+
]
95+
},
96+
"((?:<!-- *)?(?:#|// @|//|./\\*+|<!--|--|\\* @|{!|{{!--|{{!) *(?:IDEA)(?:\\s*\\([^)]+\\))?:?)((?!\\w)(?: *-->| *\\*/| *!}| *--}}| *}}|(?= *(?:[^:]//|/\\*+|<!--|@|--|{!|{{!--|{{!))|(?: +[^\\n@]*?)(?= *(?:[^:]//|/\\*+|<!--|@|--(?!>)|{!|{{!--|{{!))|(?: +[^@\\n]+)?))": {
97+
"filterFileRegex": ".*(?<!CHANGELOG.md)$",
98+
"decorations": [
99+
{
100+
"overviewRulerColor": "#cc00cc",
101+
"backgroundColor": "#cc00cc",
102+
"color": "#1f1f1f",
103+
"fontWeight": "bold"
104+
},
105+
{
106+
"backgroundColor": "#cc00cc",
107+
"color": "#1f1f1f"
108+
}
109+
]
110+
}
111+
},
112+
"highlight.decorations": { "rangeBehavior": 3 }, // Default decorations from which all others inherit from
113+
"highlight.regexFlags": "gi", // Default flags used when building the regexes
114+
"highlight.minDelay": 50, // Minimum number of milliseconds to wait before highlighting the document after a change, used for throttling
115+
"highlight.maxMatches": 250, // Maximum number of matches to decorate per regex, in order not to crash the app with accidental cathastropic regexes
116+
"files.autoSave": "afterDelay",
117+
"editor.gotoLocation.multipleDefinitions": "goto",
118+
"cSpell.userWords": [
119+
"Asrilevich",
120+
"builderbot",
121+
"checkin",
122+
"cheroga",
123+
"Cheroga",
124+
"dont",
125+
"facebook",
126+
"instagram",
127+
"Leandro",
128+
"openai",
129+
"qazuor",
130+
"redaxios",
131+
"vinxi",
132+
"whatsapp",
133+
"shadcn"
134+
],
135+
"typescript.updateImportsOnFileMove.enabled": "always",
136+
"cSpell.language": "en,es",
137+
"explorer.confirmDelete": false,
138+
"javascript.inlayHints.functionLikeReturnTypes.enabled": true,
139+
"javascript.inlayHints.parameterTypes.enabled": true,
140+
"javascript.inlayHints.propertyDeclarationTypes.enabled": true,
141+
"javascript.inlayHints.variableTypes.enabled": true,
142+
"typescript.inlayHints.enumMemberValues.enabled": true,
143+
"typescript.inlayHints.functionLikeReturnTypes.enabled": true,
144+
"typescript.inlayHints.parameterTypes.enabled": true,
145+
"typescript.inlayHints.propertyDeclarationTypes.enabled": true,
146+
"typescript.inlayHints.variableTypes.enabled": true,
147+
"terminal.integrated.env.linux": {},
148+
"workbench.colorTheme": "One Dark Pro Night Flat",
149+
"workbench.iconTheme": "symbols",
150+
"emojisense.languages": {
151+
"markdown": true,
152+
"JavaScript": true,
153+
"javascript": true,
154+
"javascriptreact": true,
155+
"typescriptreact": true,
156+
"plaintext": {
157+
"markupCompletionsEnabled": false,
158+
"emojiDecoratorsEnabled": false
159+
},
160+
"scminput": true,
161+
"git-commit": true
162+
},
163+
"editor.linkedEditing": true,
164+
"todo-tree.filtering.useBuiltInExcludes": "file excludes",
165+
"color-highlight.hslWithNoFunctionLanguages": ["*"],
166+
"editor.inlineSuggest.showToolbar": "onHover",
167+
"workbench.editor.enablePreview": false,
168+
"git.confirmSync": false,
169+
"git.suggestSmartCommit": false,
170+
"editor.guides.bracketPairs": true,
171+
"editor.bracketPairColorization.independentColorPoolPerBracketType": true,
172+
"workbench.editor.editorActionsLocation": "titleBar",
173+
"terminal.integrated.env.windows": {},
174+
"biome.rename": true,
175+
"editor.formatOnSave": true,
176+
"editor.formatOnPaste": true,
177+
"editor.formatOnSaveMode": "file",
178+
"editor.formatOnType": true,
179+
"editor.defaultFormatter": "biomejs.biome",
180+
"editor.codeActionsOnSave": {
181+
"source.organizeImports.biome": "always",
182+
"quickfix.biome": "always",
183+
"source.addMissingImports.biome": "explicit",
184+
"source.fixAll.biome": "explicit"
185+
},
186+
"[javascript]": {
187+
"editor.defaultFormatter": "biomejs.biome"
188+
},
189+
"[typescript]": {
190+
"editor.defaultFormatter": "biomejs.biome"
191+
},
192+
"[typescriptreact]": {
193+
"editor.defaultFormatter": "biomejs.biome"
194+
},
195+
"[jsonc]": {
196+
"editor.defaultFormatter": "biomejs.biome"
197+
},
198+
"[json]": {
199+
"editor.defaultFormatter": "biomejs.biome"
200+
},
201+
"[css]": {
202+
"editor.defaultFormatter": "biomejs.biome"
203+
},
204+
"[markdown]": {
205+
"editor.defaultFormatter": "esbenp.prettier-vscode"
206+
},
207+
"[html]": {
208+
"editor.defaultFormatter": "esbenp.prettier-vscode"
209+
},
210+
"prettier.enable": false,
211+
"eslint.enable": true,
212+
"prettier.singleQuote": true,
213+
"prettier.jsxSingleQuote": true,
214+
"prettier.quoteProps": "preserve",
215+
"json.schemaDownload.enable": false,
216+
"explorer.fileNesting.enabled": true,
217+
"explorer.fileNesting.expand": false,
218+
"explorer.fileNesting.patterns": {
219+
"app.config.ts": "package.json, package-lock.json, yarn.lock, pnpm-lock.yaml, bun.lockb, bun.lock, tsconfig.json, tailwind.config.mjs, postcss.config.mjs, biome.jsonc, .editorconfig, .gitattributes, .gitignore, .prettierignore, components.json, vercel.json"
220+
},
221+
"editor.guides.bracketPairsHorizontal": true,
222+
"typescript.suggest.completeFunctionCalls": true,
223+
"git.blame.statusBarItem.enabled": true,
224+
"git.blame.editorDecoration.enabled": false,
225+
"github.copilot.nextEditSuggestions.enabled": false,
226+
"github.showAvatar": true,
227+
"files.associations": {
228+
"*.css": "tailwindcss"
229+
},
230+
"editor.quickSuggestions": {
231+
"strings": "off"
232+
},
233+
"tailwindCSS.includeLanguages": {
234+
"plaintext": "html"
235+
},
236+
"editor.colorDecorators": true,
237+
"cSpell.words": ["badget", "dropbox", "gitlab", "linkedin", "reddit", "spanish", "spotify"],
238+
"css.lint.unknownAtRules": "ignore",
239+
"typescript.tsdk": "node_modules/typescript/lib"
240+
}

README.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,28 @@
11
# reactCustomHooks
2-
React Custom Hooks
2+
3+
React Custom Hooks by Qazuor
4+
5+
- custom hooks
6+
- useIddlenes
7+
- useTimeout
8+
- useInterval
9+
- usePageleave
10+
- useClickOutside
11+
- useDebouse
12+
- useLoguer
13+
- useLocalStorage
14+
- useSessionStorage
15+
- useNetworkState
16+
- useMediaQuery
17+
- useVisibilityChange
18+
- useHandledInterval
19+
- useLockBodyScroll
20+
- useQueue
21+
- useCopyToClipboard
22+
- useToggle
23+
- useHistoryState
24+
- useMeasure
25+
- useBoolean
26+
27+
28+
// TODO: improve Readme

0 commit comments

Comments
 (0)