Skip to content

Commit 6c7b614

Browse files
committed
Make reports use ReportLayout (XII: Releases III)
1 parent b90c128 commit 6c7b614

12 files changed

+203
-371
lines changed

root/report/ReleasesWithUnlikelyLanguageScript.js

+13-28
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,8 @@
99

1010
import * as React from 'react';
1111

12-
import Layout from '../layout';
13-
import formatUserDate from '../utility/formatUserDate';
14-
1512
import ReleaseList from './components/ReleaseList';
16-
import FilterLink from './FilterLink';
13+
import ReportLayout from './components/ReportLayout';
1714
import type {ReportDataT, ReportReleaseT} from './types';
1815

1916
const ReleasesWithUnlikelyLanguageScript = ({
@@ -23,34 +20,22 @@ const ReleasesWithUnlikelyLanguageScript = ({
2320
generated,
2421
items,
2522
pager,
26-
}: ReportDataT<ReportReleaseT>): React.Element<typeof Layout> => (
27-
<Layout
23+
}: ReportDataT<ReportReleaseT>): React.Element<typeof ReportLayout> => (
24+
<ReportLayout
2825
$c={$c}
29-
fullWidth
26+
canBeFiltered={canBeFiltered}
27+
description={l(
28+
`This report shows releases that have an unlikely combination of
29+
language and script properties, such as German and Ethiopic.`,
30+
)}
31+
entityType="release"
32+
filtered={filtered}
33+
generated={generated}
3034
title={l('Releases with unlikely language/script pairs')}
35+
totalEntries={pager.total_entries}
3136
>
32-
<h1>{l('Releases with unlikely language/script pairs')}</h1>
33-
34-
<ul>
35-
<li>
36-
{l(`This report shows releases that have an unlikely combination of
37-
language and script properties, such as German and Ethiopic.`)}
38-
</li>
39-
<li>
40-
{texp.l('Total releases found: {count}',
41-
{count: pager.total_entries})}
42-
</li>
43-
<li>
44-
{texp.l('Generated on {date}',
45-
{date: formatUserDate($c, generated)})}
46-
</li>
47-
48-
{canBeFiltered ? <FilterLink $c={$c} filtered={filtered} /> : null}
49-
</ul>
50-
5137
<ReleaseList items={items} pager={pager} showLanguageAndScript />
52-
53-
</Layout>
38+
</ReportLayout>
5439
);
5540

5641
export default ReleasesWithUnlikelyLanguageScript;

root/report/ReleasesWithoutVaCredit.js

+13-30
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,8 @@
99

1010
import * as React from 'react';
1111

12-
import Layout from '../layout';
13-
import formatUserDate from '../utility/formatUserDate';
14-
1512
import ReleaseList from './components/ReleaseList';
16-
import FilterLink from './FilterLink';
13+
import ReportLayout from './components/ReportLayout';
1714
import type {ReportDataT, ReportReleaseT} from './types';
1815

1916
const ReleasesWithoutVaCredit = ({
@@ -23,36 +20,22 @@ const ReleasesWithoutVaCredit = ({
2320
generated,
2421
items,
2522
pager,
26-
}: ReportDataT<ReportReleaseT>): React.Element<typeof Layout> => (
27-
<Layout
23+
}: ReportDataT<ReportReleaseT>): React.Element<typeof ReportLayout> => (
24+
<ReportLayout
2825
$c={$c}
29-
fullWidth
26+
canBeFiltered={canBeFiltered}
27+
description={l(
28+
`This report shows releases linked to the Various Artists entity
29+
without "Various Artists" as the credited name.`,
30+
)}
31+
entityType="release"
32+
filtered={filtered}
33+
generated={generated}
3034
title={l('Releases not credited to "Various Artists" but linked to VA')}
35+
totalEntries={pager.total_entries}
3136
>
32-
<h1>
33-
{l('Releases not credited to "Various Artists" but linked to VA')}
34-
</h1>
35-
36-
<ul>
37-
<li>
38-
{l(`This report shows releases linked to the Various Artists entity
39-
without "Various Artists" as the credited name.`)}
40-
</li>
41-
<li>
42-
{texp.l('Total releases found: {count}',
43-
{count: pager.total_entries})}
44-
</li>
45-
<li>
46-
{texp.l('Generated on {date}',
47-
{date: formatUserDate($c, generated)})}
48-
</li>
49-
50-
{canBeFiltered ? <FilterLink $c={$c} filtered={filtered} /> : null}
51-
</ul>
52-
5337
<ReleaseList items={items} pager={pager} />
54-
55-
</Layout>
38+
</ReportLayout>
5639
);
5740

5841
export default ReleasesWithoutVaCredit;

root/report/ReleasesWithoutVaLink.js

+13-30
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,8 @@
99

1010
import * as React from 'react';
1111

12-
import Layout from '../layout';
13-
import formatUserDate from '../utility/formatUserDate';
14-
1512
import ReleaseList from './components/ReleaseList';
16-
import FilterLink from './FilterLink';
13+
import ReportLayout from './components/ReportLayout';
1714
import type {ReportDataT, ReportReleaseT} from './types';
1815

1916
const ReleasesWithoutVaLink = ({
@@ -23,36 +20,22 @@ const ReleasesWithoutVaLink = ({
2320
generated,
2421
items,
2522
pager,
26-
}: ReportDataT<ReportReleaseT>): React.Element<typeof Layout> => (
27-
<Layout
23+
}: ReportDataT<ReportReleaseT>): React.Element<typeof ReportLayout> => (
24+
<ReportLayout
2825
$c={$c}
29-
fullWidth
26+
canBeFiltered={canBeFiltered}
27+
description={l(
28+
`This report shows releases with "Various Artists" as the credited
29+
name but not linked to the Various Artists entity.`,
30+
)}
31+
entityType="release"
32+
filtered={filtered}
33+
generated={generated}
3034
title={l('Releases credited to "Various Artists" but not linked to VA')}
35+
totalEntries={pager.total_entries}
3136
>
32-
<h1>
33-
{l('Releases credited to "Various Artists" but not linked to VA')}
34-
</h1>
35-
36-
<ul>
37-
<li>
38-
{l(`This report shows releases with "Various Artists" as the credited
39-
name but not linked to the Various Artists entity.`)}
40-
</li>
41-
<li>
42-
{texp.l('Total releases found: {count}',
43-
{count: pager.total_entries})}
44-
</li>
45-
<li>
46-
{texp.l('Generated on {date}',
47-
{date: formatUserDate($c, generated)})}
48-
</li>
49-
50-
{canBeFiltered ? <FilterLink $c={$c} filtered={filtered} /> : null}
51-
</ul>
52-
5337
<ReleaseList items={items} pager={pager} />
54-
55-
</Layout>
38+
</ReportLayout>
5639
);
5740

5841
export default ReleasesWithoutVaLink;

root/report/SeparateDiscs.js

+21-36
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,8 @@
99

1010
import * as React from 'react';
1111

12-
import Layout from '../layout';
13-
import formatUserDate from '../utility/formatUserDate';
14-
1512
import ReleaseList from './components/ReleaseList';
16-
import FilterLink from './FilterLink';
13+
import ReportLayout from './components/ReportLayout';
1714
import type {ReportDataT, ReportReleaseT} from './types';
1815

1916
const SeparateDiscs = ({
@@ -23,39 +20,27 @@ const SeparateDiscs = ({
2320
generated,
2421
items,
2522
pager,
26-
}: ReportDataT<ReportReleaseT>): React.Element<typeof Layout> => (
27-
<Layout $c={$c} fullWidth title={l('Discs as separate releases')}>
28-
<h1>{l('Discs as separate releases')}</h1>
29-
30-
<ul>
31-
<li>
32-
{l(
33-
`This report shows releases which have (disc n) or (bonus disc)
34-
in the title.`,
35-
)}
36-
</li>
37-
<li>
38-
{exp.l(
39-
`For instructions on how to fix them, please see the documentation
40-
about {howto|how to merge releases}.`,
41-
{howto: '/doc/How_to_Merge_Releases'},
42-
)}
43-
</li>
44-
<li>
45-
{texp.l('Total releases found: {count}',
46-
{count: pager.total_entries})}
47-
</li>
48-
<li>
49-
{texp.l('Generated on {date}',
50-
{date: formatUserDate($c, generated)})}
51-
</li>
52-
53-
{canBeFiltered ? <FilterLink $c={$c} filtered={filtered} /> : null}
54-
</ul>
55-
23+
}: ReportDataT<ReportReleaseT>): React.Element<typeof ReportLayout> => (
24+
<ReportLayout
25+
$c={$c}
26+
canBeFiltered={canBeFiltered}
27+
description={l(
28+
`This report shows releases which have
29+
(disc n) or (bonus disc) in the title.`,
30+
)}
31+
entityType="release"
32+
extraInfo={exp.l(
33+
`For instructions on how to fix them, please see
34+
the documentation about {howto|how to merge releases}.`,
35+
{howto: '/doc/How_to_Merge_Releases'},
36+
)}
37+
filtered={filtered}
38+
generated={generated}
39+
title={l('Discs as separate releases')}
40+
totalEntries={pager.total_entries}
41+
>
5642
<ReleaseList items={items} pager={pager} />
57-
58-
</Layout>
43+
</ReportLayout>
5944
);
6045

6146
export default SeparateDiscs;

root/report/SetInDifferentRg.js

+22-35
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,8 @@
99

1010
import * as React from 'react';
1111

12-
import Layout from '../layout';
13-
import formatUserDate from '../utility/formatUserDate';
14-
1512
import ReleaseGroupList from './components/ReleaseGroupList';
16-
import FilterLink from './FilterLink';
13+
import ReportLayout from './components/ReportLayout';
1714
import type {ReportDataT, ReportReleaseGroupT} from './types';
1815

1916
const SetInDifferentRg = ({
@@ -23,38 +20,28 @@ const SetInDifferentRg = ({
2320
generated,
2421
items,
2522
pager,
26-
}: ReportDataT<ReportReleaseGroupT>): React.Element<typeof Layout> => (
27-
<Layout $c={$c} fullWidth title={l('Mismatched release groups')}>
28-
<h1>{l('Mismatched release groups')}</h1>
29-
30-
<ul>
31-
<li>
32-
{exp.l(
33-
`This report shows release groups with releases that are linked to
34-
releases in different release groups by part-of-set or
35-
transliteration relationships. If a pair of release groups are
36-
listed here, you should probably merge them. If the releases are
37-
discs linked with "part of set" relationships, you might want to
38-
merge them too into one multi-disc release
39-
(see {how_to_merge_releases|How to Merge Releases}).`,
40-
{how_to_merge_releases: '/doc/How_to_Merge_Releases'},
41-
)}
42-
</li>
43-
<li>
44-
{texp.l('Total release groups found: {count}',
45-
{count: pager.total_entries})}
46-
</li>
47-
<li>
48-
{texp.l('Generated on {date}',
49-
{date: formatUserDate($c, generated)})}
50-
</li>
51-
52-
{canBeFiltered ? <FilterLink $c={$c} filtered={filtered} /> : null}
53-
</ul>
54-
23+
}: ReportDataT<ReportReleaseGroupT>): React.Element<typeof ReportLayout> => (
24+
<ReportLayout
25+
$c={$c}
26+
canBeFiltered={canBeFiltered}
27+
description={exp.l(
28+
`This report shows release groups with releases that are linked to
29+
releases in different release groups by part-of-set or
30+
transliteration relationships. If a pair of release groups are
31+
listed here, you should probably merge them. If the releases are
32+
discs linked with "part of set" relationships, you might want to
33+
merge them too into one multi-disc release
34+
(see {how_to_merge_releases|How to Merge Releases}).`,
35+
{how_to_merge_releases: '/doc/How_to_Merge_Releases'},
36+
)}
37+
entityType="release_group"
38+
filtered={filtered}
39+
generated={generated}
40+
title={l('Mismatched release groups')}
41+
totalEntries={pager.total_entries}
42+
>
5543
<ReleaseGroupList items={items} pager={pager} />
56-
57-
</Layout>
44+
</ReportLayout>
5845
);
5946

6047
export default SetInDifferentRg;

root/report/SingleMediumReleasesWithMediumTitles.js

+14-29
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,8 @@
99

1010
import * as React from 'react';
1111

12-
import Layout from '../layout';
13-
import formatUserDate from '../utility/formatUserDate';
14-
1512
import ReleaseList from './components/ReleaseList';
16-
import FilterLink from './FilterLink';
13+
import ReportLayout from './components/ReportLayout';
1714
import type {ReportDataT, ReportReleaseT} from './types';
1815

1916
const SingleMediumReleasesWithMediumTitles = ({
@@ -23,35 +20,23 @@ const SingleMediumReleasesWithMediumTitles = ({
2320
generated,
2421
items,
2522
pager,
26-
}: ReportDataT<ReportReleaseT>): React.Element<typeof Layout> => (
27-
<Layout
23+
}: ReportDataT<ReportReleaseT>): React.Element<typeof ReportLayout> => (
24+
<ReportLayout
2825
$c={$c}
29-
fullWidth
26+
canBeFiltered={canBeFiltered}
27+
description={l(
28+
`This report shows releases that have a single medium, where this
29+
medium also has a specific name. Usually, this is not necessary
30+
and is duplicate information which can be removed.`,
31+
)}
32+
entityType="release"
33+
filtered={filtered}
34+
generated={generated}
3035
title={l('Releases with a single medium that has a name')}
36+
totalEntries={pager.total_entries}
3137
>
32-
<h1>{l('Releases with a single medium that has a name')}</h1>
33-
34-
<ul>
35-
<li>
36-
{l(`This report shows releases that have a single medium, where this
37-
medium also has a specific name. Usually, this is not necessary
38-
and is duplicate information which can be removed.`)}
39-
</li>
40-
<li>
41-
{texp.l('Total releases found: {count}',
42-
{count: pager.total_entries})}
43-
</li>
44-
<li>
45-
{texp.l('Generated on {date}',
46-
{date: formatUserDate($c, generated)})}
47-
</li>
48-
49-
{canBeFiltered ? <FilterLink $c={$c} filtered={filtered} /> : null}
50-
</ul>
51-
5238
<ReleaseList items={items} pager={pager} />
53-
54-
</Layout>
39+
</ReportLayout>
5540
);
5641

5742
export default SingleMediumReleasesWithMediumTitles;

0 commit comments

Comments
 (0)