Compare commits

..

No commits in common. "d7e13584950501440517b33e8dd254110f08016a" and "5742932c8609dee1de254a5f0bee5f957592408c" have entirely different histories.

8 changed files with 83 additions and 105 deletions

View file

@ -1,8 +1,6 @@
import { createCacheBucket } from "~platform/cache"; import { createCacheBucket } from "~platform/cache";
export const CACHE_BUCKET_NAME = "mastodon" export const cacheBucket = /* @__PURE__ */ createCacheBucket("mastodon");
export const cacheBucket = /* @__PURE__ */ createCacheBucket(CACHE_BUCKET_NAME);
export function toSmallCamelCase<T>(object: T) :T { export function toSmallCamelCase<T>(object: T) :T {
if (!object || typeof object !== "object") { if (!object || typeof object !== "object") {

View file

@ -1,31 +1,6 @@
.AppTopBar { .AppTopBar {
&::before { & > .toolbar {
contain: strict;
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: var(--safe-area-inset-top, 0);
background-color: rgba(0, 0, 0, 0.2);
}
&>.MuiToolbar-root {
padding-top: var(--safe-area-inset-top, 0px); padding-top: var(--safe-area-inset-top, 0px);
gap: 8px; gap: 8px;
&>button:first-child,
&>.MuiButtonBase-root:first-child {
margin-left: -0.15em;
}
&>button:last-child,
&>.MuiButtonBase-root:last-child {
margin-right: -0.15em;
}
&>.title {
margin-top: -0.2ch;
}
} }
} }

View file

@ -20,6 +20,7 @@ const AppTopBar: ParentComponent<{
> >
<Toolbar <Toolbar
variant={windowSize.width > windowSize.height ? "dense" : "regular"} variant={windowSize.width > windowSize.height ? "dense" : "regular"}
class="toolbar"
sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }} sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }}
> >
{props.children} {props.children}

View file

@ -25,7 +25,6 @@ import type { Template } from "@solid-primitives/i18n";
import { useStore } from "@nanostores/solid"; import { useStore } from "@nanostores/solid";
import { $settings } from "./stores"; import { $settings } from "./stores";
import { useNavigator } from "~platform/StackedRouter"; import { useNavigator } from "~platform/StackedRouter";
import AppTopBar from "~material/AppTopBar";
const ChooseLang: Component = () => { const ChooseLang: Component = () => {
const { pop } = useNavigator(); const { pop } = useNavigator();
@ -55,12 +54,17 @@ const ChooseLang: Component = () => {
return ( return (
<Scaffold <Scaffold
topbar={ topbar={
<AppTopBar> <AppBar position="static">
<IconButton color="inherit" onClick={[pop, 1]} disableRipple> <Toolbar
<ArrowBack /> variant="dense"
</IconButton> sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }}
<Title>{t("Choose Language")}</Title> >
</AppTopBar> <IconButton color="inherit" onClick={[pop, 1]} disableRipple>
<ArrowBack />
</IconButton>
<Title>{t("Choose Language")}</Title>
</Toolbar>
</AppBar>
} }
> >
<List <List

View file

@ -18,7 +18,6 @@ import { createTranslator } from "~platform/i18n";
import { useStore } from "@nanostores/solid"; import { useStore } from "@nanostores/solid";
import { $settings } from "./stores"; import { $settings } from "./stores";
import { useNavigator } from "~platform/StackedRouter"; import { useNavigator } from "~platform/StackedRouter";
import AppTopBar from "~material/AppTopBar";
const Motions: Component = () => { const Motions: Component = () => {
const {pop} = useNavigator(); const {pop} = useNavigator();
@ -32,12 +31,17 @@ const Motions: Component = () => {
return ( return (
<Scaffold <Scaffold
topbar={ topbar={
<AppTopBar> <AppBar position="static">
<IconButton color="inherit" onClick={[pop, 1]} disableRipple> <Toolbar
variant="dense"
sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }}
>
<IconButton color="inherit" onClick={[pop, 1]} disableRipple>
<ArrowBack /> <ArrowBack />
</IconButton> </IconButton>
<Title>{t("motions")}</Title> <Title>{t("motions")}</Title>
</AppTopBar> </Toolbar>
</AppBar>
} }
> >
<List <List

View file

@ -23,10 +23,9 @@ import type { Template } from "@solid-primitives/i18n";
import { $settings } from "./stores"; import { $settings } from "./stores";
import { useStore } from "@nanostores/solid"; import { useStore } from "@nanostores/solid";
import { useNavigator } from "~platform/StackedRouter"; import { useNavigator } from "~platform/StackedRouter";
import AppTopBar from "~material/AppTopBar";
const ChooseRegion: Component = () => { const ChooseRegion: Component = () => {
const { pop } = useNavigator(); const {pop} = useNavigator();
const [t] = createTranslator( const [t] = createTranslator(
() => import("./i18n/generic.json"), () => import("./i18n/generic.json"),
(code) => (code) =>
@ -50,12 +49,17 @@ const ChooseRegion: Component = () => {
return ( return (
<Scaffold <Scaffold
topbar={ topbar={
<AppTopBar> <AppBar position="static">
<IconButton color="inherit" onClick={[pop, 1]} disableRipple> <Toolbar
<ArrowBack /> variant="dense"
</IconButton> sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }}
<Title>{t("Choose Region")}</Title> >
</AppTopBar> <IconButton color="inherit" onClick={[pop, 1]} disableRipple>
<ArrowBack />
</IconButton>
<Title>{t("Choose Region")}</Title>
</Toolbar>
</AppBar>
} }
> >
<List <List

View file

@ -18,7 +18,6 @@ import {
import { import {
Animation as AnimationIcon, Animation as AnimationIcon,
Close as CloseIcon, Close as CloseIcon,
DeleteForever,
Logout, Logout,
Public as PublicIcon, Public as PublicIcon,
Refresh as RefreshIcon, Refresh as RefreshIcon,
@ -41,7 +40,6 @@ import { type Template } from "@solid-primitives/i18n";
import { useServiceWorker } from "~platform/host.js"; import { useServiceWorker } from "~platform/host.js";
import { useSessions } from "../masto/clients.js"; import { useSessions } from "../masto/clients.js";
import { useNavigator } from "~platform/StackedRouter.jsx"; import { useNavigator } from "~platform/StackedRouter.jsx";
import AppTopBar from "~material/AppTopBar.jsx";
type Inset = { type Inset = {
top?: number; top?: number;
@ -143,16 +141,11 @@ function setupSafeAreaEmulation(name: string) {
} }
} }
const $$SAFE_AREA_EMU = "$$SAFE_AREA_EMU";
if (import.meta.hot) { if (import.meta.hot) {
import.meta.hot.on("vite:beforeUpdate", () => { import.meta.hot.accept((mod) => {
import.meta.hot!.data[$$SAFE_AREA_EMU] = screenOrientationCallback; if (!mod) return;
});
import.meta.hot.on("vite:afterUpdate", () => {
screenOrientationCallback = import.meta.hot?.data?.[$$SAFE_AREA_EMU];
if (screenOrientationCallback) { if (screenOrientationCallback) {
mod["screenOrientationCallback"] = screenOrientationCallback;
setTimeout(screenOrientationCallback, 0); setTimeout(screenOrientationCallback, 0);
} }
}); });
@ -200,12 +193,17 @@ const Settings: Component = () => {
return ( return (
<Scaffold <Scaffold
topbar={ topbar={
<AppTopBar> <AppBar position="static">
<IconButton color="inherit" onClick={[pop, 1]} disableRipple> <Toolbar
<CloseIcon /> variant="dense"
</IconButton> sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }}
<Title>{t("Settings")}</Title> >
</AppTopBar> <IconButton color="inherit" onClick={[pop, 1]} disableRipple>
<CloseIcon />
</IconButton>
<Title>{t("Settings")}</Title>
</Toolbar>
</AppBar>
} }
> >
<List class="setting-list" use:solid-styled> <List class="setting-list" use:solid-styled>
@ -272,17 +270,6 @@ const Settings: Component = () => {
</ListItemButton> </ListItemButton>
<Divider /> <Divider />
</li> </li>
<li>
<ListSubheader>Storage</ListSubheader>
<ListItemButton disabled>
<ListItemIcon>
<DeleteForever />
</ListItemIcon>
<ListItemText secondary={"The cache is managed by your browser."}>
Clear cache...
</ListItemText>
</ListItemButton>
</li>
<li> <li>
<ListSubheader>{t("This Application")}</ListSubheader> <ListSubheader>{t("This Application")}</ListSubheader>
<ListItemButton component={A} href="./language"> <ListItemButton component={A} href="./language">

View file

@ -31,7 +31,6 @@ import {
createSingluarItemSelection, createSingluarItemSelection,
default as ItemSelectionProvider, default as ItemSelectionProvider,
} from "./toots/ItemSelectionProvider"; } from "./toots/ItemSelectionProvider";
import AppTopBar from "~material/AppTopBar";
const Home: ParentComponent = (props) => { const Home: ParentComponent = (props) => {
let panelList: HTMLDivElement; let panelList: HTMLDivElement;
@ -166,34 +165,40 @@ const Home: ParentComponent = (props) => {
<> <>
<Scaffold <Scaffold
topbar={ topbar={
<AppTopBar> <AppBar position="static">
<Tabs> <Toolbar
<Tab focus={isTabFocus(0)} onClick={[onTabClick, 0]}> variant="dense"
Home class="responsive"
</Tab> sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }}
<Tab focus={isTabFocus(1)} onClick={[onTabClick, 1]}> >
Trending <Tabs>
</Tab> <Tab focus={isTabFocus(0)} onClick={[onTabClick, 0]}>
<Tab focus={isTabFocus(2)} onClick={[onTabClick, 2]}> Home
Public </Tab>
</Tab> <Tab focus={isTabFocus(1)} onClick={[onTabClick, 1]}>
</Tabs> Trending
<ProfileMenuButton profile={profiles()[0]}> </Tab>
<MenuItem <Tab focus={isTabFocus(2)} onClick={[onTabClick, 2]}>
onClick={(e) => Public
$settings.setKey( </Tab>
"prefetchTootsDisabled", </Tabs>
!$settings.get().prefetchTootsDisabled, <ProfileMenuButton profile={profiles()[0]}>
) <MenuItem
} onClick={(e) =>
> $settings.setKey(
<ListItemText>Prefetch Toots</ListItemText> "prefetchTootsDisabled",
<ListItemSecondaryAction> !$settings.get().prefetchTootsDisabled,
<Switch checked={prefetching()}></Switch> )
</ListItemSecondaryAction> }
</MenuItem> >
</ProfileMenuButton> <ListItemText>Prefetch Toots</ListItemText>
</AppTopBar> <ListItemSecondaryAction>
<Switch checked={prefetching()}></Switch>
</ListItemSecondaryAction>
</MenuItem>
</ProfileMenuButton>
</Toolbar>
</AppBar>
} }
> >
<ItemSelectionProvider value={selectionState}> <ItemSelectionProvider value={selectionState}>