@@ -19,16 +19,22 @@ import {
19
19
import { useCurrentNoteId } from '~/providers/note/CurrentNoteIdProvider'
20
20
import { useModalStack } from '~/providers/root/modal-stack-provider'
21
21
22
- import { ActionAsideContainer } from '../shared/ActionAsideContainer'
22
+ import {
23
+ ActionAsideContainer ,
24
+ ActionAsideIcon ,
25
+ asideButtonStyles ,
26
+ } from '../shared/ActionAsideContainer'
23
27
import { AsideCommentButton } from '../shared/AsideCommentButton'
24
28
import { AsideDonateButton } from '../shared/AsideDonateButton'
25
29
import { ShareModal } from '../shared/ShareModal'
30
+ import { usePresentSubscribeModal } from '../subscribe'
26
31
27
32
export const NoteActionAside : Component = ( { className } ) => {
28
33
return (
29
34
< ActionAsideContainer className = { className } >
30
35
< LikeButton />
31
36
< ShareButton />
37
+ < SubscribeButton />
32
38
< NoteAsideCommentButton />
33
39
< AsideDonateButton />
34
40
</ ActionAsideContainer >
@@ -104,7 +110,8 @@ const LikeButton = () => {
104
110
>
105
111
< m . i
106
112
className = { clsxm (
107
- 'text-[24px] opacity-80 duration-200 hover:text-uk-red-light hover:opacity-100' ,
113
+ 'duration-200 hover:text-uk-red-light' ,
114
+ asideButtonStyles . base ,
108
115
! isLiked && 'icon-[mingcute--heart-line]' ,
109
116
isLiked && 'icon-[mingcute--heart-fill] text-uk-red-light' ,
110
117
) }
@@ -127,6 +134,15 @@ const LikeButton = () => {
127
134
)
128
135
}
129
136
137
+ const SubscribeButton = ( ) => {
138
+ const { present } = usePresentSubscribeModal ( [ 'note_c' ] )
139
+ return (
140
+ < MotionButtonBase className = "flex flex-col space-y-2" onClick = { present } >
141
+ < ActionAsideIcon className = "icon-[material-symbols--notifications-active-outline] hover:text-accent" />
142
+ </ MotionButtonBase >
143
+ )
144
+ }
145
+
130
146
const ShareButton = ( ) => {
131
147
const isClient = useIsClient ( )
132
148
const { present } = useModalStack ( )
@@ -168,7 +184,7 @@ const ShareButton = () => {
168
184
}
169
185
} }
170
186
>
171
- < i className = "icon-[mingcute--share-forward-line] text-[24px] opacity-80 duration-200 hover:text-uk-cyan-light hover:opacity-100 " />
187
+ < ActionAsideIcon className = "icon-[mingcute--share-forward-line] hover:text-uk-cyan-light" />
172
188
</ MotionButtonBase >
173
189
)
174
190
}
0 commit comments