コミットを比較

..

3 コミット

作成者 SHA1 メッセージ 日付
みてるぞ 69d111a133 #23 2025-07-21 05:21:52 +09:00
みてるぞ b3405a2d8d Merge branch 'main' into #23 2025-07-21 05:13:51 +09:00
みてるぞ cbade1cd83 細部 2025-07-21 05:12:17 +09:00
3個のファイルの変更11行の追加11行の削除
+4 -4
ファイルの表示
@@ -30,7 +30,7 @@ class PostsController < ApplicationController
viewed = current_user&.viewed?(post) || false
render json: (post
.as_json(include: { tags: { only: [:id, :name, :category] } })
.as_json(include: { tags: { only: [:id, :name, :category, :post_count] } })
.merge(viewed: viewed))
end
@@ -42,7 +42,7 @@ class PostsController < ApplicationController
viewed = current_user&.viewed?(post) || false
render json: (post
.as_json(include: { tags: { only: [:id, :name, :category] } })
.as_json(include: { tags: { only: [:id, :name, :category, :post_count] } })
.merge(viewed: viewed))
end
@@ -64,7 +64,7 @@ class PostsController < ApplicationController
if post.save
post.resized_thumbnail!
post.tags = Tag.normalise_tags(tags_names)
render json: post.as_json(include: { tags: { only: [:id, :name, :category] } }),
render json: post.as_json(include: { tags: { only: [:id, :name, :category, :post_count] } }),
status: :created
else
render json: { errors: post.errors.full_messages }, status: :unprocessable_entity
@@ -96,7 +96,7 @@ class PostsController < ApplicationController
post = Post.find(params[:id].to_i)
tags = post.tags.where(category: 'nico').to_a + Tag.normalise_tags(tag_names)
if post.update(title:, tags:)
render json: post.as_json(include: { tags: { only: [:id, :name, :category] } }),
render json: post.as_json(include: { tags: { only: [:id, :name, :category, :post_count] } }),
status: :ok
else
render json: post.errors, status: :unprocessable_entity
+6 -6
ファイルの表示
@@ -1,9 +1,8 @@
import axios from 'axios'
import toCamel from 'camelcase-keys'
import { useState, useEffect } from 'react'
import { Link, useLocation, useNavigate } from 'react-router-dom'
import { Link, useLocation, /* useNavigate */ } from 'react-router-dom'
import { Button } from '@/components/ui/button'
import { API_BASE_URL } from '@/config'
import { WikiIdBus } from '@/lib/eventBus/WikiIdBus'
import { cn } from '@/lib/utils'
@@ -22,7 +21,7 @@ type Menu = typeof Menu[keyof typeof Menu]
export default ({ user }: Props) => {
const location = useLocation ()
const navigate = useNavigate ()
// const navigate = useNavigate ()
const [selectedMenu, setSelectedMenu] = useState<Menu> (Menu.None)
const [wikiId, setWikiId] = useState<number | null> (WikiIdBus.get ())
@@ -116,14 +115,14 @@ export default ({ user }: Props) => {
if (!(wikiId))
return
void (async () => {
const fetchPostCount = async () => {
try
{
const pageRes = await axios.get (`${ API_BASE_URL }/wiki/${ wikiId }`)
const wikiPage = toCamel (pageRes.data as any, { deep: true }) as WikiPage
const tagRes = await axios.get (`${ API_BASE_URL }/tags/name/${ wikiPage.title }`)
const tag = toCamel (tagData, { deep: true }) as Tag
const tag = toCamel (tagRes.data as any, { deep: true }) as Tag
setPostCount (tag.postCount)
}
@@ -131,7 +130,8 @@ export default ({ user }: Props) => {
{
setPostCount (0)
}
}) ()
}
fetchPostCount ()
}, [wikiId])
return (
+1 -1
ファイルの表示
@@ -58,7 +58,7 @@ export default ({ user }: Props) => {
'X-Transfer-Code': localStorage.getItem ('user_code') ?? '' } })
const data = toCamel (res.data as any, { deep: true }) as Tag[]
setNicoTags (nicoTags => {
nicoTags.find (t => t.id === id).linkedTags = data
nicoTags.find (t => t.id === id)!.linkedTags = data
return [...nicoTags]
})
setRawTags (rawTags => ({ ...rawTags, [id]: data.map (t => t.name).join (' ') }))