mirror of
				https://github.com/usememos/memos.git
				synced 2025-10-30 08:17:29 +08:00 
			
		
		
		
	fix: order list starts
This commit is contained in:
		
							parent
							
								
									e913271f15
								
							
						
					
					
						commit
						41d9c9d76e
					
				
					 1 changed files with 16 additions and 2 deletions
				
			
		|  | @ -1,4 +1,5 @@ | |||
| import clsx from "clsx"; | ||||
| import { head } from "lodash-es"; | ||||
| import React from "react"; | ||||
| import { ListNode_Kind, Node, NodeType } from "@/types/proto/api/v1/markdown_service"; | ||||
| import Renderer from "./Renderer"; | ||||
|  | @ -14,7 +15,7 @@ const List: React.FC<Props> = ({ kind, indent, children }: Props) => { | |||
|   let prevNode: Node | null = null; | ||||
|   let skipNextLineBreakFlag = false; | ||||
| 
 | ||||
|   const getListContainer = (kind: ListNode_Kind) => { | ||||
|   const getListContainer = () => { | ||||
|     switch (kind) { | ||||
|       case ListNode_Kind.ORDERED: | ||||
|         return "ol"; | ||||
|  | @ -27,13 +28,26 @@ const List: React.FC<Props> = ({ kind, indent, children }: Props) => { | |||
|     } | ||||
|   }; | ||||
| 
 | ||||
|   const getAttributes = () => { | ||||
|     if (kind === ListNode_Kind.ORDERED) { | ||||
|       const firstChild = head(children); | ||||
|       if (firstChild?.type === NodeType.ORDERED_LIST_ITEM) { | ||||
|         return { | ||||
|           start: firstChild.orderedListItemNode?.number, | ||||
|         }; | ||||
|       } | ||||
|     } | ||||
|     return {}; | ||||
|   }; | ||||
| 
 | ||||
|   return React.createElement( | ||||
|     getListContainer(kind), | ||||
|     getListContainer(), | ||||
|     { | ||||
|       className: clsx( | ||||
|         `list-inside ${kind === ListNode_Kind.ORDERED ? "list-decimal" : kind === ListNode_Kind.UNORDERED ? "list-disc" : "list-none"}`, | ||||
|         indent > 0 ? `pl-${2 * indent}` : "", | ||||
|       ), | ||||
|       ...getAttributes(), | ||||
|     }, | ||||
|     children.map((child, index) => { | ||||
|       if (prevNode?.type !== NodeType.LINE_BREAK && child.type === NodeType.LINE_BREAK && skipNextLineBreakFlag) { | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue