Compare commits
17 Commits
main
...
deploy_exx
| Author | SHA1 | Date |
|---|---|---|
|
|
5fe96a7697 | |
|
|
7534eaa2e4 | |
|
|
4c3325b0ef | |
|
|
cda1baf7c0 | |
|
|
ac7f3ef790 | |
|
|
4c05334283 | |
|
|
43d39a7caa | |
|
|
bcb844b7ba | |
|
|
01f866a8db | |
|
|
cc49ec0063 | |
|
|
047e204b82 | |
|
|
c721140003 | |
|
|
2a469eed6a | |
|
|
0380edeb2a | |
|
|
06a517af53 | |
|
|
d5234ac2e7 | |
|
|
c4fcfef4f0 |
|
|
@ -2,22 +2,32 @@ services:
|
||||||
frontend:
|
frontend:
|
||||||
build:
|
build:
|
||||||
context: frontend
|
context: frontend
|
||||||
ports:
|
|
||||||
- 8080:80
|
|
||||||
environment:
|
environment:
|
||||||
- API_HOST=http://localhost:5050
|
- API_HOST=http://ec2-18-193-8-169.eu-central-1.compute.amazonaws.com/ff-api
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.ff-frontend.rule=PathPrefix(`/ff`)"
|
||||||
|
- "traefik.http.routers.ff-frontend.entrypoints=web"
|
||||||
|
- "traefik.http.services.ff-frontend.loadbalancer.server.port=80"
|
||||||
|
- "traefik.http.middlewares.ff-frontend-stripprefix.stripprefix.prefixes=/ff"
|
||||||
|
- "traefik.http.routers.ff-frontend.middlewares=ff-frontend-stripprefix"
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
- app-network
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: postgres:17-alpine
|
image: postgres:17-alpine
|
||||||
env_file:
|
env_file:
|
||||||
- .env
|
- .env
|
||||||
# ports:
|
|
||||||
# - "5432:5432"
|
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD-SHELL", "pg_isready -U admin"]
|
test: ["CMD-SHELL", "pg_isready -U admin"]
|
||||||
interval: 10s
|
interval: 10s
|
||||||
timeout: 5s
|
timeout: 5s
|
||||||
retries: 5
|
retries: 5
|
||||||
|
volumes:
|
||||||
|
- db_data:/var/lib/postgresql/data
|
||||||
|
networks:
|
||||||
|
- app-network
|
||||||
|
|
||||||
coordinator:
|
coordinator:
|
||||||
build:
|
build:
|
||||||
|
|
@ -35,8 +45,16 @@ services:
|
||||||
interval: 20s
|
interval: 20s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 10
|
retries: 10
|
||||||
ports:
|
labels:
|
||||||
- 5050:5000
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.ff-api.rule=PathPrefix(`/ff-api`)"
|
||||||
|
- "traefik.http.routers.ff-api.entrypoints=web"
|
||||||
|
- "traefik.http.services.ff-api.loadbalancer.server.port=5000"
|
||||||
|
- "traefik.http.middlewares.ff-api-stripprefix.stripprefix.prefixes=/ff-api"
|
||||||
|
- "traefik.http.routers.ff-api.middlewares=ff-api-stripprefix"
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
- app-network
|
||||||
|
|
||||||
ocr:
|
ocr:
|
||||||
build:
|
build:
|
||||||
|
|
@ -48,18 +66,18 @@ services:
|
||||||
- EXXETA_SERVICE_URL=http://exxeta:5000/extract
|
- EXXETA_SERVICE_URL=http://exxeta:5000/extract
|
||||||
- SPACY_SERVICE_URL=http://spacy:5052/extract
|
- SPACY_SERVICE_URL=http://spacy:5052/extract
|
||||||
- COORDINATOR_URL=http://coordinator:5000
|
- COORDINATOR_URL=http://coordinator:5000
|
||||||
ports:
|
networks:
|
||||||
- 5051:5000
|
- app-network
|
||||||
|
|
||||||
spacy:
|
spacy:
|
||||||
build:
|
build:
|
||||||
context: backend/spacy-service
|
context: backend/spacy-service
|
||||||
environment:
|
environment:
|
||||||
- VALIDATE_SERVICE_URL=http://validate:5000/validate
|
- VALIDATE_SERVICE_URL=http://validate:5000/validate
|
||||||
ports:
|
|
||||||
- 5052:5052
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./backend/spacy-service/spacy_training:/app/spacy_training
|
- ./backend/spacy-service/spacy_training:/app/spacy_training
|
||||||
|
networks:
|
||||||
|
- app-network
|
||||||
|
|
||||||
exxeta:
|
exxeta:
|
||||||
build:
|
build:
|
||||||
|
|
@ -70,8 +88,8 @@ services:
|
||||||
environment:
|
environment:
|
||||||
- VALIDATE_SERVICE_URL=http://validate:5000/validate
|
- VALIDATE_SERVICE_URL=http://validate:5000/validate
|
||||||
- COORDINATOR_URL=http://coordinator:5000
|
- COORDINATOR_URL=http://coordinator:5000
|
||||||
ports:
|
networks:
|
||||||
- 5053:5000
|
- app-network
|
||||||
|
|
||||||
validate:
|
validate:
|
||||||
build:
|
build:
|
||||||
|
|
@ -81,5 +99,14 @@ services:
|
||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
- COORDINATOR_URL=http://coordinator:5000
|
- COORDINATOR_URL=http://coordinator:5000
|
||||||
ports:
|
networks:
|
||||||
- 5054:5000
|
- app-network
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
|
app-network:
|
||||||
|
driver: bridge
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
db_data:
|
||||||
|
|
@ -4,10 +4,8 @@ WORKDIR /usr/src/app
|
||||||
# install dependencies into temp directory
|
# install dependencies into temp directory
|
||||||
# this will cache them and speed up future builds
|
# this will cache them and speed up future builds
|
||||||
COPY package.json bun.lockb ./
|
COPY package.json bun.lockb ./
|
||||||
#RUN bun install --frozen-lockfile
|
|
||||||
RUN bun install
|
RUN bun install
|
||||||
|
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# dummy environment variable for build - DONT CHANGE!!!
|
# dummy environment variable for build - DONT CHANGE!!!
|
||||||
|
|
|
||||||
|
|
@ -181,7 +181,7 @@ export function ConfigTable({ from, trainingRunning }: ConfigTableProps) {
|
||||||
}
|
}
|
||||||
|
|
||||||
navigate({
|
navigate({
|
||||||
to: `/config-detail/$kpiId`,
|
to: `/ff/config-detail/$kpiId`,
|
||||||
params: { kpiId: kennzahl.id.toString() },
|
params: { kpiId: kennzahl.id.toString() },
|
||||||
search: from ? { from } : undefined,
|
search: from ? { from } : undefined,
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -170,7 +170,7 @@ export default function KennzahlenTable({
|
||||||
|
|
||||||
const handleNavigateToDetail = (settingName: string) => {
|
const handleNavigateToDetail = (settingName: string) => {
|
||||||
navigate({
|
navigate({
|
||||||
to: "/extractedResult/$pitchBook/$kpi",
|
to: "/ff/extractedResult/$pitchBook/$kpi",
|
||||||
params: {
|
params: {
|
||||||
pitchBook: pdfId,
|
pitchBook: pdfId,
|
||||||
kpi: settingName,
|
kpi: settingName,
|
||||||
|
|
|
||||||
|
|
@ -59,7 +59,7 @@ export function PitchBooksTable() {
|
||||||
|
|
||||||
const handleRowClick = (pitchBookId: number) => {
|
const handleRowClick = (pitchBookId: number) => {
|
||||||
navigate({
|
navigate({
|
||||||
to: "/extractedResult/$pitchBook",
|
to: "/ff/extractedResult/$pitchBook",
|
||||||
params: { pitchBook: pitchBookId.toString() },
|
params: { pitchBook: pitchBookId.toString() },
|
||||||
search: { from: "overview" },
|
search: { from: "overview" },
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ export default function UploadPage() {
|
||||||
const uploadFile = useCallback(async () => {
|
const uploadFile = useCallback(async () => {
|
||||||
const formData = new FormData();
|
const formData = new FormData();
|
||||||
formData.append("file", files[0]);
|
formData.append("file", files[0]);
|
||||||
const response = await fetch(`${API_HOST}/api/pitch_book`, {
|
const response = await fetch(`${API_HOST}/api/pitch_book/`, {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
body: formData,
|
body: formData,
|
||||||
});
|
});
|
||||||
|
|
@ -47,7 +47,7 @@ export default function UploadPage() {
|
||||||
setPageId(null);
|
setPageId(null);
|
||||||
setLoadingState(null);
|
setLoadingState(null);
|
||||||
navigate({
|
navigate({
|
||||||
to: "/extractedResult/$pitchBook",
|
to: "/ff/extractedResult/$pitchBook",
|
||||||
params: { pitchBook: progress.id.toString() },
|
params: { pitchBook: progress.id.toString() },
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -109,7 +109,7 @@ export default function UploadPage() {
|
||||||
/>
|
/>
|
||||||
</Box>
|
</Box>
|
||||||
|
|
||||||
<IconButton onClick={() => navigate({ to: "/config" })}>
|
<IconButton onClick={() => navigate({ to: "/ff/config" })}>
|
||||||
<SettingsIcon fontSize="large" />
|
<SettingsIcon fontSize="large" />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
</Box>
|
</Box>
|
||||||
|
|
@ -204,8 +204,8 @@ export default function UploadPage() {
|
||||||
backgroundColor: "#383838",
|
backgroundColor: "#383838",
|
||||||
"&:hover": { backgroundColor: "#2e2e2e" },
|
"&:hover": { backgroundColor: "#2e2e2e" },
|
||||||
}}
|
}}
|
||||||
onMouseEnter={() => router.preloadRoute({ to: "/pitchbooks" })}
|
onMouseEnter={() => router.preloadRoute({ to: "/ff/pitchbooks" })}
|
||||||
onClick={() => navigate({ to: "/pitchbooks" })}
|
onClick={() => navigate({ to: "/ff/pitchbooks" })}
|
||||||
>
|
>
|
||||||
Alle Pitchbooks anzeigen
|
Alle Pitchbooks anzeigen
|
||||||
</Button>
|
</Button>
|
||||||
|
|
|
||||||
|
|
@ -11,56 +11,58 @@
|
||||||
// Import Routes
|
// Import Routes
|
||||||
|
|
||||||
import { Route as rootRoute } from './routes/__root'
|
import { Route as rootRoute } from './routes/__root'
|
||||||
import { Route as PitchbooksImport } from './routes/pitchbooks'
|
import { Route as FfIndexImport } from './routes/ff/index'
|
||||||
import { Route as ConfigAddImport } from './routes/config-add'
|
import { Route as FfPitchbooksImport } from './routes/ff/pitchbooks'
|
||||||
import { Route as ConfigImport } from './routes/config'
|
import { Route as FfConfigAddImport } from './routes/ff/config-add'
|
||||||
import { Route as IndexImport } from './routes/index'
|
import { Route as FfConfigImport } from './routes/ff/config'
|
||||||
import { Route as ExtractedResultPitchBookImport } from './routes/extractedResult.$pitchBook'
|
import { Route as FfExtractedResultPitchBookImport } from './routes/ff/extractedResult.$pitchBook'
|
||||||
import { Route as ConfigDetailKpiIdImport } from './routes/config-detail.$kpiId'
|
import { Route as FfConfigDetailKpiIdImport } from './routes/ff/config-detail.$kpiId'
|
||||||
import { Route as ExtractedResultPitchBookKpiImport } from './routes/extractedResult_.$pitchBook.$kpi'
|
import { Route as FfExtractedResultPitchBookKpiImport } from './routes/ff/extractedResult_.$pitchBook.$kpi'
|
||||||
|
|
||||||
// Create/Update Routes
|
// Create/Update Routes
|
||||||
|
|
||||||
const PitchbooksRoute = PitchbooksImport.update({
|
const FfIndexRoute = FfIndexImport.update({
|
||||||
id: '/pitchbooks',
|
id: '/ff/',
|
||||||
path: '/pitchbooks',
|
path: '/ff/',
|
||||||
getParentRoute: () => rootRoute,
|
getParentRoute: () => rootRoute,
|
||||||
} as any)
|
} as any)
|
||||||
|
|
||||||
const ConfigAddRoute = ConfigAddImport.update({
|
const FfPitchbooksRoute = FfPitchbooksImport.update({
|
||||||
id: '/config-add',
|
id: '/ff/pitchbooks',
|
||||||
path: '/config-add',
|
path: '/ff/pitchbooks',
|
||||||
getParentRoute: () => rootRoute,
|
getParentRoute: () => rootRoute,
|
||||||
} as any)
|
} as any)
|
||||||
|
|
||||||
const ConfigRoute = ConfigImport.update({
|
const FfConfigAddRoute = FfConfigAddImport.update({
|
||||||
id: '/config',
|
id: '/ff/config-add',
|
||||||
path: '/config',
|
path: '/ff/config-add',
|
||||||
getParentRoute: () => rootRoute,
|
getParentRoute: () => rootRoute,
|
||||||
} as any)
|
} as any)
|
||||||
|
|
||||||
const IndexRoute = IndexImport.update({
|
const FfConfigRoute = FfConfigImport.update({
|
||||||
id: '/',
|
id: '/ff/config',
|
||||||
path: '/',
|
path: '/ff/config',
|
||||||
getParentRoute: () => rootRoute,
|
getParentRoute: () => rootRoute,
|
||||||
} as any)
|
} as any)
|
||||||
|
|
||||||
const ExtractedResultPitchBookRoute = ExtractedResultPitchBookImport.update({
|
const FfExtractedResultPitchBookRoute = FfExtractedResultPitchBookImport.update(
|
||||||
id: '/extractedResult/$pitchBook',
|
{
|
||||||
path: '/extractedResult/$pitchBook',
|
id: '/ff/extractedResult/$pitchBook',
|
||||||
|
path: '/ff/extractedResult/$pitchBook',
|
||||||
|
getParentRoute: () => rootRoute,
|
||||||
|
} as any,
|
||||||
|
)
|
||||||
|
|
||||||
|
const FfConfigDetailKpiIdRoute = FfConfigDetailKpiIdImport.update({
|
||||||
|
id: '/ff/config-detail/$kpiId',
|
||||||
|
path: '/ff/config-detail/$kpiId',
|
||||||
getParentRoute: () => rootRoute,
|
getParentRoute: () => rootRoute,
|
||||||
} as any)
|
} as any)
|
||||||
|
|
||||||
const ConfigDetailKpiIdRoute = ConfigDetailKpiIdImport.update({
|
const FfExtractedResultPitchBookKpiRoute =
|
||||||
id: '/config-detail/$kpiId',
|
FfExtractedResultPitchBookKpiImport.update({
|
||||||
path: '/config-detail/$kpiId',
|
id: '/ff/extractedResult_/$pitchBook/$kpi',
|
||||||
getParentRoute: () => rootRoute,
|
path: '/ff/extractedResult/$pitchBook/$kpi',
|
||||||
} as any)
|
|
||||||
|
|
||||||
const ExtractedResultPitchBookKpiRoute =
|
|
||||||
ExtractedResultPitchBookKpiImport.update({
|
|
||||||
id: '/extractedResult_/$pitchBook/$kpi',
|
|
||||||
path: '/extractedResult/$pitchBook/$kpi',
|
|
||||||
getParentRoute: () => rootRoute,
|
getParentRoute: () => rootRoute,
|
||||||
} as any)
|
} as any)
|
||||||
|
|
||||||
|
|
@ -68,53 +70,53 @@ const ExtractedResultPitchBookKpiRoute =
|
||||||
|
|
||||||
declare module '@tanstack/react-router' {
|
declare module '@tanstack/react-router' {
|
||||||
interface FileRoutesByPath {
|
interface FileRoutesByPath {
|
||||||
'/': {
|
'/ff/config': {
|
||||||
id: '/'
|
id: '/ff/config'
|
||||||
path: '/'
|
path: '/ff/config'
|
||||||
fullPath: '/'
|
fullPath: '/ff/config'
|
||||||
preLoaderRoute: typeof IndexImport
|
preLoaderRoute: typeof FfConfigImport
|
||||||
parentRoute: typeof rootRoute
|
parentRoute: typeof rootRoute
|
||||||
}
|
}
|
||||||
'/config': {
|
'/ff/config-add': {
|
||||||
id: '/config'
|
id: '/ff/config-add'
|
||||||
path: '/config'
|
path: '/ff/config-add'
|
||||||
fullPath: '/config'
|
fullPath: '/ff/config-add'
|
||||||
preLoaderRoute: typeof ConfigImport
|
preLoaderRoute: typeof FfConfigAddImport
|
||||||
parentRoute: typeof rootRoute
|
parentRoute: typeof rootRoute
|
||||||
}
|
}
|
||||||
'/config-add': {
|
'/ff/pitchbooks': {
|
||||||
id: '/config-add'
|
id: '/ff/pitchbooks'
|
||||||
path: '/config-add'
|
path: '/ff/pitchbooks'
|
||||||
fullPath: '/config-add'
|
fullPath: '/ff/pitchbooks'
|
||||||
preLoaderRoute: typeof ConfigAddImport
|
preLoaderRoute: typeof FfPitchbooksImport
|
||||||
parentRoute: typeof rootRoute
|
parentRoute: typeof rootRoute
|
||||||
}
|
}
|
||||||
'/pitchbooks': {
|
'/ff/': {
|
||||||
id: '/pitchbooks'
|
id: '/ff/'
|
||||||
path: '/pitchbooks'
|
path: '/ff'
|
||||||
fullPath: '/pitchbooks'
|
fullPath: '/ff'
|
||||||
preLoaderRoute: typeof PitchbooksImport
|
preLoaderRoute: typeof FfIndexImport
|
||||||
parentRoute: typeof rootRoute
|
parentRoute: typeof rootRoute
|
||||||
}
|
}
|
||||||
'/config-detail/$kpiId': {
|
'/ff/config-detail/$kpiId': {
|
||||||
id: '/config-detail/$kpiId'
|
id: '/ff/config-detail/$kpiId'
|
||||||
path: '/config-detail/$kpiId'
|
path: '/ff/config-detail/$kpiId'
|
||||||
fullPath: '/config-detail/$kpiId'
|
fullPath: '/ff/config-detail/$kpiId'
|
||||||
preLoaderRoute: typeof ConfigDetailKpiIdImport
|
preLoaderRoute: typeof FfConfigDetailKpiIdImport
|
||||||
parentRoute: typeof rootRoute
|
parentRoute: typeof rootRoute
|
||||||
}
|
}
|
||||||
'/extractedResult/$pitchBook': {
|
'/ff/extractedResult/$pitchBook': {
|
||||||
id: '/extractedResult/$pitchBook'
|
id: '/ff/extractedResult/$pitchBook'
|
||||||
path: '/extractedResult/$pitchBook'
|
path: '/ff/extractedResult/$pitchBook'
|
||||||
fullPath: '/extractedResult/$pitchBook'
|
fullPath: '/ff/extractedResult/$pitchBook'
|
||||||
preLoaderRoute: typeof ExtractedResultPitchBookImport
|
preLoaderRoute: typeof FfExtractedResultPitchBookImport
|
||||||
parentRoute: typeof rootRoute
|
parentRoute: typeof rootRoute
|
||||||
}
|
}
|
||||||
'/extractedResult_/$pitchBook/$kpi': {
|
'/ff/extractedResult_/$pitchBook/$kpi': {
|
||||||
id: '/extractedResult_/$pitchBook/$kpi'
|
id: '/ff/extractedResult_/$pitchBook/$kpi'
|
||||||
path: '/extractedResult/$pitchBook/$kpi'
|
path: '/ff/extractedResult/$pitchBook/$kpi'
|
||||||
fullPath: '/extractedResult/$pitchBook/$kpi'
|
fullPath: '/ff/extractedResult/$pitchBook/$kpi'
|
||||||
preLoaderRoute: typeof ExtractedResultPitchBookKpiImport
|
preLoaderRoute: typeof FfExtractedResultPitchBookKpiImport
|
||||||
parentRoute: typeof rootRoute
|
parentRoute: typeof rootRoute
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -123,85 +125,85 @@ declare module '@tanstack/react-router' {
|
||||||
// Create and export the route tree
|
// Create and export the route tree
|
||||||
|
|
||||||
export interface FileRoutesByFullPath {
|
export interface FileRoutesByFullPath {
|
||||||
'/': typeof IndexRoute
|
'/ff/config': typeof FfConfigRoute
|
||||||
'/config': typeof ConfigRoute
|
'/ff/config-add': typeof FfConfigAddRoute
|
||||||
'/config-add': typeof ConfigAddRoute
|
'/ff/pitchbooks': typeof FfPitchbooksRoute
|
||||||
'/pitchbooks': typeof PitchbooksRoute
|
'/ff': typeof FfIndexRoute
|
||||||
'/config-detail/$kpiId': typeof ConfigDetailKpiIdRoute
|
'/ff/config-detail/$kpiId': typeof FfConfigDetailKpiIdRoute
|
||||||
'/extractedResult/$pitchBook': typeof ExtractedResultPitchBookRoute
|
'/ff/extractedResult/$pitchBook': typeof FfExtractedResultPitchBookRoute
|
||||||
'/extractedResult/$pitchBook/$kpi': typeof ExtractedResultPitchBookKpiRoute
|
'/ff/extractedResult/$pitchBook/$kpi': typeof FfExtractedResultPitchBookKpiRoute
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface FileRoutesByTo {
|
export interface FileRoutesByTo {
|
||||||
'/': typeof IndexRoute
|
'/ff/config': typeof FfConfigRoute
|
||||||
'/config': typeof ConfigRoute
|
'/ff/config-add': typeof FfConfigAddRoute
|
||||||
'/config-add': typeof ConfigAddRoute
|
'/ff/pitchbooks': typeof FfPitchbooksRoute
|
||||||
'/pitchbooks': typeof PitchbooksRoute
|
'/ff': typeof FfIndexRoute
|
||||||
'/config-detail/$kpiId': typeof ConfigDetailKpiIdRoute
|
'/ff/config-detail/$kpiId': typeof FfConfigDetailKpiIdRoute
|
||||||
'/extractedResult/$pitchBook': typeof ExtractedResultPitchBookRoute
|
'/ff/extractedResult/$pitchBook': typeof FfExtractedResultPitchBookRoute
|
||||||
'/extractedResult/$pitchBook/$kpi': typeof ExtractedResultPitchBookKpiRoute
|
'/ff/extractedResult/$pitchBook/$kpi': typeof FfExtractedResultPitchBookKpiRoute
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface FileRoutesById {
|
export interface FileRoutesById {
|
||||||
__root__: typeof rootRoute
|
__root__: typeof rootRoute
|
||||||
'/': typeof IndexRoute
|
'/ff/config': typeof FfConfigRoute
|
||||||
'/config': typeof ConfigRoute
|
'/ff/config-add': typeof FfConfigAddRoute
|
||||||
'/config-add': typeof ConfigAddRoute
|
'/ff/pitchbooks': typeof FfPitchbooksRoute
|
||||||
'/pitchbooks': typeof PitchbooksRoute
|
'/ff/': typeof FfIndexRoute
|
||||||
'/config-detail/$kpiId': typeof ConfigDetailKpiIdRoute
|
'/ff/config-detail/$kpiId': typeof FfConfigDetailKpiIdRoute
|
||||||
'/extractedResult/$pitchBook': typeof ExtractedResultPitchBookRoute
|
'/ff/extractedResult/$pitchBook': typeof FfExtractedResultPitchBookRoute
|
||||||
'/extractedResult_/$pitchBook/$kpi': typeof ExtractedResultPitchBookKpiRoute
|
'/ff/extractedResult_/$pitchBook/$kpi': typeof FfExtractedResultPitchBookKpiRoute
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface FileRouteTypes {
|
export interface FileRouteTypes {
|
||||||
fileRoutesByFullPath: FileRoutesByFullPath
|
fileRoutesByFullPath: FileRoutesByFullPath
|
||||||
fullPaths:
|
fullPaths:
|
||||||
| '/'
|
| '/ff/config'
|
||||||
| '/config'
|
| '/ff/config-add'
|
||||||
| '/config-add'
|
| '/ff/pitchbooks'
|
||||||
| '/pitchbooks'
|
| '/ff'
|
||||||
| '/config-detail/$kpiId'
|
| '/ff/config-detail/$kpiId'
|
||||||
| '/extractedResult/$pitchBook'
|
| '/ff/extractedResult/$pitchBook'
|
||||||
| '/extractedResult/$pitchBook/$kpi'
|
| '/ff/extractedResult/$pitchBook/$kpi'
|
||||||
fileRoutesByTo: FileRoutesByTo
|
fileRoutesByTo: FileRoutesByTo
|
||||||
to:
|
to:
|
||||||
| '/'
|
| '/ff/config'
|
||||||
| '/config'
|
| '/ff/config-add'
|
||||||
| '/config-add'
|
| '/ff/pitchbooks'
|
||||||
| '/pitchbooks'
|
| '/ff'
|
||||||
| '/config-detail/$kpiId'
|
| '/ff/config-detail/$kpiId'
|
||||||
| '/extractedResult/$pitchBook'
|
| '/ff/extractedResult/$pitchBook'
|
||||||
| '/extractedResult/$pitchBook/$kpi'
|
| '/ff/extractedResult/$pitchBook/$kpi'
|
||||||
id:
|
id:
|
||||||
| '__root__'
|
| '__root__'
|
||||||
| '/'
|
| '/ff/config'
|
||||||
| '/config'
|
| '/ff/config-add'
|
||||||
| '/config-add'
|
| '/ff/pitchbooks'
|
||||||
| '/pitchbooks'
|
| '/ff/'
|
||||||
| '/config-detail/$kpiId'
|
| '/ff/config-detail/$kpiId'
|
||||||
| '/extractedResult/$pitchBook'
|
| '/ff/extractedResult/$pitchBook'
|
||||||
| '/extractedResult_/$pitchBook/$kpi'
|
| '/ff/extractedResult_/$pitchBook/$kpi'
|
||||||
fileRoutesById: FileRoutesById
|
fileRoutesById: FileRoutesById
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface RootRouteChildren {
|
export interface RootRouteChildren {
|
||||||
IndexRoute: typeof IndexRoute
|
FfConfigRoute: typeof FfConfigRoute
|
||||||
ConfigRoute: typeof ConfigRoute
|
FfConfigAddRoute: typeof FfConfigAddRoute
|
||||||
ConfigAddRoute: typeof ConfigAddRoute
|
FfPitchbooksRoute: typeof FfPitchbooksRoute
|
||||||
PitchbooksRoute: typeof PitchbooksRoute
|
FfIndexRoute: typeof FfIndexRoute
|
||||||
ConfigDetailKpiIdRoute: typeof ConfigDetailKpiIdRoute
|
FfConfigDetailKpiIdRoute: typeof FfConfigDetailKpiIdRoute
|
||||||
ExtractedResultPitchBookRoute: typeof ExtractedResultPitchBookRoute
|
FfExtractedResultPitchBookRoute: typeof FfExtractedResultPitchBookRoute
|
||||||
ExtractedResultPitchBookKpiRoute: typeof ExtractedResultPitchBookKpiRoute
|
FfExtractedResultPitchBookKpiRoute: typeof FfExtractedResultPitchBookKpiRoute
|
||||||
}
|
}
|
||||||
|
|
||||||
const rootRouteChildren: RootRouteChildren = {
|
const rootRouteChildren: RootRouteChildren = {
|
||||||
IndexRoute: IndexRoute,
|
FfConfigRoute: FfConfigRoute,
|
||||||
ConfigRoute: ConfigRoute,
|
FfConfigAddRoute: FfConfigAddRoute,
|
||||||
ConfigAddRoute: ConfigAddRoute,
|
FfPitchbooksRoute: FfPitchbooksRoute,
|
||||||
PitchbooksRoute: PitchbooksRoute,
|
FfIndexRoute: FfIndexRoute,
|
||||||
ConfigDetailKpiIdRoute: ConfigDetailKpiIdRoute,
|
FfConfigDetailKpiIdRoute: FfConfigDetailKpiIdRoute,
|
||||||
ExtractedResultPitchBookRoute: ExtractedResultPitchBookRoute,
|
FfExtractedResultPitchBookRoute: FfExtractedResultPitchBookRoute,
|
||||||
ExtractedResultPitchBookKpiRoute: ExtractedResultPitchBookKpiRoute,
|
FfExtractedResultPitchBookKpiRoute: FfExtractedResultPitchBookKpiRoute,
|
||||||
}
|
}
|
||||||
|
|
||||||
export const routeTree = rootRoute
|
export const routeTree = rootRoute
|
||||||
|
|
@ -214,35 +216,35 @@ export const routeTree = rootRoute
|
||||||
"__root__": {
|
"__root__": {
|
||||||
"filePath": "__root.tsx",
|
"filePath": "__root.tsx",
|
||||||
"children": [
|
"children": [
|
||||||
"/",
|
"/ff/config",
|
||||||
"/config",
|
"/ff/config-add",
|
||||||
"/config-add",
|
"/ff/pitchbooks",
|
||||||
"/pitchbooks",
|
"/ff/",
|
||||||
"/config-detail/$kpiId",
|
"/ff/config-detail/$kpiId",
|
||||||
"/extractedResult/$pitchBook",
|
"/ff/extractedResult/$pitchBook",
|
||||||
"/extractedResult_/$pitchBook/$kpi"
|
"/ff/extractedResult_/$pitchBook/$kpi"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"/": {
|
"/ff/config": {
|
||||||
"filePath": "index.tsx"
|
"filePath": "ff/config.tsx"
|
||||||
},
|
},
|
||||||
"/config": {
|
"/ff/config-add": {
|
||||||
"filePath": "config.tsx"
|
"filePath": "ff/config-add.tsx"
|
||||||
},
|
},
|
||||||
"/config-add": {
|
"/ff/pitchbooks": {
|
||||||
"filePath": "config-add.tsx"
|
"filePath": "ff/pitchbooks.tsx"
|
||||||
},
|
},
|
||||||
"/pitchbooks": {
|
"/ff/": {
|
||||||
"filePath": "pitchbooks.tsx"
|
"filePath": "ff/index.tsx"
|
||||||
},
|
},
|
||||||
"/config-detail/$kpiId": {
|
"/ff/config-detail/$kpiId": {
|
||||||
"filePath": "config-detail.$kpiId.tsx"
|
"filePath": "ff/config-detail.$kpiId.tsx"
|
||||||
},
|
},
|
||||||
"/extractedResult/$pitchBook": {
|
"/ff/extractedResult/$pitchBook": {
|
||||||
"filePath": "extractedResult.$pitchBook.tsx"
|
"filePath": "ff/extractedResult.$pitchBook.tsx"
|
||||||
},
|
},
|
||||||
"/extractedResult_/$pitchBook/$kpi": {
|
"/ff/extractedResult_/$pitchBook/$kpi": {
|
||||||
"filePath": "extractedResult_.$pitchBook.$kpi.tsx"
|
"filePath": "ff/extractedResult_.$pitchBook.$kpi.tsx"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
import { createFileRoute, useNavigate } from "@tanstack/react-router";
|
import { createFileRoute, useNavigate } from "@tanstack/react-router";
|
||||||
import { Box, Typography, IconButton } from "@mui/material";
|
import { Box, Typography, IconButton } from "@mui/material";
|
||||||
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
||||||
import { KPIForm } from "../components/KPIForm";
|
import { KPIForm } from "../../components/KPIForm";
|
||||||
import type { Kennzahl } from "../types/kpi";
|
import type { Kennzahl } from "../../types/kpi";
|
||||||
import { API_HOST } from "../util/api";
|
import { API_HOST } from "../../util/api";
|
||||||
|
|
||||||
|
|
||||||
export const Route = createFileRoute("/config-add")({
|
export const Route = createFileRoute("/ff/config-add")({
|
||||||
component: ConfigAddPage,
|
component: ConfigAddPage,
|
||||||
validateSearch: (search: Record<string, unknown>): { from?: string } => {
|
validateSearch: (search: Record<string, unknown>): { from?: string } => {
|
||||||
return {
|
return {
|
||||||
|
|
@ -21,7 +21,7 @@ function ConfigAddPage() {
|
||||||
|
|
||||||
const handleBack = () => {
|
const handleBack = () => {
|
||||||
navigate({
|
navigate({
|
||||||
to: "/config",
|
to: "/ff/config",
|
||||||
search: from ? { from } : undefined,
|
search: from ? { from } : undefined,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
@ -54,7 +54,7 @@ function ConfigAddPage() {
|
||||||
}
|
}
|
||||||
|
|
||||||
navigate({
|
navigate({
|
||||||
to: "/config",
|
to: "/ff/config",
|
||||||
search: { success: "true", ...(from ? { from } : {}) },
|
search: { success: "true", ...(from ? { from } : {}) },
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -67,7 +67,7 @@ function ConfigAddPage() {
|
||||||
|
|
||||||
const handleCancel = () => {
|
const handleCancel = () => {
|
||||||
navigate({
|
navigate({
|
||||||
to: "/config",
|
to: "/ff/config",
|
||||||
search: from ? { from } : undefined,
|
search: from ? { from } : undefined,
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
@ -4,12 +4,12 @@ import {
|
||||||
} from "@mui/material";
|
} from "@mui/material";
|
||||||
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
import type { Kennzahl } from "../types/kpi";
|
import type { Kennzahl } from "../../types/kpi";
|
||||||
import { KPIForm } from "../components/KPIForm";
|
import { KPIForm } from "../../components/KPIForm";
|
||||||
import { typeDisplayMapping } from "../types/kpi";
|
import { typeDisplayMapping } from "../../types/kpi";
|
||||||
import { API_HOST } from "../util/api";
|
import { API_HOST } from "../../util/api";
|
||||||
|
|
||||||
export const Route = createFileRoute("/config-detail/$kpiId")({
|
export const Route = createFileRoute("/ff/config-detail/$kpiId")({
|
||||||
component: KPIDetailPage,
|
component: KPIDetailPage,
|
||||||
validateSearch: (search: Record<string, unknown>): { from?: string } => {
|
validateSearch: (search: Record<string, unknown>): { from?: string } => {
|
||||||
return {
|
return {
|
||||||
|
|
@ -29,7 +29,7 @@ function KPIDetailPage() {
|
||||||
|
|
||||||
const handleBack = () => {
|
const handleBack = () => {
|
||||||
navigate({
|
navigate({
|
||||||
to: "/config",
|
to: "/ff/config",
|
||||||
search: from ? { from } : undefined
|
search: from ? { from } : undefined
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
@ -121,7 +121,7 @@ function KPIDetailPage() {
|
||||||
</Typography>
|
</Typography>
|
||||||
<Button
|
<Button
|
||||||
variant="contained"
|
variant="contained"
|
||||||
onClick={() => navigate({ to: "/config" })}
|
onClick={() => navigate({ to: "/ff/config" })}
|
||||||
sx={{
|
sx={{
|
||||||
backgroundColor: "#383838",
|
backgroundColor: "#383838",
|
||||||
"&:hover": { backgroundColor: "#2e2e2e" },
|
"&:hover": { backgroundColor: "#2e2e2e" },
|
||||||
|
|
@ -2,8 +2,8 @@ import { createFileRoute } from "@tanstack/react-router";
|
||||||
import { Box, Button, IconButton, Typography } from "@mui/material";
|
import { Box, Button, IconButton, Typography } from "@mui/material";
|
||||||
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
||||||
import { useNavigate } from "@tanstack/react-router";
|
import { useNavigate } from "@tanstack/react-router";
|
||||||
import { ConfigTable } from "../components/ConfigTable";
|
import { ConfigTable } from "../../components/ConfigTable";
|
||||||
import { API_HOST } from "../util/api";
|
import { API_HOST } from "../../util/api";
|
||||||
import Snackbar from "@mui/material/Snackbar";
|
import Snackbar from "@mui/material/Snackbar";
|
||||||
import MuiAlert from "@mui/material/Alert";
|
import MuiAlert from "@mui/material/Alert";
|
||||||
import { useState, useEffect } from "react";
|
import { useState, useEffect } from "react";
|
||||||
|
|
@ -14,7 +14,7 @@ import Tooltip from "@mui/material/Tooltip";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export const Route = createFileRoute("/config")({
|
export const Route = createFileRoute("/ff/config")({
|
||||||
component: ConfigPage,
|
component: ConfigPage,
|
||||||
validateSearch: (search: Record<string, unknown>): { from?: string; success?: string } => {
|
validateSearch: (search: Record<string, unknown>): { from?: string; success?: string } => {
|
||||||
return {
|
return {
|
||||||
|
|
@ -58,7 +58,7 @@ function ConfigPage() {
|
||||||
if (success === "true") {
|
if (success === "true") {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
navigate({
|
navigate({
|
||||||
to: "/config",
|
to: "/ff/config",
|
||||||
search: from ? { from } : undefined,
|
search: from ? { from } : undefined,
|
||||||
replace: true
|
replace: true
|
||||||
});
|
});
|
||||||
|
|
@ -87,16 +87,16 @@ function ConfigPage() {
|
||||||
|
|
||||||
const handleAddNewKPI = () => {
|
const handleAddNewKPI = () => {
|
||||||
navigate({
|
navigate({
|
||||||
to: "/config-add",
|
to: "/ff/config-add",
|
||||||
search: from ? { from } : undefined
|
search: from ? { from } : undefined
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleBack = () => {
|
const handleBack = () => {
|
||||||
if (from === "pitchbooks") {
|
if (from === "pitchbooks") {
|
||||||
navigate({ to: "/pitchbooks" });
|
navigate({ to: "/ff/pitchbooks" });
|
||||||
} else {
|
} else {
|
||||||
navigate({ to: "/" });
|
navigate({ to: "/ff" });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -4,12 +4,12 @@ import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
||||||
import { useSuspenseQuery } from "@tanstack/react-query";
|
import { useSuspenseQuery } from "@tanstack/react-query";
|
||||||
import { createFileRoute, useNavigate } from "@tanstack/react-router";
|
import { createFileRoute, useNavigate } from "@tanstack/react-router";
|
||||||
import { useCallback, useState, useMemo } from "react";
|
import { useCallback, useState, useMemo } from "react";
|
||||||
import KennzahlenTable from "../components/KennzahlenTable";
|
import KennzahlenTable from "../../components/KennzahlenTable";
|
||||||
import PDFViewer from "../components/pdfViewer";
|
import PDFViewer from "../../components/pdfViewer";
|
||||||
import { kpiQueryOptions, settingsQueryOptions } from "../util/query";
|
import { kpiQueryOptions, settingsQueryOptions } from "../../util/query";
|
||||||
import { redirect } from "@tanstack/react-router";
|
import { redirect } from "@tanstack/react-router";
|
||||||
|
|
||||||
export const Route = createFileRoute("/extractedResult/$pitchBook")({
|
export const Route = createFileRoute("/ff/extractedResult/$pitchBook")({
|
||||||
component: ExtractedResultsPage,
|
component: ExtractedResultsPage,
|
||||||
validateSearch: (search: Record<string, unknown>): { from?: string } => {
|
validateSearch: (search: Record<string, unknown>): { from?: string } => {
|
||||||
return {
|
return {
|
||||||
|
|
@ -23,7 +23,7 @@ export const Route = createFileRoute("/extractedResult/$pitchBook")({
|
||||||
]);
|
]);
|
||||||
if (results[0].status === "rejected") {
|
if (results[0].status === "rejected") {
|
||||||
throw redirect({
|
throw redirect({
|
||||||
to: "/"
|
to: "/ff"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return results;
|
return results;
|
||||||
|
|
@ -143,7 +143,7 @@ function ExtractedResultsPage() {
|
||||||
<Box display="flex" alignItems="center" gap={3}>
|
<Box display="flex" alignItems="center" gap={3}>
|
||||||
{from === "overview" && (
|
{from === "overview" && (
|
||||||
<IconButton
|
<IconButton
|
||||||
onClick={() => navigate({ to: "/pitchbooks" })}
|
onClick={() => navigate({ to: "/ff/pitchbooks" })}
|
||||||
sx={{ ml: -1 }}
|
sx={{ ml: -1 }}
|
||||||
>
|
>
|
||||||
<ArrowBackIcon fontSize="large" sx={{ color: '#383838' }}/>
|
<ArrowBackIcon fontSize="large" sx={{ color: '#383838' }}/>
|
||||||
|
|
@ -259,7 +259,7 @@ function ExtractedResultsPage() {
|
||||||
<Button
|
<Button
|
||||||
variant="contained"
|
variant="contained"
|
||||||
sx={{ backgroundColor: "#383838" }}
|
sx={{ backgroundColor: "#383838" }}
|
||||||
onClick={() => navigate({ to: "/" })}
|
onClick={() => navigate({ to: "/ff" })}
|
||||||
>
|
>
|
||||||
Neues Pitchbook hochladen
|
Neues Pitchbook hochladen
|
||||||
</Button>
|
</Button>
|
||||||
|
|
@ -28,12 +28,12 @@ import {
|
||||||
} from "@tanstack/react-query";
|
} from "@tanstack/react-query";
|
||||||
import { createFileRoute, useNavigate } from "@tanstack/react-router";
|
import { createFileRoute, useNavigate } from "@tanstack/react-router";
|
||||||
import { useEffect, useState, type KeyboardEvent } from "react";
|
import { useEffect, useState, type KeyboardEvent } from "react";
|
||||||
import PDFViewer from "../components/pdfViewer";
|
import PDFViewer from "../../components/pdfViewer";
|
||||||
import { fetchPutKPI } from "../util/api";
|
import { fetchPutKPI } from "../../util/api";
|
||||||
import { kpiQueryOptions } from "../util/query";
|
import { kpiQueryOptions } from "../../util/query";
|
||||||
import { redirect } from "@tanstack/react-router";
|
import { redirect } from "@tanstack/react-router";
|
||||||
|
|
||||||
export const Route = createFileRoute("/extractedResult_/$pitchBook/$kpi")({
|
export const Route = createFileRoute("/ff/extractedResult_/$pitchBook/$kpi")({
|
||||||
component: ExtractedResultsPage,
|
component: ExtractedResultsPage,
|
||||||
validateSearch: (search: Record<string, unknown>) => {
|
validateSearch: (search: Record<string, unknown>) => {
|
||||||
return {
|
return {
|
||||||
|
|
@ -45,7 +45,7 @@ export const Route = createFileRoute("/extractedResult_/$pitchBook/$kpi")({
|
||||||
return await queryClient.ensureQueryData(kpiQueryOptions(pitchBook));
|
return await queryClient.ensureQueryData(kpiQueryOptions(pitchBook));
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
throw redirect({
|
throw redirect({
|
||||||
to: "/"
|
to: "/ff"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -151,7 +151,7 @@ function ExtractedResultsPage() {
|
||||||
queryKey: ["pitchBookKPI", pitchBook],
|
queryKey: ["pitchBookKPI", pitchBook],
|
||||||
});
|
});
|
||||||
navigate({
|
navigate({
|
||||||
to: "/extractedResult/$pitchBook",
|
to: "/ff/extractedResult/$pitchBook",
|
||||||
params: { pitchBook },
|
params: { pitchBook },
|
||||||
search: from ? { from } : undefined
|
search: from ? { from } : undefined
|
||||||
});
|
});
|
||||||
|
|
@ -216,7 +216,7 @@ function ExtractedResultsPage() {
|
||||||
setShowConfirmDialog(true);
|
setShowConfirmDialog(true);
|
||||||
} else {
|
} else {
|
||||||
navigate({
|
navigate({
|
||||||
to: "/extractedResult/$pitchBook",
|
to: "/ff/extractedResult/$pitchBook",
|
||||||
params: { pitchBook },
|
params: { pitchBook },
|
||||||
search: from ? { from } : undefined
|
search: from ? { from } : undefined
|
||||||
});
|
});
|
||||||
|
|
@ -226,7 +226,7 @@ function ExtractedResultsPage() {
|
||||||
const handleConfirmDiscard = () => {
|
const handleConfirmDiscard = () => {
|
||||||
setShowConfirmDialog(false);
|
setShowConfirmDialog(false);
|
||||||
navigate({
|
navigate({
|
||||||
to: "/extractedResult/$pitchBook",
|
to: "/ff/extractedResult/$pitchBook",
|
||||||
params: { pitchBook },
|
params: { pitchBook },
|
||||||
search: from ? { from } : undefined
|
search: from ? { from } : undefined
|
||||||
});
|
});
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from "@tanstack/react-router";
|
||||||
import UploadPage from "../components/UploadPage";
|
import UploadPage from "../../components/UploadPage";
|
||||||
|
|
||||||
|
|
||||||
export const Route = createFileRoute("/")({
|
export const Route = createFileRoute("/ff/")({
|
||||||
component: App,
|
component: App,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -3,10 +3,10 @@ import { Box, Typography, IconButton } from "@mui/material";
|
||||||
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
import ArrowBackIcon from "@mui/icons-material/ArrowBack";
|
||||||
import SettingsIcon from "@mui/icons-material/Settings";
|
import SettingsIcon from "@mui/icons-material/Settings";
|
||||||
import { useNavigate } from "@tanstack/react-router";
|
import { useNavigate } from "@tanstack/react-router";
|
||||||
import { PitchBooksTable } from "../components/PitchBooksTable";
|
import { PitchBooksTable } from "../../components/PitchBooksTable";
|
||||||
import { pitchBooksQueryOptions } from "../util/query";
|
import { pitchBooksQueryOptions } from "../../util/query";
|
||||||
|
|
||||||
export const Route = createFileRoute("/pitchbooks")({
|
export const Route = createFileRoute("/ff/pitchbooks")({
|
||||||
component: PitchBooksPage,
|
component: PitchBooksPage,
|
||||||
loader: ({ context: { queryClient } }) =>
|
loader: ({ context: { queryClient } }) =>
|
||||||
queryClient.ensureQueryData(pitchBooksQueryOptions()),
|
queryClient.ensureQueryData(pitchBooksQueryOptions()),
|
||||||
|
|
@ -35,7 +35,7 @@ function PitchBooksPage() {
|
||||||
mb={4}
|
mb={4}
|
||||||
>
|
>
|
||||||
<Box display="flex" alignItems="center">
|
<Box display="flex" alignItems="center">
|
||||||
<IconButton onClick={() => navigate({ to: "/" })}>
|
<IconButton onClick={() => navigate({ to: "/ff" })}>
|
||||||
<ArrowBackIcon fontSize="large" sx={{ color: '#383838' }}/>
|
<ArrowBackIcon fontSize="large" sx={{ color: '#383838' }}/>
|
||||||
</IconButton>
|
</IconButton>
|
||||||
<Typography variant="h5" fontWeight="bold" ml={3}>
|
<Typography variant="h5" fontWeight="bold" ml={3}>
|
||||||
|
|
@ -44,7 +44,7 @@ function PitchBooksPage() {
|
||||||
</Box>
|
</Box>
|
||||||
<IconButton
|
<IconButton
|
||||||
onClick={() => navigate({
|
onClick={() => navigate({
|
||||||
to: "/config",
|
to: "/ff/config",
|
||||||
search: { from: "pitchbooks" }
|
search: { from: "pitchbooks" }
|
||||||
})}
|
})}
|
||||||
>
|
>
|
||||||
|
|
@ -4,6 +4,7 @@ import { defineConfig } from "vite";
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
|
base: "/ff/",
|
||||||
plugins: [TanStackRouterVite({ autoCodeSplitting: true }), viteReact()],
|
plugins: [TanStackRouterVite({ autoCodeSplitting: true }), viteReact()],
|
||||||
build: {
|
build: {
|
||||||
chunkSizeWarningLimit: 1000, // default ist 500
|
chunkSizeWarningLimit: 1000, // default ist 500
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue