Skip to content

Commit d184236

Browse files
committed
fix: hide query devtools in prod
1 parent 606dd3a commit d184236

File tree

6 files changed

+45
-14
lines changed

6 files changed

+45
-14
lines changed

admin/config/inertia.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ const inertiaConfig = defineConfig({
1313
*/
1414
sharedData: {
1515
appVersion: () => SystemService.getAppVersion(),
16+
environment: process.env.NODE_ENV || 'production',
1617
},
1718

1819
/**

admin/inertia/app/app.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { generateUUID } from '~/lib/util'
1111
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
1212
import { ReactQueryDevtools } from '@tanstack/react-query-devtools'
1313
import NotificationsProvider from '~/providers/NotificationProvider'
14+
import { UsePageProps } from '../../types/system'
1415

1516
const appName = import.meta.env.VITE_APP_NAME || 'Project N.O.M.A.D.'
1617
const queryClient = new QueryClient()
@@ -33,13 +34,15 @@ createInertiaApp({
3334
},
3435

3536
setup({ el, App, props }) {
37+
const environment = (props.initialPage.props as unknown as UsePageProps).environment
38+
const showDevtools = ['development', 'staging'].includes(environment)
3639
createRoot(el).render(
3740
<QueryClientProvider client={queryClient}>
3841
<TransmitProvider baseUrl={window.location.origin} enableLogging={true}>
3942
<NotificationsProvider>
4043
<ModalsProvider>
4144
<App {...props} />
42-
<ReactQueryDevtools initialIsOpen={false} />
45+
{showDevtools && <ReactQueryDevtools initialIsOpen={false} />}
4346
</ModalsProvider>
4447
</NotificationsProvider>
4548
</TransmitProvider>

admin/inertia/components/Footer.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { usePage } from '@inertiajs/react'
2+
import { UsePageProps } from '../../types/system'
23

34
export default function Footer() {
4-
const { appVersion } = usePage().props as unknown as { appVersion: string }
5+
const { appVersion } = usePage().props as unknown as UsePageProps
56
return (
67
<footer className="">
78
<div className="flex justify-center border-t border-gray-900/10 py-4">
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
2+
import { ReactQueryDevtools } from '@tanstack/react-query-devtools'
3+
import { TransmitProvider } from 'react-adonis-transmit'
4+
import ModalsProvider from '~/providers/ModalProvider'
5+
import NotificationsProvider from '~/providers/NotificationProvider'
6+
import { UsePageProps } from '../../types/system'
7+
import { usePage } from '@inertiajs/react'
8+
9+
export default function Providers({
10+
children,
11+
queryClient,
12+
}: {
13+
children: React.ReactNode
14+
queryClient: QueryClient
15+
}) {
16+
const { environment } = usePage().props as unknown as UsePageProps
17+
18+
return (
19+
<QueryClientProvider client={queryClient}>
20+
<TransmitProvider baseUrl={window.location.origin} enableLogging={true}>
21+
<NotificationsProvider>
22+
<ModalsProvider>
23+
{children}
24+
{['development', 'staging'].includes(environment) && (
25+
<ReactQueryDevtools initialIsOpen={false} />
26+
)}
27+
</ModalsProvider>
28+
</NotificationsProvider>
29+
</TransmitProvider>
30+
</QueryClientProvider>
31+
)
32+
}

admin/inertia/layouts/AppLayout.tsx

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,17 @@
1-
import Footer from "~/components/Footer";
1+
import Footer from '~/components/Footer'
22

33
export default function AppLayout({ children }: { children: React.ReactNode }) {
44
return (
55
<div className="min-h-screen flex flex-col">
6-
<div className="p-2 flex gap-2 flex-col items-center justify-center cursor-pointer" onClick={() => window.location.href = '/home'}>
6+
<div
7+
className="p-2 flex gap-2 flex-col items-center justify-center cursor-pointer"
8+
onClick={() => (window.location.href = '/home')}
9+
>
710
<img src="/project_nomad_logo.png" alt="Project Nomad Logo" className="h-40 w-40" />
811
<h1 className="text-5xl font-bold text-desert-green">Command Center</h1>
912
</div>
1013
<hr className="text-desert-green font-semibold h-[1.5px] bg-desert-green border-none" />
1114
<div className="flex-1 w-full bg-desert">{children}</div>
12-
{/* <TanStackRouterDevtools /> */}
13-
{/* <hr className="text-desert-green font-semibold h-[1.5px] bg-desert-green border-none" />
14-
<div className="p-2 flex flex-col items-center justify-center ">
15-
<p className="text-sm text-gray-900 italic">
16-
Sapientia ianua vitae | Wisdom is the gateway to life
17-
</p>
18-
<p
19-
className="text-desert-orange font-semibold text-sm italic"
20-
>A project by Crosstalk Solutions</p>
21-
</div> */}
2215
<Footer />
2316
</div>
2417
)

admin/types/system.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,5 @@ export type SystemInformationResponse = {
1414
// Type inferrence is not working properly with usePage and shared props, so we define this type manually
1515
export type UsePageProps = {
1616
appVersion: string
17+
environment: string
1718
}

0 commit comments

Comments
 (0)