Merge branch 'master' of https://github.com/oxen-io/oxen-website into fix-404-bugs
This commit is contained in:
commit
9258447a60
|
@ -9,6 +9,7 @@ export function HomeHero() {
|
||||||
}}
|
}}
|
||||||
className="absolute bottom-0 left-0 object-cover h-full transform"
|
className="absolute bottom-0 left-0 object-cover h-full transform"
|
||||||
src="/hero.svg"
|
src="/hero.svg"
|
||||||
|
alt="Hero Landing Page, depicting the integration of privacy and technology"
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,10 +27,12 @@ export function HomeHeroBubble() {
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<p className="mb-1 text-xs desktop:text-base text-secondary">OXEN</p>
|
<p className="mb-1 text-xs desktop:text-base text-secondary">OXEN</p>
|
||||||
Welcome to Oxen.
|
<h1>
|
||||||
<br />
|
Welcome to Oxen.
|
||||||
We know you have questions;
|
<br />
|
||||||
<br /> here are the answers.
|
We know you have questions;
|
||||||
|
<br /> here are the answers.
|
||||||
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|
|
@ -27,7 +27,10 @@ export function Article(props: IPost) {
|
||||||
<article>
|
<article>
|
||||||
<div className="flex flex-col items-center mt-10 mb-16 space-y-4">
|
<div className="flex flex-col items-center mt-10 mb-16 space-y-4">
|
||||||
<Contained>
|
<Contained>
|
||||||
<ArticleSectionFeatureImage featureImage={featureImage} />
|
<ArticleSectionFeatureImage
|
||||||
|
featureImage={featureImage}
|
||||||
|
title={title}
|
||||||
|
/>
|
||||||
</Contained>
|
</Contained>
|
||||||
|
|
||||||
<ArticleContained>
|
<ArticleContained>
|
||||||
|
|
|
@ -2,15 +2,16 @@ import { IFigureImage } from '../../../types/cms';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
featureImage: IFigureImage;
|
featureImage: IFigureImage;
|
||||||
|
title: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function ArticleSectionFeatureImage({ featureImage }: Props) {
|
export function ArticleSectionFeatureImage({ featureImage, title }: Props) {
|
||||||
return (
|
return (
|
||||||
<div className="w-full pb-4 desktop:pb-0">
|
<div className="w-full pb-4 desktop:pb-0">
|
||||||
<div className="relative w-full mb-4 aspect-w-14 aspect-h-8">
|
<div className="relative w-full mb-4 aspect-w-14 aspect-h-8">
|
||||||
<img
|
<img
|
||||||
src={featureImage?.imageUrl}
|
src={featureImage?.imageUrl}
|
||||||
alt={featureImage?.description ?? ''}
|
alt={featureImage?.description ?? title}
|
||||||
className="object-cover rounded"
|
className="object-cover rounded"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -47,7 +47,7 @@ export function ArticleCard(props: IPost): JSX.Element {
|
||||||
<img
|
<img
|
||||||
className="object-cover cursor-pointer"
|
className="object-cover cursor-pointer"
|
||||||
src={`${featureImage?.imageUrl}?w=300`}
|
src={`${featureImage?.imageUrl}?w=300`}
|
||||||
alt={featureImage?.description}
|
alt={featureImage?.description ?? title}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
@ -57,9 +57,6 @@ export function ArticleCard(props: IPost): JSX.Element {
|
||||||
<Link href={href} as={as}>
|
<Link href={href} as={as}>
|
||||||
<a>
|
<a>
|
||||||
<p
|
<p
|
||||||
style={{
|
|
||||||
maxHeight: '2em',
|
|
||||||
}}
|
|
||||||
className={classNames(
|
className={classNames(
|
||||||
isSmall ? 'text-base' : 'text-lg',
|
isSmall ? 'text-base' : 'text-lg',
|
||||||
'font-sans overflow-hidden cursor-pointer mb-3 hover:underline leading-none text-primary',
|
'font-sans overflow-hidden cursor-pointer mb-3 hover:underline leading-none text-primary',
|
||||||
|
|
|
@ -38,6 +38,7 @@ export function ArticleCardFeature(props: IPost) {
|
||||||
<img
|
<img
|
||||||
className="object-cover"
|
className="object-cover"
|
||||||
src={`${featureImage?.imageUrl}?w=600`}
|
src={`${featureImage?.imageUrl}?w=600`}
|
||||||
|
alt={featureImage?.description ?? title}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -32,7 +32,7 @@ export function ArticleCardRow(post: IPost) {
|
||||||
{post?.featureImage?.imageUrl && (
|
{post?.featureImage?.imageUrl && (
|
||||||
<img
|
<img
|
||||||
src={post.featureImage?.imageUrl}
|
src={post.featureImage?.imageUrl}
|
||||||
alt={post.featureImage?.description}
|
alt={post.featureImage?.description ?? post.title}
|
||||||
className="object-cover w-full h-full rounded-lg"
|
className="object-cover w-full h-full rounded-lg"
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
|
@ -22,6 +22,15 @@ const nextConfig = {
|
||||||
CONTENTFUL_SPACE_ID: process.env.CONTENTFUL_SPACE_ID,
|
CONTENTFUL_SPACE_ID: process.env.CONTENTFUL_SPACE_ID,
|
||||||
CONTENTFUL_ACCESS_TOKEN: process.env.CONTENTFUL_ACCESS_TOKEN,
|
CONTENTFUL_ACCESS_TOKEN: process.env.CONTENTFUL_ACCESS_TOKEN,
|
||||||
},
|
},
|
||||||
|
async redirects() {
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
source: '/blog/session-the-road-to-monetisation-and-oxen-value-capture',
|
||||||
|
destination: '/blog/session-the-road-to-monetisation',
|
||||||
|
permanent: true,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = withPlugins([withFonts, withSvgr], nextConfig);
|
module.exports = withPlugins([withFonts, withSvgr], nextConfig);
|
||||||
|
|
|
@ -11,7 +11,7 @@ import { ISplitPage } from '../types/cms';
|
||||||
import { generateTitle, generateURL } from '../utils/metadata';
|
import { generateTitle, generateURL } from '../utils/metadata';
|
||||||
|
|
||||||
interface IPath {
|
interface IPath {
|
||||||
params: { page: string; isRoadmap?: boolean; isFAQ?: boolean };
|
params: { page: string };
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function getStaticPaths() {
|
export async function getStaticPaths() {
|
||||||
|
@ -95,6 +95,7 @@ function Page({ page, href }: { page: ISplitPage | null; href: string }) {
|
||||||
style={{ maxHeight: '33vh' }}
|
style={{ maxHeight: '33vh' }}
|
||||||
src={page?.hero?.imageUrl}
|
src={page?.hero?.imageUrl}
|
||||||
className="object-contain w-full"
|
className="object-contain w-full"
|
||||||
|
alt={page?.hero?.description ?? pageTitle}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -157,6 +157,9 @@ const Blog = (props: Props) => {
|
||||||
|
|
||||||
<div className="flex flex-col w-full mt-12 mb-6 space-y-6 bg-alt">
|
<div className="flex flex-col w-full mt-12 mb-6 space-y-6 bg-alt">
|
||||||
<Contained>
|
<Contained>
|
||||||
|
<h1 className="mb-2 text-4xl font-medium uppercase font-prompt">
|
||||||
|
Oxen Blogs
|
||||||
|
</h1>
|
||||||
{!tag && posts.length && <ArticleCardFeature {...featuredPost} />}
|
{!tag && posts.length && <ArticleCardFeature {...featuredPost} />}
|
||||||
|
|
||||||
{tag && (
|
{tag && (
|
||||||
|
|
|
@ -55,6 +55,7 @@ function Roadmap() {
|
||||||
<img
|
<img
|
||||||
style={{ maxHeight: '90%' }}
|
style={{ maxHeight: '90%' }}
|
||||||
src={`img/roadmap-${horizontal ? 'x' : 'y'}.png`}
|
src={`img/roadmap-${horizontal ? 'x' : 'y'}.png`}
|
||||||
|
alt="Oxen's Roadmap and Plans for the future."
|
||||||
className="w-full"
|
className="w-full"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -69,6 +70,7 @@ function Roadmap() {
|
||||||
<img
|
<img
|
||||||
style={{ maxHeight: horizontal ? '90%' : 'auto' }}
|
style={{ maxHeight: horizontal ? '90%' : 'auto' }}
|
||||||
src={`img/session-${horizontal ? 'x' : 'y'}.png`}
|
src={`img/session-${horizontal ? 'x' : 'y'}.png`}
|
||||||
|
alt="Session's Roadmap and Plans for the future."
|
||||||
className="w-full rounded-md"
|
className="w-full rounded-md"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -79,7 +81,8 @@ function Roadmap() {
|
||||||
</h2>
|
</h2>
|
||||||
<img
|
<img
|
||||||
style={{ maxHeight: '90%' }}
|
style={{ maxHeight: '90%' }}
|
||||||
src={`img/lokinet-${horizontal ? 'x' : 'y'}.jpg`}
|
src={`img/lokinet-${horizontal ? 'x' : 'y'}.png`}
|
||||||
|
alt="Lokinet's Roadmap and Plans for the future."
|
||||||
className="w-full rounded-md"
|
className="w-full rounded-md"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 169 KiB |
Binary file not shown.
After Width: | Height: | Size: 349 KiB |
Binary file not shown.
Before Width: | Height: | Size: 218 KiB |
Binary file not shown.
After Width: | Height: | Size: 583 KiB |
Loading…
Reference in New Issue