Skip to content

Commit 2a7eadd

Browse files
authored
Merge pull request #170 from BibliothecaDAO/polish
add footer links add banners, update images
2 parents cfa65b2 + a8ce8bc commit 2a7eadd

File tree

11 files changed

+305
-89
lines changed

11 files changed

+305
-89
lines changed

apps/nextjs/public/events/banners.png

4.28 KB
Loading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
export const BaseCard = ({
2+
children,
3+
className,
4+
}: {
5+
children: React.ReactNode;
6+
className?: string;
7+
}) => {
8+
return (
9+
<div
10+
className={`${className} border-4 bg-theme-gray-light shadow-sm shadow-black transition-all duration-200 hover:border-bright-yellow`}
11+
>
12+
{children}
13+
</div>
14+
);
15+
};
+152-33
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,158 @@
1-
import Link from "next/link";
1+
import RWLogo from "@/icons/rw-logo.svg";
22

33
export const Footer = () => {
4-
const footerLinks = [
5-
{
6-
name: "Bibliotheca DAO",
7-
href: "https://bibliothecadao.xyz/",
8-
},
9-
{
10-
name: "Discord",
11-
href: "https://discord.gg/realmsworld",
12-
},
13-
{
14-
name: "Brand Assets",
15-
href: "https://drive.google.com/drive/folders/17vrwIjwqifxBVTkHmxoK1VhQ31hVSbDH",
16-
},
17-
{
18-
name: "Shop",
19-
href: "https://shop.realms.world",
20-
},
21-
];
22-
234
return (
24-
<div className="w-full px-4 py-24 sm:pl-36 sm:pt-24">
25-
<div className="w-full">
26-
<h1>Realms.World</h1>
27-
</div>
28-
<div className="mt-8">
29-
<ul>
30-
{footerLinks.map((item, index) => (
31-
<li className="my-1 py-1 text-lg" key={index}>
32-
<Link href={item.href}>{item.name}</Link>
33-
</li>
34-
))}
35-
</ul>
5+
<footer className="w-full px-4 py-24 sm:pl-36 sm:pt-24 ">
6+
<div className="mx-auto w-full max-w-screen-xl p-4 py-6 lg:py-8">
7+
<div className="md:flex md:justify-between">
8+
<div className="mb-6 md:mb-0">
9+
<RWLogo className=" w-[152px]" />
10+
</div>
11+
<div className="grid grid-cols-2 gap-8 sm:grid-cols-3 sm:gap-8">
12+
<div>
13+
<h2 className="mb-6 text-sm font-semibold uppercase ">
14+
Resources
15+
</h2>
16+
<ul className="font-medium ">
17+
<li className="mb-4">
18+
<a
19+
href="https://bibliothecadao.xyz/"
20+
className="hover:underline"
21+
>
22+
Bibliotheca DAO
23+
</a>
24+
</li>
25+
<li className="mb-4">
26+
<a
27+
href="https://www.coingecko.com/en/coins/lords"
28+
className="hover:underline"
29+
>
30+
Coin Gecko
31+
</a>
32+
</li>
33+
<li className="mb-4">
34+
<a
35+
href="https://frontinus.house/"
36+
className="hover:underline"
37+
>
38+
Frontinus House
39+
</a>
40+
</li>
41+
<li className="mb-4">
42+
<a
43+
href="https://app.avnu.fi/en?amount=100&tokenFrom=0x124aeb495b947201f5fac96fd1138e326ad86195b98df6dec9009158a533b49&tokenTo=0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"
44+
className="hover:underline"
45+
>
46+
Buy Lords
47+
</a>
48+
</li>
49+
<li className="mb-4">
50+
<a
51+
href="https://shop.realms.world"
52+
className="hover:underline"
53+
>
54+
Realms World Shop
55+
</a>
56+
</li>
57+
<li className="mb-4">
58+
<a
59+
href="https://dev.realms.world"
60+
className="hover:underline"
61+
>
62+
Developer Docs
63+
</a>
64+
</li>
65+
<li className="mb-4">
66+
<a
67+
href="https://drive.google.com/drive/folders/17vrwIjwqifxBVTkHmxoK1VhQ31hVSbDH"
68+
className="hover:underline"
69+
>
70+
Brand Assets
71+
</a>
72+
</li>
73+
</ul>
74+
</div>
75+
<div>
76+
<h2 className="mb-6 text-sm font-semibold uppercase">
77+
Follow us
78+
</h2>
79+
<ul className="font-medium ">
80+
<li className="mb-4">
81+
<a
82+
href="https://github.com/bibliothecaDAO"
83+
className="hover:underline "
84+
>
85+
Github
86+
</a>
87+
</li>
88+
<li className="mb-4">
89+
<a
90+
href="https://discord.gg/realmsworld"
91+
className="hover:underline"
92+
>
93+
Discord
94+
</a>
95+
</li>
96+
<li>
97+
<a
98+
href="https://x.com/realmsworld"
99+
className="hover:underline"
100+
>
101+
Twitter
102+
</a>
103+
</li>
104+
</ul>
105+
</div>
106+
</div>
107+
</div>
108+
<hr className="my-6 border sm:mx-auto lg:my-8 " />
109+
<div className="sm:flex sm:items-center sm:justify-between">
110+
<span className="text-sm sm:text-center">
111+
© {new Date().getFullYear()}{" "}
112+
<a href="https://flowbite.com/" className="hover:underline">
113+
BibliothecaDAO
114+
</a>
115+
</span>
116+
<div className="mt-4 flex sm:mt-0 sm:justify-center">
117+
<a href="https://discord.gg/realmsworld" className="ms-5 ">
118+
<svg
119+
className="h-4 w-4"
120+
aria-hidden="true"
121+
xmlns="http://www.w3.org/2000/svg"
122+
fill="currentColor"
123+
viewBox="0 0 21 16"
124+
>
125+
<path d="M16.942 1.556a16.3 16.3 0 0 0-4.126-1.3 12.04 12.04 0 0 0-.529 1.1 15.175 15.175 0 0 0-4.573 0 11.585 11.585 0 0 0-.535-1.1 16.274 16.274 0 0 0-4.129 1.3A17.392 17.392 0 0 0 .182 13.218a15.785 15.785 0 0 0 4.963 2.521c.41-.564.773-1.16 1.084-1.785a10.63 10.63 0 0 1-1.706-.83c.143-.106.283-.217.418-.33a11.664 11.664 0 0 0 10.118 0c.137.113.277.224.418.33-.544.328-1.116.606-1.71.832a12.52 12.52 0 0 0 1.084 1.785 16.46 16.46 0 0 0 5.064-2.595 17.286 17.286 0 0 0-2.973-11.59ZM6.678 10.813a1.941 1.941 0 0 1-1.8-2.045 1.93 1.93 0 0 1 1.8-2.047 1.919 1.919 0 0 1 1.8 2.047 1.93 1.93 0 0 1-1.8 2.045Zm6.644 0a1.94 1.94 0 0 1-1.8-2.045 1.93 1.93 0 0 1 1.8-2.047 1.918 1.918 0 0 1 1.8 2.047 1.93 1.93 0 0 1-1.8 2.045Z" />
126+
</svg>
127+
<span className="sr-only">Discord community</span>
128+
</a>
129+
<a href="https://x.com/realmsworld" className="ms-5 ">
130+
<svg
131+
className="h-4 w-4"
132+
aria-hidden="true"
133+
xmlns="http://www.w3.org/2000/svg"
134+
fill="currentColor"
135+
viewBox="0 0 20 17"
136+
>
137+
<path d="M20 1.892a8.178 8.178 0 0 1-2.355.635 4.074 4.074 0 0 0 1.8-2.235 8.344 8.344 0 0 1-2.605.98A4.13 4.13 0 0 0 13.85 0a4.068 4.068 0 0 0-4.1 4.038 4 4 0 0 0 .105.919A11.705 11.705 0 0 1 1.4.734a4.006 4.006 0 0 0 1.268 5.392 4.165 4.165 0 0 1-1.859-.5v.05A4.057 4.057 0 0 0 4.1 9.635a4.19 4.19 0 0 1-1.856.07 4.108 4.108 0 0 0 3.831 2.807A8.36 8.36 0 0 1 0 14.184 11.732 11.732 0 0 0 6.291 16 11.502 11.502 0 0 0 17.964 4.5c0-.177 0-.35-.012-.523A8.143 8.143 0 0 0 20 1.892Z" />
138+
</svg>
139+
<span className="sr-only">Twitter page</span>
140+
</a>
141+
<a href="https://github.com/bibliothecaDAO" className="ms-5 ">
142+
<svg
143+
className="h-4 w-4"
144+
aria-hidden="true"
145+
xmlns="http://www.w3.org/2000/svg"
146+
fill="currentColor"
147+
viewBox="0 0 20 20"
148+
>
149+
<path d="M10 .333A9.911 9.911 0 0 0 6.866 19.65c.5.092.678-.215.678-.477 0-.237-.01-1.017-.014-1.845-2.757.6-3.338-1.169-3.338-1.169a2.627 2.627 0 0 0-1.1-1.451c-.9-.615.07-.6.07-.6a2.084 2.084 0 0 1 1.518 1.021 2.11 2.11 0 0 0 2.884.823c.044-.503.268-.973.63-1.325-2.2-.25-4.516-1.1-4.516-4.9A3.832 3.832 0 0 1 4.7 7.068a3.56 3.56 0 0 1 .095-2.623s.832-.266 2.726 1.016a9.409 9.409 0 0 1 4.962 0c1.89-1.282 2.717-1.016 2.717-1.016.366.83.402 1.768.1 2.623a3.827 3.827 0 0 1 1.02 2.659c0 3.807-2.319 4.644-4.525 4.889a2.366 2.366 0 0 1 .673 1.834c0 1.326-.012 2.394-.012 2.72 0 .263.18.572.681.475A9.911 9.911 0 0 0 10 .333Z" />
150+
</svg>
151+
<span className="sr-only">GitHub account</span>
152+
</a>
153+
</div>
154+
</div>
36155
</div>
37-
</div>
156+
</footer>
38157
);
39158
};

apps/nextjs/src/app/blog/PostPreview.tsx

+21-21
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,31 @@
11
import Image from "next/image";
22
import Link from "next/link";
33

4-
import { PostMetadata } from "./getArticles";
4+
import type { PostMetadata } from "./getArticles";
5+
import { BaseCard } from "../_components/BaseCard";
56

67
const PostPreview = (props: PostMetadata) => {
78
return (
8-
<Link
9-
href={`/blog/${props.slug}`}
10-
className="flex flex-col rounded border-4 bg-theme-gray-light transition-all duration-150 hover:border-white"
11-
>
12-
<Image
13-
className="w-full rounded-l object-cover"
14-
src={props.image}
15-
width={500}
16-
height={500}
17-
alt={props.slug}
18-
/>
19-
<div className="align-center p-4">
20-
<div>
21-
{" "}
22-
<div className="px-2 py-1 font-sans text-sm">{props.date}</div>
23-
</div>
9+
<BaseCard>
10+
<Link href={`/blog/${props.slug}`} className="flex flex-col ">
11+
<Image
12+
className="w-full rounded-l object-cover"
13+
src={props.image}
14+
width={500}
15+
height={500}
16+
alt={props.slug}
17+
/>
18+
<div className="align-center p-4">
19+
<div>
20+
{" "}
21+
<div className="px-2 py-1 font-sans text-sm">{props.date}</div>
22+
</div>
2423

25-
<h4>{props.title}</h4>
26-
<p>{props.subtitle}</p>
27-
</div>
28-
</Link>
24+
<h4>{props.title}</h4>
25+
<p>{props.subtitle}</p>
26+
</div>
27+
</Link>
28+
</BaseCard>
2929
);
3030
};
3131

apps/nextjs/src/app/events/EventCard.tsx

+18-7
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
import type { Event } from "@/types";
12
import { useEffect, useState } from "react";
23
import Image from "next/image";
3-
import { Event } from "@/types";
4+
import Link from "next/link";
45

56
import { Button } from "@realms-world/ui";
67

8+
import { BaseCard } from "../_components/BaseCard";
9+
710
export const EventCard = ({ event }: { event: Event }) => {
811
const [isToday, setIsToday] = useState(false);
912

@@ -16,9 +19,17 @@ export const EventCard = ({ event }: { event: Event }) => {
1619
}, [event.startDate, event.endDate]);
1720

1821
return (
19-
<div className="border-4">
20-
<Image width={600} height={400} src={event.image} alt="" />
21-
<div className="bg-theme-gray-light p-4">
22+
<BaseCard>
23+
<Link href={"/events/" + event.slug}>
24+
<Image
25+
width={600}
26+
height={400}
27+
className="min-h-[400px] object-cover"
28+
src={event.image}
29+
alt=""
30+
/>
31+
</Link>
32+
<div className="flex h-56 flex-col bg-theme-gray-light p-4">
2233
<span className={`flex flex-shrink px-2 py-1`}>
2334
<div
2435
className={`h-4 w-4 self-center rounded-full bg-green-600 ${isToday ? "animate-pulse" : ""}`}
@@ -29,15 +40,15 @@ export const EventCard = ({ event }: { event: Event }) => {
2940
</span>
3041
<h5>{event.name}</h5>
3142
<p>{event.description}</p>
32-
<div className="mt-6 flex justify-between">
43+
<div className="mt-auto flex w-full justify-between self-end">
3344
<Button href={event.website} size={"xs"} variant="default">
34-
Play Game
45+
{event.type == "play" ? "Play Game" : "Mint"}
3546
</Button>
3647
<Button href={"/events/" + event.slug} size={"xs"} variant="outline">
3748
More info
3849
</Button>
3950
</div>
4051
</div>
41-
</div>
52+
</BaseCard>
4253
);
4354
};

apps/nextjs/src/app/events/[id]/page.tsx

+54-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import type { Metadata } from "next";
2+
import Image from "next/image";
23
import { PageLayout } from "@/app/_components/PageLayout";
34
import { events } from "@/constants/events";
45

@@ -23,14 +24,65 @@ export default async function Page({ params }: { params: { id: string } }) {
2324

2425
return (
2526
<PageLayout title={event?.name ?? ""}>
26-
<img className="w-96" src={event?.image} alt="" />
27+
{event?.image && <Image
28+
className="w-96"
29+
width={350}
30+
height={350}
31+
src={event?.image}
32+
alt=""
33+
/>}
2734
<div className="py-4">
2835
<span className={`rounded border px-2 py-1 `}>
2936
{event?.startDate} to {event?.endDate}
3037
</span>
3138
</div>
3239

33-
<div className="text-lg">{event?.description}</div>
40+
{event?.slug == "paved" ? (
41+
<div className="prose prose-lg mt-6 max-w-5xl pb-6 text-xl leading-loose md:mt-12">
42+
<p>
43+
In Realms World&apos;s Paved game, players compete for high scores by
44+
laying tiles to form an expanding medieval landscape.
45+
</p>
46+
<p>
47+
Built on Starknet and powered by Dojo - pave your way to victory in
48+
an onchain strategy game like no other.
49+
</p>
50+
<h3>There is a 2,500 $Lords tournament</h3>
51+
<p>
52+
The player with the best score will be the tournament&apos;s Lord of the
53+
Board. There are nine prizes to be won by players.
54+
</p>
55+
<ul>
56+
<li>⚒️ First place: 1000 $Lords - aka Lord of the Board</li>
57+
<li>⚒️ Second place: 500 $Lords</li>
58+
<li>⚒️ Third place: 300 $Lords</li>
59+
<li>⚒️ Fastest game in the top 10: 200 $Lords</li>
60+
<li>⚒️ 5 randomly selected players: 100 $Lords</li>
61+
</ul>
62+
<br />
63+
<h3>Gameplay</h3>
64+
<p>
65+
In the single player mode, the player has 72 tiles to lay and score
66+
as many points as possible in the process.
67+
</p>
68+
<p>
69+
As tiles are laid, Cities, Roads, Wonders & Forests are formed and
70+
developed. Placing your Characters on these tiles gives you the
71+
opportunity to accumulate points - scored when structures are
72+
completed.
73+
</p>
74+
<p>
75+
Link to play: <a href="https://paved.gg/">https://paved.gg/</a>
76+
</p>
77+
<p>
78+
Game guide - for detail and tips:{" "}
79+
<a href="https://docs.paved.gg/">https://docs.paved.gg/</a>{" "}
80+
</p>
81+
Will you be Lord of the Board? Pave now.
82+
</div>
83+
) : (
84+
<div className="text-lg">{event?.description}</div>
85+
)}
3486

3587
<hr className="my-8" />
3688
<Button href="/events">Back to events</Button>

0 commit comments

Comments
 (0)