Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
86dfdc687e |
@@ -16,6 +16,8 @@ jobs:
|
||||
POSTGRES_PASSWORD: postgres
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_DB: bknd
|
||||
ports:
|
||||
- 5430:5432
|
||||
options: >-
|
||||
--health-cmd pg_isready
|
||||
--health-interval 10s
|
||||
|
||||
@@ -8,12 +8,9 @@ import { $ } from "bun";
|
||||
import { connectionTestSuite } from "data/connection/connection-test-suite";
|
||||
import { bunTestRunner } from "adapter/bun/test";
|
||||
|
||||
const isCI = !!(process.env.GITEA_ACTIONS || process.env.GITHUB_ACTIONS);
|
||||
|
||||
const credentials = {
|
||||
// Changes to "postgres" inside CI to talk directly to the Gitea service container
|
||||
host: isCI ? "postgres" : "localhost",
|
||||
port: 5432,
|
||||
host: "localhost",
|
||||
port: 5430,
|
||||
user: "postgres",
|
||||
password: "postgres",
|
||||
database: "bknd",
|
||||
@@ -42,11 +39,6 @@ async function isPostgresRunning() {
|
||||
|
||||
describe("postgres", () => {
|
||||
beforeAll(async () => {
|
||||
if (process.env.GITEA_ACTIONS || process.env.GITHUB_ACTIONS) {
|
||||
console.log("Running in CI: Skipping manual docker run");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(await isPostgresRunning())) {
|
||||
await $`docker run --rm --name bknd-test-postgres -d -e POSTGRES_PASSWORD=${credentials.password} -e POSTGRES_USER=${credentials.user} -e POSTGRES_DB=${credentials.database} -p ${credentials.port}:5432 postgres:17`;
|
||||
await $waitUntil("Postgres is running", isPostgresRunning, 500, 20);
|
||||
|
||||
+12
-10
@@ -17,9 +17,9 @@ export type BkndAdminConfig = {
|
||||
*/
|
||||
basepath?: string;
|
||||
/**
|
||||
* Sub-path for the Admin UI within the base path
|
||||
* @default ``
|
||||
*/
|
||||
* Sub-path for the Admin UI within the base path
|
||||
* @default ``
|
||||
*/
|
||||
admin_basepath?: string;
|
||||
/**
|
||||
* Path to return to when clicking the logo
|
||||
@@ -77,6 +77,14 @@ export default function Admin(props: BkndAdminProps) {
|
||||
);
|
||||
}
|
||||
|
||||
function BkndWrapper({ options, children }: { options?: BkndAdminConfig; children: ReactNode }) {
|
||||
return (
|
||||
<BkndProvider options={options} fallback={<Skeleton theme={options?.theme} />}>
|
||||
{children}
|
||||
</BkndProvider>
|
||||
);
|
||||
}
|
||||
|
||||
function AdminInner(props: BkndAdminProps) {
|
||||
const { theme } = useTheme();
|
||||
const config = {
|
||||
@@ -84,16 +92,10 @@ function AdminInner(props: BkndAdminProps) {
|
||||
...useBkndWindowContext(),
|
||||
};
|
||||
|
||||
const BkndWrapper = ({ children }: { children: ReactNode }) => (
|
||||
<BkndProvider options={config} fallback={<Skeleton theme={config?.theme} />}>
|
||||
{children}
|
||||
</BkndProvider>
|
||||
);
|
||||
|
||||
return (
|
||||
<MantineProvider {...createMantineTheme(theme as any)}>
|
||||
<Notifications position="top-right" />
|
||||
<Routes BkndWrapper={BkndWrapper} basePath={config?.basepath}>
|
||||
<Routes BkndWrapper={BkndWrapper} options={config} basePath={config?.basepath}>
|
||||
{props.children}
|
||||
</Routes>
|
||||
</MantineProvider>
|
||||
|
||||
@@ -12,6 +12,7 @@ import { FlashMessage } from "ui/modules/server/FlashMessage";
|
||||
import { AuthRegister } from "ui/routes/auth/auth.register";
|
||||
import { BkndModalsProvider } from "ui/modals";
|
||||
import { useBkndWindowContext } from "bknd/client";
|
||||
import type { BkndAdminProps } from "ui/Admin";
|
||||
import ToolsRoutes from "./tools";
|
||||
|
||||
// @ts-ignore
|
||||
@@ -24,10 +25,12 @@ try {
|
||||
|
||||
export function Routes({
|
||||
BkndWrapper,
|
||||
options,
|
||||
basePath = "",
|
||||
children,
|
||||
}: {
|
||||
BkndWrapper: ComponentType<{ children: ReactNode }>;
|
||||
BkndWrapper: ComponentType<{ children: ReactNode; options?: BkndAdminProps["config"] }>;
|
||||
options?: BkndAdminProps["config"];
|
||||
basePath?: string;
|
||||
children?: ReactNode;
|
||||
}) {
|
||||
@@ -43,7 +46,7 @@ export function Routes({
|
||||
<Route path="/auth/login" component={AuthLogin} />
|
||||
<Route path="/auth/register" component={AuthRegister} />
|
||||
|
||||
<BkndWrapper>
|
||||
<BkndWrapper options={options}>
|
||||
<BkndModalsProvider>
|
||||
<Route path="/" nest>
|
||||
<Root>
|
||||
|
||||
Reference in New Issue
Block a user