fix(qt6): desktop-scaled typography, responsive grid, uniform card heights

CText: scale MD3 type sizes for desktop (h1: 32px not 57px, body1: 14px not 16px)
- Remove body1 letterSpacing 0.5 (caused word gaps everywhere)
- Default wrapMode: NoWrap (callers opt in to wrapping)
- Headings get Bold/DemiBold instead of Normal weight
- lineHeight only on body1

FrontPage: responsive GridLayout for level cards and tech stack
- columns adapt: Math.floor(width / 220) for levels, /260 for tech
- Fixed 190px card height (no more random heights)
- 3+2 wrap on medium windows, 2+2+1 on narrow, 5 on wide

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-19 04:41:25 +00:00
parent 96d16564a4
commit ff226595c6
2 changed files with 42 additions and 51 deletions

View File

@@ -302,16 +302,17 @@ Rectangle {
Layout.alignment: Qt.AlignHCenter
}
RowLayout {
GridLayout {
Layout.fillWidth: true
spacing: 12
columns: Math.max(1, Math.min(5, Math.floor((parent.width + 12) / 220)))
columnSpacing: 12
rowSpacing: 12
Repeater {
model: levels
delegate: Rectangle {
Layout.fillWidth: true
Layout.minimumHeight: 170
implicitHeight: lvlContent.implicitHeight + 32
Layout.preferredHeight: 190
radius: 16
clip: true
color: lvlMA.containsMouse ? surfaceContainerHighest : surfaceContainerHigh
@@ -337,11 +338,9 @@ Rectangle {
ColumnLayout {
id: lvlContent
anchors.left: parent.left
anchors.right: parent.right
anchors.top: parent.top
anchors.fill: parent
anchors.margins: 16
spacing: 8
spacing: 6
RowLayout {
spacing: 10
@@ -443,7 +442,7 @@ Rectangle {
GridLayout {
Layout.fillWidth: true
columns: 3
columns: Math.max(1, Math.min(3, Math.floor((parent.width + 12) / 260)))
columnSpacing: 12
rowSpacing: 12