From 04297de4cfdd1cd0481ae3968469cea1b1031320 Mon Sep 17 00:00:00 2001 From: damonkost Date: Fri, 17 Jan 2025 17:23:24 -0500 Subject: [PATCH 001/158] Update App.jsx --- src/App.jsx | 121 +++++++++++++++++++++++++++++++++++----------------- 1 file changed, 81 insertions(+), 40 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 3c74ab38..00cbe4f9 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -6,7 +6,7 @@ import Vapi from "@vapi-ai/web"; import { isPublicKeyMissingError } from "./utils"; // Put your Vapi Public Key below. -const vapi = new Vapi("0000XXXX-XXXX-XXXX-XXXX-XXXXXXXX0000"); +const vapi = new Vapi("310f0d43-27c2-47a5-a76d-e55171d024f7"); const App = () => { const [connecting, setConnecting] = useState(false); @@ -79,7 +79,7 @@ const App = () => { > {!connected ? ( + + ); +}; + + export default App; From 4e7907c3ece7575fe8d24bc7f0f6cf560f448b8f Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 16:25:51 -0500 Subject: [PATCH 031/158] Update App.jsx --- src/App.jsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 138a8db1..9621af87 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,10 +1,9 @@ import { useEffect, useState, useRef } from "react"; import { Stage, Layer, Line } from 'react-konva'; -import ActiveCallDetail from "./components/ActiveCallDetail"; -import Button from "./components/base/Button"; +import Button from "./components/base/Button"; // Assuming this is your Button component import Vapi from "@vapi-ai/web"; -import { isPublicKeyMissingError } from "./utils"; +import { isPublicKeyMissingError } from "./utils"; // Assuming this is your utility function // Put your Vapi Public Key below. const vapi = new Vapi("YOUR_VAPI_PUBLIC_KEY_HERE"); // Replace with your actual public key From 9ca673790a17ca4ddef738fe2884b158a21aee6b Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 16:45:02 -0500 Subject: [PATCH 032/158] Update App.jsx --- src/App.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/App.jsx b/src/App.jsx index 9621af87..d27192ea 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -6,7 +6,7 @@ import Vapi from "@vapi-ai/web"; import { isPublicKeyMissingError } from "./utils"; // Assuming this is your utility function // Put your Vapi Public Key below. -const vapi = new Vapi("YOUR_VAPI_PUBLIC_KEY_HERE"); // Replace with your actual public key +const vapi = new Vapi("310f0d43-27c2-47a5-a76d-e55171d024f7"); // Replace with your actual public key const App = () => { const [connecting, setConnecting] = useState(false); From c37ebe30cbc0be4397fd288eeb903b985e1d17fa Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 17:01:14 -0500 Subject: [PATCH 033/158] Update Button.jsx --- src/components/base/Button.jsx | 35 +++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index ce1da020..22d3946f 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -1,3 +1,4 @@ +import React from "react"; import ScaleLoader from "react-spinners/ScaleLoader"; const Button = ({ label, onClick, isLoading, disabled }) => { @@ -22,20 +23,32 @@ const Button = ({ label, onClick, isLoading, disabled }) => { ); }; From 11813eac4bb3252fc0053fbde45f56e4feae49f1 Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 17:02:14 -0500 Subject: [PATCH 034/158] Update App.jsx --- src/App.jsx | 90 +++++++++++++++++------------------------------------ 1 file changed, 29 insertions(+), 61 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index d27192ea..68937e8d 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,9 +1,9 @@ -import { useEffect, useState, useRef } from "react"; -import { Stage, Layer, Line } from 'react-konva'; +import { useEffect, useState } from "react"; -import Button from "./components/base/Button"; // Assuming this is your Button component +import ActiveCallDetail from "./components/ActiveCallDetail"; +import Button from "./components/base/Button"; import Vapi from "@vapi-ai/web"; -import { isPublicKeyMissingError } from "./utils"; // Assuming this is your utility function +import { isPublicKeyMissingError } from "./utils"; // Put your Vapi Public Key below. const vapi = new Vapi("310f0d43-27c2-47a5-a76d-e55171d024f7"); // Replace with your actual public key @@ -11,22 +11,26 @@ const vapi = new Vapi("310f0d43-27c2-47a5-a76d-e55171d024f7"); // Replace with y const App = () => { const [connecting, setConnecting] = useState(false); const [connected, setConnected] = useState(false); + const [assistantIsSpeaking, setAssistantIsSpeaking] = useState(false); const [volumeLevel, setVolumeLevel] = useState(0); - const [microphoneAllowed, setMicrophoneAllowed] = useState(false); + const [microphoneAllowed, setMicrophoneAllowed] = useState(false); // Add state for microphone permission const { showPublicKeyInvalidMessage, setShowPublicKeyInvalidMessage } = usePublicKeyInvalid(); + // hook into Vapi events useEffect(() => { const handleCallStart = () => { setConnecting(false); setConnected(true); + setShowPublicKeyInvalidMessage(false); }; const handleCallEnd = () => { setConnecting(false); setConnected(false); + setShowPublicKeyInvalidMessage(false); }; @@ -44,12 +48,14 @@ const App = () => { const handleError = (error) => { console.error(error); + setConnecting(false); if (isPublicKeyMissingError({ vapiError: error })) { setShowPublicKeyInvalidMessage(true); } }; + // Add event listeners vapi.on("call-start", handleCallStart); vapi.on("call-end", handleCallEnd); vapi.on("speech-start", handleSpeechStart); @@ -57,6 +63,7 @@ const App = () => { vapi.on("volume-level", handleVolumeLevel); vapi.on("error", handleError); + // Clean up event listeners on unmount return () => { vapi.off("call-start", handleCallStart); vapi.off("call-end", handleCallEnd); @@ -65,14 +72,17 @@ const App = () => { vapi.off("volume-level", handleVolumeLevel); vapi.off("error", handleError); }; + // eslint-disable-next-line react-hooks/exhaustive-deps }, []); - const startCallInline = async () => { + // call start handler + const startCallInline = async () => { setConnecting(true); try { + // Request microphone access await navigator.mediaDevices.getUserMedia({ audio: true }); - setMicrophoneAllowed(true); + setMicrophoneAllowed(true); const assistantOverrides = { transcriber: { @@ -80,13 +90,17 @@ const App = () => { model: "nova-2", language: "en-US", }, - recordingEnabled: true, + recordingEnabled: true, + // Add any other overrides you need here, like: + // endCallOnNoSpeech: false, // Disable automatic end on no speech + // maxDuration: 3600, // Set a longer max duration (in seconds) }; - vapi.start('e3fff1dd-2e82-4cce-ac6c-8c3271eb0865', assistantOverrides); + vapi.start('e3fff1dd-2e82-4cce-ac6c-8c3271eb0865', assistantOverrides); } catch (error) { console.error("Error accessing microphone:", error); setConnecting(false); + // Handle microphone access errors (e.g., display an error message) } }; @@ -109,8 +123,8 @@ const App = () => { label="Call Scout" onClick={startCallInline} isLoading={connecting} - disabled={!microphoneAllowed} - icon={} + disabled={!microphoneAllowed} // Disable button if mic access is not allowed + icon={} /> ) : ( { ); }; +// Make sure the image URL is correct and accessible const LegalScoutIcon = () => ( LegalScout Icon @@ -136,6 +151,7 @@ const LegalScoutIcon = () => ( const usePublicKeyInvalid = () => { const [showPublicKeyInvalidMessage, setShowPublicKeyInvalidMessage] = useState(false); + // close public key invalid message after delay useEffect(() => { if (showPublicKeyInvalidMessage) { setTimeout(() => { @@ -169,54 +185,6 @@ const PleaseSetYourPublicKeyMessage = () => { ); }; -const ActiveCallDetail = ({ assistantIsSpeaking, volumeLevel, onEndCallClick }) => { - const stageRef = useRef(null); - const lineRef = useRef(null); - const points = useRef([]); - - useEffect(() => { - const stage = stageRef.current; - const line = lineRef.current; - const animationId = requestAnimationFrame(animate); - - function animate() { - const newPoint = { - x: (points.current.length % stage.width()) + 1, - y: (1 - volumeLevel) * stage.height() / 2, - }; - points.current = [...points.current, newPoint]; - - if (points.current.length > stage.width()) { - points.current.shift(); - } - - line.points(points.current.flatMap(p => [p.x, p.y])); - requestAnimationFrame(animate); - } - - return () => { - cancelAnimationFrame(animationId); - }; - }, [volumeLevel]); - - return ( -
- - - - - - - -
- ); -}; +export default App; -export default App; From db7794ac35b72a9df8ea22c06f4f1835ca9c0bdd Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 17:04:06 -0500 Subject: [PATCH 035/158] Update Button.jsx --- src/components/base/Button.jsx | 36 +++++++++++----------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index 22d3946f..ebe84731 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -2,31 +2,16 @@ import React from "react"; import ScaleLoader from "react-spinners/ScaleLoader"; const Button = ({ label, onClick, isLoading, disabled }) => { - const opacity = disabled ? 0.75 : 1; - const cursor = disabled ? "not-allowed" : "pointer"; - - const Contents = isLoading ? ( - - ) : ( -

{label}

- ); + // ... (opacity and cursor logic - same as before) return ( - ); + // ... (button JSX - same as before) }; export default Button; From 1c6afd684774020d7ccdb673832f99676da063c7 Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 17:29:56 -0500 Subject: [PATCH 049/158] Update Button.jsx --- src/components/base/Button.jsx | 42 ++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index 86ddbc73..b0f6428c 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -22,20 +22,52 @@ const Button = ({ label, onClick, isLoading, disabled }) => { padding: 0, fontFamily: "Courier, monospace", fontWeight: "bold", - fontSize: "18px", // Adjusted font size for better visibility - background: "linear-gradient(to right, #e60073, #ff1493, #ff69b4, #ffb6c1, #ffc0cb)", // More visible gradient + fontSize: "18px", + background: "linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #8f00ff)", // Vibrant gradient + backgroundSize: "400% 400%", WebkitBackgroundClip: "text", WebkitTextFillColor: "transparent", animation: "shimmer 2s linear infinite", - // Fallback color for browsers that don't support -webkit-background-clip: text - color: "#e60073", // Matches the first color in the gradient }} > {label}

); - // ... (button JSX - same as before) + return ( + + ); }; export default Button; From e5527c8fa34d84d862a22545e15e6a52d1fec02b Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 17:32:25 -0500 Subject: [PATCH 050/158] Update Button.jsx --- src/components/base/Button.jsx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index b0f6428c..2a473aaf 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -23,7 +23,7 @@ const Button = ({ label, onClick, isLoading, disabled }) => { fontFamily: "Courier, monospace", fontWeight: "bold", fontSize: "18px", - background: "linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #8f00ff)", // Vibrant gradient + background: "linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #8f00ff)", backgroundSize: "400% 400%", WebkitBackgroundClip: "text", WebkitTextFillColor: "transparent", @@ -55,8 +55,7 @@ const Button = ({ label, onClick, isLoading, disabled }) => { height: "100px", borderRadius: "50%", backgroundColor: "lightblue", - // Box shadow will now also pulse - boxShadow: "0 0 20px 10px rgba(0, 123, 255, 0.7)", + boxShadow: "0 0 20px 10px rgba(0, 123, 255, 0.7)", display: "flex", justifyContent: "center", alignItems: "center", From 0853b33549f3a76a2cf21b84d83fbb2c3920ec59 Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 17:33:15 -0500 Subject: [PATCH 051/158] Update Button.jsx --- src/components/base/Button.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index 2a473aaf..09e948ea 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -22,7 +22,7 @@ const Button = ({ label, onClick, isLoading, disabled }) => { padding: 0, fontFamily: "Courier, monospace", fontWeight: "bold", - fontSize: "18px", + fontSize: "38px", background: "linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #8f00ff)", backgroundSize: "400% 400%", WebkitBackgroundClip: "text", From 50f430ab5d6e70ec91c26562ae93669e836d7bf1 Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 17:34:05 -0500 Subject: [PATCH 052/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index 677ec824..3e4db9c1 100644 --- a/src/index.css +++ b/src/index.css @@ -1,6 +1,6 @@ body { margin: 0; - background-color: #010810; + background-color: #000000; font-family: "Inter", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; -webkit-font-smoothing: antialiased; From 420cbeec3a566ebb5c85af0599d8dd7ebfe3b149 Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 17:35:56 -0500 Subject: [PATCH 053/158] Update Button.jsx --- src/components/base/Button.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index 09e948ea..e7c7d506 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -51,8 +51,8 @@ const Button = ({ label, onClick, isLoading, disabled }) => { >
{ justifyContent: "center", alignItems: "center", transition: "all 0.3s ease", - animation: "pulse 1.5s infinite", + animation: "pulse 1.1s infinite", }} > {Contents} From 3b237c0e44a10e88e9121c3a9215ef53e74cc311 Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 17:37:15 -0500 Subject: [PATCH 054/158] Update Button.jsx --- src/components/base/Button.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index e7c7d506..bfd61271 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -23,7 +23,7 @@ const Button = ({ label, onClick, isLoading, disabled }) => { fontFamily: "Courier, monospace", fontWeight: "bold", fontSize: "38px", - background: "linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #8f00ff)", + background: "linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #ff7f00, #0000ff, #ff7f00, #ff7f00)", backgroundSize: "400% 400%", WebkitBackgroundClip: "text", WebkitTextFillColor: "transparent", From 6e0afecfa9a5058f8a2a24f1054454df7da23cd2 Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 17:40:14 -0500 Subject: [PATCH 055/158] Update Button.jsx --- src/components/base/Button.jsx | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index bfd61271..99d8e743 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -53,16 +53,35 @@ const Button = ({ label, onClick, isLoading, disabled }) => { style={{ width: "300px", height: "300px", - borderRadius: "50%", - backgroundColor: "lightblue", + // borderRadius: "50%", // Remove border radius for amorphous shape + backgroundColor: "rgba(135, 206, 250, 0.5)", // Light blue with transparency boxShadow: "0 0 20px 10px rgba(0, 123, 255, 0.7)", display: "flex", justifyContent: "center", alignItems: "center", transition: "all 0.3s ease", - animation: "pulse 1.1s infinite", + animation: "pulse 1.1s infinite, morph 3s ease-in-out infinite alternate", // Add morph animation + position: "relative", // To position the whisps + overflow: "hidden", // To hide whisps that extend beyond the blob }} > + {/* Whisps */} + {Array.from({ length: 5 }).map((_, index) => ( +
+ ))} + {Contents}
From bd33144c01ef9f4297e9971bf9f52ef796d1928f Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 17:42:36 -0500 Subject: [PATCH 056/158] Update Button.jsx --- src/components/base/Button.jsx | 27 +++------------------------ 1 file changed, 3 insertions(+), 24 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index 99d8e743..a80f2049 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -40,7 +40,6 @@ const Button = ({ label, onClick, isLoading, disabled }) => { style={{ backgroundColor: "transparent", border: "none", - borderRadius: "50%", padding: "24px", display: "flex", justifyContent: "center", @@ -53,35 +52,15 @@ const Button = ({ label, onClick, isLoading, disabled }) => { style={{ width: "300px", height: "300px", - // borderRadius: "50%", // Remove border radius for amorphous shape - backgroundColor: "rgba(135, 206, 250, 0.5)", // Light blue with transparency - boxShadow: "0 0 20px 10px rgba(0, 123, 255, 0.7)", + background: "radial-gradient(circle at 50% 50%, rgba(0, 0, 100, 0.8), rgba(0, 0, 50, 0.2))", // Dark blue transparent gradient + boxShadow: "0 0 20px 10px rgba(0, 0, 100, 0.7)", // Dark blue shadow display: "flex", justifyContent: "center", alignItems: "center", transition: "all 0.3s ease", - animation: "pulse 1.1s infinite, morph 3s ease-in-out infinite alternate", // Add morph animation - position: "relative", // To position the whisps - overflow: "hidden", // To hide whisps that extend beyond the blob + animation: "pulse 1.1s infinite, morph 3s ease-in-out infinite alternate", }} > - {/* Whisps */} - {Array.from({ length: 5 }).map((_, index) => ( -
- ))} - {Contents}
From 56451e38ba2743a1dcacebcc15a4e67aa76f0575 Mon Sep 17 00:00:00 2001 From: damonkost Date: Sat, 18 Jan 2025 17:46:01 -0500 Subject: [PATCH 057/158] Update Button.jsx --- src/components/base/Button.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index a80f2049..cea1e31a 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -52,6 +52,7 @@ const Button = ({ label, onClick, isLoading, disabled }) => { style={{ width: "300px", height: "300px", + borderRadius: "50%", // Make it a circle background: "radial-gradient(circle at 50% 50%, rgba(0, 0, 100, 0.8), rgba(0, 0, 50, 0.2))", // Dark blue transparent gradient boxShadow: "0 0 20px 10px rgba(0, 0, 100, 0.7)", // Dark blue shadow display: "flex", From 7649dea5d2e9c21cdf77a2e68b07cd20c9ceb7b5 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 11:21:15 -0500 Subject: [PATCH 058/158] Update index.html --- public/index.html | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/public/index.html b/public/index.html index f5e5312a..f829eb4f 100644 --- a/public/index.html +++ b/public/index.html @@ -5,7 +5,7 @@ - + @@ -15,10 +15,26 @@ rel="stylesheet" /> - Vapi Web Quickstart + + + + LegalScout AI - -
+
+ + +
+ +
+

LegalScout AI

+ Hero Graphic +
From 7aabc4704a388150c98f5c1b54d1cb4bf7c194e0 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 11:23:54 -0500 Subject: [PATCH 059/158] Update index.css --- src/index.css | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/src/index.css b/src/index.css index 3e4db9c1..abbb7f34 100644 --- a/src/index.css +++ b/src/index.css @@ -11,3 +11,38 @@ p { margin: 0; padding: 0; } + +header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 10px 20px; + background-color: #000; +} + +header nav a { + color: white; + text-decoration: none; + margin: 0 15px; + font-size: 1rem; +} + +header nav a:hover { + text-decoration: underline; +} + +.logo { + height: 50px; +} + +.hero { + text-align: center; + padding: 50px 20px; + color: white; +} + +.hero img { + max-width: 100%; + height: auto; + margin-top: 20px; +} From eea3c538e51e9be06d84fc81cfa25e72f9f51826 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 11:26:19 -0500 Subject: [PATCH 060/158] Update index.js --- src/index.js | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/src/index.js b/src/index.js index f67c1704..dc496b55 100644 --- a/src/index.js +++ b/src/index.js @@ -1,10 +1,35 @@ -import "./index.css"; - -import App from "./App"; import React from "react"; import ReactDOM from "react-dom/client"; +import "./index.css"; + +const App = () => { + return ( +
+
+
+ LegalScout Logo +
+ +
+ +
+

LegalScout AI

+ Hero Graphic +
+
+ ); +}; -// render application const root = ReactDOM.createRoot(document.getElementById("root")); root.render( From d33755f299bae25a941414ba24d80e5852e7934f Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 11:30:35 -0500 Subject: [PATCH 061/158] Update index.html --- public/index.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/index.html b/public/index.html index f829eb4f..b87b6461 100644 --- a/public/index.html +++ b/public/index.html @@ -35,6 +35,10 @@

LegalScout AI

Hero Graphic + +
+ + From c2df821fb50c1f96fd1688a1ff54eaf880734a7b Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 11:31:25 -0500 Subject: [PATCH 062/158] Update index.js --- src/index.js | 35 ++++++++--------------------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/src/index.js b/src/index.js index dc496b55..28765651 100644 --- a/src/index.js +++ b/src/index.js @@ -2,33 +2,8 @@ import React from "react"; import ReactDOM from "react-dom/client"; import "./index.css"; -const App = () => { - return ( -
-
-
- LegalScout Logo -
- -
- -
-

LegalScout AI

- Hero Graphic -
-
- ); -}; +import App from "./App"; +import Button from "./Button"; const root = ReactDOM.createRoot(document.getElementById("root")); root.render( @@ -36,3 +11,9 @@ root.render(
); + +// Render the Button component in the react-button div +const buttonRoot = ReactDOM.createRoot(document.getElementById("react-button")); +buttonRoot.render( + From 8e58b2cf7ec3a7576a14153939b722790c9b9ca0 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 12:40:15 -0500 Subject: [PATCH 075/158] Update Button.jsx --- src/components/base/Button.jsx | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index 672bb2c3..bb28ef3b 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -22,7 +22,7 @@ const Button = ({ label, onClick, isLoading, disabled }) => { padding: 0, fontFamily: "Courier, monospace", fontWeight: "bold", - fontSize: "24px", // Reduced font size + fontSize: "32px", // Increased font size background: "linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #ff7f00, #0000ff, #ff7f00, #ff7f00)", backgroundSize: "400% 400%", @@ -41,7 +41,7 @@ const Button = ({ label, onClick, isLoading, disabled }) => { style={{ backgroundColor: "transparent", border: "none", - padding: "16px", // Reduced padding + padding: "24px", display: "flex", flexDirection: "column", justifyContent: "center", @@ -52,25 +52,25 @@ const Button = ({ label, onClick, isLoading, disabled }) => { >
- {/* Pseudo-element for the emanating effect */} - { width: "100%", height: "100%", borderRadius: "50%", - background: "radial-gradient(circle, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 70%)", + background: + "radial-gradient(circle, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 70%)", animation: "emanate 2s infinite alternate", }} /> From 2ea3883be522519f2d687c629fd71fd283edf7da Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 12:41:20 -0500 Subject: [PATCH 076/158] Update index.html --- public/index.html | 85 +++++++++++++++++++++++++---------------------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/public/index.html b/public/index.html index 418d3efd..ec659373 100644 --- a/public/index.html +++ b/public/index.html @@ -1,42 +1,49 @@ - - - - - - - - - - - - - - LegalScout AI - - -
- - -
- -
-

LegalScout AI

- Hero Graphic - -
-
- - - +  +    +    + +    +    + +    +    +    + +    + +    LegalScout AI +  +  +   
+      +      +   
+ +   
+     

LegalScout AI

+ +     
+       

+          Have a legal question?
+          Call Scout for free.
+          We'll help you understand your issue and find the right lawyer. +       

+     
+ +     
+   
+ +    +  From 942e37227af94424891dcb948c1626c7d0666b20 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 12:47:49 -0500 Subject: [PATCH 077/158] Update index.html --- public/index.html | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/public/index.html b/public/index.html index ec659373..97741289 100644 --- a/public/index.html +++ b/public/index.html @@ -24,20 +24,18 @@         LegalScout Logo      
             
-     

LegalScout AI

- -     
+     
       

-          Have a legal question?
-          Call Scout for free.
-          We'll help you understand your issue and find the right lawyer. +          Use our free AI to be matched with an ideal human lawyer, +          knowledgeable about your case and +          eager to help.        

     
From 06829fe8982964b82f5e3a86ab78a35467bfce7f Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 12:51:12 -0500 Subject: [PATCH 078/158] Update index.html --- public/index.html | 90 ++++++++++++++++++++++++----------------------- 1 file changed, 46 insertions(+), 44 deletions(-) diff --git a/public/index.html b/public/index.html index 97741289..6242ea80 100644 --- a/public/index.html +++ b/public/index.html @@ -1,47 +1,49 @@ -  -    -    - -    -    - -    -    -    - -    - -    LegalScout AI -  -  -   
-      -      -   
- -   
-     
-       

-          Use our free AI to be matched with an ideal human lawyer, -          knowledgeable about your case and -          eager to help. -       

-     
- -     
-   
- -    -  + + + + + + + + + + + + + + LegalScout AI + + +
+ + +
+ +
+

LegalScout AI

+ +
+

+ Use our free AI to be matched with an ideal human lawyer, + knowledgeable about your case and + eager to help. +

+
+ +
+
+ + + From 1db6e60822721bc6fddd408cc3956280dcfcc509 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 12:51:46 -0500 Subject: [PATCH 079/158] Update index.css --- src/index.css | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/index.css b/src/index.css index abbb7f34..20ee201e 100644 --- a/src/index.css +++ b/src/index.css @@ -14,10 +14,16 @@ p { header { display: flex; - justify-content: space-between; + justify-content: space-between; /* Align logo and nav to opposite ends */ align-items: center; padding: 10px 20px; - background-color: #000; + background-color: #000; /* Black background */ +} + +header nav { + display: flex; /* Make nav a flex container */ + justify-content: center; /* Center the links horizontally */ + width: 100%; /* Make nav take full width */ } header nav a { From fa52716ffa8103b93620de73bb908c0698eb2bf7 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 12:53:48 -0500 Subject: [PATCH 080/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index 20ee201e..7b581231 100644 --- a/src/index.css +++ b/src/index.css @@ -38,7 +38,7 @@ header nav a:hover { } .logo { - height: 50px; + height: 10px; } .hero { From 80fdac24d1f4bd46e0a9b5025be7b18c2a2d880a Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 12:55:38 -0500 Subject: [PATCH 081/158] Update index.css --- src/index.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/index.css b/src/index.css index 7b581231..51b57e43 100644 --- a/src/index.css +++ b/src/index.css @@ -29,7 +29,7 @@ header nav { header nav a { color: white; text-decoration: none; - margin: 0 15px; + margin: 0 5px; font-size: 1rem; } @@ -38,7 +38,7 @@ header nav a:hover { } .logo { - height: 10px; + height: 5px; } .hero { @@ -50,5 +50,5 @@ header nav a:hover { .hero img { max-width: 100%; height: auto; - margin-top: 20px; + margin-top: 10px; } From 30cc3908f80df6ffff08b109c1ff009a83efd97f Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 12:57:37 -0500 Subject: [PATCH 082/158] Update index.html --- public/index.html | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/public/index.html b/public/index.html index 6242ea80..a356036e 100644 --- a/public/index.html +++ b/public/index.html @@ -20,24 +20,21 @@
- -
-

LegalScout AI

-

Use our free AI to be matched with an ideal human lawyer, - knowledgeable about your case and - eager to help. + knowledgeable about your case and eager to help.

From e7b33929a5c8278bd3a489f5e02f50581116d5dd Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 12:58:01 -0500 Subject: [PATCH 083/158] Update index.css --- src/index.css | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/index.css b/src/index.css index 51b57e43..ac6347a1 100644 --- a/src/index.css +++ b/src/index.css @@ -1,3 +1,5 @@ +/* index.css */ + body { margin: 0; background-color: #000000; @@ -14,22 +16,23 @@ p { header { display: flex; - justify-content: space-between; /* Align logo and nav to opposite ends */ - align-items: center; + flex-direction: column; /* Stack nav and logo vertically */ + align-items: center; /* Center horizontally */ padding: 10px 20px; - background-color: #000; /* Black background */ + background-color: #000; } header nav { - display: flex; /* Make nav a flex container */ - justify-content: center; /* Center the links horizontally */ - width: 100%; /* Make nav take full width */ + display: flex; + justify-content: center; + width: 100%; + margin-bottom: 10px; /* Add spacing between nav and logo */ } header nav a { color: white; text-decoration: none; - margin: 0 5px; + margin: 0 15px; font-size: 1rem; } @@ -38,7 +41,7 @@ header nav a:hover { } .logo { - height: 5px; + height: 50px; } .hero { @@ -50,5 +53,5 @@ header nav a:hover { .hero img { max-width: 100%; height: auto; - margin-top: 10px; + margin-top: 20px; } From 0441d65e0537c2271bd54d6b5f43c796fe997e5c Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:02:59 -0500 Subject: [PATCH 084/158] Update index.css --- src/index.css | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/index.css b/src/index.css index ac6347a1..a1f94cba 100644 --- a/src/index.css +++ b/src/index.css @@ -3,8 +3,8 @@ body { margin: 0; background-color: #000000; - font-family: "Inter", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", - "Helvetica Neue", sans-serif; + font-family: "Inter", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", + "Droid Sans", "Helvetica Neue", sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } @@ -16,8 +16,8 @@ p { header { display: flex; - flex-direction: column; /* Stack nav and logo vertically */ - align-items: center; /* Center horizontally */ + flex-direction: column; + align-items: center; padding: 10px 20px; background-color: #000; } @@ -26,7 +26,7 @@ header nav { display: flex; justify-content: center; width: 100%; - margin-bottom: 10px; /* Add spacing between nav and logo */ + margin-bottom: 20px; /* Increased spacing */ } header nav a { @@ -55,3 +55,7 @@ header nav a:hover { height: auto; margin-top: 20px; } + +.statement { + font-size: 2em; /* Increased font size */ +} From 133093b1bef3a9e0db92001624a6378aa068321c Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:03:41 -0500 Subject: [PATCH 085/158] Update index.html --- public/index.html | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/public/index.html b/public/index.html index a356036e..183dd2c9 100644 --- a/public/index.html +++ b/public/index.html @@ -4,7 +4,10 @@ - + @@ -20,13 +23,16 @@
-
From 228c2976878b372f40514015c2ee69bd824bb99a Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:06:42 -0500 Subject: [PATCH 086/158] Update Button.jsx --- src/components/base/Button.jsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index bb28ef3b..bf9b7dc2 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -22,7 +22,7 @@ const Button = ({ label, onClick, isLoading, disabled }) => { padding: 0, fontFamily: "Courier, monospace", fontWeight: "bold", - fontSize: "32px", // Increased font size + fontSize: "32px", background: "linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #ff7f00, #0000ff, #ff7f00, #ff7f00)", backgroundSize: "400% 400%", @@ -41,7 +41,7 @@ const Button = ({ label, onClick, isLoading, disabled }) => { style={{ backgroundColor: "transparent", border: "none", - padding: "24px", + padding: "36px", display: "flex", flexDirection: "column", justifyContent: "center", @@ -52,16 +52,16 @@ const Button = ({ label, onClick, isLoading, disabled }) => { >
Date: Mon, 20 Jan 2025 13:11:03 -0500 Subject: [PATCH 087/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index a1f94cba..19e73bf3 100644 --- a/src/index.css +++ b/src/index.css @@ -53,7 +53,7 @@ header nav a:hover { .hero img { max-width: 100%; height: auto; - margin-top: 20px; + margin-top: 70px; } .statement { From f2a46a075246c97ade57b990015e0d7e8e06ceaa Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:11:56 -0500 Subject: [PATCH 088/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index 19e73bf3..871f21f5 100644 --- a/src/index.css +++ b/src/index.css @@ -46,7 +46,7 @@ header nav a:hover { .hero { text-align: center; - padding: 50px 20px; + padding: 50px 200px; color: white; } From d50f56ce0982e29475497bb0a383cb4f6b3b939d Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:13:00 -0500 Subject: [PATCH 089/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index 871f21f5..479aaf90 100644 --- a/src/index.css +++ b/src/index.css @@ -46,7 +46,7 @@ header nav a:hover { .hero { text-align: center; - padding: 50px 200px; + padding: 300px 20px; color: white; } From b11acd7f0bdc22314d5e6712c848cf65e94c8169 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:16:03 -0500 Subject: [PATCH 090/158] Update Button.jsx --- src/components/base/Button.jsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index bf9b7dc2..74cf41f7 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -19,7 +19,7 @@ const Button = ({ label, onClick, isLoading, disabled }) => {

{ backgroundPosition: "center", boxShadow: "0 0 20px 10px rgba(0, 0, 100, 0.7)", display: "flex", - flexDirection: "column", // Stack mascot and text vertically - justifyContent: "flex-end", // Align text to the bottom + flexDirection: "column", + justifyContent: "flex-end", alignItems: "center", transition: "all 0.3s ease", animation: "pulse 1.1s infinite, morph 3s ease-in-out infinite alternate", position: "relative", - overflow: "hidden", + // overflow: "hidden", }} > Date: Mon, 20 Jan 2025 13:21:08 -0500 Subject: [PATCH 091/158] Update Button.jsx --- src/components/base/Button.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index 74cf41f7..c5d2845b 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -1,7 +1,7 @@ import React from "react"; import ScaleLoader from "react-spinners/ScaleLoader"; -const Button = ({ label, onClick, isLoading, disabled }) => { +const Button = ({ label, onClick, isLoading, disabled = false }) => { // Set disabled to false by default const opacity = disabled ? 0.75 : 1; const cursor = disabled ? "not-allowed" : "pointer"; From 79f9613b578e69a37b20a844220267092d27da9e Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:30:59 -0500 Subject: [PATCH 092/158] Update Button.jsx --- src/components/base/Button.jsx | 89 +++++++++++++++++----------------- 1 file changed, 45 insertions(+), 44 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index c5d2845b..d36aad8a 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -1,7 +1,7 @@ import React from "react"; import ScaleLoader from "react-spinners/ScaleLoader"; -const Button = ({ label, onClick, isLoading, disabled = false }) => { // Set disabled to false by default +const Button = ({ label, onClick, isLoading, disabled = false }) => { const opacity = disabled ? 0.75 : 1; const cursor = disabled ? "not-allowed" : "pointer"; @@ -19,7 +19,7 @@ const Button = ({ label, onClick, isLoading, disabled = false }) => { // Set dis

{ // Set dis ); return ( -

- + {Contents} +
+ +
); }; From e6449c93ecf64589f5c27248f25f42e8fa6b9829 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:31:19 -0500 Subject: [PATCH 093/158] Update App.jsx --- src/App.jsx | 120 +++++++++++++++++++--------------------------------- 1 file changed, 44 insertions(+), 76 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index a387e596..14987286 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,61 +1,53 @@ import { useEffect, useState } from "react"; -import ActiveCallDetail from "./components/ActiveCallDetail"; +import ActiveCallDetail from "./components/call/ActiveCallDetail"; import Button from "./components/base/Button"; import Vapi from "@vapi-ai/web"; import { isPublicKeyMissingError } from "./utils"; -// Put your Vapi Public Key below. -const vapi = new Vapi("310f0d43-27c2-47a5-a76d-e55171d024f7"); // Replace with your actual public key +const vapi = new Vapi("YOUR_VAPI_PUBLIC_KEY"); -const App = () => { +function App() { const [connecting, setConnecting] = useState(false); const [connected, setConnected] = useState(false); - const [assistantIsSpeaking, setAssistantIsSpeaking] = useState(false); const [volumeLevel, setVolumeLevel] = useState(0); - const [microphoneAllowed, setMicrophoneAllowed] = useState(false); // Add state for microphone permission + const [microphoneAllowed, setMicrophoneAllowed] = useState(false); - const { showPublicKeyInvalidMessage, setShowPublicKeyInvalidMessage } = usePublicKeyInvalid(); + const { + showPublicKeyInvalidMessage, + setShowPublicKeyInvalidMessage, + } = usePublicKeyInvalid(); - // hook into Vapi events useEffect(() => { const handleCallStart = () => { setConnecting(false); setConnected(true); - setShowPublicKeyInvalidMessage(false); }; const handleCallEnd = () => { setConnecting(false); setConnected(false); - setShowPublicKeyInvalidMessage(false); }; - const handleSpeechStart = () => { + const handleSpeechStart = () => setAssistantIsSpeaking(true); - }; - const handleSpeechEnd = () => { + const handleSpeechEnd = () => setAssistantIsSpeaking(false); - }; - const handleVolumeLevel = (level) => { - setVolumeLevel(level); - }; + const handleVolumeLevel = level => setVolumeLevel(level); - const handleError = (error) => { + const handleError = error => { console.error(error); - setConnecting(false); if (isPublicKeyMissingError({ vapiError: error })) { setShowPublicKeyInvalidMessage(true); } }; - // Add event listeners vapi.on("call-start", handleCallStart); vapi.on("call-end", handleCallEnd); vapi.on("speech-start", handleSpeechStart); @@ -63,7 +55,6 @@ const App = () => { vapi.on("volume-level", handleVolumeLevel); vapi.on("error", handleError); - // Clean up event listeners on unmount return () => { vapi.off("call-start", handleCallStart); vapi.off("call-end", handleCallEnd); @@ -72,41 +63,32 @@ const App = () => { vapi.off("volume-level", handleVolumeLevel); vapi.off("error", handleError); }; - // eslint-disable-next-line react-hooks/exhaustive-deps }, []); - // call start handler - const startCallInline = async () => { + const startCallInline = async () => { setConnecting(true); - try { - // Request microphone access await navigator.mediaDevices.getUserMedia({ audio: true }); - setMicrophoneAllowed(true); - + setMicrophoneAllowed(true); const assistantOverrides = { transcriber: { provider: "deepgram", model: "nova-2", language: "en-US", }, - recordingEnabled: true, - // Add any other overrides you need here, like: - // endCallOnNoSpeech: false, // Disable automatic end on no speech - // maxDuration: 3600, // Set a longer max duration (in seconds) + recordingEnabled: true, }; - - vapi.start('e3fff1dd-2e82-4cce-ac6c-8c3271eb0865', assistantOverrides); + vapi.start( + "e3fff1dd-2e82-4cce-ac6c-8c3271eb0865", + assistantOverrides + ); } catch (error) { console.error("Error accessing microphone:", error); setConnecting(false); - // Handle microphone access errors (e.g., display an error message) } }; - const endCall = () => { - vapi.stop(); - }; + const endCall = () => vapi.stop(); return (
{ label="Call Scout" onClick={startCallInline} isLoading={connecting} - disabled={!microphoneAllowed} // Disable button if mic access is not allowed - icon={} + disabled={!microphoneAllowed} /> ) : ( { onEndCallClick={endCall} /> )} - - {showPublicKeyInvalidMessage ? : null} + {showPublicKeyInvalidMessage ? ( + + ) : null}
); -}; - -// Make sure the image URL is correct and accessible -const LegalScoutIcon = () => ( - LegalScout Icon -); +} const usePublicKeyInvalid = () => { - const [showPublicKeyInvalidMessage, setShowPublicKeyInvalidMessage] = useState(false); + const [showPublicKeyInvalidMessage, setShowPublicKeyInvalidMessage] = + useState(false); - // close public key invalid message after delay useEffect(() => { if (showPublicKeyInvalidMessage) { - setTimeout(() => { - setShowPublicKeyInvalidMessage(false); - }, 3000); + setTimeout(() => setShowPublicKeyInvalidMessage(false), 3000); } }, [showPublicKeyInvalidMessage]); @@ -166,24 +137,21 @@ const usePublicKeyInvalid = () => { }; }; -const PleaseSetYourPublicKeyMessage = () => { - return ( -
- Is your Vapi Public Key missing? (recheck your code) -
- ); -}; +const PleaseSetYourPublicKeyMessage = () => ( +
+ Is your Vapi Public Key missing? (recheck your code) +
+); export default App; - From ac6be4cdac85a0ce62718e62829cb6aef35695d4 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:46:47 -0500 Subject: [PATCH 094/158] Update App.jsx --- src/App.jsx | 119 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 75 insertions(+), 44 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 14987286..8c756d7f 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,53 +1,61 @@ import { useEffect, useState } from "react"; -import ActiveCallDetail from "./components/call/ActiveCallDetail"; +import ActiveCallDetail from "./components/ActiveCallDetail"; import Button from "./components/base/Button"; import Vapi from "@vapi-ai/web"; import { isPublicKeyMissingError } from "./utils"; -const vapi = new Vapi("YOUR_VAPI_PUBLIC_KEY"); +// Put your Vapi Public Key below. +const vapi = new Vapi("310f0d43-27c2-47a5-a76d-e55171d024f7"); // Replace with your actual public key -function App() { +const App = () => { const [connecting, setConnecting] = useState(false); const [connected, setConnected] = useState(false); + const [assistantIsSpeaking, setAssistantIsSpeaking] = useState(false); const [volumeLevel, setVolumeLevel] = useState(0); - const [microphoneAllowed, setMicrophoneAllowed] = useState(false); + const [microphoneAllowed, setMicrophoneAllowed] = useState(false); // Add state for microphone permission - const { - showPublicKeyInvalidMessage, - setShowPublicKeyInvalidMessage, - } = usePublicKeyInvalid(); + const { showPublicKeyInvalidMessage, setShowPublicKeyInvalidMessage } = usePublicKeyInvalid(); + // hook into Vapi events useEffect(() => { const handleCallStart = () => { setConnecting(false); setConnected(true); + setShowPublicKeyInvalidMessage(false); }; const handleCallEnd = () => { setConnecting(false); setConnected(false); + setShowPublicKeyInvalidMessage(false); }; - const handleSpeechStart = () => + const handleSpeechStart = () => { setAssistantIsSpeaking(true); + }; - const handleSpeechEnd = () => + const handleSpeechEnd = () => { setAssistantIsSpeaking(false); + }; - const handleVolumeLevel = level => setVolumeLevel(level); + const handleVolumeLevel = (level) => { + setVolumeLevel(level); + }; - const handleError = error => { + const handleError = (error) => { console.error(error); + setConnecting(false); if (isPublicKeyMissingError({ vapiError: error })) { setShowPublicKeyInvalidMessage(true); } }; + // Add event listeners vapi.on("call-start", handleCallStart); vapi.on("call-end", handleCallEnd); vapi.on("speech-start", handleSpeechStart); @@ -55,6 +63,7 @@ function App() { vapi.on("volume-level", handleVolumeLevel); vapi.on("error", handleError); + // Clean up event listeners on unmount return () => { vapi.off("call-start", handleCallStart); vapi.off("call-end", handleCallEnd); @@ -63,32 +72,41 @@ function App() { vapi.off("volume-level", handleVolumeLevel); vapi.off("error", handleError); }; + // eslint-disable-next-line react-hooks/exhaustive-deps }, []); - const startCallInline = async () => { + // call start handler + const startCallInline = async () => { setConnecting(true); + try { + // Request microphone access await navigator.mediaDevices.getUserMedia({ audio: true }); - setMicrophoneAllowed(true); + setMicrophoneAllowed(true); + const assistantOverrides = { transcriber: { provider: "deepgram", model: "nova-2", language: "en-US", }, - recordingEnabled: true, + recordingEnabled: true, + // Add any other overrides you need here, like: + // endCallOnNoSpeech: false, // Disable automatic end on no speech + // maxDuration: 3600, // Set a longer max duration (in seconds) }; - vapi.start( - "e3fff1dd-2e82-4cce-ac6c-8c3271eb0865", - assistantOverrides - ); + + vapi.start('e3fff1dd-2e82-4cce-ac6c-8c3271eb0865', assistantOverrides); } catch (error) { console.error("Error accessing microphone:", error); setConnecting(false); + // Handle microphone access errors (e.g., display an error message) } }; - const endCall = () => vapi.stop(); + const endCall = () => { + vapi.stop(); + }; return (
} /> ) : ( )} - {showPublicKeyInvalidMessage ? ( - - ) : null} + + {showPublicKeyInvalidMessage ? : null}
); -} +}; + +// Make sure the image URL is correct and accessible +const LegalScoutIcon = () => ( + LegalScout Icon +); const usePublicKeyInvalid = () => { - const [showPublicKeyInvalidMessage, setShowPublicKeyInvalidMessage] = - useState(false); + const [showPublicKeyInvalidMessage, setShowPublicKeyInvalidMessage] = useState(false); + // close public key invalid message after delay useEffect(() => { if (showPublicKeyInvalidMessage) { - setTimeout(() => setShowPublicKeyInvalidMessage(false), 3000); + setTimeout(() => { + setShowPublicKeyInvalidMessage(false); + }, 3000); } }, [showPublicKeyInvalidMessage]); @@ -137,21 +166,23 @@ const usePublicKeyInvalid = () => { }; }; -const PleaseSetYourPublicKeyMessage = () => ( -
- Is your Vapi Public Key missing? (recheck your code) -
-); +const PleaseSetYourPublicKeyMessage = () => { + return ( +
+ Is your Vapi Public Key missing? (recheck your code) +
+ ); +}; export default App; From 8ef01a3cd6e214223d1d013d7f96b61b6c01dba0 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:52:08 -0500 Subject: [PATCH 095/158] Update index.css --- src/index.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.css b/src/index.css index 479aaf90..d2382daa 100644 --- a/src/index.css +++ b/src/index.css @@ -18,8 +18,8 @@ header { display: flex; flex-direction: column; align-items: center; - padding: 10px 20px; - background-color: #000; + padding: 5px 10px; + background-color: #111000; } header nav { From cd36f5953429273f42a242243b6adb514dc1eb8f Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:54:18 -0500 Subject: [PATCH 096/158] Update index.css --- src/index.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.css b/src/index.css index d2382daa..745a7fc4 100644 --- a/src/index.css +++ b/src/index.css @@ -18,8 +18,8 @@ header { display: flex; flex-direction: column; align-items: center; - padding: 5px 10px; - background-color: #111000; + padding: 100px 70px; + background-color: #171717; } header nav { From b3a61c3f4910652cba1f731d6386e460b2c9208c Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:55:45 -0500 Subject: [PATCH 097/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index 745a7fc4..70a60a24 100644 --- a/src/index.css +++ b/src/index.css @@ -18,7 +18,7 @@ header { display: flex; flex-direction: column; align-items: center; - padding: 100px 70px; + padding: 10px 70px; background-color: #171717; } From 55d47309b15eee6659766560df4c392ac5175464 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:58:32 -0500 Subject: [PATCH 098/158] Update index.css --- src/index.css | 60 +++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/src/index.css b/src/index.css index 70a60a24..bc80a1c0 100644 --- a/src/index.css +++ b/src/index.css @@ -1,61 +1,61 @@ /* index.css */ body { - margin: 0; - background-color: #000000; - font-family: "Inter", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", - "Droid Sans", "Helvetica Neue", sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; +  margin: 0; +  background-color: #000000; +  font-family: "Inter", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", +    "Droid Sans", "Helvetica Neue", sans-serif; +  -webkit-font-smoothing: antialiased; +  -moz-osx-font-smoothing: grayscale; } p { - margin: 0; - padding: 0; +  margin: 0; +  padding: 0; } header { - display: flex; - flex-direction: column; - align-items: center; - padding: 10px 70px; - background-color: #171717; +  display: flex; +  flex-direction: column; +  align-items: center; +  padding: 10px 70px; } header nav { - display: flex; - justify-content: center; - width: 100%; - margin-bottom: 20px; /* Increased spacing */ +  display: flex; +  justify-content: center; +  width: 100%; +  margin-bottom: 20px; /* Increased spacing */ +  background-color: #171717; /* Moved background color here */ } header nav a { - color: white; - text-decoration: none; - margin: 0 15px; - font-size: 1rem; +  color: white; +  text-decoration: none; +  margin: 0 15px; +  font-size: 1rem; } header nav a:hover { - text-decoration: underline; +  text-decoration: underline; } .logo { - height: 50px; +  height: 50px; } .hero { - text-align: center; - padding: 300px 20px; - color: white; +  text-align: center; +  padding: 300px 20px; +  color: white; } .hero img { - max-width: 100%; - height: auto; - margin-top: 70px; +  max-width: 100%; +  height: auto; +  margin-top: 70px; } .statement { - font-size: 2em; /* Increased font size */ +  font-size: 2em; /* Increased font size */ } From 4a6bbcbd261d5c2828097f398f7f5dd6c46c0e46 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 13:59:17 -0500 Subject: [PATCH 099/158] Update index.css --- src/index.css | 60 +++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/src/index.css b/src/index.css index bc80a1c0..5b4d26e6 100644 --- a/src/index.css +++ b/src/index.css @@ -1,61 +1,61 @@ /* index.css */ body { -  margin: 0; -  background-color: #000000; -  font-family: "Inter", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", -    "Droid Sans", "Helvetica Neue", sans-serif; -  -webkit-font-smoothing: antialiased; -  -moz-osx-font-smoothing: grayscale; + margin: 0; + background-color: #000000; + font-family: "Inter", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", + "Droid Sans", "Helvetica Neue", sans-serif; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } p { -  margin: 0; -  padding: 0; + margin: 0; + padding: 0; } header { -  display: flex; -  flex-direction: column; -  align-items: center; -  padding: 10px 70px; + display: flex; + flex-direction: column; + align-items: center; + padding: 10px 70px; } header nav { -  display: flex; -  justify-content: center; -  width: 100%; -  margin-bottom: 20px; /* Increased spacing */ -  background-color: #171717; /* Moved background color here */ + display: flex; + justify-content: center; + width: 100%; + margin-bottom: 20px; /* Increased spacing */ + background-color: #171717; /* Background color for the nav */ } header nav a { -  color: white; -  text-decoration: none; -  margin: 0 15px; -  font-size: 1rem; + color: white; + text-decoration: none; + margin: 0 15px; + font-size: 1rem; } header nav a:hover { -  text-decoration: underline; + text-decoration: underline; } .logo { -  height: 50px; + height: 50px; } .hero { -  text-align: center; -  padding: 300px 20px; -  color: white; + text-align: center; + padding: 300px 20px; + color: white; } .hero img { -  max-width: 100%; -  height: auto; -  margin-top: 70px; + max-width: 100%; + height: auto; + margin-top: 70px; } .statement { -  font-size: 2em; /* Increased font size */ + font-size: 2em; /* Increased font size */ } From 80ae8aec1159f158370d6456997450015d8fa1a0 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 14:00:57 -0500 Subject: [PATCH 100/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index 5b4d26e6..c415cd1e 100644 --- a/src/index.css +++ b/src/index.css @@ -18,7 +18,7 @@ header { display: flex; flex-direction: column; align-items: center; - padding: 10px 70px; + padding: 0px 0px; } header nav { From ec88c14a484e6cedf2d5fa95d8ece000f740ecfe Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 14:02:01 -0500 Subject: [PATCH 101/158] Update index.css --- src/index.css | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/index.css b/src/index.css index c415cd1e..c6010206 100644 --- a/src/index.css +++ b/src/index.css @@ -39,11 +39,10 @@ header nav a { header nav a:hover { text-decoration: underline; } - .logo { - height: 50px; + max-width: 100%; /* Ensures the logo never exceeds the container width */ + height: auto; /* Maintains aspect ratio while scaling */ } - .hero { text-align: center; padding: 300px 20px; From 99a7126ea62861f7fe516294cbfca2e80c2e5f25 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 14:05:32 -0500 Subject: [PATCH 102/158] Update index.css --- src/index.css | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/index.css b/src/index.css index c6010206..acec99f5 100644 --- a/src/index.css +++ b/src/index.css @@ -19,21 +19,22 @@ header { flex-direction: column; align-items: center; padding: 0px 0px; + width: 100%; /* Add this line to make the header take full screen width */ } header nav { display: flex; justify-content: center; width: 100%; - margin-bottom: 20px; /* Increased spacing */ - background-color: #171717; /* Background color for the nav */ + margin-bottom: 50px; + background-color: #171717; } header nav a { color: white; text-decoration: none; margin: 0 15px; - font-size: 1rem; + font-size: 2rem; } header nav a:hover { From 67a734b363b8ae27fa2797f61d9fc8c8a62a46a4 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 14:06:51 -0500 Subject: [PATCH 103/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index acec99f5..bc997c26 100644 --- a/src/index.css +++ b/src/index.css @@ -34,7 +34,7 @@ header nav a { color: white; text-decoration: none; margin: 0 15px; - font-size: 2rem; + font-size: 1rem; } header nav a:hover { From cf02244e7aa339e4285ff8e055fbaaa381c819f0 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 14:08:09 -0500 Subject: [PATCH 104/158] Update index.css --- src/index.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.css b/src/index.css index bc997c26..6774cf0e 100644 --- a/src/index.css +++ b/src/index.css @@ -46,12 +46,12 @@ header nav a:hover { } .hero { text-align: center; - padding: 300px 20px; + padding: 70px 20px; color: white; } .hero img { - max-width: 100%; + max-width: auto; height: auto; margin-top: 70px; } From af5afdef67ef55807e8cfe819d79177f25ee3816 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:21:25 -0500 Subject: [PATCH 105/158] Update index.css --- src/index.css | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/index.css b/src/index.css index 6774cf0e..31114538 100644 --- a/src/index.css +++ b/src/index.css @@ -26,8 +26,8 @@ header nav { display: flex; justify-content: center; width: 100%; - margin-bottom: 50px; - background-color: #171717; + margin-bottom: 50px;  + background-color: #171717;  } header nav a { @@ -40,10 +40,13 @@ header nav a { header nav a:hover { text-decoration: underline; } + .logo { max-width: 100%; /* Ensures the logo never exceeds the container width */ - height: auto; /* Maintains aspect ratio while scaling */ + height: auto;     /* Maintains aspect ratio while scaling */ + object-fit: cover; /* Cover the container while maintaining aspect ratio */ } + .hero { text-align: center; padding: 70px 20px; @@ -58,4 +61,5 @@ header nav a:hover { .statement { font-size: 2em; /* Increased font size */ + margin-bottom: 20px; /* Reduced padding between statement and button */ } From 702f38484182143eedfbe8c0bc14ccf3ebc940d0 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:22:26 -0500 Subject: [PATCH 106/158] Update index.css --- src/index.css | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/index.css b/src/index.css index 31114538..b765dcca 100644 --- a/src/index.css +++ b/src/index.css @@ -19,15 +19,15 @@ header { flex-direction: column; align-items: center; padding: 0px 0px; - width: 100%; /* Add this line to make the header take full screen width */ + width: 100%; } header nav { display: flex; justify-content: center; width: 100%; - margin-bottom: 50px;  - background-color: #171717;  + margin-bottom: 50px; + background-color: #171717; } header nav a { @@ -42,14 +42,14 @@ header nav a:hover { } .logo { - max-width: 100%; /* Ensures the logo never exceeds the container width */ - height: auto;     /* Maintains aspect ratio while scaling */ - object-fit: cover; /* Cover the container while maintaining aspect ratio */ + max-width: 100%; + height: auto; + object-fit: cover; } .hero { text-align: center; - padding: 70px 20px; + padding: 70px 20px; color: white; } @@ -60,6 +60,6 @@ header nav a:hover { } .statement { - font-size: 2em; /* Increased font size */ - margin-bottom: 20px; /* Reduced padding between statement and button */ + font-size: 2em; + margin-bottom: 20px; } From 42aca846b5876211493c66fcd73d6321af81bad4 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:25:02 -0500 Subject: [PATCH 107/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index b765dcca..24de4b9e 100644 --- a/src/index.css +++ b/src/index.css @@ -42,7 +42,7 @@ header nav a:hover { } .logo { - max-width: 100%; + width: 100%; height: auto; object-fit: cover; } From c416822991a549aaf453e17c1a4c096645429a26 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:26:05 -0500 Subject: [PATCH 108/158] Update Button.jsx --- src/components/base/Button.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index d36aad8a..f7997b64 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -42,7 +42,7 @@ const Button = ({ label, onClick, isLoading, disabled = false }) => { style={{ backgroundColor: "transparent", border: "none", - padding: "36px", + padding: "10px", display: "flex", flexDirection: "column", justifyContent: "center", From 474303a48504eef7521b8b062088fd02efa9053f Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:27:01 -0500 Subject: [PATCH 109/158] Update Button.jsx --- src/components/base/Button.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index f7997b64..d987a5e0 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -19,7 +19,7 @@ const Button = ({ label, onClick, isLoading, disabled = false }) => {

Date: Mon, 20 Jan 2025 15:28:36 -0500 Subject: [PATCH 110/158] Update Button.jsx --- src/components/base/Button.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index d987a5e0..aeb428ce 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -19,7 +19,7 @@ const Button = ({ label, onClick, isLoading, disabled = false }) => {

{ style={{ backgroundColor: "transparent", border: "none", - padding: "10px", + padding: "-10px", display: "flex", flexDirection: "column", justifyContent: "center", From 0a22551ed4481d76b70699c19947930724268a72 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:30:11 -0500 Subject: [PATCH 111/158] Update Button.jsx --- src/components/base/Button.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index aeb428ce..160e47da 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -13,7 +13,7 @@ const Button = ({ label, onClick, isLoading, disabled = false }) => { margin={0.5} loading={true} size={50} - css={{ display: "block", margin: "0 auto" }} + css={{ display: "block", margin: "-50 auto" }} /> ) : (

Date: Mon, 20 Jan 2025 15:33:34 -0500 Subject: [PATCH 112/158] Update index.html --- public/index.html | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/public/index.html b/public/index.html index 183dd2c9..2350ded2 100644 --- a/public/index.html +++ b/public/index.html @@ -36,16 +36,15 @@ -

-
-

- Use our free AI to be matched with an ideal human lawyer, - knowledgeable about your case and eager to help. -

-
- -
-
+
+
+

+ Use our free AI to be matched with an ideal human lawyer, + knowledgeable about your case and eager to help. +

+
+
+
From 7129e1d829d780cdb00a07803752cab381bf1aa0 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:34:31 -0500 Subject: [PATCH 113/158] Update index.css --- src/index.css | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/index.css b/src/index.css index 24de4b9e..4ea156df 100644 --- a/src/index.css +++ b/src/index.css @@ -59,7 +59,9 @@ header nav a:hover { margin-top: 70px; } -.statement { - font-size: 2em; - margin-bottom: 20px; +.statement p { + margin-bottom: 10px; /* Adjust as needed */ +} +.statement #root { + margin-top: 10px; /* Adjust as needed */ } From 9a70598a0498469bf4748037ed314447483c8924 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:35:50 -0500 Subject: [PATCH 114/158] Update index.css --- src/index.css | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/index.css b/src/index.css index 4ea156df..c881971c 100644 --- a/src/index.css +++ b/src/index.css @@ -41,10 +41,15 @@ header nav a:hover { text-decoration: underline; } +.logo-container { + display: flex; + justify-content: center; + width: 100%; +} + .logo { - width: 100%; - height: auto; - object-fit: cover; + max-width: 100%; + height: auto; } .hero { From fbb6a8b4c729e53c86b7fc87b75c48783c2fbadc Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:36:28 -0500 Subject: [PATCH 115/158] Update index.html --- public/index.html | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/public/index.html b/public/index.html index 2350ded2..35cdc394 100644 --- a/public/index.html +++ b/public/index.html @@ -28,23 +28,23 @@ My Cases About - -
-
-

- Use our free AI to be matched with an ideal human lawyer, - knowledgeable about your case and eager to help. -

-
-
-
+
+
+

+ Use our free AI to be matched with an ideal human lawyer, + knowledgeable about your case and eager to help. +

+
+
+
From 1a2320696d5f1dbe5a0ea6d8bfa7a427fe7fad1c Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:39:26 -0500 Subject: [PATCH 116/158] Update index.html --- public/index.html | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/public/index.html b/public/index.html index 35cdc394..6dfa8a23 100644 --- a/public/index.html +++ b/public/index.html @@ -24,16 +24,18 @@
-
- -
From 8e88c8d169a21c03f269454a6ae738ddccc1d066 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:40:03 -0500 Subject: [PATCH 117/158] Update index.css --- src/index.css | 51 +++++++++++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/src/index.css b/src/index.css index c881971c..9eff157e 100644 --- a/src/index.css +++ b/src/index.css @@ -22,34 +22,39 @@ header { width: 100%; } -header nav { - display: flex; - justify-content: center; +nav { + display: flex; /* Make the nav a flex container */ + align-items: center; /* Vertically align items */ width: 100%; - margin-bottom: 50px; background-color: #171717; + padding: 15px 20px; /* Add padding for height */ } -header nav a { - color: white; - text-decoration: none; - margin: 0 15px; - font-size: 1rem; +.logo-container { + margin-right: auto; /* Push logo to the left */ } -header nav a:hover { - text-decoration: underline; +.logo { + max-width: 150px; /* Adjust logo size as needed */ + height: auto; } -.logo-container { - display: flex; - justify-content: center; - width: 100%; +.nav-links { + display: flex; /* Make the links a flex container */ } -.logo { - max-width: 100%; - height: auto; +.nav-links a { + color: white; + text-decoration: none; + margin-left: 20px; /* Spacing between links */ + font-size: 1rem; + padding: 8px 15px; /* Add padding to the links */ + border-radius: 20px; /* Rounded corners for the button style */ + transition: background-color 0.3s ease; /* Smooth transition for hover effect */ +} + +.nav-links a:hover { + background-color: #333; /* Darker background on hover */ } .hero { @@ -64,9 +69,15 @@ header nav a:hover { margin-top: 70px; } +.statement { + font-size: 2em; + margin-bottom: 20px; +} + .statement p { - margin-bottom: 10px; /* Adjust as needed */ + margin-bottom: 10px; } + .statement #root { - margin-top: 10px; /* Adjust as needed */ + margin-top: 10px; } From b3b344717b19791e825f2928b97da6e735982fa3 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:41:15 -0500 Subject: [PATCH 118/158] Update index.css --- src/index.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/index.css b/src/index.css index 9eff157e..b6ecdd9b 100644 --- a/src/index.css +++ b/src/index.css @@ -41,6 +41,8 @@ nav { .nav-links { display: flex; /* Make the links a flex container */ + justify-content: center; /* Center the links horizontally */ + width: 100%; /* Make the links container take full width */ } .nav-links a { @@ -78,6 +80,4 @@ nav { margin-bottom: 10px; } -.statement #root { - margin-top: 10px; -} +.statement From 1f3db5fa0a8c6831e89d0d93b32d1bb5093e5485 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:42:31 -0500 Subject: [PATCH 119/158] Update index.css --- src/index.css | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index b6ecdd9b..49b0e840 100644 --- a/src/index.css +++ b/src/index.css @@ -80,4 +80,6 @@ nav { margin-bottom: 10px; } -.statement +.statement #root { + margin-top: 10px; +} From 2936ea3a79b96da416d2ac378374ca302177eb48 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:47:55 -0500 Subject: [PATCH 120/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index 49b0e840..2b17da84 100644 --- a/src/index.css +++ b/src/index.css @@ -61,7 +61,7 @@ nav { .hero { text-align: center; - padding: 70px 20px; + padding: 10px 100px; color: white; } From dfb78581e72668ff4b524b167d077508c9f607f7 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:54:31 -0500 Subject: [PATCH 121/158] Update Button.jsx --- src/components/base/Button.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index 160e47da..8ba2b4de 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -43,7 +43,8 @@ const Button = ({ label, onClick, isLoading, disabled = false }) => { backgroundColor: "transparent", border: "none", padding: "-10px", - display: "flex", + display: "block", // Added to center the button + margin: "0 auto", // Added to center the button flexDirection: "column", justifyContent: "center", alignItems: "center", From e80f86662d67d424a1e361be6e8abb5d8a30e525 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:57:05 -0500 Subject: [PATCH 122/158] Update Button.jsx --- src/components/base/Button.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index 8ba2b4de..374e1778 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -42,9 +42,9 @@ const Button = ({ label, onClick, isLoading, disabled = false }) => { style={{ backgroundColor: "transparent", border: "none", - padding: "-10px", - display: "block", // Added to center the button - margin: "0 auto", // Added to center the button + padding: "-10px", + display: "block", // Ensures the button is a block-level element + margin: "0 auto", // Centers the button horizontally flexDirection: "column", justifyContent: "center", alignItems: "center", From 18bd30aabdb161e948f2d2ea7048496b6d4bae60 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 15:59:47 -0500 Subject: [PATCH 123/158] Update index.css --- src/index.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/index.css b/src/index.css index 2b17da84..ab06e294 100644 --- a/src/index.css +++ b/src/index.css @@ -83,3 +83,7 @@ nav { .statement #root { margin-top: 10px; } +.button-container { + display: flex; + justify-content: center; +} From e06369f80c6b303e0f52d8089f4209b7bb842bbf Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 16:02:47 -0500 Subject: [PATCH 124/158] Update index.css --- src/index.css | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index ab06e294..557d2117 100644 --- a/src/index.css +++ b/src/index.css @@ -83,7 +83,13 @@ nav { .statement #root { margin-top: 10px; } -.button-container { + +/* index.css */ + +/* ... other styles ... */ + +.button-container { // Added to center the button display: flex; justify-content: center; + align-items: center; // Added to vertically center the button } From 129b68be237ac1b6a3c2dee6ce0e6fe8b6794e0f Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 16:04:04 -0500 Subject: [PATCH 125/158] Update index.css --- src/index.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.css b/src/index.css index 557d2117..f9da36a1 100644 --- a/src/index.css +++ b/src/index.css @@ -88,8 +88,8 @@ nav { /* ... other styles ... */ -.button-container { // Added to center the button +.button-container { display: flex; justify-content: center; - align-items: center; // Added to vertically center the button + align-items: center; } From ae760e2f03c9f297f8adcc4c3ba7fa9af942eb63 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 16:05:55 -0500 Subject: [PATCH 126/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index f9da36a1..3835df82 100644 --- a/src/index.css +++ b/src/index.css @@ -68,7 +68,7 @@ nav { .hero img { max-width: auto; height: auto; - margin-top: 70px; + margin-top: 10px; } .statement { From e4bfe7786c8dbf140d6a94b11e3a4f922d0ec735 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 16:06:46 -0500 Subject: [PATCH 127/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index 3835df82..c5f13a30 100644 --- a/src/index.css +++ b/src/index.css @@ -61,7 +61,7 @@ nav { .hero { text-align: center; - padding: 10px 100px; + padding: 10px 10px; color: white; } From 2c7f33445d5834fb23ce40d4364ca5b98a6853c3 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 16:12:18 -0500 Subject: [PATCH 128/158] Update Button.jsx --- src/components/base/Button.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index 374e1778..fed64d1f 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -25,7 +25,7 @@ const Button = ({ label, onClick, isLoading, disabled = false }) => { fontSize: "32px", background: "linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #ff7f00, #0000ff, #ff7f00, #ff7f00)", - backgroundSize: "400% 400%", + backgroundSize: "200% 200%", WebkitBackgroundClip: "text", WebkitTextFillColor: "transparent", animation: "shimmer 2s linear infinite", @@ -61,7 +61,7 @@ const Button = ({ label, onClick, isLoading, disabled = false }) => { background: `url('https://res.cloudinary.com/glide/image/fetch/f_auto,w_500,c_limit/https%3A%2F%2Fstorage.googleapis.com%2Fglide-prod.appspot.com%2Fuploads-v2%2FZf7Uh2x67Yz3nEftEH2i%2Fpub%2FipEv2VSSLIL0o0e2ostK.png')`, backgroundSize: "cover", backgroundPosition: "center", - boxShadow: "0 0 20px 10px rgba(0, 0, 100, 0.7)", + boxShadow: "0 0 40px 10px rgba(0, 0, 100, 0.7)", display: "flex", flexDirection: "column", justifyContent: "flex-end", @@ -75,7 +75,7 @@ const Button = ({ label, onClick, isLoading, disabled = false }) => { style={{ content: "''", position: "absolute", - top: "50%", + top: "100%", left: "50%", transform: "translate(-50%, -50%)", width: "100%", From 447e525da70e7a5cd473000e9c5dc02cd83bc0e7 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 16:22:23 -0500 Subject: [PATCH 129/158] Update App.jsx --- src/App.jsx | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 8c756d7f..37f5da43 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,5 +1,4 @@ -import { useEffect, useState } from "react"; - +import React from "react"; import ActiveCallDetail from "./components/ActiveCallDetail"; import Button from "./components/base/Button"; import Vapi from "@vapi-ai/web"; @@ -76,13 +75,13 @@ const App = () => { }, []); // call start handler - const startCallInline = async () => { + const startCallInline = async () => {  setConnecting(true); try { // Request microphone access await navigator.mediaDevices.getUserMedia({ audio: true }); - setMicrophoneAllowed(true); + setMicrophoneAllowed(true);  const assistantOverrides = { transcriber: { @@ -90,13 +89,13 @@ const App = () => { model: "nova-2", language: "en-US", }, - recordingEnabled: true, + recordingEnabled: true,  // Add any other overrides you need here, like: - // endCallOnNoSpeech: false, // Disable automatic end on no speech - // maxDuration: 3600, // Set a longer max duration (in seconds) + // endCallOnNoSpeech: false,  // Disable automatic end on no speech + // maxDuration: 3600,        // Set a longer max duration (in seconds)  }; - vapi.start('e3fff1dd-2e82-4cce-ac6c-8c3271eb0865', assistantOverrides); + vapi.start('e3fff1dd-2e82-4cce-ac6c-8c3271eb0865', assistantOverrides);  } catch (error) { console.error("Error accessing microphone:", error); setConnecting(false); @@ -124,7 +123,7 @@ const App = () => { onClick={startCallInline} isLoading={connecting} disabled={!microphoneAllowed} // Disable button if mic access is not allowed - icon={} + icon={}  /> ) : ( { // Make sure the image URL is correct and accessible const LegalScoutIcon = () => ( LegalScout Icon @@ -166,6 +165,7 @@ const usePublicKeyInvalid = () => { }; }; +// Define the `PleaseSetYourPublicKeyMessage` component here const PleaseSetYourPublicKeyMessage = () => { return (
Date: Mon, 20 Jan 2025 16:25:24 -0500 Subject: [PATCH 130/158] Update App.jsx --- src/App.jsx | 155 ++++++++++------------------------------------------ 1 file changed, 28 insertions(+), 127 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 37f5da43..d370a949 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,4 +1,7 @@ -import React from "react"; +// App.jsx + +import { useEffect, useState } from "react"; + import ActiveCallDetail from "./components/ActiveCallDetail"; import Button from "./components/base/Button"; import Vapi from "@vapi-ai/web"; @@ -19,88 +22,20 @@ const App = () => { // hook into Vapi events useEffect(() => { - const handleCallStart = () => { - setConnecting(false); - setConnected(true); - - setShowPublicKeyInvalidMessage(false); - }; - - const handleCallEnd = () => { - setConnecting(false); - setConnected(false); - - setShowPublicKeyInvalidMessage(false); - }; - - const handleSpeechStart = () => { - setAssistantIsSpeaking(true); - }; - - const handleSpeechEnd = () => { - setAssistantIsSpeaking(false); - }; - - const handleVolumeLevel = (level) => { - setVolumeLevel(level); - }; - - const handleError = (error) => { - console.error(error); - - setConnecting(false); - if (isPublicKeyMissingError({ vapiError: error })) { - setShowPublicKeyInvalidMessage(true); - } - }; + // ... (your event handler functions) ... // Add event listeners - vapi.on("call-start", handleCallStart); - vapi.on("call-end", handleCallEnd); - vapi.on("speech-start", handleSpeechStart); - vapi.on("speech-end", handleSpeechEnd); - vapi.on("volume-level", handleVolumeLevel); - vapi.on("error", handleError); + // ... (your event listener code) ... // Clean up event listeners on unmount - return () => { - vapi.off("call-start", handleCallStart); - vapi.off("call-end", handleCallEnd); - vapi.off("speech-start", handleSpeechStart); - vapi.off("speech-end", handleSpeechEnd); - vapi.off("volume-level", handleVolumeLevel); - vapi.off("error", handleError); - }; + // ... (your cleanup code) ... + // eslint-disable-next-line react-hooks/exhaustive-deps }, []); // call start handler const startCallInline = async () => {  - setConnecting(true); - - try { - // Request microphone access - await navigator.mediaDevices.getUserMedia({ audio: true }); - setMicrophoneAllowed(true);  - - const assistantOverrides = { - transcriber: { - provider: "deepgram", - model: "nova-2", - language: "en-US", - }, - recordingEnabled: true,  - // Add any other overrides you need here, like: - // endCallOnNoSpeech: false,  // Disable automatic end on no speech - // maxDuration: 3600,        // Set a longer max duration (in seconds)  - }; - - vapi.start('e3fff1dd-2e82-4cce-ac6c-8c3271eb0865', assistantOverrides);  - } catch (error) { - console.error("Error accessing microphone:", error); - setConnecting(false); - // Handle microphone access errors (e.g., display an error message) - } + // ... (your call start logic) ... }; const endCall = () => { @@ -118,13 +53,24 @@ const App = () => { }} > {!connected ? ( -
) : ( { ); }; -// Make sure the image URL is correct and accessible -const LegalScoutIcon = () => ( - LegalScout Icon -); - -const usePublicKeyInvalid = () => { - const [showPublicKeyInvalidMessage, setShowPublicKeyInvalidMessage] = useState(false); - - // close public key invalid message after delay - useEffect(() => { - if (showPublicKeyInvalidMessage) { - setTimeout(() => { - setShowPublicKeyInvalidMessage(false); - }, 3000); - } - }, [showPublicKeyInvalidMessage]); - - return { - showPublicKeyInvalidMessage, - setShowPublicKeyInvalidMessage, - }; -}; - -// Define the `PleaseSetYourPublicKeyMessage` component here -const PleaseSetYourPublicKeyMessage = () => { - return ( -
- Is your Vapi Public Key missing? (recheck your code) -
- ); -}; +// ... (your LegalScoutIcon, usePublicKeyInvalid, and PleaseSetYourPublicKeyMessage components) ... export default App; From ea0e628513ef82a40f5e570b7eb285433657aed0 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 16:27:39 -0500 Subject: [PATCH 131/158] Update App.jsx --- src/App.jsx | 132 +++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 121 insertions(+), 11 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index d370a949..7ec83c1f 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -1,5 +1,3 @@ -// App.jsx - import { useEffect, useState } from "react"; import ActiveCallDetail from "./components/ActiveCallDetail"; @@ -22,20 +20,88 @@ const App = () => { // hook into Vapi events useEffect(() => { - // ... (your event handler functions) ... + const handleCallStart = () => { + setConnecting(false); + setConnected(true); + + setShowPublicKeyInvalidMessage(false); + }; + + const handleCallEnd = () => { + setConnecting(false); + setConnected(false); + + setShowPublicKeyInvalidMessage(false); + }; + + const handleSpeechStart = () => { + setAssistantIsSpeaking(true); + }; + + const handleSpeechEnd = () => { + setAssistantIsSpeaking(false); + }; + + const handleVolumeLevel = (level) => { + setVolumeLevel(level); + }; + + const handleError = (error) => { + console.error(error); + + setConnecting(false); + if (isPublicKeyMissingError({ vapiError: error })) { + setShowPublicKeyInvalidMessage(true); + } + }; // Add event listeners - // ... (your event listener code) ... + vapi.on("call-start", handleCallStart); + vapi.on("call-end", handleCallEnd); + vapi.on("speech-start", handleSpeechStart); + vapi.on("speech-end", handleSpeechEnd); + vapi.on("volume-level", handleVolumeLevel); + vapi.on("error", handleError); // Clean up event listeners on unmount - // ... (your cleanup code) ... - + return () => { + vapi.off("call-start", handleCallStart); + vapi.off("call-end", handleCallEnd); + vapi.off("speech-start", handleSpeechStart); + vapi.off("speech-end", handleSpeechEnd); + vapi.off("volume-level", handleVolumeLevel); + vapi.off("error", handleError); + }; // eslint-disable-next-line react-hooks/exhaustive-deps }, []); // call start handler const startCallInline = async () => {  - // ... (your call start logic) ... + setConnecting(true); + + try { + // Request microphone access + await navigator.mediaDevices.getUserMedia({ audio: true }); + setMicrophoneAllowed(true);  + + const assistantOverrides = { + transcriber: { + provider: "deepgram", + model: "nova-2", + language: "en-US", + }, + recordingEnabled: true,  + // Add any other overrides you need here, like: + // endCallOnNoSpeech: false,  // Disable automatic end on no speech + // maxDuration: 3600,        // Set a longer max duration (in seconds)  + }; + + vapi.start('e3fff1dd-2e82-4cce-ac6c-8c3271eb0865', assistantOverrides);  + } catch (error) { + console.error("Error accessing microphone:", error); + setConnecting(false); + // Handle microphone access errors (e.g., display an error message) + } }; const endCall = () => { @@ -53,7 +119,7 @@ const App = () => { }} > {!connected ? ( -
{/* Wrap the statement and button */} +

Use our free AI to be matched with an ideal human lawyer, knowledgeable about your case and eager to help. @@ -62,10 +128,10 @@ const App = () => { label="Call Scout" onClick={startCallInline} isLoading={connecting} - disabled={!microphoneAllowed} // Disable button if mic access is not allowed + disabled={!microphoneAllowed} icon={}  /> - { ); }; -// ... (your LegalScoutIcon, usePublicKeyInvalid, and PleaseSetYourPublicKeyMessage components) ... +// Make sure the image URL is correct and accessible +const LegalScoutIcon = () => ( + LegalScout Icon +); + +const usePublicKeyInvalid = () => { + const [showPublicKeyInvalidMessage, setShowPublicKeyInvalidMessage] = useState(false); + + // close public key invalid message after delay + useEffect(() => { + if (showPublicKeyInvalidMessage) { + setTimeout(() => { + setShowPublicKeyInvalidMessage(false); + }, 3000); + } + }, [showPublicKeyInvalidMessage]); + + return { + showPublicKeyInvalidMessage, + setShowPublicKeyInvalidMessage, + }; +}; + +const PleaseSetYourPublicKeyMessage = () => { + return ( +

+ Is your Vapi Public Key missing? (recheck your code) +
+ ); +}; export default App; From ba682590b6e9b324ee36b2991e5ba313b47bc126 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 16:29:39 -0500 Subject: [PATCH 132/158] Update App.jsx --- src/App.jsx | 39 ++++++++++++++------------------------- 1 file changed, 14 insertions(+), 25 deletions(-) diff --git a/src/App.jsx b/src/App.jsx index 7ec83c1f..8c756d7f 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -76,13 +76,13 @@ const App = () => { }, []); // call start handler - const startCallInline = async () => {  + const startCallInline = async () => { setConnecting(true); try { // Request microphone access await navigator.mediaDevices.getUserMedia({ audio: true }); - setMicrophoneAllowed(true);  + setMicrophoneAllowed(true); const assistantOverrides = { transcriber: { @@ -90,13 +90,13 @@ const App = () => { model: "nova-2", language: "en-US", }, - recordingEnabled: true,  + recordingEnabled: true, // Add any other overrides you need here, like: - // endCallOnNoSpeech: false,  // Disable automatic end on no speech - // maxDuration: 3600,        // Set a longer max duration (in seconds)  + // endCallOnNoSpeech: false, // Disable automatic end on no speech + // maxDuration: 3600, // Set a longer max duration (in seconds) }; - vapi.start('e3fff1dd-2e82-4cce-ac6c-8c3271eb0865', assistantOverrides);  + vapi.start('e3fff1dd-2e82-4cce-ac6c-8c3271eb0865', assistantOverrides); } catch (error) { console.error("Error accessing microphone:", error); setConnecting(false); @@ -119,24 +119,13 @@ const App = () => { }} > {!connected ? ( -
-

- Use our free AI to be matched with an ideal human lawyer, - knowledgeable about your case and eager to help. -

-
+
-
-
+
); }; From b2f4c1906fc0ba285a12f5feb4b0f5e750aecdff Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 19:43:24 -0500 Subject: [PATCH 144/158] Update index.css --- src/index.css | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/index.css b/src/index.css index fde5ec33..a6799959 100644 --- a/src/index.css +++ b/src/index.css @@ -20,8 +20,15 @@ header { align-items: center; padding: 0px 0px; width: 100%; + position: fixed; /* Keep the header in view */ + top: 0; /* Position it at the top */ + left: 0; /* Position it at the left */ + width: 100%; /* Make it span the full width */ + z-index: 100; /* Ensure it's on top of other elements */ + background-color: #171717; /* Add background color to the header */ } + nav { display: flex; /* Make the nav a flex container */ align-items: center; /* Vertically align items */ From 6f388635475980bf2dee2164efab107f357114f5 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 19:44:10 -0500 Subject: [PATCH 145/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index a6799959..745e32f3 100644 --- a/src/index.css +++ b/src/index.css @@ -33,7 +33,7 @@ nav { display: flex; /* Make the nav a flex container */ align-items: center; /* Vertically align items */ width: 100%; - background-color: #171717; + /* background-color: #171717; Remove background color from nav */ padding: 15px 20px; /* Add padding for height */ } From 3e2ade969808923a32c8f0b087a35e3359707142 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 19:47:54 -0500 Subject: [PATCH 146/158] Update index.css --- src/index.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/index.css b/src/index.css index 745e32f3..6a5eac04 100644 --- a/src/index.css +++ b/src/index.css @@ -75,7 +75,7 @@ nav { .hero img { max-width: auto; height: auto; - margin-top: 10px; + margin-top: 20px; } .statement { @@ -120,6 +120,6 @@ nav { .button-container { display: flex; - justify-content: center; + align-items: center; } From 88d8f58364d2522677e81fb463fe58d1e8af694f Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 19:49:31 -0500 Subject: [PATCH 147/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index 6a5eac04..6db152c5 100644 --- a/src/index.css +++ b/src/index.css @@ -82,7 +82,7 @@ nav { font-size: 1.5em; /* Adjust font size as needed */ text-align: center; margin: 30px auto; - width: 80%; + width: 70%; } .statement p { From 9c4b5a93c367a14bbbf11ae4deac5899ae96027d Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 19:53:32 -0500 Subject: [PATCH 148/158] Update index.css --- src/index.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/index.css b/src/index.css index 6db152c5..b0ed4753 100644 --- a/src/index.css +++ b/src/index.css @@ -55,7 +55,7 @@ nav { .nav-links a { color: white; text-decoration: none; - margin-left: 20px; /* Spacing between links */ + margin-left: 15px; /* Spacing between links */ font-size: 1rem; padding: 8px 15px; /* Add padding to the links */ border-radius: 20px; /* Rounded corners for the button style */ @@ -81,7 +81,8 @@ nav { .statement { font-size: 1.5em; /* Adjust font size as needed */ text-align: center; - margin: 30px auto; + margin: 30px auto; +margin-top: 20px; width: 70%; } From 2256daf6919849ce3f557650016ad17e97ac8543 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 19:54:44 -0500 Subject: [PATCH 149/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index b0ed4753..8c706671 100644 --- a/src/index.css +++ b/src/index.css @@ -82,7 +82,7 @@ nav { font-size: 1.5em; /* Adjust font size as needed */ text-align: center; margin: 30px auto; -margin-top: 20px; +margin-top: 200px; width: 70%; } From d0cbfc8ae620d3718bb10abc5ef66f72bf20d1f7 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 19:57:12 -0500 Subject: [PATCH 150/158] Update index.css --- src/index.css | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/index.css b/src/index.css index 8c706671..bd272c9c 100644 --- a/src/index.css +++ b/src/index.css @@ -119,8 +119,9 @@ margin-top: 200px; /* ... other styles ... */ -.button-container { +.button-container { display: flex; + justify-content: center; /* Add this to center horizontally */ + align-items: center; - align-items: center; } From 01df406e08e376da5cb9b8f0a4efc6b2af2b8f52 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 19:58:42 -0500 Subject: [PATCH 151/158] Update index.css --- src/index.css | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/index.css b/src/index.css index bd272c9c..465b76aa 100644 --- a/src/index.css +++ b/src/index.css @@ -79,11 +79,13 @@ nav { } .statement { - font-size: 1.5em; /* Adjust font size as needed */ - text-align: center; - margin: 30px auto; -margin-top: 200px; - width: 70%; + font-size: 1.5em; + text-align: center; + margin: 30px auto; + width: 80%; + display: flex; /* Make the statement a flex container */ + flex-direction: column; /* Align items vertically */ + align-items: center; /* Center items horizontally */ } .statement p { From eb27e014d8960d659396c44dbac6d2267765b99f Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 20:00:22 -0500 Subject: [PATCH 152/158] Update index.css --- src/index.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index 465b76aa..1d137e77 100644 --- a/src/index.css +++ b/src/index.css @@ -81,7 +81,8 @@ nav { .statement { font-size: 1.5em; text-align: center; - margin: 30px auto; + margin: 30px auto; + margin-top: 20px; width: 80%; display: flex; /* Make the statement a flex container */ flex-direction: column; /* Align items vertically */ From 47b2b7fe5944a0af0b47b6c7583c49e4d621745b Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 20:01:52 -0500 Subject: [PATCH 153/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index 1d137e77..e2bedf1f 100644 --- a/src/index.css +++ b/src/index.css @@ -68,7 +68,7 @@ nav { .hero { text-align: center; - padding: 10px 10px; + padding: 70px 10px 10px 10px; /* Adjusted padding */ color: white; } From eea6c833cf370f682b495f490078a22539a5020f Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 20:04:11 -0500 Subject: [PATCH 154/158] Update index.css --- src/index.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/index.css b/src/index.css index e2bedf1f..c17f52f6 100644 --- a/src/index.css +++ b/src/index.css @@ -83,6 +83,7 @@ nav { text-align: center; margin: 30px auto; margin-top: 20px; +margin-bottom: -150px; width: 80%; display: flex; /* Make the statement a flex container */ flex-direction: column; /* Align items vertically */ From 7927e1cc3b5747ece8ca9b8a87cad178f564f2c7 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 20:07:05 -0500 Subject: [PATCH 155/158] Update index.css --- src/index.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.css b/src/index.css index c17f52f6..c744d927 100644 --- a/src/index.css +++ b/src/index.css @@ -83,7 +83,7 @@ nav { text-align: center; margin: 30px auto; margin-top: 20px; -margin-bottom: -150px; +margin-bottom: -350px; width: 80%; display: flex; /* Make the statement a flex container */ flex-direction: column; /* Align items vertically */ From 69750320bfa0d082d7ce65f0a5a932358a86238c Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 20:11:07 -0500 Subject: [PATCH 156/158] Update index.css --- src/index.css | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/index.css b/src/index.css index c744d927..595a0a86 100644 --- a/src/index.css +++ b/src/index.css @@ -129,3 +129,15 @@ margin-bottom: -350px; align-items: center; } +@keyframes ripple { + 0% { + box-shadow: 0 0 40px 10px rgba(0, 0, 100, 0.7); + } + 50% { + box-shadow: 0 0 60px 20px rgba(0, 0, 100, 0.9); + } + 100% { + box-shadow: 0 0 40px 10px rgba(0, 0, 100, 0.7); + } +} + From d42be16e972df4781fcd4c3ac32bdc13b8b48947 Mon Sep 17 00:00:00 2001 From: damonkost Date: Mon, 20 Jan 2025 20:13:20 -0500 Subject: [PATCH 157/158] Update Button.jsx --- src/components/base/Button.jsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/base/Button.jsx b/src/components/base/Button.jsx index 93175b5f..49b465b5 100644 --- a/src/components/base/Button.jsx +++ b/src/components/base/Button.jsx @@ -28,6 +28,7 @@ const Button = ({ label, onClick, isLoading, disabled = false }) => { backgroundSize: "200% 200%", WebkitBackgroundClip: "text", WebkitTextFillColor: "transparent", +animation: "ripple 2s infinite", // Added animation animation: "shimmer 2s linear infinite", }} > From 391b1f1d3e741f683ab12c8c2e85972bf6d39de2 Mon Sep 17 00:00:00 2001 From: damonkost Date: Tue, 21 Jan 2025 11:03:55 -0500 Subject: [PATCH 158/158] updated hero message and style html --- public/index.html | 85 ++++++++++++++++++++--------------------------- 1 file changed, 36 insertions(+), 49 deletions(-) diff --git a/public/index.html b/public/index.html index 9b41c275..51ba41fa 100644 --- a/public/index.html +++ b/public/index.html @@ -1,57 +1,44 @@ - - - + + + - - + + - - - + + + - + - LegalScout AI - - -
- -
- -
-
-

-

- Use our free AI to be matched - with an ideal human lawyer, - knowledgeable about your case and eager to help. -

- -

-
+ LegalScout AI + + +
+
+ + + + +
+
+

✨ Legal Help, Simplified ✨

+

Don't navigate the legal system alone! 😓 LegalScout AI is your guide. Tell us about your case, and we'll connect you with the perfect attorney.

+

Get matched with lawyers who are experienced, available, and eager to take your case. 💪

+

See our Terms & Conditions.

+ +
+
- - - + + + \ No newline at end of file