gatsby-theme-advanced
Version:
GatsbyJS theme equipped with advanced features.
35 lines (34 loc) • 1.56 kB
JSX
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const react_helmet_1 = require("react-helmet");
const useInfiniteFeed_1 = __importDefault(require("./useInfiniteFeed"));
const config_1 = require("../../config");
const FeedTemplate = ({ pageContext }) => {
const { feedListing, feedElementRef } = (0, useInfiniteFeed_1.default)(pageContext);
const config = (0, config_1.useConfig)();
// Override the title for non-index feeds
const getTitleOverride = () => {
if (pageContext.feedId) {
if (pageContext.feedType === "tag")
return (<react_helmet_1.Helmet title={`Posts tagged as "${pageContext.feedId}" | ${config.website.title}`}/>);
if (pageContext.feedType === "category")
return (<react_helmet_1.Helmet title={`Posts in category "${pageContext.feedId}" | ${config.website.title}`}/>);
}
return null;
};
return (<div className="feed-wrapper" ref={feedElementRef}>
{getTitleOverride()}
{feedListing.map((post) => {
// Check if we're rendering a placeholder and determine a key
const key = "isPlaceholder" in post ? post.key : post.slug;
return (<pre key={key}>
<code>{JSON.stringify(post, null, 2)}</code>
</pre>);
})}
</div>);
};
exports.default = FeedTemplate;