diff --git a/api/functions/nostr-events-extra-data/nostr-events-extra-data.js b/api/functions/nostr-events-extra-data/nostr-events-extra-data.js index 9a395aa..b1d00f5 100644 --- a/api/functions/nostr-events-extra-data/nostr-events-extra-data.js +++ b/api/functions/nostr-events-extra-data/nostr-events-extra-data.js @@ -23,12 +23,19 @@ const getEventsExtraData = async (req, res) => { select: { id: true, avatar: true, + avatar_rel: { + select: { + url: true, + } + }, name: true, } } } }); + comments.map(c => c.user.avatar = c.user.avatar_rel?.url ?? c.user.avatar) + return res .status(200) .json(comments) diff --git a/api/prisma/index.js b/api/prisma/index.js index 2013b99..1ad9482 100644 --- a/api/prisma/index.js +++ b/api/prisma/index.js @@ -1,7 +1,6 @@ -const { PrismaClient } = require('@prisma/client'); +const { PrismaClient } = require('@prisma/client/edge'); const createGlobalModule = require('../utils/createGlobalModule'); - const createPrismaClient = () => { console.log("New Prisma Client"); return new PrismaClient({ diff --git a/package-lock.json b/package-lock.json index 19b851c..e799708 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "@apollo/client": "^3.6.9", "@hookform/resolvers": "^2.8.8", "@noble/secp256k1": "^1.6.3", - "@prisma/client": "^3.12.0", + "@prisma/client": "^4.3.1", "@react-hookz/web": "^13.2.1", "@react-spring/web": "^9.4.4", "@reduxjs/toolkit": "^1.8.1", @@ -68,7 +68,6 @@ "nostr-tools": "^0.23.4", "passport": "^0.6.0", "passport-lnurl-auth": "^1.5.0", - "prisma": "^3.12.0", "qrcode.react": "^3.0.2", "react": "^18.0.0", "react-accessible-accordion": "^5.0.0", @@ -136,6 +135,7 @@ "msw": "^0.39.2", "netlify-cli": "^10.0.0", "postcss": "^8.4.12", + "prisma": "^4.3.1", "readable-stream": "^4.1.0", "serverless": "^3.22.0", "serverless-offline": "^8.7.0", @@ -5144,15 +5144,15 @@ } }, "node_modules/@prisma/client": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-3.12.0.tgz", - "integrity": "sha512-4NEQjUcWja/NVBvfuDFscWSk1/rXg3+wj+TSkqXCb1tKlx/bsUE00rxsvOvGg7VZ6lw1JFpGkwjwmsOIc4zvQw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.3.1.tgz", + "integrity": "sha512-FA0/d1VMJNWqzU7WVWTNWJ+lGOLR9JUBnF73GdIPAEVo/6dWk4gHx0EmgeU+SMv4MZoxgOeTBJF2azhg7x0hMw==", "hasInstallScript": true, "dependencies": { - "@prisma/engines-version": "3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980" + "@prisma/engines-version": "4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b" }, "engines": { - "node": ">=12.6" + "node": ">=14.17" }, "peerDependencies": { "prisma": "*" @@ -5164,15 +5164,16 @@ } }, "node_modules/@prisma/engines": { - "version": "3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980.tgz", - "integrity": "sha512-zULjkN8yhzS7B3yeEz4aIym4E2w1ChrV12i14pht3ePFufvsAvBSoZ+tuXMvfSoNTgBS5E4bolRzLbMmbwkkMQ==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.3.1.tgz", + "integrity": "sha512-4JF/uMaEDAPdcdZNOrnzE3BvrbGpjgV0FcPT3EVoi6I86fWkloqqxBt+KcK/+fIRR0Pxj66uGR9wVH8U1Y13JA==", + "devOptional": true, "hasInstallScript": true }, "node_modules/@prisma/engines-version": { - "version": "3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980.tgz", - "integrity": "sha512-o+jo8d7ZEiVpcpNWUDh3fj2uPQpBxl79XE9ih9nkogJbhw6P33274SHnqheedZ7PyvPIK/mvU8MLNYgetgXPYw==" + "version": "4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b.tgz", + "integrity": "sha512-8yWpXkQRmiSfsi2Wb/ZS5D3RFbeu/btL9Pm/gdF4phB0Lo5KGsDFMxFMgaD64mwED2nHc8ZaEJg/+4Jymb9Znw==" }, "node_modules/@protobufjs/aspromise": { "version": "1.1.2", @@ -61195,19 +61196,20 @@ } }, "node_modules/prisma": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-3.12.0.tgz", - "integrity": "sha512-ltCMZAx1i0i9xuPM692Srj8McC665h6E5RqJom999sjtVSccHSD8Z+HSdBN2183h9PJKvC5dapkn78dd0NWMBg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.3.1.tgz", + "integrity": "sha512-90xo06wtqil76Xsi3mNpc4Js3SdDRR5g4qb9h+4VWY4Y8iImJY6xc3PX+C9xxTSt1lr0Q89A0MLkJjd8ax6KiQ==", + "devOptional": true, "hasInstallScript": true, "dependencies": { - "@prisma/engines": "3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980" + "@prisma/engines": "4.3.1" }, "bin": { "prisma": "build/index.js", "prisma2": "build/index.js" }, "engines": { - "node": ">=12.6" + "node": ">=14.17" } }, "node_modules/prismjs": { @@ -74782,22 +74784,23 @@ "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==" }, "@prisma/client": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/@prisma/client/-/client-3.12.0.tgz", - "integrity": "sha512-4NEQjUcWja/NVBvfuDFscWSk1/rXg3+wj+TSkqXCb1tKlx/bsUE00rxsvOvGg7VZ6lw1JFpGkwjwmsOIc4zvQw==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@prisma/client/-/client-4.3.1.tgz", + "integrity": "sha512-FA0/d1VMJNWqzU7WVWTNWJ+lGOLR9JUBnF73GdIPAEVo/6dWk4gHx0EmgeU+SMv4MZoxgOeTBJF2azhg7x0hMw==", "requires": { - "@prisma/engines-version": "3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980" + "@prisma/engines-version": "4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b" } }, "@prisma/engines": { - "version": "3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980", - "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980.tgz", - "integrity": "sha512-zULjkN8yhzS7B3yeEz4aIym4E2w1ChrV12i14pht3ePFufvsAvBSoZ+tuXMvfSoNTgBS5E4bolRzLbMmbwkkMQ==" + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-4.3.1.tgz", + "integrity": "sha512-4JF/uMaEDAPdcdZNOrnzE3BvrbGpjgV0FcPT3EVoi6I86fWkloqqxBt+KcK/+fIRR0Pxj66uGR9wVH8U1Y13JA==", + "devOptional": true }, "@prisma/engines-version": { - "version": "3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980", - "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980.tgz", - "integrity": "sha512-o+jo8d7ZEiVpcpNWUDh3fj2uPQpBxl79XE9ih9nkogJbhw6P33274SHnqheedZ7PyvPIK/mvU8MLNYgetgXPYw==" + "version": "4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b", + "resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b.tgz", + "integrity": "sha512-8yWpXkQRmiSfsi2Wb/ZS5D3RFbeu/btL9Pm/gdF4phB0Lo5KGsDFMxFMgaD64mwED2nHc8ZaEJg/+4Jymb9Znw==" }, "@protobufjs/aspromise": { "version": "1.1.2", @@ -117804,11 +117807,12 @@ "dev": true }, "prisma": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/prisma/-/prisma-3.12.0.tgz", - "integrity": "sha512-ltCMZAx1i0i9xuPM692Srj8McC665h6E5RqJom999sjtVSccHSD8Z+HSdBN2183h9PJKvC5dapkn78dd0NWMBg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/prisma/-/prisma-4.3.1.tgz", + "integrity": "sha512-90xo06wtqil76Xsi3mNpc4Js3SdDRR5g4qb9h+4VWY4Y8iImJY6xc3PX+C9xxTSt1lr0Q89A0MLkJjd8ax6KiQ==", + "devOptional": true, "requires": { - "@prisma/engines": "3.12.0-37.22b822189f46ef0dc5c5b503368d1bee01213980" + "@prisma/engines": "4.3.1" } }, "prismjs": { diff --git a/package.json b/package.json index a3a3b6b..4d9f086 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "@apollo/client": "^3.6.9", "@hookform/resolvers": "^2.8.8", "@noble/secp256k1": "^1.6.3", - "@prisma/client": "^3.12.0", + "@prisma/client": "^4.3.1", "@react-hookz/web": "^13.2.1", "@react-spring/web": "^9.4.4", "@reduxjs/toolkit": "^1.8.1", @@ -63,7 +63,6 @@ "nostr-tools": "^0.23.4", "passport": "^0.6.0", "passport-lnurl-auth": "^1.5.0", - "prisma": "^3.12.0", "qrcode.react": "^3.0.2", "react": "^18.0.0", "react-accessible-accordion": "^5.0.0", @@ -188,6 +187,7 @@ "msw": "^0.39.2", "netlify-cli": "^10.0.0", "postcss": "^8.4.12", + "prisma": "^4.3.1", "readable-stream": "^4.1.0", "serverless": "^3.22.0", "serverless-offline": "^8.7.0", diff --git a/prisma/migrations/20220920093026_add_contact_email_to_project/migration.sql b/prisma/migrations/20220920093026_add_contact_email_to_project/migration.sql new file mode 100644 index 0000000..9624cc6 --- /dev/null +++ b/prisma/migrations/20220920093026_add_contact_email_to_project/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "Project" ADD COLUMN "contact_email" TEXT; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index e66a5cd..ebf6482 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -1,6 +1,6 @@ datasource db { provider = "postgresql" - url = env("DATABASE_URL") + url = env("DATABASE_PROXY_URL") } generator client { @@ -137,6 +137,7 @@ model Project { github String? telegram String? slack String? + contact_email String? thumbnail_image String? thumbnail_image_id Int? @unique thumbnail_image_rel HostedImage? @relation("Project_Thumbnail", fields: [thumbnail_image_id], references: [id]) diff --git a/public/assets/icons/join-discord.svg b/public/assets/icons/join-discord.svg new file mode 100644 index 0000000..da52ce2 --- /dev/null +++ b/public/assets/icons/join-discord.svg @@ -0,0 +1,4 @@ + diff --git a/public/assets/images/join-discord-card.jpg b/public/assets/images/join-discord-card.jpg new file mode 100644 index 0000000..f5eabe8 Binary files /dev/null and b/public/assets/images/join-discord-card.jpg differ diff --git a/public/index.html b/public/index.html index c2f94a6..460311e 100644 --- a/public/index.html +++ b/public/index.html @@ -41,6 +41,7 @@ content="%PUBLIC_URL%/assets/images/og-thumbnail.jpg" data-react-helmet="true" /> +
diff --git a/src/Components/Navbar/NavDesktop.tsx b/src/Components/Navbar/NavDesktop.tsx index d752197..e45b46a 100644 --- a/src/Components/Navbar/NavDesktop.tsx +++ b/src/Components/Navbar/NavDesktop.tsx @@ -52,7 +52,12 @@ export default function NavDesktop() { Projects -@@ -70,10 +70,8 @@ export default function FeedPage() { {tagFilter.title}
}