@@ -229,6 +229,7 @@ const meta: Meta<typeof InteractiveBook> = {
229229 bookAuthor : { control : 'text' } ,
230230 width : { control : 'number' } ,
231231 height : { control : 'number' } ,
232+ enableKeyboard : { control : 'boolean' } ,
232233 } ,
233234 parameters : {
234235 layout : 'centered' ,
@@ -251,5 +252,77 @@ export const Default: Story = {
251252 pages : bookPages ,
252253 width : 350 ,
253254 height : 500 ,
255+ enableKeyboard : true ,
256+ } ,
257+ }
258+
259+ /**
260+ * 页角翻页提示:鼠标悬停在页面右下角/左下角时,
261+ * 页角会出现海浪卷起的动画效果,提示用户可以点击翻页。
262+ */
263+ export const CornerCurlHint : Story = {
264+ name : '页角翻页提示' ,
265+ render : ( args : InteractiveBookProps ) => (
266+ < div className = "flex h-[800px] w-full flex-col items-center justify-center gap-4 bg-neutral-100 p-10" >
267+ < p style = { { color : '#6b7280' , fontSize : '0.875rem' , textAlign : 'center' , maxWidth : 400 } } >
268+ 打开书籍后,将鼠标悬停在页面的右下角或左下角,页角会出现海浪卷起的动画效果。点击页角即可翻页。
269+ </ p >
270+ < InteractiveBook { ...args } />
271+ </ div >
272+ ) ,
273+ args : {
274+ coverImage : AiCover ,
275+ bookTitle : 'AI Agent 完全指南' ,
276+ bookAuthor : 'AI 专家' ,
277+ pages : bookPages ,
278+ width : 350 ,
279+ height : 500 ,
280+ enableKeyboard : true ,
281+ } ,
282+ }
283+
284+ /**
285+ * 少量页面示例:展示两页内容时的翻页交互,
286+ * 最后一页(结束页)不再显示拖动手势。
287+ */
288+ export const FewPages : Story = {
289+ name : '少量页面' ,
290+ render : ( args : InteractiveBookProps ) => (
291+ < div className = "flex h-[800px] w-full items-center justify-center bg-neutral-100 p-10" >
292+ < InteractiveBook { ...args } />
293+ </ div >
294+ ) ,
295+ args : {
296+ coverImage : AiCover ,
297+ bookTitle : '简短手册' ,
298+ bookAuthor : '作者' ,
299+ pages : [
300+ {
301+ pageNumber : 1 ,
302+ title : '唯一的章节' ,
303+ content : (
304+ < div style = { { display : 'flex' , flexDirection : 'column' , gap : '16px' } } >
305+ < p > "这本书只有一页正文,翻到最后一页时不再显示拖动手势。"</ p >
306+ < p > "将鼠标移到右下角,可以看到页角卷起效果。"</ p >
307+ </ div >
308+ ) ,
309+ backContent : (
310+ < div style = { { display : 'flex' , alignItems : 'center' , justifyContent : 'center' , height : '100%' } } >
311+ < p style = { { fontStyle : 'italic' , color : '#9ca3af' } } > 背面内容</ p >
312+ </ div >
313+ ) ,
314+ } ,
315+ {
316+ pageNumber : 2 ,
317+ title : '结束' ,
318+ content : (
319+ < div style = { { display : 'flex' , flexDirection : 'column' , gap : '16px' } } >
320+ < p > "最后一页,拖动手势已禁用,鼠标恢复为普通箭头。"</ p >
321+ </ div >
322+ ) ,
323+ } ,
324+ ] ,
325+ width : 350 ,
326+ height : 500 ,
254327 } ,
255328}
0 commit comments