Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions apps/admin/src/shared/analytics/post-share-modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,11 @@ const PostShareModal: React.FC<PostShareModalProps> = ({
label: 'Share on LinkedIn',
service: 'linkedin',
},
{
href: `https://bsky.app/intent/compose?text=${encodedPostURLTitle}`,
label: 'Share on Bluesky',
service: 'bluesky',
},
];

return (
Expand Down
3 changes: 3 additions & 0 deletions apps/ember-admin/app/components/modal-post-success.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,9 @@
<a href="http://www.linkedin.com/shareArticle?mini=true&title={{this.encodedTitle}}&url={{this.encodedUrl}}" class="gh-btn linkedin" target="_blank" rel="noopener noreferrer" title="Share on LinkedIn">
<span>{{svg-jar "social-linkedin"}}</span>
</a>
<a href="https://bsky.app/intent/compose?text={{this.encodedTitleAndUrl}}" class="gh-btn bluesky" target="_blank" rel="noopener noreferrer" title="Share on Bluesky">
<span>{{svg-jar "social-bluesky"}}</span>
</a>
</div>
<GhTaskButton
@showIcon={{true}}
Expand Down
4 changes: 2 additions & 2 deletions apps/ember-admin/app/styles/app-dark.css
Original file line number Diff line number Diff line change
Expand Up @@ -1170,11 +1170,11 @@ kbd {
/* ---------------------------------
Publish flow: Share modal */

.modal-post-success .modal-footer .gh-btn:is(.twitter, .threads, .facebook, .linkedin) {
.modal-post-success .modal-footer .gh-btn:is(.twitter, .threads, .facebook, .linkedin, .bluesky) {
background: var(--lightgrey-l1)!important;
}

.modal-post-success .modal-footer .gh-btn:is(.twitter, .threads, .facebook, .linkedin, .copy-link, .copy-preview-link):hover {
.modal-post-success .modal-footer .gh-btn:is(.twitter, .threads, .facebook, .linkedin, .bluesky, .copy-link, .copy-preview-link):hover {
background: var(--lightgrey-l2)!important;
}

Expand Down
16 changes: 7 additions & 9 deletions apps/ember-admin/app/styles/components/publishmenu.css
Original file line number Diff line number Diff line change
Expand Up @@ -1047,7 +1047,8 @@

.modal-post-success .modal-footer .share-buttons {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-auto-flow: column;
grid-auto-columns: minmax(0, 1fr);
align-items: center;
gap: 16px;
}
Expand Down Expand Up @@ -1084,17 +1085,18 @@
flex-grow: 1;
}

.modal-post-success .modal-footer .gh-btn:is(.twitter, .threads, .facebook, .linkedin) {
.modal-post-success .modal-footer .gh-btn:is(.twitter, .threads, .facebook, .linkedin, .bluesky) {
width: 56px;
min-width: 0;
background: var(--whitegrey-l1);
border-color: transparent;
}

.modal-post-success .modal-footer .gh-btn:is(.twitter, .threads, .facebook, .linkedin, .copy-link, .copy-preview-link):hover {
.modal-post-success .modal-footer .gh-btn:is(.twitter, .threads, .facebook, .linkedin, .bluesky, .copy-link, .copy-preview-link):hover {
background: var(--whitegrey);
}

.modal-post-success .modal-footer .gh-btn:is(.twitter, .threads, .facebook, .linkedin) span {
.modal-post-success .modal-footer .gh-btn:is(.twitter, .threads, .facebook, .linkedin, .bluesky) span {
font-size: 0;
}

Expand Down Expand Up @@ -1122,10 +1124,6 @@
flex-direction: column;
}

.modal-post-success .modal-footer .share-buttons {
grid-template-columns: repeat(2, 1fr);
}

.modal-post-success .modal-footer .copy-link,
.modal-post-success .modal-footer .copy-preview-link {
width: 100%!important;
Expand All @@ -1137,7 +1135,7 @@
flex-direction: column;
}

.modal-post-success .modal-footer .gh-btn:is(.twitter, .threads, .facebook, .linkedin) {
.modal-post-success .modal-footer .gh-btn:is(.twitter, .threads, .facebook, .linkedin, .bluesky) {
width: auto;
}
}
4 changes: 4 additions & 0 deletions apps/ember-admin/public/assets/icons/social-bluesky.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions apps/shade/src/components/patterns/share-modal.stories.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,11 @@ const postSocialLinks: ShareModalSocialLink[] = [
label: 'Share on LinkedIn',
service: 'linkedin',
},
{
href: `https://bsky.app/intent/compose?text=${encodedPostTitleAndUrl}`,
label: 'Share on Bluesky',
service: 'bluesky',
},
];

const publicationSocialLinks: ShareModalSocialLink[] = [
Expand Down
15 changes: 13 additions & 2 deletions apps/shade/src/components/patterns/share-modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
} from '@/components/ui/dialog';
import { cn } from '@/lib/utils';

type ShareService = 'x' | 'threads' | 'facebook' | 'linkedin';
type ShareService = 'x' | 'threads' | 'facebook' | 'linkedin' | 'bluesky';

export type ShareModalSocialLink = {
href: string;
Expand Down Expand Up @@ -198,6 +198,17 @@ function SocialIcon({ service }: { service: ShareService }) {
);
}

if (service === 'bluesky') {
return (
<svg fill="none" viewBox="0 -33.5 568 568">
<path
d="M123.121 33.664C188.241 82.553 258.281 181.681 284 234.873c25.719-53.192 95.759-152.32 160.879-201.209C491.866-1.612 568-28.906 568 57.946c0 17.346-9.945 145.713-15.778 166.555-20.275 72.453-94.155 90.933-159.875 79.748 114.875 19.551 144.097 84.311 80.986 149.071-119.86 122.992-172.272-30.859-185.702-70.281-2.462-7.227-3.614-10.608-3.631-7.733-.017-2.875-1.169.506-3.631 7.733-13.43 39.422-65.842 193.273-185.702 70.281-63.111-64.76-33.889-129.52 80.986-149.071-65.72 11.185-139.6-7.295-159.875-79.748C9.945 203.659 0 75.292 0 57.946 0-28.906 76.135-1.612 123.121 33.664z"
fill="#0085ff"
></path>
</svg>
);
}

return (
<svg aria-hidden="true" viewBox="0 0 24 24">
<path
Expand Down Expand Up @@ -247,7 +258,7 @@ function SocialLinks({ className, layout = 'footer', links, ...props }: SocialLi
<a
key={link.id ?? link.href}
aria-label={link.label}
className="flex h-(--control-height) w-14 items-center justify-center rounded-xs bg-muted px-3 hover:bg-muted-foreground/20 [&_svg]:h-4"
className="flex h-(--control-height) flex-1 items-center justify-center rounded-xs bg-muted px-3 hover:bg-muted-foreground/20 sm:w-14 sm:flex-none [&_svg]:h-4"
href={link.href}
rel="noopener noreferrer"
target="_blank"
Expand Down
Loading