feat(board): add mobile footer with Start a New Thread, Top, Refresh, pagination, Catalog, Load More

This commit is contained in:
plebeius
2026-03-01 20:45:26 +08:00
parent 5e48483b21
commit 1a4e8a624b
39 changed files with 200 additions and 37 deletions
+57
View File
@@ -152,3 +152,60 @@
display: none;
}
}
/* Mobile page footer — hidden on desktop, shown on mobile */
.mobileFooter {
display: none;
}
@media (max-width: 640px) {
.mobileFooter {
display: block;
text-align: center;
padding: 0 0 16px;
}
}
.mobileFooterButtons {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 6px;
padding: 8px 8px;
}
.mobileFooterPagination {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 10px;
padding: 4px 8px;
font-size: 16px;
color: var(--boardsbar-desktop-link-text-color);
}
.mobileFooterPagination a {
text-decoration: none;
color: var(--boardsbar-desktop-link-text-color);
}
.mobileFooterPaginationCurrent {
font-weight: bold;
}
.mobileFooterLinks {
padding: 12px 8px 4px;
font-size: 10px;
text-align: center;
}
.mobileFooterLinks a {
color: var(--boardsbar-desktop-link-text-color);
text-decoration: underline;
}
.mobileFooterLinks a:hover {
color: var(--boardsbar-desktop-link-text-color-hover);
}
+16
View File
@@ -149,3 +149,19 @@ export const ThreadFooterFirstRow = ({ postCid, threadNumber, subplebbitAddress,
</div>
);
};
/* -----------------------------------------------------------------------------
* PageFooterMobile
* Mobile-only page footer with content slot and footer links.
* -------------------------------------------------------------------------- */
export const PageFooterMobile = ({ children }: { children: React.ReactNode }) => (
<footer className={styles.mobileFooter}>
<hr />
{children}
<hr />
<div className={styles.mobileFooterLinks}>
<SiteLegalMeta order='license-first' />
</div>
</footer>
);
+1 -1
View File
@@ -1,2 +1,2 @@
export { PageFooterDesktop, CatalogFooterFirstRow, ThreadFooterFirstRow, ThreadFooterStyleRow } from './footer';
export { PageFooterDesktop, PageFooterMobile, CatalogFooterFirstRow, ThreadFooterFirstRow, ThreadFooterStyleRow } from './footer';
export type { PageFooterDesktopProps, CatalogFooterFirstRowProps, ThreadFooterFirstRowProps } from './footer';