Skip to content

Commit

Permalink
Feed icon open raw feed (#573)
Browse files Browse the repository at this point in the history
* Feed icon open raw feed

* remove unused useCopyToClipboard

* get parsedURL.origin
  • Loading branch information
WangGithub0 authored Apr 12, 2024
1 parent d8466be commit f66f24c
Showing 1 changed file with 12 additions and 16 deletions.
28 changes: 12 additions & 16 deletions src/components/Header.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import { useCallback, type RefObject } from "react";
import { useCopyToClipboard } from "react-use";
import {
Avatar,
Box,
Expand Down Expand Up @@ -42,7 +41,6 @@ type HeaderProps = {

function Header({ chatId, inputPromptRef, searchText, onToggleSidebar }: HeaderProps) {
const { toggleColorMode } = useColorMode();
const [, copyToClipboard] = useCopyToClipboard();
const {
isOpen: isPrefModalOpen,
onOpen: onPrefModalOpen,
Expand All @@ -59,7 +57,7 @@ function Header({ chatId, inputPromptRef, searchText, onToggleSidebar }: HeaderP
onClose: onSysPromptModalClose,
} = useDisclosure();
const { user, login, logout } = useUser();
const { info, error } = useAlert();
const { error } = useAlert();

const handleLoginLogout = useCallback(
(provider: string) => {
Expand All @@ -74,29 +72,27 @@ function Header({ chatId, inputPromptRef, searchText, onToggleSidebar }: HeaderP

const isMobile = useMobileBreakpoint();

const handleCopyFeedUrl = useCallback(async () => {
const handleOpenFeedUrl = useCallback(async () => {
if (!user) {
error({
title: "Failed to Share Message",
message: "Can't share message because user is not logged in",
title: "Failed to Open Feed",
message: "Can't open feed because user is not logged in",
});
return;
}
try {
const userFeedUrl = `https://chatcraft.org/api/share/${user.username}/feed.atom`;
info({
title: "Copied Shared Chats Feed URL Successfully",
message: `URL has been copied to clipboard`,
});
copyToClipboard(userFeedUrl);
const currentUrl = window.location.href;
const parsedUrl = new URL(currentUrl);
const userFeedUrl = `${parsedUrl.origin}/api/share/${user.username}/feed.atom`;
window.open(userFeedUrl, "_blank");
} catch (err) {
console.error(err);
error({
title: "Failed to Copy Shared Chats Feed URL",
message: "An error occurred while trying to copy shared chats feed URL.",
title: "Failed to Open Shared Chats Feed URL",
message: "An error occurred while trying to open shared chats feed URL.",
});
}
}, [user, info, error, copyToClipboard]);
}, [user, error]);

return (
<Flex
Expand Down Expand Up @@ -150,7 +146,7 @@ function Header({ chatId, inputPromptRef, searchText, onToggleSidebar }: HeaderP
title={"Copy Shared Chats Feed URL"}
icon={<FiRss />}
variant="ghost"
onClick={handleCopyFeedUrl}
onClick={handleOpenFeedUrl}
/>
<IconButton
aria-label={useColorModeValue("Switch to Dark Mode", "Switch to Light Mode")}
Expand Down

0 comments on commit f66f24c

Please sign in to comment.