mirror of
https://github.com/DeveloLongScript/MHSF.git
synced 2026-05-07 15:44:58 -05:00
fix: make sharing actually work
This commit is contained in:
parent
76fb82868f
commit
cdcb83e449
@ -31,7 +31,14 @@
|
|||||||
import { Button } from "@/components/ui/button";
|
import { Button } from "@/components/ui/button";
|
||||||
import { ServerResponse } from "@/lib/types/mh-server";
|
import { ServerResponse } from "@/lib/types/mh-server";
|
||||||
import { SignedIn, SignedOut, useClerk } from "@clerk/nextjs";
|
import { SignedIn, SignedOut, useClerk } from "@clerk/nextjs";
|
||||||
import { EllipsisVertical, Flag, Heart, Pencil, Share, Star } from "lucide-react";
|
import {
|
||||||
|
EllipsisVertical,
|
||||||
|
Flag,
|
||||||
|
Heart,
|
||||||
|
Pencil,
|
||||||
|
Share,
|
||||||
|
Star,
|
||||||
|
} from "lucide-react";
|
||||||
import { useFavoriteStore } from "@/lib/hooks/use-favorite-store";
|
import { useFavoriteStore } from "@/lib/hooks/use-favorite-store";
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import type { useMHSFServer } from "@/lib/hooks/use-mhsf-server";
|
import type { useMHSFServer } from "@/lib/hooks/use-mhsf-server";
|
||||||
@ -43,6 +50,8 @@ import {
|
|||||||
DropdownMenuSeparator,
|
DropdownMenuSeparator,
|
||||||
DropdownMenuTrigger,
|
DropdownMenuTrigger,
|
||||||
} from "@/components/ui/dropdown-menu";
|
} from "@/components/ui/dropdown-menu";
|
||||||
|
import useClipboard from "@/lib/useClipboard";
|
||||||
|
import { toast } from "sonner";
|
||||||
|
|
||||||
export function ServerPageButtons({
|
export function ServerPageButtons({
|
||||||
server,
|
server,
|
||||||
@ -52,6 +61,7 @@ export function ServerPageButtons({
|
|||||||
mhsfData: ReturnType<typeof useMHSFServer>;
|
mhsfData: ReturnType<typeof useMHSFServer>;
|
||||||
}) {
|
}) {
|
||||||
const clerk = useClerk();
|
const clerk = useClerk();
|
||||||
|
const clipboard = useClipboard();
|
||||||
const favoritesStore = useFavoriteStore(mhsfData);
|
const favoritesStore = useFavoriteStore(mhsfData);
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
|
|
||||||
@ -105,11 +115,29 @@ export function ServerPageButtons({
|
|||||||
</DropdownMenuTrigger>
|
</DropdownMenuTrigger>
|
||||||
<DropdownMenuContent>
|
<DropdownMenuContent>
|
||||||
<DropdownMenuSeparator>Server</DropdownMenuSeparator>
|
<DropdownMenuSeparator>Server</DropdownMenuSeparator>
|
||||||
<DropdownMenuItem className="flex items-center gap-2" onClick={() => window.dispatchEvent(new Event("open-server-editor"))}>
|
<DropdownMenuItem
|
||||||
|
className="flex items-center gap-2"
|
||||||
|
onClick={() =>
|
||||||
|
window.dispatchEvent(new Event("open-server-editor"))
|
||||||
|
}
|
||||||
|
>
|
||||||
<Pencil size={16} />
|
<Pencil size={16} />
|
||||||
Edit Server
|
Edit Server
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
<DropdownMenuItem className="flex items-center gap-2">
|
<DropdownMenuItem
|
||||||
|
className="flex items-center gap-2"
|
||||||
|
onClick={() => {
|
||||||
|
const data = {
|
||||||
|
url: `https://mhsf.app/server/v2/minehut/${server._id}`,
|
||||||
|
text: "Check out MHSF, the modern server finder!",
|
||||||
|
};
|
||||||
|
if (navigator.canShare(data)) navigator.share(data);
|
||||||
|
else {
|
||||||
|
clipboard.writeText(data.url);
|
||||||
|
toast.success("Sent to clipboard!");
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
<Share size={16} />
|
<Share size={16} />
|
||||||
Share
|
Share
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user