feat(life): add Life Post detail page and endpoint

Implement GET /api/life-posts/:id with moderation and visibility rules
Add /life/:id route and LifePostDetail view
Update feeds and user profiles to link to the new detail page
This commit is contained in:
2026-05-04 09:51:31 +08:00
parent bcff83a512
commit 7ff7e18b94
10 changed files with 1039 additions and 10 deletions

View File

@@ -2150,6 +2150,17 @@ button:disabled,
min-width: 0;
}
.life-detail-page {
display: grid;
gap: 18px;
}
.life-detail-layout {
width: min(100%, 880px);
display: grid;
gap: 14px;
}
.life-feed__list {
width: 100%;
justify-self: stretch;
@@ -2487,6 +2498,10 @@ button:disabled,
padding: 7px 10px;
}
.life-metric-button--static {
cursor: default;
}
.life-icon-button:hover,
.life-icon-button[aria-expanded="true"],
.life-icon-button.is-active,
@@ -2497,6 +2512,12 @@ button:disabled,
color: var(--pokemon-blue-deep);
}
.life-metric-button--static:hover {
border-color: var(--line);
background: var(--surface-soft);
color: var(--ink-soft);
}
.life-icon-button--flat {
border-color: transparent;
background: transparent;
@@ -5849,12 +5870,30 @@ button:disabled,
gap: 6px;
}
.profile-feed-card__metrics .ui-icon {
.profile-feed-card__detail-link,
.profile-post-preview__detail {
display: inline-flex;
align-items: center;
gap: 6px;
color: var(--pokemon-blue-deep);
font-weight: 950;
text-decoration: none;
}
.profile-feed-card__metrics .ui-icon,
.profile-post-preview__detail .ui-icon {
width: 18px;
height: 18px;
color: var(--pokemon-blue);
}
.profile-feed-card__detail-link:hover,
.profile-post-preview__detail:hover {
color: var(--pokemon-blue);
text-decoration: underline;
text-underline-offset: 3px;
}
.profile-load-more {
display: flex;
justify-content: center;