From 685edc9ad249e909757d4ceeaecba86948a6da8f Mon Sep 17 00:00:00 2001 From: s8613 Date: Tue, 24 Jun 2025 11:24:02 +0200 Subject: [PATCH 1/3] Added favicon, webtitle and Deka logo. --- project/frontend/index.html | 5 +-- project/frontend/public/favicon.ico | Bin 3870 -> 0 bytes project/frontend/public/logo192.png | Bin 5347 -> 0 bytes project/frontend/public/logo512.png | Bin 9664 -> 0 bytes project/frontend/src/assets/Deka_logo.png | Bin 0 -> 51713 bytes .../src/components/KennzahlenTable.tsx | 6 ++- .../frontend/src/components/UploadPage.tsx | 41 ++++++++++++++---- 7 files changed, 40 insertions(+), 12 deletions(-) delete mode 100644 project/frontend/public/favicon.ico delete mode 100644 project/frontend/public/logo192.png delete mode 100644 project/frontend/public/logo512.png create mode 100644 project/frontend/src/assets/Deka_logo.png diff --git a/project/frontend/index.html b/project/frontend/index.html index 2f632de..be7861a 100644 --- a/project/frontend/index.html +++ b/project/frontend/index.html @@ -3,15 +3,14 @@ - + - - Create TanStack App - frontend + Pitchbook Extractor
diff --git a/project/frontend/public/favicon.ico b/project/frontend/public/favicon.ico deleted file mode 100644 index a11777cc471a4344702741ab1c8a588998b1311a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ diff --git a/project/frontend/public/logo192.png b/project/frontend/public/logo192.png deleted file mode 100644 index fc44b0a3796c0e0a64c3d858ca038bd4570465d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5347 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 b{|{}U^kRn2wo}j7|0ATu<;8xA7zX}7|B6mN diff --git a/project/frontend/src/assets/Deka_logo.png b/project/frontend/src/assets/Deka_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d1b24f94e4902a533299569c08a1ed423529bbf9 GIT binary patch literal 51713 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 literal 0 HcmV?d00001 diff --git a/project/frontend/src/components/KennzahlenTable.tsx b/project/frontend/src/components/KennzahlenTable.tsx index 4ad51f0..91a2591 100644 --- a/project/frontend/src/components/KennzahlenTable.tsx +++ b/project/frontend/src/components/KennzahlenTable.tsx @@ -226,7 +226,11 @@ export default function KennzahlenTable({ return ( - {row.setting.name} + {row.setting.name} + {row.setting.mandatory && ( + * + )} + { // Only allow inline editing for non-multiple value cells diff --git a/project/frontend/src/components/UploadPage.tsx b/project/frontend/src/components/UploadPage.tsx index e72c9da..b54e7a3 100644 --- a/project/frontend/src/components/UploadPage.tsx +++ b/project/frontend/src/components/UploadPage.tsx @@ -1,11 +1,12 @@ import SettingsIcon from "@mui/icons-material/Settings"; -import { Backdrop, Box, Button, IconButton, Paper } from "@mui/material"; +import { Backdrop, Box, Button, IconButton, Paper, Typography } from "@mui/material"; import { useNavigate, useRouter } from "@tanstack/react-router"; import { useCallback, useEffect, useState } from "react"; import FileUpload from "react-material-file-upload"; import { socket } from "../socket"; import { API_HOST } from "../util/api"; import { CircularProgressWithLabel } from "./CircularProgressWithLabel"; +import DekaLogo from "../assets/Deka_logo.png"; export default function UploadPage() { const [files, setFiles] = useState([]); @@ -87,26 +88,50 @@ export default function UploadPage() { display="flex" flexDirection="column" alignItems="center" - justifyContent="center" + justifyContent="flex-start" height="100vh" bgcolor="white" + pt={3} > + + Company Logo + + navigate({ to: "/config" })}> + + + Pitchbook Extractor + + ); -} +} \ No newline at end of file -- 2.43.0 From 82f02c0772a08be5d414163b21294be7b87ce5b4 Mon Sep 17 00:00:00 2001 From: s8613 Date: Tue, 24 Jun 2025 11:40:04 +0200 Subject: [PATCH 2/3] Fixed page highlighting in multiple kpis details page. --- project/frontend/public/favicon.ico | Bin 0 -> 16398 bytes .../extractedResult_.$pitchBook.$kpi.tsx | 27 ++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 project/frontend/public/favicon.ico diff --git a/project/frontend/public/favicon.ico b/project/frontend/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df1c62acb26f75bee1ac035dddb6497091e77921 GIT binary patch literal 16398 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 literal 0 HcmV?d00001 diff --git a/project/frontend/src/routes/extractedResult_.$pitchBook.$kpi.tsx b/project/frontend/src/routes/extractedResult_.$pitchBook.$kpi.tsx index 1f2abef..69e226c 100644 --- a/project/frontend/src/routes/extractedResult_.$pitchBook.$kpi.tsx +++ b/project/frontend/src/routes/extractedResult_.$pitchBook.$kpi.tsx @@ -68,6 +68,7 @@ function ExtractedResultsPage() { const [customValue, setCustomValue] = useState(""); const [customPage, setCustomPage] = useState(""); const [editingCustomPage, setEditingCustomPage] = useState(false); + const [focusHighlightOverride, setFocusHighlightOverride] = useState<{ page: number; text: string } | null>(null); const originalValue = kpiValues[0]?.entity || ""; const originalPage = kpiValues[0]?.page || 0; @@ -102,6 +103,11 @@ function ExtractedResultsPage() { // Um zu prüfen, ob der Wert nur aus Leerzeichen besteht const isSelectedValueEmpty = selectedIndex === -1 ? customValue.trim() === "" : !selectedValue; + const focusHighlight = focusHighlightOverride || { + page: groupedKpiValues.at(selectedIndex)?.pages[0] || -1, + text: groupedKpiValues.at(selectedIndex)?.entity || "", + }; + useEffect(() => { const valueChanged = selectedValue !== originalValue; const pageChanged = selectedPage !== originalPage; @@ -159,12 +165,14 @@ function ExtractedResultsPage() { const value = event.target.value; if (value === "custom") { setSelectedIndex(-1); + setFocusHighlightOverride(null); } else { const index = Number.parseInt(value); setSelectedIndex(index); setCurrentPage(groupedKpiValues[index].pages[0]); setCustomValue(""); setCustomPage(""); + setFocusHighlightOverride(null); } }; @@ -174,7 +182,7 @@ function ExtractedResultsPage() { const value = event.target.value; setCustomValue(value); setSelectedIndex(-1); - }; + setFocusHighlightOverride(null); const handleCustomPageChange = ( event: React.ChangeEvent, @@ -191,6 +199,15 @@ function ExtractedResultsPage() { setSelectedIndex(index); setCustomValue(""); setCustomPage(""); + setFocusHighlightOverride(null); + }; + + const handlePageClick = (page: number, entity: string) => { + setCurrentPage(page); + setFocusHighlightOverride({ + page: page, + text: entity, + }); }; const handleBackClick = () => { @@ -325,7 +342,7 @@ function ExtractedResultsPage() { component="button" onClick={(e: React.MouseEvent) => { e.stopPropagation(); - setCurrentPage(page); + handlePageClick(page, item.entity); }} sx={{ cursor: "pointer", ml: i > 0 ? 1 : 0 }} > @@ -351,6 +368,7 @@ function ExtractedResultsPage() { }} onClick={() => { setSelectedIndex(-1); + setFocusHighlightOverride(null); }} > k.pages.map((page: number) => ({ page, text: k.entity }))) .reduce((acc, val) => acc.concat(val), [])} - focusHighlight={{ - page: groupedKpiValues.at(selectedIndex)?.pages[0] || -1, - text: groupedKpiValues.at(selectedIndex)?.entity || "", - }} + focusHighlight={focusHighlight} /> -- 2.43.0 From ed34687dc44e14130f17f7b5e3d275fd1f0749c9 Mon Sep 17 00:00:00 2001 From: s8613 Date: Tue, 24 Jun 2025 12:49:47 +0200 Subject: [PATCH 3/3] Fix highlighting for hyphenated values. Improve highlighting text matching logic. Handle text split across items. --- .../src/components/KennzahlenTable.tsx | 4 +- project/frontend/src/components/pdfViewer.tsx | 105 +++++++++++------- .../extractedResult_.$pitchBook.$kpi.tsx | 1 + 3 files changed, 68 insertions(+), 42 deletions(-) diff --git a/project/frontend/src/components/KennzahlenTable.tsx b/project/frontend/src/components/KennzahlenTable.tsx index 91a2591..71091d2 100644 --- a/project/frontend/src/components/KennzahlenTable.tsx +++ b/project/frontend/src/components/KennzahlenTable.tsx @@ -184,10 +184,10 @@ export default function KennzahlenTable({ - + Kennzahl - + Wert diff --git a/project/frontend/src/components/pdfViewer.tsx b/project/frontend/src/components/pdfViewer.tsx index ee68c8d..4d171a7 100644 --- a/project/frontend/src/components/pdfViewer.tsx +++ b/project/frontend/src/components/pdfViewer.tsx @@ -95,53 +95,78 @@ export default function PDFViewer({ useEffect(() => { const tmpPos: string[] = []; const tmpPosHighlight: string[] = []; - const textItems = textContent.filter( - (e) => e.text !== "" && e.text !== " ", - ); - textItems.forEach((e, i) => { - for (const s of highlight - .filter((h) => h.page === pageNumber) - .map((h) => h.text)) { - if (s.split(" ")[0] === e.text) { - if ( - s.split(" ").reduce((prev, curr, j) => { - return prev && curr === textItems[i + j].text; - }, true) - ) { - for ( - let k = textItems[i].i; - k < textItems[i + s.split(" ").length]?.i || - k < textItems[i + s.split(" ").length - 1]?.i; - k++ + if (textContent.length === 0) { + setPosHighlight([]); + setPosHighlightFocus([]); + return; + } + const findTextPositions = (searchText: string): number[] => { + const positions: number[] = []; + const normalizedSearch = searchText.toLowerCase().trim(); + + textContent.forEach((item, index) => { + if (item.text.toLowerCase().trim() === normalizedSearch) { + positions.push(index); + } + }); + + if (positions.length === 0) { + let cumulativeText = ''; + const textBoundaries: { start: number; end: number; index: number }[] = []; + + textContent.forEach((item, index) => { + const start = cumulativeText.length; + cumulativeText += item.text; + const end = cumulativeText.length; + textBoundaries.push({ start, end, index }); + }); + + const lowerCumulative = cumulativeText.toLowerCase(); + let searchIndex = lowerCumulative.indexOf(normalizedSearch); + + while (searchIndex !== -1) { + const endIndex = searchIndex + normalizedSearch.length; + + textBoundaries.forEach(boundary => { + if ( + (boundary.start <= searchIndex && searchIndex < boundary.end) || // Search starts in this item + (boundary.start < endIndex && endIndex <= boundary.end) || // Search ends in this item + (searchIndex <= boundary.start && boundary.end <= endIndex) // This item is completely within search ) { - tmpPos.push(textContent[k].posKey); + if (!positions.includes(boundary.index)) { + positions.push(boundary.index); + } } - } + }); + searchIndex = lowerCumulative.indexOf(normalizedSearch, searchIndex + 1); } } - - if (focusHighlight?.page === pageNumber) { - if (focusHighlight.text.split(" ")[0] === e.text) { - if ( - focusHighlight.text.split(" ").reduce((prev, curr, j) => { - return prev && curr === textItems[i + j].text; - }, true) - ) { - for ( - let k = textItems[i].i; - k < textItems[i + focusHighlight.text.split(" ").length]?.i || - k < textItems[i + focusHighlight.text.split(" ").length - 1]?.i; - k++ - ) { - tmpPosHighlight.push(textContent[k].posKey); - } + return positions.sort((a, b) => a - b); + }; + highlight + .filter(h => h.page === pageNumber) + .forEach(highlightItem => { + const positions = findTextPositions(highlightItem.text); + positions.forEach(pos => { + if (pos >= 0 && pos < textContent.length) { + tmpPos.push(textContent[pos].posKey); } + }); + }); + + if (focusHighlight?.page === pageNumber && focusHighlight.text) { + const positions = findTextPositions(focusHighlight.text); + + positions.forEach(pos => { + if (pos >= 0 && pos < textContent.length) { + tmpPosHighlight.push(textContent[pos].posKey); } - } - }); - setPosHighlight(tmpPos); - setPosHighlightFocus(tmpPosHighlight); + }); + } + + setPosHighlight([...new Set(tmpPos)]); + setPosHighlightFocus([...new Set(tmpPosHighlight)]); }, [highlight, focusHighlight, pageNumber, textContent]); const onGetTextSuccess: OnGetTextSuccess = useCallback((fullText) => { diff --git a/project/frontend/src/routes/extractedResult_.$pitchBook.$kpi.tsx b/project/frontend/src/routes/extractedResult_.$pitchBook.$kpi.tsx index 69e226c..0194c09 100644 --- a/project/frontend/src/routes/extractedResult_.$pitchBook.$kpi.tsx +++ b/project/frontend/src/routes/extractedResult_.$pitchBook.$kpi.tsx @@ -183,6 +183,7 @@ function ExtractedResultsPage() { setCustomValue(value); setSelectedIndex(-1); setFocusHighlightOverride(null); + } const handleCustomPageChange = ( event: React.ChangeEvent, -- 2.43.0