From f96315223859e8c22bfd2a2c073d1df91606bc8b Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Sun, 16 Nov 2025 13:35:50 -0700 Subject: [PATCH 1/2] chore: remove Vercel dependencies and config files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove @vercel/analytics dependency and usage - Remove vercel CLI dependency - Delete vercel.json configuration file - Delete .vercel cache directory - Site now fully configured for Cloudflare Pages deployment 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- package.json | 2 -- src/App.tsx | 3 --- vercel.json | 47 ----------------------------------------------- 3 files changed, 52 deletions(-) delete mode 100644 vercel.json diff --git a/package.json b/package.json index 09d2807..4a37a3b 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,6 @@ "@types/markdown-it": "^14.1.1", "@types/marked": "^5.0.2", "@uiw/react-md-editor": "^4.0.5", - "@vercel/analytics": "^1.2.2", "@xenova/transformers": "^2.17.2", "ai": "^4.1.0", "ajv": "^8.17.1", @@ -63,7 +62,6 @@ "recoil": "^0.7.7", "tldraw": "^3.15.4", "use-whisper": "^0.0.1", - "vercel": "^39.1.1", "webcola": "^3.4.0", "webnative": "^0.36.3" }, diff --git a/src/App.tsx b/src/App.tsx index 55564d8..2935a80 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -7,7 +7,6 @@ import { Board } from "./routes/Board" import { Inbox } from "./routes/Inbox" import { Presentations } from "./routes/Presentations" import { Resilience } from "./routes/Resilience" -import { inject } from "@vercel/analytics" import { createRoot } from "react-dom/client" import { DailyProvider } from "@daily-co/daily-react" import Daily from "@daily-co/daily-js" @@ -35,8 +34,6 @@ import { ErrorBoundary } from './components/ErrorBoundary'; import CryptoLogin from './components/auth/CryptoLogin'; import CryptoDebug from './components/auth/CryptoDebug'; -inject(); - // Initialize Daily.co call object with error handling let callObject: any = null; try { diff --git a/vercel.json b/vercel.json deleted file mode 100644 index 10fc862..0000000 --- a/vercel.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "buildCommand": "npm run build", - "installCommand": "npm install", - "framework": "vite", - "outputDirectory": "dist", - "rewrites": [ - { - "source": "/board/(.*)", - "destination": "/" - }, - { - "source": "/board", - "destination": "/" - }, - { - "source": "/inbox", - "destination": "/" - }, - { - "source": "/contact", - "destination": "/" - }, - { - "source": "/presentations", - "destination": "/" - }, - { - "source": "/presentations", - "destination": "/resilience" - }, - { - "source": "/dashboard", - "destination": "/" - } - ], - "headers": [ - { - "source": "/assets/(.*)", - "headers": [ - { - "key": "Cache-Control", - "value": "public, max-age=31536000, immutable" - } - ] - } - ] -} \ No newline at end of file From 088264856590c75dd0c45cc86b9fa2e602eeaca9 Mon Sep 17 00:00:00 2001 From: Jeff Emmett Date: Sun, 16 Nov 2025 14:09:23 -0700 Subject: [PATCH 2/2] feat: rebrand CryptoLogin to CryptID MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename CryptoLogin component to CryptID - Update all imports and usages across the codebase - Display 'CryptID: username' in user dropdown menu - Update UI text to reference CryptID branding - Update Profile component header to show CryptID - Update component comments and documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- src/App.tsx | 4 ++-- .../auth/{CryptoLogin.tsx => CryptID.tsx} | 18 +++++++++--------- src/components/auth/CryptoDebug.tsx | 2 +- src/components/auth/LoginButton.tsx | 4 ++-- src/components/auth/Profile.tsx | 2 +- src/routes/Auth.tsx | 4 ++-- src/ui/CustomToolbar.tsx | 12 ++++++++++-- 7 files changed, 27 insertions(+), 19 deletions(-) rename src/components/auth/{CryptoLogin.tsx => CryptID.tsx} (95%) diff --git a/src/App.tsx b/src/App.tsx index 2935a80..eeec138 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -31,7 +31,7 @@ import NotificationsDisplay from './components/NotificationsDisplay'; import { ErrorBoundary } from './components/ErrorBoundary'; // Import auth components -import CryptoLogin from './components/auth/CryptoLogin'; +import CryptID from './components/auth/CryptID'; import CryptoDebug from './components/auth/CryptoDebug'; // Initialize Daily.co call object with error handling @@ -89,7 +89,7 @@ const AppWithProviders = () => { return (
- window.location.href = '/'} /> + window.location.href = '/'} />
); }; diff --git a/src/components/auth/CryptoLogin.tsx b/src/components/auth/CryptID.tsx similarity index 95% rename from src/components/auth/CryptoLogin.tsx rename to src/components/auth/CryptID.tsx index 4a4899e..f2f8e76 100644 --- a/src/components/auth/CryptoLogin.tsx +++ b/src/components/auth/CryptID.tsx @@ -4,15 +4,15 @@ import { useAuth } from '../../context/AuthContext'; import { useNotifications } from '../../context/NotificationContext'; import { checkBrowserSupport, isSecureContext } from '../../lib/utils/browser'; -interface CryptoLoginProps { +interface CryptIDProps { onSuccess?: () => void; onCancel?: () => void; } /** - * WebCryptoAPI-based authentication component + * CryptID - WebCryptoAPI-based authentication component */ -const CryptoLogin: React.FC = ({ onSuccess, onCancel }) => { +const CryptID: React.FC = ({ onSuccess, onCancel }) => { const [username, setUsername] = useState(''); const [isRegistering, setIsRegistering] = useState(false); const [error, setError] = useState(null); @@ -178,7 +178,7 @@ const CryptoLogin: React.FC = ({ onSuccess, onCancel }) => { return (
-

{isRegistering ? 'Create Cryptographic Account' : 'Cryptographic Sign In'}

+

{isRegistering ? 'Create CryptID Account' : 'CryptID Sign In'}

{/* Show existing users if available */} {existingUsers.length > 0 && !isRegistering && ( @@ -206,11 +206,11 @@ const CryptoLogin: React.FC = ({ onSuccess, onCancel }) => {

- {isRegistering - ? 'Create a new account using WebCryptoAPI for secure authentication.' - : existingUsers.length > 0 + {isRegistering + ? 'Create a new CryptID account using WebCryptoAPI for secure authentication.' + : existingUsers.length > 0 ? 'Select an account above or enter a different username to sign in.' - : 'Sign in using your cryptographic credentials.' + : 'Sign in using your CryptID credentials.' }

@@ -276,4 +276,4 @@ const CryptoLogin: React.FC = ({ onSuccess, onCancel }) => { ); }; -export default CryptoLogin; \ No newline at end of file +export default CryptID; \ No newline at end of file diff --git a/src/components/auth/CryptoDebug.tsx b/src/components/auth/CryptoDebug.tsx index 6c60065..cef0903 100644 --- a/src/components/auth/CryptoDebug.tsx +++ b/src/components/auth/CryptoDebug.tsx @@ -145,7 +145,7 @@ const CryptoDebug: React.FC = () => { const storedUsers = JSON.parse(localStorage.getItem('registeredUsers') || '[]'); addResult(`All registered users: ${JSON.stringify(storedUsers)}`); - // Filter for users with valid keys (same logic as CryptoLogin) + // Filter for users with valid keys (same logic as CryptID) const validUsers = storedUsers.filter((user: string) => { const publicKey = localStorage.getItem(`${user}_publicKey`); if (!publicKey) return false; diff --git a/src/components/auth/LoginButton.tsx b/src/components/auth/LoginButton.tsx index fedfa84..5c855af 100644 --- a/src/components/auth/LoginButton.tsx +++ b/src/components/auth/LoginButton.tsx @@ -1,7 +1,7 @@ import React, { useState } from 'react'; import { useAuth } from '../../context/AuthContext'; import { useNotifications } from '../../context/NotificationContext'; -import CryptoLogin from './CryptoLogin'; +import CryptID from './CryptID'; interface LoginButtonProps { className?: string; @@ -42,7 +42,7 @@ const LoginButton: React.FC = ({ className = '' }) => { {showLogin && (
- diff --git a/src/components/auth/Profile.tsx b/src/components/auth/Profile.tsx index 7fe89c9..485cfb2 100644 --- a/src/components/auth/Profile.tsx +++ b/src/components/auth/Profile.tsx @@ -63,7 +63,7 @@ export const Profile: React.FC = ({ onLogout, onOpenVaultBrowser } return (
-

Welcome, {session.username}!

+

CryptID: {session.username}

diff --git a/src/routes/Auth.tsx b/src/routes/Auth.tsx index 8c7a506..8a8a781 100644 --- a/src/routes/Auth.tsx +++ b/src/routes/Auth.tsx @@ -1,6 +1,6 @@ import React, { useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; -import CryptoLogin from '../components/auth/CryptoLogin'; +import CryptID from '../components/auth/CryptID'; import { useAuth } from '../context/AuthContext'; export const Auth: React.FC = () => { @@ -37,7 +37,7 @@ export const Auth: React.FC = () => { return (
- navigate('/')} /> + navigate('/')} />
); }; \ No newline at end of file diff --git a/src/ui/CustomToolbar.tsx b/src/ui/CustomToolbar.tsx index bbf44cb..6331222 100644 --- a/src/ui/CustomToolbar.tsx +++ b/src/ui/CustomToolbar.tsx @@ -583,7 +583,7 @@ export function CustomToolbar() { {hasApiKey ? "🔑" : "❌"} - {session.username} + CryptID: {session.username} {showProfilePopup && ( @@ -602,7 +602,7 @@ export function CustomToolbar() { }} >
- Hello, {session.username}! + CryptID: {session.username}
{/* API Key Status */} @@ -1044,6 +1044,14 @@ export function CustomToolbar() { isSelected={tools["Holon"].id === editor.getCurrentToolId()} /> )} + {tools["ImageGen"] && ( + + )} {/* Share Location tool removed for now */} {/* Refresh All ObsNotes Button */} {(() => {