diff --git a/evidence/C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html b/evidence/C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html index 809df78..ee18c7a 100644 --- a/evidence/C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html +++ b/evidence/C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html @@ -83,7 +83,7 @@
- +
diff --git a/evidence/manifest.jsonl b/evidence/manifest.jsonl index fcd5e90..5e1f08e 100644 --- a/evidence/manifest.jsonl +++ b/evidence/manifest.jsonl @@ -149,3 +149,8 @@ {"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:48:29.469Z"} {"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:48:30.852Z"} {"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:48:36.524Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:54:32.734Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:54:32.827Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:54:33.940Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:54:35.290Z"} +{"testFile":"C:\\Temp\\taxbaik\\tests\\e2e\\public-smoke.spec.ts","title":"@smoke loads the home page and key public pages with SEO basics","label":"public-smoke","url":"http://localhost:5001/contact","screenshotPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.png","domPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.html","urlPath":"C:\\Temp\\taxbaik\\evidence\\C_Temp_taxbaik_tests_e2e_public-smoke.spec.ts-_smoke_loads_the_home_page_and_key_public_pages_with_SEO_basics-public-smoke.url.txt","timestamp":"2026-07-08T06:54:42.215Z"} diff --git a/src/TaxBaik.Web.Client/Components/Admin/Pages/ClientLogs.razor b/src/TaxBaik.Web.Client/Components/Admin/Pages/ClientLogs.razor index e9811e4..f6bdebb 100644 --- a/src/TaxBaik.Web.Client/Components/Admin/Pages/ClientLogs.razor +++ b/src/TaxBaik.Web.Client/Components/Admin/Pages/ClientLogs.razor @@ -130,10 +130,10 @@ try { - _summary = await Http.GetFromJsonAsync("/taxbaik/api/client-logs/summary"); - var url = $"/taxbaik/api/client-logs/recent?q={Uri.EscapeDataString(_query ?? string.Empty)}&level={Uri.EscapeDataString(_level ?? string.Empty)}&source={Uri.EscapeDataString(_source ?? string.Empty)}&route={Uri.EscapeDataString(_route ?? string.Empty)}&start={Uri.EscapeDataString(_start ?? string.Empty)}&end={Uri.EscapeDataString(_end ?? string.Empty)}"; + _summary = await Http.GetFromJsonAsync("/api/client-logs/summary"); + var url = $"/api/client-logs/recent?q={Uri.EscapeDataString(_query ?? string.Empty)}&level={Uri.EscapeDataString(_level ?? string.Empty)}&source={Uri.EscapeDataString(_source ?? string.Empty)}&route={Uri.EscapeDataString(_route ?? string.Empty)}&start={Uri.EscapeDataString(_start ?? string.Empty)}&end={Uri.EscapeDataString(_end ?? string.Empty)}"; var result = await Http.GetFromJsonAsync>(url); - var grouped = await Http.GetFromJsonAsync>("/taxbaik/api/client-logs/groups"); + var grouped = await Http.GetFromJsonAsync>("/api/client-logs/groups"); if (result is not null) { _entries.AddRange(result); diff --git a/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminShell.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminShell.razor index 7913584..7de687a 100644 --- a/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminShell.razor +++ b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminShell.razor @@ -9,7 +9,7 @@
세무회계 관리 대시보드
- 공개 사이트 + 공개 사이트 로그아웃
diff --git a/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminSidebar.razor b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminSidebar.razor index 5b71b91..065e525 100644 --- a/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminSidebar.razor +++ b/src/TaxBaik.Web.Client/Components/Admin/Shared/AdminSidebar.razor @@ -29,7 +29,7 @@ diff --git a/src/TaxBaik.Web.Client/Program.cs b/src/TaxBaik.Web.Client/Program.cs index f33ae8c..42fbe13 100644 --- a/src/TaxBaik.Web.Client/Program.cs +++ b/src/TaxBaik.Web.Client/Program.cs @@ -7,9 +7,9 @@ using TaxBaik.Web.Services.AdminClients; var builder = WebAssemblyHostBuilder.CreateDefault(args); builder.RootComponents.Add("#app"); -// API Base Url: Admin SPA is hosted under /taxbaik/admin/, while APIs live under /taxbaik/api/. +// API Base Url: 상대 경로 사용 (Nginx가 /taxbaik 프리픽스 처리) var hostBase = new Uri(builder.HostEnvironment.BaseAddress); -var apiBaseUrl = new Uri(hostBase, "/taxbaik/api/").ToString(); +var apiBaseUrl = new Uri(hostBase, "/api/").ToString(); // HTTP Client for API (with automatic token refresh) builder.Services.AddScoped(); diff --git a/src/TaxBaik.Web.Client/Services/TokenRefreshHandler.cs b/src/TaxBaik.Web.Client/Services/TokenRefreshHandler.cs index 9c5049d..5fad1b6 100644 --- a/src/TaxBaik.Web.Client/Services/TokenRefreshHandler.cs +++ b/src/TaxBaik.Web.Client/Services/TokenRefreshHandler.cs @@ -71,7 +71,7 @@ public class TokenRefreshHandler : DelegatingHandler var scheme = originalRequest.RequestUri?.Scheme ?? "http"; using var httpClient = new HttpClient(); - var refreshUri = new Uri($"{scheme}://{authority}/taxbaik/api/auth/refresh"); + var refreshUri = new Uri($"{scheme}://{authority}/api/auth/refresh"); // 상대 경로 사용 var json = JsonSerializer.Serialize(new { refreshToken }); var content = new StringContent(json, System.Text.Encoding.UTF8, "application/json");