diff --git a/.changeset/early-nails-look.md b/.changeset/early-nails-look.md
new file mode 100644
index 00000000..d1a8895d
--- /dev/null
+++ b/.changeset/early-nails-look.md
@@ -0,0 +1,5 @@
+---
+"frog": patch
+---
+
+Fixes an issue with rendering of `TextInput` intent and reverts changes from https://github.com/wevm/frog/commit/90544316bf2d752bf324bc43662cd31b3b2c78db and https://github.com/wevm/frog/commit/6114139cb7b56ca5bc95ae2af7722f9ba0ec7f80 as those are no longer needed.
diff --git a/src/components/TextInput.tsx b/src/components/TextInput.tsx
index ba5c1acc..0d797a58 100644
--- a/src/components/TextInput.tsx
+++ b/src/components/TextInput.tsx
@@ -1,4 +1,5 @@
import type { JSX } from 'hono/jsx/jsx-runtime'
+import type { HtmlEscapedString } from 'hono/utils/html'
export type TextInputProps = {
placeholder?: string | undefined
@@ -6,5 +7,7 @@ export type TextInputProps = {
TextInput.__type = 'text-input'
export function TextInput({ placeholder }: TextInputProps): JSX.Element {
- return
+ return [
+ ,
+ ] as unknown as HtmlEscapedString
}
diff --git a/src/utils/getButtonValues.ts b/src/utils/getButtonValues.ts
index b584a279..4d20c9bb 100644
--- a/src/utils/getButtonValues.ts
+++ b/src/utils/getButtonValues.ts
@@ -8,7 +8,7 @@ export function getButtonValues(
const buttonValues: FrameButtonValue[] = []
for (const intent of intents) {
- if (!intent || !('props' in intent)) continue
+ if (!intent) continue
const { property } = intent.props
if (!(property as string).match(/^fc:frame:button:(1|2|3|4)$/)) continue
buttonValues.push(intent.props['data-value'])
diff --git a/src/utils/parseIntents.ts b/src/utils/parseIntents.ts
index 39c1b11b..ef99ccf5 100644
--- a/src/utils/parseIntents.ts
+++ b/src/utils/parseIntents.ts
@@ -95,8 +95,7 @@ function parseIntent(
if (typeof intent?.tag === 'function' && typeof node.tag === 'function') {
if (intent.children.length > 1) throw new InvalidIntentComponentError()
- if (intent.tag.name !== 'meta')
- return parseIntent(node.tag(node.props), options, counter)
+ return parseIntent(node.tag(node.props), options, counter)
}
return intent
}