From 98d2747cd7a271ccaab36dee50c1ccd2d26cca89 Mon Sep 17 00:00:00 2001 From: Priyanshu Date: Tue, 13 Aug 2024 01:20:19 +0530 Subject: [PATCH 1/2] Responsiveness --- .../Header/components/SearchBar.tsx | 33 ++- app/writer/[id]/components/Header.tsx | 216 ------------------ app/writer/[id]/components/Header/Header.tsx | 126 ++++++++++ app/writer/[id]/components/OptionsResp.tsx | 148 ++++++++++++ app/writer/[id]/components/Tabs.tsx | 2 +- .../options/format/ColorHighlight.tsx | 2 +- .../[id]/components/options/format/Font.tsx | 34 +++ .../options/format/FormattingBtns.tsx | 23 ++ .../components/options/format/Heading.tsx | 37 +++ .../options/format/ParagraphBtns.tsx | 22 ++ .../components/options/format/functions.ts | 28 +++ .../[id]/components/options/format/index.tsx | 141 +----------- .../options/format/textEditorOptions.tsx | 30 +++ .../[id]/components/options/insert/index.tsx | 7 +- app/writer/[id]/page.tsx | 21 +- components/HeaderBtn.tsx | 21 ++ components/LoaderButton.tsx | 8 +- components/ui/tabs.tsx | 55 +++++ lib/auth.ts | 3 - package-lock.json | 61 +++++ package.json | 2 + yarn.lock | 31 ++- 22 files changed, 681 insertions(+), 370 deletions(-) delete mode 100644 app/writer/[id]/components/Header.tsx create mode 100644 app/writer/[id]/components/Header/Header.tsx create mode 100644 app/writer/[id]/components/OptionsResp.tsx create mode 100644 app/writer/[id]/components/options/format/Font.tsx create mode 100644 app/writer/[id]/components/options/format/FormattingBtns.tsx create mode 100644 app/writer/[id]/components/options/format/Heading.tsx create mode 100644 app/writer/[id]/components/options/format/ParagraphBtns.tsx create mode 100644 app/writer/[id]/components/options/format/functions.ts create mode 100644 app/writer/[id]/components/options/format/textEditorOptions.tsx create mode 100644 components/HeaderBtn.tsx create mode 100644 components/ui/tabs.tsx diff --git a/app/components/Header/components/SearchBar.tsx b/app/components/Header/components/SearchBar.tsx index e473d96..3e21587 100644 --- a/app/components/Header/components/SearchBar.tsx +++ b/app/components/Header/components/SearchBar.tsx @@ -1,6 +1,6 @@ "use client" -import { useCallback, useMemo, useState } from "react" +import { useCallback, useEffect, useMemo, useRef, useState } from "react" import Image from "next/image"; import { Search, X } from "lucide-react" import { debounce } from 'lodash' @@ -30,6 +30,8 @@ type SearchResponse = { export default function SearchBar() { const router = useRouter(); + const searchedResponseRef = useRef(null); + const [searchResponse, setSearchResponse] = useState(undefined); const [searchValue, setSearchValue] = useState(""); const [isFocused, setIsFocused] = useState(false); @@ -47,8 +49,25 @@ export default function SearchBar() { [search] ); + const handleDocumentClick = (e: any) => { + if ( + searchedResponseRef.current && + !searchedResponseRef.current.contains(e.target) + ) { + setIsFocused(false); + } + }; + useEffect(() => { + document.addEventListener('mousedown', handleDocumentClick); + return () => { + document.removeEventListener('mousedown', handleDocumentClick); + }; + }, []); + return ( -