Skip to content

Commit

Permalink
refactor: Switch to App Router (#480)
Browse files Browse the repository at this point in the history
* wip

* Fix login

* no from Tables

* webhooks

* Fix lint

* Use supabaseAdmin in server

* Fix onauthchange

* Fix sendinblue

* DONE OK

* Fix supabase

* Finish pricing

* make pricing work

* Fix nav!

* Add footer

* Login

* Make nav work

* useRouter wip

* Fix some types

* remove useless files

* Dashboard

* Fix dicionary

* Fix v0 check email

* Fix stuff

* Fix

* Remove useUser

* Fix redirects

* Separate signup

* Fix links

* Finish sentry

* Fix bulk

* Add scripts

* Fix bulk redirection

* add metadata
  • Loading branch information
amaury1093 authored Dec 29, 2023
1 parent ff7e1aa commit 44f2746
Show file tree
Hide file tree
Showing 111 changed files with 3,194 additions and 2,808 deletions.
1 change: 0 additions & 1 deletion next-env.d.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
/// <reference types="next/navigation-types/compat/navigation" />

// NOTE: This file should not be edited
// see https://nextjs.org/docs/basic-features/typescript for more information.
9 changes: 0 additions & 9 deletions next.config.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,4 @@
const apiConfig = {
// Followed https://nextjs.org/docs/pages/building-your-application/routing/internationalization
i18n: {
// These are all the locales you want to support in
// your application
locales: ["en", "fr"],
// This is the default locale you want to be used when visiting
// a non-locale prefixed path e.g. `/hello`
defaultLocale: "en",
},
async rewrites() {
return [
{
Expand Down
12 changes: 9 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,30 @@
"scripts": {
"dev": "next dev",
"build": "next build",
"gen:geist": "ts-node -P scripts/tsconfig.json scripts/geist.ts",
"gen:license": "ts-node -P scripts/tsconfig.json scripts/license.ts",
"lint": "tsc --noEmit && prettier -w */**/*.{ts,tsx} && next lint",
"start": "next start"
},
"dependencies": {
"@formatjs/intl-localematcher": "^0.5.2",
"@geist-ui/react": "^2.2.5",
"@geist-ui/react-icons": "^1.0.1",
"@hcaptcha/react-hcaptcha": "^1.9.2",
"@reacherhq/api": "^0.3.10",
"@sendinblue/client": "^3.3.1",
"@sentry/nextjs": "^7.86.0",
"@sentry/nextjs": "^7.91.0",
"@stripe/stripe-js": "^1.52.0",
"@supabase/supabase-js": "^1.35.7",
"@supabase/auth-ui-react": "^0.4.6",
"@supabase/ssr": "^0.0.10",
"@supabase/supabase-js": "^2.39.1",
"@types/amqplib": "^0.10.4",
"@types/async-retry": "^1.4.8",
"@types/cors": "^2.8.17",
"@types/mailgun-js": "^0.22.18",
"@types/markdown-pdf": "^9.0.5",
"@types/mustache": "^4.2.5",
"@types/negotiator": "^0.6.3",
"@types/react": "18.2.19",
"@types/react-dom": "^18.2.17",
"@types/request-ip": "^0.0.41",
Expand All @@ -42,7 +47,8 @@
"markdown-pdf": "^11.0.0",
"marked-react": "^2.0.0",
"mustache": "^4.2.0",
"next": "13",
"negotiator": "^0.6.3",
"next": "^14.0.4",
"rate-limiter-flexible": "^2.4.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
Expand Down
304 changes: 304 additions & 0 deletions scripts/geist.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,304 @@
import { Themes } from "@geist-ui/react";

const theme = Themes.createFromLight({
type: "default",
palette: {
errorDark: "#ff128a", // Accent Color Pink
foreground: "#3a3a3a", // Neutral Almost Black
success: "#6979f8", // Primary Blue
link: "#6979f8",
cyan: "#6979f8",
secondary: "#999999", // Neutral Light Gray
},
});

const css = `
html,
body {
background-color: ${theme.palette.background};
color: ${theme.palette.foreground};
}
html {
font-size: 16px;
--geist-icons-background: ${theme.palette.background};
}
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-rendering: optimizeLegibility;
font-size: 1rem;
line-height: 1.5;
margin: 0;
padding: 0;
min-height: 100%;
position: relative;
overflow-x: hidden;
font-family: ${theme.font.sans};
}
#__next {
overflow-x: hidden;
}
*,
*:before,
*:after {
box-sizing: inherit;
text-rendering: geometricPrecision;
-webkit-tap-highlight-color: transparent;
}
p,
small {
font-weight: 400;
color: inherit;
letter-spacing: -0.005625em;
font-family: ${theme.font.sans};
}
p {
margin: 1em 0;
font-size: 1em;
line-height: 1.625em;
}
small {
margin: 0;
line-height: 1.5;
font-size: 0.875em;
}
b {
font-weight: 600;
}
span {
font-size: inherit;
color: inherit;
font-weight: inherit;
}
img {
max-width: 100%;
}
a {
cursor: pointer;
font-size: inherit;
-webkit-touch-callout: none;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-webkit-box-align: center;
align-items: center;
color: ${theme.palette.link};
text-decoration: ${theme.expressiveness.linkStyle};
}
a:hover {
text-decoration: ${theme.expressiveness.linkHoverStyle};
}
ul,
ol {
padding: 0;
list-style-type: none;
margin: ${theme.layout.gapHalf} ${theme.layout.gapHalf}
${theme.layout.gapHalf} ${theme.layout.gap};
color: ${theme.palette.foreground};
}
ol {
list-style-type: decimal;
}
li {
margin-bottom: 0.625em;
font-size: 1em;
line-height: 1.625em;
}
ul li:before {
content: "–";
display: inline-block;
color: ${theme.palette.accents_4};
position: absolute;
margin-left: -0.9375em;
}
h1,
h2,
h3,
h4,
h5,
h6 {
color: inherit;
margin: 0 0 0.7rem 0;
}
h1 {
font-size: 3rem;
letter-spacing: -0.02em;
line-height: 1.5;
font-weight: 700;
}
h2 {
font-size: 2.25rem;
letter-spacing: -0.02em;
font-weight: 600;
}
h3 {
font-size: 1.5rem;
letter-spacing: -0.02em;
font-weight: 600;
}
h4 {
font-size: 1.25rem;
letter-spacing: -0.02em;
font-weight: 600;
}
h5 {
font-size: 1rem;
letter-spacing: -0.01em;
font-weight: 600;
}
h6 {
font-size: 0.875rem;
letter-spacing: -0.005em;
font-weight: 600;
}
button,
input,
select,
textarea {
font-family: inherit;
font-size: inherit;
line-height: inherit;
color: inherit;
margin: 0;
}
button:focus,
input:focus,
select:focus,
textarea:focus {
outline: none;
}
code {
color: ${theme.palette.code};
font-family: ${theme.font.mono};
font-size: 0.9em;
white-space: pre-wrap;
}
code:before,
code:after {
content: "\`";
}
pre {
padding: calc(${theme.layout.gap} * 0.9) ${theme.layout.gap};
margin: ${theme.layout.gap} 0;
border: 1px solid ${theme.palette.accents_2};
border-radius: ${theme.layout.radius};
font-family: ${theme.font.mono};
white-space: pre;
overflow: auto;
line-height: 1.5;
text-align: left;
font-size: 14px;
-webkit-overflow-scrolling: touch;
}
pre code {
color: ${theme.palette.foreground};
font-size: 1em;
line-height: 1.25em;
white-space: pre;
}
pre code:before,
pre code:after {
display: none;
}
pre :global(p) {
margin: 0;
}
pre::-webkit-scrollbar {
display: none;
width: 0;
height: 0;
background: transparent;
}
hr {
border-color: ${theme.palette.accents_2};
}
details {
background-color: ${theme.palette.accents_1};
border: none;
}
details:focus,
details:hover,
details:active {
outline: none;
}
summary {
cursor: pointer;
user-select: none;
list-style: none;
outline: none;
}
summary::marker,
summary::before,
summary::-webkit-details-marker {
display: none;
}
summary::-moz-list-bullet {
font-size: 0;
}
summary:focus,
summary:hover,
summary:active {
outline: none;
list-style: none;
}
blockquote {
padding: calc(0.667 * ${theme.layout.gap}) ${theme.layout.gap};
color: ${theme.palette.accents_5};
background-color: ${theme.palette.accents_1};
border-radius: ${theme.layout.radius};
margin: 1.5em 0;
border: 1px solid ${theme.palette.border};
}
blockquote :global(*:first-child) {
margin-top: 0;
}
blockquote :global(*:last-child) {
margin-bottom: 0;
}
::selection {
background-color: ${theme.palette.selection};
color: ${theme.palette.foreground};
}`;

console.log(css);
5 changes: 4 additions & 1 deletion scripts/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
{
"extends": "../node_modules/@amaurym/tsconfig/tsconfig.json"
"compilerOptions": {
"esModuleInterop": true,
"strict": true
}
}
Loading

0 comments on commit 44f2746

Please sign in to comment.