Skip to content

Commit

Permalink
fixed env vars
Browse files Browse the repository at this point in the history
  • Loading branch information
fomalhautb committed Feb 8, 2025
1 parent 34cfb41 commit 251001e
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 8 deletions.
5 changes: 3 additions & 2 deletions apps/dashboard/src/app/(main)/(protected)/layout.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
'use client';

import Loading from "@/app/loading";
import { getPublicEnvVar } from "@/lib/env";
import { useStackApp, useUser } from "@stackframe/stack";
import { useEffect } from "react";

Expand All @@ -10,7 +11,7 @@ export default function Layout({ children }: { children: React.ReactNode }) {

useEffect(() => {
const signIn = async () => {
if (process.env.NEXT_PUBLIC_STACK_EMULATOR_ENABLED === "true" && !user) {
if (getPublicEnvVar("NEXT_PUBLIC_STACK_EMULATOR_ENABLED") === "true" && !user) {
await app.signInWithCredential({
email: "[email protected]",
password: "LocalEmulatorPassword123",
Expand All @@ -20,7 +21,7 @@ export default function Layout({ children }: { children: React.ReactNode }) {
signIn().catch(console.error);
}, [user, app]);

if (process.env.NEXT_PUBLIC_STACK_EMULATOR_ENABLED === "true" && !user) {
if (getPublicEnvVar("NEXT_PUBLIC_STACK_EMULATOR_ENABLED") === "true" && !user) {
return <Loading />;
} else {
return <>{children}</>;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { FeedbackDialog } from "@/components/feedback-dialog";
import { Link } from "@/components/link";
import { Logo } from "@/components/logo";
import { ProjectSwitcher } from "@/components/project-switcher";
import { getPublicEnvVar } from "@/lib/env";
import { cn } from "@/lib/utils";
import { AdminProject, UserButton, useUser } from "@stackframe/stack";
import { EMAIL_TEMPLATES_METADATA } from "@stackframe/stack-emails/dist/utils";
Expand Down Expand Up @@ -253,7 +254,7 @@ function SidebarContent({ projectId, onNavigate }: { projectId: string, onNaviga
return (
<div className="flex flex-col h-full items-stretch">
<div className="h-14 border-b flex items-center px-2 shrink-0">
{process.env.NEXT_PUBLIC_STACK_EMULATOR_ENABLED === "true" ? (
{getPublicEnvVar("NEXT_PUBLIC_STACK_EMULATOR_ENABLED") === "true" ? (
<div className="flex-grow mx-2">
<Logo full width={80} />
</div>
Expand Down Expand Up @@ -352,7 +353,7 @@ function HeaderBreadcrumb({
return (
<Breadcrumb>
<BreadcrumbList>
{process.env.NEXT_PUBLIC_STACK_EMULATOR_ENABLED !== "true" &&
{getPublicEnvVar("NEXT_PUBLIC_STACK_EMULATOR_ENABLED") !== "true" &&
<>
<BreadcrumbItem>
<Link href="/projects">Home</Link>
Expand Down Expand Up @@ -437,7 +438,7 @@ export default function SidebarLayout(props: { projectId: string, children?: Rea
<FeedbackDialog
trigger={<Button variant="outline" size='sm'>Feedback</Button>}
/>
{process.env.NEXT_PUBLIC_STACK_EMULATOR_ENABLED !== "true" && <UserButton colorModeToggle={() => setTheme(resolvedTheme === 'light' ? 'dark' : 'light')}/>}
{getPublicEnvVar("NEXT_PUBLIC_STACK_EMULATOR_ENABLED") !== "true" && <UserButton colorModeToggle={() => setTheme(resolvedTheme === 'light' ? 'dark' : 'light')}/>}
</div>
</div>
<div className="flex-grow relative">
Expand Down
4 changes: 4 additions & 0 deletions apps/dashboard/src/lib/env.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ const _inlineEnvVars = {
NEXT_PUBLIC_STACK_SVIX_SERVER_URL: process.env.NEXT_PUBLIC_STACK_SVIX_SERVER_URL,
NEXT_PUBLIC_SENTRY_DSN: process.env.NEXT_PUBLIC_SENTRY_DSN,
NEXT_PUBLIC_VERSION_ALERTER_SEVERE_ONLY: process.env.NEXT_PUBLIC_VERSION_ALERTER_SEVERE_ONLY,
NEXT_PUBLIC_STACK_EMULATOR_ENABLED: process.env.NEXT_PUBLIC_STACK_EMULATOR_ENABLED,
NEXT_PUBLIC_STACK_EMULATOR_PROJECT_ID: process.env.NEXT_PUBLIC_STACK_EMULATOR_PROJECT_ID,
};

// This will be replaced with the actual env vars after a docker build
Expand All @@ -19,6 +21,8 @@ const _postBuildEnvVars = {
NEXT_PUBLIC_STACK_SVIX_SERVER_URL: "STACK_ENV_VAR_SENTINEL_NEXT_PUBLIC_STACK_SVIX_SERVER_URL",
NEXT_PUBLIC_SENTRY_DSN: "STACK_ENV_VAR_SENTINEL_NEXT_PUBLIC_SENTRY_DSN",
NEXT_PUBLIC_VERSION_ALERTER_SEVERE_ONLY: "STACK_ENV_VAR_SENTINEL_NEXT_PUBLIC_VERSION_ALERTER_SEVERE_ONLY",
NEXT_PUBLIC_STACK_EMULATOR_ENABLED: "STACK_ENV_VAR_SENTINEL_NEXT_PUBLIC_STACK_EMULATOR_ENABLED",
NEXT_PUBLIC_STACK_EMULATOR_PROJECT_ID: "STACK_ENV_VAR_SENTINEL_NEXT_PUBLIC_STACK_EMULATOR_PROJECT_ID",
} satisfies Record<keyof typeof _inlineEnvVars, string>;

// If this is not replaced with "true", then we will not use inline env vars
Expand Down
5 changes: 3 additions & 2 deletions apps/dashboard/src/lib/utils.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import { clsx, type ClassValue } from "clsx";
import { redirect } from "next/navigation";
import { twMerge } from "tailwind-merge";
import { getPublicEnvVar } from "./env";

export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}

export function redirectToProjectIfEmulator() {
const isEmulator = process.env.NEXT_PUBLIC_STACK_EMULATOR_ENABLED === 'true';
const projectId = process.env.NEXT_PUBLIC_STACK_EMULATOR_PROJECT_ID;
const isEmulator = getPublicEnvVar("NEXT_PUBLIC_STACK_EMULATOR_ENABLED") === 'true';
const projectId = getPublicEnvVar("NEXT_PUBLIC_STACK_EMULATOR_PROJECT_ID");

if (isEmulator && projectId) {
redirect(`/projects/${projectId}`);
Expand Down
4 changes: 3 additions & 1 deletion docker/emulator/docker.compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ services:

# ================= Stack Auth Server =================

server:
stack-auth-server:
build:
context: ../..
dockerfile: docker/server/Dockerfile
Expand All @@ -24,6 +24,8 @@ services:
NEXT_PUBLIC_STACK_EMULATOR_PROJECT_ID: dff88d17-6d39-4b08-b4e2-c87c81f7218a
depends_on:
- db
- inbucket
- svix-server

# ================= PostgreSQL =================

Expand Down
2 changes: 2 additions & 0 deletions docker/server/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ declare -A replacements=(
["STACK_ENV_VAR_SENTINEL_NEXT_PUBLIC_STACK_SVIX_SERVER_URL"]="${NEXT_PUBLIC_STACK_SVIX_SERVER_URL}"
["STACK_ENV_VAR_SENTINEL_NEXT_PUBLIC_SENTRY_DSN"]="${NEXT_PUBLIC_SENTRY_DSN}"
["STACK_ENV_VAR_SENTINEL_NEXT_PUBLIC_VERSION_ALERTER_SEVERE_ONLY"]="${NEXT_PUBLIC_VERSION_ALERTER_SEVERE_ONLY}"
["STACK_ENV_VAR_SENTINEL_NEXT_PUBLIC_STACK_EMULATOR_ENABLED"]="${NEXT_PUBLIC_STACK_EMULATOR_ENABLED}"
["STACK_ENV_VAR_SENTINEL_NEXT_PUBLIC_STACK_EMULATOR_PROJECT_ID"]="${NEXT_PUBLIC_STACK_EMULATOR_PROJECT_ID}"
)

for key in "${!replacements[@]}"; do
Expand Down

0 comments on commit 251001e

Please sign in to comment.