修改完成

This commit is contained in:
2026-07-21 07:53:03 +08:00
parent 01d246c47b
commit ff60119277
172 changed files with 7982 additions and 2999 deletions
+3 -5
View File
@@ -7,7 +7,7 @@ function Assert-Match {
function Assert-NoCssSurface {
param([string]$Content, [string]$ClassName)
foreach ($property in @('border', 'background', 'border-radius')) {
foreach ($property in @('border', 'border-radius')) {
$pattern = "(?s)\\.$ClassName\\s*\\{[^}]*\\b$property\\s*:"
if ($Content -match $pattern) {
throw "G01 empty state must not construct .$ClassName with CSS $property"
@@ -35,12 +35,11 @@ foreach ($required in @(
'empty-search-action',
'empty-invite-action',
'empty-create-note',
'empty-panel__frame',
'g01-empty-panel-frame.png',
'const createGenealogy = () =>',
'/pages/genealogy/g03-create-genealogy',
'/pages/genealogy/g06-search-genealogies',
'const hasGenealogies = computed(() => !forceEmptyState.value && list.value.length > 0);'
'const hasGenealogies = computed('
)) {
if ($g01 -notmatch [regex]::Escape($required)) { throw "Missing G01 empty-state contract: $required" }
}
@@ -60,8 +59,7 @@ foreach ($required in @(
Assert-Match -Content $g01 -Pattern '(?s)<view class="genealogy-fixed-zone">.*class="current-slip".*class="shortcut-grid".*class="section-divider".*</view>\s*<scroll-view[^>]*class="genealogy-list-scroll"[^>]*>.*class="genealogy-lower".*</scroll-view>' -Message 'G01 fixed and scrolling regions are not separated correctly'
Assert-Match -Content $g01 -Pattern '(?s)\.genealogy-index--split\s*\{[^}]*height:\s*100vh;[^}]*padding-bottom:\s*calc\(112rpx\s*\+\s*env\(safe-area-inset-bottom\)\)' -Message 'G01 split layout must reserve the fixed tabbar and safe area'
Assert-Match -Content $g01 -Pattern '(?s)\.genealogy-list-scroll\s*\{[^}]*height:\s*0;[^}]*flex:\s*1;' -Message 'G01 list scroll region must consume the remaining computed height'
Assert-Match -Content $g01 -Pattern '(?s)<view v-else class="genealogy-empty-state">.*?<view class="empty-panel">\s*<image\s+class="empty-panel__frame"\s+src="/static/assets/modules/genealogy/transparent/g01-empty-panel-frame\.png"\s+mode="scaleToFill"\s*/>' -Message 'G01 empty state must render the exact extracted transparent frame without an opaque panel skin'
Assert-Match -Content $g01 -Pattern '(?s)\.empty-panel__frame\s*\{[^}]*position:\s*absolute;[^}]*inset:\s*0;[^}]*width:\s*100%;[^}]*height:\s*100%;[^}]*pointer-events:\s*none;' -Message 'G01 empty state transparent frame does not cover the approved panel slot'
Assert-Match -Content $g01 -Pattern '(?s)\.empty-panel\s*\{[^}]*background:\s*url\("/static/assets/modules/genealogy/transparent/g01-empty-panel-frame\.png"\)\s*center\s*/\s*100%\s+100%\s+no-repeat;' -Message 'G01 empty state must render the exact extracted transparent frame as its container background'
Assert-Match -Content $g01 -Pattern '(?s)\.genealogy-empty-state\s*\{[^}]*min-height:\s*1120rpx;' -Message 'G01 empty state does not reserve the approved visibly fuller height'
Assert-Match -Content $g01 -Pattern '(?s)\.empty-panel\s*\{[^}]*height:\s*1120rpx;' -Message 'G01 empty panel does not use the approved visibly fuller height'
Assert-Match -Content $g01 -Pattern '(?s)\.empty-panel__content\s*\{[^}]*justify-content:\s*center;[^}]*padding:\s*50rpx 28rpx 46rpx;' -Message 'G01 empty panel content is not centered with the approved responsive padding'