add callback test

This commit is contained in:
2025-06-19 13:57:08 +09:00
parent 1793de40c1
commit 293421b7a5
7 changed files with 162 additions and 53 deletions

View File

@ -4,19 +4,18 @@ import { env } from '../config/env.js'
export default function CommentForm({ user, agent, onCommentPosted }) {
const [text, setText] = useState('')
const [url, setUrl] = useState('')
const [loading, setLoading] = useState(false)
const [error, setError] = useState(null)
const handleSubmit = async (e) => {
e.preventDefault()
if (!text.trim() || !url.trim()) return
if (!text.trim()) return
setLoading(true)
setError(null)
try {
const currentUrl = url.trim()
const currentUrl = window.location.href
const timestamp = new Date().toISOString()
// Create ai.syui.log record structure (new unified format)
@ -30,7 +29,7 @@ export default function CommentForm({ user, agent, onCommentPosted }) {
post: {
url: currentUrl,
date: timestamp,
slug: new URL(currentUrl).pathname.split('/').pop()?.replace(/\.html$/, '') || '',
slug: currentUrl.match(/\/posts\/([^/]+)/)?.[1] || new URL(currentUrl).pathname.split('/').pop()?.replace(/\.html$/, '') || '',
tags: [],
title: document.title || 'Comment',
language: 'ja'
@ -55,7 +54,6 @@ export default function CommentForm({ user, agent, onCommentPosted }) {
// Clear form
setText('')
setUrl('')
// Notify parent component
if (onCommentPosted) {
@ -86,18 +84,8 @@ export default function CommentForm({ user, agent, onCommentPosted }) {
<h3>コメントを投稿</h3>
<form onSubmit={handleSubmit}>
<div className="form-group">
<label htmlFor="comment-url">ページURL:</label>
<input
id="comment-url"
type="url"
value={url}
onChange={(e) => setUrl(e.target.value)}
placeholder="https://syui.ai/posts/example"
required
disabled={loading}
className="form-input"
/>
<div className="form-group" style={{ marginBottom: '12px', padding: '8px', backgroundColor: 'var(--background-secondary)', borderRadius: '4px', fontSize: '0.9em' }}>
<strong>投稿先:</strong> {window.location.href}
</div>
<div className="form-group">
@ -123,7 +111,7 @@ export default function CommentForm({ user, agent, onCommentPosted }) {
<div className="form-actions">
<button
type="submit"
disabled={loading || !text.trim() || !url.trim()}
disabled={loading || !text.trim()}
className="btn btn-primary"
>
{loading ? '投稿中...' : 'コメントを投稿'}