mirror of
https://github.com/stack-auth/stack.git
synced 2026-06-04 21:04:37 +08:00
Merge branch 'dev' into devin/1780356523-fix-pnpm-approve-builds
This commit is contained in:
commit
a9fd68b2a8
@ -948,12 +948,12 @@ export default function MetricsPage(props: { toSetup: () => void }) {
|
||||
const [customDateRange, setCustomDateRange] = useState<CustomDateRange | null>(null);
|
||||
const user = useUser();
|
||||
|
||||
const displayName = user?.displayName || user?.primaryEmail || "User";
|
||||
const truncatedName = displayName.length > 30 ? `${displayName.slice(0, 30)}...` : displayName;
|
||||
const displayName = user?.displayName || user?.primaryEmail || null;
|
||||
const truncatedName = displayName && displayName.length > 30 ? `${displayName.slice(0, 30)}...` : displayName;
|
||||
|
||||
return (
|
||||
<PageLayout
|
||||
title={`Welcome back, ${truncatedName}!`}
|
||||
title={`Welcome back${truncatedName ? `, ${truncatedName}` : ""}!`}
|
||||
actions={
|
||||
<div className="flex items-center gap-2 sm:gap-3 flex-shrink-0">
|
||||
<TimeRangeToggle
|
||||
|
||||
@ -440,7 +440,7 @@
|
||||
if ((app.importance ?? 0) === importance) {
|
||||
// TODO escape HTML
|
||||
appContainer.innerHTML += `
|
||||
<a href="http://${`${stackPortPrefix}` === "81" ? "" : `p${stackPortPrefix}.`}localhost:${withPrefix(app.portSuffix)}${app.path ?? ""}" target="_blank" rel="noopener noreferrer" class="${app.importance === 2 ? "important" : app.importance === 1 ? "" : "unimportant"}">
|
||||
<a href="http://${app.portSuffix === "42" ? "127.0.0.1" : (`${stackPortPrefix}` === "81" ? "localhost" : `p${stackPortPrefix}.localhost`)}:${withPrefix(app.portSuffix)}${app.path ?? ""}" target="_blank" rel="noopener noreferrer" class="${app.importance === 2 ? "important" : app.importance === 1 ? "" : "unimportant"}">
|
||||
<div class="port">:${withPrefix(app.portSuffix)}</div>
|
||||
<div>
|
||||
<img src=${app.img || `//localhost:${withPrefix(app.portSuffix)}/favicon.ico`} />
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -218,7 +218,9 @@ The frameworks and languages with explicit SDK support are:
|
||||
If you already use Hexclave for your product, we recommend you re-use the same project to share your configuration between the two.
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Option 1: Running Hexclave's dev environment (recommended)" defaultOpen>
|
||||
<Accordion title="Option 1: Running Hexclave's dashboard locally (recommended)" defaultOpen>
|
||||
This is the strongly recommended option unless the user has explicitly said otherwise, as it allows usage of `stack.config.ts` files and does not require the user to get project IDs or API keys from the dashboard.
|
||||
|
||||
First, create a `stack.config.ts` configuration file in the root directory of the workspace (or anywhere else):
|
||||
|
||||
```ts stack.config.ts
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -519,7 +519,9 @@ export function getSdkSetupPrompt(mainType: "ai-prompt" | "nextjs" | "react" | "
|
||||
` : ""}
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Option 1: Running Hexclave's dev environment (recommended)" defaultOpen>
|
||||
<Accordion title="Option 1: Running Hexclave's dashboard locally (recommended)" defaultOpen>
|
||||
${isAiPrompt ? "This is the strongly recommended option unless the user has explicitly said otherwise, as it allows usage of \`stack.config.ts\` files and does not require the user to get project IDs or API keys from the dashboard." : ""}
|
||||
|
||||
First, create a \`stack.config.ts\` configuration file in the root directory of the workspace (or anywhere else):
|
||||
|
||||
\`\`\`ts stack.config.ts
|
||||
|
||||
Loading…
Reference in New Issue
Block a user