diff --git a/frontend/src/components/InteractionalStats.tsx b/frontend/src/components/InteractionalStats.tsx index 43567c5..11ab3a2 100644 --- a/frontend/src/components/InteractionalStats.tsx +++ b/frontend/src/components/InteractionalStats.tsx @@ -40,6 +40,9 @@ const InteractionalStats = ({ data }: InteractionalStatsProps) => { const singleCommentAuthorRatio = typeof concentration?.single_comment_author_ratio === "number" ? concentration.single_comment_author_ratio : null; + const singleCommentAuthors = typeof concentration?.single_comment_authors === "number" + ? concentration.single_comment_authors + : null; const topPairs = (data.top_interaction_pairs ?? []) .filter((item): item is [[string, string], number] => { @@ -84,48 +87,55 @@ const InteractionalStats = ({ data }: InteractionalStatsProps) => { return (
+
+

Conversation Overview

+

Who talks to who, and how concentrated the replies are.

+
+
-

Interaction Visuals

-

Quick charts for interaction direction and conversation concentration.

+

Conversation Visuals

+

Main reply links and concentration split.

@@ -175,8 +185,8 @@ const InteractionalStats = ({ data }: InteractionalStatsProps) => {
-

Top Interaction Pairs

-

Most frequent directed reply paths between users.

+

Frequent Reply Paths

+

Most common user-to-user reply paths.

{!topPairs.length ? (
No interaction pair data available.
) : ( diff --git a/frontend/src/components/LinguisticStats.tsx b/frontend/src/components/LinguisticStats.tsx index 3569511..34fdafd 100644 --- a/frontend/src/components/LinguisticStats.tsx +++ b/frontend/src/components/LinguisticStats.tsx @@ -21,28 +21,33 @@ const LinguisticStats = ({ data }: LinguisticStatsProps) => { return (
+
+

Language Overview

+

Quick read on how broad and repetitive the wording is.

+
+

Top Words

-

Most frequent filtered terms.

+

Most used single words.

{topWords.map((item) => (
@@ -55,7 +60,7 @@ const LinguisticStats = ({ data }: LinguisticStatsProps) => {

Top Bigrams

-

Most frequent 2-word phrases.

+

Most used 2-word phrases.

{topBigrams.map((item) => (
@@ -68,7 +73,7 @@ const LinguisticStats = ({ data }: LinguisticStatsProps) => {

Top Trigrams

-

Most frequent 3-word phrases.

+

Most used 3-word phrases.

{topTrigrams.map((item) => (
diff --git a/frontend/src/components/SummaryStats.tsx b/frontend/src/components/SummaryStats.tsx index 0ff46ac..98f54ad 100644 --- a/frontend/src/components/SummaryStats.tsx +++ b/frontend/src/components/SummaryStats.tsx @@ -58,15 +58,13 @@ const SummaryStats = ({userData, timeData, contentData, summary}: SummaryStatsPr const [selectedUser, setSelectedUser] = useState(null); const selectedUserData: User | null = userData?.users.find((u) => u.author === selectedUser) ?? null; - console.log(summary) - return (
{/* main grid*/}
-

Events per Day

-

Trend of activity over time

+

Activity Over Time

+

How much posting happened each day.

- new Date(d.date) >= new Date('2026-01-10'))}> + @@ -154,8 +152,8 @@ const SummaryStats = ({userData, timeData, contentData, summary}: SummaryStatsPr {/* Word Cloud */}
-

Word Cloud

-

Most common terms across events

+

Common Words

+

Frequently used words across the dataset.

-

Top Users

-

Most active authors

+

Most Active Users

+

Who posted the most events.

{userData?.top_users.slice(0, 100).map((item) => ( @@ -195,8 +193,8 @@ const SummaryStats = ({userData, timeData, contentData, summary}: SummaryStatsPr {/* Heatmap */}
-

Heatmap

-

Activity density across time

+

Weekly Activity Pattern

+

When activity tends to happen by weekday and hour.

@@ -214,4 +212,4 @@ const SummaryStats = ({userData, timeData, contentData, summary}: SummaryStatsPr ); } -export default SummaryStats; \ No newline at end of file +export default SummaryStats; diff --git a/frontend/src/components/UserStats.tsx b/frontend/src/components/UserStats.tsx index bb060cc..b467998 100644 --- a/frontend/src/components/UserStats.tsx +++ b/frontend/src/components/UserStats.tsx @@ -87,15 +87,15 @@ const UserStats = (props: { data: UserAnalysisResponse }) => { style={{ gridColumn: "span 3" }} /> { /> ${strongestLink.target}` : "—"} - sublabel={strongestLink ? `${strongestLink.value.toLocaleString()} interactions` : "No graph edges after filtering"} + sublabel={strongestLink ? `${strongestLink.value.toLocaleString()} replies` : "No graph links after filtering"} style={{ gridColumn: "span 6" }} /> {

User Interaction Graph

- Nodes represent users and links represent conversation interactions. + Each node is a user, and each link shows replies between them.