a tool for shared writing and social publishing

messing around with navigation on mobile

+205 -108
+1 -5
app/(home-pages)/home/Actions/Actions.tsx
··· 13 13 return ( 14 14 <> 15 15 <CreateNewLeafletButton /> 16 - {identity ? ( 17 - <AccountSettings entityID={rootEntity} /> 18 - ) : ( 19 - <LoginActionButton /> 20 - )} 16 + {identity && <AccountSettings entityID={rootEntity} />} 21 17 </> 22 18 ); 23 19 };
+3 -2
components/ActionBar/ActionButton.tsx
··· 62 62 : secondary 63 63 ? " bg-bg-page border-accent-contrast text-accent-contrast transparent-outline focus:outline-accent-contrast sm:hover:outline-accent-contrast outline-offset-1 mx-1 first:ml-0" 64 64 : nav 65 - ? "border-transparent text-secondary sm:hover:border-border justify-start!" 65 + ? "border-transparent text-secondary sm:hover:border-border justify-start! max-w-full" 66 66 : "border-transparent text-accent-contrast sm:hover:border-accent-contrast" 67 67 } 68 68 ${className} 69 69 `} 70 + style={nav ? { width: "-webkit-fill-available" } : {}} 70 71 > 71 - <div className="shrink-0">{icon}</div> 72 + <div className="shrink-0 flex flex-row gap-0.5">{icon}</div> 72 73 <div 73 74 className={`flex flex-col pr-1 ${subtext && "leading-snug"} max-w-full min-w-0 ${sidebar.open ? "block" : showLabelOnMobile ? "sm:hidden block" : "hidden"}`} 74 75 >
+25 -9
components/ActionBar/DesktopNavigation.tsx
··· 4 4 HomeButton, 5 5 ReaderButton, 6 6 NotificationButton, 7 + WriterButton, 7 8 } from "./NavigationButtons"; 8 9 import { PublicationButtons } from "./Publications"; 9 10 import { Sidebar } from "./Sidebar"; ··· 16 17 let thisPublication = identity?.publications?.find( 17 18 (pub) => pub.uri === props.publication, 18 19 ); 20 + 21 + let currentlyWriter = 22 + props.currentPage === "home" || 23 + props.currentPage === "looseleafs" || 24 + props.currentPage === "pub"; 19 25 return ( 20 26 <div className="flex flex-col gap-3"> 27 + {identity?.atp_did && ( 28 + <Sidebar alwaysOpen> 29 + <NotificationButton current={props.currentPage === "notifications"} /> 30 + </Sidebar> 31 + )} 21 32 <Sidebar alwaysOpen> 22 - <HomeButton current={props.currentPage === "home"} /> 23 33 <ReaderButton 24 34 current={props.currentPage === "reader"} 25 35 subs={ ··· 27 37 identity?.publication_subscriptions?.length !== undefined 28 38 } 29 39 /> 30 - {identity?.atp_did && ( 31 - <NotificationButton current={props.currentPage === "notifications"} /> 40 + {currentlyWriter ? ( 41 + <> 42 + <HomeButton current={props.currentPage === "home"} /> 43 + <hr className="border-border-light border-dashed" /> 44 + <PublicationButtons 45 + currentPage={props.currentPage} 46 + currentPubUri={thisPublication?.uri} 47 + /> 48 + </> 49 + ) : ( 50 + <WriterButton 51 + currentPage={props.currentPage} 52 + currentPubUri={thisPublication?.uri} 53 + /> 32 54 )} 33 - </Sidebar> 34 - <Sidebar alwaysOpen> 35 - <PublicationButtons 36 - currentPage={props.currentPage} 37 - currentPubUri={thisPublication?.uri} 38 - /> 39 55 </Sidebar> 40 56 </div> 41 57 );
+25 -85
components/ActionBar/MobileNavigation.tsx
··· 7 7 navPages, 8 8 NotificationButton, 9 9 ReaderButton, 10 + WriterButton, 10 11 } from "./NavigationButtons"; 11 12 import { PubIcon, PublicationButtons } from "./Publications"; 12 13 import { HomeSmall } from "components/Icons/HomeSmall"; ··· 20 21 import { TagSmall } from "components/Icons/TagSmall"; 21 22 import { Avatar } from "components/Avatar"; 22 23 import { useProfileFromDid } from "src/utils/getRecordFromDid"; 24 + import { LoginActionButton } from "components/LoginButton"; 23 25 24 26 export const MobileNavigation = (props: { 25 27 currentPage: navPages; ··· 27 29 currentProfileDid?: string; 28 30 }) => { 29 31 let { identity } = useIdentityData(); 30 - let thisPublication = identity?.publications?.find( 31 - (pub) => pub.uri === props.currentPublicationUri, 32 - ); 32 + 33 + let compactOnMobile = 34 + props.currentPage === "home" || 35 + props.currentPage === "looseleafs" || 36 + props.currentPage === "pub" 37 + ? false 38 + : true; 39 + 33 40 return ( 34 - <div className="mobileNav flex gap-1 items-center text-secondary "> 35 - <Popover 36 - onOpenAutoFocus={(e) => e.preventDefault()} 37 - asChild 38 - className="px-2! !max-w-[256px]" 39 - trigger={ 40 - <div className="shrink-0 p-1 h-full flex gap-1 font-bold items-center text-secondary"> 41 - <MenuSmall /> 42 - 43 - <CurrentPageIcon 44 - currentPage={props.currentPage} 45 - currentPubUri={thisPublication?.uri} 46 - currentProfileDid={props.currentProfileDid} 47 - /> 48 - </div> 49 - } 50 - > 51 - <HomeButton current={props.currentPage === "home"} /> 41 + <div 42 + className={`mobileNav flex justify-between gap-1 items-center text-secondary pl-1 ${compactOnMobile ? "w-full" : "w-fit"}`} 43 + > 44 + <div className="flex gap-2"> 45 + <WriterButton 46 + compactOnMobile={compactOnMobile} 47 + currentPage={props.currentPage} 48 + currentPubUri={props.currentPublicationUri} 49 + /> 52 50 <ReaderButton 51 + compactOnMobile={compactOnMobile} 53 52 current={props.currentPage === "reader"} 54 53 subs={ 55 54 identity?.publication_subscriptions?.length !== 0 && 56 55 identity?.publication_subscriptions?.length !== undefined 57 56 } 58 57 /> 59 - <hr className="my-1 border-border-light" /> 60 - <PublicationButtons 61 - currentPage={props.currentPage} 62 - currentPubUri={thisPublication?.uri} 63 - /> 64 - </Popover> 65 - {identity?.atp_did && ( 58 + </div> 59 + {identity?.atp_did ? ( 66 60 <> 67 - <Separator classname="h-6!" /> 61 + {!compactOnMobile && <Separator />} 68 62 <NotificationButton /> 69 63 </> 64 + ) : ( 65 + <LoginActionButton /> 70 66 )} 71 67 </div> 72 68 ); 73 69 }; 74 - 75 - const CurrentPageIcon = (props: { 76 - currentPage: navPages; 77 - currentPubUri?: string; 78 - currentProfileDid?: string; 79 - }) => { 80 - let { identity } = useIdentityData(); 81 - let currentPub = identity?.publications?.find( 82 - (pub) => pub.uri === props.currentPubUri, 83 - ); 84 - let pubRecord = currentPub 85 - ? normalizePublicationRecord(currentPub.record) 86 - : null; 87 - let unreads = identity?.notifications[0]?.count; 88 - 89 - const { data: profile } = useProfileFromDid( 90 - props.currentPage === "profile" ? props.currentProfileDid : undefined, 91 - ); 92 - 93 - switch (props.currentPage) { 94 - case "home": 95 - return <HomeSmall />; 96 - case "reader": 97 - return <ReaderReadSmall />; 98 - case "profile": 99 - if (profile) { 100 - return ( 101 - <Avatar 102 - src={profile.avatar} 103 - displayName={profile.displayName} 104 - size="medium" 105 - /> 106 - ); 107 - } 108 - return <LooseLeafSmall />; 109 - case "tag": 110 - return <TagSmall />; 111 - case "notifications": 112 - if (unreads) { 113 - return <NotificationsUnreadSmall className="text-accent-contrast" />; 114 - } else { 115 - return <NotificationsReadSmall />; 116 - } 117 - 118 - case "looseleafs": 119 - return <LooseLeafSmall />; 120 - 121 - case "pub": 122 - if (currentPub && pubRecord) { 123 - return <PubIcon record={pubRecord} uri={currentPub.uri} />; 124 - } 125 - return null; 126 - default: 127 - return null; 128 - } 129 - };
+127 -3
components/ActionBar/NavigationButtons.tsx
··· 3 3 import { useIdentityData } from "components/IdentityProvider"; 4 4 import Link from "next/link"; 5 5 import { DiscoverSmall } from "components/Icons/DiscoverSmall"; 6 - import { PublicationButtons } from "./Publications"; 6 + import { PubIcon, PublicationButtons } from "./Publications"; 7 7 import { ReaderUnreadSmall } from "components/Icons/ReaderSmall"; 8 8 import { 9 9 NotificationsReadSmall, 10 10 NotificationsUnreadSmall, 11 11 } from "components/Icons/NotificationSmall"; 12 12 import { SpeedyLink } from "components/SpeedyLink"; 13 + import { Popover } from "components/Popover"; 14 + import { WriterSmall } from "components/Icons/WriterSmall"; 15 + import { LooseLeafSmall } from "components/Icons/LooseleafSmall"; 16 + import { normalizePublicationRecord } from "src/utils/normalizeRecords"; 17 + import { theme } from "tailwind.config"; 13 18 14 19 export type navPages = 15 20 | "home" ··· 26 31 <ActionButton 27 32 nav 28 33 icon={<HomeSmall />} 29 - label="Home" 34 + label="Writer Home" 30 35 className={props.current ? "bg-bg-page! border-border-light!" : ""} 31 36 /> 32 37 </SpeedyLink> 33 38 ); 34 39 }; 35 40 36 - export const ReaderButton = (props: { current?: boolean; subs: boolean }) => { 41 + export const WriterButton = (props: { 42 + currentPage: navPages; 43 + currentPubUri?: string; 44 + compactOnMobile?: boolean; 45 + }) => { 46 + let { identity } = useIdentityData(); 47 + 48 + let currentPub = identity?.publications?.find( 49 + (pub) => pub.uri === props.currentPubUri, 50 + ); 51 + let pubRecord = currentPub 52 + ? normalizePublicationRecord(currentPub.record) 53 + : null; 54 + 55 + let current = 56 + props.currentPage === "home" || 57 + props.currentPage === "looseleafs" || 58 + props.currentPage === "pub"; 59 + console.log(current); 60 + 61 + let currentPubIcon = 62 + currentPub && pubRecord ? ( 63 + <PubIcon record={pubRecord} uri={currentPub.uri} /> 64 + ) : null; 65 + 66 + let currentIcon = 67 + props.currentPage === "home" ? ( 68 + <HomeSmall className="text-tertiary" /> 69 + ) : props.currentPage === "looseleafs" ? ( 70 + <LooseLeafSmall className="text-tertiary" /> 71 + ) : props.currentPage === "pub" ? ( 72 + currentPubIcon 73 + ) : null; 74 + 75 + return ( 76 + <Popover 77 + className="p-2!" 78 + asChild 79 + trigger={ 80 + props.compactOnMobile ? ( 81 + <ActionButton 82 + nav 83 + labelOnMobile={true} 84 + icon={<WriterSmall />} 85 + label=<div className="flex flex-row gap-1"> 86 + Writer 87 + {current && ( 88 + <> 89 + <Divider /> {currentIcon} 90 + </> 91 + )} 92 + </div> 93 + className={current ? "bg-bg-page! border-border-light!" : ""} 94 + /> 95 + ) : ( 96 + <ActionButton 97 + nav 98 + labelOnMobile={false} 99 + icon={ 100 + <> 101 + <WriterSmall /> 102 + {current && ( 103 + <> 104 + <Divider /> {currentIcon} 105 + </> 106 + )} 107 + </> 108 + } 109 + label=<div className="flex flex-row gap-1">Writer</div> 110 + className={current ? "bg-bg-page! border-border-light!" : ""} 111 + /> 112 + ) 113 + } 114 + > 115 + <SpeedyLink href={"/home"} className="hover:!no-underline"> 116 + <ActionButton 117 + nav 118 + icon={<HomeSmall />} 119 + label="Writer Home" 120 + className={ 121 + props.currentPage === "home" 122 + ? "bg-bg-page! border-border-light!" 123 + : "" 124 + } 125 + /> 126 + </SpeedyLink> 127 + <hr className="border-border-light border-dashed my-2" /> 128 + <PublicationButtons 129 + currentPage={props.currentPage} 130 + currentPubUri={props.currentPubUri} 131 + /> 132 + </Popover> 133 + ); 134 + }; 135 + 136 + export const ReaderButton = (props: { 137 + current?: boolean; 138 + subs: boolean; 139 + compactOnMobile?: boolean; 140 + }) => { 37 141 if (!props.subs) return; 38 142 return ( 39 143 <SpeedyLink href={"/reader"} className="hover:no-underline!"> 40 144 <ActionButton 41 145 nav 146 + labelOnMobile={props.compactOnMobile} 42 147 icon={<ReaderUnreadSmall />} 43 148 label="Reader" 44 149 className={props.current ? "bg-bg-page! border-border-light!" : ""} ··· 69 174 </SpeedyLink> 70 175 ); 71 176 } 177 + 178 + const Divider = () => { 179 + return ( 180 + <svg 181 + width="6" 182 + height="25" 183 + viewBox="0 0 6 25" 184 + fill="none" 185 + xmlns="http://www.w3.org/2000/svg" 186 + > 187 + <path 188 + d="M0.5 0.5V7.5L5 12.5L0.5 17.5L0.5 24.5" 189 + stroke={theme.colors["border-light"]} 190 + strokeLinecap="round" 191 + strokeLinejoin="round" 192 + /> 193 + </svg> 194 + ); 195 + };
+1 -1
components/ActionBar/Publications.tsx
··· 19 19 import { useIsMobile } from "src/hooks/isMobile"; 20 20 import { useState } from "react"; 21 21 import { LooseLeafSmall } from "components/Icons/LooseleafSmall"; 22 - import { navPages } from "./NavigationButtons"; 22 + import type { navPages } from "./NavigationButtons"; 23 23 24 24 export const PublicationButtons = (props: { 25 25 currentPage: navPages;
+4 -3
components/Icons/ReaderSmall.tsx
··· 3 3 export const ReaderUnreadSmall = (props: Props) => { 4 4 return ( 5 5 <svg 6 - width="25" 6 + width="24" 7 7 height="24" 8 - viewBox="0 0 25 24" 8 + viewBox="0 0 24 24" 9 9 fill="none" 10 10 xmlns="http://www.w3.org/2000/svg" 11 + {...props} 11 12 > 12 13 <path 13 - d="M2.82968 18.0472C2.82987 17.3641 3.41641 17.3642 3.41659 18.0472C3.41658 18.7307 3.7081 19.1528 3.80819 19.263C3.90827 19.3732 4.08109 19.7179 4.70468 19.7181C5.32851 19.7182 5.32851 20.3255 4.70468 20.3255C4.08111 20.3256 3.98225 20.5899 3.80819 20.7816C3.63417 20.9732 3.41859 21.2572 3.41854 21.9232C3.41854 22.5896 2.83163 22.6066 2.83163 21.9232C2.83155 21.2398 2.4633 20.8276 2.42147 20.7816C2.37905 20.735 1.94693 20.3255 1.45858 20.3255C0.97001 20.3254 0.974762 19.7182 1.45858 19.7181C1.9419 19.7181 2.25811 19.3644 2.35018 19.263C2.44176 19.1622 2.82968 18.7307 2.82968 18.0472ZM18.8189 13.7962C18.8191 13.1543 19.3158 13.1543 19.316 13.7962C19.316 14.4386 19.5624 14.8352 19.6471 14.9388C19.7317 15.0425 19.8778 15.3663 20.4049 15.3665C20.9325 15.3666 20.9325 15.9378 20.4049 15.9378C19.8775 15.9379 19.7943 16.1864 19.6471 16.3665C19.4999 16.5466 19.3171 16.8131 19.317 17.4388C19.317 18.0651 18.8209 18.0811 18.8209 17.4388C18.8207 16.7986 18.5111 16.4117 18.4742 16.3665C18.4388 16.3233 18.073 15.9381 17.6598 15.9378C17.2464 15.9378 17.2504 15.3665 17.6598 15.3665C18.0686 15.3663 18.336 15.0338 18.4137 14.9388C18.4911 14.844 18.8189 14.4386 18.8189 13.7962ZM6.10897 1.79134C6.74065 1.54967 7.31924 1.76772 7.73007 2.04427C8.13472 2.31686 8.48886 2.71494 8.77304 3.07649C9.05968 3.44125 9.32671 3.83827 9.52304 4.11653C9.76174 4.45493 9.68165 4.92361 9.34335 5.16243C9.0051 5.40111 8.53735 5.31974 8.29843 4.98177C8.07551 4.66583 7.84739 4.32673 7.59237 4.00227C7.33511 3.67506 7.09903 3.42822 6.89315 3.28938C6.79455 3.22296 6.72689 3.19837 6.69101 3.19075C6.66479 3.18528 6.65529 3.18881 6.64511 3.1927C6.60428 3.20859 6.40334 3.32114 6.13925 3.88899C6.01867 4.14843 5.71704 5.01402 5.35214 6.10677C5.27851 6.12987 5.22515 6.14661 5.21835 6.15462C5.21489 6.15884 5.21125 6.16214 5.20858 6.16536C4.91664 6.19308 4.63293 6.31734 4.41464 6.54427C4.17686 6.79162 4.06902 7.10768 4.06796 7.40462C4.067 7.70171 4.17276 8.02065 4.41268 8.27083C4.46886 8.32937 4.52964 8.38044 4.59335 8.42513C4.37591 9.09776 4.17095 9.74532 3.99765 10.2884C4.2707 10.3144 4.54179 10.3779 4.80038 10.4691C5.5814 10.7446 6.34697 11.3005 6.96933 12.0501C7.13971 11.9646 7.3231 11.9158 7.50936 11.8929C7.9461 11.8392 8.39353 11.9251 8.81893 12.1146C8.94078 11.5922 9.19242 11.1032 9.59433 10.6868C11.081 9.14683 13.6312 9.62241 15.2428 11.1781C15.3753 11.306 15.4999 11.4413 15.6178 11.5814C15.7723 11.0931 15.9613 10.4983 16.1588 9.87044C16.6539 8.29641 17.2076 6.52428 17.4498 5.71028C17.7531 4.69126 18.1848 3.91964 18.8023 3.49056C19.4769 3.02218 20.2194 3.06179 20.859 3.34017C21.4671 3.60494 22.0253 4.09649 22.5025 4.63802C22.9884 5.18942 23.4343 5.84393 23.8062 6.50032C24.0101 6.86052 23.884 7.31757 23.524 7.52181C23.1638 7.72592 22.7059 7.59954 22.5016 7.23958C22.1686 6.6521 21.7805 6.08653 21.3775 5.62923C20.9661 5.16239 20.5798 4.85528 20.2603 4.71614C19.9724 4.5908 19.8033 4.62119 19.6568 4.72298C19.4532 4.86476 19.1524 5.24367 18.8863 6.13802C18.6401 6.9656 18.0833 8.74963 17.5894 10.3197C17.3421 11.1061 17.1093 11.8418 16.9391 12.3802C16.854 12.6494 16.7853 12.87 16.7369 13.0228C16.7128 13.0988 16.6941 13.1581 16.6812 13.1986C16.6748 13.2188 16.6689 13.235 16.6656 13.2454C16.6641 13.2501 16.6625 13.2536 16.6617 13.2562V13.2591L16.6607 13.2601C16.6469 13.3038 16.6277 13.3449 16.607 13.3841C16.9766 14.5982 16.8251 15.8801 15.9322 16.805C14.4454 18.345 11.8953 17.8696 10.2838 16.3138C9.60418 15.6576 9.11137 14.8276 8.87948 13.972C8.47459 13.5525 8.06917 13.397 7.80429 13.3831C8.01717 13.8598 8.15284 14.345 8.19784 14.8138C8.28056 15.6775 8.06391 16.5969 7.33065 17.1702C6.59744 17.7433 5.65367 17.7322 4.83554 17.4437C4.00748 17.1515 3.19408 16.5464 2.55331 15.7269C1.91258 14.9074 1.52188 13.972 1.43808 13.098C1.35693 12.25 1.56474 11.3498 2.2662 10.7747C2.51811 9.97534 3.00684 8.4405 3.48983 6.96224C4.01662 5.34994 4.56587 3.71844 4.78085 3.25618C5.10348 2.56265 5.52293 2.01575 6.10897 1.79134ZM14.2008 12.2572C12.9082 11.0094 11.3496 11.0284 10.6734 11.7288C9.99762 12.4294 10.0335 13.987 11.3258 15.2347C12.6181 16.4823 14.1767 16.464 14.8531 15.764C15.5292 15.0636 15.4931 13.505 14.2008 12.2572ZM4.30233 11.8841C3.77284 11.6973 3.41998 11.7759 3.22909 11.9251C3.03847 12.0746 2.87871 12.3971 2.93222 12.9554C2.98485 13.5041 3.24331 14.1742 3.73495 14.8031C4.22664 15.4319 4.81476 15.8452 5.33456 16.0286C5.86353 16.2152 6.2159 16.1376 6.40683 15.9886C6.59761 15.8394 6.75812 15.5159 6.70468 14.9574C6.65205 14.4087 6.3926 13.7385 5.90097 13.1097C5.40938 12.481 4.82205 12.0676 4.30233 11.8841ZM12.3394 14.7786C12.5125 14.5637 12.8275 14.5295 13.0426 14.7025C13.081 14.7334 13.1653 14.7848 13.2691 14.8284C13.318 14.849 13.3639 14.8642 13.4019 14.8743C13.4373 14.8837 13.456 14.8858 13.4596 14.8861C13.7357 14.8914 13.9561 15.1197 13.9508 15.3958C13.9454 15.6718 13.7169 15.8912 13.441 15.8861C13.243 15.8822 13.0364 15.8145 12.8814 15.7493C12.7197 15.6813 12.5471 15.5876 12.4156 15.4818C12.2007 15.3087 12.1665 14.9937 12.3394 14.7786ZM3.92929 12.1361L3.9996 12.1497L4.09335 12.1878C4.3006 12.2932 4.41321 12.533 4.34921 12.7659C4.32756 12.8445 4.28534 12.9118 4.23397 12.9681C4.23698 12.9884 4.23927 13.0124 4.24472 13.0384C4.29698 13.2878 4.4441 13.6447 4.70565 13.9671C4.87945 14.1814 4.84746 14.4972 4.63339 14.6712C4.41911 14.8451 4.10336 14.812 3.92929 14.598C3.56417 14.1481 3.35003 13.6431 3.2662 13.2425C3.22622 13.0513 3.2054 12.8362 3.24569 12.6468C3.26503 12.5561 3.31274 12.4054 3.44296 12.2845C3.58407 12.1538 3.76357 12.1108 3.92929 12.1361ZM11.4869 11.7454C11.7171 11.7138 11.9466 11.8478 12.0269 12.0755C12.1125 12.3193 11.996 12.5828 11.7672 12.6908C11.7629 12.696 11.7547 12.705 11.7457 12.721C11.7178 12.7706 11.6872 12.8577 11.6793 12.9779C11.6641 13.2098 11.7368 13.5618 12.0719 13.9544C12.2511 14.1644 12.226 14.4802 12.0162 14.6595C11.8063 14.8387 11.4905 14.8145 11.3111 14.6048C10.8215 14.0312 10.6473 13.4258 10.6812 12.9115C10.698 12.6589 10.7662 12.4249 10.8746 12.2318C10.9645 12.0719 11.1042 11.9039 11.3004 11.807L11.3873 11.7699L11.4869 11.7454ZM6.34433 5.79427C6.34433 5.2357 6.77597 5.23572 6.77597 5.79427C6.77598 6.35264 6.99039 6.69727 7.06405 6.78743C7.13767 6.87749 7.26539 7.15945 7.72421 7.1595C8.18243 7.15988 8.18243 7.65527 7.72421 7.65559C7.26539 7.65559 7.19209 7.872 7.06405 8.02864C6.93609 8.18525 6.77798 8.41728 6.77792 8.96126C6.77792 9.50588 6.34628 9.51978 6.34628 8.96126C6.34618 8.40366 6.07586 8.067 6.04452 8.02864C6.01377 7.99102 5.69583 7.65582 5.33651 7.65559C4.97705 7.65559 4.98054 7.1595 5.33651 7.1595C5.69183 7.15932 5.92411 6.87024 5.99179 6.78743C6.05914 6.70504 6.3443 6.3528 6.34433 5.79427Z" 14 + d="M2.73574 18.3601C2.73594 17.677 3.32247 17.677 3.32266 18.3601C3.32265 19.0436 3.61416 19.4657 3.71426 19.5759C3.81434 19.6861 3.98716 20.0308 4.61074 20.031C5.23458 20.031 5.23458 20.6384 4.61074 20.6384C3.98718 20.6385 3.88832 20.9028 3.71426 21.0945C3.54023 21.2861 3.32466 21.5701 3.32461 22.2361C3.32461 22.9025 2.7377 22.9195 2.7377 22.2361C2.73762 21.5527 2.36936 21.1405 2.32754 21.0945C2.28512 21.0478 1.853 20.6384 1.36465 20.6384C0.876077 20.6383 0.880828 20.0311 1.36465 20.031C1.84797 20.031 2.16417 19.6773 2.25625 19.5759C2.34783 19.4751 2.73574 19.0436 2.73574 18.3601ZM18.725 14.1091C18.7252 13.4672 19.2219 13.4672 19.2221 14.1091C19.2221 14.7515 19.4685 15.1481 19.5531 15.2517C19.6378 15.3554 19.7838 15.6792 20.3109 15.6794C20.8386 15.6795 20.8386 16.2507 20.3109 16.2507C19.7836 16.2508 19.7003 16.4993 19.5531 16.6794C19.406 16.8595 19.2231 17.126 19.223 17.7517C19.223 18.378 18.727 18.394 18.727 17.7517C18.7268 17.1115 18.4172 16.7246 18.3803 16.6794C18.3449 16.6361 17.9791 16.2509 17.5658 16.2507C17.1524 16.2507 17.1564 15.6794 17.5658 15.6794C17.9747 15.6792 18.2421 15.3467 18.3197 15.2517C18.3972 15.1569 18.725 14.7515 18.725 14.1091ZM6.01504 2.10422C6.64672 1.86255 7.22531 2.08061 7.63613 2.35715C8.04078 2.62974 8.39493 3.02782 8.6791 3.38937C8.96575 3.75413 9.23277 4.15115 9.4291 4.42941C9.66781 4.76781 9.58772 5.23649 9.24942 5.47531C8.91117 5.71399 8.44342 5.63262 8.20449 5.29465C7.98157 4.97871 7.75345 4.63961 7.49844 4.31516C7.24118 3.98794 7.00509 3.7411 6.79922 3.60227C6.70062 3.53584 6.63296 3.51125 6.59707 3.50363C6.57086 3.49816 6.56136 3.5017 6.55117 3.50559C6.51034 3.52147 6.30941 3.63402 6.04531 4.20187C5.92473 4.46131 5.6231 5.3269 5.2582 6.41965C5.18458 6.44275 5.13122 6.45949 5.12442 6.4675C5.12096 6.47173 5.11732 6.47502 5.11465 6.47824C4.82271 6.50596 4.53899 6.63022 4.3207 6.85715C4.08293 7.1045 3.97509 7.42056 3.97403 7.7175C3.97307 8.01459 4.07883 8.33353 4.31875 8.58371C4.37493 8.64225 4.43571 8.69333 4.49942 8.73801C4.28198 9.41064 4.07702 10.0582 3.90371 10.6013C4.17677 10.6273 4.44785 10.6908 4.70645 10.782C5.48747 11.0575 6.25304 11.6133 6.87539 12.363C7.04578 12.2775 7.22917 12.2287 7.41543 12.2058C7.85216 12.1521 8.2996 12.238 8.725 12.4275C8.84684 11.905 9.09849 11.4161 9.50039 10.9997C10.9871 9.45971 13.5373 9.9353 15.1488 11.4909C15.2814 11.6189 15.406 11.7542 15.5238 11.8943C15.6783 11.406 15.8673 10.8112 16.0648 10.1833C16.56 8.6093 17.1137 6.83716 17.3559 6.02316C17.6591 5.00414 18.0908 4.23252 18.7084 3.80344C19.383 3.33506 20.1254 3.37467 20.765 3.65305C21.3731 3.91782 21.9314 4.40937 22.4086 4.9509C22.8945 5.5023 23.3404 6.15682 23.7123 6.8132C23.9161 7.1734 23.7901 7.63045 23.4301 7.83469C23.0699 8.0388 22.612 7.91243 22.4076 7.55246C22.0747 6.96499 21.6866 6.39942 21.2836 5.94211C20.8721 5.47527 20.4858 5.16816 20.1664 5.02902C19.8785 4.90368 19.7094 4.93407 19.5629 5.03586C19.3593 5.17764 19.0585 5.55655 18.7924 6.4509C18.5462 7.27848 17.9894 9.06251 17.4955 10.6325C17.2481 11.419 17.0154 12.1546 16.8451 12.6931C16.76 12.9622 16.6914 13.1829 16.643 13.3357C16.6189 13.4117 16.6001 13.471 16.5873 13.5114C16.5809 13.5317 16.575 13.5479 16.5717 13.5583C16.5702 13.563 16.5686 13.5665 16.5678 13.5691V13.572L16.5668 13.573C16.5529 13.6167 16.5338 13.6578 16.5131 13.697C16.8827 14.9111 16.7312 16.1929 15.8383 17.1179C14.3515 18.6579 11.8014 18.1824 10.1898 16.6267C9.51025 15.9705 9.01744 15.1405 8.78555 14.2849C8.38066 13.8654 7.97524 13.7099 7.71035 13.696C7.92323 14.1726 8.05891 14.6578 8.10391 15.1267C8.18663 15.9904 7.96998 16.9098 7.23672 17.4831C6.5035 18.0562 5.55974 18.0451 4.7416 17.7566C3.91355 17.4644 3.10015 16.8593 2.45938 16.0398C1.81865 15.2203 1.42795 14.2849 1.34414 13.4109C1.263 12.5629 1.47081 11.6627 2.17227 11.0876C2.42418 10.2882 2.91291 8.75338 3.3959 7.27512C3.92269 5.66282 4.47194 4.03132 4.68692 3.56906C5.00955 2.87553 5.42899 2.32864 6.01504 2.10422ZM14.1068 12.57C12.8142 11.3223 11.2556 11.3413 10.5795 12.0417C9.90368 12.7423 9.93958 14.2999 11.2318 15.5476C12.5242 16.7952 14.0828 16.7769 14.7592 16.0769C15.4353 15.3765 15.3992 13.8179 14.1068 12.57ZM4.2084 12.197C3.67891 12.0102 3.32604 12.0888 3.13516 12.238C2.94454 12.3875 2.78478 12.71 2.83828 13.2683C2.89091 13.8169 3.14937 14.4871 3.64102 15.1159C4.13271 15.7448 4.72083 16.1581 5.24063 16.3415C5.76959 16.5281 6.12197 16.4505 6.31289 16.3015C6.50367 16.1522 6.66419 15.8287 6.61074 15.2702C6.55812 14.7216 6.29867 14.0514 5.80703 13.4226C5.31545 12.7939 4.72812 12.3805 4.2084 12.197ZM12.2455 15.0915C12.4186 14.8766 12.7336 14.8424 12.9486 15.0154C12.9871 15.0463 13.0714 15.0977 13.1752 15.1413C13.224 15.1618 13.27 15.1771 13.308 15.1872C13.3434 15.1966 13.362 15.1986 13.3656 15.1989C13.6417 15.2043 13.8622 15.4326 13.8568 15.7087C13.8514 15.9846 13.623 16.2041 13.3471 16.1989C13.1491 16.1951 12.9425 16.1273 12.7875 16.0622C12.6258 15.9942 12.4532 15.9004 12.3217 15.7946C12.1068 15.6215 12.0726 15.3066 12.2455 15.0915ZM3.83535 12.4489L3.90567 12.4626L3.99942 12.5007C4.20667 12.6061 4.31928 12.8459 4.25528 13.0788C4.23363 13.1573 4.19141 13.2246 4.14004 13.281C4.14305 13.3013 4.14533 13.3252 4.15078 13.3513C4.20305 13.6007 4.35016 13.9576 4.61172 14.28C4.78552 14.4943 4.75352 14.8101 4.53945 14.9841C4.32517 15.158 4.00943 15.1249 3.83535 14.9109C3.47023 14.4609 3.2561 13.956 3.17227 13.5554C3.13229 13.3642 3.11147 13.1491 3.15176 12.9597C3.1711 12.8689 3.2188 12.7183 3.34903 12.5974C3.49014 12.4666 3.66964 12.4237 3.83535 12.4489ZM11.393 12.0583C11.6232 12.0267 11.8527 12.1607 11.933 12.3884C12.0186 12.6322 11.9021 12.8956 11.6732 13.0036C11.6689 13.0089 11.6608 13.0179 11.6518 13.0339C11.6239 13.0835 11.5933 13.1706 11.5854 13.2907C11.5701 13.5227 11.6429 13.8747 11.9779 14.2673C12.1572 14.4773 12.1321 14.7931 11.9223 14.9724C11.7123 15.1516 11.3965 15.1274 11.2172 14.9177C10.7276 14.3441 10.5534 13.7387 10.5873 13.2243C10.604 12.9718 10.6723 12.7377 10.7807 12.5446C10.8705 12.3848 11.0103 12.2168 11.2064 12.1198L11.2934 12.0827L11.393 12.0583ZM6.25039 6.10715C6.25039 5.54858 6.68204 5.5486 6.68203 6.10715C6.68205 6.66552 6.89645 7.01015 6.97012 7.10031C7.04374 7.19038 7.17145 7.47233 7.63028 7.47238C8.08849 7.47276 8.08849 7.96815 7.63028 7.96848C7.17145 7.96848 7.09816 8.18488 6.97012 8.34152C6.84216 8.49813 6.68405 8.73016 6.68399 9.27414C6.68399 9.81876 6.25235 9.83266 6.25235 9.27414C6.25224 8.71654 5.98193 8.37988 5.95059 8.34152C5.91984 8.3039 5.6019 7.9687 5.24258 7.96848C4.88311 7.96848 4.8866 7.47238 5.24258 7.47238C5.59789 7.4722 5.83017 7.18312 5.89785 7.10031C5.9652 7.01792 6.25037 6.66568 6.25039 6.10715Z" 14 15 fill="currentColor" 15 16 /> 16 17 </svg>
+19
components/Icons/WriterSmall.tsx
··· 1 + import { Props } from "./Props"; 2 + 3 + export const WriterSmall = (props: Props) => { 4 + return ( 5 + <svg 6 + width="24" 7 + height="24" 8 + viewBox="0 0 24 24" 9 + fill="none" 10 + xmlns="http://www.w3.org/2000/svg" 11 + {...props} 12 + > 13 + <path 14 + d="M12.8808 22.0391C13.2948 22.0391 13.6304 22.3752 13.6308 22.7891C13.6306 23.203 13.2948 23.5389 12.8808 23.5391H4.92087C4.50702 23.5387 4.17194 23.203 4.17185 22.7891C4.17211 22.3751 4.5078 22.0391 4.92185 22.0391H12.8808ZM16.459 22.0391C16.8728 22.0392 17.2086 22.3752 17.209 22.7891C17.2088 23.2031 16.873 23.539 16.459 23.5391H14.7275C14.3134 23.5391 13.9777 23.2032 13.9775 22.7891C13.9778 22.3753 14.3128 22.0394 14.7265 22.0391H16.459ZM19.3564 22.0391C19.7705 22.0391 20.1071 22.3751 20.1074 22.7891C20.1073 23.2031 19.7714 23.5389 19.3574 23.5391H19.0635C18.6493 23.539 18.3135 23.2032 18.3135 22.7891C18.3137 22.3751 18.6495 22.0392 19.0635 22.0391H19.3564ZM10.1855 0.950222C10.3045 0.626539 10.6635 0.459613 10.9873 0.578152C11.3111 0.697051 11.4779 1.05701 11.3594 1.38089L9.4404 6.60842C11.2712 6.62023 12.534 6.984 13.6426 7.69924C13.9325 7.88633 14.016 8.2735 13.8291 8.5635C13.6419 8.85336 13.2548 8.93714 12.9648 8.75002C12.0834 8.18125 11.0469 7.85792 9.35154 7.85744C8.40737 7.85725 7.83011 8.29872 7.62888 8.71389C7.52952 8.91924 7.5134 9.12534 7.57224 9.31349C7.60658 9.42299 7.67297 9.54419 7.78611 9.66701C7.8081 9.64379 7.82999 9.6196 7.85251 9.59572C7.72688 9.31573 7.82074 8.97928 8.08787 8.81154C9.11751 8.16703 10.4737 8.28506 11.5732 8.68654C12.674 9.08861 13.7516 9.85814 14.2021 10.8174C14.371 11.1772 14.1513 11.6095 13.7685 11.6924C13.7617 11.7923 13.7544 11.8969 13.748 12.0049C14.1962 12.082 14.4968 12.046 14.6826 11.9756C14.8825 11.8997 14.9818 11.7762 15.0293 11.6182C15.1422 11.2404 14.9722 10.5056 14.2744 9.82814C14.0272 9.58772 14.0216 9.19189 14.2617 8.94435C14.5021 8.69712 14.8979 8.6915 15.1455 8.93166C15.3345 9.11519 15.5055 9.31499 15.6552 9.52443L17.8857 6.6133C18.0956 6.33963 18.4878 6.28747 18.7617 6.49709C19.0354 6.70683 19.0881 7.0991 18.8789 7.37307L16.249 10.8028C16.3391 11.2028 16.3391 11.6038 16.2275 11.9766C16.0692 12.5048 15.692 12.9296 15.125 13.1445C14.7132 13.3005 14.2295 13.3348 13.6894 13.2608C13.6825 13.4465 13.6757 13.6333 13.6699 13.8174C13.6519 14.3885 13.6397 14.9235 13.6318 15.3154C13.625 15.654 13.6211 15.8899 13.6201 15.9443C13.6201 16.2235 13.4305 16.4762 13.1601 16.5498C12.7201 16.6232 12.2788 16.6722 11.8427 16.7764C11.1206 16.949 10.2109 17.2517 9.40134 17.7647C7.89664 18.7182 6.97599 19.4365 6.3613 19.9883C5.74196 20.5443 5.43673 20.9247 5.09861 21.2852C4.91911 21.4765 4.6388 21.5354 4.39744 21.4326C4.1565 21.3297 4.00507 21.0869 4.01853 20.8252C4.17895 17.7398 4.63069 14.9266 5.55173 12.1611L5.59568 12.0596C5.61302 12.0278 5.63354 11.9972 5.65623 11.9688C6.10821 11.4021 6.46823 11.0234 6.88767 10.5947C6.89692 10.5853 6.90569 10.575 6.91501 10.5654C6.66279 10.3067 6.48116 10.0099 6.37986 9.68654C6.21786 9.1688 6.2782 8.63513 6.50388 8.16896C6.78976 7.5789 7.32765 7.10847 8.02146 6.84377L10.1855 0.950222ZM11.1445 9.86135C10.5565 9.64663 9.98214 9.56714 9.49802 9.62502C9.47457 9.6687 9.44776 9.71158 9.41306 9.75002C8.68746 10.5525 8.19322 11.0477 7.78122 11.4688C7.39591 11.8626 7.0838 12.1914 6.70212 12.6631C6.27084 13.9767 5.94845 15.307 5.71482 16.6826C6.1386 15.806 6.61502 14.9664 7.22654 14.0108C7.01626 13.3116 7.75399 11.8362 8.61033 11.6953C9.11052 11.6133 9.62805 11.94 9.67185 12.4834C9.72674 13.1687 9.35942 13.6875 8.95505 14.0547C8.71606 14.2717 8.41197 14.4145 8.124 14.4619C7.14963 15.9751 6.53411 17.1724 5.91208 18.7236C6.5649 18.1767 7.45483 17.5176 8.7324 16.708C9.70022 16.0948 10.7551 15.7512 11.5527 15.5606C11.8711 15.4845 12.1537 15.4336 12.3789 15.3975C12.3868 14.9958 12.401 14.4083 12.4209 13.7774C12.4553 12.684 12.512 11.4022 12.6025 10.7354C12.2417 10.3934 11.7319 10.076 11.1445 9.86135Z" 15 + fill="currentColor" 16 + /> 17 + </svg> 18 + ); 19 + };