Compare commits
6 commits
5742932c86
...
d7e1358495
Author | SHA1 | Date | |
---|---|---|---|
|
d7e1358495 | ||
|
59c7a5c588 | ||
|
8d04874bce | ||
|
4df609f1f5 | ||
|
81b5fe1450 | ||
|
2da07a8d01 |
8 changed files with 105 additions and 83 deletions
|
@ -1,6 +1,8 @@
|
||||||
import { createCacheBucket } from "~platform/cache";
|
import { createCacheBucket } from "~platform/cache";
|
||||||
|
|
||||||
export const cacheBucket = /* @__PURE__ */ createCacheBucket("mastodon");
|
export const CACHE_BUCKET_NAME = "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") {
|
||||||
|
|
|
@ -1,6 +1,31 @@
|
||||||
.AppTopBar {
|
.AppTopBar {
|
||||||
& > .toolbar {
|
&::before {
|
||||||
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -20,7 +20,6 @@ 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}
|
||||||
|
|
|
@ -25,6 +25,7 @@ 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();
|
||||||
|
@ -54,17 +55,12 @@ const ChooseLang: Component = () => {
|
||||||
return (
|
return (
|
||||||
<Scaffold
|
<Scaffold
|
||||||
topbar={
|
topbar={
|
||||||
<AppBar position="static">
|
<AppTopBar>
|
||||||
<Toolbar
|
|
||||||
variant="dense"
|
|
||||||
sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }}
|
|
||||||
>
|
|
||||||
<IconButton color="inherit" onClick={[pop, 1]} disableRipple>
|
<IconButton color="inherit" onClick={[pop, 1]} disableRipple>
|
||||||
<ArrowBack />
|
<ArrowBack />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
<Title>{t("Choose Language")}</Title>
|
<Title>{t("Choose Language")}</Title>
|
||||||
</Toolbar>
|
</AppTopBar>
|
||||||
</AppBar>
|
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<List
|
<List
|
||||||
|
|
|
@ -18,6 +18,7 @@ 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();
|
||||||
|
@ -31,17 +32,12 @@ const Motions: Component = () => {
|
||||||
return (
|
return (
|
||||||
<Scaffold
|
<Scaffold
|
||||||
topbar={
|
topbar={
|
||||||
<AppBar position="static">
|
<AppTopBar>
|
||||||
<Toolbar
|
|
||||||
variant="dense"
|
|
||||||
sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }}
|
|
||||||
>
|
|
||||||
<IconButton color="inherit" onClick={[pop, 1]} disableRipple>
|
<IconButton color="inherit" onClick={[pop, 1]} disableRipple>
|
||||||
<ArrowBack />
|
<ArrowBack />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
<Title>{t("motions")}</Title>
|
<Title>{t("motions")}</Title>
|
||||||
</Toolbar>
|
</AppTopBar>
|
||||||
</AppBar>
|
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<List
|
<List
|
||||||
|
|
|
@ -23,6 +23,7 @@ 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();
|
||||||
|
@ -49,17 +50,12 @@ const ChooseRegion: Component = () => {
|
||||||
return (
|
return (
|
||||||
<Scaffold
|
<Scaffold
|
||||||
topbar={
|
topbar={
|
||||||
<AppBar position="static">
|
<AppTopBar>
|
||||||
<Toolbar
|
|
||||||
variant="dense"
|
|
||||||
sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }}
|
|
||||||
>
|
|
||||||
<IconButton color="inherit" onClick={[pop, 1]} disableRipple>
|
<IconButton color="inherit" onClick={[pop, 1]} disableRipple>
|
||||||
<ArrowBack />
|
<ArrowBack />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
<Title>{t("Choose Region")}</Title>
|
<Title>{t("Choose Region")}</Title>
|
||||||
</Toolbar>
|
</AppTopBar>
|
||||||
</AppBar>
|
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<List
|
<List
|
||||||
|
|
|
@ -18,6 +18,7 @@ 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,
|
||||||
|
@ -40,6 +41,7 @@ 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;
|
||||||
|
@ -141,11 +143,16 @@ function setupSafeAreaEmulation(name: string) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const $$SAFE_AREA_EMU = "$$SAFE_AREA_EMU";
|
||||||
|
|
||||||
if (import.meta.hot) {
|
if (import.meta.hot) {
|
||||||
import.meta.hot.accept((mod) => {
|
import.meta.hot.on("vite:beforeUpdate", () => {
|
||||||
if (!mod) return;
|
import.meta.hot!.data[$$SAFE_AREA_EMU] = screenOrientationCallback;
|
||||||
|
});
|
||||||
|
|
||||||
|
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);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -193,17 +200,12 @@ const Settings: Component = () => {
|
||||||
return (
|
return (
|
||||||
<Scaffold
|
<Scaffold
|
||||||
topbar={
|
topbar={
|
||||||
<AppBar position="static">
|
<AppTopBar>
|
||||||
<Toolbar
|
|
||||||
variant="dense"
|
|
||||||
sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }}
|
|
||||||
>
|
|
||||||
<IconButton color="inherit" onClick={[pop, 1]} disableRipple>
|
<IconButton color="inherit" onClick={[pop, 1]} disableRipple>
|
||||||
<CloseIcon />
|
<CloseIcon />
|
||||||
</IconButton>
|
</IconButton>
|
||||||
<Title>{t("Settings")}</Title>
|
<Title>{t("Settings")}</Title>
|
||||||
</Toolbar>
|
</AppTopBar>
|
||||||
</AppBar>
|
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<List class="setting-list" use:solid-styled>
|
<List class="setting-list" use:solid-styled>
|
||||||
|
@ -270,6 +272,17 @@ 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">
|
||||||
|
|
|
@ -31,6 +31,7 @@ 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;
|
||||||
|
@ -165,12 +166,7 @@ const Home: ParentComponent = (props) => {
|
||||||
<>
|
<>
|
||||||
<Scaffold
|
<Scaffold
|
||||||
topbar={
|
topbar={
|
||||||
<AppBar position="static">
|
<AppTopBar>
|
||||||
<Toolbar
|
|
||||||
variant="dense"
|
|
||||||
class="responsive"
|
|
||||||
sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }}
|
|
||||||
>
|
|
||||||
<Tabs>
|
<Tabs>
|
||||||
<Tab focus={isTabFocus(0)} onClick={[onTabClick, 0]}>
|
<Tab focus={isTabFocus(0)} onClick={[onTabClick, 0]}>
|
||||||
Home
|
Home
|
||||||
|
@ -197,8 +193,7 @@ const Home: ParentComponent = (props) => {
|
||||||
</ListItemSecondaryAction>
|
</ListItemSecondaryAction>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
</ProfileMenuButton>
|
</ProfileMenuButton>
|
||||||
</Toolbar>
|
</AppTopBar>
|
||||||
</AppBar>
|
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
<ItemSelectionProvider value={selectionState}>
|
<ItemSelectionProvider value={selectionState}>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue