Files
Aislo/B01_Dashboard/B01_Dashboard_UI_AssignedPlans.ts
T
eomsangdonandClaude Sonnet 5.5 7e34152de8 feat(B01): 받은 예정노선 · 임시 보관함 · 사람 · 회사 정보 · 회사 설계 기본값 세부 페이지 (549-1)
- 새 페이지 다섯(View_Assigned · Temp · People · Company · CompanyDefaults) · 등록부 다섯 줄 교체
- 표 줄 40 · 세로선 없음 · 줄 끝 ⋯ · 한글 배지 · 빈 상태 · 사람 탭 가입 요청 수 배지 · 보관함 남은 날 막대(7 일 안 빨강)
- 옛 구역 정리(Legacy · Company · AssignedPlans · TempUpload 다시 씀) · 시험 test_549 · test_546 stub 일반화

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 18:26:27 +09:00

28 lines
1.1 KiB
TypeScript

/* =============================================================================
* B01_Dashboard_UI_AssignedPlans.ts
* 「받은 예정노선」 자료 읽기(요구서 345 2-2 · PLAN 528-2) — 우리 회사에 지정된 예정노선 연도.
* 화면 = `B01_Dashboard_UI_View_Assigned.ts` · [연결] 모달 = `B01_Dashboard_UI_PlanLink`
* ========================================================================== */
import { API_BASE_URL } from "@config/config_frontend";
export interface AssignedPlan {
assignee_id: number;
project_id: string;
project_name: string;
year: number;
linked_project_id: string | null;
/** 연도 확정 시각 — 서버 UTC */
confirmed_at: string | null;
update_available: boolean;
}
/** 받은 예정노선 — 실패 · 없음 = 빈 목록(구역을 안 그림) */
export async function fetchAssignedPlans(): Promise<AssignedPlan[]> {
const response = await fetch(`${API_BASE_URL}/dashboard/plan-routes/assigned`, {
credentials: "include",
});
if (!response.ok) return [];
return ((await response.json()) as { routes?: AssignedPlan[] }).routes ?? [];
}