a tool for shared writing and social publishing
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'main' into feature/create-publication

+27 -17
+4 -4
components/ActionBar/ActionButton.tsx
··· 37 37 actionButton relative font-bold 38 38 rounded-md border 39 39 flex gap-2 items-center sm:justify-start justify-center 40 - p-1 sm:mr-0 last:mr-0 first:mr-2 sm:first:mr-0 40 + p-1 sm:mx-0 41 41 ${ 42 42 props.primary 43 - ? "w-full bg-accent-1 border-accent-1 text-accent-2 transparent-outline sm:hover:outline-accent-contrast focus:outline-accent-1 outline-offset-1 mr-2" 43 + ? "w-full bg-accent-1 border-accent-1 text-accent-2 transparent-outline sm:hover:outline-accent-contrast focus:outline-accent-1 outline-offset-1 mx-1 first:ml-0" 44 44 : props.secondary 45 - ? "sm:w-full w-max bg-bg-page border-accent-contrast text-accent-contrast transparent-outline focus:outline-accent-contrast sm:hover:outline-accent-contrast outline-offset-1 mr-2" 46 - : "sm:w-full w-max border-transparent text-accent-1 sm:hover:border-accent-1 mr-1" 45 + ? "sm:w-full w-max 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" 46 + : "sm:w-full w-max border-transparent text-accent-1 sm:hover:border-accent-1" 47 47 } 48 48 `} 49 49 >
+2 -2
components/ActionBar/Footer.tsx
··· 8 8 actionFooter touch-none 9 9 w-full z-10 10 10 px-2 pt-1 pwa-padding-bottom 11 - flex justify-start 12 - h-[calc(45px+var(--safe-padding-bottom))] 11 + flex justify-start gap-1 12 + h-[calc(38px+var(--safe-padding-bottom))] 13 13 bg-[rgba(var(--bg-page),0.5)] border-top border-bg-page`} 14 14 > 15 15 {props.children}
+5 -4
components/Buttons.tsx
··· 68 68 } = props; 69 69 return ( 70 70 <button 71 - {...props} 71 + {...buttonProps} 72 72 ref={ref} 73 73 className={`m-0 h-max 74 74 ${fullWidth ? "w-full" : fullWidthOnMobile ? "w-full sm:w-max" : "w-max"} ··· 96 96 compact?: boolean; 97 97 } & ButtonProps 98 98 >((props, ref) => { 99 + let { fullWidth, children, compact, ...buttonProps } = props; 99 100 return ( 100 101 <button 101 - {...props} 102 + {...buttonProps} 102 103 ref={ref} 103 - className={`m-0 h-max ${props.fullWidth ? "w-full" : "w-max"} ${props.compact ? "px-0" : "px-1"} 104 + className={`m-0 h-max ${fullWidth ? "w-full" : "w-max"} ${compact ? "px-0" : "px-1"} 104 105 bg-transparent text-base font-bold text-accent-contrast 105 106 flex gap-2 items-center justify-center shrink-0 106 107 hover:underline disabled:text-border 107 108 ${props.className} 108 109 `} 109 110 > 110 - {props.children} 111 + {children} 111 112 </button> 112 113 ); 113 114 });
+5 -5
components/HomeButton.tsx
··· 19 19 <Link 20 20 href="/home" 21 21 prefetch 22 - className="hover:no-underline first:mr-2" 22 + className="hover:no-underline" 23 23 style={{ textDecorationLine: "none !important" }} 24 24 > 25 25 <ActionButton icon={<HomeSmall />} label="Go Home" /> ··· 42 42 ) 43 43 return null; 44 44 return ( 45 - <button 45 + <ActionButton 46 46 onClick={async (e) => { 47 47 await addLeafletToHome(permission_token.id); 48 48 mutate((identity) => { ··· 66 66 text: "Leaflet added to your home!", 67 67 }); 68 68 }} 69 - > 70 - <ActionButton icon={<AddToHomeSmall />} label="Add to Home" /> 71 - </button> 69 + icon={<AddToHomeSmall />} 70 + label="Add to Home" 71 + /> 72 72 ); 73 73 };
+10 -1
components/Layout.tsx
··· 2 2 import { theme } from "tailwind.config"; 3 3 import { NestedCardThemeProvider } from "./ThemeManager/ThemeProvider"; 4 4 import { PopoverArrow } from "./Icons/PopoverArrow"; 5 + import { PopoverOpenContext } from "./Popover"; 6 + import { useState } from "react"; 5 7 6 8 export const Separator = (props: { classname?: string }) => { 7 9 return ( ··· 20 22 onOpenChange?: (o: boolean) => void; 21 23 asChild?: boolean; 22 24 }) => { 25 + let [open, setOpen] = useState(props.open || false); 23 26 return ( 24 - <DropdownMenu.Root onOpenChange={props.onOpenChange} open={props.open}> 27 + <DropdownMenu.Root 28 + onOpenChange={(o) => { 29 + setOpen(o); 30 + props.onOpenChange?.(o); 31 + }} 32 + open={props.open} 33 + > 25 34 <DropdownMenu.Trigger asChild={props.asChild}> 26 35 {props.trigger} 27 36 </DropdownMenu.Trigger>
+1 -1
components/Toolbar/index.tsx
··· 85 85 <Tooltip.Provider> 86 86 <div 87 87 className={`toolbar flex gap-2 items-center justify-between w-full 88 - ${isMobile ? "h-[calc(21px+var(--safe-padding-bottom))]" : "h-[26px]"}`} 88 + ${isMobile ? "h-[calc(15px+var(--safe-padding-bottom))]" : "h-[26px]"}`} 89 89 > 90 90 <div className="toolbarOptions flex gap-1 sm:gap-[6px] items-center grow"> 91 91 {toolbarState === "default" ? (