From 029fe157109a3776ae6240bb0899ae8376b80e95 Mon Sep 17 00:00:00 2001
From: "google-labs-jules[bot]"
<161369871+google-labs-jules[bot]@users.noreply.github.com>
Date: Fri, 24 Jul 2026 19:01:20 +0000
Subject: [PATCH 1/2] feat: rename tools tab and user facing text to plugins
- Renamed Settings tab and card references from 'tools' to 'plugins'.
- Renamed and refactored `tool-selection-form.tsx` to `plugin-selection-form.tsx`.
- Updated 'Mapping tools' copy to 'Mapping plugins' in purchase credits popup.
- Updated 'map tools' description to 'map plugins' on sign-in page.
- Renamed 'Pro' tier to 'Go' tier inside the app actions example prompts.
Co-authored-by: ngoiyaeric <115367894+ngoiyaeric@users.noreply.github.com>
---
app/actions.tsx | 4 +-
app/sign-in/sign-in-component.tsx | 2 +-
components/purchase-credits-popup.tsx | 2 +-
...ion-form.tsx => plugin-selection-form.tsx} | 42 +++++++++----------
.../settings/components/settings-skeleton.tsx | 2 +-
components/settings/components/settings.tsx | 22 ++++++----
public/sw.js | 2 +-
7 files changed, 40 insertions(+), 36 deletions(-)
rename components/settings/components/{tool-selection-form.tsx => plugin-selection-form.tsx} (90%)
diff --git a/app/actions.tsx b/app/actions.tsx
index c9f8ecfd..6f781fc5 100644
--- a/app/actions.tsx
+++ b/app/actions.tsx
@@ -310,8 +310,8 @@ async function submit(formData?: FormData, skip?: boolean) {
if (userInput && (userInput.toLowerCase().trim() === 'what is a planet computer?' || userInput.toLowerCase().trim() === 'what is qcx-terra?' || userInput.toLowerCase().trim() === 'how do i use the computer?')) {
const definition = userInput.toLowerCase().trim() === 'how do i use the computer?' ? 'To use QCX-Terra, start by searching for a location or asking a geospatial question. You can also draw features on the map to focus your analysis. QCX-Terra uses multi-agent automation to streamline exploration and provide precise environmental insights.' : userInput.toLowerCase().trim() === 'what is a planet computer?'
- ? `A planet computer is a proprietary environment aware system that interoperates weather forecasting, mapping and scheduling using cutting edge multi-agents to streamline automation and exploration on a planet. Available for our Pro and Enterprise customers. [QCX Pricing](https://www.queue.cx/#pricing)`
- : `QCX-Terra is a model garden of pixel level precision geospatial foundational models for efficient land feature predictions from satellite imagery. Available for our Pro and Enterprise customers. [QCX Pricing] (https://www.queue.cx/#pricing)`;
+ ? `A planet computer is a proprietary environment aware system that interoperates weather forecasting, mapping and scheduling using cutting edge multi-agents to streamline automation and exploration on a planet. Available for our Go and Enterprise customers. [QCX Pricing](https://www.queue.cx/#pricing)`
+ : `QCX-Terra is a model garden of pixel level precision geospatial foundational models for efficient land feature predictions from satellite imagery. Available for our Go and Enterprise customers. [QCX Pricing] (https://www.queue.cx/#pricing)`;
const content = JSON.stringify(Object.fromEntries(formData!));
const type = 'input';
diff --git a/app/sign-in/sign-in-component.tsx b/app/sign-in/sign-in-component.tsx
index 84e5dbc0..b76ec413 100644
--- a/app/sign-in/sign-in-component.tsx
+++ b/app/sign-in/sign-in-component.tsx
@@ -66,7 +66,7 @@ export default function SignInComponent() {
Welcome to QCX
- Sign in to access your dashboard, map tools, and history.
+ Sign in to access your dashboard, map plugins, and history.
diff --git a/components/purchase-credits-popup.tsx b/components/purchase-credits-popup.tsx
index 5d85d3ce..9f20b462 100644
--- a/components/purchase-credits-popup.tsx
+++ b/components/purchase-credits-popup.tsx
@@ -30,7 +30,7 @@ export function PurchaseCreditsPopup({ isOpen, onClose }: PurchaseCreditsPopupPr
const features = [
'Resolution Search',
'Upload and analyze unlimited files',
- 'Mapping tools',
+ 'Mapping plugins',
'Location Intelligence',
'Community Support',
'Exclusive Updates',
diff --git a/components/settings/components/tool-selection-form.tsx b/components/settings/components/plugin-selection-form.tsx
similarity index 90%
rename from components/settings/components/tool-selection-form.tsx
rename to components/settings/components/plugin-selection-form.tsx
index 2fcf440e..af4e6b84 100644
--- a/components/settings/components/tool-selection-form.tsx
+++ b/components/settings/components/plugin-selection-form.tsx
@@ -26,11 +26,11 @@ import { Earth, Orbit, ShieldCheck, Loader2 } from "lucide-react";
import { useToast } from "@/components/ui/hooks/use-toast";
import { cn } from "@/lib/utils";
-interface ToolSelectionFormProps {
+interface PluginSelectionFormProps {
form: UseFormReturn;
}
-const tools = [
+const plugins = [
{
id: "QCX-Terra",
name: "QCX-Terra",
@@ -49,7 +49,7 @@ const tools = [
},
];
-export function ToolSelectionForm({ form }: ToolSelectionFormProps) {
+export function PluginSelectionForm({ form }: PluginSelectionFormProps) {
const selectedModel = form.watch("selectedModel");
const { toast } = useToast();
const [skyfiConnected, setSkyfiConnected] = useState(false);
@@ -83,21 +83,21 @@ export function ToolSelectionForm({ form }: ToolSelectionFormProps) {
render={({ field }) => (
- Planetary Tool
+ Planetary Plugin
Quick Select:
Welcome to QCX
- Sign in to access your dashboard, map plugins, and history.
+ Sign in to access your dashboard, map tools, and history.
diff --git a/components/purchase-credits-popup.tsx b/components/purchase-credits-popup.tsx
index 9f20b462..5d85d3ce 100644
--- a/components/purchase-credits-popup.tsx
+++ b/components/purchase-credits-popup.tsx
@@ -30,7 +30,7 @@ export function PurchaseCreditsPopup({ isOpen, onClose }: PurchaseCreditsPopupPr
const features = [
'Resolution Search',
'Upload and analyze unlimited files',
- 'Mapping plugins',
+ 'Mapping tools',
'Location Intelligence',
'Community Support',
'Exclusive Updates',
diff --git a/components/settings/components/settings-skeleton.tsx b/components/settings/components/settings-skeleton.tsx
index 0aad579d..48854791 100644
--- a/components/settings/components/settings-skeleton.tsx
+++ b/components/settings/components/settings-skeleton.tsx
@@ -8,7 +8,7 @@ export function SettingsSkeleton() {
System
- Plugins
+ PluginsUsersMap
diff --git a/components/settings/components/settings.tsx b/components/settings/components/settings.tsx
index 7bfb2bef..621b03f8 100644
--- a/components/settings/components/settings.tsx
+++ b/components/settings/components/settings.tsx
@@ -14,7 +14,7 @@ import { cn } from '@/lib/utils'
import { Button } from '@/components/ui/button'
import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from '@/components/ui/card'
import { SystemPromptForm } from './system-prompt-form'
-import { PluginSelectionForm } from './plugin-selection-form'
+import { ToolSelectionForm } from './tool-selection-form'
import { UserManagementForm } from './user-management-form';
import { Form } from "@/components/ui/form"
import { useSettingsStore, MapProvider } from "@/lib/store/settings";
@@ -71,9 +71,7 @@ export function Settings({ initialTab = "system-prompt" }: SettingsProps) {
const { toast } = useToast()
const router = useRouter()
const [isSaving, setIsSaving] = useState(false)
- const [currentTab, setCurrentTab] = useState(
- initialTab === "model" || initialTab === "tool" ? "plugin" : initialTab
- );
+ const [currentTab, setCurrentTab] = useState(initialTab === "model" ? "tool" : initialTab);
const { mapProvider, setMapProvider } = useSettingsStore();
const { user, loading: authLoading } = useCurrentUser();
const { user: clerkUser } = useUser();
@@ -85,9 +83,7 @@ export function Settings({ initialTab = "system-prompt" }: SettingsProps) {
}, [])
useEffect(() => {
- setCurrentTab(
- initialTab === "model" || initialTab === "tool" ? "plugin" : initialTab
- );
+ setCurrentTab(initialTab === "model" ? "tool" : initialTab);
}, [initialTab]);
const userId = user?.id;
@@ -218,7 +214,7 @@ export function Settings({ initialTab = "system-prompt" }: SettingsProps) {
System
- Plugins
+ PluginsUsersMap
{/*
@@ -253,14 +249,14 @@ export function Settings({ initialTab = "system-prompt" }: SettingsProps) {
-
+ PluginsChoose the plugin that powers your planetary copilot
-
+
diff --git a/components/settings/components/plugin-selection-form.tsx b/components/settings/components/tool-selection-form.tsx
similarity index 92%
rename from components/settings/components/plugin-selection-form.tsx
rename to components/settings/components/tool-selection-form.tsx
index af4e6b84..43b1f04c 100644
--- a/components/settings/components/plugin-selection-form.tsx
+++ b/components/settings/components/tool-selection-form.tsx
@@ -26,11 +26,11 @@ import { Earth, Orbit, ShieldCheck, Loader2 } from "lucide-react";
import { useToast } from "@/components/ui/hooks/use-toast";
import { cn } from "@/lib/utils";
-interface PluginSelectionFormProps {
+interface ToolSelectionFormProps {
form: UseFormReturn;
}
-const plugins = [
+const tools = [
{
id: "QCX-Terra",
name: "QCX-Terra",
@@ -49,7 +49,7 @@ const plugins = [
},
];
-export function PluginSelectionForm({ form }: PluginSelectionFormProps) {
+export function ToolSelectionForm({ form }: ToolSelectionFormProps) {
const selectedModel = form.watch("selectedModel");
const { toast } = useToast();
const [skyfiConnected, setSkyfiConnected] = useState(false);
@@ -91,13 +91,13 @@ export function PluginSelectionForm({ form }: PluginSelectionFormProps) {
- {plugins.map((plugin) => {
- const Icon = plugin.icon;
+ {tools.map((tool) => {
+ const Icon = tool.icon;
return (
-
+