From af69d6d3620f540cf33ffb8cb3f75f9a0970697d Mon Sep 17 00:00:00 2001 From: jjangminii Date: Thu, 26 Feb 2026 01:18:28 +0900 Subject: [PATCH] =?UTF-8?q?Feat(client):=20API=20=EA=B2=BD=EB=A1=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=EB=B0=8F=20=EC=BD=94=EB=93=9C=20=EC=A0=95?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/extension/src/apis/axios.ts | 35 ++++++++++++------------ apps/extension/src/pages/MainPop.tsx | 40 ++++++++++++++-------------- 2 files changed, 38 insertions(+), 37 deletions(-) diff --git a/apps/extension/src/apis/axios.ts b/apps/extension/src/apis/axios.ts index 1c3eff87..bb06a3ca 100644 --- a/apps/extension/src/apis/axios.ts +++ b/apps/extension/src/apis/axios.ts @@ -1,30 +1,29 @@ -import apiRequest from "./axiosInstance"; +import apiRequest from './axiosInstance'; export interface PostArticleRequest { url: string; categoryId: number; memo?: string | null; - remindTime?: string | null; + remindTime?: string | null; } export const postArticle = async (data: PostArticleRequest) => { - const response = await apiRequest.post("/api/v1/articles", data); + const response = await apiRequest.post('/api/v3/articles', data); return response.data; }; - export interface postSignupRequest { email: string; - remindDefault: string + remindDefault: string; fcmToken: string; } export const postSignup = async (data: postSignupRequest) => { - const response = await apiRequest.post("/api/v1/auth/signup", data); + const response = await apiRequest.post('/api/v1/auth/signup', data); return response.data; }; export const getCategoriesExtension = async () => { - const response = await apiRequest.get("/api/v1/categories/extension"); + const response = await apiRequest.get('/api/v1/categories/extension'); return response.data; }; @@ -33,27 +32,26 @@ export interface postCategoriesRequest { } export const postCategories = async (data: postCategoriesRequest) => { - const response = await apiRequest.post("/api/v1/categories", data); + const response = await apiRequest.post('/api/v1/categories', data); return response.data; -} +}; export const getRemindTime = async () => { - const now = new Date().toISOString().split(".")[0]; + const now = new Date().toISOString().split('.')[0]; - const response = await apiRequest.get("/api/v1/users/remind-time", { + const response = await apiRequest.get('/api/v1/users/remind-time', { params: { now }, }); return response.data; }; - -export const getArticleSaved=async (url:string) => { - const response = await apiRequest.get("/api/v1/articles/saved", { +export const getArticleSaved = async (url: string) => { + const response = await apiRequest.get('/api/v1/articles/saved', { params: { url }, }); return response.data; -} +}; export interface PutArticleRequest { categoryId: number; @@ -62,7 +60,10 @@ export interface PutArticleRequest { remindTime: string | null; } -export const putArticle = async (articleId: number, data: PutArticleRequest) => { +export const putArticle = async ( + articleId: number, + data: PutArticleRequest +) => { const response = await apiRequest.put(`/api/v1/articles/${articleId}`, data); return response.data; -}; \ No newline at end of file +}; diff --git a/apps/extension/src/pages/MainPop.tsx b/apps/extension/src/pages/MainPop.tsx index 7571f316..1d98f175 100644 --- a/apps/extension/src/pages/MainPop.tsx +++ b/apps/extension/src/pages/MainPop.tsx @@ -1,34 +1,34 @@ import { - InfoBox, + useGetCategoriesExtension, + useGetRemindTime, + usePostArticle, + usePutArticle, +} from '@apis/query/queries'; +import thumbImg from '@assets/extension_thumb.svg'; +import { useCategoryManager } from '@hooks/useCategoryManager'; +import { usePageMeta } from '@hooks/usePageMeta'; +import { useSaveBookmark } from '@hooks/useSaveBookmarks'; +import { + AutoDismissToast, Button, - Textarea, DateTime, - Switch, - PopupContainer, Dropdown, + InfoBox, + PopupContainer, + Switch, + Textarea, + Toast, validateDate, validateTime, - Toast, - AutoDismissToast, } from '@pinback/design-system/ui'; -import { useState, useEffect } from 'react'; -import { usePageMeta } from '@hooks/usePageMeta'; -import { useSaveBookmark } from '@hooks/useSaveBookmarks'; -import Header from '@shared/components/Header'; -import { - usePostArticle, - useGetCategoriesExtension, - useGetRemindTime, - usePutArticle, -} from '@apis/query/queries'; import { ArticleResponse } from '@shared-types/types'; +import Header from '@shared/components/Header'; import { + combineDateTime, updateDate, updateTime, - combineDateTime, } from '@utils/remindTimeFormat'; -import { useCategoryManager } from '@hooks/useCategoryManager'; -import thumbImg from '@assets/extension_thumb.svg'; +import { useEffect, useState } from 'react'; interface MainPopProps { type: 'add' | 'edit'; savedData?: ArticleResponse | null; @@ -317,7 +317,7 @@ const MainPop = ({ type, savedData }: MainPopProps) => {

메모