Fix a bunch of errors we had

This commit is contained in:
gib committed 2026-03-28 12:15:22 -05:00
1 parent b9c845cac1
commit 4c97c7fa17
43 files changed
+6003 -8839

No files matched your search

+1
View File
@@ -0,0 +1 @@
[{"/home/gib/Documents/Code/convex-monorepo/apps/expo/index.ts":"1","/home/gib/Documents/Code/convex-monorepo/apps/expo/nativewind-env.d.ts":"2","/home/gib/Documents/Code/convex-monorepo/apps/expo/src/app/_layout.tsx":"3","/home/gib/Documents/Code/convex-monorepo/apps/expo/src/app/index.tsx":"4","/home/gib/Documents/Code/convex-monorepo/apps/expo/src/app/post/[id].tsx":"5","/home/gib/Documents/Code/convex-monorepo/apps/expo/src/utils/base-url.ts":"6","/home/gib/Documents/Code/convex-monorepo/apps/expo/src/utils/convex.ts":"7","/home/gib/Documents/Code/convex-monorepo/apps/expo/src/utils/session-store.ts":"8"},{"size":28,"mtime":1768155639000,"results":"9","hashOfConfig":"10"},{"size":246,"mtime":1766222924000,"results":"11","hashOfConfig":"10"},{"size":836,"mtime":1774546669443,"results":"12","hashOfConfig":"10"},{"size":1935,"mtime":1774546669443,"results":"13","hashOfConfig":"10"},{"size":678,"mtime":1774546669443,"results":"14","hashOfConfig":"10"},{"size":880,"mtime":1768155639000,"results":"15","hashOfConfig":"10"},{"size":909,"mtime":1774546669443,"results":"16","hashOfConfig":"10"},{"size":272,"mtime":1768155639000,"results":"17","hashOfConfig":"10"},{"filePath":"18","messages":"19","suppressedMessages":"20","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"x7pzu2",{"filePath":"21","messages":"22","suppressedMessages":"23","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"24","messages":"25","suppressedMessages":"26","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"27","messages":"28","suppressedMessages":"29","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"30","messages":"31","suppressedMessages":"32","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"33","messages":"34","suppressedMessages":"35","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"36","messages":"37","suppressedMessages":"38","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"39","messages":"40","suppressedMessages":"41","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/home/gib/Documents/Code/convex-monorepo/apps/expo/index.ts",[],[],"/home/gib/Documents/Code/convex-monorepo/apps/expo/nativewind-env.d.ts",[],[],"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/app/_layout.tsx",[],[],"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/app/index.tsx",[],[],"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/app/post/[id].tsx",[],[],"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/utils/base-url.ts",[],[],"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/utils/convex.ts",[],[],"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/utils/session-store.ts",[],[]]
+1 -1
View File
@@ -1 +1 @@
[["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21"],{"key":"22","value":"23"},{"key":"24","value":"25"},{"key":"26","value":"27"},{"key":"28","value":"29"},{"key":"30","value":"31"},{"key":"32","value":"33"},{"key":"34","value":"35"},{"key":"36","value":"37"},{"key":"38","value":"39"},{"key":"40","value":"41"},{"key":"42","value":"43"},{"key":"44","value":"45"},{"key":"46","value":"47"},{"key":"48","value":"49"},{"key":"50","value":"51"},{"key":"52","value":"53"},{"key":"54","value":"55"},{"key":"56","value":"57"},{"key":"58","value":"59"},{"key":"60","value":"61"},{"key":"62","value":"63"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/app/index.tsx",{"size":1935,"mtime":1774546669443,"hash":"64","data":"65"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/index.ts",{"size":28,"mtime":1768155639000,"hash":"66","data":"67"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/assets/icon-dark.png",{"size":19633,"mtime":1766222924000,"hash":"68"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/postcss.config.js",{"size":65,"mtime":1774546669443,"hash":"69","data":"70"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/app/post/[id].tsx",{"size":678,"mtime":1774546669443,"hash":"71","data":"72"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/utils/convex.ts",{"size":909,"mtime":1774546669443,"data":"73"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/eas.json",{"size":566,"mtime":1774546669443,"hash":"74","data":"75"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/app/_layout.tsx",{"size":836,"mtime":1774546669443,"hash":"76","data":"77"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/styles.css",{"size":89,"mtime":1774546669443,"hash":"78","data":"79"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/.cache/.prettiercache",{"size":4646,"mtime":1774546669443},"/home/gib/Documents/Code/convex-monorepo/apps/expo/assets/icon-light.png",{"size":19133,"mtime":1766222924000,"hash":"80"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/package.json",{"size":2228,"mtime":1774588990619,"hash":"81","data":"82"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/turbo.json",{"size":171,"mtime":1774031879321,"hash":"83","data":"84"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/eslint.config.mts",{"size":274,"mtime":1774546669443,"hash":"85","data":"86"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/tsconfig.json",{"size":387,"mtime":1766228480000,"hash":"87","data":"88"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/metro.config.js",{"size":511,"mtime":1768155639000,"hash":"89","data":"90"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/nativewind-env.d.ts",{"size":246,"mtime":1766222924000,"hash":"91","data":"92"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/utils/base-url.ts",{"size":880,"mtime":1768155639000,"hash":"93","data":"94"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/.expo-shared/assets.json",{"size":155,"mtime":1766222924000,"hash":"95","data":"96"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/utils/session-store.ts",{"size":272,"mtime":1768155639000,"hash":"97","data":"98"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/app.config.ts",{"size":1333,"mtime":1768155639000,"hash":"99","data":"100"},"73c235a66242df70b69394cce29d1ed3",{"hashOfOptions":"101"},"11cdbef6afa001cd39bc187041ca6865",{"hashOfOptions":"102"},"1e8ac0d261e95efb19d290ffcf70ce36","b7edffce093c4c84092cc93f3dc208ef",{"hashOfOptions":"103"},"ead19d73283f9d8e08b55c896c9fd570",{"hashOfOptions":"104"},{"hashOfOptions":"105"},"a3c1487f8318513ae7c156acc857fde2",{"hashOfOptions":"106"},"8e407b4b1b0c0bd9c862a00243344be3",{"hashOfOptions":"107"},"52a1d72379b952dd802f47e1865bd0da",{"hashOfOptions":"108"},"863da15dbd856008b7c24077ca746d91","d8763702c14cdc382dcfb84f6f9a068f",{"hashOfOptions":"109"},"c7d4dcf839dfeaa02e0407adfd5e47a6",{"hashOfOptions":"110"},"1c1710ce3de3ce02e8054cc3787c8579",{"hashOfOptions":"111"},"6937fb7370f1e17491df649888d6ecc9",{"hashOfOptions":"112"},"dbe97bcde588a81538bbcd6a9befdddd",{"hashOfOptions":"113"},"d4d589c153ac8b5e7bf0fb130a5b5a7d",{"hashOfOptions":"114"},"dd2007a211e323deabb3f7fa7d16313f",{"hashOfOptions":"115"},"0f7f54c7161b8403d3bc42d91f59cd91",{"hashOfOptions":"116"},"1bc3e15a40c117eecc51294886ea9b38",{"hashOfOptions":"117"},"4f49c6df7733f874fbe72b4e20b3092b",{"hashOfOptions":"118"},"3000879843","3103968608","384110377","141502567","1235541372","1050155876","2025343866","4147067111","4228440757","3451484829","4039211292","3318113268","2585374463","45764855","1418614640","2754339483","1950506033","3468872477"]
[["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22"],{"key":"23","value":"24"},{"key":"25","value":"26"},{"key":"27","value":"28"},{"key":"29","value":"30"},{"key":"31","value":"32"},{"key":"33","value":"34"},{"key":"35","value":"36"},{"key":"37","value":"38"},{"key":"39","value":"40"},{"key":"41","value":"42"},{"key":"43","value":"44"},{"key":"45","value":"46"},{"key":"47","value":"48"},{"key":"49","value":"50"},{"key":"51","value":"52"},{"key":"53","value":"54"},{"key":"55","value":"56"},{"key":"57","value":"58"},{"key":"59","value":"60"},{"key":"61","value":"62"},{"key":"63","value":"64"},{"key":"65","value":"66"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/app/index.tsx",{"size":1935,"mtime":1774546669443,"hash":"67","data":"68"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/index.ts",{"size":28,"mtime":1768155639000,"hash":"69","data":"70"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/assets/icon-dark.png",{"size":19633,"mtime":1766222924000,"hash":"71"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/postcss.config.js",{"size":65,"mtime":1774546669443,"hash":"72","data":"73"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/app/post/[id].tsx",{"size":678,"mtime":1774546669443,"hash":"74","data":"75"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/utils/convex.ts",{"size":909,"mtime":1774546669443,"data":"76"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/eas.json",{"size":566,"mtime":1774546669443,"hash":"77","data":"78"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/app/_layout.tsx",{"size":836,"mtime":1774546669443,"hash":"79","data":"80"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/styles.css",{"size":89,"mtime":1774546669443,"hash":"81","data":"82"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/.cache/.prettiercache",{"size":4646,"mtime":1774715745793},"/home/gib/Documents/Code/convex-monorepo/apps/expo/.cache/.eslintcache",{"size":3079,"mtime":1774717490445},"/home/gib/Documents/Code/convex-monorepo/apps/expo/assets/icon-light.png",{"size":19133,"mtime":1766222924000,"hash":"83"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/package.json",{"size":2228,"mtime":1774588990619,"hash":"84","data":"85"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/turbo.json",{"size":171,"mtime":1774031879321,"hash":"86","data":"87"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/eslint.config.mts",{"size":274,"mtime":1774546669443,"hash":"88","data":"89"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/tsconfig.json",{"size":387,"mtime":1766228480000,"hash":"90","data":"91"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/metro.config.js",{"size":511,"mtime":1768155639000,"hash":"92","data":"93"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/nativewind-env.d.ts",{"size":246,"mtime":1766222924000,"hash":"94","data":"95"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/utils/base-url.ts",{"size":880,"mtime":1768155639000,"hash":"96","data":"97"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/.expo-shared/assets.json",{"size":155,"mtime":1766222924000,"hash":"98","data":"99"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/src/utils/session-store.ts",{"size":272,"mtime":1768155639000,"hash":"100","data":"101"},"/home/gib/Documents/Code/convex-monorepo/apps/expo/app.config.ts",{"size":1333,"mtime":1768155639000,"hash":"102","data":"103"},"73c235a66242df70b69394cce29d1ed3",{"hashOfOptions":"104"},"11cdbef6afa001cd39bc187041ca6865",{"hashOfOptions":"105"},"1e8ac0d261e95efb19d290ffcf70ce36","b7edffce093c4c84092cc93f3dc208ef",{"hashOfOptions":"106"},"ead19d73283f9d8e08b55c896c9fd570",{"hashOfOptions":"107"},{"hashOfOptions":"108"},"a3c1487f8318513ae7c156acc857fde2",{"hashOfOptions":"109"},"8e407b4b1b0c0bd9c862a00243344be3",{"hashOfOptions":"110"},"52a1d72379b952dd802f47e1865bd0da",{"hashOfOptions":"111"},"863da15dbd856008b7c24077ca746d91","d8763702c14cdc382dcfb84f6f9a068f",{"hashOfOptions":"112"},"c7d4dcf839dfeaa02e0407adfd5e47a6",{"hashOfOptions":"113"},"1c1710ce3de3ce02e8054cc3787c8579",{"hashOfOptions":"114"},"6937fb7370f1e17491df649888d6ecc9",{"hashOfOptions":"115"},"dbe97bcde588a81538bbcd6a9befdddd",{"hashOfOptions":"116"},"d4d589c153ac8b5e7bf0fb130a5b5a7d",{"hashOfOptions":"117"},"dd2007a211e323deabb3f7fa7d16313f",{"hashOfOptions":"118"},"0f7f54c7161b8403d3bc42d91f59cd91",{"hashOfOptions":"119"},"1bc3e15a40c117eecc51294886ea9b38",{"hashOfOptions":"120"},"4f49c6df7733f874fbe72b4e20b3092b",{"hashOfOptions":"121"},"3000879843","3103968608","384110377","141502567","1235541372","1050155876","2025343866","4147067111","4228440757","3451484829","4039211292","3318113268","2585374463","45764855","1418614640","2754339483","1950506033","3468872477"]
+1 -1
View File
@@ -1 +1 @@
[{"/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(auth)/forgot-password/layout.tsx":"1","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(auth)/forgot-password/page.tsx":"2","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(auth)/profile/layout.tsx":"3","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(auth)/profile/page.tsx":"4","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(auth)/sign-in/layout.tsx":"5","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(auth)/sign-in/page.tsx":"6","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/global-error.tsx":"7","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/layout.tsx":"8","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/page.tsx":"9","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/cta.tsx":"10","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/features.tsx":"11","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/hero.tsx":"12","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/index.tsx":"13","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/tech-stack.tsx":"14","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/buttons/gibs-auth.tsx":"15","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/buttons/index.tsx":"16","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/avatar-upload.tsx":"17","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/header.tsx":"18","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/index.tsx":"19","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/reset-password.tsx":"20","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/sign-out.tsx":"21","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/user-info.tsx":"22","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/footer/index.tsx":"23","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/header/controls/AvatarDropdown.tsx":"24","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/header/controls/index.tsx":"25","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/header/index.tsx":"26","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/providers/ConvexClientProvider.tsx":"27","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/providers/index.tsx":"28","/home/gib/Documents/Code/convex-monorepo/apps/next/src/instrumentation-client.ts":"29","/home/gib/Documents/Code/convex-monorepo/apps/next/src/instrumentation.ts":"30","/home/gib/Documents/Code/convex-monorepo/apps/next/src/lib/metadata.ts":"31","/home/gib/Documents/Code/convex-monorepo/apps/next/src/lib/proxy/ban-sus-ips.ts":"32","/home/gib/Documents/Code/convex-monorepo/apps/next/src/proxy.ts":"33"},{"size":298,"mtime":1768236967188,"results":"34","hashOfConfig":"35"},{"size":10607,"mtime":1768372347281,"results":"36","hashOfConfig":"35"},{"size":276,"mtime":1768236979857,"results":"37","hashOfConfig":"35"},{"size":1515,"mtime":1768372347312,"results":"38","hashOfConfig":"35"},{"size":274,"mtime":1768236849421,"results":"39","hashOfConfig":"35"},{"size":16567,"mtime":1774544486885,"results":"40","hashOfConfig":"35"},{"size":2410,"mtime":1774544486967,"results":"41","hashOfConfig":"35"},{"size":2042,"mtime":1774131581680,"results":"42","hashOfConfig":"35"},{"size":253,"mtime":1768372347406,"results":"43","hashOfConfig":"35"},{"size":1139,"mtime":1774544487103,"results":"44","hashOfConfig":"35"},{"size":2916,"mtime":1774544487137,"results":"45","hashOfConfig":"35"},{"size":4045,"mtime":1774544487187,"results":"46","hashOfConfig":"35"},{"size":141,"mtime":1768325738000,"results":"47","hashOfConfig":"35"},{"size":2697,"mtime":1774544487253,"results":"48","hashOfConfig":"35"},{"size":1081,"mtime":1768372347496,"results":"49","hashOfConfig":"35"},{"size":52,"mtime":1768188510036,"results":"50","hashOfConfig":"35"},{"size":6797,"mtime":1768372347532,"results":"51","hashOfConfig":"35"},{"size":384,"mtime":1774544487414,"results":"52","hashOfConfig":"35"},{"size":230,"mtime":1768238412936,"results":"53","hashOfConfig":"35"},{"size":5681,"mtime":1768372347569,"results":"54","hashOfConfig":"35"},{"size":1234,"mtime":1768372347581,"results":"55","hashOfConfig":"35"},{"size":4786,"mtime":1774544487590,"results":"56","hashOfConfig":"35"},{"size":4010,"mtime":1768372347611,"results":"57","hashOfConfig":"35"},{"size":2539,"mtime":1768372347626,"results":"58","hashOfConfig":"35"},{"size":499,"mtime":1768372347633,"results":"59","hashOfConfig":"35"},{"size":2470,"mtime":1774544487733,"results":"60","hashOfConfig":"35"},{"size":444,"mtime":1774544487759,"rLine truncated
[{"/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/cta.tsx":"1","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/features.tsx":"2","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/hero.tsx":"3","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/index.tsx":"4","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/tech-stack.tsx":"5","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/buttons/gibs-auth.tsx":"6","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/buttons/index.tsx":"7","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/avatar-upload.tsx":"8","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/header.tsx":"9","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/index.tsx":"10","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/reset-password.tsx":"11","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/sign-out.tsx":"12","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/user-info.tsx":"13","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/footer/index.tsx":"14","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/header/controls/AvatarDropdown.tsx":"15","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/header/controls/index.tsx":"16","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/header/index.tsx":"17","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/providers/ConvexClientProvider.tsx":"18","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/providers/index.tsx":"19","/home/gib/Documents/Code/convex-monorepo/apps/next/src/instrumentation-client.ts":"20","/home/gib/Documents/Code/convex-monorepo/apps/next/src/instrumentation.ts":"21","/home/gib/Documents/Code/convex-monorepo/apps/next/src/lib/metadata.ts":"22","/home/gib/Documents/Code/convex-monorepo/apps/next/src/lib/proxy/ban-sus-ips.ts":"23","/home/gib/Documents/Code/convex-monorepo/apps/next/src/proxy.ts":"24","/home/gib/Documents/Code/convex-monorepo/apps/next/payload-types.ts":"25","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(frontend)/(auth)/forgot-password/layout.tsx":"26","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(frontend)/(auth)/forgot-password/page.tsx":"27","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(frontend)/(auth)/profile/layout.tsx":"28","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(frontend)/(auth)/profile/page.tsx":"29","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(frontend)/(auth)/sign-in/layout.tsx":"30","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(frontend)/(auth)/sign-in/page.tsx":"31","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(frontend)/global-error.tsx":"32","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(frontend)/layout.tsx":"33","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(frontend)/page.tsx":"34","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(payload)/admin/[[...segments]]/not-found.tsx":"35","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(payload)/admin/[[...segments]]/page.tsx":"36","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(payload)/admin/importMap.js":"37","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(payload)/api/[...slug]/route.ts":"38","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(payload)/api/graphql/route.ts":"39","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(payload)/api/graphql-playground/route.ts":"40","/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(payload)/layout.tsx":"41","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/content.ts":"42","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/faq.tsx":"43","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/logo-cloud.tsx":"44","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/page-builder.tsx":"45","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/pricing.tsx":"46","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/stats.tsx":"47","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/testimonials.tsx":"48","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/header/navigation.tsx":"49","/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/payload/refresh-route-on-save.tsx":"50","/home/gib/Documents/Code/convex-monorepo/apps/next/src/lib/payload/get-landing-page-content.ts":"51","/home/gib/Documents/Code/coLine truncated
+1 -1
View File
@@ -1 +1 @@
[["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81"],{"key":"82","value":"83"},{"key":"84","value":"85"},{"key":"86","value":"87"},{"key":"88","value":"89"},{"key":"90","value":"91"},{"key":"92","value":"93"},{"key":"94","value":"95"},{"key":"96","value":"97"},{"key":"98","value":"99"},{"key":"100","value":"101"},{"key":"102","value":"103"},{"key":"104","value":"105"},{"key":"106","value":"107"},{"key":"108","value":"109"},{"key":"110","value":"111"},{"key":"112","value":"113"},{"key":"114","value":"115"},{"key":"116","value":"117"},{"key":"118","value":"119"},{"key":"120","value":"121"},{"key":"122","value":"123"},{"key":"124","value":"125"},{"key":"126","value":"127"},{"key":"128","value":"129"},{"key":"130","value":"131"},{"key":"132","value":"133"},{"key":"134","value":"135"},{"key":"136","value":"137"},{"key":"138","value":"139"},{"key":"140","value":"141"},{"key":"142","value":"143"},{"key":"144","value":"145"},{"key":"146","value":"147"},{"key":"148","value":"149"},{"key":"150","value":"151"},{"key":"152","value":"153"},{"key":"154","value":"155"},{"key":"156","value":"157"},{"key":"158","value":"159"},{"key":"160","value":"161"},{"key":"162","value":"163"},{"key":"164","value":"165"},{"key":"166","value":"167"},{"key":"168","value":"169"},{"key":"170","value":"171"},{"key":"172","value":"173"},{"key":"174","value":"175"},{"key":"176","value":"177"},{"key":"178","value":"179"},{"key":"180","value":"181"},{"key":"182","value":"183"},{"key":"184","value":"185"},{"key":"186","value":"187"},{"key":"188","value":"189"},{"key":"190","value":"191"},{"key":"192","value":"193"},{"key":"194","value":"195"},{"key":"196","value":"197"},{"key":"198","value":"199"},{"key":"200","value":"201"},{"key":"202","value":"203"},{"key":"204","value":"205"},{"key":"206","value":"207"},{"key":"208","value":"209"},{"key":"210","value":"211"},{"key":"212","value":"213"},{"key":"214","value":"215"},{"key":"216","value":"217"},{"key":"218","value":"219"},{"key":"220","value":"221"},{"key":"222","value":"223"},{"key":"224","value":"225"},{"key":"226","value":"227"},{"key":"228","value":"229"},{"key":"230","value":"231"},{"key":"232","value":"233"},{"key":"234","value":"235"},{"key":"236","value":"237"},{"key":"238","value":"239"},{"key":"240","value":"241"},{"key":"242","value":"243"},"/home/gib/Documents/Code/convex-monorepo/apps/next/public/misc/convex/convex-symbol-black.svg",{"size":948,"mtime":1717458243000,"hash":"244"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/header/controls/index.tsx",{"size":499,"mtime":1768372347633,"hash":"245","data":"246"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/buttons/gibs-auth.tsx",{"size":1081,"mtime":1768372347496,"hash":"247","data":"248"},"/home/gib/Documents/Code/convex-monorepo/apps/next/public/misc/convex/convex-wordmark-black.svg",{"size":3110,"mtime":1717458243000,"hash":"249"},"/home/gib/Documents/Code/convex-monorepo/apps/next/public/misc/gitea/gitea.svg",{"size":1844,"mtime":1747415494000,"hash":"250"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/sentry.server.config.ts",{"size":184,"mtime":1774546669448,"hash":"251","data":"252"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/reset-password.tsx",{"size":5681,"mtime":1768372347569,"hash":"253","data":"254"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(payload)/api/[...slug]/route.ts",{"size":561,"mtime":1774715746548,"data":"255"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/logo-cloud.tsx",{"size":1142,"mtime":1774603139720,"data":"256"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/payload.config.ts",{"size":575,"mtime":1774601252819,"data":"257"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/payload/globals/landing-page-blocks.ts",{"size":8875,"mtime":1774603243829,"data":"258"},"/home/gib/Documents/Code/convex-monorepo/apps/next/public/misc/convex/convex-symbol-color.svg",{"size":948,"mtime":1717458243000,"hash":"259"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/instrumentation-client.ts",{"size":982,"mtime":1774667904119,"hash":"260","data":"261"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/tech-stack.tsx",{"size":1440,"mtime":1774601252818,"hash":"262","data":"263"},"/home/gib/Documents/Code/convex-monorepo/apps/next/public/favicon-light.png",{"size":14406,"mtime":1717458300000,"hash":"264"},"/home/gib/Documents/Code/convex-monorepo/apps/next/.cache/tsbuildinfo.json",{"size":1196583,"mtime":1774715746150,"hash":"265","data":"266"},"/home/gib/Documents/Code/conveLine truncated
[["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72","73","74","75","76","77","78","79","80","81"],{"key":"82","value":"83"},{"key":"84","value":"85"},{"key":"86","value":"87"},{"key":"88","value":"89"},{"key":"90","value":"91"},{"key":"92","value":"93"},{"key":"94","value":"95"},{"key":"96","value":"97"},{"key":"98","value":"99"},{"key":"100","value":"101"},{"key":"102","value":"103"},{"key":"104","value":"105"},{"key":"106","value":"107"},{"key":"108","value":"109"},{"key":"110","value":"111"},{"key":"112","value":"113"},{"key":"114","value":"115"},{"key":"116","value":"117"},{"key":"118","value":"119"},{"key":"120","value":"121"},{"key":"122","value":"123"},{"key":"124","value":"125"},{"key":"126","value":"127"},{"key":"128","value":"129"},{"key":"130","value":"131"},{"key":"132","value":"133"},{"key":"134","value":"135"},{"key":"136","value":"137"},{"key":"138","value":"139"},{"key":"140","value":"141"},{"key":"142","value":"143"},{"key":"144","value":"145"},{"key":"146","value":"147"},{"key":"148","value":"149"},{"key":"150","value":"151"},{"key":"152","value":"153"},{"key":"154","value":"155"},{"key":"156","value":"157"},{"key":"158","value":"159"},{"key":"160","value":"161"},{"key":"162","value":"163"},{"key":"164","value":"165"},{"key":"166","value":"167"},{"key":"168","value":"169"},{"key":"170","value":"171"},{"key":"172","value":"173"},{"key":"174","value":"175"},{"key":"176","value":"177"},{"key":"178","value":"179"},{"key":"180","value":"181"},{"key":"182","value":"183"},{"key":"184","value":"185"},{"key":"186","value":"187"},{"key":"188","value":"189"},{"key":"190","value":"191"},{"key":"192","value":"193"},{"key":"194","value":"195"},{"key":"196","value":"197"},{"key":"198","value":"199"},{"key":"200","value":"201"},{"key":"202","value":"203"},{"key":"204","value":"205"},{"key":"206","value":"207"},{"key":"208","value":"209"},{"key":"210","value":"211"},{"key":"212","value":"213"},{"key":"214","value":"215"},{"key":"216","value":"217"},{"key":"218","value":"219"},{"key":"220","value":"221"},{"key":"222","value":"223"},{"key":"224","value":"225"},{"key":"226","value":"227"},{"key":"228","value":"229"},{"key":"230","value":"231"},{"key":"232","value":"233"},{"key":"234","value":"235"},{"key":"236","value":"237"},{"key":"238","value":"239"},{"key":"240","value":"241"},{"key":"242","value":"243"},"/home/gib/Documents/Code/convex-monorepo/apps/next/public/misc/convex/convex-symbol-black.svg",{"size":948,"mtime":1717458243000,"hash":"244"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/header/controls/index.tsx",{"size":499,"mtime":1768372347633,"hash":"245","data":"246"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/buttons/gibs-auth.tsx",{"size":1081,"mtime":1768372347496,"hash":"247","data":"248"},"/home/gib/Documents/Code/convex-monorepo/apps/next/public/misc/convex/convex-wordmark-black.svg",{"size":3110,"mtime":1717458243000,"hash":"249"},"/home/gib/Documents/Code/convex-monorepo/apps/next/public/misc/gitea/gitea.svg",{"size":1844,"mtime":1747415494000,"hash":"250"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/sentry.server.config.ts",{"size":184,"mtime":1774546669448,"hash":"251","data":"252"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/layout/auth/profile/reset-password.tsx",{"size":5681,"mtime":1768372347569,"hash":"253","data":"254"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/app/(payload)/api/[...slug]/route.ts",{"size":561,"mtime":1774715746548,"data":"255"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/logo-cloud.tsx",{"size":1142,"mtime":1774603139720,"data":"256"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/payload.config.ts",{"size":614,"mtime":1774716796806,"data":"257"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/payload/globals/landing-page-blocks.ts",{"size":8875,"mtime":1774603243829,"data":"258"},"/home/gib/Documents/Code/convex-monorepo/apps/next/public/misc/convex/convex-symbol-color.svg",{"size":948,"mtime":1717458243000,"hash":"259"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/instrumentation-client.ts",{"size":982,"mtime":1774667904119,"hash":"260","data":"261"},"/home/gib/Documents/Code/convex-monorepo/apps/next/src/components/landing/tech-stack.tsx",{"size":1440,"mtime":1774601252818,"hash":"262","data":"263"},"/home/gib/Documents/Code/convex-monorepo/apps/next/public/favicon-light.png",{"size":14406,"mtime":1717458300000,"hash":"264"},"/home/gib/Documents/Code/convex-monorepo/apps/next/.cache/tsbuildinfo.json",{"size":1198363,"mtime":1774718095241,"hash":"265","data":"266"},"/home/gib/Documents/Code/conveLine truncated
File diff suppressed because it is too large. Load diff
@@ -159,7 +159,7 @@ const SignIn = () => {
};
const handleVerifyEmail = async (
values: z.infer<typeof verifyEmailFormSchema>,
_values: z.infer<typeof verifyEmailFormSchema>,
) => {
const formData = new FormData();
formData.append('code', code);
@@ -194,7 +194,7 @@ const SignIn = () => {
<FormField
control={verifyEmailForm.control}
name='code'
render={({ field }) => (
render={({ field: _field }) => (
<FormItem>
<FormLabel className='text-xl'>Code</FormLabel>
<FormControl>
+9 -1
View File
@@ -1,4 +1,6 @@
import type { LandingPageContent } from '@/components/landing/content';
import { LandingPageBuilder } from '@/components/landing';
import { defaultLandingPageContent } from '@/components/landing/content';
import { RefreshRouteOnSave } from '@/components/payload/refresh-route-on-save';
import { getLandingPageContent } from '@/lib/payload/get-landing-page-content';
@@ -14,7 +16,13 @@ const Home = async ({ searchParams }: HomeProps) => {
const isPreview = Array.isArray(previewParam)
? previewParam.includes('true')
: previewParam === 'true';
const content = await getLandingPageContent(isPreview);
let content: LandingPageContent;
try {
content = await getLandingPageContent(isPreview);
} catch {
content = defaultLandingPageContent;
}
return (
<main className='flex min-h-screen flex-col'>
@@ -10,9 +10,7 @@ type Args = {
params: Promise<{
segments: string[];
}>;
searchParams: Promise<{
[key: string]: string | string[];
}>;
searchParams: Promise<Record<string, string | string[]>>;
};
export const generateMetadata = ({
@@ -10,9 +10,7 @@ type Args = {
params: Promise<{
segments: string[];
}>;
searchParams: Promise<{
[key: string]: string | string[];
}>;
searchParams: Promise<Record<string, string | string[]>>;
};
export const generateMetadata = ({
+1 -1
View File
@@ -16,7 +16,7 @@ type Args = {
children: React.ReactNode;
};
const serverFunction: ServerFunctionClient = async function (args) {
const serverFunction: ServerFunctionClient = async (args) => {
'use server';
return handleServerFunctions({
...args,
@@ -7,14 +7,15 @@ import { getPayloadClient } from './get-payload';
export const getLandingPageContent = async (
isPreview = false,
): Promise<LandingPageContent> => {
noStore();
if (isPreview) {
noStore();
}
const payload = await getPayloadClient();
const landingPage = await (
payload as {
findGlobal: (args: { slug: string; draft?: boolean }) => Promise<unknown>;
}
).findGlobal({ slug: 'landing-page', draft: isPreview });
const landingPage = await payload.findGlobal({
slug: 'landing-page',
draft: isPreview,
});
return mergeLandingPageContent(landingPage as Partial<LandingPageContent>);
return mergeLandingPageContent(landingPage);
};
@@ -1,4 +1,3 @@
/* tslint:disable */
/* eslint-disable */
/**
* This file was automatically generated by Payload.
+1
View File
@@ -8,6 +8,7 @@ import { Users } from './payload/collections/users';
import { LandingPage } from './payload/globals/landing-page';
export default buildConfig({
serverURL: env.NEXT_PUBLIC_SITE_URL,
editor: lexicalEditor(),
collections: [Users],
globals: [LandingPage],
@@ -11,7 +11,11 @@ export const LandingPage: GlobalConfig = {
},
admin: {
livePreview: {
url: '/?preview=true',
url: ({
payload,
}: {
payload: { config: { serverURL?: string | null } };
}) => `${payload.config.serverURL ?? ''}/?preview=true`,
breakpoints: [
{
label: 'Mobile',
+3 -2
View File
@@ -6,7 +6,7 @@
"name": "convex-monorepo",
"devDependencies": {
"@gib/prettier-config": "workspace:",
"@turbo/gen": "^2.8.20",
"@turbo/gen": "^2.8.21",
"dotenv-cli": "11.0.0",
"prettier": "catalog:",
"turbo": "^2.8.21",
@@ -120,6 +120,7 @@
"@gib/eslint-config": "workspace:*",
"@gib/prettier-config": "workspace:*",
"@gib/tsconfig": "workspace:*",
"@types/node": "catalog:",
"eslint": "catalog:",
"prettier": "catalog:",
"react-email": "5.2.10",
@@ -1398,7 +1399,7 @@
"@turbo/darwin-arm64": ["@turbo/[email protected]", "", { "os": "darwin", "cpu": "arm64" }, "sha512-o9HEflxUEyr987x0cTUzZBhDOyL6u95JmdmlkH2VyxAw7zq2sdtM5e72y9ufv2N5SIoOBw1fVn9UES5VY5H6vQ=="],
"@turbo/gen": ["@turbo/[email protected]0", "", { "dependencies": { "@inquirer/prompts": "^7.10.1", "esbuild": "^0.25.0" }, "bin": { "gen": "dist/cli.js" } }, "sha512-SazKn5Pc9mitpc3uc6Pmf+QhkNtvF5t6Ro0V1cuc0QFhblbfw4KwWqFnnfTEmGzgDtb2CZJB3BK8LFMBX52eLg=="],
"@turbo/gen": ["@turbo/[email protected]1", "", { "dependencies": { "@inquirer/prompts": "^7.10.1", "esbuild": "^0.25.0" }, "bin": { "gen": "dist/cli.js" } }, "sha512-6MIArRRT2Re6Y3xF+Cn/aJY9zZZpsZro3LeDWpIOyTNscAIz0pRNfIHNlvwlwSHEkL9haVxQenuJxogFR3IVEQ=="],
"@turbo/linux-64": ["@turbo/[email protected]", "", { "os": "linux", "cpu": "x64" }, "sha512-uTxlCcXWy5h1fSSymP8XSJ+AudzEHMDV3IDfKX7+DGB8kgJ+SLoTUAH7z4OFA7I/l2sznz0upPdbNNZs91YMag=="],
+1
View File
@@ -0,0 +1 @@
[{"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/auth.ts":"1","/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/crons.ts":"2","/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/custom/auth/index.ts":"3","/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/custom/auth/providers/password.ts":"4","/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/custom/auth/providers/usesend.ts":"5","/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/files.ts":"6","/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/http.ts":"7","/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/schema.ts":"8","/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/utils.ts":"9"},{"size":3664,"mtime":1774717261375,"results":"10","hashOfConfig":"11"},{"size":528,"mtime":1774717276314,"results":"12","hashOfConfig":"11"},{"size":142,"mtime":1768157708000,"results":"13","hashOfConfig":"11"},{"size":966,"mtime":1774546669452,"results":"14","hashOfConfig":"11"},{"size":3419,"mtime":1774717294835,"results":"15","hashOfConfig":"11"},{"size":582,"mtime":1768239263763,"results":"16","hashOfConfig":"11"},{"size":153,"mtime":1768157491000,"results":"17","hashOfConfig":"11"},{"size":1199,"mtime":1774583096378,"results":"18","hashOfConfig":"11"},{"size":635,"mtime":1768155639000,"results":"19","hashOfConfig":"11"},{"filePath":"20","messages":"21","suppressedMessages":"22","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"pdxq0k",{"filePath":"23","messages":"24","suppressedMessages":"25","errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"26","messages":"27","suppressedMessages":"28","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"29","messages":"30","suppressedMessages":"31","errorCount":0,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":1,"source":null},{"filePath":"32","messages":"33","suppressedMessages":"34","errorCount":20,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":3,"source":null},{"filePath":"35","messages":"36","suppressedMessages":"37","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"38","messages":"39","suppressedMessages":"40","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"41","messages":"42","suppressedMessages":"43","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"44","messages":"45","suppressedMessages":"46","errorCount":3,"fatalErrorCount":0,"warningCount":2,"fixableErrorCount":0,"fixableWarningCount":2,"source":null},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/auth.ts",[],[],"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/crons.ts",["47"],[],"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/custom/auth/index.ts",[],[],"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/custom/auth/providers/password.ts",["48","49"],[],"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/custom/auth/providers/usesend.ts",["50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72"],[],"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/files.ts",[],[],"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/http.ts",[],[],"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/schema.ts",[],[],"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/utils.ts",["73","74","75","76","77"],[],{"ruleId":"78","severity":1,"message":"79","line":3,"column":10,"messageId":"80","endLine":3,"endColumn":13,"suggestions":"81"},{"ruleId":"82","severity":1,"message":"83","line":8,"column":10,"messageId":"84","endLine":13,"endColumn":4,"fix":"85"},{"ruleId":"78","severity":1,"message":"86","line":8,"column":19,"messageId":"80","endLine":8,"endColumn":22},{"ruleId":"87","severity":2,"message":"88","line":11,"column":5,"messageId":"89","endLine":11,"endColumn":66},{"ruleId":"90","severity":2,"message":"91","line":11,"column":19,"messageId":"92","endLine":11,"endColumn":22},{"ruleId":"82","severity":1,"message":"83","line":14,"column":30,"messageId":"84","endLine":21,"endColumn":6,"fix":"93"},{"ruleId":"82","severity":1,"message":"83","line":16,"column":13,"messageId":"84","endLine":18,"endColumn":10,"fix":"94"},{"ruleId":"82","severity":1,"message":"83","line":23,"column":34,"messageId":"84","endLine":77,"endColumn":6,"fix":"95"},{"ruleId":"87","severity":2,"message":"88","line":26,"column":13,"messageId":"89","endLine":26,"endColumn":59},{"ruleId":"90","severity":2,"message":"91","line":26,"column":31,"messageId":"92","endLine":2Line truncated
+1 -1
View File
@@ -1 +1 @@
[["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23"],{"key":"24","value":"25"},{"key":"26","value":"27"},{"key":"28","value":"29"},{"key":"30","value":"31"},{"key":"32","value":"33"},{"key":"34","value":"35"},{"key":"36","value":"37"},{"key":"38","value":"39"},{"key":"40","value":"41"},{"key":"42","value":"43"},{"key":"44","value":"45"},{"key":"46","value":"47"},{"key":"48","value":"49"},{"key":"50","value":"51"},{"key":"52","value":"53"},{"key":"54","value":"55"},{"key":"56","value":"57"},{"key":"58","value":"59"},{"key":"60","value":"61"},{"key":"62","value":"63"},{"key":"64","value":"65"},{"key":"66","value":"67"},{"key":"68","value":"69"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/.gitignore",{"size":16,"mtime":1766222924000,"hash":"70"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/custom/auth/providers/usesend.ts",{"size":3245,"mtime":1774546669452,"hash":"71","data":"72"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/scripts/generateKeys.mjs",{"size":520,"mtime":1768368324432,"hash":"73","data":"74"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/tsconfig.json",{"size":732,"mtime":1766222924000,"hash":"75","data":"76"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/http.ts",{"size":153,"mtime":1768157491000,"hash":"77","data":"78"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/utils.ts",{"size":635,"mtime":1768155639000,"hash":"79","data":"80"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/schema.ts",{"size":1199,"mtime":1774583096378,"hash":"81","data":"82"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/auth.ts",{"size":3770,"mtime":1774546669451,"hash":"83","data":"84"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/files.ts",{"size":582,"mtime":1768239263763,"hash":"85","data":"86"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/custom/auth/index.ts",{"size":142,"mtime":1768157708000,"hash":"87","data":"88"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/types/auth.ts",{"size":174,"mtime":1768188156942,"hash":"89","data":"90"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/crons.ts",{"size":528,"mtime":1768239263662,"hash":"91","data":"92"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/auth.config.ts",{"size":127,"mtime":1768156477000,"hash":"93","data":"94"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/_generated/server.d.ts",{"size":5600,"mtime":1774031968455,"hash":"95","data":"96"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/README.md",{"size":2525,"mtime":1768155639000,"hash":"97","data":"98"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/_generated/api.d.ts",{"size":1632,"mtime":1774031968820,"hash":"99","data":"100"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/_generated/dataModel.d.ts",{"size":1737,"mtime":1774715745792,"hash":"101","data":"102"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/_generated/server.js",{"size":3696,"mtime":1774031968444,"hash":"103","data":"104"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/types/index.ts",{"size":69,"mtime":1768239263861,"hash":"105","data":"106"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/custom/auth/providers/password.ts",{"size":966,"mtime":1774546669452,"hash":"107","data":"108"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/.cache/.prettiercache",{"size":5478,"mtime":1774546669451},"/home/gib/Documents/Code/convex-monorepo/packages/backend/package.json",{"size":1343,"mtime":1774596101668,"hash":"109","data":"110"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/_generated/api.js",{"size":480,"mtime":1768372369903,"hash":"111","data":"112"},"175b1a771387d8b7e26145c3d04e0475","14f5e2d18e21f65282ac744b382f2d5f",{"hashOfOptions":"113"},"ccf5b9105ad4ff66fce0a7133fa3db4b",{"hashOfOptions":"114"},"cfa98923457caed911ec68b626ef4234",{"hashOfOptions":"115"},"4bbb95a66a1e615c30ea7c5098a4a609",{"hashOfOptions":"116"},"6a3198db454396c63e99ee08065726bd",{"hashOfOptions":"117"},"7e6dcc47831030bfaa3e235d2226cec6",{"hashOfOptions":"118"},"3d304208139ef0b2775272a5a4a2a970",{"hashOfOptions":"119"},"5ff3856f1a61b946df899f7c9880b72a",{"hashOfOptions":"120"},"8776a23ed6f2ab3681e4ba5b4bcf3d74",{"hashOfOptions":"121"},"f0f9ef72dc6fef350f3521d3fd8adfc7",{"hashOfOptions":"122"},"0d76c3867783aec5435b0c716f1bfc65",{"hashOfOptions":"123"},"2d4f4ccfc784af9d668d8c64726c2f6b",{"hashOfOptions":"124"},"6719b019702fc173de16b1bdc8e8ed47",{"hashOfOptions":"125"},"f5aa8269478f140adb4ccf0470dd1244",{"hashOfOptions":"126"},"7c522302bfb45e9cf5f1c271b48fa247",{"hashOfOptions":"127"},"ce3275ccdd28673d7e9280b33792057c",{"hashOfOptions":"128"},"f42d53bd1ba24bfee1407d2098f3b9ff",{"hashOfOptions":"129"},"57577de5aadfa618e91739aeLine truncated
[["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25"],{"key":"26","value":"27"},{"key":"28","value":"29"},{"key":"30","value":"31"},{"key":"32","value":"33"},{"key":"34","value":"35"},{"key":"36","value":"37"},{"key":"38","value":"39"},{"key":"40","value":"41"},{"key":"42","value":"43"},{"key":"44","value":"45"},{"key":"46","value":"47"},{"key":"48","value":"49"},{"key":"50","value":"51"},{"key":"52","value":"53"},{"key":"54","value":"55"},{"key":"56","value":"57"},{"key":"58","value":"59"},{"key":"60","value":"61"},{"key":"62","value":"63"},{"key":"64","value":"65"},{"key":"66","value":"67"},{"key":"68","value":"69"},{"key":"70","value":"71"},{"key":"72","value":"73"},{"key":"74","value":"75"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/.gitignore",{"size":16,"mtime":1766222924000,"hash":"76"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/custom/auth/providers/usesend.ts",{"size":3419,"mtime":1774717294835,"hash":"77","data":"78"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/scripts/generateKeys.mjs",{"size":520,"mtime":1768368324432,"hash":"79","data":"80"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/tsconfig.json",{"size":732,"mtime":1766222924000,"hash":"81","data":"82"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/http.ts",{"size":153,"mtime":1768157491000,"hash":"83","data":"84"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/schema.ts",{"size":1199,"mtime":1774583096378,"hash":"85","data":"86"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/eslint.config.ts",{"size":233,"mtime":1774717251737,"data":"87"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/auth.ts",{"size":3664,"mtime":1774717261375,"hash":"88","data":"89"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/files.ts",{"size":582,"mtime":1768239263763,"hash":"90","data":"91"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/custom/auth/index.ts",{"size":142,"mtime":1768157708000,"hash":"92","data":"93"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/types/auth.ts",{"size":174,"mtime":1768188156942,"hash":"94","data":"95"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/crons.ts",{"size":528,"mtime":1774717276314,"hash":"96","data":"97"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/auth.config.ts",{"size":127,"mtime":1768156477000,"hash":"98","data":"99"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/_generated/server.d.ts",{"size":5600,"mtime":1774031968455,"hash":"100","data":"101"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/globals.d.ts",{"size":398,"mtime":1774717578524,"data":"102"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/README.md",{"size":2525,"mtime":1768155639000,"hash":"103","data":"104"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/_generated/api.d.ts",{"size":1566,"mtime":1774718093296,"hash":"105","data":"106"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/_generated/dataModel.d.ts",{"size":1737,"mtime":1774718093395,"hash":"107","data":"108"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/_generated/server.js",{"size":3696,"mtime":1774031968444,"hash":"109","data":"110"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/types/index.ts",{"size":69,"mtime":1768239263861,"hash":"111","data":"112"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/custom/auth/providers/password.ts",{"size":966,"mtime":1774546669452,"hash":"113","data":"114"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/.cache/.prettiercache",{"size":5478,"mtime":1774715745919},"/home/gib/Documents/Code/convex-monorepo/packages/backend/.cache/.eslintcache",{"size":12307,"mtime":1774717492533},"/home/gib/Documents/Code/convex-monorepo/packages/backend/package.json",{"size":1374,"mtime":1774717505903,"hash":"115","data":"116"},"/home/gib/Documents/Code/convex-monorepo/packages/backend/convex/_generated/api.js",{"size":480,"mtime":1768372369903,"hash":"117","data":"118"},"175b1a771387d8b7e26145c3d04e0475","14f5e2d18e21f65282ac744b382f2d5f",{"hashOfOptions":"119"},"ccf5b9105ad4ff66fce0a7133fa3db4b",{"hashOfOptions":"120"},"cfa98923457caed911ec68b626ef4234",{"hashOfOptions":"121"},"4bbb95a66a1e615c30ea7c5098a4a609",{"hashOfOptions":"122"},"7e6dcc47831030bfaa3e235d2226cec6",{"hashOfOptions":"123"},{"hashOfOptions":"124"},"3d304208139ef0b2775272a5a4a2a970",{"hashOfOptions":"125"},"5ff3856f1a61b946df899f7c9880b72a",{"hashOfOptions":"126"},"8776a23ed6f2ab3681e4ba5b4bcf3d74",{"hashOfOptions":"127"},"f0f9ef72dc6fef350f3521d3fd8adfc7",{"hashOfOptions":"128"},"0d76c3867783aec5435b0c716f1bfc65",{"hashOfOptions":"129"},"2d4f4ccfc784af9d668d8c64726c2f6b",{"hashOfOptions":"130"},"6719b019702fc173de16b1bdc8e8ed47",{"hashOfOptions":"1Line truncated
-2
View File
@@ -15,7 +15,6 @@ import type * as custom_auth_providers_password from "../custom/auth/providers/p
import type * as custom_auth_providers_usesend from "../custom/auth/providers/usesend.js";
import type * as files from "../files.js";
import type * as http from "../http.js";
import type * as utils from "../utils.js";
import type {
ApiFromModules,
@@ -31,7 +30,6 @@ declare const fullApi: ApiFromModules<{
"custom/auth/providers/usesend": typeof custom_auth_providers_usesend;
files: typeof files;
http: typeof http;
utils: typeof utils;
}>;
/**
+4 -5
View File
@@ -11,12 +11,11 @@
import type {
DataModelFromSchemaDefinition,
DocumentByName,
SystemTableNames,
TableNamesInDataModel,
} from 'convex/server';
import type { GenericId } from 'convex/values';
import schema from '../schema.js';
SystemTableNames,
} from "convex/server";
import type { GenericId } from "convex/values";
import schema from "../schema.js";
/**
* The names of all of your Convex tables.
+2 -3
View File
@@ -8,7 +8,7 @@ import {
import { ConvexError, v } from 'convex/values';
import type { Doc, Id } from './_generated/dataModel';
import type { MutationCtx, QueryCtx } from './_generated/server';
import type { QueryCtx } from './_generated/server';
import { api } from './_generated/api';
import { action, mutation, query } from './_generated/server';
import { Password, validatePassword } from './custom/auth';
@@ -96,11 +96,10 @@ export const updateUserPassword = action({
if (!userId) throw new ConvexError('Not authenticated.');
const user = await ctx.runQuery(api.auth.getUser, { userId });
if (!user?.email) throw new ConvexError('User not found.');
const verified = await retrieveAccount(ctx, {
await retrieveAccount(ctx, {
provider: 'password',
account: { id: user.email, secret: currentPassword },
});
if (!verified) throw new ConvexError('Current password is incorrect.');
if (!validatePassword(newPassword))
throw new ConvexError('Invalid password.');
@@ -11,7 +11,7 @@ export default function UseSendProvider(config: EmailUserConfig): EmailConfig {
from: process.env.USESEND_FROM_EMAIL ?? '[email protected]',
maxAge: 24 * 60 * 60, // 24 hours
async generateVerificationToken() {
generateVerificationToken() {
const random: RandomReader = {
read(bytes) {
crypto.getRandomValues(bytes);
@@ -26,17 +26,20 @@ export default function UseSendProvider(config: EmailUserConfig): EmailConfig {
const siteUrl = process.env.USESEND_FROM_EMAIL ?? '';
const appName = siteUrl.split('@')[1]?.split('.')[0] ?? 'App';
const useSend = new UseSend(
process.env.USESEND_API_KEY!,
process.env.USESEND_URL!,
);
const apiKey = process.env.USESEND_API_KEY;
const useSendUrl = process.env.USESEND_URL;
if (!apiKey || !useSendUrl) {
throw new Error('USESEND_API_KEY and USESEND_URL must be set.');
}
const useSend = new UseSend(apiKey, useSendUrl);
// For password reset, we want to send the code, not the magic link
const isPasswordReset =
url.includes('reset') || provider.id?.includes('reset');
url.includes('reset') || provider.id.includes('reset');
const result = await useSend.emails.send({
from: provider.from!,
from: provider.from ?? '[email protected]',
to: [to],
subject: isPasswordReset
? `Reset your password - ${appName}`
+11
View File
@@ -0,0 +1,11 @@
// Declare process.env for Convex backend environment variables.
// Convex supports process.env to read variables set in the Convex Dashboard.
declare const process: {
readonly env: {
readonly USESEND_API_KEY?: string;
readonly USESEND_URL?: string;
readonly USESEND_FROM_EMAIL?: string;
readonly CONVEX_CLOUD_URL?: string;
readonly [key: string]: string | undefined;
};
};
-16
View File
@@ -1,16 +0,0 @@
export function missingEnvVariableUrl(envVarName: string, whereToGet: string) {
const deployment = deploymentName();
if (!deployment) return `Missing ${envVarName} in environment variables.`;
return (
`\n Missing ${envVarName} in environment variables.\n\n` +
` Get it from ${whereToGet} .\n Paste it on the Convex dashboard:\n` +
` https://dashboard.convex.dev/d/${deployment}/settings?var=${envVarName}`
);
}
export function deploymentName() {
const url = process.env.CONVEX_CLOUD_URL;
if (!url) return undefined;
const regex = new RegExp('https://(.+).convex.cloud');
return regex.exec(url)?.[1];
}
+10
View File
@@ -0,0 +1,10 @@
import { defineConfig } from 'eslint/config';
import { baseConfig } from '@gib/eslint-config/base';
export default defineConfig(
{
ignores: ['convex/_generated/**', 'types/**', 'scripts/**', 'dist/**'],
},
baseConfig,
);
+1
View File
@@ -36,6 +36,7 @@
"@gib/eslint-config": "workspace:*",
"@gib/prettier-config": "workspace:*",
"@gib/tsconfig": "workspace:*",
"@types/node": "catalog:",
"eslint": "catalog:",
"prettier": "catalog:",
"react-email": "5.2.10",
+1 -1
View File
@@ -1 +1 @@
[{"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/accordion.tsx":"1","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/alert-dialog.tsx":"2","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/alert.tsx":"3","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/aspect-ratio.tsx":"4","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/avatar.tsx":"5","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/badge.tsx":"6","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/based-avatar.tsx":"7","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/based-progress.tsx":"8","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/breadcrumb.tsx":"9","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/button-group.tsx":"10","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/button.tsx":"11","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/calendar.tsx":"12","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/card.tsx":"13","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/carousel.tsx":"14","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/chart.tsx":"15","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/checkbox.tsx":"16","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/collapsible.tsx":"17","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/combobox.tsx":"18","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/command.tsx":"19","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/context-menu.tsx":"20","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/dialog.tsx":"21","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/drawer.tsx":"22","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/dropdown-menu.tsx":"23","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/empty.tsx":"24","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/field.tsx":"25","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/form.tsx":"26","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hooks/index.tsx":"27","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hooks/use-mobile.ts":"28","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hooks/use-on-click-outside.tsx":"29","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hover-card.tsx":"30","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/image-crop.tsx":"31","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/index.tsx":"32","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/input-group.tsx":"33","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/input-otp.tsx":"34","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/input.tsx":"35","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/item.tsx":"36","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/kbd.tsx":"37","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/label.tsx":"38","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/menubar.tsx":"39","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/native-select.tsx":"40","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/navigation-menu.tsx":"41","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/pagination.tsx":"42","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/popover.tsx":"43","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/progress.tsx":"44","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/radio-group.tsx":"45","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/resizable.tsx":"46","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/scroll-area.tsx":"47","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/select.tsx":"48","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/separator.tsx":"49","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/sheet.tsx":"50","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/sidebar.tsx":"51","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/skeleton.tsx":"52","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/slider.tsx":"53","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/sonner.tsx":"54","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/spinner.tsx":"55","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/status-message.tsx":"56","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/submit-button.tsx":"57","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/switch.tsx":"58","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/table.tsx":"59","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/tabs.tsx":"60","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/textarea.tsx":"61","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/theme.tsx":"62","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/toggle-group.tsx":"63","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/toggle.tsx":"64","/home/gib/Documents/Code/convex-monorepo/pacLine truncated
[{"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/accordion.tsx":"1","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/alert-dialog.tsx":"2","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/alert.tsx":"3","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/aspect-ratio.tsx":"4","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/avatar.tsx":"5","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/badge.tsx":"6","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/based-avatar.tsx":"7","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/based-progress.tsx":"8","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/breadcrumb.tsx":"9","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/button-group.tsx":"10","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/button.tsx":"11","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/calendar.tsx":"12","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/card.tsx":"13","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/carousel.tsx":"14","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/chart.tsx":"15","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/checkbox.tsx":"16","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/collapsible.tsx":"17","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/combobox.tsx":"18","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/command.tsx":"19","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/context-menu.tsx":"20","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/dialog.tsx":"21","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/drawer.tsx":"22","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/dropdown-menu.tsx":"23","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/empty.tsx":"24","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/field.tsx":"25","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/form.tsx":"26","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hooks/index.tsx":"27","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hooks/use-mobile.ts":"28","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hooks/use-on-click-outside.tsx":"29","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hover-card.tsx":"30","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/image-crop.tsx":"31","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/index.tsx":"32","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/input-group.tsx":"33","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/input-otp.tsx":"34","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/input.tsx":"35","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/item.tsx":"36","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/kbd.tsx":"37","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/label.tsx":"38","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/menubar.tsx":"39","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/native-select.tsx":"40","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/navigation-menu.tsx":"41","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/pagination.tsx":"42","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/popover.tsx":"43","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/progress.tsx":"44","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/radio-group.tsx":"45","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/resizable.tsx":"46","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/scroll-area.tsx":"47","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/select.tsx":"48","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/separator.tsx":"49","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/sheet.tsx":"50","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/sidebar.tsx":"51","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/skeleton.tsx":"52","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/slider.tsx":"53","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/sonner.tsx":"54","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/spinner.tsx":"55","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/status-message.tsx":"56","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/submit-button.tsx":"57","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/switch.tsx":"58","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/table.tsx":"59","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/tabs.tsx":"60","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/textarea.tsx":"61","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/theme.tsx":"62","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/toggle-group.tsx":"63","/home/gib/Documents/Code/convex-monorepo/packages/ui/src/toggle.tsx":"64","/home/gib/Documents/Code/convex-monorepo/pacLine truncated
+1 -1
View File
@@ -1 +1 @@
[["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72"],{"key":"73","value":"74"},{"key":"75","value":"76"},{"key":"77","value":"78"},{"key":"79","value":"80"},{"key":"81","value":"82"},{"key":"83","value":"84"},{"key":"85","value":"86"},{"key":"87","value":"88"},{"key":"89","value":"90"},{"key":"91","value":"92"},{"key":"93","value":"94"},{"key":"95","value":"96"},{"key":"97","value":"98"},{"key":"99","value":"100"},{"key":"101","value":"102"},{"key":"103","value":"104"},{"key":"105","value":"106"},{"key":"107","value":"108"},{"key":"109","value":"110"},{"key":"111","value":"112"},{"key":"113","value":"114"},{"key":"115","value":"116"},{"key":"117","value":"118"},{"key":"119","value":"120"},{"key":"121","value":"122"},{"key":"123","value":"124"},{"key":"125","value":"126"},{"key":"127","value":"128"},{"key":"129","value":"130"},{"key":"131","value":"132"},{"key":"133","value":"134"},{"key":"135","value":"136"},{"key":"137","value":"138"},{"key":"139","value":"140"},{"key":"141","value":"142"},{"key":"143","value":"144"},{"key":"145","value":"146"},{"key":"147","value":"148"},{"key":"149","value":"150"},{"key":"151","value":"152"},{"key":"153","value":"154"},{"key":"155","value":"156"},{"key":"157","value":"158"},{"key":"159","value":"160"},{"key":"161","value":"162"},{"key":"163","value":"164"},{"key":"165","value":"166"},{"key":"167","value":"168"},{"key":"169","value":"170"},{"key":"171","value":"172"},{"key":"173","value":"174"},{"key":"175","value":"176"},{"key":"177","value":"178"},{"key":"179","value":"180"},{"key":"181","value":"182"},{"key":"183","value":"184"},{"key":"185","value":"186"},{"key":"187","value":"188"},{"key":"189","value":"190"},{"key":"191","value":"192"},{"key":"193","value":"194"},{"key":"195","value":"196"},{"key":"197","value":"198"},{"key":"199","value":"200"},{"key":"201","value":"202"},{"key":"203","value":"204"},{"key":"205","value":"206"},{"key":"207","value":"208"},{"key":"209","value":"210"},{"key":"211","value":"212"},{"key":"213","value":"214"},{"key":"215","value":"216"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/based-avatar.tsx",{"size":1745,"mtime":1774589278255,"data":"217"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hooks/index.tsx",{"size":104,"mtime":1774546669457,"data":"218"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hover-card.tsx",{"size":1476,"mtime":1774546669457,"data":"219"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/popover.tsx",{"size":2261,"mtime":1774546669458,"data":"220"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/tooltip.tsx",{"size":1771,"mtime":1774546669459,"data":"221"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/aspect-ratio.tsx",{"size":273,"mtime":1774546669455,"data":"222"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/button.tsx",{"size":3380,"mtime":1774546669455,"data":"223"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/toggle-group.tsx",{"size":2238,"mtime":1774546669459,"data":"224"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hooks/use-mobile.ts",{"size":589,"mtime":1774546669457,"data":"225"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/submit-button.tsx",{"size":1192,"mtime":1773778628581,"data":"226"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/.cache/.eslintcache",{"size":45499,"mtime":1774546669452},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/carousel.tsx",{"size":5758,"mtime":1774546669455,"data":"227"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/textarea.tsx",{"size":736,"mtime":1774546669459,"data":"228"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/.cache/.prettiercache",{"size":13631,"mtime":1774546669454},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/avatar.tsx",{"size":2764,"mtime":1774546669455,"data":"229"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/command.tsx",{"size":4628,"mtime":1774546669456,"data":"230"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/dropdown-menu.tsx",{"size":8511,"mtime":1774546669456,"data":"231"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/empty.tsx",{"size":2265,"mtime":1774546669456,"data":"232"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/item.tsx",{"size":4575,"mtime":1774546669457,"data":"233"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/spinner.tsx",{"size":307,"mtime":1774546669458,"data":"234"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/package.json",{"size":2137,"mtime":1774590118182,"data":"235"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/dialog.tsx",{"size":3925,"mtime":1774546669456,"data":"236"},"/Line truncated
[["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31","32","33","34","35","36","37","38","39","40","41","42","43","44","45","46","47","48","49","50","51","52","53","54","55","56","57","58","59","60","61","62","63","64","65","66","67","68","69","70","71","72"],{"key":"73","value":"74"},{"key":"75","value":"76"},{"key":"77","value":"78"},{"key":"79","value":"80"},{"key":"81","value":"82"},{"key":"83","value":"84"},{"key":"85","value":"86"},{"key":"87","value":"88"},{"key":"89","value":"90"},{"key":"91","value":"92"},{"key":"93","value":"94"},{"key":"95","value":"96"},{"key":"97","value":"98"},{"key":"99","value":"100"},{"key":"101","value":"102"},{"key":"103","value":"104"},{"key":"105","value":"106"},{"key":"107","value":"108"},{"key":"109","value":"110"},{"key":"111","value":"112"},{"key":"113","value":"114"},{"key":"115","value":"116"},{"key":"117","value":"118"},{"key":"119","value":"120"},{"key":"121","value":"122"},{"key":"123","value":"124"},{"key":"125","value":"126"},{"key":"127","value":"128"},{"key":"129","value":"130"},{"key":"131","value":"132"},{"key":"133","value":"134"},{"key":"135","value":"136"},{"key":"137","value":"138"},{"key":"139","value":"140"},{"key":"141","value":"142"},{"key":"143","value":"144"},{"key":"145","value":"146"},{"key":"147","value":"148"},{"key":"149","value":"150"},{"key":"151","value":"152"},{"key":"153","value":"154"},{"key":"155","value":"156"},{"key":"157","value":"158"},{"key":"159","value":"160"},{"key":"161","value":"162"},{"key":"163","value":"164"},{"key":"165","value":"166"},{"key":"167","value":"168"},{"key":"169","value":"170"},{"key":"171","value":"172"},{"key":"173","value":"174"},{"key":"175","value":"176"},{"key":"177","value":"178"},{"key":"179","value":"180"},{"key":"181","value":"182"},{"key":"183","value":"184"},{"key":"185","value":"186"},{"key":"187","value":"188"},{"key":"189","value":"190"},{"key":"191","value":"192"},{"key":"193","value":"194"},{"key":"195","value":"196"},{"key":"197","value":"198"},{"key":"199","value":"200"},{"key":"201","value":"202"},{"key":"203","value":"204"},{"key":"205","value":"206"},{"key":"207","value":"208"},{"key":"209","value":"210"},{"key":"211","value":"212"},{"key":"213","value":"214"},{"key":"215","value":"216"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/based-avatar.tsx",{"size":1745,"mtime":1774589278255,"data":"217"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hooks/index.tsx",{"size":104,"mtime":1774546669457,"data":"218"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hover-card.tsx",{"size":1476,"mtime":1774546669457,"data":"219"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/popover.tsx",{"size":2261,"mtime":1774546669458,"data":"220"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/tooltip.tsx",{"size":1771,"mtime":1774546669459,"data":"221"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/aspect-ratio.tsx",{"size":273,"mtime":1774546669455,"data":"222"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/button.tsx",{"size":3380,"mtime":1774546669455,"data":"223"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/toggle-group.tsx",{"size":2238,"mtime":1774716762755,"data":"224"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/hooks/use-mobile.ts",{"size":589,"mtime":1774546669457,"data":"225"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/submit-button.tsx",{"size":1192,"mtime":1773778628581,"data":"226"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/.cache/.eslintcache",{"size":34794,"mtime":1774717495793},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/carousel.tsx",{"size":5695,"mtime":1774718094545,"data":"227"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/textarea.tsx",{"size":736,"mtime":1774546669459,"data":"228"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/.cache/.prettiercache",{"size":13631,"mtime":1774715746012},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/avatar.tsx",{"size":2764,"mtime":1774546669455,"data":"229"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/command.tsx",{"size":4628,"mtime":1774546669456,"data":"230"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/dropdown-menu.tsx",{"size":8511,"mtime":1774546669456,"data":"231"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/empty.tsx",{"size":2265,"mtime":1774546669456,"data":"232"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/item.tsx",{"size":4575,"mtime":1774546669457,"data":"233"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/spinner.tsx",{"size":307,"mtime":1774546669458,"data":"234"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/package.json",{"size":2137,"mtime":1774590118182,"data":"235"},"/home/gib/Documents/Code/convex-monorepo/packages/ui/src/dialog.tsx",{"size":3925,"mtime":1774546669456,"data":"236"},"/Line truncated
File diff suppressed because it is too large. Load diff
+2 -2
View File
@@ -21,7 +21,7 @@ const BasedProgress = ({
value = 0,
...props
}: BasedProgressProps) => {
const [progress, setProgress] = React.useState<number>(value ?? 0);
const [progress, setProgress] = React.useState<number>(value);
React.useEffect(() => {
const id = window.setInterval(() => {
@@ -45,7 +45,7 @@ const BasedProgress = ({
<ProgressPrimitive.Indicator
data-slot='progress-indicator'
className='bg-primary h-full w-full flex-1 transition-all'
style={{ transform: `translateX(-${100 - (progress ?? 0)}%)` }}
style={{ transform: `translateX(-${100 - progress}%)` }}
/>
</ProgressPrimitive.Root>
);
+2 -3
View File
@@ -98,7 +98,7 @@ const Carousel = ({
api.on('select', onSelect);
return () => {
api?.off('select', onSelect);
api.off('select', onSelect);
};
}, [api, onSelect]);
@@ -108,8 +108,7 @@ const Carousel = ({
carouselRef,
api: api,
opts,
orientation:
orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),
orientation: orientation,
scrollPrev,
scrollNext,
canScrollPrev,
+9 -9
View File
@@ -48,7 +48,7 @@ const ChartContainer = ({
>['children'];
}) => {
const uniqueId = React.useId();
const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`;
const chartId = `chart-${id ?? uniqueId.replace(/:/g, '')}`;
return (
<ChartContext.Provider value={{ config }}>
@@ -72,7 +72,7 @@ const ChartContainer = ({
const ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {
const colorConfig = Object.entries(config).filter(
([, config]) => config.theme || config.color,
([, config]) => config.theme ?? config.color,
);
if (!colorConfig.length) {
@@ -89,7 +89,7 @@ ${prefix} [data-chart=${id}] {
${colorConfig
.map(([key, itemConfig]) => {
const color =
itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||
itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ??
itemConfig.color;
return color ? ` --color-${key}: ${color};` : null;
})
@@ -135,11 +135,11 @@ const ChartTooltipContent = ({
}
const [item] = payload;
const key = `${labelKey || item?.dataKey || item?.name || 'value'}`;
const key = `${labelKey ?? item?.dataKey ?? item?.name ?? 'value'}`;
const itemConfig = getPayloadConfigFromPayload(config, item, key);
const value =
!labelKey && typeof label === 'string'
? config[label]?.label || label
? config[label]?.label ?? label
: itemConfig?.label;
if (labelFormatter) {
@@ -183,9 +183,9 @@ const ChartTooltipContent = ({
{payload
.filter((item) => item.type !== 'none')
.map((item, index) => {
const key = `${nameKey || item.name || item.dataKey || 'value'}`;
const key = `${nameKey ?? item.name ?? item.dataKey ?? 'value'}`;
const itemConfig = getPayloadConfigFromPayload(config, item, key);
const indicatorColor = color || item.payload.fill || item.color;
const indicatorColor = color ?? item.payload.fill ?? item.color;
return (
<div
@@ -232,7 +232,7 @@ const ChartTooltipContent = ({
<div className='grid gap-1.5'>
{nestLabel ? tooltipLabel : null}
<span className='text-muted-foreground'>
{itemConfig?.label || item.name}
{itemConfig?.label ?? item.name}
</span>
</div>
{item.value && (
@@ -281,7 +281,7 @@ const ChartLegendContent = ({
{payload
.filter((item) => item.type !== 'none')
.map((item) => {
const key = `${nameKey || item.dataKey || 'value'}`;
const key = `${nameKey ?? item.dataKey ?? 'value'}`;
const itemConfig = getPayloadConfigFromPayload(config, item, key);
return (
+1 -5
View File
@@ -46,10 +46,6 @@ const useFormField = () => {
const formState = useFormState({ name: fieldContext.name });
const fieldState = getFieldState(fieldContext.name, formState);
if (!fieldContext) {
throw new Error('useFormField should be used within <FormField>');
}
const { id } = itemContext;
return {
@@ -138,7 +134,7 @@ const FormDescription = ({
const FormMessage = ({ className, ...props }: React.ComponentProps<'p'>) => {
const { error, formMessageId } = useFormField();
const body = error ? String(error?.message ?? '') : props.children;
const body = error ? String(error.message ?? '') : props.children;
if (!body) {
return null;
@@ -1,5 +1,4 @@
import * as React from 'react';
import { MousePointerClick, X } from 'lucide-react';
type EventType =
| 'mousedown'
+4 -3
View File
@@ -153,7 +153,7 @@ export const ImageCrop = ({
useEffect(() => {
const reader = new FileReader();
reader.addEventListener('load', () =>
setImgSrc(reader.result?.toString() || ''),
setImgSrc(typeof reader.result === 'string' ? reader.result : ''),
);
reader.readAsDataURL(file);
}, [file]);
@@ -173,12 +173,13 @@ export const ImageCrop = ({
onChange?.(pixelCrop, percentCrop);
};
const handleComplete = async (
const handleComplete = (
pixelCrop: PixelCrop,
percentCrop: PercentCrop,
) => {
): Promise<void> => {
setCompletedCrop(pixelCrop);
onComplete?.(pixelCrop, percentCrop);
return Promise.resolve();
};
const applyCrop = async () => {
+1 -1
View File
@@ -47,7 +47,7 @@ const InputOTPSlot = ({
index: number;
}) => {
const inputOTPContext = React.useContext(OTPInputContext);
const { char, hasFakeCaret, isActive } = inputOTPContext?.slots[index] ?? {};
const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index] ?? {};
return (
<div
+1 -1
View File
@@ -21,7 +21,7 @@ const Progress = ({
<ProgressPrimitive.Indicator
data-slot='progress-indicator'
className='bg-primary size-full flex-1 transition-all'
style={{ transform: `translateX(-${100 - (value || 0)}%)` }}
style={{ transform: `translateX(-${100 - (value ?? 0)}%)` }}
/>
</ProgressPrimitive.Root>
);
+3 -3
View File
@@ -602,9 +602,9 @@ const SidebarMenuSkeleton = ({
showIcon?: boolean;
}) => {
// Random width between 50 to 90%.
const width = React.useMemo(() => {
return `${Math.floor(Math.random() * 40) + 50}%`;
}, []);
const [width] = React.useState(
() => `${Math.floor(Math.random() * 40) + 50}%`,
);
return (
<div
+4 -4
View File
@@ -58,13 +58,13 @@ const ToggleGroupItem = ({
return (
<ToggleGroupPrimitive.Item
data-slot='toggle-group-item'
data-variant={context.variant || variant}
data-size={context.size || size}
data-variant={context.variant ?? variant}
data-size={context.size ?? size}
data-spacing={context.spacing}
className={cn(
toggleVariants({
variant: context.variant || variant,
size: context.size || size,
variant: context.variant ?? variant,
size: context.size ?? size,
}),
'w-auto min-w-0 shrink-0 px-3 focus:z-10 focus-visible:z-10',
'data-[spacing=0]:rounded-none data-[spacing=0]:shadow-none data-[spacing=0]:first:rounded-l-md data-[spacing=0]:last:rounded-r-md data-[spacing=0]:data-[variant=outline]:border-l-0 data-[spacing=0]:data-[variant=outline]:first:border-l',
+1 -1
View File
@@ -1 +1 @@
[["1","2","3","4","5","6"],{"key":"7","value":"8"},{"key":"9","value":"10"},{"key":"11","value":"12"},{"key":"13","value":"14"},{"key":"15","value":"16"},{"key":"17","value":"18"},"/home/gib/Documents/Code/convex-monorepo/tools/eslint/base.ts",{"size":2963,"mtime":1774546669459,"hash":"19","data":"20"},"/home/gib/Documents/Code/convex-monorepo/tools/eslint/nextjs.ts",{"size":440,"mtime":1768155639000,"hash":"21","data":"22"},"/home/gib/Documents/Code/convex-monorepo/tools/eslint/.cache/.prettiercache",{"size":1278,"mtime":1774546669459},"/home/gib/Documents/Code/convex-monorepo/tools/eslint/package.json",{"size":1034,"mtime":1774588268325,"hash":"23","data":"24"},"/home/gib/Documents/Code/convex-monorepo/tools/eslint/react.ts",{"size":592,"mtime":1768155639000,"hash":"25","data":"26"},"/home/gib/Documents/Code/convex-monorepo/tools/eslint/tsconfig.json",{"size":94,"mtime":1766222924000,"hash":"27","data":"28"},"6a779439826cf31b5561a21273d134a9",{"hashOfOptions":"29"},"25c52c46972131dcc296288599ff108d",{"hashOfOptions":"30"},"a5326aca75246da261fd2e354257b45a",{"hashOfOptions":"31"},"2292935ede6baf909f6a0c61486e15da",{"hashOfOptions":"32"},"b3c77d33a30318d89c9c2cafcbe00bbe",{"hashOfOptions":"33"},"1686097143","2347540204","302976953","3406150487","1582266352"]
[["1","2","3","4","5","6"],{"key":"7","value":"8"},{"key":"9","value":"10"},{"key":"11","value":"12"},{"key":"13","value":"14"},{"key":"15","value":"16"},{"key":"17","value":"18"},"/home/gib/Documents/Code/convex-monorepo/tools/eslint/base.ts",{"size":2963,"mtime":1774546669459,"hash":"19","data":"20"},"/home/gib/Documents/Code/convex-monorepo/tools/eslint/nextjs.ts",{"size":440,"mtime":1768155639000,"hash":"21","data":"22"},"/home/gib/Documents/Code/convex-monorepo/tools/eslint/.cache/.prettiercache",{"size":1278,"mtime":1774715745635},"/home/gib/Documents/Code/convex-monorepo/tools/eslint/package.json",{"size":1034,"mtime":1774588268325,"hash":"23","data":"24"},"/home/gib/Documents/Code/convex-monorepo/tools/eslint/react.ts",{"size":592,"mtime":1768155639000,"hash":"25","data":"26"},"/home/gib/Documents/Code/convex-monorepo/tools/eslint/tsconfig.json",{"size":94,"mtime":1766222924000,"hash":"27","data":"28"},"6a779439826cf31b5561a21273d134a9",{"hashOfOptions":"29"},"25c52c46972131dcc296288599ff108d",{"hashOfOptions":"30"},"a5326aca75246da261fd2e354257b45a",{"hashOfOptions":"31"},"2292935ede6baf909f6a0c61486e15da",{"hashOfOptions":"32"},"b3c77d33a30318d89c9c2cafcbe00bbe",{"hashOfOptions":"33"},"1686097143","2347540204","302976953","3406150487","1582266352"]
+1 -1
View File
@@ -1 +1 @@
[["1","2","3","4"],{"key":"5","value":"6"},{"key":"7","value":"8"},{"key":"9","value":"10"},{"key":"11","value":"12"},"/home/gib/Documents/Code/convex-monorepo/tools/prettier/.cache/.prettiercache",{"size":832,"mtime":1774546669459},"/home/gib/Documents/Code/convex-monorepo/tools/prettier/index.js",{"size":1194,"mtime":1768372320442,"hash":"13","data":"14"},"/home/gib/Documents/Code/convex-monorepo/tools/prettier/package.json",{"size":607,"mtime":1774032385569,"hash":"15","data":"16"},"/home/gib/Documents/Code/convex-monorepo/tools/prettier/tsconfig.json",{"size":94,"mtime":1766222924000,"hash":"17","data":"18"},"ecbaa91166a940dfcec8117059f52402",{"hashOfOptions":"19"},"11b634ce56ac720ac9a2860d77fbd2cc",{"hashOfOptions":"20"},"b3c77d33a30318d89c9c2cafcbe00bbe",{"hashOfOptions":"21"},"1828250668","802511607","4250532914"]
[["1","2","3","4"],{"key":"5","value":"6"},{"key":"7","value":"8"},{"key":"9","value":"10"},{"key":"11","value":"12"},"/home/gib/Documents/Code/convex-monorepo/tools/prettier/.cache/.prettiercache",{"size":832,"mtime":1774715745646},"/home/gib/Documents/Code/convex-monorepo/tools/prettier/index.js",{"size":1194,"mtime":1768372320442,"hash":"13","data":"14"},"/home/gib/Documents/Code/convex-monorepo/tools/prettier/package.json",{"size":607,"mtime":1774032385569,"hash":"15","data":"16"},"/home/gib/Documents/Code/convex-monorepo/tools/prettier/tsconfig.json",{"size":94,"mtime":1766222924000,"hash":"17","data":"18"},"ecbaa91166a940dfcec8117059f52402",{"hashOfOptions":"19"},"11b634ce56ac720ac9a2860d77fbd2cc",{"hashOfOptions":"20"},"b3c77d33a30318d89c9c2cafcbe00bbe",{"hashOfOptions":"21"},"1828250668","802511607","4250532914"]
+1 -1
View File
@@ -1 +1 @@
[{"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/postcss-config.js":"1"},{"size":70,"mtime":1768155639000,"results":"2","hashOfConfig":"3"},{"filePath":"4","messages":"5","suppressedMessages":"6","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"z9il2c","/home/gib/Documents/Code/convex-monorepo/tools/tailwind/postcss-config.js",[],[]]
[{"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/postcss-config.js":"1"},{"size":70,"mtime":1768155639000,"results":"2","hashOfConfig":"3"},{"filePath":"4","messages":"5","suppressedMessages":"6","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"zvlfqu","/home/gib/Documents/Code/convex-monorepo/tools/tailwind/postcss-config.js",[],[]]
+1 -1
View File
@@ -1 +1 @@
[["1","2","3","4","5","6","7"],{"key":"8","value":"9"},{"key":"10","value":"11"},{"key":"12","value":"13"},{"key":"14","value":"15"},{"key":"16","value":"17"},{"key":"18","value":"19"},{"key":"20","value":"21"},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/.cache/.eslintcache",{"size":396,"mtime":1774546669459},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/.cache/.prettiercache",{"size":1450,"mtime":1774546669459},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/package.json",{"size":851,"mtime":1774032407411,"hash":"22","data":"23"},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/tsconfig.json",{"size":94,"mtime":1766222924000,"hash":"24","data":"25"},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/eslint.config.ts",{"size":143,"mtime":1768155639000,"hash":"26","data":"27"},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/theme.css",{"size":7273,"mtime":1768320378000,"hash":"28","data":"29"},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/postcss-config.js",{"size":70,"mtime":1768155639000,"hash":"30","data":"31"},"0d22e47f57739db9de04c6f8420d6fb5",{"hashOfOptions":"32"},"b3c77d33a30318d89c9c2cafcbe00bbe",{"hashOfOptions":"33"},"b8fec960cb32340eea62ca1485093e68",{"hashOfOptions":"34"},"e40c2569ef375a9c828c80c0f9ce1bf2",{"hashOfOptions":"35"},"9a944fbda06979be39571bd9bd00b0d9",{"hashOfOptions":"36"},"286235122","2846522359","1288936688","2683656544","1694755693"]
[["1","2","3","4","5","6","7"],{"key":"8","value":"9"},{"key":"10","value":"11"},{"key":"12","value":"13"},{"key":"14","value":"15"},{"key":"16","value":"17"},{"key":"18","value":"19"},{"key":"20","value":"21"},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/.cache/.eslintcache",{"size":396,"mtime":1774717490012},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/.cache/.prettiercache",{"size":1450,"mtime":1774715745705},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/package.json",{"size":851,"mtime":1774032407411,"hash":"22","data":"23"},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/tsconfig.json",{"size":94,"mtime":1766222924000,"hash":"24","data":"25"},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/eslint.config.ts",{"size":143,"mtime":1768155639000,"hash":"26","data":"27"},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/theme.css",{"size":7273,"mtime":1768320378000,"hash":"28","data":"29"},"/home/gib/Documents/Code/convex-monorepo/tools/tailwind/postcss-config.js",{"size":70,"mtime":1768155639000,"hash":"30","data":"31"},"0d22e47f57739db9de04c6f8420d6fb5",{"hashOfOptions":"32"},"b3c77d33a30318d89c9c2cafcbe00bbe",{"hashOfOptions":"33"},"b8fec960cb32340eea62ca1485093e68",{"hashOfOptions":"34"},"e40c2569ef375a9c828c80c0f9ce1bf2",{"hashOfOptions":"35"},"9a944fbda06979be39571bd9bd00b0d9",{"hashOfOptions":"36"},"286235122","2846522359","1288936688","2683656544","1694755693"]
+1
View File
@@ -16,6 +16,7 @@
"CONVEX_SELF_HOSTED_URL",
"CONVEX_SELF_HOSTED_ADMIN_KEY",
"CONVEX_SITE_URL",
"CONVEX_CLOUD_URL",
"USESEND_API_KEY",
"USESEND_URL",
"USESEND_FROM_EMAIL",