Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
703 changes: 628 additions & 75 deletions package-lock.json

Large diffs are not rendered by default.

8 changes: 6 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,16 @@
"tauri:build:debug": "tauri build --debug"
},
"dependencies": {
"@tauri-apps/api": "^2.6.0",
"@tailwindcss/vite": "^4.1.16",
"@tauri-apps/api": "^2.9.0",
"@tauri-apps/plugin-fs": "^2.4.3",
"@tauri-apps/plugin-global-shortcut": "^2.3.0",
"@tauri-apps/plugin-opener": "^2.5.0",
"fuse.js": "^7.1.0",
"react": "^18.3.1",
"react-dom": "^18.3.1"
"react-dom": "^18.3.1",
"react-hook-form": "^7.65.0",
"tailwindcss": "^4.1.16"
},
Comment on lines +16 to 26

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Move build‑time tools to devDependencies (optional).

@tailwindcss/vite and tailwindcss are build‑time; consider moving them to devDependencies to reduce install footprint at runtime.

🤖 Prompt for AI Agents
In package.json around lines 16 to 26, move build-time tools "@tailwindcss/vite"
and "tailwindcss" from dependencies into devDependencies to avoid shipping them
at runtime; update the package.json by removing those two entries from
"dependencies" and adding identical entries under "devDependencies" (preserve
versions) and run npm/yarn install to update lockfile.

⚠️ Potential issue | 🔴 Critical

🧩 Analysis chain

Blocker: GuidePage imports @tauri-apps/plugin-store but it’s not declared.

GuidePage.jsx imports Store from @tauri-apps/plugin-store, but package.json lacks that dependency. Builds will fail (or the app will crash at runtime). Decide one path:

  • Prefer simpler: remove Store usage and rely on localStorage for first‑launch (see GuidePage.jsx comments).
  • Or keep Store: add the dependency and wire the plugin on the Rust side.

If you keep Store, add to dependencies:

   "dependencies": {
+    "@tauri-apps/plugin-store": "^2.4.0",
     "@tailwindcss/vite": "^4.1.16",
     "@tauri-apps/api": "^2.9.0",
     "@tauri-apps/plugin-fs": "^2.4.3",

Run to check for mismatches:


🏁 Script executed:

#!/bin/bash
rg -n "@tauri-apps/plugin-store|\\bnew Store\\b|from '@tauri-apps/plugin-store'"
jq '.dependencies' package.json

Length of output: 774


Add missing @tauri-apps/plugin-store dependency to package.json.

GuidePage.jsx imports and uses Store from @tauri-apps/plugin-store (lines 7, 16), but the dependency is missing from package.json. While package-lock.json contains the entry (^2.4.1), package.json must explicitly declare all direct dependencies. Add it to dependencies:

   "dependencies": {
+    "@tauri-apps/plugin-store": "^2.4.1",
     "@tailwindcss/vite": "^4.1.16",
     "@tauri-apps/api": "^2.9.0",
     "@tauri-apps/plugin-fs": "^2.4.3",
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"@tailwindcss/vite": "^4.1.16",
"@tauri-apps/api": "^2.9.0",
"@tauri-apps/plugin-fs": "^2.4.3",
"@tauri-apps/plugin-global-shortcut": "^2.3.0",
"@tauri-apps/plugin-opener": "^2.5.0",
"fuse.js": "^7.1.0",
"react": "^18.3.1",
"react-dom": "^18.3.1"
"react-dom": "^18.3.1",
"react-hook-form": "^7.65.0",
"tailwindcss": "^4.1.16"
},
"@tauri-apps/plugin-store": "^2.4.1",
"@tailwindcss/vite": "^4.1.16",
"@tauri-apps/api": "^2.9.0",
"@tauri-apps/plugin-fs": "^2.4.3",
"@tauri-apps/plugin-global-shortcut": "^2.3.0",
"@tauri-apps/plugin-opener": "^2.5.0",
"fuse.js": "^7.1.0",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-hook-form": "^7.65.0",
"tailwindcss": "^4.1.16"
},
🤖 Prompt for AI Agents
In package.json around lines 16 to 26, the project is missing the direct
dependency "@tauri-apps/plugin-store" which is imported by GuidePage.jsx; add
"@tauri-apps/plugin-store" to the dependencies object (use the version found in
package-lock.json, e.g. "^2.4.1") and then run npm install (or yarn) to update
node_modules and the lockfile so the declared dependency and installed version
stay in sync.

"devDependencies": {
"@tauri-apps/cli": "^2",
Expand Down
2 changes: 2 additions & 0 deletions src/App.css
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
@import "tailwindcss";

.raycast-overlay {
position: fixed;
top: 0;
Expand Down
21 changes: 20 additions & 1 deletion src/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,29 @@ import HomeOptions from "./components/HomeOptions";
import ClipboardPage from "./components/ClipboardPage";
import OnlineSearchPage from "./components/OnlineSearchPage";
import OpenFilePage from "./components/OpenFilePage";
import GuidePage from "./components/guidePages/GuidePage";


function App() {
const [query, setQuery] = useState("");
const inputRef = useRef(null);
const [currentPage, setCurrentPage] = useState("home");
const [firstLaunchChecked, setFirstLaunchChecked] = useState(false);

Comment on lines +15 to +16

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Blocker: First‑launch logic always opens the guide; flag saved too early.

You’re setting hasLaunched=true on first mount and never reading it, so the guide shows every time. Read the flag and only show the guide when missing. Save the flag after completion (GuidePage sets it at page 6 per its fix).

-  const [firstLaunchChecked, setFirstLaunchChecked] = useState(false);
+  const [firstLaunchChecked, setFirstLaunchChecked] = useState(false);
 ...
-  useEffect(() => {
-
-    if(firstLaunchChecked === false){
-      localStorage.setItem("hasLaunched", "true");
-      setCurrentPage("open-guide")
-      console.log()
-    }
-    else{
-      setCurrentPage("home")
-    }
-    setFirstLaunchChecked(true)
-
-  },[])
+  useEffect(() => {
+    const hasLaunched = localStorage.getItem("hasLaunched") === "true";
+    setCurrentPage(hasLaunched ? "home" : "open-guide");
+    setFirstLaunchChecked(true);
+  }, []);

Also applies to: 18-30

🤖 Prompt for AI Agents
In src/App.jsx around lines 15 to 30, the first-launch logic currently sets
hasLaunched=true on mount and never reads the persisted flag, which causes the
guide to open every time; change the flow to read the saved hasLaunched flag
from storage/localStorage on component mount, update firstLaunchChecked once the
read completes, and only open the Guide when the stored flag is missing/false;
remove any code that writes hasLaunched on mount and instead ensure the
GuidePage writes/saves hasLaunched=true after the user finishes the guide (page
6) so the app won’t reopen it on subsequent launches.


useEffect(() => {

if(firstLaunchChecked === false){
localStorage.setItem("hasLaunched", "true");
setCurrentPage("open-guide")
console.log()
}
else{
setCurrentPage("home")
}
setFirstLaunchChecked(true)

},[])

useEffect(() => {
function handleKeyDown(e) {
Expand Down Expand Up @@ -40,7 +58,7 @@ function App() {
placeholder="Search..."
value={query}
onChange={(e) => setQuery(e.target.value)}
className="search-input"
className={`search-input ${currentPage === "open-guide" ? "hidden" : "block"}`}
/>
Comment on lines +61 to 62

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Minor: Passing unused prop to GuidePage.

GuidePage doesn’t consume query; you can drop it to reduce prop churn.

-          {currentPage === "open-guide" && <GuidePage query={query} />}
+          {currentPage === "open-guide" && <GuidePage />}

Also applies to: 82-83

🤖 Prompt for AI Agents
In src/App.jsx around lines 62-63 (and also at 82-83), the GuidePage is being
passed a prop named "query" which GuidePage does not use; remove the query prop
from the GuidePage JSX at both locations so the component receives only the
props it needs, and run a quick grep to confirm no other places pass an unused
"query" prop to GuidePage.

</div>
<div className="main-container">
Expand All @@ -60,6 +78,7 @@ function App() {
<OnlineSearchPage query={query} />
)}
{currentPage === "open-app" && <OpenFilePage query={query} />}
{currentPage === "open-guide" && <GuidePage query={query} />}
</div>
</div>
</div>
Expand Down
Binary file added src/assets/snapshort2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/snapshort3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/snapshort4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/assets/snapshot1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions src/components/HomeOptions.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ const OPTIONS = [
{ title: "Clipboard", icon: "📋", page: "clipboard" },
{ title: "Online Search", icon: "🔍", page: "online-search" },
{ title: "Open App", icon: "📁", page: "open-app" },
{ title: "Tutorial", icon: "🧭", page: "open-guide" },
];

const fuse = new Fuse(OPTIONS, { keys: ["title"], threshold: 0.4 });
Expand Down
163 changes: 163 additions & 0 deletions src/components/guidePages/GuidePage.jsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
import { useEffect, useState } from "react"
import { useForm } from "react-hook-form"
import snapshort1 from "../../assets/snapshot1.png"
import snapshot2 from "../../assets/snapshort2.png"
import snapshot3 from "../../assets/snapshort3.png"
import snapshort4 from "../../assets/snapshort4.png"
Comment on lines +3 to +6

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix inconsistent asset import naming.

The imports mix snapshort and snapshot (lines 3, 4, 6 use snapshort; line 5 uses snapshot). Standardize to snapshot for clarity.

-import snapshort1 from "../../assets/snapshot1.png"
-import snapshot2 from "../../assets/snapshort2.png"
-import snapshot3 from "../../assets/snapshort3.png"
-import snapshort4 from "../../assets/snapshort4.png"
+import snapshot1 from "../../assets/snapshot1.png"
+import snapshot2 from "../../assets/snapshot2.png"
+import snapshot3 from "../../assets/snapshot3.png"
+import snapshot4 from "../../assets/snapshot4.png"

Then update references on lines 91, 98, 117, and 136 accordingly.

Committable suggestion skipped: line range outside the PR's diff.

🤖 Prompt for AI Agents
In src/components/guidePages/GuidePage.jsx around lines 3 to 6, the asset
imports use inconsistent variable names (`snapshort1`, `snapshort4`, etc.) while
one uses `snapshot2`; rename all imports to use the consistent `snapshot` prefix
(e.g., snapshot1, snapshot2, snapshot3, snapshot4) and adjust the import paths
if necessary to match file names; then update all usages of those variables on
lines 91, 98, 117, and 136 to use the new consistent names.



function GuidePage(){
const [page, setPage] = useState(0)



const handleClick = () => {
setPage(p => p + 1)
console.log(page)
}
Comment on lines +14 to +17

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Use functional state update to avoid stale closures.

-const handleClick = () => {
-    setPage(page + 1)
-    console.log(page)
-}
+const handleClick = () => setPage(p => p + 1)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
const handleClick = () => {
setPage(page + 1)
console.log(page)
}
const handleClick = () => {
setPage(p => p + 1)
console.log(page)
}
🤖 Prompt for AI Agents
In src/components/guidePages/GuidePage.jsx around lines 30-33, the setPage call
uses the current page variable and can suffer from stale closures; change it to
use a functional state updater (i.e., setPage(prev => prev + 1)) so the
increment always uses the latest state, and if you need to log the new page
value either log it inside the functional updater by computing the next value
then returning it, or move the console.log into a useEffect that watches page so
it reports the updated value.


const {
register,
handleSubmit,
formState: { errors },
} = useForm()

const onSubmit = (data) => {
console.log(data)
localStorage.setItem("name", data.name)
console.log(localStorage.getItem("name"))
handleClick()
}


if(page === 0){
return(
<div style={{
backgroundImage: "radial-gradient(circle, rgba(39, 39, 42, 1) 1.5px, transparent 1px)",
backgroundSize: "20px 20px",
backgroundRepeat: "repeat",
}}
className="flex flex-col justify-center items-center gap-1 h-screen bg-[#3D3C3C] font-sans">
<div className="flex flex-row justify-center text-6xl pb-5 font-bold">Pathfinder</div>
<div className="felx flex-row justify-center text-center text-3xl">A tool to make your life easy</div>
<button onClick={handleClick} type="button" className="absolute bottom-3 right-5 flex flex-row justify-center py-1 px-3 bg-black rounded-md text-center text-white ">next</button>
Comment on lines +42 to +43

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Fix Tailwind class typos and invalid utilities.

  • felx → flex
  • justify-left → justify-start
  • left-180 → left-[180px] (or another valid value)
  • Copy edit “just my” → “just by”; “Hi ,{name}” → “Hi, {name}”
-            <div className="felx flex-row justify-center text-center text-3xl">A tool to make your life easy</div>
+            <div className="flex flex-row justify-center text-center text-3xl">A tool to make your life easy</div>
 ...
-            <div className="felx flex-row justify-left text-left text-4xl ">Hi ,{localStorage.getItem("name")} Welcome to Pathfinder</div>
+            <div className="flex flex-row justify-start text-left text-4xl ">Hi, {localStorage.getItem("name")} Welcome to Pathfinder</div>
 ...
-                A powerful Raycast-inspired launcher application built with Tauri and React. PathFinder provides instant access to your most-used tools and information through a beautiful, keyboard-driven interface. And you can access it just my pressing 
+                A powerful Raycast-inspired launcher application built with Tauri and React. PathFinder provides instant access to your most-used tools and information through a beautiful, keyboard-driven interface. And you can access it just by pressing
 ...
-            <button onClick={handleClick} className="absolute bottom-3 left-180 flex flex-row justify-center py-1 px-3 bg-black rounded-md text-center text-white ">next</button>
+            <button type="button" onClick={handleClick} className="absolute bottom-3 left-[180px] flex flex-row justify-center py-1 px-3 bg-black rounded-md text-center text-white ">next</button>

Also applies to: 88-93, 102-103

🤖 Prompt for AI Agents
In src/components/guidePages/GuidePage.jsx around lines 58-59 (and also apply
fixes at 88-93 and 102-103), fix Tailwind typos and invalid utilities: change
"felx" to "flex", replace "justify-left" with "justify-start", convert
"left-180" to a valid arbitrary value like "left-[180px]" (or another valid
Tailwind spacing), and correct copy edits: "just my" → "just by" and "Hi
,{name}" → "Hi, {name}"; update the affected className strings and text content
accordingly.

</div>
)
}

if(page === 1){
return(
<div className="flex flex-col justify-center items-center gap-5 h-screen bg-[#3D3C3C] font-sans">
<div className="text-4xl">Enter Your Name</div>
<div>
<form onSubmit={handleSubmit(onSubmit)}>
<input
className="bg-white rounded-md text-2xl text-center"
defaultValue="" {...register("name")} type='text' placeholder="Type"/>
</form>
</div>
<button type='button' onClick={handleClick} className="absolute bottom-3 right-5 flex flex-row justify-center py-1 px-3 bg-black rounded-md text-center text-white ">next</button>
</div>
Comment on lines +49 to +60

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Blocker: Name isn’t saved; Next doesn’t submit the form.

The “Next” button advances pages without submitting; onSubmit never runs unless the user presses Enter. Make Next submit the form and persist the name:

-            <div>
-                <form onSubmit={handleSubmit(onSubmit)}>
-                    <input
-                    className="bg-white rounded-md text-2xl text-center"
-                    defaultValue="" {...register("name")} type='text' placeholder="Type"/>
-                </form>
-            </div>
-            <button type='button' onClick={handleClick} className="absolute bottom-3 right-5 flex flex-row justify-center py-1 px-3 bg-black rounded-md text-center text-white ">next</button>
+            <div>
+              <form onSubmit={handleSubmit(onSubmit)}>
+                <input
+                  className="bg-white rounded-md text-2xl text-center"
+                  {...register("name", { required: true })}
+                  type="text"
+                  placeholder="Your name"
+                />
+                <button type="submit" className="absolute bottom-3 right-5 flex flex-row justify-center py-1 px-3 bg-black rounded-md text-center text-white">
+                  next
+                </button>
+              </form>
+            </div>
🤖 Prompt for AI Agents
In src/components/guidePages/GuidePage.jsx around lines 65 to 76, the "Next"
button is outside the form and set as type='button' so handleSubmit/onSubmit
never runs; either move the button inside the <form> and change it to
type='submit' or keep it outside and change its onClick to call
handleSubmit(onSubmit) (e.g., onClick={() => handleSubmit(onSubmit)()}), and
ensure register("name") is used so the submitted value is persisted.

)
}

if(page === 2){
return(
<div style={{
backgroundImage: "radial-gradient(circle, rgba(39, 39, 42, 1) 1.5px, transparent 1px)",
backgroundSize: "20px 20px",
backgroundRepeat: "repeat",
}}
className="flex flex-col justify-center gap-5 p-5 h-screen bg-[#3D3C3C] font-sans text-white">
<div className="felx flex-row justify-left text-left text-4xl ">Hi ,{localStorage.getItem("name")} Welcome to Pathfinder</div>
<div className="text-left backdrop-blur-sm">
A powerful Raycast-inspired launcher application built with Tauri and React. PathFinder provides instant access to your most-used tools and information through a beautiful, keyboard-driven interface. And you can access it just my pressing
</div>
<div className="text-5xl text-center text-[#737373]">Ctrl+Shift+Space</div>
<button type="button" onClick={handleClick} className="absolute bottom-3 left-180 flex flex-row justify-center py-1 px-3 bg-black rounded-md text-center text-white ">next</button>
</div>
)
Comment on lines +72 to +79

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Avoid reading localStorage during render (optional).

Store the name in component state when it’s submitted; it avoids null flashes and makes SSR/testing easier. Example:

-const { register, handleSubmit, formState: { errors } } = useForm()
+const { register, handleSubmit } = useForm()
+const [name, setName] = useState("")
 ...
-  const onSubmit = (data) => {
-    localStorage.setItem("name", data.name)
-    handleClick()
-}
+  const onSubmit = (data) => {
+    setName(data.name)
+    localStorage.setItem("name", data.name)
+    handleClick()
+}
 ...
-Hi, {localStorage.getItem("name")} Welcome to Pathfinder
+Hi, {name || localStorage.getItem("name") || "there"} Welcome to Pathfinder

Committable suggestion skipped: line range outside the PR's diff.

🧰 Tools
🪛 Biome (2.1.2)

[error] 93-93: Provide an explicit type prop for the button element.

The default type of a button is submit, which causes the submission of a form when placed inside a form element. This is likely not the behaviour that you want inside a React application.
Allowed button types are: submit, button or reset

(lint/a11y/useButtonType)

🤖 Prompt for AI Agents
In src/components/guidePages/GuidePage.jsx around lines 88 to 95, the component
reads localStorage.getItem("name") directly during render which can cause null
flashes and hurts SSR/testing; change to read localStorage once into component
state (use useState) and populate it on mount (useEffect) or during the form
submit, providing a safe default (empty string) and rendering state instead of
calling localStorage directly; also ensure the handler that saves the name
updates both local state and localStorage so the UI stays in sync.

}

if(page === 3){

return(
<div className="flex flex-col justify-center gap-5 p-5 h-full bg-[#3D3C3C] font-sans text-white">
<div className="flex flex-row justify-left text-left text-4xl ">Clipboard:</div>
<div className="text-left backdrop-blur-sm">
A clipboard manager feature that displays all copied items with details like timestamp, size, and usage count. Users can easily view, search, and re-copy any saved entry, making it simple to manage frequently used texts or data efficiently.
</div>
<div className="m-5 px-10 pt-10 rounded-t-xl bg-[#929292]">
<img src={snapshort1} alt='snapshot1'
className="rounded-t-xl "/>
</div>

<div className="text-left mt-5 backdrop-blur-sm">
A clipboard search feature that lets users quickly find any saved clipboard entry by typing keywords. It filters items in real-time, showing relevant results with details like timestamp, size, and usage, enabling fast retrieval and efficient clipboard management. </div>
<div className="m-5 px-10 pt-10 rounded-t-xl bg-[#929292]">
<img src={snapshot2} alt='snapshot2'
className="rounded-t-xl "/>
</div>

<div className="flex flex-row justify-end">
<button onClick={handleClick} className=" py-1 px-3 bg-black rounded-md text-center text-white ">next</button>
</div>
</div>
)
}

if(page === 4){

return(
<div className="flex flex-col justify-center gap-5 p-5 h-full bg-[#3D3C3C] font-sans text-white">
<div className="flex flex-row justify-left text-left text-4xl ">Online Search:</div>
<div className="text-left backdrop-blur-sm">
Quick-access web search allows users to instantly search the internet directly from the app. With a streamlined interface, it supports rapid queries, displays results efficiently, and saves frequently used searches, enabling fast, convenient, and productive online information retrieval. </div>
<div className="m-5 px-10 pt-10 rounded-t-xl bg-[#929292]">
<img src={snapshot3} alt='snapshot1'
className="flex justify-center items-center rounded-t-xl "/>
</div>
<div className="flex flex-row justify-end">
<button onClick={handleClick} className=" py-1 px-3 bg-black rounded-md text-center text-white ">next</button>
</div>
</div>
)
}

if(page === 5){

return(

<div className="flex flex-col justify-center gap-5 p-5 h-full bg-[#3D3C3C] font-sans text-white">
<div className="flex flex-row justify-left text-left text-4xl ">Open File:</div>
<div className="text-left backdrop-blur-sm">
A fast file access feature that lets users locate and open files instantly. By typing filenames or keywords, it quickly filters results, showing file paths and details, streamlining workflow and saving time when managing documents, media, or system files. </div>
<div className="m-5 px-10 pt-10 rounded-t-xl bg-[#929292]">
<img src={snapshort4} alt='snapshot1' className="rounded-t-xl "/>
</div>
<div className="flex flex-row justify-end">
<button onClick={handleClick} className=" py-1 px-3 bg-black rounded-md text-center text-white ">next</button>
</div> </div>
)
}

if(page === 6){

return(
<div className="flex flex-row gap-3 justify-center items-center h-screen w-screen bg-[#3D3C3C]">
<div className="flex flex-row text-center text-3xl">
All done, press <div className="flex justify-center items-center px-2 mx-2 border border-b-2 border-r-2 rounded-md bg-zinc-800">esc</div>to continue to
</div>
<div className="py-2 px-3 bg-black rounded-md text-center text-white text-3xl">Pathfinder</div>
</div>
)
}







}
export default GuidePage
3 changes: 2 additions & 1 deletion vite.config.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import tailwindcss from '@tailwindcss/vite'

const host = process.env.TAURI_DEV_HOST;

// https://vitejs.dev/config/
export default defineConfig(async () => ({
plugins: [react()],
plugins: [react(), tailwindcss(),],

// Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build`
//
Expand Down