新增作品详情页「改造这个作品」入口(复制作品 ID/链接 → 客户端粘贴)
- 共创信息卡内新增入口:仅当作品已公开且 forkAuthorization != forbidden 时出现;授权为禁止共创时保持现状不出现 - 交互:点击展开获取方式——可复制的作品 ID 与完整作品链接(/games/detail?id=<gameId>,AGC 解析器接受的形态)+ 操作指引「打开陶泥儿客户端 → 首页『从平台作品开始创作』→ 粘贴」 - 复制反馈复用平台既有 CopyFeedbackButton + useCopyFeedback(统一剪贴板实现与「已复制 / 复制失败」状态) - 未登录:入口照常出现但显示「登录后可改造」,点击走仓库既有登录门禁(authUi.openLoginModal,与同页「登录后评价」同一做法),不静默隐藏、也不假装可唤起客户端 - 文案与 AGC 侧口径一致:可玩参考 + 素材、参考产物在 reference/<作品ID>/ 目录、成品包没有源码不能直接再次发布;不写「一键复刻工程」 - 不新增路由、不发 API 请求、不动服务端:网页端无法唤起客户端(未注册 deep link),只做「复制 → 粘贴」 - 测试:新增 4 例(公开+非禁止出现入口并可复制、forbidden 不出现、未公开不出现、未登录走登录门禁);并把 M1 遗留的「不提供改造入口」断言改写为新契约 - 样式:.game-fork-remix-* 落在共创信息卡内,窄屏靠网格与 overflow-wrap 收在容器里
This commit is contained in:
@@ -435,6 +435,74 @@
|
||||
.game-detail-info-card .game-fork-lineage-link:hover {
|
||||
background: rgba(199, 101, 61, 0.12);
|
||||
}
|
||||
/*
|
||||
* 「改造这个作品」:入口 + 展开后的获取方式面板。都在共创信息卡内,
|
||||
* 窄屏靠网格换行与 `overflow-wrap: anywhere` 收在侧栏里,不产生横向溢出。
|
||||
*/
|
||||
.game-detail-info-card .game-fork-remix-link {
|
||||
justify-self: start;
|
||||
border: 1px solid var(--platform-accent-strong);
|
||||
border-radius: 999px;
|
||||
padding: 0.22rem 0.75rem;
|
||||
background: rgba(199, 101, 61, 0.12);
|
||||
color: var(--platform-accent-strong);
|
||||
font: inherit;
|
||||
font-size: 0.76rem;
|
||||
font-weight: 700;
|
||||
cursor: pointer;
|
||||
}
|
||||
.game-detail-info-card .game-fork-remix-link:hover {
|
||||
background: rgba(199, 101, 61, 0.2);
|
||||
}
|
||||
.game-detail-info-card .game-fork-remix-panel {
|
||||
display: grid;
|
||||
justify-items: start;
|
||||
gap: 0.35rem;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
box-sizing: border-box;
|
||||
border: 1px solid var(--platform-surface-border);
|
||||
border-radius: 0.6rem;
|
||||
padding: 0.55rem 0.65rem;
|
||||
background: var(--platform-surface-muted, rgba(0, 0, 0, 0.02));
|
||||
font-size: 0.76rem;
|
||||
line-height: 1.6;
|
||||
}
|
||||
.game-detail-info-card .game-fork-remix-steps {
|
||||
color: var(--platform-text-base);
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
.game-detail-info-card .game-fork-remix-value {
|
||||
min-width: 0;
|
||||
color: var(--platform-text-soft);
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
.game-detail-info-card .game-fork-remix-value code {
|
||||
color: var(--platform-text-strong);
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
||||
font-size: 0.72rem;
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
.game-detail-info-card .game-fork-remix-actions {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.35rem;
|
||||
}
|
||||
.game-detail-info-card .game-fork-remix-copy {
|
||||
border: 1px solid var(--platform-surface-border);
|
||||
border-radius: 999px;
|
||||
padding: 0.2rem 0.7rem;
|
||||
background: var(--platform-surface, #fff);
|
||||
color: var(--platform-text-base);
|
||||
font: inherit;
|
||||
font-size: 0.74rem;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
}
|
||||
.game-detail-info-card .game-fork-remix-note {
|
||||
color: var(--platform-text-soft);
|
||||
overflow-wrap: anywhere;
|
||||
}
|
||||
.game-loading-panel {
|
||||
display: grid;
|
||||
min-height: 18rem;
|
||||
|
||||
Reference in New Issue
Block a user