Skip to content

Commit

Permalink
Add WorkLinkingProperty. (#189)
Browse files Browse the repository at this point in the history
* Add WorkLinkingProperty.

* Set a default if locale not set.

* Make sure anchors found in requiredStatements follow theming.

* Update Clover.

* Remote unused layout.

* Update src/components/Shared/DefinitionList.styled.ts

Co-authored-by: mat <mat@northwestern.edu>

* Update src/components/Work/LinkingProperty.tsx

Co-authored-by: mat <mat@northwestern.edu>

---------

Co-authored-by: mat <mat@northwestern.edu>
  • Loading branch information
markpbaggett and mathewjordan authored May 8, 2024
1 parent 51218e5 commit 243709e
Show file tree
Hide file tree
Showing 8 changed files with 112 additions and 55 deletions.
4 changes: 4 additions & 0 deletions config/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@
"footerSourceCollection": "Source Collection",
"footerToggleTheme": "Toggle Theme",
"homepageHighlightedWorks": "Highlighted Works",
"primitiveHomepage": "Homepage",
"primitivePartOf": "Parent collections",
"primitiveRendering": "Alternative formats",
"primitiveSeeAlso": "See also",
"searchButton": "Search",
"searchResults": "Results",
"searchFilter": "Filter",
Expand Down
44 changes: 0 additions & 44 deletions content/works/_alternate_layout.mdx

This file was deleted.

1 change: 1 addition & 0 deletions content/works/_layout.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<Tabs.Content value="details">
<Work.Metadata />
<Work.RequiredStatement />
<Work.LinkingProperty />
<Work.ManifestId />
</Tabs.Content>

Expand Down
19 changes: 11 additions & 8 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"@radix-ui/react-dialog": "^1.0.2",
"@radix-ui/react-icons": "^1.3.0",
"@radix-ui/themes": "^3.0.2",
"@samvera/clover-iiif": "^2.7.5",
"@samvera/clover-iiif": "^2.8.2",
"@stitches/react": "^1.2.8",
"axios": "^0.24.0",
"clsx": "^1.1.1",
Expand Down
5 changes: 5 additions & 0 deletions src/components/Shared/DefinitionList.styled.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ const DefinitionListWrapper = styled("div", {
dd: {
padding: "0 0 $gr1",
margin: "0",

a: {
color: "var(--accent-11)",
textDecoration: "none",
}
},
},
});
Expand Down
87 changes: 87 additions & 0 deletions src/components/Work/LinkingProperty.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
import React from "react";
import { LocaleString } from "@hooks/useLocale";
import {
Homepage,
PartOf,
PrimitivesExternalWebResource,
PrimitivesIIIFResource,
Rendering,
SeeAlso
} from "@samvera/clover-iiif/primitives";
import { styled } from "@styles/stitches";

const WorkLinkingProperty = ({
homepage, partOf, rendering, seeAlso
}: {
homepage?: PrimitivesExternalWebResource[];
partOf?: PrimitivesIIIFResource[];
rendering?: PrimitivesExternalWebResource[];
seeAlso?: PrimitivesExternalWebResource[];
}) => {

return (
<StyledLinkingProperty>
{rendering && (
<dl>
<dt>{LocaleString("primitiveRendering") || "Alternate formats"}</dt>
<dd><Rendering rendering={rendering} /></dd>
</dl>
)}
{seeAlso && (
<dl>
<dt>{LocaleString("primitiveSeeAlso") || "See also"}</dt>
<dd><SeeAlso seeAlso={seeAlso} /></dd>
</dl>
)}
{homepage && (
<dl>
<dt>{LocaleString("primitiveHomepage") || "Homepage"}</dt>
<dd><Homepage homepage={homepage} /></dd>
</dl>
)}
{partOf && (
<dl>
<dt>{LocaleString("primitivePartOf") || "Parent collections"}</dt>
<dd><PartOf partOf={partOf} /></dd>
</dl>
)}
</StyledLinkingProperty>
);
};

export default WorkLinkingProperty;

const StyledLinkingProperty = styled("div", {
dl: {
margin: "0",

dt: {
padding: "$gr2 0 $gr1",
fontWeight: "500",
color: "var(--gray-10)",
fontSize: "$gr2",
},

dd: {
padding: "0 0 $gr1",

a: {
color: "var(--accent-11)",
textDecoration: "none",
},

ul: {
listStyle: "none",
listStyleType: "none",
margin: "0",
paddingInlineStart: "0px",

li: {
listStyle: "none",
listStyleType: "none",
}
}
},
}
},
);
5 changes: 3 additions & 2 deletions src/pages/works/[slug].tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import WorkViewer from "@src/components/Work/Viewer";
import WorkScroll from "@src/components/Work/Scroll";
import WorkReferencingContent from "@src/components/Work/ReferencingContent";
import WorkRequiredStatement from "@src/components/Work/RequiredStatement";
import WorkLinkingProperty from "@components/Work/LinkingProperty";

interface WorkProps {
manifest: Manifest;
Expand All @@ -33,12 +34,12 @@ export default function WorkPage({
related,
source,
}: WorkProps) {
const { id, label, metadata, requiredStatement, summary } = manifest;

const { id, homepage, label, metadata, rendering, requiredStatement, partOf, seeAlso, summary } = manifest;
const Work = () => <></>;

Work.ManifestId = () => <WorkManifestId manifestId={id} />;
Work.Metadata = () => <WorkMetadata metadata={metadata} />;
Work.LinkingProperty = (props) => <WorkLinkingProperty {...props} homepage={homepage} partOf={partOf} rendering={rendering} seeAlso={seeAlso} />;
Work.RequiredStatement = () => (
<WorkRequiredStatement requiredStatement={requiredStatement} />
);
Expand Down

0 comments on commit 243709e

Please sign in to comment.