Skip to content

Commit 5641ae7

Browse files
authored
Merge branch 'main' into feat/lightclient-commit-status
2 parents 4cac861 + 7482b4a commit 5641ae7

File tree

111 files changed

+4937
-1667
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

111 files changed

+4937
-1667
lines changed

Cargo.lock

Lines changed: 40 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ members = [
4545
"lib/arbitrum-types",
4646
"lib/arbitrum-client",
4747
"lib/bob-types",
48+
"lib/base-client",
4849
"lib/bob-client",
4950
"lib/serde-utils",
5051
"lib/ssz",
@@ -192,7 +193,7 @@ members = [
192193
"voyager/modules/finality/trusted-evm",
193194
"voyager/modules/finality/sui",
194195

195-
# "voyager/plugins/client-update/base",
196+
"voyager/plugins/client-update/base",
196197
"voyager/plugins/client-update/bob",
197198
"voyager/plugins/client-update/arbitrum",
198199
"voyager/plugins/client-update/berachain",
@@ -328,20 +329,20 @@ parlia-light-client-types = { path = "lib/parlia-light-client-types", default-fe
328329
parlia-types = { path = "lib/parlia-types", default-features = false }
329330
parlia-verifier = { path = "lib/parlia-verifier", default-features = false }
330331

332+
base-client = { path = "lib/base-client", default-features = false }
331333
base-light-client-types = { path = "lib/base-light-client-types", default-features = false }
332334
base-verifier = { path = "lib/base-verifier", default-features = false }
333335

336+
bob-client = { path = "lib/bob-client", default-features = false }
334337
bob-light-client-types = { path = "lib/bob-light-client-types", default-features = false }
338+
bob-types = { path = "lib/bob-types", default-features = false }
335339
bob-verifier = { path = "lib/bob-verifier", default-features = false }
336340

337341
arbitrum-client = { path = "lib/arbitrum-client", default-features = false }
338342
arbitrum-light-client-types = { path = "lib/arbitrum-light-client-types", default-features = false }
339343
arbitrum-types = { path = "lib/arbitrum-types", default-features = false }
340344
arbitrum-verifier = { path = "lib/arbitrum-verifier", default-features = false }
341345

342-
bob-client = { path = "lib/bob-client", default-features = false }
343-
bob-types = { path = "lib/bob-types", default-features = false }
344-
345346
cometbls-groth16-verifier = { path = "lib/cometbls-groth16-verifier", default-features = false }
346347
cometbls-light-client = { path = "cosmwasm/ibc-union/lightclient/cometbls", default-features = false }
347348
cometbls-light-client-types = { path = "lib/cometbls-light-client-types", default-features = false }

app2/src/app.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
--color-zinc-925: oklch(0.1755 0.0055 285.854);
2323
--color-babylon-orange: oklch(62.55% 0.149 43.92);
2424
--color-union: oklch(72.2% 0.099 205.4);
25+
--color-yaps: oklch(84.979% 0.1738 86.555);
2526
--color-accent: var(--color-babylon-orange);
2627
--font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco,
2728
Consolas, "Liberation Mono", "Courier New", monospace;

app2/src/lib/components/layout/Navigation.svelte

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { uiStore } from "$lib/stores/ui.svelte"
55
import { cn } from "$lib/utils"
66
import { onMount } from "svelte"
77
import { navigation } from "./Sidebar/navigation"
8+
import YapAd from "./YapAd.svelte"
89
910
interface Props {
1011
onItemClick?: () => void
@@ -18,8 +19,8 @@ const {
1819
variant = "static",
1920
}: Props = $props()
2021
21-
let highlightElement: HTMLElement
22-
let navigationContainer: HTMLDivElement
22+
let highlightElement: HTMLElement | undefined
23+
let navigationContainer: HTMLDivElement | undefined
2324
2425
const updateHighlightPosition = () => {
2526
if (variant === "animated" && $page.url.pathname && highlightElement && navigationContainer) {
@@ -150,6 +151,7 @@ let isMoreUnionFirst = $derived(
150151
{#if section.title === "More Union"}
151152
<!-- Spacer to push social icons to bottom -->
152153
<div class="flex-1"></div>
154+
<YapAd />
153155
<!-- Special rendering for More Union section - just icons in a row -->
154156
<section class="px-4 py-4 flex flex-col justify-end {!isMoreUnionFirst && index > 0 ? 'border-t border-zinc-800/50' : ''}">
155157
<div class="flex items-center justify-center gap-4">
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
<script lang="ts">
2+
</script>
3+
4+
<div class="relative overflow-hidden border-t border-zinc-800/50">
5+
<div class="absolute inset-0 bg-gradient-to-br from-orange-500/20 to-transparent"></div>
6+
<a
7+
href="/yaps"
8+
class="relative flex gap-4 px-4 py-4 hover:bg-zinc-900/30 transition-all duration-200 group"
9+
>
10+
<!-- Mad Yaps Image -->
11+
<div class="w-16 h-16 overflow-hidden flex-shrink-0 group-hover:border-orange-500/30 transition-colors">
12+
<img
13+
src="/yaps/mad-yaos-square.png"
14+
alt="Mad Yaps"
15+
class="w-full h-full object-cover"
16+
/>
17+
</div>
18+
19+
<!-- Content -->
20+
<div class="flex flex-col justify-center flex-1 min-w-0">
21+
<div class="flex flex-col gap-1">
22+
<p class="text-xs text-zinc-300 leading-tight">
23+
Join the Yapocalypse and climb the leaderboard.
24+
</p>
25+
</div>
26+
27+
<div class="flex items-end justify-between mt-2">
28+
<span
29+
class="group-hover:text-accent text-xs inline-flex items-center gap-1.5 text-orange-400 transition-all duration-300 font-medium tracking-wide"
30+
>
31+
<span>Start Yapping</span>
32+
<svg
33+
class="w-3.5 h-3.5 transition-transform duration-300 group-hover:translate-x-0.5"
34+
fill="none"
35+
stroke="currentColor"
36+
viewBox="0 0 24 24"
37+
>
38+
<path
39+
stroke-linecap="round"
40+
stroke-linejoin="round"
41+
stroke-width="2"
42+
d="M13 7l5 5m0 0l-5 5m5-5H6"
43+
/>
44+
</svg>
45+
</span>
46+
</div>
47+
</div>
48+
</a>
49+
</div>
Lines changed: 57 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,75 @@
11
<script lang="ts">
22
import { cn } from "$lib/utils"
33
import type { Snippet } from "svelte"
4-
import type { HTMLButtonAttributes } from "svelte/elements"
4+
import type { HTMLAnchorAttributes, HTMLButtonAttributes } from "svelte/elements"
55
6-
type Props = HTMLButtonAttributes & {
7-
variant?: "primary" | "secondary" | "danger" | "outline" | "icon" | "inline"
6+
type BaseProps = {
7+
variant?: "primary" | "secondary" | "danger" | "outline" | "text" | "icon" | "inline"
88
selected?: boolean | undefined
99
class?: string
1010
children: Snippet
1111
}
1212
13+
type ButtonProps = BaseProps & HTMLButtonAttributes & {
14+
href?: never
15+
}
16+
17+
type AnchorProps = BaseProps & HTMLAnchorAttributes & {
18+
href: string
19+
type?: never
20+
disabled?: never
21+
}
22+
23+
type Props = ButtonProps | AnchorProps
24+
25+
const props = $props()
26+
1327
const {
1428
variant = "primary",
1529
disabled = false,
1630
selected = false,
17-
type = "button",
1831
class: className = "",
1932
children,
33+
type,
34+
href,
2035
...rest
21-
}: Props = $props()
36+
} = props
37+
38+
const isLink = href !== undefined
2239
2340
const classes = cn(
2441
// Base styles
2542
"inline-flex cursor-pointer items-center gap-2 justify-center rounded-md text-sm font-medium transition-colors",
2643
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
27-
"disabled:pointer-events-none disabled:opacity-50",
44+
// Disabled styles (only for buttons)
45+
!isLink && "disabled:pointer-events-none disabled:opacity-50",
46+
// Disabled styles for links (using aria-disabled)
47+
isLink && disabled && "pointer-events-none opacity-50",
2848
// Variants
2949
variant === "primary" && [
3050
"bg-sky-600 border-sky-600 border text-white hover:bg-sky-700",
3151
"dark:bg-white dark:border-zinc-100 dark:hover:bg-zinc-100 dark:text-black font-bold",
3252
"focus-visible:ring-accent",
3353
],
3454
variant === "secondary" && [
35-
"border border-zinc-200 bg-white hover:bg-zinc-100 hover:text-zinc-900",
55+
"border border-zinc-200 bg-white hover:bg-zinc-100 hover:text-zinc-900 font-bold",
3656
"dark:border-zinc-800 dark:bg-zinc-950 dark:hover:bg-zinc-800 dark:hover:text-zinc-50",
3757
"focus-visible:ring-zinc-400",
3858
],
3959
variant === "danger" && [
40-
"bg-red-500 border-red-400 border text-white hover:bg-red-700",
60+
"bg-red-500 border-red-400 border text-white hover:bg-red-700 font-bold",
4161
"focus-visible:ring-red-500",
4262
],
63+
variant === "outline" && [
64+
"border border-zinc-200 bg-transparent text-zinc-900 hover:bg-zinc-100 font-bold",
65+
"dark:border-zinc-700 dark:text-zinc-100 dark:hover:bg-zinc-800",
66+
"focus-visible:ring-zinc-400",
67+
],
68+
variant === "text" && [
69+
"bg-transparent text-zinc-900 hover:bg-zinc-100 font-bold",
70+
"dark:text-zinc-100 dark:hover:bg-zinc-800",
71+
"focus-visible:ring-zinc-400",
72+
],
4373
variant === "icon" && [
4474
"w-9 h-9 p-0 hover:bg-zinc-800 text-gray-400 hover:text-zinc-50",
4575
"focus-visible:ring-zinc-400",
@@ -54,11 +84,22 @@ const classes = cn(
5484
)
5585
</script>
5686

57-
<button
58-
{type}
59-
class={classes}
60-
{disabled}
61-
{...rest}
62-
>
63-
{@render children()}
64-
</button>
87+
{#if isLink}
88+
<a
89+
{href}
90+
class={classes}
91+
aria-disabled={disabled}
92+
{...rest}
93+
>
94+
{@render children()}
95+
</a>
96+
{:else}
97+
<button
98+
type={type || "button"}
99+
class={classes}
100+
{disabled}
101+
{...rest}
102+
>
103+
{@render children()}
104+
</button>
105+
{/if}

0 commit comments

Comments
 (0)