Skip to content

Instantly share code, notes, and snippets.

View wdevon99's full-sized avatar
🖖
Hey!

Devon Wijesinghe wdevon99

🖖
Hey!
View GitHub Profile
import mongoose from "mongoose";
let isConnected = false;
export const connectToDB = async () => {
mongoose.set("strictQuery", true);
if (isConnected) {
console.info("==== MongoDB is already connected ====");
return;
import { NextRequest, NextResponse } from "next/server";
import { getToken } from "next-auth/jwt";
const PROTECTED_API_ROUTES = ["/api/todo"];
const PROTECTED_ROUTES = ["/dashboard"];
export async function middleware(request: NextRequest) {
const isProtectedApiRoute = PROTECTED_API_ROUTES.some((route: string) => request.nextUrl?.pathname?.startsWith(route));
const isProtectedRoute = PROTECTED_ROUTES.some((route: string) => request.nextUrl?.pathname?.startsWith(route));
const handler = NextAuth({
providers: [
GoogleProvider({
clientId: process.env.GOOGLE_ID ?? "",
clientSecret: process.env.GOOGLE_CLIENT_SECRET ?? "",
}),
GithubProvider({
clientId: process.env.GITHUB_ID ?? "",
clientSecret: process.env.GITHUB_CLIENT_SECRET ?? "",
}),
"compilerOptions": {
...
"baseUrl": "./",
"paths": {
"@styles/*": ["src/styles/*"],
"@components/*": ["src/components/*"],
"@constants/*": ["src/constants/*"],
"@utils/*": ["src/utils/*"],
"@models/*": ["src/models/*"],
"@services/*": ["src/services/*"],
import CustomAvatar from "../../../../atoms/CustomAvatar"; // ❌
import CustomAvatar from "@components/atoms/CustomAvatar"; // ✅
import { ConfigProvider } from "antd";
import Colors from "@styles/variables.module.sass";
const AntdConfigProvider = ({ children }: Props) => {
const THEME = {
token: {
colorPrimary: Colors.primaryColor,
},
}
// ------ Colors ------
$primary-color: #292929
$primary-surface-color: #F9F9F9
$success-color: #52c41a
$warning-color: #faad14
$error-color: #ff4d4f
$secondary-surface-color: #FFF
$font-color-light: #FFF
/**
*
* Define all global types in this file.
*
*/
type User = {
email: string;
image: string;
username: string;