Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
c5c4bea
add icons for the different result sections
rosannamilner Feb 3, 2026
dabbeaa
add AssistantSummary with icons navigating to correct sections
rosannamilner Feb 3, 2026
8c13706
changed to look like buttons, with loading circle progress before ser…
rosannamilner Feb 4, 2026
087c0dd
icons always display and are greyed out when count is 0
rosannamilner Feb 4, 2026
ade5cd2
only show youtube comment results when link is youtube
rosannamilner Feb 4, 2026
d368992
split media icon into two separate ones (image and video) and use plu…
rosannamilner Feb 4, 2026
d806fa1
change icons to outlined versions
rosannamilner Feb 4, 2026
c71b448
merged SummaryIcon and SvgSummaryIcon
rosannamilner Feb 4, 2026
bf70ca1
if single media present, clicking on summary icon for image and video…
rosannamilner Feb 4, 2026
5883633
for text exists or not, change from a checkmark and 0 to a dot indicator
rosannamilner Feb 4, 2026
34980cd
changed from iconbutton to buttonbase
rosannamilner Feb 4, 2026
933420b
ner labels match
rosannamilner Mar 4, 2026
340006a
add tab index to redux to navigate to persuasion techniques and machi…
rosannamilner Mar 4, 2026
ad1624a
add arcsLength to configs for backend so the thresholds can be used i…
rosannamilner Mar 4, 2026
4131b46
reworked buttons to be in groups and change to orange when deemed to …
rosannamilner Mar 4, 2026
3012bd6
if user clicks on image or video button, naviaget to correct section …
rosannamilner Mar 4, 2026
0fc12e8
remove unused icons and correctly check source cred length for falsy
rosannamilner Mar 4, 2026
5bd051e
merge conflicts
rosannamilner Mar 4, 2026
ac13c5b
set machine generated text to 0% when disabled
rosannamilner Mar 4, 2026
5a58114
match colour of text to that of subheader in AssistantMediaResult
rosannamilner Mar 4, 2026
6b93ae8
all buttons move to next line when window resized
rosannamilner Mar 4, 2026
1039124
added templates for the summary tooltips and moved persuasionTechniqu…
rosannamilner Mar 4, 2026
b360f11
added overall results to tooltips
rosannamilner Mar 9, 2026
72194a7
remove leftover dbkfMedia varibales and make FCSS appear as beta-test…
rosannamilner Mar 10, 2026
9339d75
changed non warning colour from primary to info
rosannamilner Mar 10, 2026
c3c6b5a
moved image, video and named entity counts into tooltips too
rosannamilner Mar 10, 2026
1e6ac37
add unlabelled count to summary of extracted urls tooltip
rosannamilner Mar 11, 2026
2f5af01
added chips to tooltips and changed highlighted text to chips
rosannamilner Mar 11, 2026
1a5b2af
change persuasion technique count to category count
rosannamilner Mar 11, 2026
442a9a9
correct keyword labels
rosannamilner Mar 11, 2026
8f947a4
corrected keywords
rosannamilner Mar 11, 2026
57d531b
added double space in tooltip
rosannamilner Mar 11, 2026
dfda8f1
added summary keyword and icon
rosannamilner Mar 11, 2026
f6d38c2
add border to make button clearer in dark mode
rosannamilner Mar 11, 2026
c2c2247
changed persuasion technique categories
rosannamilner Mar 16, 2026
2b6c2b8
change icon and title to be consistent with others
rosannamilner Mar 16, 2026
31d875b
remove redundant div wrappers
rosannamilner Mar 16, 2026
e6e8965
Merge branch 'beta-master' into assistant/results-summary
rosannamilner Apr 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions src/components/NavItems/Assistant/Assistant.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ import {
} from "@/redux/actions/tools/assistantActions";
import { setError } from "@/redux/reducers/errorReducer";

import AssistantSummary from "./AssistantScrapeResults/AssistantSummary";
import {
TransAssistantHelpFourTooltip,
TransAssistantHelpThreeTooltip,
Expand Down Expand Up @@ -490,6 +491,11 @@ const Assistant = () => {

<CardContent>
<Grid container spacing={4}>
{/* assistant result summary */}
<Grid size={{ xs: 12 }}>
<AssistantSummary />
</Grid>

{/* warnings and api status checks */}
{dbkfTextMatch || prevFactChecksResult ? (
<Grid
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import Tooltip from "@mui/material/Tooltip";
import Typography from "@mui/material/Typography";

import HelpOutlineOutlinedIcon from "@mui/icons-material/HelpOutlineOutlined";
import LabelOutlinedIcon from "@mui/icons-material/LabelOutlined";

import { i18nLoadNamespace } from "@/components/Shared/Languages/i18nLoadNamespace";
import useMyStyles from "@/components/Shared/MaterialUiStyles/useMyStyles";
Expand Down Expand Up @@ -129,10 +130,15 @@ const AssistantNEResult = () => {

return (
<Grid size={{ xs: 12 }}>
<Card variant="outlined">
<Card id="named-entity-results" variant="outlined">
<CardHeader
className={classes.assistantCardHeader}
title={keyword("named_entity_title")}
title={
<Box sx={{ display: "flex", alignItems: "center", gap: 1 }}>
<LabelOutlinedIcon color="primary" />
{keyword("named_entity_title")}
</Box>
}
action={
<Tooltip
interactive={"true"}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import TableRow from "@mui/material/TableRow";
import Tooltip from "@mui/material/Tooltip";
import Typography from "@mui/material/Typography";

import CommentOutlinedIcon from "@mui/icons-material/CommentOutlined";
import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
import HelpOutlineOutlinedIcon from "@mui/icons-material/HelpOutlineOutlined";
import KeyboardArrowDownIcon from "@mui/icons-material/KeyboardArrowDown";
Expand Down Expand Up @@ -595,10 +596,18 @@ const AssistantCommentResult = ({ collectedComments }) => {
}

return (
<Card data-testid="assistant-collected-comments">
<Card
id="assistant-collected-comments"
data-testid="assistant-collected-comments"
>
<CardHeader
className={classes.assistantCardHeader}
title={keyword("collected_comments_title")}
title={
<Box sx={{ display: "flex", alignItems: "center", gap: 1 }}>
<CommentOutlinedIcon color="primary" />
{keyword("collected_comments_title")}
</Box>
}
action={
<Tooltip
interactive={"true"}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import Tooltip from "@mui/material/Tooltip";
import Typography from "@mui/material/Typography";

import HelpOutlineOutlinedIcon from "@mui/icons-material/HelpOutlineOutlined";
import LinkOutlinedIcon from "@mui/icons-material/LinkOutlined";

import ExtractedUrlDomainAnalysisResults from "@/components/NavItems/Assistant/AssistantCheckResults/ExtractedUrlDomainAnalysisResults";
import CopyButton from "@/components/Shared/CopyButton";
Expand Down Expand Up @@ -458,10 +459,15 @@ const AssistantLinkResult = () => {
}

return (
<Card variant="outlined">
<Card id="extracted-urls" variant="outlined">
<CardHeader
className={classes.assistantCardHeader}
title={keyword("extracted_urls_url_domain_analysis")}
title={
<Box sx={{ display: "flex", alignItems: "center", gap: 1 }}>
<LinkOutlinedIcon color="primary" />
{keyword("extracted_urls_url_domain_analysis")}
</Box>
}
action={
<Tooltip
interactive={"true"}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,20 +13,26 @@ import CardHeader from "@mui/material/CardHeader";
import Collapse from "@mui/material/Collapse";
import Grid from "@mui/material/Grid";
import IconButton from "@mui/material/IconButton";
import SvgIcon from "@mui/material/SvgIcon";
import Tooltip from "@mui/material/Tooltip";
import Typography from "@mui/material/Typography";

import CollectionsOutlinedIcon from "@mui/icons-material/CollectionsOutlined";
import ExpandMoreIcon from "@mui/icons-material/ExpandMore";
import HelpOutlineOutlinedIcon from "@mui/icons-material/HelpOutlineOutlined";

import ImageIcon from "@/components/NavBar/images/SVG/Image/Images.svg";
import VideoIcon from "@/components/NavBar/images/SVG/Video/Video.svg";
import ImageGridList from "@/components/Shared/ImageGridList/ImageGridList";
import { i18nLoadNamespace } from "@/components/Shared/Languages/i18nLoadNamespace";
import useMyStyles from "@/components/Shared/MaterialUiStyles/useMyStyles";
import VideoGridList from "@/components/Shared/VideoGridList/VideoGridList";
import { TOOLS_CATEGORIES } from "@/constants/tools";
import {
setImageResultsExpanded,
setProcessUrl,
setStateExpanded,
setVideoResultsExpanded,
} from "@/redux/actions/tools/assistantActions";

import {
Expand Down Expand Up @@ -58,6 +64,13 @@ const AssistantMediaResult = ({ title = null }) => {
// third party topMenuItem states
//const ocrLoading = useSelector(state=>state.assistant.ocrLoading)

const imageResultsExpanded = useSelector(
(state) => state.assistant.imageResultsExpanded,
);
const videoResultsExpanded = useSelector(
(state) => state.assistant.videoResultsExpanded,
);

const resultIsImage = resultProcessType === TOOLS_CATEGORIES.IMAGE;

// local control state
Expand Down Expand Up @@ -112,38 +125,40 @@ const AssistantMediaResult = ({ title = null }) => {

return (
<Card
id="url-media-results"
variant="outlined"
data-testid="url-media-results"
hidden={!filteredImageList.length && !videoList.length}
>
<CardHeader
className={classes.assistantCardHeader}
title={title ? keyword(title) : keyword("media_title")}
title={
<Box sx={{ display: "flex", alignItems: "center", gap: 1 }}>
<CollectionsOutlinedIcon color="primary" />
{title ? keyword(title) : keyword("media_title")}
</Box>
}
subheader={keyword("media_below")}
action={
<div style={{ display: "flex" }}>
<div>
<Tooltip
interactive={"true"}
title={
<>
<Trans
t={keyword}
i18nKey="media_tooltip"
components={{
b: <b />,
}}
/>
<TransHtmlDoubleLineBreak keyword={keyword} />
<TransSupportedToolsLink keyword={keyword} />
</>
}
classes={{ tooltip: classes.assistantTooltip }}
>
<HelpOutlineOutlinedIcon className={classes.toolTipIcon} />
</Tooltip>
</div>
</div>
<Tooltip
interactive={"true"}
title={
<>
<Trans
t={keyword}
i18nKey="media_tooltip"
components={{
b: <b />,
}}
/>
<TransHtmlDoubleLineBreak keyword={keyword} />
<TransSupportedToolsLink keyword={keyword} />
</>
}
classes={{ tooltip: classes.assistantTooltip }}
>
<HelpOutlineOutlinedIcon className={classes.toolTipIcon} />
</Tooltip>
}
/>

Expand Down Expand Up @@ -178,7 +193,7 @@ const AssistantMediaResult = ({ title = null }) => {
) : null}
{processUrl !== null ? (
resultIsImage ? (
<Grid container spacing={2}>
<Grid container spacing={2} id="assistant-image-results">
<Grid size={6}>
<AssistantImageResult />
</Grid>
Expand All @@ -187,7 +202,7 @@ const AssistantMediaResult = ({ title = null }) => {
</Grid>
</Grid>
) : (
<Grid container spacing={2}>
<Grid container spacing={2} id="assistant-video-results">
<Grid size={6}>
<AssistantVideoResult />
</Grid>
Expand All @@ -204,11 +219,24 @@ const AssistantMediaResult = ({ title = null }) => {
<CardContent style={{ wordBreak: "break-word" }}>
{/* image list */}
{filteredImageList.length > 0 ? (
<Accordion defaultExpanded>
<Accordion
expanded={imageResultsExpanded}
onChange={(_, expanded) =>
dispatch(setImageResultsExpanded(expanded))
}
id="assistant-image-results"
>
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
<Typography variant="h6">
{keyword("images_label")}
</Typography>
<Box sx={{ display: "flex", alignItems: "center", gap: 1 }}>
<SvgIcon
component={ImageIcon}
color="primary"
inheritViewBox
/>
<Typography variant="h6">
{keyword("images_label")}
</Typography>
</Box>
</AccordionSummary>
<AccordionDetails>
<ImageGridList
Expand All @@ -225,11 +253,24 @@ const AssistantMediaResult = ({ title = null }) => {

{/* video list */}
{videoList.length > 0 ? (
<Accordion defaultExpanded>
<Accordion
expanded={videoResultsExpanded}
onChange={(_, expanded) =>
dispatch(setVideoResultsExpanded(expanded))
}
id="assistant-video-results"
>
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
<Typography variant="h6">
{keyword("videos_label")}
</Typography>
<Box sx={{ display: "flex", alignItems: "center", gap: 1 }}>
<SvgIcon
component={VideoIcon}
color="primary"
inheritViewBox
/>
<Typography variant="h6">
{keyword("videos_label")}
</Typography>
</Box>
</AccordionSummary>
<AccordionDetails style={{ paddingTop: 0 }}>
<VideoGridList
Expand Down
Loading
Loading