-
- MiniPerplx
-
-
- Loading your minimalist AI experience...
-
-
+
+
+
+
+ MiniPerplx
+
+
+ Loading your minimalist AI experience
+ ...
+
+
+
);
diff --git a/components/InstallPrompt.tsx b/components/InstallPrompt.tsx
index 8cb5a14..7bddba4 100644
--- a/components/InstallPrompt.tsx
+++ b/components/InstallPrompt.tsx
@@ -64,7 +64,7 @@ export function InstallPrompt() {
switch (platform) {
case 'ios':
return (
-
+
Tap and then{" "}
“Add to Home Screen”
@@ -73,13 +73,13 @@ export function InstallPrompt() {
);
case 'android':
return (
-
+
Tap the menu ⋮ and select “Install app”
);
default:
return (
-
+
Install our app for a better experience
);
@@ -98,7 +98,7 @@ export function InstallPrompt() {
-
+
Install MiniPerplx
{getInstructions()}
diff --git a/components/ui/form-component.tsx b/components/ui/form-component.tsx
index 2c1ef6c..9411309 100644
--- a/components/ui/form-component.tsx
+++ b/components/ui/form-component.tsx
@@ -559,7 +559,7 @@ const GroupSelector = ({ selectedGroup, onGroupSelect }: GroupSelectorProps) =>
align="start"
sideOffset={8}
className={cn(
- "w-[400px] font-sans z-[60] -ml-2 mt-1",
+ "w-[420px] font-sans z-[60] -ml-2 mt-1",
"border border-neutral-200 dark:border-neutral-800",
"bg-white dark:bg-neutral-900",
"shadow-lg rounded-lg"
@@ -629,12 +629,10 @@ const FormComponent: React.FC = ({
const handleGroupSelect = useCallback((group: SearchGroup) => {
setSelectedGroup(group.id);
- setInput('');
resetSuggestedQuestions();
inputRef.current?.focus();
- }, [setSelectedGroup, setInput, resetSuggestedQuestions, inputRef]);
+ }, [setSelectedGroup, resetSuggestedQuestions, inputRef]);
- // Keep existing file upload and form submission logic...
const uploadFile = async (file: File): Promise => {
const formData = new FormData();
formData.append('file', file);
@@ -736,7 +734,7 @@ const FormComponent: React.FC = ({
return (
0 || uploadQueue.length > 0
? "bg-gray-100/70 dark:bg-neutral-800 p-1"
diff --git a/next.config.mjs b/next.config.mjs
index 96b0566..5442d1f 100644
--- a/next.config.mjs
+++ b/next.config.mjs
@@ -1,5 +1,6 @@
/** @type {import('next').NextConfig} */
const nextConfig = {
+ transpilePackages: ["geist"],
async headers() {
return [
{
diff --git a/package.json b/package.json
index 3979ca9..2df2fe0 100644
--- a/package.json
+++ b/package.json
@@ -51,6 +51,7 @@
"embla-carousel-react": "^8.3.0",
"exa-js": "^1.3.3",
"framer-motion": "^11.3.19",
+ "geist": "^1.3.1",
"google-auth-library": "^9.14.1",
"highlight.js": "^11.10.0",
"katex": "^0.16.11",
@@ -59,7 +60,7 @@
"mapbox-gl": "^3.7.0",
"marked-react": "^2.0.0",
"motion": "^11.13.5",
- "next": "^14.2.20",
+ "next": "^14.2.21",
"next-themes": "^0.3.0",
"openai": "^4.56.0",
"posthog-js": "^1.202.2",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b78700c..0c1f96c 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -88,7 +88,7 @@ dependencies:
version: 1.34.2
'@vercel/analytics':
specifier: ^1.3.1
- version: 1.3.1(next@14.2.20)(react@18.3.1)
+ version: 1.3.1(next@14.2.21)(react@18.3.1)
'@vercel/blob':
specifier: ^0.23.4
version: 0.23.4
@@ -131,6 +131,9 @@ dependencies:
framer-motion:
specifier: ^11.3.19
version: 11.11.2(react-dom@18.3.1)(react@18.3.1)
+ geist:
+ specifier: ^1.3.1
+ version: 1.3.1(next@14.2.21)
google-auth-library:
specifier: ^9.14.1
version: 9.14.1
@@ -156,8 +159,8 @@ dependencies:
specifier: ^11.13.5
version: 11.13.5(react-dom@18.3.1)(react@18.3.1)
next:
- specifier: ^14.2.20
- version: 14.2.20(react-dom@18.3.1)(react@18.3.1)
+ specifier: ^14.2.21
+ version: 14.2.21(react-dom@18.3.1)(react@18.3.1)
next-themes:
specifier: ^0.3.0
version: 0.3.0(react-dom@18.3.1)(react@18.3.1)
@@ -629,8 +632,8 @@ packages:
- ws
dev: false
- /@next/env@14.2.20:
- resolution: {integrity: sha512-JfDpuOCB0UBKlEgEy/H6qcBSzHimn/YWjUHzKl1jMeUO+QVRdzmTTl8gFJaNO87c8DXmVKhFCtwxQ9acqB3+Pw==}
+ /@next/env@14.2.21:
+ resolution: {integrity: sha512-lXcwcJd5oR01tggjWJ6SrNNYFGuOOMB9c251wUNkjCpkoXOPkDeF/15c3mnVlBqrW4JJXb2kVxDFhC4GduJt2A==}
dev: false
/@next/eslint-plugin-next@14.2.5:
@@ -639,8 +642,8 @@ packages:
glob: 10.3.10
dev: true
- /@next/swc-darwin-arm64@14.2.20:
- resolution: {integrity: sha512-WDfq7bmROa5cIlk6ZNonNdVhKmbCv38XteVFYsxea1vDJt3SnYGgxLGMTXQNfs5OkFvAhmfKKrwe7Y0Hs+rWOg==}
+ /@next/swc-darwin-arm64@14.2.21:
+ resolution: {integrity: sha512-HwEjcKsXtvszXz5q5Z7wCtrHeTTDSTgAbocz45PHMUjU3fBYInfvhR+ZhavDRUYLonm53aHZbB09QtJVJj8T7g==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [darwin]
@@ -648,8 +651,8 @@ packages:
dev: false
optional: true
- /@next/swc-darwin-x64@14.2.20:
- resolution: {integrity: sha512-XIQlC+NAmJPfa2hruLvr1H1QJJeqOTDV+v7tl/jIdoFvqhoihvSNykLU/G6NMgoeo+e/H7p/VeWSOvMUHKtTIg==}
+ /@next/swc-darwin-x64@14.2.21:
+ resolution: {integrity: sha512-TSAA2ROgNzm4FhKbTbyJOBrsREOMVdDIltZ6aZiKvCi/v0UwFmwigBGeqXDA97TFMpR3LNNpw52CbVelkoQBxA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [darwin]
@@ -657,8 +660,8 @@ packages:
dev: false
optional: true
- /@next/swc-linux-arm64-gnu@14.2.20:
- resolution: {integrity: sha512-pnzBrHTPXIMm5QX3QC8XeMkpVuoAYOmyfsO4VlPn+0NrHraNuWjdhe+3xLq01xR++iCvX+uoeZmJDKcOxI201Q==}
+ /@next/swc-linux-arm64-gnu@14.2.21:
+ resolution: {integrity: sha512-0Dqjn0pEUz3JG+AImpnMMW/m8hRtl1GQCNbO66V1yp6RswSTiKmnHf3pTX6xMdJYSemf3O4Q9ykiL0jymu0TuA==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -666,8 +669,8 @@ packages:
dev: false
optional: true
- /@next/swc-linux-arm64-musl@14.2.20:
- resolution: {integrity: sha512-WhJJAFpi6yqmUx1momewSdcm/iRXFQS0HU2qlUGlGE/+98eu7JWLD5AAaP/tkK1mudS/rH2f9E3WCEF2iYDydQ==}
+ /@next/swc-linux-arm64-musl@14.2.21:
+ resolution: {integrity: sha512-Ggfw5qnMXldscVntwnjfaQs5GbBbjioV4B4loP+bjqNEb42fzZlAaK+ldL0jm2CTJga9LynBMhekNfV8W4+HBw==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [linux]
@@ -675,8 +678,8 @@ packages:
dev: false
optional: true
- /@next/swc-linux-x64-gnu@14.2.20:
- resolution: {integrity: sha512-ao5HCbw9+iG1Kxm8XsGa3X174Ahn17mSYBQlY6VGsdsYDAbz/ZP13wSLfvlYoIDn1Ger6uYA+yt/3Y9KTIupRg==}
+ /@next/swc-linux-x64-gnu@14.2.21:
+ resolution: {integrity: sha512-uokj0lubN1WoSa5KKdThVPRffGyiWlm/vCc/cMkWOQHw69Qt0X1o3b2PyLLx8ANqlefILZh1EdfLRz9gVpG6tg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -684,8 +687,8 @@ packages:
dev: false
optional: true
- /@next/swc-linux-x64-musl@14.2.20:
- resolution: {integrity: sha512-CXm/kpnltKTT7945np6Td3w7shj/92TMRPyI/VvveFe8+YE+/YOJ5hyAWK5rpx711XO1jBCgXl211TWaxOtkaA==}
+ /@next/swc-linux-x64-musl@14.2.21:
+ resolution: {integrity: sha512-iAEBPzWNbciah4+0yI4s7Pce6BIoxTQ0AGCkxn/UBuzJFkYyJt71MadYQkjPqCQCJAFQ26sYh7MOKdU+VQFgPg==}
engines: {node: '>= 10'}
cpu: [x64]
os: [linux]
@@ -693,8 +696,8 @@ packages:
dev: false
optional: true
- /@next/swc-win32-arm64-msvc@14.2.20:
- resolution: {integrity: sha512-upJn2HGQgKNDbXVfIgmqT2BN8f3z/mX8ddoyi1I565FHbfowVK5pnMEwauvLvaJf4iijvuKq3kw/b6E9oIVRWA==}
+ /@next/swc-win32-arm64-msvc@14.2.21:
+ resolution: {integrity: sha512-plykgB3vL2hB4Z32W3ktsfqyuyGAPxqwiyrAi2Mr8LlEUhNn9VgkiAl5hODSBpzIfWweX3er1f5uNpGDygfQVQ==}
engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
@@ -702,8 +705,8 @@ packages:
dev: false
optional: true
- /@next/swc-win32-ia32-msvc@14.2.20:
- resolution: {integrity: sha512-igQW/JWciTGJwj3G1ipalD2V20Xfx3ywQy17IV0ciOUBbFhNfyU1DILWsTi32c8KmqgIDviUEulW/yPb2FF90w==}
+ /@next/swc-win32-ia32-msvc@14.2.21:
+ resolution: {integrity: sha512-w5bacz4Vxqrh06BjWgua3Yf7EMDb8iMcVhNrNx8KnJXt8t+Uu0Zg4JHLDL/T7DkTCEEfKXO/Er1fcfWxn2xfPA==}
engines: {node: '>= 10'}
cpu: [ia32]
os: [win32]
@@ -711,8 +714,8 @@ packages:
dev: false
optional: true
- /@next/swc-win32-x64-msvc@14.2.20:
- resolution: {integrity: sha512-AFmqeLW6LtxeFTuoB+MXFeM5fm5052i3MU6xD0WzJDOwku6SkZaxb1bxjBaRC8uNqTRTSPl0yMFtjNowIVI67w==}
+ /@next/swc-win32-x64-msvc@14.2.21:
+ resolution: {integrity: sha512-sT6+llIkzpsexGYZq8cjjthRyRGe5cJVhqh12FmlbxHqna6zsDDK8UNaV7g41T6atFHCJUPeLb3uyAwrBwy0NA==}
engines: {node: '>= 10'}
cpu: [x64]
os: [win32]
@@ -1953,7 +1956,7 @@ packages:
crypto-js: 4.2.0
dev: false
- /@vercel/analytics@1.3.1(next@14.2.20)(react@18.3.1):
+ /@vercel/analytics@1.3.1(next@14.2.21)(react@18.3.1):
resolution: {integrity: sha512-xhSlYgAuJ6Q4WQGkzYTLmXwhYl39sWjoMA3nHxfkvG+WdBT25c563a7QhwwKivEOZtPJXifYHR1m2ihoisbWyA==}
peerDependencies:
next: '>= 13'
@@ -1964,7 +1967,7 @@ packages:
react:
optional: true
dependencies:
- next: 14.2.20(react-dom@18.3.1)(react@18.3.1)
+ next: 14.2.21(react-dom@18.3.1)(react@18.3.1)
react: 18.3.1
server-only: 0.0.1
dev: false
@@ -3590,6 +3593,14 @@ packages:
- supports-color
dev: false
+ /geist@1.3.1(next@14.2.21):
+ resolution: {integrity: sha512-Q4gC1pBVPN+D579pBaz0TRRnGA4p9UK6elDY/xizXdFk/g4EKR5g0I+4p/Kj6gM0SajDBZ/0FvDV9ey9ud7BWw==}
+ peerDependencies:
+ next: '>=13.2.0'
+ dependencies:
+ next: 14.2.21(react-dom@18.3.1)(react@18.3.1)
+ dev: false
+
/geojson-vt@4.0.2:
resolution: {integrity: sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A==}
dev: false
@@ -5104,8 +5115,8 @@ packages:
react-dom: 18.3.1(react@18.3.1)
dev: false
- /next@14.2.20(react-dom@18.3.1)(react@18.3.1):
- resolution: {integrity: sha512-yPvIiWsiyVYqJlSQxwmzMIReXn5HxFNq4+tlVQ812N1FbvhmE+fDpIAD7bcS2mGYQwPJ5vAsQouyme2eKsxaug==}
+ /next@14.2.21(react-dom@18.3.1)(react@18.3.1):
+ resolution: {integrity: sha512-rZmLwucLHr3/zfDMYbJXbw0ZeoBpirxkXuvsJbk7UPorvPYZhP7vq7aHbKnU7dQNCYIimRrbB2pp3xmf+wsYUg==}
engines: {node: '>=18.17.0'}
hasBin: true
peerDependencies:
@@ -5122,7 +5133,7 @@ packages:
sass:
optional: true
dependencies:
- '@next/env': 14.2.20
+ '@next/env': 14.2.21
'@swc/helpers': 0.5.5
busboy: 1.6.0
caniuse-lite: 1.0.30001667
@@ -5132,15 +5143,15 @@ packages:
react-dom: 18.3.1(react@18.3.1)
styled-jsx: 5.1.1(react@18.3.1)
optionalDependencies:
- '@next/swc-darwin-arm64': 14.2.20
- '@next/swc-darwin-x64': 14.2.20
- '@next/swc-linux-arm64-gnu': 14.2.20
- '@next/swc-linux-arm64-musl': 14.2.20
- '@next/swc-linux-x64-gnu': 14.2.20
- '@next/swc-linux-x64-musl': 14.2.20
- '@next/swc-win32-arm64-msvc': 14.2.20
- '@next/swc-win32-ia32-msvc': 14.2.20
- '@next/swc-win32-x64-msvc': 14.2.20
+ '@next/swc-darwin-arm64': 14.2.21
+ '@next/swc-darwin-x64': 14.2.21
+ '@next/swc-linux-arm64-gnu': 14.2.21
+ '@next/swc-linux-arm64-musl': 14.2.21
+ '@next/swc-linux-x64-gnu': 14.2.21
+ '@next/swc-linux-x64-musl': 14.2.21
+ '@next/swc-win32-arm64-msvc': 14.2.21
+ '@next/swc-win32-ia32-msvc': 14.2.21
+ '@next/swc-win32-x64-msvc': 14.2.21
transitivePeerDependencies:
- '@babel/core'
- babel-plugin-macros
diff --git a/tailwind.config.ts b/tailwind.config.ts
index b14317c..cf78bd6 100644
--- a/tailwind.config.ts
+++ b/tailwind.config.ts
@@ -23,9 +23,9 @@ const config = {
'screen-small': '100svh',
},
fontFamily: {
- sans: ['Inter', 'sans-serif'],
- serif: ['var(--font-serif)', 'serif'],
- mono: ['var(--font-mono)', 'monospace'],
+ sans: ['var(--font-geist-sans)'],
+ serif: ['var(--font-serif)'],
+ mono: ['var(--font-geist-mono)'],
},
colors: {
border: "hsl(var(--border))",