add board buttons row for mobile and desktop, global styling for button

This commit is contained in:
plebeius.eth
2024-03-22 12:09:17 +01:00
parent 7e33a5de8e
commit 80c3a51328
9 changed files with 123 additions and 50 deletions
@@ -0,0 +1,20 @@
.mobileBoardButtons {
text-align: center;
margin-top: 9px;
}
.mobileBoardButtons button {
margin: 0 2px;
}
@media (max-width: 640px) {
.desktopBoardButtons {
display: none;
}
}
@media (min-width: 640px) {
.mobileBoardButtons {
display: none;
}
}
@@ -0,0 +1,42 @@
import { useSubscribe } from '@plebbit/plebbit-react-hooks';
import styles from './board-buttons.module.css';
interface BoardButtonsProps {
address: string;
}
const OptionsButton = () => {
return <button className='button'>options</button>;
};
const CatalogButton = () => {
return <button className='button'>catalog</button>;
};
const SubscribeButton = ({ address }: BoardButtonsProps) => {
const { subscribed, subscribe, unsubscribe } = useSubscribe({ subplebbitAddress: address });
return (
<button className='button' onClick={subscribed ? unsubscribe : subscribe}>
{subscribed ? 'Unsubscribe' : 'Subscribe'}
</button>
);
};
export const MobileBoardButtons = ({ address }: BoardButtonsProps) => {
return (
<div className={styles.mobileBoardButtons}>
<OptionsButton />
<CatalogButton />
<SubscribeButton address={address} />
</div>
);
};
export const DesktopBoardButtons = ({ address }: BoardButtonsProps) => {
return (
<div className={styles.desktopBoardButtons}>
<SubscribeButton address={address} />
</div>
);
};
+1
View File
@@ -0,0 +1 @@
export { MobileBoardButtons, DesktopBoardButtons } from './board-buttons';