Skip to content

Commit 5e1cb23

Browse files
authored
Merge pull request #27 from iswilljr/dev
Add built-in statistics for links. Stats for clicks, browser, country and more!
2 parents 63603a5 + b95ee92 commit 5e1cb23

Some content is hidden

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

66 files changed

+3943
-1586
lines changed

.husky/pre-commit

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1 @@
1-
#!/usr/bin/env sh
2-
. "$(dirname -- "$0")/_/husky.sh"
3-
41
pnpm lint-staged

next.config.js

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,24 @@ const nextConfig = {
33
reactStrictMode: true,
44
swcMinify: true,
55
images: {
6-
domains: ['avatars.githubusercontent.com', 'unavatar.io'],
6+
remotePatterns: [
7+
{
8+
hostname: 'avatars.githubusercontent.com',
9+
},
10+
{
11+
hostname: 'unavatar.io',
12+
},
13+
{
14+
hostname: 'uaparser.js.org',
15+
},
16+
{
17+
hostname: 'flag.vercel.app',
18+
},
19+
],
720
},
821
experimental: {
922
typedRoutes: true,
23+
optimizePackageImports: ['iconoir-react', 'lucide-react', '@tremor/react'],
1024
},
1125
async redirects() {
1226
return [

package.json

Lines changed: 45 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"scripts": {
1111
"db:_link": "supabase link --project-ref $SUPABASE_PROJECT_REF --password $SUPABASE_PASSWORD",
1212
"db:_push": "supabase db push --password $SUPABASE_PASSWORD",
13-
"db:gen": "(supabase gen types typescript --local > src/types/supabase.d.ts) && eslint --fix src/types/supabase.d.ts",
13+
"db:gen:local": "(supabase gen types typescript --local > src/types/supabase.d.ts) && eslint --fix src/types/supabase.d.ts",
14+
"db:gen:linked": "(supabase gen types typescript --linked > src/types/supabase.d.ts) && eslint --fix src/types/supabase.d.ts",
1415
"db:link": "pnpm with-env db:_link",
1516
"db:lint": "supabase db lint",
1617
"db:push": "pnpm with-env db:_push",
@@ -22,70 +23,76 @@
2223
"lint": "eslint .",
2324
"typecheck": "tsc --noEmit",
2425
"format": "prettier --ignore-unknown --write .",
25-
"postinstall": "husky install",
26+
"postinstall": "husky",
2627
"with-env": "dotenv -- pnpm run"
2728
},
2829
"dependencies": {
29-
"@hookform/resolvers": "3.3.1",
30+
"@hookform/resolvers": "3.3.4",
3031
"@radix-ui/react-dialog": "1.0.5",
3132
"@radix-ui/react-dropdown-menu": "2.0.6",
3233
"@radix-ui/react-popover": "1.0.7",
3334
"@radix-ui/react-scroll-area": "1.0.5",
35+
"@radix-ui/react-select": "^2.0.0",
3436
"@radix-ui/react-separator": "1.0.3",
3537
"@radix-ui/react-slot": "1.0.2",
36-
"@supabase/auth-helpers-nextjs": "0.8.1",
38+
"@radix-ui/react-tabs": "^1.0.4",
39+
"@supabase/auth-helpers-nextjs": "0.9.0",
3740
"@supabase/auth-helpers-react": "0.4.2",
38-
"@supabase/supabase-js": "2.38.0",
41+
"@supabase/supabase-js": "2.42.0",
42+
"@tremor/react": "3.15.0",
3943
"cheerio": "1.0.0-rc.12",
4044
"class-variance-authority": "0.7.0",
41-
"clsx": "2.0.0",
42-
"cmdk": "0.2.0",
45+
"clsx": "2.1.0",
46+
"cmdk": "1.0.0",
47+
"countries-list": "3.1.0",
4348
"date-fns": "2.30.0",
49+
"framer-motion": "11.0.25",
4450
"html-to-image": "1.11.11",
45-
"iconoir-react": "6.11.0",
46-
"nanoid": "5.0.1",
47-
"next": "13.5.4",
48-
"next-themes": "0.2.1",
51+
"lucide-react": "0.366.0",
52+
"nanoid": "5.0.6",
53+
"next": "14.1.4",
54+
"next-themes": "0.3.0",
4955
"react": "18.2.0",
5056
"react-dom": "18.2.0",
51-
"react-hook-form": "7.47.0",
57+
"react-hook-form": "7.51.2",
58+
"react-hotkeys-hook": "4.5.0",
5259
"react-qr-code": "2.0.12",
5360
"react-textarea-autosize": "8.5.3",
5461
"redaxios": "0.5.1",
55-
"sonner": "1.0.3",
56-
"swr": "2.2.4",
57-
"tailwind-merge": "1.14.0",
62+
"sonner": "1.4.41",
63+
"swr": "2.2.5",
64+
"tailwind-merge": "2.2.2",
5865
"use-clipboard-copy": "0.2.0",
59-
"use-local-storage-state": "19.1.0",
60-
"vaul": "0.7.0",
66+
"use-local-storage-state": "19.2.0",
67+
"vaul": "0.9.0",
6168
"zod": "3.22.4",
62-
"zustand": "4.4.3"
69+
"zustand": "4.5.2"
6370
},
6471
"devDependencies": {
65-
"@types/js-cookie": "3.0.4",
66-
"@types/node": "20.8.3",
67-
"@types/react": "18.2.25",
68-
"@types/react-dom": "18.2.11",
69-
"autoprefixer": "10.4.16",
70-
"dotenv-cli": "7.3.0",
72+
"@types/js-cookie": "3.0.6",
73+
"@types/node": "20.12.2",
74+
"@types/react": "18.2.73",
75+
"@types/react-dom": "18.2.23",
76+
"autoprefixer": "10.4.19",
77+
"dotenv-cli": "7.4.1",
7178
"encoding": "0.1.13",
72-
"eslint": "8.51.0",
73-
"eslint-config-next": "13.5.4",
74-
"eslint-config-prettier": "9.0.0",
79+
"eslint": "8.57.0",
80+
"eslint-config-next": "14.1.4",
81+
"eslint-config-prettier": "9.1.0",
7582
"eslint-config-standard-jsx": "11.0.0",
76-
"eslint-config-standard-with-typescript": "39.1.1",
77-
"eslint-plugin-prettier": "5.0.0",
78-
"eslint-plugin-react": "7.33.2",
83+
"eslint-config-standard-with-typescript": "43.0.1",
84+
"eslint-plugin-prettier": "5.1.3",
85+
"eslint-plugin-react": "7.34.1",
7986
"eslint-plugin-react-hooks": "4.6.0",
80-
"husky": "8.0.3",
81-
"lint-staged": "14.0.1",
82-
"postcss": "8.4.31",
83-
"prettier": "3.0.3",
84-
"prettier-plugin-tailwindcss": "0.5.5",
85-
"supabase": "1.100.1",
86-
"tailwindcss": "3.3.3",
87+
"husky": "9.0.11",
88+
"lint-staged": "15.2.2",
89+
"postcss": "8.4.38",
90+
"prettier": "3.2.5",
91+
"prettier-plugin-tailwindcss": "0.5.13",
92+
"supabase": "1.153.4",
93+
"tailwindcss": "3.4.3",
8794
"tailwindcss-animate": "1.0.7",
88-
"typescript": "5.2.2"
95+
"typescript": "5.4.3"
8996
},
9097
"lint-staged": {
9198
"*.{js,jsx,ts,tsx}": "pnpm eslint --fix",

0 commit comments

Comments
 (0)