feat(B02): 프로젝트 등록에서 회사 로고 칸 제거

프로젝트가 이미 회사에 매여 있어 따로 고를 이유가 없음 — 도면 표제란은
`COALESCE(프로젝트 로고, 회사 로고)` 로 조회하므로 회사 로고가 그대로 쓰임.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-06 17:49:37 +09:00
co-authored by Claude Opus 5
parent 861068cbf4
commit 489a53f25f
+5 -33
View File
@@ -20,13 +20,7 @@ import {
showToast,
} from "@ui/ui_template_elements";
import { isBlank } from "@util/common_util_validate";
import {
fetchCompanyAssets,
fetchCompanyMembers,
fetchDashboardMe,
fetchUserCompany,
} from "../B01_Dashboard/B01_Dashboard_Api_Fetch";
import { createAssetField } from "../B01_Dashboard/B01_Dashboard_UI_AssetPicker";
import { fetchCompanyMembers, fetchDashboardMe } from "../B01_Dashboard/B01_Dashboard_Api_Fetch";
import { navigateTo } from "../A00_Common/router";
import { API_BASE_URL, CURRENT_PROJECT_ID_KEY, ROUTES } from "@config/config_frontend";
import "./B02_ProjRegister_UI_Style.css";
@@ -119,19 +113,12 @@ export function renderB02ProjRegister(root: HTMLElement): void {
const fieldLeadField = person("분야별책임자 (도면 표제란)");
const designerField = person("설계자 (도면 표제란)");
const personSelects = [pmField.select, fieldLeadField.select, designerField.select];
// 로고 칸은 회사 자산을 받아야 세울 수 있어 자리만 먼저 잡는다.
const logoSlot = document.createElement("div");
let logoValue: () => number | null = () => null;
// 로고 칸은 두지 않는다 (2026-09-06 사용자 지시) — 프로젝트가 이미 회사에 매여 있어
// 도면은 회사 로고를 그대로 쓴다(표제란 조회가 `COALESCE(프로젝트, 회사)`).
void (async () => {
const [me, company] = await Promise.all([
fetchDashboardMe(),
fetchUserCompany().catch(() => null),
]);
const [members, assets] = await Promise.all([
fetchCompanyMembers().catch(() => []),
fetchCompanyAssets().catch(() => []),
]);
const me = await fetchDashboardMe();
const members = await fetchCompanyMembers().catch(() => []);
const memberText = (member: (typeof members)[number]) =>
member.position ? `${member.name} (${member.position})` : member.name;
const addOption = (select: HTMLSelectElement, value: string, text: string) => {
@@ -146,19 +133,6 @@ export function renderB02ProjRegister(root: HTMLElement): void {
// 「신규 등록…」은 없앴다 — 팀원으로 등록한 뒤 고른다.
if (members.some((member) => member.id === me.id)) select.value = String(me.id);
}
if (company) {
// 회사 대표 로고가 기본값 — 프로젝트마다 다른 로고를 쓰면 여기서 바꾼다.
const logo = createAssetField(
"회사 로고 (도면 표제란)",
"LOGO",
assets,
company.logo_asset_id ?? null,
company.id,
me,
);
logoValue = logo.value;
logoSlot.append(logo.root);
}
})();
const roadTypeText = (): string =>
@@ -309,7 +283,6 @@ export function renderB02ProjRegister(root: HTMLElement): void {
pm_user_id: idOrNull(pmField.select),
field_lead_user_id: idOrNull(fieldLeadField.select),
designer_user_id: idOrNull(designerField.select),
logo_asset_id: logoValue(),
}),
});
@@ -352,7 +325,6 @@ export function renderB02ProjRegister(root: HTMLElement): void {
pmField.root,
fieldLeadField.root,
designerField.root,
logoSlot,
);
const actions = document.createElement("div");