feat: share to twitter button in publish buttons

This commit is contained in:
DIYgod 2023-04-18 23:02:38 +01:00
parent d2aeec95c9
commit 8362672aaa
No known key found for this signature in database
2 changed files with 27 additions and 7 deletions

View File

@ -9,7 +9,8 @@ export const PublishButton: React.FC<{
published: boolean
isSaving: boolean
isDisabled: boolean
}> = ({ save, published, isSaving, isDisabled }) => {
twitterShareUrl?: string
}> = ({ save, published, isSaving, isDisabled, twitterShareUrl }) => {
const [showDropdown, setShowDropdown] = useState(false)
const dropdownRef = useRef<HTMLDivElement | null>(null)
const triggerRef = useRef<HTMLButtonElement | null>(null)
@ -58,12 +59,22 @@ export const PublishButton: React.FC<{
<div className="absolute right-0 min-w-[200px] pt-2" ref={dropdownRef}>
<div className="bg-white py-2 rounded-lg shadow-modal">
{published && (
<button
className="flex w-full h-8 hover:bg-zinc-100 items-center px-5"
onClick={() => save(false)}
>
{t("Delete")}
</button>
<div>
<button
className="flex w-full h-8 hover:bg-zinc-100 items-center px-5"
onClick={() => window.open(twitterShareUrl)}
>
<i className="i-mingcute:twitter-line mr-1"></i>
{t("Share to Twitter")}
</button>
<button
className="flex w-full h-8 hover:bg-zinc-100 items-center px-5"
onClick={() => save(false)}
>
<i className="i-mingcute:delete-2-line mr-1"></i>
{t("Delete")}
</button>
</div>
)}
</div>
</div>

View File

@ -655,6 +655,15 @@ export default function SubdomainEditor() {
</Button>
<PublishButton
save={savePage}
twitterShareUrl={
page.data && site.data
? getTwitterShareUrl({
page: page.data,
site: site.data,
t,
})
: ""
}
published={visibility !== PageVisibilityEnum.Draft}
isSaving={createOrUpdatePage.isLoading}
isDisabled={