Skip to content

Instantly share code, notes, and snippets.

View paulweezydesign's full-sized avatar
🎯
Focusing

paulweezydesign

🎯
Focusing
  • Phoenix, az
  • 15:33 (UTC -07:00)
View GitHub Profile
@paulweezydesign
paulweezydesign / connect-db.ts
Created January 9, 2025 11:40
connect to mongodb with mongoose-nextjs
import _mongoose, { connect } from "mongoose";
declare global {
var mongoose: {
promise: ReturnType<typeof connect> | null;
conn: typeof _mongoose | null;
};
}
const MONGODB_URI = process.env.MONGODB_URI;
<button
onClick={toggleTheme}
className="p-2 rounded-full hover:bg-gray-200 dark:hover:bg-gray-700 focus:outline-none"
aria-label="Toggle theme"
>
{theme === 'light' ? (
<Moon className="h-5 w-5 text-gray-700 dark:text-gray-300" />
) : (
<Sun className="h-5 w-5 text-gray-700 dark:text-gray-300" />
)}
import * as React from "react";
import clsx from "clsx";
export default function ToggleMessage() {
const [visible, setVisible] = React.useState(false);
const toggleVisibility = () => {
setVisible(!visible);
};
import React from 'react';
import { BrowserRouter, Routes, Route } from 'react-router-dom';
import { AuthProvider } from './components/AuthProvider';
import { ProtectedRoute } from './components/ProtectedRoute';
import { Login } from './components/Login';
import { Signup } from './components/Signup';
import { Dashboard } from './components/Dashboard';
function App() {
return (
import Realm from 'realm';
import { RealmApp } from './app';
const appConfig = {
id: 'your-app-id',
timeout: 10000,
};
const app = new RealmApp(appConfig);
import React, { useState, useContext } from 'react';
import { AuthContext } from './AuthProvider';
import { useNavigate } from 'react-router-dom';
const Signup = () => {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const [confirmPassword, setConfirmPassword] = useState('');
const [error, setError] = useState(null);
const { signup } = useContext(AuthContext);
import React, { useContext } from 'react';
import { AuthContext } from './AuthProvider';
import { Navigate } from 'react-router-dom';
const ProtectedRoute = ({ children }) => {
const { user, loading } = useContext(AuthContext);
if (loading) {
return <div>Loading...</div>;
}
import React, { useState, useContext } from 'react';
import { AuthContext } from './AuthProvider';
import { useNavigate } from 'react-router-dom';
const Login = () => {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const [error, setError] = useState(null);
const { login } = useContext(AuthContext);
const navigate = useNavigate();
import React, { createContext, useState, useEffect } from 'react';
import { useRealmApp } from './realm';
import { useNavigate } from 'react-router-dom';
const AuthContext = createContext();
const AuthProvider = ({ children }) => {
const app = useRealmApp();
const navigate = useNavigate();
const [user, setUser] = useState(app.currentUser);
@paulweezydesign
paulweezydesign / getData.jsx
Created September 21, 2024 06:31
a snippet to get data from mongodb in a serverless function
import { MongoClient } from 'mongodb';
const uri = 'mongodb+srv://weezy:[email protected]/?retryWrites=true&w=majority';
const client = new MongoClient(uri);
async function handler(req, res) {
if (req.method === 'GET') {
try {
await client.connect();
const database = client.db('kittens');
const collection = database.collection('kittens');