diff --git a/apps/service/package.json b/apps/service/package.json
index 2cf1f7a2..9a574941 100644
--- a/apps/service/package.json
+++ b/apps/service/package.json
@@ -12,6 +12,7 @@
"dependencies": {
"@next/third-parties": "^15.2.4",
"@repo/pointer-design-system": "workspace:*",
+ "@repo/pointer-editor": "workspace:*",
"@tanstack/react-query": "^5.66.0",
"@tanstack/react-query-devtools": "^5.66.0",
"dayjs": "^1.11.13",
diff --git a/apps/service/public/svg/ic-question-white.svg b/apps/service/public/svg/ic-question-white.svg
new file mode 100644
index 00000000..66331744
--- /dev/null
+++ b/apps/service/public/svg/ic-question-white.svg
@@ -0,0 +1,3 @@
+
diff --git a/apps/service/src/apis/authMiddleware.ts b/apps/service/src/apis/authMiddleware.ts
index 33de2eaf..cc42ab27 100644
--- a/apps/service/src/apis/authMiddleware.ts
+++ b/apps/service/src/apis/authMiddleware.ts
@@ -1,7 +1,7 @@
'use client';
import { Middleware } from 'openapi-fetch';
-import { getAccessToken, setAccessToken, setName, setRefreshToken } from '@utils';
+import { getAccessToken, setAccessToken, setGrade, setName, setRefreshToken } from '@utils';
import { postRefreshToken } from '@/apis/controller/auth';
const UNPROTECTED_ROUTES = ['/api/student/auth/social/login', '/api/common/auth/refresh'];
@@ -32,6 +32,7 @@ const reissueToken = async () => {
}
if (result.data?.name) {
setName(result.data.name);
+ setGrade(result.data.grade);
}
return accessToken;
};
diff --git a/apps/service/src/apis/controller/home/index.ts b/apps/service/src/apis/controller/home/index.ts
index 6a91c1e4..ede6fd01 100644
--- a/apps/service/src/apis/controller/home/index.ts
+++ b/apps/service/src/apis/controller/home/index.ts
@@ -2,5 +2,12 @@ import useGetWeeklyProgress from './useGetWeeklyProgress';
import useGetNoticeUnreadCount from './useGetNoticeUnreadCount';
import useGetNotice from './useGetNotice';
import putRead from './putRead';
+import useGetWeeklyPublish from './useGetWeeklyPublish';
-export { useGetWeeklyProgress, useGetNoticeUnreadCount, useGetNotice, putRead };
+export {
+ useGetWeeklyPublish,
+ useGetWeeklyProgress,
+ useGetNoticeUnreadCount,
+ useGetNotice,
+ putRead,
+};
diff --git a/apps/service/src/apis/controller/home/useGetWeeklyPublish.ts b/apps/service/src/apis/controller/home/useGetWeeklyPublish.ts
new file mode 100644
index 00000000..0369076d
--- /dev/null
+++ b/apps/service/src/apis/controller/home/useGetWeeklyPublish.ts
@@ -0,0 +1,7 @@
+import { TanstackQueryClient } from '@apis';
+
+const useGetWeeklyPublish = () => {
+ return TanstackQueryClient.useQuery('get', '/api/student/study/publish/weekly');
+};
+
+export default useGetWeeklyPublish;
diff --git a/apps/service/src/app/(home)/page.tsx b/apps/service/src/app/(home)/page.tsx
index 0a8f895c..fe6ab03c 100644
--- a/apps/service/src/app/(home)/page.tsx
+++ b/apps/service/src/app/(home)/page.tsx
@@ -2,11 +2,14 @@
import { useRouter } from 'next/navigation';
import { Button } from '@components';
-import { IcCalendar } from '@svg';
+import { IcCalendar, IcQuestionWhite } from '@svg';
import { trackEvent } from '@utils';
import { HomeHeader, NoticeButton, ProblemSwiper, WeekProgress } from '@/components/home';
+import { useGetWeeklyPublish } from '@/apis/controller/home';
const Page = () => {
const router = useRouter();
+ const { data, isLoading } = useGetWeeklyPublish();
+ const problemSets = data?.data ?? [];
const handleClickAllProblem = () => {
trackEvent('home_all_problem_button_click');
@@ -31,21 +34,22 @@ const Page = () => {
- {/* {isLoading ? (
+ {isLoading ? (
) : problemSets ? (
) : (
<>>
- )} */}
+ )}
-