feat: Wiki の管理方法変更(#188) (#195)

Merge branch 'feature/188' of https://git.miteruzo.com/miteruzo/btrc-hub into feature/188

#188

Merge branch 'main' into feature/188

#188

#188

#188

#188

Co-authored-by: miteruzo <miteruzo@naver.com>
Reviewed-on: #195
This commit was merged in pull request #195.
This commit is contained in:
2026-01-04 18:52:17 +09:00
parent 6cf42e38c6
commit 611455ec55
15 changed files with 533 additions and 169 deletions
+4 -4
View File
@@ -40,10 +40,10 @@ export default () => {
{diff
? (
diff.diff.map (d => (
<span className={cn (d.type === 'added' && 'bg-green-200 dark:bg-green-800',
d.type === 'removed' && 'bg-red-200 dark:bg-red-800')}>
{d.content == '\n' ? <br/> : d.content}
</span>)))
<p className={cn (d.type === 'added' && 'bg-green-200 dark:bg-green-800',
d.type === 'removed' && 'bg-red-200 dark:bg-red-800')}>
{d.content}
</p>)))
: 'Loading...'}
</div>
</MainArea>)
+5 -15
View File
@@ -41,30 +41,20 @@ export default () => {
</thead>
<tbody>
{changes.map (change => (
<tr key={change.sha}>
<tr key={change.revisionId}>
<td>
{change.changeType === 'update' && (
<Link to={`/wiki/${ change.wikiPage.id }/diff?from=${ change.pred }&to=${ change.sha }`}>
{change.pred != null && (
<Link to={`/wiki/${ change.wikiPage.id }/diff?from=${ change.pred }&to=${ change.revisionId }`}>
</Link>)}
</td>
<td className="p-2">
<Link to={`/wiki/${ encodeURIComponent (change.wikiPage.title) }?version=${ change.sha }`}>
<Link to={`/wiki/${ encodeURIComponent (change.wikiPage.title) }?version=${ change.revisionId }`}>
{change.wikiPage.title}
</Link>
</td>
<td className="p-2">
{(() => {
switch (change.changeType)
{
case 'create':
return '新規'
case 'update':
return '更新'
case 'delete':
return '削除'
}
}) ()}
{change.pred == null ? '新規' : '更新'}
</td>
<td className="p-2">
<Link to={`/users/${ change.user.id }`}>
+22 -18
View File
@@ -59,29 +59,33 @@ export type User = {
export type ViewFlagBehavior = typeof ViewFlagBehavior[keyof typeof ViewFlagBehavior]
export type WikiPage = {
id: number
title: string
body: string
sha: string
pred?: string
succ?: string
updatedAt?: string }
id: number
title: string
createdUserId: number
updatedUserId: number
createdAt: string
updatedAt: string
body: string
revisionId: number
pred: number | null
succ: number | null }
export type WikiPageChange = {
sha: string
pred?: string
succ?: string
wikiPage: WikiPage
user: User
changeType: string
revisionId: number
pred: number | null
succ: null
wikiPage: Pick<WikiPage, 'id' | 'title'>
user: Pick<User, 'id' | 'name'>
kind: 'content' | 'redirect'
message: string | null
timestamp: string }
export type WikiPageDiff = {
wikiPageId: number
title: string
olderSha: string
newerSha: string
diff: WikiPageDiffDiff[] }
wikiPageId: number
title: string
olderRevisionId: number | null
newerRevisionId: number
diff: WikiPageDiffDiff[] }
export type WikiPageDiffDiff = {
type: 'context' | 'added' | 'removed'