diff --git a/.prettierrc b/.prettierrc index ae3f2e49..abfb5caa 100644 --- a/.prettierrc +++ b/.prettierrc @@ -9,7 +9,6 @@ "bracketSpacing": true, "bracketSameLine": false, "importOrder": [ - "^@lume/(.*)$", "^@app/(.*)$", "^@shared/(.*)$", "^@icons/(.*)$", diff --git a/src/app/channel/components/blacklist.tsx b/src/app/channel/components/blacklist.tsx index 8fbc3dcd..33253d62 100644 --- a/src/app/channel/components/blacklist.tsx +++ b/src/app/channel/components/blacklist.tsx @@ -1,5 +1,6 @@ -import MutedItem from '@lume/app/channel/components/mutedItem'; -import MuteIcon from '@lume/shared/icons/mute'; +import MutedItem from '@app/channel/components/mutedItem'; + +import MuteIcon from '@icons/mute'; import { Popover, Transition } from '@headlessui/react'; import { Fragment } from 'react'; diff --git a/src/app/channel/components/createModal.tsx b/src/app/channel/components/createModal.tsx index fac37ff4..48491571 100644 --- a/src/app/channel/components/createModal.tsx +++ b/src/app/channel/components/createModal.tsx @@ -1,12 +1,15 @@ -import { AvatarUploader } from '@lume/shared/avatarUploader'; -import CancelIcon from '@lume/shared/icons/cancel'; -import PlusIcon from '@lume/shared/icons/plus'; -import { Image } from '@lume/shared/image'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { DEFAULT_AVATAR, WRITEONLY_RELAYS } from '@lume/stores/constants'; -import { dateToUnix } from '@lume/utils/getDate'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; -import { createChannel } from '@lume/utils/storage'; +import { AvatarUploader } from '@shared/avatarUploader'; +import { Image } from '@shared/image'; +import { RelayContext } from '@shared/relayProvider'; + +import CancelIcon from '@icons/cancel'; +import PlusIcon from '@icons/plus'; + +import { DEFAULT_AVATAR, WRITEONLY_RELAYS } from '@stores/constants'; + +import { dateToUnix } from '@utils/date'; +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; +import { createChannel } from '@utils/storage'; import { Dialog, Transition } from '@headlessui/react'; import { getEventHash, signEvent } from 'nostr-tools'; diff --git a/src/app/channel/components/item.tsx b/src/app/channel/components/item.tsx index 34c7d19a..7ace3eca 100644 --- a/src/app/channel/components/item.tsx +++ b/src/app/channel/components/item.tsx @@ -1,5 +1,6 @@ -import { useChannelProfile } from '@lume/utils/hooks/useChannelProfile'; -import { usePageContext } from '@lume/utils/hooks/usePageContext'; +import { useChannelProfile } from '@app/channel/hooks/useChannelProfile'; + +import { usePageContext } from '@utils/hooks/usePageContext'; import { twMerge } from 'tailwind-merge'; diff --git a/src/app/channel/components/list.tsx b/src/app/channel/components/list.tsx index a93dc98c..555e96f2 100644 --- a/src/app/channel/components/list.tsx +++ b/src/app/channel/components/list.tsx @@ -1,6 +1,7 @@ -import ChannelCreateModal from '@lume/app/channel/components/createModal'; -import ChannelsListItem from '@lume/app/channel/components/item'; -import { getChannels } from '@lume/utils/storage'; +import ChannelCreateModal from '@app/channel/components/createModal'; +import ChannelsListItem from '@app/channel/components/item'; + +import { getChannels } from '@utils/storage'; import useSWR from 'swr'; diff --git a/src/app/channel/components/members.tsx b/src/app/channel/components/members.tsx index de536ed8..1b02d5b3 100644 --- a/src/app/channel/components/members.tsx +++ b/src/app/channel/components/members.tsx @@ -1,5 +1,6 @@ -import MiniMember from '@lume/app/channel/components/miniMember'; -import { channelMembersAtom } from '@lume/stores/channel'; +import MiniMember from '@app/channel/components/miniMember'; + +import { channelMembersAtom } from '@stores/channel'; import { useAtomValue } from 'jotai'; diff --git a/src/app/channel/components/messageList.tsx b/src/app/channel/components/messageList.tsx index 5c24a71a..3eb347a2 100644 --- a/src/app/channel/components/messageList.tsx +++ b/src/app/channel/components/messageList.tsx @@ -1,6 +1,8 @@ -import ChannelMessageItem from '@lume/app/channel/components/messages/item'; -import { sortedChannelMessagesAtom } from '@lume/stores/channel'; -import { hoursAgo } from '@lume/utils/getDate'; +import ChannelMessageItem from '@app/channel/components/messages/item'; + +import { sortedChannelMessagesAtom } from '@stores/channel'; + +import { getHourAgo } from '@utils/date'; import { useAtomValue } from 'jotai'; import { useCallback, useRef } from 'react'; @@ -39,7 +41,7 @@ export default function ChannelMessageList() {
- {hoursAgo(24, now.current).toLocaleDateString('en-US', { + {getHourAgo(24, now.current).toLocaleDateString('en-US', { weekday: 'long', year: 'numeric', month: 'long', diff --git a/src/app/channel/components/messages/form.tsx b/src/app/channel/components/messages/form.tsx index 14363fba..1108e4d9 100644 --- a/src/app/channel/components/messages/form.tsx +++ b/src/app/channel/components/messages/form.tsx @@ -1,11 +1,15 @@ -import UserReply from '@lume/app/channel/components/messages/userReply'; -import { ImagePicker } from '@lume/shared/form/imagePicker'; -import CancelIcon from '@lume/shared/icons/cancel'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { channelContentAtom, channelReplyAtom } from '@lume/stores/channel'; -import { WRITEONLY_RELAYS } from '@lume/stores/constants'; -import { dateToUnix } from '@lume/utils/getDate'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; +import UserReply from '@app/channel/components/messages/userReply'; + +import { ImagePicker } from '@shared/form/imagePicker'; +import { RelayContext } from '@shared/relayProvider'; + +import CancelIcon from '@icons/cancel'; + +import { channelContentAtom, channelReplyAtom } from '@stores/channel'; +import { WRITEONLY_RELAYS } from '@stores/constants'; + +import { dateToUnix } from '@utils/date'; +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; import { useAtom, useAtomValue } from 'jotai'; import { useResetAtom } from 'jotai/utils'; diff --git a/src/app/channel/components/messages/hideButton.tsx b/src/app/channel/components/messages/hideButton.tsx index eb6c1e56..96926bac 100644 --- a/src/app/channel/components/messages/hideButton.tsx +++ b/src/app/channel/components/messages/hideButton.tsx @@ -1,11 +1,14 @@ -import CancelIcon from '@lume/shared/icons/cancel'; -import HideIcon from '@lume/shared/icons/hide'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { Tooltip } from '@lume/shared/tooltip'; -import { channelMessagesAtom } from '@lume/stores/channel'; -import { WRITEONLY_RELAYS } from '@lume/stores/constants'; -import { dateToUnix } from '@lume/utils/getDate'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; +import { RelayContext } from '@shared/relayProvider'; +import { Tooltip } from '@shared/tooltip'; + +import CancelIcon from '@icons/cancel'; +import HideIcon from '@icons/hide'; + +import { channelMessagesAtom } from '@stores/channel'; +import { WRITEONLY_RELAYS } from '@stores/constants'; + +import { dateToUnix } from '@utils/date'; +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; import { Dialog, Transition } from '@headlessui/react'; import { useAtom } from 'jotai'; diff --git a/src/app/channel/components/messages/item.tsx b/src/app/channel/components/messages/item.tsx index 55be8546..de8832db 100644 --- a/src/app/channel/components/messages/item.tsx +++ b/src/app/channel/components/messages/item.tsx @@ -1,8 +1,9 @@ -import MessageHideButton from '@lume/app/channel/components/messages/hideButton'; -import MessageMuteButton from '@lume/app/channel/components/messages/muteButton'; -import MessageReplyButton from '@lume/app/channel/components/messages/replyButton'; -import ChannelMessageUser from '@lume/app/channel/components/messages/user'; -import { noteParser } from '@lume/utils/parser'; +import MessageHideButton from '@app/channel/components/messages/hideButton'; +import MessageMuteButton from '@app/channel/components/messages/muteButton'; +import MessageReplyButton from '@app/channel/components/messages/replyButton'; +import ChannelMessageUser from '@app/channel/components/messages/user'; + +import { noteParser } from '@utils/parser'; import { useMemo } from 'react'; diff --git a/src/app/channel/components/messages/muteButton.tsx b/src/app/channel/components/messages/muteButton.tsx index f698df87..ea4f1f7e 100644 --- a/src/app/channel/components/messages/muteButton.tsx +++ b/src/app/channel/components/messages/muteButton.tsx @@ -1,11 +1,14 @@ -import CancelIcon from '@lume/shared/icons/cancel'; -import MuteIcon from '@lume/shared/icons/mute'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { Tooltip } from '@lume/shared/tooltip'; -import { channelMessagesAtom } from '@lume/stores/channel'; -import { WRITEONLY_RELAYS } from '@lume/stores/constants'; -import { dateToUnix } from '@lume/utils/getDate'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; +import { RelayContext } from '@shared/relayProvider'; +import { Tooltip } from '@shared/tooltip'; + +import CancelIcon from '@icons/cancel'; +import MuteIcon from '@icons/mute'; + +import { channelMessagesAtom } from '@stores/channel'; +import { WRITEONLY_RELAYS } from '@stores/constants'; + +import { dateToUnix } from '@utils/date'; +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; import { Dialog, Transition } from '@headlessui/react'; import { useAtom } from 'jotai'; diff --git a/src/app/channel/components/messages/replyButton.tsx b/src/app/channel/components/messages/replyButton.tsx index 502c2625..2ca1cf93 100644 --- a/src/app/channel/components/messages/replyButton.tsx +++ b/src/app/channel/components/messages/replyButton.tsx @@ -1,6 +1,8 @@ -import ReplyMessageIcon from '@lume/shared/icons/replyMessage'; -import { Tooltip } from '@lume/shared/tooltip'; -import { channelReplyAtom } from '@lume/stores/channel'; +import { Tooltip } from '@shared/tooltip'; + +import ReplyMessageIcon from '@icons/replyMessage'; + +import { channelReplyAtom } from '@stores/channel'; import { useSetAtom } from 'jotai'; diff --git a/src/app/channel/components/messages/user.tsx b/src/app/channel/components/messages/user.tsx index 747121e9..d61a7ca8 100644 --- a/src/app/channel/components/messages/user.tsx +++ b/src/app/channel/components/messages/user.tsx @@ -1,7 +1,9 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR, IMGPROXY_URL } from '@lume/stores/constants'; -import { useProfile } from '@lume/utils/hooks/useProfile'; -import { shortenKey } from '@lume/utils/shortenKey'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR, IMGPROXY_URL } from '@stores/constants'; + +import { useProfile } from '@utils/hooks/useProfile'; +import { shortenKey } from '@utils/shortenKey'; import dayjs from 'dayjs'; import relativeTime from 'dayjs/plugin/relativeTime'; diff --git a/src/app/channel/components/messages/userReply.tsx b/src/app/channel/components/messages/userReply.tsx index 2ce45a72..b8e918c2 100644 --- a/src/app/channel/components/messages/userReply.tsx +++ b/src/app/channel/components/messages/userReply.tsx @@ -1,7 +1,9 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR, IMGPROXY_URL } from '@lume/stores/constants'; -import { useProfile } from '@lume/utils/hooks/useProfile'; -import { shortenKey } from '@lume/utils/shortenKey'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR, IMGPROXY_URL } from '@stores/constants'; + +import { useProfile } from '@utils/hooks/useProfile'; +import { shortenKey } from '@utils/shortenKey'; export default function UserReply({ pubkey }: { pubkey: string }) { const { user, isError, isLoading } = useProfile(pubkey); diff --git a/src/app/channel/components/metadata.tsx b/src/app/channel/components/metadata.tsx index 3db4896e..ceb74699 100644 --- a/src/app/channel/components/metadata.tsx +++ b/src/app/channel/components/metadata.tsx @@ -1,7 +1,10 @@ -import CopyIcon from '@lume/shared/icons/copy'; -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR } from '@lume/stores/constants'; -import { useChannelProfile } from '@lume/utils/hooks/useChannelProfile'; +import { useChannelProfile } from '@app/channel/hooks/useChannelProfile'; + +import { Image } from '@shared/image'; + +import CopyIcon from '@icons/copy'; + +import { DEFAULT_AVATAR } from '@stores/constants'; import { nip19 } from 'nostr-tools'; diff --git a/src/app/channel/components/miniMember.tsx b/src/app/channel/components/miniMember.tsx index b4c4afe8..2efa16b4 100644 --- a/src/app/channel/components/miniMember.tsx +++ b/src/app/channel/components/miniMember.tsx @@ -1,6 +1,8 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR } from '@lume/stores/constants'; -import { useProfile } from '@lume/utils/hooks/useProfile'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR } from '@stores/constants'; + +import { useProfile } from '@utils/hooks/useProfile'; export default function MiniMember({ pubkey }: { pubkey: string }) { const { user, isError, isLoading } = useProfile(pubkey); diff --git a/src/app/channel/components/mutedItem.tsx b/src/app/channel/components/mutedItem.tsx index edd50134..ee35a93e 100644 --- a/src/app/channel/components/mutedItem.tsx +++ b/src/app/channel/components/mutedItem.tsx @@ -1,7 +1,9 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR } from '@lume/stores/constants'; -import { useProfile } from '@lume/utils/hooks/useProfile'; -import { shortenKey } from '@lume/utils/shortenKey'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR } from '@stores/constants'; + +import { useProfile } from '@utils/hooks/useProfile'; +import { shortenKey } from '@utils/shortenKey'; import { useState } from 'react'; @@ -10,7 +12,7 @@ export default function MutedItem({ data }: { data: any }) { const [status, setStatus] = useState(data.status); const unmute = async () => { - const { updateItemInBlacklist } = await import('@lume/utils/storage'); + const { updateItemInBlacklist } = await import('@utils/storage'); const res = await updateItemInBlacklist(data.content, 0); if (res) { setStatus(0); @@ -18,7 +20,7 @@ export default function MutedItem({ data }: { data: any }) { }; const mute = async () => { - const { updateItemInBlacklist } = await import('@lume/utils/storage'); + const { updateItemInBlacklist } = await import('@utils/storage'); const res = await updateItemInBlacklist(data.content, 1); if (res) { setStatus(1); diff --git a/src/app/channel/components/updateModal.tsx b/src/app/channel/components/updateModal.tsx index 41f618df..7811190f 100644 --- a/src/app/channel/components/updateModal.tsx +++ b/src/app/channel/components/updateModal.tsx @@ -1,12 +1,15 @@ -import { AvatarUploader } from '@lume/shared/avatarUploader'; -import CancelIcon from '@lume/shared/icons/cancel'; -import EditIcon from '@lume/shared/icons/edit'; -import { Image } from '@lume/shared/image'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { DEFAULT_AVATAR, WRITEONLY_RELAYS } from '@lume/stores/constants'; -import { dateToUnix } from '@lume/utils/getDate'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; -import { getChannel, updateChannelMetadata } from '@lume/utils/storage'; +import { AvatarUploader } from '@shared/avatarUploader'; +import { Image } from '@shared/image'; +import { RelayContext } from '@shared/relayProvider'; + +import CancelIcon from '@icons/cancel'; +import EditIcon from '@icons/edit'; + +import { DEFAULT_AVATAR, WRITEONLY_RELAYS } from '@stores/constants'; + +import { dateToUnix } from '@utils/date'; +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; +import { getChannel, updateChannelMetadata } from '@utils/storage'; import { Dialog, Transition } from '@headlessui/react'; import { getEventHash, signEvent } from 'nostr-tools'; diff --git a/src/utils/hooks/useChannelProfile.tsx b/src/app/channel/hooks/useChannelProfile.tsx similarity index 87% rename from src/utils/hooks/useChannelProfile.tsx rename to src/app/channel/hooks/useChannelProfile.tsx index 58dad366..2f7bc9ee 100644 --- a/src/utils/hooks/useChannelProfile.tsx +++ b/src/app/channel/hooks/useChannelProfile.tsx @@ -1,6 +1,8 @@ -import { RelayContext } from '@lume/shared/relayProvider'; -import { READONLY_RELAYS } from '@lume/stores/constants'; -import { getChannel } from '@lume/utils/storage'; +import { RelayContext } from '@shared/relayProvider'; + +import { READONLY_RELAYS } from '@stores/constants'; + +import { getChannel } from '@utils/storage'; import { useContext } from 'react'; import useSWR from 'swr'; diff --git a/src/app/channel/layout.tsx b/src/app/channel/layout.tsx index 07a31ad7..72e34bdd 100644 --- a/src/app/channel/layout.tsx +++ b/src/app/channel/layout.tsx @@ -1,6 +1,6 @@ -import AppHeader from '@lume/shared/appHeader'; -import MultiAccounts from '@lume/shared/multiAccounts'; -import Navigation from '@lume/shared/navigation'; +import AppHeader from '@shared/appHeader'; +import MultiAccounts from '@shared/multiAccounts'; +import Navigation from '@shared/navigation'; export function LayoutChannel({ children }: { children: React.ReactNode }) { return ( diff --git a/src/app/channel/pages/index.page.tsx b/src/app/channel/pages/index.page.tsx index 2de477b0..2bb8f2ce 100644 --- a/src/app/channel/pages/index.page.tsx +++ b/src/app/channel/pages/index.page.tsx @@ -1,16 +1,19 @@ -import ChannelBlackList from '@lume/app/channel/components/blacklist'; -import ChannelMembers from '@lume/app/channel/components/members'; -import ChannelMessageForm from '@lume/app/channel/components/messages/form'; -import ChannelMetadata from '@lume/app/channel/components/metadata'; -import ChannelUpdateModal from '@lume/app/channel/components/updateModal'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { channelMessagesAtom, channelReplyAtom } from '@lume/stores/channel'; -import { READONLY_RELAYS } from '@lume/stores/constants'; -import { dateToUnix, hoursAgo } from '@lume/utils/getDate'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; -import { usePageContext } from '@lume/utils/hooks/usePageContext'; -import { getActiveBlacklist, getBlacklist } from '@lume/utils/storage'; -import { arrayObjToPureArr } from '@lume/utils/transform'; +import ChannelBlackList from '@app/channel/components/blacklist'; +import ChannelMembers from '@app/channel/components/members'; +import ChannelMessageForm from '@app/channel/components/messages/form'; +import ChannelMetadata from '@app/channel/components/metadata'; +import ChannelUpdateModal from '@app/channel/components/updateModal'; + +import { RelayContext } from '@shared/relayProvider'; + +import { channelMessagesAtom, channelReplyAtom } from '@stores/channel'; +import { READONLY_RELAYS } from '@stores/constants'; + +import { dateToUnix, getHourAgo } from '@utils/date'; +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; +import { usePageContext } from '@utils/hooks/usePageContext'; +import { getActiveBlacklist, getBlacklist } from '@utils/storage'; +import { arrayObjToPureArr } from '@utils/transform'; import { useSetAtom } from 'jotai'; import { useResetAtom } from 'jotai/utils'; @@ -30,7 +33,7 @@ const fetchHided = async ([, id]) => { return array; }; -const ChannelMessageList = lazy(() => import('@lume/app/channel/components/messageList')); +const ChannelMessageList = lazy(() => import('@app/channel/components/messageList')); export function Page() { const pool: any = useContext(RelayContext); @@ -57,7 +60,7 @@ export function Page() { { '#e': [key], kinds: [42], - since: dateToUnix(hoursAgo(24, now.current)), + since: dateToUnix(getHourAgo(24, now.current)), limit: 20, }, ], diff --git a/src/app/chat/components/item.tsx b/src/app/chat/components/item.tsx index c1de1446..a73dcd65 100644 --- a/src/app/chat/components/item.tsx +++ b/src/app/chat/components/item.tsx @@ -1,8 +1,10 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR } from '@lume/stores/constants'; -import { usePageContext } from '@lume/utils/hooks/usePageContext'; -import { useProfile } from '@lume/utils/hooks/useProfile'; -import { shortenKey } from '@lume/utils/shortenKey'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR } from '@stores/constants'; + +import { usePageContext } from '@utils/hooks/usePageContext'; +import { useProfile } from '@utils/hooks/useProfile'; +import { shortenKey } from '@utils/shortenKey'; import { twMerge } from 'tailwind-merge'; diff --git a/src/app/chat/components/list.tsx b/src/app/chat/components/list.tsx index adb3df4d..16a0346a 100644 --- a/src/app/chat/components/list.tsx +++ b/src/app/chat/components/list.tsx @@ -1,7 +1,8 @@ -import ChatsListItem from '@lume/app/chat/components/item'; -import ChatsListSelfItem from '@lume/app/chat/components/self'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; -import { getChats } from '@lume/utils/storage'; +import ChatsListItem from '@app/chat/components/item'; +import ChatsListSelfItem from '@app/chat/components/self'; + +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; +import { getChats } from '@utils/storage'; import useSWR from 'swr'; diff --git a/src/app/chat/components/messageList.tsx b/src/app/chat/components/messageList.tsx index 4d0ec3fc..8923cc60 100644 --- a/src/app/chat/components/messageList.tsx +++ b/src/app/chat/components/messageList.tsx @@ -1,6 +1,8 @@ -import { ChatMessageItem } from '@lume/app/chat/components/messages/item'; -import { sortedChatMessagesAtom } from '@lume/stores/chat'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; +import { ChatMessageItem } from '@app/chat/components/messages/item'; + +import { sortedChatMessagesAtom } from '@stores/chat'; + +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; import { useAtomValue } from 'jotai'; import { useCallback, useRef } from 'react'; diff --git a/src/app/chat/components/messages/form.tsx b/src/app/chat/components/messages/form.tsx index 084b3c4c..43ebc3c6 100644 --- a/src/app/chat/components/messages/form.tsx +++ b/src/app/chat/components/messages/form.tsx @@ -1,9 +1,11 @@ -import { ImagePicker } from '@lume/shared/form/imagePicker'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { chatContentAtom } from '@lume/stores/chat'; -import { WRITEONLY_RELAYS } from '@lume/stores/constants'; -import { dateToUnix } from '@lume/utils/getDate'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; +import { ImagePicker } from '@shared/form/imagePicker'; +import { RelayContext } from '@shared/relayProvider'; + +import { chatContentAtom } from '@stores/chat'; +import { WRITEONLY_RELAYS } from '@stores/constants'; + +import { dateToUnix } from '@utils/date'; +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; import { useAtom } from 'jotai'; import { useResetAtom } from 'jotai/utils'; diff --git a/src/app/chat/components/messages/item.tsx b/src/app/chat/components/messages/item.tsx index 971538f9..38d0ab22 100644 --- a/src/app/chat/components/messages/item.tsx +++ b/src/app/chat/components/messages/item.tsx @@ -1,8 +1,9 @@ -import ChatMessageUser from '@lume/app/chat/components/messages/user'; -import ImagePreview from '@lume/app/note/components/preview/image'; -import VideoPreview from '@lume/app/note/components/preview/video'; -import { useDecryptMessage } from '@lume/utils/hooks/useDecryptMessage'; -import { noteParser } from '@lume/utils/parser'; +import ChatMessageUser from '@app/chat/components/messages/user'; +import { useDecryptMessage } from '@app/chat/hooks/useDecryptMessage'; +import ImagePreview from '@app/note/components/preview/image'; +import VideoPreview from '@app/note/components/preview/video'; + +import { noteParser } from '@utils/parser'; import { memo } from 'react'; diff --git a/src/app/chat/components/messages/user.tsx b/src/app/chat/components/messages/user.tsx index 47aeba6e..d514defd 100644 --- a/src/app/chat/components/messages/user.tsx +++ b/src/app/chat/components/messages/user.tsx @@ -1,7 +1,9 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR, IMGPROXY_URL } from '@lume/stores/constants'; -import { useProfile } from '@lume/utils/hooks/useProfile'; -import { shortenKey } from '@lume/utils/shortenKey'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR, IMGPROXY_URL } from '@stores/constants'; + +import { useProfile } from '@utils/hooks/useProfile'; +import { shortenKey } from '@utils/shortenKey'; import dayjs from 'dayjs'; import relativeTime from 'dayjs/plugin/relativeTime'; diff --git a/src/app/chat/components/self.tsx b/src/app/chat/components/self.tsx index 1d02d05e..b5d6994b 100644 --- a/src/app/chat/components/self.tsx +++ b/src/app/chat/components/self.tsx @@ -1,8 +1,10 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR } from '@lume/stores/constants'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; -import { usePageContext } from '@lume/utils/hooks/usePageContext'; -import { shortenKey } from '@lume/utils/shortenKey'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR } from '@stores/constants'; + +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; +import { usePageContext } from '@utils/hooks/usePageContext'; +import { shortenKey } from '@utils/shortenKey'; import { twMerge } from 'tailwind-merge'; diff --git a/src/utils/hooks/useDecryptMessage.tsx b/src/app/chat/hooks/useDecryptMessage.tsx similarity index 100% rename from src/utils/hooks/useDecryptMessage.tsx rename to src/app/chat/hooks/useDecryptMessage.tsx diff --git a/src/app/chat/layout.tsx b/src/app/chat/layout.tsx index 06287ec8..89b1e781 100644 --- a/src/app/chat/layout.tsx +++ b/src/app/chat/layout.tsx @@ -1,6 +1,6 @@ -import AppHeader from '@lume/shared/appHeader'; -import MultiAccounts from '@lume/shared/multiAccounts'; -import Navigation from '@lume/shared/navigation'; +import AppHeader from '@shared/appHeader'; +import MultiAccounts from '@shared/multiAccounts'; +import Navigation from '@shared/navigation'; export function LayoutChat({ children }: { children: React.ReactNode }) { return ( diff --git a/src/app/chat/pages/index.page.tsx b/src/app/chat/pages/index.page.tsx index 1bb9768e..0455d830 100644 --- a/src/app/chat/pages/index.page.tsx +++ b/src/app/chat/pages/index.page.tsx @@ -1,16 +1,19 @@ -import ChatMessageForm from '@lume/app/chat/components/messages/form'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { chatMessagesAtom } from '@lume/stores/chat'; -import { READONLY_RELAYS } from '@lume/stores/constants'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; -import { usePageContext } from '@lume/utils/hooks/usePageContext'; +import ChatMessageForm from '@app/chat/components/messages/form'; + +import { RelayContext } from '@shared/relayProvider'; + +import { chatMessagesAtom } from '@stores/chat'; +import { READONLY_RELAYS } from '@stores/constants'; + +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; +import { usePageContext } from '@utils/hooks/usePageContext'; import { useSetAtom } from 'jotai'; import { useResetAtom } from 'jotai/utils'; import { Suspense, lazy, useContext, useEffect } from 'react'; import useSWRSubscription from 'swr/subscription'; -const ChatMessageList = lazy(() => import('@lume/app/chat/components/messageList')); +const ChatMessageList = lazy(() => import('@app/chat/components/messageList')); export function Page() { const pool: any = useContext(RelayContext); diff --git a/src/app/index/pages/index.page.tsx b/src/app/index/pages/index.page.tsx index cb1bdfa2..5cdb50c9 100644 --- a/src/app/index/pages/index.page.tsx +++ b/src/app/index/pages/index.page.tsx @@ -1,4 +1,4 @@ -import { getActiveAccount } from '@lume/utils/storage'; +import { getActiveAccount } from '@utils/storage'; import useSWR from 'swr'; import { navigate } from 'vite-plugin-ssr/client/router'; diff --git a/src/app/inital-data/pages/index.page.tsx b/src/app/inital-data/pages/index.page.tsx index 0a4ba408..2e145d69 100644 --- a/src/app/inital-data/pages/index.page.tsx +++ b/src/app/inital-data/pages/index.page.tsx @@ -1,7 +1,10 @@ -import LumeIcon from '@lume/shared/icons/lume'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { READONLY_RELAYS } from '@lume/stores/constants'; -import { dateToUnix, hoursAgo } from '@lume/utils/getDate'; +import { RelayContext } from '@shared/relayProvider'; + +import LumeIcon from '@icons/lume'; + +import { READONLY_RELAYS } from '@stores/constants'; + +import { dateToUnix, getHourAgo } from '@utils/date'; import { addToBlacklist, countTotalLongNotes, @@ -11,8 +14,8 @@ import { getActiveAccount, getLastLogin, updateLastLogin, -} from '@lume/utils/storage'; -import { getParentID, nip02ToArray } from '@lume/utils/transform'; +} from '@utils/storage'; +import { getParentID, nip02ToArray } from '@utils/transform'; import { useContext, useEffect, useRef } from 'react'; import { navigate } from 'vite-plugin-ssr/client/router'; @@ -38,12 +41,12 @@ export function Page() { let sinceLongNotes: number; if (notes === 0) { - sinceNotes = dateToUnix(hoursAgo(48, now.current)); + sinceNotes = dateToUnix(getHourAgo(48, now.current)); } else { if (parseInt(lastLogin) > 0) { sinceNotes = parseInt(lastLogin); } else { - sinceNotes = dateToUnix(hoursAgo(48, now.current)); + sinceNotes = dateToUnix(getHourAgo(48, now.current)); } } @@ -174,7 +177,7 @@ export function Page() { () => { updateLastLogin(dateToUnix(now.current)); timeout = setTimeout(() => { - navigate('/app/daily', { overwriteLastHistoryEntry: true }); + navigate('/app/radar', { overwriteLastHistoryEntry: true }); }, 5000); } ); diff --git a/src/app/note/components/base.tsx b/src/app/note/components/base.tsx index 580014df..a892abe8 100644 --- a/src/app/note/components/base.tsx +++ b/src/app/note/components/base.tsx @@ -1,11 +1,12 @@ -import { Kind1 } from '@lume/app/note/components/kind1'; -import { Kind1063 } from '@lume/app/note/components/kind1063'; -import NoteMetadata from '@lume/app/note/components/metadata'; -import { NoteParent } from '@lume/app/note/components/parent'; -import { NoteDefaultUser } from '@lume/app/note/components/user/default'; -import { NoteWrapper } from '@lume/app/note/components/wrapper'; -import { noteParser } from '@lume/utils/parser'; -import { isTagsIncludeID } from '@lume/utils/transform'; +import { Kind1 } from '@app/note/components/kind1'; +import { Kind1063 } from '@app/note/components/kind1063'; +import NoteMetadata from '@app/note/components/metadata'; +import { NoteParent } from '@app/note/components/parent'; +import { NoteDefaultUser } from '@app/note/components/user/default'; +import { NoteWrapper } from '@app/note/components/wrapper'; + +import { noteParser } from '@utils/parser'; +import { isTagsIncludeID } from '@utils/transform'; import { useMemo } from 'react'; diff --git a/src/app/note/components/kind1.tsx b/src/app/note/components/kind1.tsx index 45758803..94e62c2b 100644 --- a/src/app/note/components/kind1.tsx +++ b/src/app/note/components/kind1.tsx @@ -1,7 +1,7 @@ -import { MentionNote } from '@lume/app/note/components/mentions/note'; -import { MentionUser } from '@lume/app/note/components/mentions/user'; -import ImagePreview from '@lume/app/note/components/preview/image'; -import VideoPreview from '@lume/app/note/components/preview/video'; +import { MentionNote } from '@app/note/components/mentions/note'; +import { MentionUser } from '@app/note/components/mentions/user'; +import ImagePreview from '@app/note/components/preview/image'; +import VideoPreview from '@app/note/components/preview/video'; import ReactMarkdown from 'react-markdown'; import remarkGfm from 'remark-gfm'; diff --git a/src/app/note/components/kind1063.tsx b/src/app/note/components/kind1063.tsx index d69f03a9..7b35f354 100644 --- a/src/app/note/components/kind1063.tsx +++ b/src/app/note/components/kind1063.tsx @@ -1,4 +1,4 @@ -import { Image } from '@lume/shared/image'; +import { Image } from '@shared/image'; function isImage(url: string) { return /\.(jpg|jpeg|gif|png|webp|avif)$/.test(url); diff --git a/src/app/note/components/mentions/note.tsx b/src/app/note/components/mentions/note.tsx index df548c7c..fa85b597 100644 --- a/src/app/note/components/mentions/note.tsx +++ b/src/app/note/components/mentions/note.tsx @@ -1,11 +1,14 @@ -import { Kind1 } from '@lume/app/note/components/kind1'; -import { Kind1063 } from '@lume/app/note/components/kind1063'; -import { NoteSkeleton } from '@lume/app/note/components/skeleton'; -import { NoteDefaultUser } from '@lume/app/note/components/user/default'; -import { NoteWrapper } from '@lume/app/note/components/wrapper'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { READONLY_RELAYS } from '@lume/stores/constants'; -import { noteParser } from '@lume/utils/parser'; +import { Kind1 } from '@app/note/components/kind1'; +import { Kind1063 } from '@app/note/components/kind1063'; +import { NoteSkeleton } from '@app/note/components/skeleton'; +import { NoteDefaultUser } from '@app/note/components/user/default'; +import { NoteWrapper } from '@app/note/components/wrapper'; + +import { RelayContext } from '@shared/relayProvider'; + +import { READONLY_RELAYS } from '@stores/constants'; + +import { noteParser } from '@utils/parser'; import { memo, useContext } from 'react'; import useSWRSubscription from 'swr/subscription'; diff --git a/src/app/note/components/mentions/user.tsx b/src/app/note/components/mentions/user.tsx index 3b50ea9f..0168e66a 100644 --- a/src/app/note/components/mentions/user.tsx +++ b/src/app/note/components/mentions/user.tsx @@ -1,5 +1,5 @@ -import { useProfile } from '@lume/utils/hooks/useProfile'; -import { shortenKey } from '@lume/utils/shortenKey'; +import { useProfile } from '@utils/hooks/useProfile'; +import { shortenKey } from '@utils/shortenKey'; export function MentionUser(props: { children: any[] }) { const pubkey = props.children[0]; diff --git a/src/app/note/components/metadata.tsx b/src/app/note/components/metadata.tsx index a19aab14..22d35d5a 100644 --- a/src/app/note/components/metadata.tsx +++ b/src/app/note/components/metadata.tsx @@ -1,9 +1,12 @@ -import NoteLike from '@lume/app/note/components/metadata/like'; -import NoteReply from '@lume/app/note/components/metadata/reply'; -import NoteRepost from '@lume/app/note/components/metadata/repost'; -import ZapIcon from '@lume/shared/icons/zap'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { READONLY_RELAYS } from '@lume/stores/constants'; +import NoteLike from '@app/note/components/metadata/like'; +import NoteReply from '@app/note/components/metadata/reply'; +import NoteRepost from '@app/note/components/metadata/repost'; + +import { RelayContext } from '@shared/relayProvider'; + +import ZapIcon from '@icons/zap'; + +import { READONLY_RELAYS } from '@stores/constants'; import { useContext, useState } from 'react'; import useSWRSubscription from 'swr/subscription'; diff --git a/src/app/note/components/metadata/like.tsx b/src/app/note/components/metadata/like.tsx index a9ea0881..2f018f70 100644 --- a/src/app/note/components/metadata/like.tsx +++ b/src/app/note/components/metadata/like.tsx @@ -1,8 +1,11 @@ -import LikeIcon from '@lume/shared/icons/like'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { WRITEONLY_RELAYS } from '@lume/stores/constants'; -import { dateToUnix } from '@lume/utils/getDate'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; +import { RelayContext } from '@shared/relayProvider'; + +import LikeIcon from '@icons/like'; + +import { WRITEONLY_RELAYS } from '@stores/constants'; + +import { dateToUnix } from '@utils/date'; +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; import { getEventHash, signEvent } from 'nostr-tools'; import { useContext, useEffect, useState } from 'react'; diff --git a/src/app/note/components/metadata/reply.tsx b/src/app/note/components/metadata/reply.tsx index 0a4f6f93..83db98e2 100644 --- a/src/app/note/components/metadata/reply.tsx +++ b/src/app/note/components/metadata/reply.tsx @@ -1,9 +1,12 @@ -import ReplyIcon from '@lume/shared/icons/reply'; -import { Image } from '@lume/shared/image'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { WRITEONLY_RELAYS } from '@lume/stores/constants'; -import { dateToUnix } from '@lume/utils/getDate'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; +import { Image } from '@shared/image'; +import { RelayContext } from '@shared/relayProvider'; + +import ReplyIcon from '@icons/reply'; + +import { WRITEONLY_RELAYS } from '@stores/constants'; + +import { dateToUnix } from '@utils/date'; +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; import { Dialog, Transition } from '@headlessui/react'; import { getEventHash, signEvent } from 'nostr-tools'; diff --git a/src/app/note/components/metadata/repost.tsx b/src/app/note/components/metadata/repost.tsx index 9a65e180..4121cd1d 100644 --- a/src/app/note/components/metadata/repost.tsx +++ b/src/app/note/components/metadata/repost.tsx @@ -1,8 +1,11 @@ -import RepostIcon from '@lume/shared/icons/repost'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { WRITEONLY_RELAYS } from '@lume/stores/constants'; -import { dateToUnix } from '@lume/utils/getDate'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; +import { RelayContext } from '@shared/relayProvider'; + +import RepostIcon from '@icons/repost'; + +import { WRITEONLY_RELAYS } from '@stores/constants'; + +import { dateToUnix } from '@utils/date'; +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; import { getEventHash, signEvent } from 'nostr-tools'; import { useContext, useEffect, useState } from 'react'; diff --git a/src/app/note/components/parent.tsx b/src/app/note/components/parent.tsx index 91219c0e..36a34964 100644 --- a/src/app/note/components/parent.tsx +++ b/src/app/note/components/parent.tsx @@ -1,11 +1,14 @@ -import { Kind1 } from '@lume/app/note/components/kind1'; -import { Kind1063 } from '@lume/app/note/components/kind1063'; -import NoteMetadata from '@lume/app/note/components/metadata'; -import { NoteSkeleton } from '@lume/app/note/components/skeleton'; -import { NoteDefaultUser } from '@lume/app/note/components/user/default'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { READONLY_RELAYS } from '@lume/stores/constants'; -import { noteParser } from '@lume/utils/parser'; +import { Kind1 } from '@app/note/components/kind1'; +import { Kind1063 } from '@app/note/components/kind1063'; +import NoteMetadata from '@app/note/components/metadata'; +import { NoteSkeleton } from '@app/note/components/skeleton'; +import { NoteDefaultUser } from '@app/note/components/user/default'; + +import { RelayContext } from '@shared/relayProvider'; + +import { READONLY_RELAYS } from '@stores/constants'; + +import { noteParser } from '@utils/parser'; import { memo, useContext } from 'react'; import useSWRSubscription from 'swr/subscription'; diff --git a/src/app/note/components/preview/image.tsx b/src/app/note/components/preview/image.tsx index 34c78081..7e408dc6 100644 --- a/src/app/note/components/preview/image.tsx +++ b/src/app/note/components/preview/image.tsx @@ -1,4 +1,4 @@ -import { Image } from '@lume/shared/image'; +import { Image } from '@shared/image'; export default function ImagePreview({ urls }: { urls: string[] }) { return ( diff --git a/src/app/note/components/quoteRepost.tsx b/src/app/note/components/quoteRepost.tsx index ca7bd9a3..64330605 100644 --- a/src/app/note/components/quoteRepost.tsx +++ b/src/app/note/components/quoteRepost.tsx @@ -1,7 +1,8 @@ -import { RootNote } from '@lume/app/note/components/rootNote'; -import { NoteRepostUser } from '@lume/app/note/components/user/repost'; -import { NoteWrapper } from '@lume/app/note/components/wrapper'; -import { getQuoteID } from '@lume/utils/transform'; +import { RootNote } from '@app/note/components/rootNote'; +import { NoteRepostUser } from '@app/note/components/user/repost'; +import { NoteWrapper } from '@app/note/components/wrapper'; + +import { getQuoteID } from '@utils/transform'; export function NoteQuoteRepost({ event }: { event: any }) { const rootID = getQuoteID(event.tags); diff --git a/src/app/note/components/replies/form.tsx b/src/app/note/components/replies/form.tsx index b7fc5f94..b23047ef 100644 --- a/src/app/note/components/replies/form.tsx +++ b/src/app/note/components/replies/form.tsx @@ -1,8 +1,10 @@ -import { Image } from '@lume/shared/image'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { WRITEONLY_RELAYS } from '@lume/stores/constants'; -import { dateToUnix } from '@lume/utils/getDate'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; +import { Image } from '@shared/image'; +import { RelayContext } from '@shared/relayProvider'; + +import { WRITEONLY_RELAYS } from '@stores/constants'; + +import { dateToUnix } from '@utils/date'; +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; import { getEventHash, signEvent } from 'nostr-tools'; import { useContext, useState } from 'react'; diff --git a/src/app/note/components/replies/item.tsx b/src/app/note/components/replies/item.tsx index 83bb549f..23db1fcf 100644 --- a/src/app/note/components/replies/item.tsx +++ b/src/app/note/components/replies/item.tsx @@ -1,6 +1,7 @@ -import { Kind1 } from '@lume/app/note/components/kind1'; -import NoteReplyUser from '@lume/app/note/components/user/reply'; -import { noteParser } from '@lume/utils/parser'; +import { Kind1 } from '@app/note/components/kind1'; +import NoteReplyUser from '@app/note/components/user/reply'; + +import { noteParser } from '@utils/parser'; export default function Reply({ data }: { data: any }) { const content = noteParser(data); diff --git a/src/app/note/components/replies/list.tsx b/src/app/note/components/replies/list.tsx index e00f54ff..ab5b84d1 100644 --- a/src/app/note/components/replies/list.tsx +++ b/src/app/note/components/replies/list.tsx @@ -1,8 +1,11 @@ -import NoteReplyForm from '@lume/app/note/components/replies/form'; -import Reply from '@lume/app/note/components/replies/item'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { READONLY_RELAYS } from '@lume/stores/constants'; -import { sortEvents } from '@lume/utils/transform'; +import NoteReplyForm from '@app/note/components/replies/form'; +import Reply from '@app/note/components/replies/item'; + +import { RelayContext } from '@shared/relayProvider'; + +import { READONLY_RELAYS } from '@stores/constants'; + +import { sortEvents } from '@utils/transform'; import { useContext } from 'react'; import useSWRSubscription from 'swr/subscription'; diff --git a/src/app/note/components/rootNote.tsx b/src/app/note/components/rootNote.tsx index 28835963..70234470 100644 --- a/src/app/note/components/rootNote.tsx +++ b/src/app/note/components/rootNote.tsx @@ -1,11 +1,14 @@ -import { Kind1 } from '@lume/app/note/components/kind1'; -import { Kind1063 } from '@lume/app/note/components/kind1063'; -import NoteMetadata from '@lume/app/note/components/metadata'; -import { NoteSkeleton } from '@lume/app/note/components/skeleton'; -import { NoteDefaultUser } from '@lume/app/note/components/user/default'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { READONLY_RELAYS } from '@lume/stores/constants'; -import { noteParser } from '@lume/utils/parser'; +import { Kind1 } from '@app/note/components/kind1'; +import { Kind1063 } from '@app/note/components/kind1063'; +import NoteMetadata from '@app/note/components/metadata'; +import { NoteSkeleton } from '@app/note/components/skeleton'; +import { NoteDefaultUser } from '@app/note/components/user/default'; + +import { RelayContext } from '@shared/relayProvider'; + +import { READONLY_RELAYS } from '@stores/constants'; + +import { noteParser } from '@utils/parser'; import { memo, useContext } from 'react'; import useSWRSubscription from 'swr/subscription'; diff --git a/src/app/note/components/user/default.tsx b/src/app/note/components/user/default.tsx index ce70ecb0..f5a8230b 100644 --- a/src/app/note/components/user/default.tsx +++ b/src/app/note/components/user/default.tsx @@ -1,7 +1,9 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR, IMGPROXY_URL } from '@lume/stores/constants'; -import { useProfile } from '@lume/utils/hooks/useProfile'; -import { shortenKey } from '@lume/utils/shortenKey'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR, IMGPROXY_URL } from '@stores/constants'; + +import { useProfile } from '@utils/hooks/useProfile'; +import { shortenKey } from '@utils/shortenKey'; import dayjs from 'dayjs'; import relativeTime from 'dayjs/plugin/relativeTime'; diff --git a/src/app/note/components/user/reply.tsx b/src/app/note/components/user/reply.tsx index 16f1dd16..acb71a26 100644 --- a/src/app/note/components/user/reply.tsx +++ b/src/app/note/components/user/reply.tsx @@ -1,7 +1,9 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR, IMGPROXY_URL } from '@lume/stores/constants'; -import { useProfile } from '@lume/utils/hooks/useProfile'; -import { shortenKey } from '@lume/utils/shortenKey'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR, IMGPROXY_URL } from '@stores/constants'; + +import { useProfile } from '@utils/hooks/useProfile'; +import { shortenKey } from '@utils/shortenKey'; import dayjs from 'dayjs'; import relativeTime from 'dayjs/plugin/relativeTime'; diff --git a/src/app/note/components/user/repost.tsx b/src/app/note/components/user/repost.tsx index f28b6d89..fd084296 100644 --- a/src/app/note/components/user/repost.tsx +++ b/src/app/note/components/user/repost.tsx @@ -1,6 +1,8 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR, IMGPROXY_URL } from '@lume/stores/constants'; -import { useProfile } from '@lume/utils/hooks/useProfile'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR, IMGPROXY_URL } from '@stores/constants'; + +import { useProfile } from '@utils/hooks/useProfile'; import dayjs from 'dayjs'; import relativeTime from 'dayjs/plugin/relativeTime'; diff --git a/src/app/note/layout.tsx b/src/app/note/layout.tsx index 864acfa6..bb2cb9e9 100644 --- a/src/app/note/layout.tsx +++ b/src/app/note/layout.tsx @@ -1,6 +1,6 @@ -import AppHeader from '@lume/shared/appHeader'; -import MultiAccounts from '@lume/shared/multiAccounts'; -import Navigation from '@lume/shared/navigation'; +import AppHeader from '@shared/appHeader'; +import MultiAccounts from '@shared/multiAccounts'; +import Navigation from '@shared/navigation'; export function LayoutNewsfeed({ children }: { children: React.ReactNode }) { return ( diff --git a/src/app/note/pages/index.page.tsx b/src/app/note/pages/index.page.tsx index 7e89034e..e007b51c 100644 --- a/src/app/note/pages/index.page.tsx +++ b/src/app/note/pages/index.page.tsx @@ -1,11 +1,14 @@ -import { Kind1 } from '@lume/app/note/components/kind1'; -import NoteMetadata from '@lume/app/note/components/metadata'; -import RepliesList from '@lume/app/note/components/replies/list'; -import { NoteDefaultUser } from '@lume/app/note/components/user/default'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { READONLY_RELAYS } from '@lume/stores/constants'; -import { usePageContext } from '@lume/utils/hooks/usePageContext'; -import { noteParser } from '@lume/utils/parser'; +import { Kind1 } from '@app/note/components/kind1'; +import NoteMetadata from '@app/note/components/metadata'; +import RepliesList from '@app/note/components/replies/list'; +import { NoteDefaultUser } from '@app/note/components/user/default'; + +import { RelayContext } from '@shared/relayProvider'; + +import { READONLY_RELAYS } from '@stores/constants'; + +import { usePageContext } from '@utils/hooks/usePageContext'; +import { noteParser } from '@utils/parser'; import { useContext } from 'react'; import useSWRSubscription from 'swr/subscription'; diff --git a/src/app/daily/_default.page.tsx b/src/app/radar/_default.page.tsx similarity index 100% rename from src/app/daily/_default.page.tsx rename to src/app/radar/_default.page.tsx diff --git a/src/app/daily/components/header.tsx b/src/app/radar/components/header.tsx similarity index 95% rename from src/app/daily/components/header.tsx rename to src/app/radar/components/header.tsx index 84faf03e..ea6d72c7 100644 --- a/src/app/daily/components/header.tsx +++ b/src/app/radar/components/header.tsx @@ -1,4 +1,4 @@ -import { CreateViewModal } from '@lume/app/daily/components/views/createModal'; +import { CreateViewModal } from '@app/radar/components/views/createModal'; export function Header() { return ( diff --git a/src/app/daily/components/views/createModal.tsx b/src/app/radar/components/views/createModal.tsx similarity index 97% rename from src/app/daily/components/views/createModal.tsx rename to src/app/radar/components/views/createModal.tsx index 95900128..6b1a7006 100644 --- a/src/app/daily/components/views/createModal.tsx +++ b/src/app/radar/components/views/createModal.tsx @@ -1,5 +1,5 @@ -import CancelIcon from '@lume/shared/icons/cancel'; -import PlusIcon from '@lume/shared/icons/plus'; +import CancelIcon from '@icons/cancel'; +import PlusIcon from '@icons/plus'; import { Dialog, Transition } from '@headlessui/react'; import { Fragment, useState } from 'react'; diff --git a/src/app/daily/layout.tsx b/src/app/radar/layout.tsx similarity index 86% rename from src/app/daily/layout.tsx rename to src/app/radar/layout.tsx index 864acfa6..bb2cb9e9 100644 --- a/src/app/daily/layout.tsx +++ b/src/app/radar/layout.tsx @@ -1,6 +1,6 @@ -import AppHeader from '@lume/shared/appHeader'; -import MultiAccounts from '@lume/shared/multiAccounts'; -import Navigation from '@lume/shared/navigation'; +import AppHeader from '@shared/appHeader'; +import MultiAccounts from '@shared/multiAccounts'; +import Navigation from '@shared/navigation'; export function LayoutNewsfeed({ children }: { children: React.ReactNode }) { return ( diff --git a/src/app/daily/pages/index.page.tsx b/src/app/radar/pages/index.page.tsx similarity index 92% rename from src/app/daily/pages/index.page.tsx rename to src/app/radar/pages/index.page.tsx index f57b0ad1..a4a7b61e 100644 --- a/src/app/daily/pages/index.page.tsx +++ b/src/app/radar/pages/index.page.tsx @@ -1,8 +1,9 @@ -import { Header } from '@lume/app/daily/components/header'; -import { NoteBase } from '@lume/app/note/components/base'; -import { NoteQuoteRepost } from '@lume/app/note/components/quoteRepost'; -import { NoteSkeleton } from '@lume/app/note/components/skeleton'; -import { getNotes } from '@lume/utils/storage'; +import { NoteBase } from '@app/note/components/base'; +import { NoteQuoteRepost } from '@app/note/components/quoteRepost'; +import { NoteSkeleton } from '@app/note/components/skeleton'; +import { Header } from '@app/radar/components/header'; + +import { getNotes } from '@utils/storage'; import { useInfiniteQuery } from '@tanstack/react-query'; import { useVirtualizer } from '@tanstack/react-virtual'; diff --git a/src/app/myspace/pages/index.page.tsx b/src/app/space/pages/index.page.tsx similarity index 75% rename from src/app/myspace/pages/index.page.tsx rename to src/app/space/pages/index.page.tsx index 4b08501d..139993ab 100644 --- a/src/app/myspace/pages/index.page.tsx +++ b/src/app/space/pages/index.page.tsx @@ -1,7 +1,7 @@ export function Page() { return (
-

MySpace

+

Space

); } diff --git a/src/auth/components/user.tsx b/src/auth/components/user.tsx index 67388749..71933e8e 100644 --- a/src/auth/components/user.tsx +++ b/src/auth/components/user.tsx @@ -1,7 +1,9 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR } from '@lume/stores/constants'; -import { useProfile } from '@lume/utils/hooks/useProfile'; -import { shortenKey } from '@lume/utils/shortenKey'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR } from '@stores/constants'; + +import { useProfile } from '@utils/hooks/useProfile'; +import { shortenKey } from '@utils/shortenKey'; export default function User({ pubkey }: { pubkey: string }) { const { user } = useProfile(pubkey); diff --git a/src/auth/layout.tsx b/src/auth/layout.tsx index 16cce9a5..04603387 100644 --- a/src/auth/layout.tsx +++ b/src/auth/layout.tsx @@ -1,5 +1,5 @@ -import ArrowLeftIcon from '@lume/shared/icons/arrowLeft'; -import ArrowRightIcon from '@lume/shared/icons/arrowRight'; +import ArrowLeftIcon from '@icons/arrowLeft'; +import ArrowRightIcon from '@icons/arrowRight'; import useSWR from 'swr'; diff --git a/src/auth/pages/create/index.page.tsx b/src/auth/pages/create/index.page.tsx index 9c512ba0..bd57295b 100644 --- a/src/auth/pages/create/index.page.tsx +++ b/src/auth/pages/create/index.page.tsx @@ -1,6 +1,7 @@ -import EyeOffIcon from '@lume/shared/icons/eyeOff'; -import EyeOnIcon from '@lume/shared/icons/eyeOn'; -import { onboardingAtom } from '@lume/stores/onboarding'; +import EyeOffIcon from '@icons/eyeOff'; +import EyeOnIcon from '@icons/eyeOn'; + +import { onboardingAtom } from '@stores/onboarding'; import { useSetAtom } from 'jotai'; import { generatePrivateKey, getPublicKey, nip19 } from 'nostr-tools'; diff --git a/src/auth/pages/create/step-2/index.page.tsx b/src/auth/pages/create/step-2/index.page.tsx index 4a154f0d..306bc646 100644 --- a/src/auth/pages/create/step-2/index.page.tsx +++ b/src/auth/pages/create/step-2/index.page.tsx @@ -1,7 +1,8 @@ -import { AvatarUploader } from '@lume/shared/avatarUploader'; -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR } from '@lume/stores/constants'; -import { onboardingAtom } from '@lume/stores/onboarding'; +import { AvatarUploader } from '@shared/avatarUploader'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR } from '@stores/constants'; +import { onboardingAtom } from '@stores/onboarding'; import { useAtom } from 'jotai'; import { useEffect, useState } from 'react'; diff --git a/src/auth/pages/create/step-3/index.page.tsx b/src/auth/pages/create/step-3/index.page.tsx index 17d15b91..83948a0c 100644 --- a/src/auth/pages/create/step-3/index.page.tsx +++ b/src/auth/pages/create/step-3/index.page.tsx @@ -1,16 +1,20 @@ -import User from '@lume/auth/components/user'; -import CheckCircleIcon from '@lume/shared/icons/checkCircle'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { WRITEONLY_RELAYS } from '@lume/stores/constants'; -import { onboardingAtom } from '@lume/stores/onboarding'; -import { createAccount, createPleb } from '@lume/utils/storage'; -import { arrayToNIP02 } from '@lume/utils/transform'; +import { RelayContext } from '@shared/relayProvider'; + +import CheckCircleIcon from '@icons/checkCircle'; + +import { WRITEONLY_RELAYS } from '@stores/constants'; +import { onboardingAtom } from '@stores/onboarding'; + +import { createAccount, createPleb } from '@utils/storage'; +import { arrayToNIP02 } from '@utils/transform'; import { useAtom } from 'jotai'; import { getEventHash, signEvent } from 'nostr-tools'; import { useContext, useState } from 'react'; import { navigate } from 'vite-plugin-ssr/client/router'; +import User from '../../../components/user'; + const initialList = [ { pubkey: '82341f882b6eabcd2ba7f1ef90aad961cf074af15b9ef44a09f9d2a8fbfbe6a2' }, { pubkey: 'a341f45ff9758f570a21b000c17d4e53a3a497c8397f26c0e6d61e5acffc7a98' }, diff --git a/src/auth/pages/import/index.page.tsx b/src/auth/pages/import/index.page.tsx index 4847827b..53a743d4 100644 --- a/src/auth/pages/import/index.page.tsx +++ b/src/auth/pages/import/index.page.tsx @@ -1,4 +1,4 @@ -import { onboardingAtom } from '@lume/stores/onboarding'; +import { onboardingAtom } from '@stores/onboarding'; import { useSetAtom } from 'jotai'; import { getPublicKey, nip19 } from 'nostr-tools'; diff --git a/src/auth/pages/import/step-2/index.page.tsx b/src/auth/pages/import/step-2/index.page.tsx index e502245e..3d26a988 100644 --- a/src/auth/pages/import/step-2/index.page.tsx +++ b/src/auth/pages/import/step-2/index.page.tsx @@ -1,9 +1,11 @@ -import { Image } from '@lume/shared/image'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { DEFAULT_AVATAR, READONLY_RELAYS } from '@lume/stores/constants'; -import { onboardingAtom } from '@lume/stores/onboarding'; -import { shortenKey } from '@lume/utils/shortenKey'; -import { createAccount, createPleb } from '@lume/utils/storage'; +import { Image } from '@shared/image'; +import { RelayContext } from '@shared/relayProvider'; + +import { DEFAULT_AVATAR, READONLY_RELAYS } from '@stores/constants'; +import { onboardingAtom } from '@stores/onboarding'; + +import { shortenKey } from '@utils/shortenKey'; +import { createAccount, createPleb } from '@utils/storage'; import { useAtom } from 'jotai'; import { getPublicKey } from 'nostr-tools'; diff --git a/src/auth/pages/index/index.page.tsx b/src/auth/pages/index/index.page.tsx index 32245392..3ecd0d33 100644 --- a/src/auth/pages/index/index.page.tsx +++ b/src/auth/pages/index/index.page.tsx @@ -1,5 +1,6 @@ -import ArrowRightIcon from '@lume/shared/icons/arrowRight'; -import { Image } from '@lume/shared/image'; +import { Image } from '@shared/image'; + +import ArrowRightIcon from '@icons/arrowRight'; const PLEBS = [ 'https://133332.xyz/p.jpg', diff --git a/src/renderer/_default.page.client.tsx b/src/renderer/_default.page.client.tsx index c2049ca8..2e90a9f9 100644 --- a/src/renderer/_default.page.client.tsx +++ b/src/renderer/_default.page.client.tsx @@ -1,11 +1,11 @@ -import '@lume/renderer/index.css'; -import { Shell } from '@lume/renderer/shell'; -import { PageContextClient } from '@lume/renderer/types'; - import { StrictMode } from 'react'; import { Root, createRoot, hydrateRoot } from 'react-dom/client'; import 'vidstack/styles/defaults.css'; +import './index.css'; +import { Shell } from './shell'; +import { PageContextClient } from './types'; + export const clientRouting = true; export const hydrationCanBeAborted = true; diff --git a/src/renderer/_default.page.server.tsx b/src/renderer/_default.page.server.tsx index 386df152..fc1eec2c 100644 --- a/src/renderer/_default.page.server.tsx +++ b/src/renderer/_default.page.server.tsx @@ -1,10 +1,10 @@ -import { Shell } from '@lume/renderer/shell'; -import { PageContextServer } from '@lume/renderer/types'; - import { StrictMode } from 'react'; import ReactDOMServer from 'react-dom/server'; import { dangerouslySkipEscape, escapeInject } from 'vite-plugin-ssr/server'; +import { Shell } from './shell'; +import { PageContextServer } from './types'; + export const passToClient = ['pageProps']; export function render(pageContext: PageContextServer) { diff --git a/src/renderer/shell.tsx b/src/renderer/shell.tsx index 42b13916..23f88709 100644 --- a/src/renderer/shell.tsx +++ b/src/renderer/shell.tsx @@ -1,10 +1,11 @@ -import { PageContext } from '@lume/renderer/types'; -import { RelayProvider } from '@lume/shared/relayProvider'; -import { PageContextProvider } from '@lume/utils/hooks/usePageContext'; +import { RelayProvider } from '@shared/relayProvider'; + +import { PageContextProvider } from '@utils/hooks/usePageContext'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { LayoutDefault } from './layoutDefault'; +import { PageContext } from './types'; const queryClient = new QueryClient(); diff --git a/src/shared/accounts/active.tsx b/src/shared/accounts/active.tsx index 9d2d0c08..cdf21256 100644 --- a/src/shared/accounts/active.tsx +++ b/src/shared/accounts/active.tsx @@ -1,5 +1,6 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR } from '@lume/stores/constants'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR } from '@stores/constants'; export default function ActiveAccount({ user }: { user: any }) { const userData = JSON.parse(user.metadata); diff --git a/src/shared/accounts/inactive.tsx b/src/shared/accounts/inactive.tsx index c571649f..49b4b906 100644 --- a/src/shared/accounts/inactive.tsx +++ b/src/shared/accounts/inactive.tsx @@ -1,5 +1,6 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR } from '@lume/stores/constants'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR } from '@stores/constants'; export default function InactiveAccount({ user }: { user: any }) { const userData = JSON.parse(user.metadata); diff --git a/src/shared/activeLink.tsx b/src/shared/activeLink.tsx index 4d2c4487..b3f1d7be 100644 --- a/src/shared/activeLink.tsx +++ b/src/shared/activeLink.tsx @@ -1,4 +1,4 @@ -import { usePageContext } from '@lume/utils/hooks/usePageContext'; +import { usePageContext } from '@utils/hooks/usePageContext'; import { twMerge } from 'tailwind-merge'; diff --git a/src/shared/appHeader.tsx b/src/shared/appHeader.tsx index 9ad4187c..5826c0a8 100644 --- a/src/shared/appHeader.tsx +++ b/src/shared/appHeader.tsx @@ -1,6 +1,6 @@ -import ArrowLeftIcon from '@lume/shared/icons/arrowLeft'; -import ArrowRightIcon from '@lume/shared/icons/arrowRight'; -import RefreshIcon from '@lume/shared/icons/refresh'; +import ArrowLeftIcon from '@icons/arrowLeft'; +import ArrowRightIcon from '@icons/arrowRight'; +import RefreshIcon from '@icons/refresh'; export default function AppHeader() { const goBack = () => { diff --git a/src/shared/avatarUploader.tsx b/src/shared/avatarUploader.tsx index efc2c735..4641c60d 100644 --- a/src/shared/avatarUploader.tsx +++ b/src/shared/avatarUploader.tsx @@ -1,4 +1,4 @@ -import { createBlobFromFile } from '@lume/utils/createBlobFromFile'; +import { createBlobFromFile } from '@utils/createBlobFromFile'; import { open } from '@tauri-apps/api/dialog'; import { Body, fetch } from '@tauri-apps/api/http'; diff --git a/src/shared/composer/modal.tsx b/src/shared/composer/modal.tsx index b81f7a7d..2d2ed562 100644 --- a/src/shared/composer/modal.tsx +++ b/src/shared/composer/modal.tsx @@ -1,11 +1,14 @@ -import { Post } from '@lume/shared/composer/types/post'; -import { User } from '@lume/shared/composer/user'; -import CancelIcon from '@lume/shared/icons/cancel'; -import ChevronDownIcon from '@lume/shared/icons/chevronDown'; -import ChevronRightIcon from '@lume/shared/icons/chevronRight'; -import ComposeIcon from '@lume/shared/icons/compose'; -import { composerAtom } from '@lume/stores/composer'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; +import { Post } from '@shared/composer/types/post'; +import { User } from '@shared/composer/user'; + +import CancelIcon from '@icons/cancel'; +import ChevronDownIcon from '@icons/chevronDown'; +import ChevronRightIcon from '@icons/chevronRight'; +import ComposeIcon from '@icons/compose'; + +import { composerAtom } from '@stores/composer'; + +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; import { Dialog, Transition } from '@headlessui/react'; import { useAtom } from 'jotai'; diff --git a/src/shared/composer/user.tsx b/src/shared/composer/user.tsx index 6f177781..779a7446 100644 --- a/src/shared/composer/user.tsx +++ b/src/shared/composer/user.tsx @@ -1,5 +1,6 @@ -import { Image } from '@lume/shared/image'; -import { DEFAULT_AVATAR, IMGPROXY_URL } from '@lume/stores/constants'; +import { Image } from '@shared/image'; + +import { DEFAULT_AVATAR, IMGPROXY_URL } from '@stores/constants'; export function User({ data }: { data: any }) { const metadata = JSON.parse(data.metadata); diff --git a/src/shared/eventCollector.tsx b/src/shared/eventCollector.tsx index 5a48134c..5f413f43 100644 --- a/src/shared/eventCollector.tsx +++ b/src/shared/eventCollector.tsx @@ -1,11 +1,14 @@ -import HeartBeatIcon from '@lume/shared/icons/heartbeat'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { READONLY_RELAYS } from '@lume/stores/constants'; -import { hasNewerNoteAtom } from '@lume/stores/note'; -import { dateToUnix } from '@lume/utils/getDate'; -import { useActiveAccount } from '@lume/utils/hooks/useActiveAccount'; -import { createChat, createNote, updateAccount } from '@lume/utils/storage'; -import { getParentID, nip02ToArray } from '@lume/utils/transform'; +import { RelayContext } from '@shared/relayProvider'; + +import HeartBeatIcon from '@icons/heartbeat'; + +import { READONLY_RELAYS } from '@stores/constants'; +import { hasNewerNoteAtom } from '@stores/note'; + +import { dateToUnix } from '@utils/date'; +import { useActiveAccount } from '@utils/hooks/useActiveAccount'; +import { createChat, createNote, updateAccount } from '@utils/storage'; +import { getParentID, nip02ToArray } from '@utils/transform'; import { useSetAtom } from 'jotai'; import { useContext, useRef } from 'react'; diff --git a/src/shared/form/imagePicker.tsx b/src/shared/form/imagePicker.tsx index aed574ca..a4ae3d7f 100644 --- a/src/shared/form/imagePicker.tsx +++ b/src/shared/form/imagePicker.tsx @@ -1,8 +1,10 @@ -import PlusIcon from '@lume/shared/icons/plus'; -import { channelContentAtom } from '@lume/stores/channel'; -import { chatContentAtom } from '@lume/stores/chat'; -import { noteContentAtom } from '@lume/stores/note'; -import { createBlobFromFile } from '@lume/utils/createBlobFromFile'; +import PlusIcon from '@icons/plus'; + +import { channelContentAtom } from '@stores/channel'; +import { chatContentAtom } from '@stores/chat'; +import { noteContentAtom } from '@stores/note'; + +import { createBlobFromFile } from '@utils/createBlobFromFile'; import { open } from '@tauri-apps/api/dialog'; import { Body, fetch } from '@tauri-apps/api/http'; diff --git a/src/shared/image.tsx b/src/shared/image.tsx index 21ed05f9..dfa37d4d 100644 --- a/src/shared/image.tsx +++ b/src/shared/image.tsx @@ -1,4 +1,4 @@ -import { DEFAULT_AVATAR } from '@lume/stores/constants'; +import { DEFAULT_AVATAR } from '@stores/constants'; export function Image(props) { const addImageFallback = (event) => { diff --git a/src/shared/multiAccounts.tsx b/src/shared/multiAccounts.tsx index 92314496..1c0dd9b8 100644 --- a/src/shared/multiAccounts.tsx +++ b/src/shared/multiAccounts.tsx @@ -1,9 +1,12 @@ -import ActiveAccount from '@lume/shared/accounts/active'; -import InactiveAccount from '@lume/shared/accounts/inactive'; -import BellIcon from '@lume/shared/icons/bell'; -import PlusIcon from '@lume/shared/icons/plus'; -import { APP_VERSION } from '@lume/stores/constants'; -import { getAccounts, getActiveAccount } from '@lume/utils/storage'; +import ActiveAccount from '@shared/accounts/active'; +import InactiveAccount from '@shared/accounts/inactive'; + +import BellIcon from '@icons/bell'; +import PlusIcon from '@icons/plus'; + +import { APP_VERSION } from '@stores/constants'; + +import { getAccounts, getActiveAccount } from '@utils/storage'; import useSWR from 'swr'; diff --git a/src/shared/navigation.tsx b/src/shared/navigation.tsx index b4654a9c..31e09996 100644 --- a/src/shared/navigation.tsx +++ b/src/shared/navigation.tsx @@ -1,12 +1,14 @@ -import ChannelsList from '@lume/app/channel/components/list'; -import ChatsList from '@lume/app/chat/components/list'; -import ActiveLink from '@lume/shared/activeLink'; -import { ComposerModal } from '@lume/shared/composer/modal'; -import EventCollector from '@lume/shared/eventCollector'; -import MyspaceIcon from '@lume/shared/icons/myspace'; -import NavArrowDownIcon from '@lume/shared/icons/navArrowDown'; -import ThreadsIcon from '@lume/shared/icons/threads'; -import WorldIcon from '@lume/shared/icons/world'; +import ChannelsList from '@app/channel/components/list'; +import ChatsList from '@app/chat/components/list'; + +import ActiveLink from '@shared/activeLink'; +import { ComposerModal } from '@shared/composer/modal'; +import EventCollector from '@shared/eventCollector'; + +import MyspaceIcon from '@icons/myspace'; +import NavArrowDownIcon from '@icons/navArrowDown'; +import ThreadsIcon from '@icons/threads'; +import WorldIcon from '@icons/world'; import { Disclosure } from '@headlessui/react'; @@ -24,14 +26,14 @@ export default function Navigation() {
- Daily + Radar Threads - MySpace + Space
diff --git a/src/shared/networkStatusIndicator.tsx b/src/shared/networkStatusIndicator.tsx index a08c2c4b..085f4dbe 100644 --- a/src/shared/networkStatusIndicator.tsx +++ b/src/shared/networkStatusIndicator.tsx @@ -1,4 +1,4 @@ -import { useNetworkStatus } from '@lume/utils/hooks/useNetworkStatus'; +import { useNetworkStatus } from '@utils/hooks/useNetworkStatus'; export function NetworkStatusIndicator() { const isOnline = useNetworkStatus(); diff --git a/src/shared/profile/followers.tsx b/src/shared/profile/followers.tsx index d52cc4f1..81264c22 100644 --- a/src/shared/profile/followers.tsx +++ b/src/shared/profile/followers.tsx @@ -1,6 +1,7 @@ -import { RelayContext } from '@lume/shared/relaysProvider'; -import { UserFollow } from '@lume/shared/user/follow'; -import { READONLY_RELAYS } from '@lume/stores/constants'; +import { RelayContext } from '@shared/relaysProvider'; +import { UserFollow } from '@shared/user/follow'; + +import { READONLY_RELAYS } from '@stores/constants'; import destr from 'destr'; import { Author } from 'nostr-relaypool'; diff --git a/src/shared/profile/follows.tsx b/src/shared/profile/follows.tsx index ba93860b..45947cf2 100644 --- a/src/shared/profile/follows.tsx +++ b/src/shared/profile/follows.tsx @@ -1,6 +1,7 @@ -import { RelayContext } from '@lume/shared/relaysProvider'; -import { UserFollow } from '@lume/shared/user/follow'; -import { READONLY_RELAYS } from '@lume/stores/constants'; +import { RelayContext } from '@shared/relaysProvider'; +import { UserFollow } from '@shared/user/follow'; + +import { READONLY_RELAYS } from '@stores/constants'; import { Author } from 'nostr-relaypool'; import { useContext, useEffect, useState } from 'react'; diff --git a/src/shared/profile/metadata.tsx b/src/shared/profile/metadata.tsx index c54c4dae..2c855406 100644 --- a/src/shared/profile/metadata.tsx +++ b/src/shared/profile/metadata.tsx @@ -1,7 +1,9 @@ -import { Image } from '@lume/shared/image'; -import { RelayContext } from '@lume/shared/relayProvider'; -import { DEFAULT_AVATAR, READONLY_RELAYS } from '@lume/stores/constants'; -import { shortenKey } from '@lume/utils/shortenKey'; +import { Image } from '@shared/image'; +import { RelayContext } from '@shared/relayProvider'; + +import { DEFAULT_AVATAR, READONLY_RELAYS } from '@stores/constants'; + +import { shortenKey } from '@utils/shortenKey'; import destr from 'destr'; import { Author } from 'nostr-relaypool'; diff --git a/src/shared/profile/notes.tsx b/src/shared/profile/notes.tsx index ab3db4a8..a96137c8 100644 --- a/src/shared/profile/notes.tsx +++ b/src/shared/profile/notes.tsx @@ -1,6 +1,7 @@ -import { NoteBase } from '@lume/shared/note/base'; -import { RelayContext } from '@lume/shared/relaysProvider'; -import { READONLY_RELAYS } from '@lume/stores/constants'; +import { NoteBase } from '@shared/note/base'; +import { RelayContext } from '@shared/relaysProvider'; + +import { READONLY_RELAYS } from '@stores/constants'; import { Author } from 'nostr-relaypool'; import { useContext, useEffect, useState } from 'react'; diff --git a/src/shared/relayProvider.tsx b/src/shared/relayProvider.tsx index 43348588..fe9d6df0 100644 --- a/src/shared/relayProvider.tsx +++ b/src/shared/relayProvider.tsx @@ -1,4 +1,4 @@ -import { FULL_RELAYS } from '@lume/stores/constants'; +import { FULL_RELAYS } from '@stores/constants'; import { RelayPool } from 'nostr-relaypool'; import { createContext } from 'react'; diff --git a/src/utils/date.tsx b/src/utils/date.tsx new file mode 100644 index 00000000..6c981663 --- /dev/null +++ b/src/utils/date.tsx @@ -0,0 +1,22 @@ +// get X days ago with user provided date +export function getDayAgo(numOfDays, date = new Date()) { + const days = new Date(date.getTime()); + days.setDate(date.getDate() - numOfDays); + + return days; +} + +// get X hours ago with user provided date +export function getHourAgo(numOfHours, date = new Date()) { + const hours = new Date(date.getTime()); + hours.setHours(date.getHours() - numOfHours); + + return hours; +} + +// convert date to unix timestamp +export function dateToUnix(_date?: Date) { + const date = _date || new Date(); + + return Math.floor(date.getTime() / 1000); +} diff --git a/src/utils/getDate.tsx b/src/utils/getDate.tsx deleted file mode 100644 index 3e0f30c6..00000000 --- a/src/utils/getDate.tsx +++ /dev/null @@ -1,22 +0,0 @@ -// get X days ago with user provided date -export function daysAgo(numOfDays, date = new Date()) { - const daysAgo = new Date(date.getTime()); - daysAgo.setDate(date.getDate() - numOfDays); - - return daysAgo; -} - -// get X hours ago with user provided date -export function hoursAgo(numOfHours, date = new Date()) { - const hoursAgo = new Date(date.getTime()); - hoursAgo.setHours(date.getHours() - numOfHours); - - return hoursAgo; -} - -// convert date to unix timestamp -export function dateToUnix(_date?: Date) { - const date = _date || new Date(); - - return Math.floor(date.getTime() / 1000); -} diff --git a/src/utils/hooks/useActiveAccount.tsx b/src/utils/hooks/useActiveAccount.tsx index 99997e38..0eaef192 100644 --- a/src/utils/hooks/useActiveAccount.tsx +++ b/src/utils/hooks/useActiveAccount.tsx @@ -1,4 +1,4 @@ -import { getActiveAccount } from '@lume/utils/storage'; +import { getActiveAccount } from '@utils/storage'; import useSWR from 'swr'; diff --git a/src/utils/hooks/useProfile.tsx b/src/utils/hooks/useProfile.tsx index f10161d6..d5f56331 100644 --- a/src/utils/hooks/useProfile.tsx +++ b/src/utils/hooks/useProfile.tsx @@ -1,5 +1,6 @@ -import { METADATA_SERVICE } from '@lume/stores/constants'; -import { createPleb, getPleb } from '@lume/utils/storage'; +import { METADATA_SERVICE } from '@stores/constants'; + +import { createPleb, getPleb } from '@utils/storage'; import useSWR from 'swr'; diff --git a/tsconfig.json b/tsconfig.json index 77879d30..0ab6e290 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -2,7 +2,6 @@ "compilerOptions": { "baseUrl": "./", "paths": { - "@lume/*": ["src/*"], "@app/*": ["src/app/*"], "@shared/*": ["src/shared/*"], "@icons/*": ["src/shared/icons/*"],