1
1
import { useCallback , type RefObject } from "react" ;
2
- import { useCopyToClipboard } from "react-use" ;
3
2
import {
4
3
Avatar ,
5
4
Box ,
@@ -42,7 +41,6 @@ type HeaderProps = {
42
41
43
42
function Header ( { chatId, inputPromptRef, searchText, onToggleSidebar } : HeaderProps ) {
44
43
const { toggleColorMode } = useColorMode ( ) ;
45
- const [ , copyToClipboard ] = useCopyToClipboard ( ) ;
46
44
const {
47
45
isOpen : isPrefModalOpen ,
48
46
onOpen : onPrefModalOpen ,
@@ -59,7 +57,7 @@ function Header({ chatId, inputPromptRef, searchText, onToggleSidebar }: HeaderP
59
57
onClose : onSysPromptModalClose ,
60
58
} = useDisclosure ( ) ;
61
59
const { user, login, logout } = useUser ( ) ;
62
- const { info , error } = useAlert ( ) ;
60
+ const { error } = useAlert ( ) ;
63
61
64
62
const handleLoginLogout = useCallback (
65
63
( provider : string ) => {
@@ -74,29 +72,27 @@ function Header({ chatId, inputPromptRef, searchText, onToggleSidebar }: HeaderP
74
72
75
73
const isMobile = useMobileBreakpoint ( ) ;
76
74
77
- const handleCopyFeedUrl = useCallback ( async ( ) => {
75
+ const handleOpenFeedUrl = useCallback ( async ( ) => {
78
76
if ( ! user ) {
79
77
error ( {
80
- title : "Failed to Share Message " ,
81
- message : "Can't share message because user is not logged in" ,
78
+ title : "Failed to Open Feed " ,
79
+ message : "Can't open feed because user is not logged in" ,
82
80
} ) ;
83
81
return ;
84
82
}
85
83
try {
86
- const userFeedUrl = `https://chatcraft.org/api/share/${ user . username } /feed.atom` ;
87
- info ( {
88
- title : "Copied Shared Chats Feed URL Successfully" ,
89
- message : `URL has been copied to clipboard` ,
90
- } ) ;
91
- copyToClipboard ( userFeedUrl ) ;
84
+ const currentUrl = window . location . href ;
85
+ const parsedUrl = new URL ( currentUrl ) ;
86
+ const userFeedUrl = `${ parsedUrl . origin } /api/share/${ user . username } /feed.atom` ;
87
+ window . open ( userFeedUrl , "_blank" ) ;
92
88
} catch ( err ) {
93
89
console . error ( err ) ;
94
90
error ( {
95
- title : "Failed to Copy Shared Chats Feed URL" ,
96
- message : "An error occurred while trying to copy shared chats feed URL." ,
91
+ title : "Failed to Open Shared Chats Feed URL" ,
92
+ message : "An error occurred while trying to open shared chats feed URL." ,
97
93
} ) ;
98
94
}
99
- } , [ user , info , error , copyToClipboard ] ) ;
95
+ } , [ user , error ] ) ;
100
96
101
97
return (
102
98
< Flex
@@ -150,7 +146,7 @@ function Header({ chatId, inputPromptRef, searchText, onToggleSidebar }: HeaderP
150
146
title = { "Copy Shared Chats Feed URL" }
151
147
icon = { < FiRss /> }
152
148
variant = "ghost"
153
- onClick = { handleCopyFeedUrl }
149
+ onClick = { handleOpenFeedUrl }
154
150
/>
155
151
< IconButton
156
152
aria-label = { useColorModeValue ( "Switch to Dark Mode" , "Switch to Light Mode" ) }
0 commit comments