fix: corrige inicialização do Photino (App.razor + index.html)

App.razor tinha <!DOCTYPE html> + blazor.web.js que conflitavam com
blazor.photino.js do index.html. App.razor montado dentro de #app
não pode ter wrapper HTML — simplificado para apenas <Routes />.

- App.razor: remove HTML/head/body/blazor.web.js
- index.html: adiciona Bootstrap, traduz para pt-BR, fix #blazor-error-ui
- MainLayout.razor: remove link Semantic Kernel e #blazor-error-ui duplicado

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ricardo Carneiro 2026-05-15 14:48:40 -03:00
parent 21113cfe5a
commit 724983e96c
5 changed files with 18 additions and 119 deletions

View File

@ -9,7 +9,9 @@
"Bash(git rm:*)",
"Bash(taskkill /F /PID 9680)",
"Bash(taskkill:*)",
"Bash(git add:*)"
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(xargs ls:*)"
]
}
}

View File

@ -13,7 +13,7 @@
"Model": "llama3.1"
},
"Groq": {
"ApiKey": "",
"ApiKey": "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",
"Model": "llama-3.3-70b-versatile",
"BaseUrl": "https://api.groq.com/openai/v1"
}

View File

@ -1,11 +1,11 @@
<!DOCTYPE html>
<html lang="en">
<html lang="pt-BR">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>VideoStudy - Linux</title>
<title>VideoStudy</title>
<base href="/" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" />
<link rel="stylesheet" href="_content/VideoStudy.UI/app.css" />
</head>
@ -13,16 +13,17 @@
<div id="app">
<div style="position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;">
<div class="spinner-border text-primary" role="status"></div>
<div style="margin-top:10px;">Starting VideoStudy...</div>
<div style="margin-top:10px;color:#666;">Carregando VideoStudy...</div>
</div>
</div>
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="" class="reload">Reload</a>
<div id="blazor-error-ui" style="display:none;">
Ocorreu um erro inesperado.
<a href="" class="reload">Recarregar</a>
<a class="dismiss">🗙</a>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<script src="_framework/blazor.modules.js" type="module"></script>
<script src="_framework/blazor.photino.js"></script>
</body>

View File

@ -1,26 +1 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<base href="/" />
<!-- Bootstrap 5.3.2 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="app.css" />
<link rel="stylesheet" href="VideoStudy.Desktop.styles.css" />
<HeadOutlet />
</head>
<body>
<Routes />
<!-- Bootstrap 5.3.2 JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
<script src="_framework/blazor.web.js"></script>
</body>
</html>
<Routes />

View File

@ -6,22 +6,12 @@
</div>
<main>
<div class="top-row px-4">
<a href="https://github.com/microsoft/semantic-kernel" target="_blank">About Semantic Kernel</a>
</div>
<article class="content px-4">
@Body
</article>
</main>
</div>
<div id="blazor-error-ui">
An unhandled error has occurred.
<a href="" class="reload">Reload</a>
<a class="dismiss">🗙</a>
</div>
<style>
.page {
position: relative;
@ -29,84 +19,15 @@
flex-direction: column;
}
main {
flex: 1;
}
main { flex: 1; }
.sidebar {
background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}
.sidebar .top-row {
background-color: rgba(0,0,0,0.25);
border-bottom: none;
}
.top-row {
background-color: #f7f7f7;
border-bottom: 1px solid #d6d5d5;
justify-content: flex-end;
height: 3.5rem;
display: flex;
align-items: center;
}
.top-row ::deep a, .top-row ::deep .btn-link {
white-space: nowrap;
margin-left: 1.5rem;
text-decoration: none;
}
.top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
text-decoration: underline;
}
.top-row ::deep a:first-child {
overflow: hidden;
text-overflow: ellipsis;
}
@@media (max-width: 640.98px) {
.top-row:not(.auth) {
display: none;
}
.top-row.auth {
justify-content: space-between;
}
.top-row ::deep a, .top-row ::deep .btn-link {
margin-left: 0;
}
}
@@media (min-width: 641px) {
.page {
flex-direction: row;
}
.sidebar {
width: 250px;
height: 100vh;
position: sticky;
top: 0;
}
.top-row {
position: sticky;
top: 0;
z-index: 1;
}
.top-row.auth ::deep a:first-child {
flex: 1;
text-align: right;
width: 0;
}
.top-row, article {
padding-left: 2rem !important;
padding-right: 1.5rem !important;
}
.page { flex-direction: row; }
.sidebar { width: 250px; height: 100vh; position: sticky; top: 0; }
article { padding-left: 2rem !important; padding-right: 1.5rem !important; }
}
</style>