@@ -45,7 +45,8 @@ export const ReleaseItemRow = ({
4545 errorMessage,
4646} : ReleaseItemRowProps ) => {
4747 const [ copied , setCopied ] = useState ( false )
48- const [ isDropdownOpen , setIsDropdownOpen ] = useState ( false )
48+ const [ isMobileDropdownOpen , setIsMobileDropdownOpen ] = useState ( false )
49+ const [ isDesktopDropdownOpen , setIsDesktopDropdownOpen ] = useState ( false )
4950
5051 const handleCopy = ( e : React . MouseEvent ) => {
5152 e . stopPropagation ( )
@@ -130,12 +131,47 @@ export const ReleaseItemRow = ({
130131 </ div >
131132 ) }
132133
133- < div className = "flex justify-between items-end " >
134+ < div className = "flex justify-between items-center " >
134135 < div className = "flex-1 min-w-0 pr-4" > { renderGitInfo ( ) } </ div >
135- < div className = "flex flex-col items-end flex-shrink-0" >
136- < div className = "text-xs font-medium text-gray-500" >
136+ < div className = "flex items-center gap-1.5 flex-shrink-0" >
137+ < span className = "text-xs font-medium text-gray-500" >
137138 { formatTimeAgo ( release . created_at ) }
138- </ div >
139+ </ span >
140+ { dropdownActions && dropdownActions . length > 0 && (
141+ < DropdownMenu
142+ open = { isMobileDropdownOpen }
143+ onOpenChange = { setIsMobileDropdownOpen }
144+ >
145+ < DropdownMenuTrigger asChild >
146+ < Button
147+ variant = "ghost"
148+ size = "sm"
149+ className = "h-6 w-6 p-0 -mr-1"
150+ onClick = { ( e ) => {
151+ e . stopPropagation ( )
152+ } }
153+ >
154+ < MoreHorizontal className = "w-4 h-4 text-gray-500" />
155+ </ Button >
156+ </ DropdownMenuTrigger >
157+ < DropdownMenuContent align = "end" >
158+ { dropdownActions
159+ . filter ( ( action ) => ! action . hidden )
160+ . map ( ( action ) => (
161+ < DropdownMenuItem
162+ key = { action . label }
163+ onClick = { ( e ) => {
164+ e . stopPropagation ( )
165+ setIsMobileDropdownOpen ( false )
166+ action . onClick ( e )
167+ } }
168+ >
169+ { action . label }
170+ </ DropdownMenuItem >
171+ ) ) }
172+ </ DropdownMenuContent >
173+ </ DropdownMenu >
174+ ) }
139175 </ div >
140176 </ div >
141177 </ div >
@@ -206,8 +242,8 @@ export const ReleaseItemRow = ({
206242
207243 { dropdownActions && dropdownActions . length > 0 && (
208244 < DropdownMenu
209- open = { isDropdownOpen }
210- onOpenChange = { setIsDropdownOpen }
245+ open = { isDesktopDropdownOpen }
246+ onOpenChange = { setIsDesktopDropdownOpen }
211247 >
212248 < DropdownMenuTrigger asChild >
213249 < Button
@@ -216,7 +252,6 @@ export const ReleaseItemRow = ({
216252 className = "h-8 w-8 p-0 opacity-0 group-hover:opacity-100 transition-opacity"
217253 onClick = { ( e ) => {
218254 e . stopPropagation ( )
219- setIsDropdownOpen ( true )
220255 } }
221256 >
222257 < MoreHorizontal className = "w-4 h-4 text-gray-500" />
@@ -230,7 +265,7 @@ export const ReleaseItemRow = ({
230265 key = { action . label }
231266 onClick = { ( e ) => {
232267 e . stopPropagation ( )
233- setIsDropdownOpen ( false )
268+ setIsDesktopDropdownOpen ( false )
234269 action . onClick ( e )
235270 } }
236271 >
0 commit comments