Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions community-token/src/components/McpLaunchedBanner.vue
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
<script setup lang="ts">
import {
MCP_LAUNCH_ANNOUNCEMENT_X_LABEL,
MCP_LAUNCH_ANNOUNCEMENT_X_URL,
} from '../../../shared/mcpLaunchUrls'

const connectUrl = 'https://mcp-docs.feelyourprotocol.org/use/connect.html'
const askUrl = 'https://mcp-docs.feelyourprotocol.org/use/capabilities.html'
</script>
Expand Down Expand Up @@ -43,6 +48,14 @@ const askUrl = 'https://mcp-docs.feelyourprotocol.org/use/capabilities.html'
>
Try a question
</a>
<a
class="ct-launched__cta ct-launched__cta--quiet"
:href="MCP_LAUNCH_ANNOUNCEMENT_X_URL"
target="_blank"
rel="noopener noreferrer"
>
{{ MCP_LAUNCH_ANNOUNCEMENT_X_LABEL }}
</a>
</div>
</div>
</aside>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,8 @@ describe('McpLaunchedBanner', () => {
expect(wrapper.text()).toContain('6 October 2026')
expect(wrapper.get('a[href*="use/connect"]').text()).toBe('Connect')
expect(wrapper.get('a[href*="use/capabilities"]').attributes('target')).toBe('_blank')
expect(wrapper.get('a[href*="status/2107839782525325437"]').text()).toBe(
'Read announcement on X',
)
})
})
7 changes: 7 additions & 0 deletions docs-hub/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,13 @@ <h1 class="title">
href="https://mcp-docs.feelyourprotocol.org/use/capabilities.html"
>Try a question</a
>
<a
class="fyp-launched__cta fyp-launched__cta--quiet"
href="https://x.com/FeelEthereum/status/2107839782525325437"
target="_blank"
rel="noopener noreferrer"
>Read announcement on X</a
>
</div>
</div>
</aside>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ describe('LaunchedBanner', () => {
expect(wrapper.text()).toContain('6 October 2026')
expect(wrapper.get('a[href="/use/connect.html"]').text()).toBe('Connect')
expect(wrapper.get('a[href="/use/capabilities.html"]').attributes('target')).toBeUndefined()
expect(wrapper.get('a[href*="status/2107839782525325437"]').text()).toBe(
'Read announcement on X',
)
})

it('opens an external entry point in a new tab', () => {
Expand Down
5 changes: 5 additions & 0 deletions shared/mcpLaunchUrls.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/** @FeelEthereum launch thread for the hosted MCP server (Oct 2026). */
export const MCP_LAUNCH_ANNOUNCEMENT_X_URL =
'https://x.com/FeelEthereum/status/2107839782525325437' as const

export const MCP_LAUNCH_ANNOUNCEMENT_X_LABEL = 'Read announcement on X' as const
13 changes: 13 additions & 0 deletions shared/vitepress/LaunchedBanner.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
<script setup lang="ts">
import { onBeforeUnmount, onMounted } from 'vue'

import {
MCP_LAUNCH_ANNOUNCEMENT_X_LABEL,
MCP_LAUNCH_ANNOUNCEMENT_X_URL,
} from '../mcpLaunchUrls'

withDefaults(
defineProps<{
kicker: string
Expand Down Expand Up @@ -81,6 +86,14 @@ onBeforeUnmount(() => observer?.disconnect())
>
{{ secondaryLabel }}
</a>
<a
class="fyp-launched__cta fyp-launched__cta--quiet"
:href="MCP_LAUNCH_ANNOUNCEMENT_X_URL"
target="_blank"
rel="noopener noreferrer"
>
{{ MCP_LAUNCH_ANNOUNCEMENT_X_LABEL }}
</a>
</div>
</div>
</aside>
Expand Down
9 changes: 9 additions & 0 deletions src/libs/__tests__/roadmapUrls.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
import { describe, expect, it } from 'vitest'

import {
FYP_MCP_LAUNCH_ANNOUNCEMENT_X_LABEL,
FYP_MCP_LAUNCH_ANNOUNCEMENT_X_URL,
FYP_X_HANDLE,
FYP_X_URL,
FYP_YOUTUBE_URL,
Expand Down Expand Up @@ -54,6 +56,13 @@ describe('roadmapUrls', () => {
it('FYP_YOUTUBE_URL is the @FeelEthereum channel', () => {
expect(FYP_YOUTUBE_URL).toBe('https://www.youtube.com/@FeelEthereum')
})

it('FYP_MCP_LAUNCH_ANNOUNCEMENT_X_URL is the launch thread', () => {
expect(FYP_MCP_LAUNCH_ANNOUNCEMENT_X_URL).toBe(
'https://x.com/FeelEthereum/status/2107839782525325437',
)
expect(FYP_MCP_LAUNCH_ANNOUNCEMENT_X_LABEL).toBe('Read announcement on X')
})
})

describe('mcpDocsUrls', () => {
Expand Down
5 changes: 5 additions & 0 deletions src/libs/roadmapUrls.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,8 @@ export const FYP_X_URL = 'https://x.com/FeelEthereum'

/** @FeelEthereum YouTube channel — same handle as X. */
export const FYP_YOUTUBE_URL = 'https://www.youtube.com/@FeelEthereum'

export {
MCP_LAUNCH_ANNOUNCEMENT_X_LABEL as FYP_MCP_LAUNCH_ANNOUNCEMENT_X_LABEL,
MCP_LAUNCH_ANNOUNCEMENT_X_URL as FYP_MCP_LAUNCH_ANNOUNCEMENT_X_URL,
} from '../../shared/mcpLaunchUrls'
14 changes: 13 additions & 1 deletion src/mcp-launch/McpLaunchHomeSection.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
<script setup lang="ts">
import SectionLabel from '@/components/SectionLabel.vue'
import { mcpDocsPage } from '@/libs/roadmapUrls'
import {
FYP_MCP_LAUNCH_ANNOUNCEMENT_X_LABEL,
FYP_MCP_LAUNCH_ANNOUNCEMENT_X_URL,
mcpDocsPage,
} from '@/libs/roadmapUrls'

const connectUrl = mcpDocsPage('use/connect')
const askUrl = mcpDocsPage('use/capabilities')
Expand Down Expand Up @@ -55,6 +59,14 @@ const askUrl = mcpDocsPage('use/capabilities')
>
Try a question
</a>
<a
:href="FYP_MCP_LAUNCH_ANNOUNCEMENT_X_URL"
target="_blank"
rel="noopener noreferrer"
class="fyp-shell-cta border border-violet-300 bg-white text-slate-700 hover:bg-violet-50"
>
{{ FYP_MCP_LAUNCH_ANNOUNCEMENT_X_LABEL }}
</a>
</div>
</div>
</div>
Expand Down
14 changes: 13 additions & 1 deletion src/mcp-launch/McpLaunchedRibbon.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
<script setup lang="ts">
import { mcpDocsPage } from '@/libs/roadmapUrls'
import {
FYP_MCP_LAUNCH_ANNOUNCEMENT_X_LABEL,
FYP_MCP_LAUNCH_ANNOUNCEMENT_X_URL,
mcpDocsPage,
} from '@/libs/roadmapUrls'

const connectUrl = mcpDocsPage('use/connect')
const askUrl = mcpDocsPage('use/capabilities')
Expand Down Expand Up @@ -55,6 +59,14 @@ const askUrl = mcpDocsPage('use/capabilities')
>
Try a question
</a>
<a
:href="FYP_MCP_LAUNCH_ANNOUNCEMENT_X_URL"
target="_blank"
rel="noopener noreferrer"
class="fyp-shell-cta border border-violet-300 bg-white text-slate-700 hover:bg-violet-50"
>
{{ FYP_MCP_LAUNCH_ANNOUNCEMENT_X_LABEL }}
</a>
</div>
</div>
</aside>
Expand Down
1 change: 1 addition & 0 deletions src/mcp-launch/__tests__/McpLaunchHomeSection.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,6 @@ describe('McpLaunchHomeSection', () => {
expect(wrapper.text()).toContain('The hosted lab is')
expect(wrapper.find('a[href*="use/connect"]').exists()).toBe(true)
expect(wrapper.find('a[href*="use/capabilities"]').exists()).toBe(true)
expect(wrapper.find('a[href*="status/2107839782525325437"]').exists()).toBe(true)
})
})
3 changes: 3 additions & 0 deletions src/mcp-launch/__tests__/McpLaunchedRibbon.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,8 @@ describe('McpLaunchedRibbon', () => {
expect(wrapper.text()).toContain('6 October 2026')
expect(wrapper.get('a[href*="use/connect"]').text()).toBe('Connect')
expect(wrapper.get('a[href*="use/capabilities"]').attributes('target')).toBe('_blank')
expect(wrapper.get('a[href*="status/2107839782525325437"]').text()).toBe(
'Read announcement on X',
)
})
})
Loading