40cffb3beb
TaxBaik CI/CD / build-and-deploy (push) Successful in 2m26s
Problem: JavaScript login form saved tokens to localStorage but didn't notify CustomAuthenticationStateProvider, causing [Authorize] pages to remain in 'loading' state indefinitely. The provider only reads tokens when: 1. GetAuthenticationStateAsync() is called (page load) 2. NotifyAuthenticationStateChanged() is triggered (UI updates) But JavaScript login didn't trigger either, leaving the authentication state stale. Solution: Convert AdminLoginForm from HTML+JavaScript to pure Blazor component. Now the login flow is: 1. User enters credentials in Blazor form 2. HttpClient POST to /api/auth/login 3. Save tokens to localStorage 4. Call CustomAuthenticationStateProvider.LoginAsync() directly 5. Blazor detects auth state change and re-evaluates [Authorize] pages 6. Dashboard [Authorize] page renders successfully Result: Immediate authentication state update, no loading timeout on protected pages. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
20 lines
6.4 KiB
XML
20 lines
6.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
|
|
<symbol id="custom-logo" viewBox="0 0 176 32">
|
|
<path d="M50.57 23.14C49.55 23.14 48.63 22.97 47.81 22.64C47 22.31 46.35 21.81 45.85 21.16C45.37 20.51 45.12 19.72 45.09 18.8H48.73C48.79 19.32 48.97 19.72 49.27 20C49.58 20.27 49.98 20.4 50.47 20.4C50.98 20.4 51.38 20.29 51.67 20.06C51.97 19.82 52.11 19.49 52.11 19.08C52.11 18.73 51.99 18.45 51.75 18.22C51.53 17.99 51.24 17.81 50.89 17.66C50.56 17.51 50.08 17.35 49.45 17.16C48.55 16.88 47.81 16.6 47.23 16.32C46.66 16.04 46.17 15.63 45.75 15.08C45.34 14.53 45.13 13.82 45.13 12.94C45.13 11.63 45.61 10.61 46.55 9.88C47.5 9.13 48.73 8.76 50.25 8.76C51.8 8.76 53.05 9.13 53.99 9.88C54.94 10.61 55.45 11.64 55.51 12.96H51.81C51.79 12.51 51.62 12.15 51.31 11.9C51.01 11.63 50.61 11.5 50.13 11.5C49.72 11.5 49.39 11.61 49.13 11.84C48.88 12.05 48.75 12.37 48.75 12.78C48.75 13.23 48.97 13.59 49.39 13.84C49.82 14.09 50.49 14.37 51.39 14.66C52.3 14.97 53.03 15.26 53.59 15.54C54.17 15.82 54.66 16.23 55.07 16.76C55.49 17.29 55.69 17.98 55.69 18.82C55.69 19.62 55.49 20.35 55.07 21C54.67 21.65 54.09 22.17 53.31 22.56C52.54 22.95 51.63 23.14 50.57 23.14Z" fill="currentColor"/>
|
|
<path d="M72.04 11.72C73.42 11.72 74.52 12.14 75.34 12.98C76.16 13.82 76.58 14.99 76.58 16.48V23H73.18V16.94C73.18 16.22 72.98 15.67 72.6 15.28C72.22 14.88 71.7 14.68 71.04 14.68C70.37 14.68 69.84 14.88 69.46 15.28C69.08 15.67 68.9 16.22 68.9 16.94V23H65.5V16.94C65.5 16.22 65.3 15.67 64.92 15.28C64.54 14.88 64.02 14.68 63.36 14.68C62.69 14.68 62.16 14.88 61.78 15.28C61.4 15.67 61.22 16.22 61.22 16.94V23H57.8V11.84H61.22V13.24C61.56 12.77 62.02 12.41 62.58 12.14C63.14 11.86 63.77 11.72 64.48 11.72C65.32 11.72 66.06 11.9 66.72 12.26C67.38 12.62 67.9 13.13 68.28 13.8C68.66 13.19 69.19 12.69 69.86 12.3C70.52 11.91 71.25 11.72 72.04 11.72Z" fill="currentColor"/>
|
|
<path d="M78.29 17.4C78.29 16.25 78.5 15.25 78.93 14.38C79.37 13.51 79.96 12.85 80.71 12.38C81.46 11.91 82.29 11.68 83.21 11.68C84 11.68 84.68 11.84 85.27 12.16C85.87 12.48 86.33 12.9 86.65 13.42V11.84H90.07V23H86.65V21.42C86.32 21.94 85.85 22.36 85.25 22.68C84.66 23 83.98 23.16 83.19 23.16C82.28 23.16 81.46 22.93 80.71 22.46C79.96 21.98 79.37 21.31 78.93 20.44C78.5 19.56 78.29 18.55 78.29 17.4ZM86.65 17.42C86.65 16.57 86.41 15.89 85.93 15.4C85.46 14.91 84.89 14.66 84.21 14.66C83.53 14.66 82.95 14.91 82.47 15.4C82 15.88 81.77 16.55 81.77 17.4C81.77 18.25 82 18.93 82.47 19.44C82.95 19.93 83.53 20.18 84.21 20.18C84.89 20.18 85.46 19.93 85.93 19.44C86.41 18.95 86.65 18.27 86.65 17.42Z" fill="currentColor"/>
|
|
<path d="M95.96 13.7C96.36 13.09 96.86 12.61 97.46 12.26C98.06 11.9 98.73 11.72 99.46 11.72V15.34H98.52C97.67 15.34 97.03 15.53 96.6 15.9C96.18 16.26 95.96 16.9 95.96 17.82V23H92.54V11.84H95.96V13.7Z" fill="currentColor"/>
|
|
<path d="M107.32 20.1V23H105.58C104.34 23 103.37 22.7 102.68 22.1C101.98 21.49 101.64 20.49 101.64 19.12V14.68H100.28V11.84H101.64V9.12H105.06V11.84H107.3V14.68H105.06V19.16C105.06 19.49 105.14 19.73 105.3 19.88C105.46 20.03 105.72 20.1 106.1 20.1H107.32Z" fill="currentColor"/>
|
|
<path d="M117.96 20.52H112.72L111.88 23H108.3L113.38 8.96H117.34L122.42 23H118.8L117.96 20.52ZM117.08 17.88L115.34 12.74L113.62 17.88H117.08Z" fill="currentColor"/>
|
|
<path d="M123.29 17.4C123.29 16.25 123.5 15.25 123.93 14.38C124.37 13.51 124.96 12.85 125.71 12.38C126.46 11.91 127.29 11.68 128.21 11.68C128.94 11.68 129.61 11.83 130.21 12.14C130.82 12.45 131.3 12.86 131.65 13.38V8.2H135.07V23H131.65V21.4C131.33 21.93 130.87 22.36 130.27 22.68C129.68 23 129 23.16 128.21 23.16C127.29 23.16 126.46 22.93 125.71 22.46C124.96 21.98 124.37 21.31 123.93 20.44C123.5 19.56 123.29 18.55 123.29 17.4ZM131.65 17.42C131.65 16.57 131.41 15.89 130.93 15.4C130.46 14.91 129.89 14.66 129.21 14.66C128.53 14.66 127.95 14.91 127.47 15.4C127 15.88 126.77 16.55 126.77 17.4C126.77 18.25 127 18.93 127.47 19.44C127.95 19.93 128.53 20.18 129.21 20.18C129.89 20.18 130.46 19.93 130.93 19.44C131.41 18.95 131.65 18.27 131.65 17.42Z" fill="currentColor"/>
|
|
<path d="M151.78 11.72C153.17 11.72 154.27 12.14 155.08 12.98C155.91 13.82 156.32 14.99 156.32 16.48V23H152.92V16.94C152.92 16.22 152.73 15.67 152.34 15.28C151.97 14.88 151.45 14.68 150.78 14.68C150.12 14.68 149.59 14.88 149.2 15.28C148.83 15.67 148.64 16.22 148.64 16.94V23H145.24V16.94C145.24 16.22 145.05 15.67 144.66 15.28C144.29 14.88 143.77 14.68 143.1 14.68C142.44 14.68 141.91 14.88 141.52 15.28C141.15 15.67 140.96 16.22 140.96 16.94V23H137.54V11.84H140.96V13.24C141.31 12.77 141.76 12.41 142.32 12.14C142.88 11.86 143.52 11.72 144.22 11.72C145.06 11.72 145.81 11.9 146.46 12.26C147.13 12.62 147.65 13.13 148.02 13.8C148.41 13.19 148.94 12.69 149.6 12.3C150.27 11.91 151 11.72 151.78 11.72Z" fill="currentColor"/>
|
|
<path d="M160.44 10.68C159.84 10.68 159.34 10.51 158.96 10.16C158.58 9.8 158.4 9.36 158.4 8.84C158.4 8.31 158.58 7.87 158.96 7.52C159.34 7.16 159.84 6.98 160.44 6.98C161.02 6.98 161.5 7.16 161.88 7.52C162.26 7.87 162.46 8.31 162.46 8.84C162.46 9.36 162.26 9.8 161.88 10.16C161.5 10.51 161.02 10.68 160.44 10.68ZM162.14 11.84V23H158.72V11.84H162.14Z" fill="currentColor"/>
|
|
<path d="M171.41 11.72C172.72 11.72 173.76 12.15 174.53 13C175.32 13.84 175.71 15 175.71 16.48V23H172.31V16.94C172.31 16.19 172.12 15.61 171.73 15.2C171.35 14.79 170.83 14.58 170.17 14.58C169.52 14.58 169 14.79 168.61 15.2C168.23 15.61 168.03 16.19 168.03 16.94V23H164.61V11.84H168.03V13.32C168.38 12.83 168.85 12.44 169.43 12.16C170.02 11.87 170.68 11.72 171.41 11.72Z" fill="currentColor"/>
|
|
<circle cx="14.0467" cy="16.5173" r="4.01435" fill="none" stroke="currentColor" style="stroke: var(--logo-color); fill: var(--logo-color-fill)"/>
|
|
<path d="M22.63 16C22.63 24.28 18.79 31 14.05 31C9.31 31 5.47 24.28 5.47 16C5.47 7.72 9.31 1 14.05 1C18.79 1 22.63 7.72 22.63 16Z" stroke="currentColor" stroke-width="1.5" style="stroke: var(--logo-color); fill: var(--logo-color-fill)"/>
|
|
<path d="M18.41 24.41C11.63 28.57 4.17 28.34 1.76 23.91C -0.66 19.48 2.89 12.51 9.68 8.35C16.47 4.19 23.93 4.42 26.34 8.85C28.75 13.28 25.2 20.25 18.41 24.41Z" stroke="currentColor" stroke-width="1.5" style="stroke: var(--logo-color); fill: var(--logo-color-fill)"/>
|
|
<path d="M18.41 8.35C25.2 12.51 28.75 19.48 26.34 23.91C23.93 28.34 16.47 28.57 9.68 24.41C2.89 20.25 -0.66 13.28 1.76 8.85C4.17 4.42 11.63 4.19 18.41 8.35Z" stroke="currentColor" stroke-width="1.5" style="stroke: var(--logo-color); fill: var(--logo-color-fill)"/>
|
|
</symbol>
|
|
</svg>
|