Migrate omsorgapp to browser SPA, add Docker/CI build setup
Docker-Images bauen und veröffentlichen / build (, omsorgCore/Dockerfile, omsorgcore) (push) Successful in 3s
Docker-Images bauen und veröffentlichen / build (, omsorgWeb/Dockerfile, omsorgweb) (push) Failing after 4s
Docker-Images bauen und veröffentlichen / build (VITE_OMSORG_CORE_URL=${{ vars.OMSORG_CORE_PUBLIC_URL }}, omsorgapp/Dockerfile, omsorgapp) (push) Successful in 3s

- omsorgapp: drop Electron, run as a plain Vite/React browser app; refresh
  token moves to an HttpOnly cookie (omsorgCore), CORS added for the new
  browser origin, document download/preview switched to Blob-based browser
  APIs.
- Add Dockerfiles for omsorgCore, omsorgapp, and omsorgWeb, a docker-compose.yml
  wiring Postgres/MySQL/all three apps together, and a Gitea Actions workflow
  that builds and pushes images to the repo's container registry on push to
  main and on version tags.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Felix Kemmler
2026-08-10 17:42:45 +02:00
co-authored by Claude Sonnet 5
parent e9e96a57dc
commit 598dfcd38a
461 changed files with 59753 additions and 2859 deletions
+73
View File
@@ -798,6 +798,74 @@ button.omsorg-button--danger {
margin: 0 0 18px;
}
.modal-panel--wide {
max-width: 1100px;
}
.modal-panel--viewer {
max-width: 95vw;
width: 95vw;
height: 90vh;
max-height: 90vh;
overflow: hidden;
display: flex;
flex-direction: column;
position: relative;
}
.modal-panel--viewer h2 {
padding-right: 40px;
flex-shrink: 0;
}
.document-viewer-body {
flex: 1;
min-height: 0;
overflow: hidden;
display: flex;
align-items: center;
justify-content: center;
}
.document-viewer-content {
width: 100%;
height: 100%;
border: none;
}
.document-viewer-content--image {
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
object-fit: contain;
}
.modal-close-button {
position: absolute;
top: 20px;
right: 20px;
display: flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
padding: 0;
border: 1px solid var(--omsorg-border);
border-radius: 999px;
background: transparent;
color: inherit;
cursor: pointer;
}
.modal-close-button:hover {
background: rgba(255, 255, 255, 0.08);
}
.form-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
@@ -1725,6 +1793,11 @@ button.omsorg-button--danger {
gap: 8px;
}
.settings-sort-order-controls {
display: flex;
gap: 4px;
}
.settings-roles-detail {
flex: 1;
min-width: 0;