120 lines
4.2 KiB
Diff
120 lines
4.2 KiB
Diff
diff --git a/app/layout.tsx b/app/layout.tsx
|
|
index bfc3470..9350629 100644
|
|
--- a/app/layout.tsx
|
|
+++ b/app/layout.tsx
|
|
@@ -5,6 +5,7 @@ import 'yet-another-react-lightbox/styles.css'
|
|
import 'yet-another-react-lightbox/plugins/thumbnails.css'
|
|
import 'yet-another-react-lightbox/plugins/captions.css'
|
|
import { ToastContainer } from 'react-toastify'
|
|
+import { PublicEnvScript } from 'next-runtime-env';
|
|
|
|
import { Shell } from '@/shell/Shell'
|
|
import { CommandPaletteRoot } from '@/shell/CommandPalette/Root'
|
|
@@ -36,6 +37,7 @@ export default function RootLayout({
|
|
isDarkModeEnabled() ? 'dark' : ''
|
|
}`}
|
|
>
|
|
+ <head>
|
|
<title>Ozone</title>
|
|
<link
|
|
rel="icon"
|
|
@@ -43,6 +45,8 @@ export default function RootLayout({
|
|
sizes="any"
|
|
/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
+ <PublicEnvScript />
|
|
+ </head>
|
|
<body className="h-full overflow-hidden">
|
|
<ToastContainer
|
|
position="bottom-right"
|
|
diff --git a/environment.d.ts b/environment.d.ts
|
|
index 7a47cc2..33ab29f 100644
|
|
--- a/environment.d.ts
|
|
+++ b/environment.d.ts
|
|
@@ -9,6 +9,8 @@ declare global {
|
|
NEXT_PUBLIC_OZONE_SERVICE_DID?: string // e.g. did:plc:xxx#atproto_labeler
|
|
NEXT_PUBLIC_OZONE_PUBLIC_URL?: string // e.g. https://ozone.example.com (falls back to window.location.origin)
|
|
NEXT_PUBLIC_SOCIAL_APP_URL?: string // e.g. https://bsky.app
|
|
+ NEXT_PUBLIC_SOCIAL_APP_DOMAIN?: string // e.g. bsky.app
|
|
+ NEXT_PUBLIC_HANDLE_RESOLVER_URL?: string // e.g. https://api.bsky.app
|
|
}
|
|
}
|
|
}
|
|
diff --git a/lib/constants.ts b/lib/constants.ts
|
|
index fe7c0e8..c286ac6 100644
|
|
--- a/lib/constants.ts
|
|
+++ b/lib/constants.ts
|
|
@@ -1,29 +1,32 @@
|
|
+import { env } from 'next-runtime-env';
|
|
+
|
|
export const OAUTH_SCOPE = 'atproto transition:generic'
|
|
|
|
export const OZONE_SERVICE_DID =
|
|
- process.env.NEXT_PUBLIC_OZONE_SERVICE_DID || undefined
|
|
+ env('NEXT_PUBLIC_OZONE_SERVICE_DID') || undefined
|
|
|
|
export const OZONE_PUBLIC_URL =
|
|
- process.env.NEXT_PUBLIC_OZONE_PUBLIC_URL || undefined
|
|
+ env('NEXT_PUBLIC_OZONE_PUBLIC_URL') || undefined
|
|
|
|
export const PLC_DIRECTORY_URL =
|
|
- process.env.NEXT_PUBLIC_PLC_DIRECTORY_URL ||
|
|
+ env('NEXT_PUBLIC_PLC_DIRECTORY_URL') ||
|
|
(process.env.NODE_ENV === 'development'
|
|
? 'http://localhost:2582'
|
|
: 'https://plc.directory')
|
|
|
|
-export const QUEUE_CONFIG = process.env.NEXT_PUBLIC_QUEUE_CONFIG || '{}'
|
|
+export const QUEUE_CONFIG = env('NEXT_PUBLIC_QUEUE_CONFIG') || '{}'
|
|
|
|
-export const QUEUE_SEED = process.env.NEXT_PUBLIC_QUEUE_SEED || ''
|
|
+export const QUEUE_SEED = env('NEXT_PUBLIC_QUEUE_SEED') || ''
|
|
|
|
+export const SOCIAL_APP_DOMAIN = env('NEXT_PUBLIC_SOCIAL_APP_DOMAIN') || 'bsky.app'
|
|
export const SOCIAL_APP_URL =
|
|
- process.env.NEXT_PUBLIC_SOCIAL_APP_URL ||
|
|
+ env('NEXT_PUBLIC_SOCIAL_APP_URL') ||
|
|
(process.env.NODE_ENV === 'development'
|
|
? 'http://localhost:2584'
|
|
- : 'https://bsky.app')
|
|
+ : `https://${SOCIAL_APP_DOMAIN}`)
|
|
|
|
export const HANDLE_RESOLVER_URL =
|
|
- process.env.NEXT_PUBLIC_HANDLE_RESOLVER_URL ||
|
|
+ env('NEXT_PUBLIC_HANDLE_RESOLVER_URL') ||
|
|
(process.env.NODE_ENV === 'development'
|
|
? 'http://localhost:2584'
|
|
: 'https://api.bsky.app')
|
|
diff --git a/lib/util.ts b/lib/util.ts
|
|
index 0aa4460..ecec7d1 100644
|
|
--- a/lib/util.ts
|
|
+++ b/lib/util.ts
|
|
@@ -1,5 +1,5 @@
|
|
import { CollectionId } from '@/reports/helpers/subject'
|
|
-import { SOCIAL_APP_URL } from './constants'
|
|
+import { SOCIAL_APP_URL, SOCIAL_APP_DOMAIN } from './constants'
|
|
import { AtUri } from '@atproto/api'
|
|
|
|
export function classNames(...classes: (string | undefined)[]) {
|
|
@@ -57,7 +57,7 @@ export function takesKeyboardEvt(el?: EventTarget | null) {
|
|
)
|
|
}
|
|
|
|
-const blueSkyUrlMatcher = new RegExp('(https?://)?.*bsky.app')
|
|
+const blueSkyUrlMatcher = new RegExp('(https?://)?.*'+ `${SOCIAL_APP_DOMAIN}`)
|
|
|
|
export const isBlueSkyAppUrl = (url: string) => blueSkyUrlMatcher.test(url)
|
|
|
|
diff --git a/package.json b/package.json
|
|
index 8919841..750dce9 100644
|
|
--- a/package.json
|
|
+++ b/package.json
|
|
@@ -37,6 +37,7 @@
|
|
"kbar": "^0.1.0-beta.45",
|
|
"lande": "^1.0.10",
|
|
"next": "15.2.4",
|
|
+ "next-runtime-env": "^3.2.1",
|
|
"react": "19.1.0",
|
|
"react-dom": "19.1.0",
|
|
"react-dropzone": "^14.3.5",
|