@growth-labs/cms 0.8.24 → 0.8.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/engine/published-content.d.ts.map +1 -1
- package/dist/engine/published-content.js +9 -3
- package/dist/engine/published-content.js.map +1 -1
- package/dist/providers/types.d.ts +7 -1
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js.map +1 -1
- package/dist/schema/migrations.d.ts.map +1 -1
- package/dist/schema/migrations.js +7 -4
- package/dist/schema/migrations.js.map +1 -1
- package/dist/surveys/readout.d.ts +69 -0
- package/dist/surveys/readout.d.ts.map +1 -0
- package/dist/surveys/readout.js +157 -0
- package/dist/surveys/readout.js.map +1 -0
- package/dist/surveys/schema.d.ts +1 -0
- package/dist/surveys/schema.d.ts.map +1 -1
- package/dist/surveys/schema.js +1 -1
- package/dist/surveys/schema.js.map +1 -1
- package/dist/ui/screens/PodcastListeningScreen.d.ts.map +1 -1
- package/dist/ui/screens/PodcastListeningScreen.js +16 -2
- package/dist/ui/screens/PodcastListeningScreen.js.map +1 -1
- package/dist/ui/screens/SurveyResponsesScreen.d.ts +19 -1
- package/dist/ui/screens/SurveyResponsesScreen.d.ts.map +1 -1
- package/dist/ui/screens/SurveyResponsesScreen.js +203 -96
- package/dist/ui/screens/SurveyResponsesScreen.js.map +1 -1
- package/dist/ui/screens/podcast-listening-data.d.ts +1 -1
- package/dist/ui/screens/podcast-listening-data.d.ts.map +1 -1
- package/dist/ui/screens/podcast-listening-data.js +26 -1
- package/dist/ui/screens/podcast-listening-data.js.map +1 -1
- package/dist/ui/styles/broadsheet.css +135 -0
- package/package.json +2 -3
- package/src/engine/published-content.ts +11 -3
- package/src/providers/types.ts +7 -1
- package/src/schema/migrations.ts +7 -4
- package/src/surveys/readout.ts +243 -0
- package/src/surveys/schema.ts +1 -1
- package/src/ui/screens/PodcastListeningScreen.tsx +30 -0
- package/src/ui/screens/SurveyResponsesScreen.tsx +769 -290
- package/src/ui/screens/podcast-listening-data.ts +33 -1
- package/src/ui/styles/broadsheet.css +135 -0
|
@@ -2,7 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
3
3
|
import { canLabelSurveyAnswers, canViewSurveyVerbatims } from '../../surveys/access.js';
|
|
4
4
|
import { isSurveyErrorCode, SURVEY_ERROR_CODE_HEADER, SURVEY_ERROR_DEFINITIONS, } from '../../surveys/errors.js';
|
|
5
|
-
import {
|
|
5
|
+
import { answerValue, compareQuestion, formatAverage, groupResponses, headlineScale, MEMBERSHIP_SPLIT, optionRows, percent, questionTakeaway, scaleMood, share, splitQuestions, summarizeScale, } from '../../surveys/readout.js';
|
|
6
|
+
import { MAX_FREE_TEXT_ENTRIES, SurveyResultsSchema, } from '../../surveys/schema.js';
|
|
6
7
|
import { useWorkspace } from '../workspace-context.js';
|
|
7
8
|
export function parseSurveyResultsPayload(value) {
|
|
8
9
|
const parsed = SurveyResultsSchema.safeParse(value);
|
|
@@ -32,10 +33,13 @@ export async function classifySurveyResultsResponse(response) {
|
|
|
32
33
|
return { kind: 'retryable' };
|
|
33
34
|
}
|
|
34
35
|
const PAGE_SIZE = 100;
|
|
36
|
+
// Five groups is as many as a reader can tell apart by color; more fold into a note.
|
|
37
|
+
const MAX_GROUPS = 5;
|
|
35
38
|
export function SurveyResponsesScreen({ surveyId }) {
|
|
36
39
|
const [state, setState] = useState({ kind: 'loading' });
|
|
37
40
|
const [offset, setOffset] = useState(0);
|
|
38
41
|
const [labelSaveFailed, setLabelSaveFailed] = useState(false);
|
|
42
|
+
const [everyone, setEveryone] = useState({ kind: 'idle' });
|
|
39
43
|
const load = useCallback(async (nextOffset) => {
|
|
40
44
|
setState({ kind: 'loading' });
|
|
41
45
|
try {
|
|
@@ -46,6 +50,30 @@ export function SurveyResponsesScreen({ surveyId }) {
|
|
|
46
50
|
setState({ kind: 'retryable' });
|
|
47
51
|
}
|
|
48
52
|
}, [surveyId]);
|
|
53
|
+
// Group comparisons are worked out in the browser, so they read every page
|
|
54
|
+
// first: a comparison over one page of 100 would sit beside survey-wide
|
|
55
|
+
// totals while describing different people. Pages load one after another
|
|
56
|
+
// to keep the reporting upstream's load flat; any failed page fails the
|
|
57
|
+
// whole comparison rather than quietly comparing a subset.
|
|
58
|
+
const loadEveryone = useCallback(async (total) => {
|
|
59
|
+
setEveryone({ kind: 'loading' });
|
|
60
|
+
const responses = new Map();
|
|
61
|
+
try {
|
|
62
|
+
for (let pageOffset = 0; pageOffset < total; pageOffset += PAGE_SIZE) {
|
|
63
|
+
const page = await classifySurveyResultsResponse(await fetch(`/admin/api/surveys/${encodeURIComponent(surveyId)}?offset=${pageOffset}`));
|
|
64
|
+
if (page.kind !== 'ready') {
|
|
65
|
+
setEveryone({ kind: 'failed' });
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
for (const response of page.data.responses)
|
|
69
|
+
responses.set(response.id, response);
|
|
70
|
+
}
|
|
71
|
+
setEveryone({ kind: 'ready', responses: [...responses.values()] });
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
setEveryone({ kind: 'failed' });
|
|
75
|
+
}
|
|
76
|
+
}, [surveyId]);
|
|
49
77
|
// Owner-only classification toggle: on success the label is applied to the
|
|
50
78
|
// already-loaded page (no refetch); on failure the toggle stays honest on
|
|
51
79
|
// its old value and a note says the save did not land.
|
|
@@ -76,7 +104,7 @@ export function SurveyResponsesScreen({ surveyId }) {
|
|
|
76
104
|
void load(offset);
|
|
77
105
|
}, [load, offset]);
|
|
78
106
|
const { state: workspace } = useWorkspace();
|
|
79
|
-
return (_jsx(SurveyResponsesBody, { surveyId: surveyId, state: state, offset: offset, role: workspace.user?.role ?? null, onRetry: () => void load(offset), onOffsetChange: setOffset, onSetLabel: setLabel, labelSaveFailed: labelSaveFailed }));
|
|
107
|
+
return (_jsx(SurveyResponsesBody, { surveyId: surveyId, state: state, offset: offset, role: workspace.user?.role ?? null, onRetry: () => void load(offset), onOffsetChange: setOffset, onSetLabel: setLabel, labelSaveFailed: labelSaveFailed, everyone: everyone, onLoadEveryone: (total) => void loadEveryone(total) }));
|
|
80
108
|
}
|
|
81
109
|
function withAnswerLabel(data, responseId, questionId, label) {
|
|
82
110
|
return {
|
|
@@ -88,7 +116,7 @@ function withAnswerLabel(data, responseId, questionId, label) {
|
|
|
88
116
|
: entry),
|
|
89
117
|
};
|
|
90
118
|
}
|
|
91
|
-
export function SurveyResponsesBody({ surveyId, state, offset = 0, role = null, onRetry, onOffsetChange, onSetLabel, labelSaveFailed = false, }) {
|
|
119
|
+
export function SurveyResponsesBody({ surveyId, state, offset = 0, role = null, onRetry, onOffsetChange, onSetLabel, labelSaveFailed = false, everyone = { kind: 'idle' }, onLoadEveryone, compareBy = '', commentMood = '', }) {
|
|
92
120
|
const canSeeVerbatims = canViewSurveyVerbatims(role);
|
|
93
121
|
const canLabel = canLabelSurveyAnswers(role);
|
|
94
122
|
if (state.kind === 'loading')
|
|
@@ -106,27 +134,91 @@ export function SurveyResponsesBody({ surveyId, state, offset = 0, role = null,
|
|
|
106
134
|
if (state.kind === 'retryable')
|
|
107
135
|
return (_jsx(StatusPage, { title: "Survey responses could not be loaded.", detail: "The request did not reach the reporting upstream, or it failed before replying.", retry: onRetry }));
|
|
108
136
|
const { data } = state;
|
|
109
|
-
const shown = data.responses.length;
|
|
110
137
|
const total = data.survey.responseCount;
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
? 'No responses yet'
|
|
116
|
-
: `Showing ${rangeStart}–${rangeEnd} of ${total} ${total === 1 ? 'response' : 'responses'}`, ' ', "\u00B7 ", data.survey.status] })] }), _jsx("a", { className: "btn", href: `/admin/api/surveys/${encodeURIComponent(surveyId)}/responses.csv`, children: "Export CSV" })] }), total === 0 ? (_jsxs("div", { className: "card", role: "status", children: [_jsx("h2", { className: "card-title", children: "No responses yet" }), _jsx("p", { className: "page-sub", children: "Aggregates and answers will appear after submission." })] })) : (_jsxs(_Fragment, { children: [_jsx(HeadlineScale, { questions: data.questions }), canSeeVerbatims ? (_jsxs(_Fragment, { children: [canLabel && (data.unlabeledCount ?? 0) > 0 ? (_jsx("p", { className: "page-sub", role: "status", style: { marginTop: 24 }, children: unlabeledAnswersNotice(data.unlabeledCount ?? 0) })) : null, canLabel && (data.personalDetailsCount ?? 0) > 0 ? (_jsx("p", { className: "page-sub", role: "status", style: { marginTop: 24 }, children: personalDetailsNotice(data.personalDetailsCount ?? 0) })) : null, labelSaveFailed && canLabel ? (_jsx("p", { className: "page-sub", role: "alert", style: { marginTop: 24 }, children: "The last label change could not be saved. Try again." })) : null, _jsx(VerbatimFeed, { data: data, canLabel: canLabel, onSetLabel: onSetLabel })] })) : (_jsxs("div", { className: "card", role: "status", style: { marginTop: 24 }, children: [_jsx("h2", { className: "card-title", children: "Individual answers are restricted" }), _jsx("p", { className: "page-sub", children: "Aggregates below are available to your role. Verbatim answers and respondent attribution require owner or senior editor." })] })), _jsx(Aggregates, { data: data }), (offset > 0 || hasMore) && onOffsetChange ? (_jsxs("div", { className: "page-head", style: { marginTop: 24 }, children: [_jsx("button", { className: "btn", type: "button", disabled: offset === 0, onClick: () => onOffsetChange(Math.max(offset - PAGE_SIZE, 0)), children: "Previous" }), _jsx("button", { className: "btn", type: "button", disabled: !hasMore, onClick: () => onOffsetChange(offset + PAGE_SIZE), children: "Next" })] })) : null] }))] }));
|
|
138
|
+
const headline = headlineScale(data.questions);
|
|
139
|
+
return (_jsxs("div", { className: "page page-wide fade-in svy", style: { maxWidth: 1340 }, children: [_jsxs("div", { className: "page-head", children: [_jsxs("div", { children: [_jsx("div", { className: "kicker", children: "Survey results" }), _jsx("h1", { className: "page-title", children: data.survey.title }), _jsx("div", { className: "page-sub", children: total === 0
|
|
140
|
+
? 'No responses yet'
|
|
141
|
+
: `${total} ${total === 1 ? 'response' : 'responses'} · ${surveyStatusLabel(data.survey.status)}` })] }), _jsx("a", { className: "btn", href: `/admin/api/surveys/${encodeURIComponent(surveyId)}/responses.csv`, children: "Export CSV" })] }), total === 0 ? (_jsxs("div", { className: "card", role: "status", children: [_jsx("h2", { className: "card-title", children: "No responses yet" }), _jsx("p", { className: "page-sub", children: "Charts and comments will appear after the first submission." })] })) : (_jsxs(_Fragment, { children: [headline && headline.answerCount > 0 ? _jsx(Headline, { question: headline }) : null, _jsx(Results, { data: data, everyone: everyone, onLoadEveryone: onLoadEveryone, initialCompareBy: compareBy }), canSeeVerbatims ? (_jsx(Comments, { data: data, offset: offset, canLabel: canLabel, onSetLabel: onSetLabel, labelSaveFailed: labelSaveFailed, onOffsetChange: onOffsetChange, everyone: everyone, onLoadEveryone: onLoadEveryone, initialMood: commentMood })) : (_jsxs("div", { className: "card svy-section", role: "status", children: [_jsx("h2", { className: "card-title", children: "Individual answers are restricted" }), _jsx("p", { className: "page-sub", children: "The charts above are available to your role. What readers wrote, and who wrote it, requires owner or senior editor." })] }))] }))] }));
|
|
117
142
|
}
|
|
143
|
+
// ── Headline ────────────────────────────────────────────────────────────
|
|
118
144
|
// The first scale question is the survey's headline number. Leading with the
|
|
119
|
-
// distribution keeps one harsh
|
|
120
|
-
function
|
|
121
|
-
const
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
const
|
|
129
|
-
|
|
145
|
+
// distribution keeps one harsh comment from setting the tone of a readout.
|
|
146
|
+
function Headline({ question }) {
|
|
147
|
+
const summary = summarizeScale(question.options, question.distribution);
|
|
148
|
+
return (_jsxs("section", { className: "card svy-headline", "aria-labelledby": "survey-headline", children: [_jsx("div", { className: "kicker", children: `Headline · Q${question.position + 1} · ${summary.answered} answered` }), _jsx("h2", { className: "svy-headline-prompt", id: "survey-headline", children: question.prompt }), _jsxs("div", { className: "svy-headline-body", children: [_jsxs("div", { children: [_jsx("div", { className: "svy-big", children: percent(summary.happy, summary.answered) }), _jsx("div", { className: "svy-big-label", children: `are happy — they rated it ${summary.happyRange} out of ${summary.max}` }), _jsxs("dl", { className: "svy-facts", children: [_jsxs("div", { children: [_jsxs("dt", { children: [_jsx("span", { className: "svy-swatch mood-unhappy", "aria-hidden": "true" }), `Unhappy (${summary.unhappyRange})`] }), _jsx("dd", { children: `${percent(summary.unhappy, summary.answered)} · ${people(summary.unhappy)}` })] }), summary.neutralValue !== null ? (_jsxs("div", { children: [_jsxs("dt", { children: [_jsx("span", { className: "svy-swatch mood-neutral", "aria-hidden": "true" }), `In the middle (${summary.neutralValue})`] }), _jsx("dd", { children: `${percent(summary.neutral, summary.answered)} · ${people(summary.neutral)}` })] })) : null, _jsxs("div", { children: [_jsxs("dt", { children: [_jsx("span", { className: "svy-swatch mood-happy", "aria-hidden": "true" }), `Happy (${summary.happyRange})`] }), _jsx("dd", { children: `${percent(summary.happy, summary.answered)} · ${people(summary.happy)}` })] }), _jsxs("div", { children: [_jsx("dt", { children: "Average" }), _jsx("dd", { children: `${formatAverage(summary.average)} out of ${summary.max}` })] })] })] }), _jsx(ScaleColumns, { question: question })] })] }));
|
|
149
|
+
}
|
|
150
|
+
function ScaleColumns({ question }) {
|
|
151
|
+
const { min, max } = question.options;
|
|
152
|
+
const summary = summarizeScale(question.options, question.distribution);
|
|
153
|
+
const values = Array.from({ length: max - min + 1 }, (_, index) => min + index);
|
|
154
|
+
const peak = Math.max(1, ...values.map((value) => question.distribution[String(value)] ?? 0));
|
|
155
|
+
const columns = { gridTemplateColumns: `repeat(${values.length}, minmax(0, 1fr))` };
|
|
156
|
+
return (_jsxs("figure", { className: "svy-cols", "aria-label": `How people rated it, from ${min} to ${max}`, children: [_jsx("div", { className: "svy-cols-plot", style: columns, children: values.map((value) => {
|
|
157
|
+
const count = question.distribution[String(value)] ?? 0;
|
|
158
|
+
return (_jsxs("div", { className: "svy-col", title: `Rated ${value}: ${people(count)} (${percent(count, summary.answered)})`, children: [_jsx("span", { className: "svy-col-value", children: percent(count, summary.answered) }), _jsx("span", { className: `svy-col-bar mood-${scaleMood(value, min, max)}`, style: { height: `${(count / peak) * 100}%` } })] }, value));
|
|
159
|
+
}) }), _jsx("div", { className: "svy-cols-axis", style: columns, children: values.map((value) => (_jsx("span", { children: value }, value))) }), summary.average !== null ? (_jsx("div", { className: "svy-cols-avg", children: _jsx("span", { style: { left: `${((summary.average - min + 0.5) / values.length) * 100}%` }, children: `▲ average ${formatAverage(summary.average)}` }) })) : null, _jsxs("figcaption", { className: "svy-cols-caption", children: [_jsx("span", { children: `${min} = lowest` }), _jsx("span", { children: `highest = ${max}` })] })] }));
|
|
160
|
+
}
|
|
161
|
+
// ── Results by question ─────────────────────────────────────────────────
|
|
162
|
+
function Results({ data, everyone, onLoadEveryone, initialCompareBy, }) {
|
|
163
|
+
const [compareBy, setCompareBy] = useState(initialCompareBy);
|
|
164
|
+
const total = data.survey.responseCount;
|
|
165
|
+
// Comparing by an answer needs each person's answers. A provider that sends
|
|
166
|
+
// none can still compare members with non-members, so only that is offered.
|
|
167
|
+
const hasAnswers = data.responses.some((response) => (response.answers ?? []).length > 0);
|
|
168
|
+
const candidates = hasAnswers ? splitQuestions(data.questions) : [];
|
|
169
|
+
useEffect(() => {
|
|
170
|
+
if (compareBy && everyone.kind === 'idle')
|
|
171
|
+
onLoadEveryone?.(total);
|
|
172
|
+
}, [compareBy, everyone.kind, onLoadEveryone, total]);
|
|
173
|
+
const allGroups = useMemo(() => compareBy && everyone.kind === 'ready'
|
|
174
|
+
? groupResponses(everyone.responses, compareBy, data.questions)
|
|
175
|
+
: null, [compareBy, everyone, data.questions]);
|
|
176
|
+
const groups = allGroups?.slice(0, MAX_GROUPS) ?? null;
|
|
177
|
+
const headlineId = headlineScale(data.questions)?.id;
|
|
178
|
+
const gridQuestions = data.questions.filter((question) => groups || question.id !== headlineId);
|
|
179
|
+
return (_jsxs("section", { "aria-labelledby": "survey-results", className: "svy-section", children: [_jsxs("div", { className: "page-head svy-section-head", children: [_jsxs("div", { children: [_jsx("h2", { className: "page-title svy-h2", id: "survey-results", children: "What readers told us" }), _jsx("p", { className: "page-sub", children: `Each chart covers all ${total} responses. Percentages are of the people who answered that question.` })] }), _jsxs("label", { className: "svy-control", children: [_jsx("span", { className: "kicker", children: "Compare" }), _jsxs("select", { className: "selectbox", value: compareBy, onChange: (event) => setCompareBy(event.target.value), children: [_jsx("option", { value: "", children: "Everyone together" }), _jsx("option", { value: MEMBERSHIP_SPLIT, children: "Members vs non-members" }), candidates.map((question) => (_jsx("option", { value: question.id, children: question.kind === 'scale'
|
|
180
|
+
? `Happy vs unhappy — ${question.prompt}`
|
|
181
|
+
: `By answer — ${question.prompt}` }, question.id)))] })] })] }), compareBy ? (_jsx(CompareStatus, { everyone: everyone, total: total, groups: groups, hiddenGroups: (allGroups?.length ?? 0) - (groups?.length ?? 0), onRetry: onLoadEveryone ? () => onLoadEveryone(total) : undefined })) : null, _jsx("div", { className: "svy-grid", children: gridQuestions.map((question) => (_jsx(QuestionCard, { question: question, total: total, groups: groups, isSplit: question.id === compareBy }, question.id))) })] }));
|
|
182
|
+
}
|
|
183
|
+
function CompareStatus({ everyone, total, groups, hiddenGroups, onRetry, }) {
|
|
184
|
+
if (everyone.kind === 'failed') {
|
|
185
|
+
return (_jsxs("div", { className: "svy-callout is-alert", role: "alert", children: ["Not every response could be loaded, so groups are not compared \u2014 a partial comparison would describe the wrong people.", ' ', onRetry ? (_jsx("button", { className: "btn sm", type: "button", onClick: onRetry, children: "Retry" })) : null] }));
|
|
186
|
+
}
|
|
187
|
+
if (everyone.kind !== 'ready' || !groups) {
|
|
188
|
+
return (_jsx("p", { className: "page-sub svy-compare-status", role: "status", children: `Loading all ${total} responses to compare groups…` }));
|
|
189
|
+
}
|
|
190
|
+
if (groups.length === 0) {
|
|
191
|
+
return (_jsx("p", { className: "svy-callout", role: "status", children: "Nobody has answered that question yet, so there are no groups to compare." }));
|
|
192
|
+
}
|
|
193
|
+
return (_jsxs("div", { className: "svy-legend", role: "status", children: [_jsx("span", { className: "page-sub", children: `Comparing all ${everyone.responses.length} responses:` }), groups.map((group, index) => (_jsxs("span", { className: "svy-legend-item", children: [_jsx("span", { className: `svy-swatch ${groupTone(group, index)}`, "aria-hidden": "true" }), `${group.label} · ${people(group.responses.length)}`] }, group.key))), hiddenGroups > 0 ? (_jsx("span", { className: "page-sub", children: `+${hiddenGroups} smaller ${hiddenGroups === 1 ? 'group' : 'groups'} not shown` })) : null] }));
|
|
194
|
+
}
|
|
195
|
+
function QuestionCard({ question, total, groups, isSplit, }) {
|
|
196
|
+
const comparison = groups && groups.length > 0 && !isSplit ? compareQuestion(question, groups) : null;
|
|
197
|
+
return (_jsxs("article", { className: "card svy-q", children: [_jsx("div", { className: "kicker", children: `Q${question.position + 1} · ${questionAudienceLabel(question.audience)} · ${question.answerCount} answered` }), _jsx("h3", { className: "svy-q-prompt", children: question.prompt }), _jsx("p", { className: "svy-takeaway", children: questionTakeaway(question, total) }), comparison && comparison.kind === 'choice' && groups ? (_jsx(GroupedBars, { rows: comparison.rows, groups: groups })) : comparison && comparison.kind === 'scale' && groups ? (_jsx(MoodBars, { summaries: comparison.byGroup, groups: groups })) : question.kind === 'single_choice' || question.kind === 'multi_choice' ? (_jsx(BarList, { rows: optionRows(question), of: question.answerCount })) : question.kind === 'scale' ? (_jsx(ScaleColumns, { question: question })) : (_jsx(BarList, { rows: [{ option: 'Wrote an answer', count: question.answerCount }], of: total })), question.kind === 'multi_choice' ? (_jsx("p", { className: "svy-note", children: "People could pick more than one, so these add up to more than 100%." })) : null, isSplit && groups ? (_jsx("p", { className: "svy-note", children: "The groups being compared come from this question." })) : null, comparison?.kind === 'none' ? (_jsx("p", { className: "svy-note", children: "Written answers are not split into groups \u2014 read them below." })) : null] }));
|
|
198
|
+
}
|
|
199
|
+
function BarList({ rows, of }) {
|
|
200
|
+
const top = Math.max(0, ...rows.map((row) => row.count));
|
|
201
|
+
return (_jsx("ul", { className: "svy-bars", children: rows.map((row) => (_jsxs("li", { className: "svy-bar", title: `${row.option}: ${row.count} of ${of} (${percent(row.count, of)})`, children: [_jsx("span", { className: "svy-bar-label", children: row.option }), _jsxs("span", { className: "svy-bar-value", children: [_jsx("strong", { children: percent(row.count, of) }), _jsx("span", { className: "svy-count", children: String(row.count) })] }), _jsx("span", { className: "svy-track", children: _jsx("span", { className: `svy-fill${top > 0 && row.count === top ? ' is-top' : ''}`, style: { width: `${share(row.count, of) * 100}%` } }) })] }, row.option))) }));
|
|
202
|
+
}
|
|
203
|
+
function GroupedBars({ rows, groups, }) {
|
|
204
|
+
return (_jsx("ul", { className: "svy-bars", children: rows.map((row, rowIndex) => (_jsxs("li", { className: "svy-bar is-grouped", children: [_jsx("span", { className: "svy-bar-label", children: row.option }), _jsx("span", { className: "svy-gbars", children: row.byGroup.map((cell, index) => {
|
|
205
|
+
const group = groups[index];
|
|
206
|
+
return (_jsxs("span", { className: "svy-gbar", title: `${group.label}: ${cell.count} of ${cell.answered} (${percent(cell.count, cell.answered)})`, children: [_jsx("span", { className: "svy-track sm", children: _jsx("span", { className: `svy-fill ${groupTone(group, index)}`, style: { width: `${share(cell.count, cell.answered) * 100}%` } }) }), _jsx("span", { className: "svy-gbar-value", children: rowIndex === 0
|
|
207
|
+
? `${percent(cell.count, cell.answered)} ${group.label}`
|
|
208
|
+
: percent(cell.count, cell.answered) })] }, group.key));
|
|
209
|
+
}) })] }, row.option))) }));
|
|
210
|
+
}
|
|
211
|
+
function people(count) {
|
|
212
|
+
return `${count} ${count === 1 ? 'person' : 'people'}`;
|
|
213
|
+
}
|
|
214
|
+
function groupTone(group, index) {
|
|
215
|
+
return group.mood ? `mood-${group.mood}` : `g${index}`;
|
|
216
|
+
}
|
|
217
|
+
function MoodBars({ summaries, groups }) {
|
|
218
|
+
return (_jsx("ul", { className: "svy-bars", children: summaries.map((summary, index) => {
|
|
219
|
+
const group = groups[index];
|
|
220
|
+
return (_jsxs("li", { className: "svy-bar", title: `${group.label}: ${summary.happy} happy, ${summary.neutral} in the middle, ${summary.unhappy} unhappy of ${summary.answered}`, children: [_jsx("span", { className: "svy-bar-label", children: group.label }), _jsxs("span", { className: "svy-bar-value", children: [_jsx("strong", { children: `${percent(summary.happy, summary.answered)} happy` }), _jsx("span", { className: "svy-count", children: `avg ${formatAverage(summary.average)}` })] }), _jsx("span", { className: "svy-track svy-stack", children: ['unhappy', 'neutral', 'happy'].map((mood) => summary[mood] > 0 ? (_jsx("span", { className: `svy-seg mood-${mood}`, style: { width: `${share(summary[mood], summary.answered) * 100}%` } }, mood)) : null) })] }, group.key));
|
|
221
|
+
}) }));
|
|
130
222
|
}
|
|
131
223
|
// The owner's loud surface for answers auto-labeling has not placed yet
|
|
132
224
|
// (publishing #24): everything unlabeled is hidden from the team, so he sees
|
|
@@ -143,82 +235,88 @@ function personalDetailsNotice(count) {
|
|
|
143
235
|
? '1 answer contains personal details and needs your label.'
|
|
144
236
|
: `${count} answers contain personal details and need your label.`;
|
|
145
237
|
}
|
|
146
|
-
function
|
|
238
|
+
function Comments({ data, offset, canLabel, onSetLabel, labelSaveFailed, onOffsetChange, everyone, onLoadEveryone, initialMood, }) {
|
|
147
239
|
const [labelFilter, setLabelFilter] = useState('all');
|
|
148
|
-
const
|
|
240
|
+
const [moodFilter, setMoodFilter] = useState(initialMood);
|
|
241
|
+
const total = data.survey.responseCount;
|
|
242
|
+
const shown = data.responses.length;
|
|
243
|
+
const rangeStart = total === 0 ? 0 : offset + 1;
|
|
244
|
+
const rangeEnd = offset + shown;
|
|
245
|
+
const hasMore = rangeEnd < total;
|
|
246
|
+
const headline = headlineScale(data.questions);
|
|
247
|
+
const textQuestions = data.questions.filter((question) => question.kind === 'text');
|
|
248
|
+
const textQuestionIds = new Set(textQuestions.map((question) => question.id));
|
|
149
249
|
const promptById = new Map(data.questions.map((question) => [question.id, question.prompt]));
|
|
250
|
+
const ratingOf = (response) => {
|
|
251
|
+
if (!headline)
|
|
252
|
+
return null;
|
|
253
|
+
const value = answerValue(response, headline.id);
|
|
254
|
+
return typeof value === 'number' ? value : null;
|
|
255
|
+
};
|
|
256
|
+
const moodOf = (response) => {
|
|
257
|
+
const rating = ratingOf(response);
|
|
258
|
+
return rating === null || !headline
|
|
259
|
+
? null
|
|
260
|
+
: scaleMood(rating, headline.options.min, headline.options.max);
|
|
261
|
+
};
|
|
262
|
+
const canFilterByMood = data.responses.some((response) => ratingOf(response) !== null);
|
|
263
|
+
const moodRanges = headline ? summarizeScale(headline.options, {}) : null;
|
|
150
264
|
// Non-owners never receive technical or unlabeled entries (the route filters
|
|
151
265
|
// server-side), so for them this feed is already the general thread.
|
|
152
266
|
const visibleFreeText = labelFilter === 'all' ? data.freeText : data.freeText.filter((e) => e.label === labelFilter);
|
|
153
|
-
const
|
|
267
|
+
const writtenByResponse = new Map();
|
|
154
268
|
for (const entry of visibleFreeText) {
|
|
155
|
-
const entries =
|
|
269
|
+
const entries = writtenByResponse.get(entry.responseId) ?? [];
|
|
156
270
|
entries.push(entry);
|
|
157
|
-
|
|
271
|
+
writtenByResponse.set(entry.responseId, entries);
|
|
158
272
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
273
|
+
const wroteSomething = new Set(data.freeText.map((entry) => entry.responseId));
|
|
274
|
+
// A filter answers "what do unhappy readers say", so it searches every
|
|
275
|
+
// response, never just the page on screen. The written answers already
|
|
276
|
+
// arrive for the whole survey; each response's rating and details come
|
|
277
|
+
// from loading every page, exactly as the group comparison does.
|
|
278
|
+
const filtering = moodFilter !== '' || labelFilter !== 'all';
|
|
279
|
+
useEffect(() => {
|
|
280
|
+
if (filtering && everyone.kind === 'idle')
|
|
281
|
+
onLoadEveryone?.(total);
|
|
282
|
+
}, [filtering, everyone.kind, onLoadEveryone, total]);
|
|
283
|
+
const pool = !filtering
|
|
284
|
+
? data.responses
|
|
285
|
+
: everyone.kind === 'ready'
|
|
286
|
+
? everyone.responses
|
|
287
|
+
: null;
|
|
288
|
+
const visible = (pool ?? []).filter((response) => (writtenByResponse.get(response.id) ?? []).length > 0 &&
|
|
289
|
+
(!moodFilter || moodOf(response) === moodFilter));
|
|
290
|
+
const silent = filtering
|
|
291
|
+
? []
|
|
292
|
+
: data.responses.filter((response) => !wroteSomething.has(response.id));
|
|
293
|
+
const freeTextCapped = data.freeText.length >= MAX_FREE_TEXT_ENTRIES;
|
|
294
|
+
return (_jsxs("section", { "aria-labelledby": "survey-verbatims", className: "svy-section", children: [_jsxs("div", { className: "page-head svy-section-head", children: [_jsxs("div", { children: [_jsx("h2", { className: "page-title svy-h2", id: "survey-verbatims", children: "What readers wrote" }), textQuestions.length > 0 ? (_jsx("p", { className: "page-sub", children: textQuestions.map((q) => `“${q.prompt}”`).join(' · ') })) : null, _jsx("p", { className: "page-sub", children: !filtering
|
|
295
|
+
? `Showing ${rangeStart}–${rangeEnd} of ${total} ${total === 1 ? 'response' : 'responses'}`
|
|
296
|
+
: pool
|
|
297
|
+
? `${visible.length} ${visible.length === 1 ? 'comment matches' : 'comments match'} these filters, searched across all ${pool.length} responses`
|
|
298
|
+
: `Loading all ${total} responses to search every comment…` })] }), _jsxs("div", { className: "svy-filters", children: [canFilterByMood && moodRanges ? (_jsxs("label", { className: "svy-control", children: [_jsx("span", { className: "kicker", children: "From" }), _jsxs("select", { className: "selectbox", value: moodFilter, onChange: (event) => setMoodFilter(event.target.value), children: [_jsx("option", { value: "", children: "All readers" }), _jsx("option", { value: "unhappy", children: `Unhappy readers (${moodRanges.unhappyRange})` }), moodRanges.neutralValue !== null ? (_jsx("option", { value: "neutral", children: `Readers in the middle (${moodRanges.neutralValue})` })) : null, _jsx("option", { value: "happy", children: `Happy readers (${moodRanges.happyRange})` })] })] })) : null, canLabel ? (
|
|
299
|
+
// biome-ignore lint/a11y/useSemanticElements: chip-row is a flex div throughout the admin UI; a fieldset would import UA border/padding with no reset in the publication CSS, while role="group" + aria-label keeps the grouping semantics
|
|
300
|
+
_jsx("div", { className: "chip-row", role: "group", "aria-label": "Filter written answers", children: ['all', 'general', 'technical'].map((option) => (_jsx("button", { className: "chip", type: "button", "aria-pressed": labelFilter === option, onClick: () => setLabelFilter(option), children: option === 'all' ? 'All' : option === 'general' ? 'General' : 'Technical' }, option))) })) : null] })] }), canLabel && (data.unlabeledCount ?? 0) > 0 ? (_jsx("p", { className: "svy-callout", role: "status", children: unlabeledAnswersNotice(data.unlabeledCount ?? 0) })) : null, canLabel && (data.personalDetailsCount ?? 0) > 0 ? (_jsx("p", { className: "svy-callout", role: "status", children: personalDetailsNotice(data.personalDetailsCount ?? 0) })) : null, labelSaveFailed && canLabel ? (_jsx("p", { className: "svy-callout is-alert", role: "alert", children: "The last label change could not be saved. Try again." })) : null, filtering && everyone.kind === 'failed' ? (_jsxs("div", { className: "svy-callout is-alert", role: "alert", children: ["Not every response could be loaded, so the filter has nothing complete to search \u2014 a partial search would hide comments.", ' ', onLoadEveryone ? (_jsx("button", { className: "btn sm", type: "button", onClick: () => onLoadEveryone(total), children: "Retry" })) : null] })) : null, filtering && pool && freeTextCapped ? (_jsx("p", { className: "svy-callout", role: "status", children: `Only the newest ${MAX_FREE_TEXT_ENTRIES} written answers reach this screen, so older ones are not searched. Export CSV has every answer.` })) : null, !pool ? null : visible.length === 0 ? (_jsx("p", { className: "page-sub", children: filtering ? 'No comments match these filters.' : 'No comments on this page.' })) : (_jsx("div", { className: "svy-comments", children: visible.map((response) => {
|
|
301
|
+
const rating = ratingOf(response);
|
|
302
|
+
const mood = moodOf(response);
|
|
303
|
+
const others = (response.answers ?? []).filter((answer) => !textQuestionIds.has(answer.questionId) && answer.questionId !== headline?.id);
|
|
304
|
+
return (_jsxs("article", { className: "card svy-comment", children: [(writtenByResponse.get(response.id) ?? []).map((entry) => (_jsxs("div", { className: "svy-comment-entry", children: [textQuestions.length > 1 ? (_jsx("div", { className: "kicker", children: promptById.get(entry.questionId) })) : null, _jsx("blockquote", { className: "svy-quote", children: entry.value }), canLabel && onSetLabel ? (
|
|
165
305
|
// biome-ignore lint/a11y/useSemanticElements: chip-row is a flex div throughout the admin UI; a fieldset would import UA border/padding with no reset in the publication CSS, while role="group" + aria-label keeps the grouping semantics
|
|
166
|
-
_jsxs("div", { className: "chip-row", role: "group", "aria-label": `Classify the written answer from ${response.id}`, children: [_jsx("button", { className: "chip", type: "button", "aria-pressed": entry.label === 'technical', onClick: () => onSetLabel(entry.responseId, entry.questionId, 'technical'), children: "Technical" }), _jsx("button", { className: "chip", type: "button", "aria-pressed": entry.label === 'general', onClick: () => onSetLabel(entry.responseId, entry.questionId, 'general'), children: "General" }), entry.labelSource === 'auto' ? (_jsx("span", { className: "chip", title: "Labeled automatically \u2014 your choice overrides it", children: "auto" })) : null] })) : null] }, `${response.id}:${entry.questionId}`)))), _jsx("
|
|
167
|
-
}) })
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
return map;
|
|
181
|
-
}, [data.responses]);
|
|
182
|
-
const cohorts = useMemo(() => {
|
|
183
|
-
if (!splitQuestion)
|
|
184
|
-
return null;
|
|
185
|
-
const buckets = new Map();
|
|
186
|
-
for (const response of data.responses) {
|
|
187
|
-
const value = answersByResponse.get(response.id)?.get(splitQuestion.id);
|
|
188
|
-
if (value === undefined)
|
|
189
|
-
continue;
|
|
190
|
-
const key = formatAnswerValue(value);
|
|
191
|
-
const ids = buckets.get(key) ?? [];
|
|
192
|
-
ids.push(response.id);
|
|
193
|
-
buckets.set(key, ids);
|
|
194
|
-
}
|
|
195
|
-
return buckets;
|
|
196
|
-
}, [answersByResponse, data.responses, splitQuestion]);
|
|
197
|
-
return (_jsxs("section", { "aria-labelledby": "survey-aggregates", style: { marginTop: 24 }, children: [_jsxs("div", { className: "page-head", children: [_jsx("h2", { className: "page-title", id: "survey-aggregates", style: { fontSize: 22 }, children: "Question aggregates" }), _jsxs("label", { children: [_jsx("span", { className: "page-sub", children: "Split by " }), _jsxs("select", { value: splitBy, onChange: (event) => setSplitBy(event.target.value), children: [_jsx("option", { value: "", children: "No split" }), splitCandidates.map((question) => (_jsx("option", { value: question.id, children: question.prompt }, question.id)))] })] })] }), _jsx("div", { className: "grid-split-wide", style: { alignItems: 'start', marginTop: 12 }, children: data.questions.map((question) => (_jsxs("article", { className: "card", children: [_jsxs("div", { className: "kicker", children: ["Q", question.position + 1, " \u00B7 ", questionAudienceLabel(question.audience)] }), _jsx("h3", { className: "card-title", children: question.prompt }), question.counts && _jsx(CountTable, { values: question.counts }), question.distribution && (_jsxs(_Fragment, { children: [_jsxs("p", { className: "page-sub", children: ["Average: ", question.average === null ? '—' : question.average.toFixed(2)] }), _jsx(CountTable, { values: question.distribution })] })), question.kind === 'text' && (_jsxs("p", { className: "page-sub", children: [question.responseCount ?? 0, " written answers"] })), cohorts && splitQuestion && splitQuestion.id !== question.id ? (_jsx(CrossTab, { question: question, cohorts: cohorts, answersByResponse: answersByResponse })) : null] }, question.id))) })] }));
|
|
198
|
-
}
|
|
199
|
-
function CrossTab({ question, cohorts, answersByResponse, }) {
|
|
200
|
-
const rows = [...cohorts.entries()].map(([cohort, responseIds]) => {
|
|
201
|
-
const values = responseIds
|
|
202
|
-
.map((id) => answersByResponse.get(id)?.get(question.id))
|
|
203
|
-
.filter((value) => value !== undefined);
|
|
204
|
-
if (question.kind === 'scale') {
|
|
205
|
-
const numbers = values.filter((value) => typeof value === 'number');
|
|
206
|
-
const average = numbers.length
|
|
207
|
-
? numbers.reduce((sum, value) => sum + value, 0) / numbers.length
|
|
208
|
-
: null;
|
|
209
|
-
return { cohort, n: values.length, summary: average === null ? '—' : average.toFixed(2) };
|
|
210
|
-
}
|
|
211
|
-
const counts = new Map();
|
|
212
|
-
for (const value of values.flatMap((value) => (Array.isArray(value) ? value : [value]))) {
|
|
213
|
-
const key = formatAnswerValue(value);
|
|
214
|
-
counts.set(key, (counts.get(key) ?? 0) + 1);
|
|
215
|
-
}
|
|
216
|
-
const top = [...counts.entries()].sort((left, right) => right[1] - left[1])[0];
|
|
217
|
-
return { cohort, n: values.length, summary: top ? `${top[0]} (${top[1]})` : '—' };
|
|
218
|
-
});
|
|
219
|
-
if (rows.length === 0)
|
|
220
|
-
return null;
|
|
221
|
-
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "masthead-rule" }), _jsxs("table", { className: "tbl", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "Cohort" }), _jsx("th", { children: "n" }), _jsx("th", { children: question.kind === 'scale' ? 'Average' : 'Most common' })] }) }), _jsx("tbody", { children: rows.map((row) => (_jsxs("tr", { children: [_jsx("td", { children: row.cohort }), _jsx("td", { children: row.n }), _jsx("td", { children: row.summary })] }, row.cohort))) })] })] }));
|
|
306
|
+
_jsxs("div", { className: "chip-row", role: "group", "aria-label": `Classify the written answer from ${response.id}`, children: [_jsx("button", { className: "chip", type: "button", "aria-pressed": entry.label === 'technical', onClick: () => onSetLabel(entry.responseId, entry.questionId, 'technical'), children: "Technical" }), _jsx("button", { className: "chip", type: "button", "aria-pressed": entry.label === 'general', onClick: () => onSetLabel(entry.responseId, entry.questionId, 'general'), children: "General" }), entry.labelSource === 'auto' ? (_jsx("span", { className: "chip is-quiet", title: "Labeled automatically \u2014 your choice overrides it", children: "auto" })) : null] })) : null] }, `${response.id}:${entry.questionId}`))), _jsxs("div", { className: "svy-meta", children: [rating !== null && headline && mood ? (_jsxs("span", { className: "svy-rating", title: headline.prompt, children: [_jsx("span", { className: `svy-swatch mood-${mood}`, "aria-hidden": "true" }), `Rated ${rating} of ${headline.options.max}`] })) : null, _jsx("span", { children: segmentLabel(response.respondentSegment) }), _jsx("span", { children: respondentLabel(response) }), _jsx("time", { dateTime: response.submittedAt, title: formatTime(response.submittedAt), children: formatDate(response.submittedAt) })] }), others.length > 0 ? (_jsxs("details", { className: "svy-answers", children: [_jsx("summary", { children: "Their other answers" }), _jsx("dl", { children: others.map((answer) => (_jsxs("div", { children: [_jsx("dt", { children: promptById.get(answer.questionId) ?? answer.questionId }), _jsx("dd", { children: formatAnswerValue(answer.value) })] }, answer.questionId))) })] })) : null] }, response.id));
|
|
307
|
+
}) })), silent.length > 0 ? (_jsxs("details", { className: "svy-silent", children: [_jsx("summary", { children: `${silent.length} ${silent.length === 1 ? 'response' : 'responses'} on this page left no comment` }), _jsx("ul", { children: silent.map((response) => {
|
|
308
|
+
const rating = ratingOf(response);
|
|
309
|
+
return (_jsx("li", { children: [
|
|
310
|
+
formatDate(response.submittedAt),
|
|
311
|
+
segmentLabel(response.respondentSegment),
|
|
312
|
+
respondentLabel(response),
|
|
313
|
+
rating !== null && headline
|
|
314
|
+
? `rated ${rating} of ${headline.options.max}`
|
|
315
|
+
: null,
|
|
316
|
+
]
|
|
317
|
+
.filter(Boolean)
|
|
318
|
+
.join(' · ') }, response.id));
|
|
319
|
+
}) })] })) : null, !filtering && (offset > 0 || hasMore) && onOffsetChange ? (_jsxs("div", { className: "svy-pager", children: [_jsx("button", { className: "btn", type: "button", disabled: offset === 0, onClick: () => onOffsetChange(Math.max(offset - PAGE_SIZE, 0)), children: "Previous" }), _jsx("button", { className: "btn", type: "button", disabled: !hasMore, onClick: () => onOffsetChange(offset + PAGE_SIZE), children: "Next" })] })) : null] }));
|
|
222
320
|
}
|
|
223
321
|
async function readSurveyErrorCode(response) {
|
|
224
322
|
const headerCode = response.headers.get(SURVEY_ERROR_CODE_HEADER);
|
|
@@ -243,7 +341,7 @@ function respondentLabel(response) {
|
|
|
243
341
|
? `${response.respondent.label} · ${response.respondent.detail}`
|
|
244
342
|
: response.respondent.label;
|
|
245
343
|
}
|
|
246
|
-
return response.anonymous ? 'Anonymous' : '
|
|
344
|
+
return response.anonymous ? 'Anonymous' : 'Signed-in reader';
|
|
247
345
|
}
|
|
248
346
|
function formatAnswerValue(value) {
|
|
249
347
|
if (Array.isArray(value))
|
|
@@ -253,26 +351,35 @@ function formatAnswerValue(value) {
|
|
|
253
351
|
function StatusPage({ title, detail, retry, }) {
|
|
254
352
|
return (_jsxs("div", { className: "page", role: "status", children: [_jsx("h1", { className: "page-title", children: "Survey responses" }), _jsx("p", { className: "page-sub", children: title }), detail ? _jsx("p", { className: "page-sub", children: detail }) : null, retry ? (_jsx("button", { className: "btn", onClick: retry, type: "button", children: "Retry" })) : null] }));
|
|
255
353
|
}
|
|
256
|
-
function
|
|
257
|
-
|
|
258
|
-
|
|
354
|
+
function surveyStatusLabel(status) {
|
|
355
|
+
if (status === 'active')
|
|
356
|
+
return 'open';
|
|
357
|
+
if (status === 'closed')
|
|
358
|
+
return 'closed';
|
|
359
|
+
return 'draft';
|
|
259
360
|
}
|
|
260
361
|
function segmentLabel(segment) {
|
|
261
362
|
if (segment === 'member')
|
|
262
363
|
return 'Member';
|
|
263
364
|
if (segment === 'non_member')
|
|
264
365
|
return 'Non-member';
|
|
265
|
-
return '
|
|
366
|
+
return 'Membership unknown';
|
|
266
367
|
}
|
|
267
368
|
function questionAudienceLabel(audience) {
|
|
268
369
|
if (audience === 'member')
|
|
269
|
-
return '
|
|
370
|
+
return 'asked members';
|
|
270
371
|
if (audience === 'non_member')
|
|
271
|
-
return '
|
|
272
|
-
return '
|
|
372
|
+
return 'asked non-members';
|
|
373
|
+
return 'asked everyone';
|
|
273
374
|
}
|
|
274
375
|
function formatTime(value) {
|
|
275
376
|
const date = new Date(value);
|
|
276
377
|
return Number.isNaN(date.getTime()) ? value : date.toLocaleString();
|
|
277
378
|
}
|
|
379
|
+
function formatDate(value) {
|
|
380
|
+
const date = new Date(value);
|
|
381
|
+
return Number.isNaN(date.getTime())
|
|
382
|
+
? value
|
|
383
|
+
: date.toLocaleDateString(undefined, { day: 'numeric', month: 'short', year: 'numeric' });
|
|
384
|
+
}
|
|
278
385
|
//# sourceMappingURL=SurveyResponsesScreen.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SurveyResponsesScreen.js","sourceRoot":"","sources":["../../../src/ui/screens/SurveyResponsesScreen.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SurveyResponsesScreen.js","sourceRoot":"","sources":["../../../src/ui/screens/SurveyResponsesScreen.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PodcastListening, PodcastListeningEpisode } from '../../providers/types.js';
|
|
2
|
-
export type PodcastSortKey = 'episode' | 'plays' | 'listeners' | 'reached10' | 'reached25' | 'reached50' | 'reached75' | 'reached90' | 'completes' | 'completionRate' | 'totalListeningSeconds';
|
|
2
|
+
export type PodcastSortKey = 'episode' | 'plays' | 'listeners' | 'reached10' | 'reached25' | 'reached50' | 'reached75' | 'reached90' | 'completes' | 'completionRate' | 'totalListeningSeconds' | 'avgListeningSecondsPerListener';
|
|
3
3
|
/**
|
|
4
4
|
* Normalize the GET /admin/api/analytics?type=podcastListening body. The route
|
|
5
5
|
* returns the provider's PodcastListening verbatim; this keeps a malformed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"podcast-listening-data.d.ts","sourceRoot":"","sources":["../../../src/ui/screens/podcast-listening-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAEzF,MAAM,MAAM,cAAc,GACvB,SAAS,GACT,OAAO,GACP,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"podcast-listening-data.d.ts","sourceRoot":"","sources":["../../../src/ui/screens/podcast-listening-data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAEzF,MAAM,MAAM,cAAc,GACvB,SAAS,GACT,OAAO,GACP,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,WAAW,GACX,gBAAgB,GAChB,uBAAuB,GACvB,gCAAgC,CAAA;AAmDnC;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAuCjF;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,SAAS,uBAAuB,EAAE,EAC5C,GAAG,EAAE,cAAc,EACnB,GAAG,EAAE,KAAK,GAAG,MAAM,GACjB,uBAAuB,EAAE,CAiB3B;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,MAAM,CAG7F"}
|