feat: create Blazor-based login component with EmptyLayout
- Create Login.razor component at /login path with Blazor form - Create EmptyLayout to prevent MainLayout wrapping on login page - Update Program.cs to redirect unauthenticated users to /login (Blazor route) - Integrate with CustomAuthenticationStateProvider for proper auth state management - Handle authentication response and token storage Note: Login flow still has routing issues - investigating dashboard redirect Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import { chromium } from '@playwright/test';
|
||||
|
||||
(async () => {
|
||||
const browser = await chromium.launch();
|
||||
const page = await browser.newPage();
|
||||
|
||||
try {
|
||||
await page.goto('http://localhost:5265/login');
|
||||
|
||||
// Fill and submit
|
||||
await page.fill('input[type="text"]', 'admin');
|
||||
await page.fill('input[type="password"]', 'admin');
|
||||
await page.click('button[type="submit"]');
|
||||
|
||||
// Wait a bit for response
|
||||
await page.waitForTimeout(3000);
|
||||
|
||||
// Check current page content
|
||||
const content = await page.content();
|
||||
|
||||
if (content.includes('로그인 실패')) {
|
||||
console.log('✗ Error shown: Login failed');
|
||||
} else if (content.includes('오류 발생')) {
|
||||
console.log('✗ Error shown: Exception');
|
||||
} else if (content.includes('로그인 성공')) {
|
||||
console.log('✓ Login success message shown');
|
||||
} else {
|
||||
console.log('✓ Form still displayed');
|
||||
}
|
||||
|
||||
// Take screenshot
|
||||
await page.screenshot({ path: './login-attempt.png', fullPage: true });
|
||||
console.log('Screenshot saved');
|
||||
|
||||
} catch (e) {
|
||||
console.error('Error:', e.message);
|
||||
}
|
||||
|
||||
await browser.close();
|
||||
})();
|
||||
Reference in New Issue
Block a user