From f56f16ad2fcfb9a4b73686d79f4fc2d25f76b615 Mon Sep 17 00:00:00 2001 From: miteruzo Date: Wed, 4 Feb 2026 12:47:08 +0900 Subject: [PATCH] #140 --- frontend/src/components/PostEditForm.tsx | 15 +++++---------- frontend/src/pages/wiki/WikiNewPage.tsx | 10 ++++------ frontend/src/pages/wiki/WikiSearchPage.tsx | 8 +++----- 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/frontend/src/components/PostEditForm.tsx b/frontend/src/components/PostEditForm.tsx index 38b03b4..d4421e8 100644 --- a/frontend/src/components/PostEditForm.tsx +++ b/frontend/src/components/PostEditForm.tsx @@ -1,12 +1,10 @@ -import axios from 'axios' -import toCamel from 'camelcase-keys' import { useEffect, useState } from 'react' import PostFormTagsArea from '@/components/PostFormTagsArea' import PostOriginalCreatedTimeField from '@/components/PostOriginalCreatedTimeField' import Label from '@/components/common/Label' import { Button } from '@/components/ui/button' -import { API_BASE_URL } from '@/config' +import { apiPut } from '@/lib/api' import type { FC } from 'react' @@ -41,14 +39,11 @@ export default (({ post, onSave }: Props) => { const [tags, setTags] = useState ('') const handleSubmit = async () => { - const res = await axios.put ( - `${ API_BASE_URL }/posts/${ post.id }`, - { title, tags, - original_created_from: originalCreatedFrom, + const data = await apiPut ( + `/posts/${ post.id }`, + { title, tags, original_created_from: originalCreatedFrom, original_created_before: originalCreatedBefore }, - { headers: { 'Content-Type': 'multipart/form-data', - 'X-Transfer-Code': localStorage.getItem ('user_code') ?? '' } }) - const data = toCamel (res.data as any, { deep: true }) as Post + { headers: { 'Content-Type': 'multipart/form-data' } }) onSave ({ ...post, title: data.title, tags: data.tags, diff --git a/frontend/src/pages/wiki/WikiNewPage.tsx b/frontend/src/pages/wiki/WikiNewPage.tsx index ac442e7..54a76d1 100644 --- a/frontend/src/pages/wiki/WikiNewPage.tsx +++ b/frontend/src/pages/wiki/WikiNewPage.tsx @@ -1,4 +1,3 @@ -import axios from 'axios' import MarkdownIt from 'markdown-it' import { useState } from 'react' import { Helmet } from 'react-helmet-async' @@ -7,7 +6,8 @@ import { useLocation, useNavigate } from 'react-router-dom' import MainArea from '@/components/layout/MainArea' import { toast } from '@/components/ui/use-toast' -import { API_BASE_URL, SITE_TITLE } from '@/config' +import { SITE_TITLE } from '@/config' +import { apiPost } from '@/lib/api' import Forbidden from '@/pages/Forbidden' import 'react-markdown-editor-lite/lib/index.css' @@ -39,10 +39,8 @@ export default ({ user }: Props) => { try { - const res = await axios.post (`${ API_BASE_URL }/wiki`, formData, { headers: { - 'Content-Type': 'multipart/form-data', - 'X-Transfer-Code': localStorage.getItem ('user_code') || '' } }) - const data = res.data as WikiPage + const data = await apiPost ('/wiki', formData, + { headers: { 'Content-Type': 'multipart/form-data' } }) toast ({ title: '投稿成功!' }) navigate (`/wiki/${ data.title }`) } diff --git a/frontend/src/pages/wiki/WikiSearchPage.tsx b/frontend/src/pages/wiki/WikiSearchPage.tsx index 72ccd8b..dda152f 100644 --- a/frontend/src/pages/wiki/WikiSearchPage.tsx +++ b/frontend/src/pages/wiki/WikiSearchPage.tsx @@ -1,12 +1,11 @@ -import axios from 'axios' -import toCamel from 'camelcase-keys' import React, { useEffect, useState } from 'react' import { Helmet } from 'react-helmet-async' import PrefetchLink from '@/components/PrefetchLink' import SectionTitle from '@/components/common/SectionTitle' import MainArea from '@/components/layout/MainArea' -import { API_BASE_URL, SITE_TITLE } from '@/config' +import { SITE_TITLE } from '@/config' +import { apiGet } from '@/lib/api' import type { WikiPage } from '@/types' @@ -17,8 +16,7 @@ export default () => { const [results, setResults] = useState ([]) const search = async () => { - const res = await axios.get (`${ API_BASE_URL }/wiki/search`, { params: { title } }) - setResults (toCamel (res.data as any, { deep: true }) as WikiPage[]) + setResults (await apiGet ('/wiki', { params: { title } })) } const handleSearch = (ev: React.FormEvent) => {