このコミットが含まれているのは:
@@ -0,0 +1,40 @@
|
||||
import { useParams } from 'react-router-dom'
|
||||
import { useEffect, useState } from 'react'
|
||||
import axios from 'axios'
|
||||
|
||||
|
||||
const WikiEditPage = () => {
|
||||
const { name } = useParams<{ name: string }> ()
|
||||
|
||||
const [html, setHtml] = useState('')
|
||||
const [loading, setLoading] = useState(true)
|
||||
|
||||
useEffect(() => {
|
||||
const link = document.createElement('link')
|
||||
link.rel = 'stylesheet'
|
||||
link.href = '/wiki/custom.css' // Gollum の静的 CSS にアクセスできるようにしとく
|
||||
document.head.appendChild(link)
|
||||
return () => {
|
||||
document.head.removeChild(link)
|
||||
}
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
setLoading(true)
|
||||
axios
|
||||
.get(`/api/wiki/edit/${encodeURIComponent(name)}`, {
|
||||
headers: { 'X-Transfer-Code': localStorage.getItem('user_code') || '' }
|
||||
})
|
||||
.then((res) => setHtml(res.data))
|
||||
.finally(() => setLoading(false))
|
||||
}, [name])
|
||||
|
||||
return loading ? (
|
||||
<p>読み込み中...</p>
|
||||
) : (
|
||||
<div dangerouslySetInnerHTML={{ __html: html }} />
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
export default WikiEditPage
|
||||
新しい課題から参照
ユーザをブロックする