Compare commits
No commits in common. "b2d8c1bb2e425029fa2cbeb24fbf6c17573f0f47" and "ad0076156b14913e2665b0ea41feeae26b2342ac" have entirely different histories.
b2d8c1bb2e
...
ad0076156b
4 changed files with 28 additions and 61 deletions
|
@ -1,5 +0,0 @@
|
||||||
.AppTopBar {
|
|
||||||
& > .toolbar {
|
|
||||||
padding-top: var(--safe-area-inset-top, 0px);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
import { AppBar, Toolbar } from "@suid/material";
|
|
||||||
import { splitProps, type JSX, type ParentComponent } from "solid-js";
|
|
||||||
import "./AppTopBar.css";
|
|
||||||
import { useWindowSize } from "@solid-primitives/resize-observer";
|
|
||||||
|
|
||||||
const AppTopBar: ParentComponent<{
|
|
||||||
class?: string;
|
|
||||||
style?: JSX.HTMLAttributes<HTMLElement>["style"];
|
|
||||||
}> = (oprops) => {
|
|
||||||
const [props, rest] = splitProps(oprops, ["children", "class"]);
|
|
||||||
const windowSize = useWindowSize();
|
|
||||||
|
|
||||||
return (
|
|
||||||
<AppBar
|
|
||||||
class={`AppTopBar ${props.class || ""}`}
|
|
||||||
elevation={1}
|
|
||||||
position="static"
|
|
||||||
{...rest}
|
|
||||||
>
|
|
||||||
<Toolbar
|
|
||||||
variant={windowSize.width > windowSize.height ? "dense" : "regular"}
|
|
||||||
class="toolbar"
|
|
||||||
sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }}
|
|
||||||
>
|
|
||||||
{props.children}
|
|
||||||
</Toolbar>
|
|
||||||
</AppBar>
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
export default AppTopBar;
|
|
|
@ -29,10 +29,6 @@ import TootList from "./TootList";
|
||||||
import "./TootBottomSheet.css";
|
import "./TootBottomSheet.css";
|
||||||
import { useNavigator } from "~platform/StackedRouter";
|
import { useNavigator } from "~platform/StackedRouter";
|
||||||
import BackButton from "~platform/BackButton";
|
import BackButton from "~platform/BackButton";
|
||||||
import ItemSelectionProvider, {
|
|
||||||
createSingluarItemSelection,
|
|
||||||
} from "./toots/ItemSelectionProvider";
|
|
||||||
import AppTopBar from "~material/AppTopBar";
|
|
||||||
|
|
||||||
let cachedEntry: [string, mastodon.v1.Status] | undefined;
|
let cachedEntry: [string, mastodon.v1.Status] | undefined;
|
||||||
|
|
||||||
|
@ -48,11 +44,13 @@ function getCache(acct: string, id: string) {
|
||||||
|
|
||||||
const TootBottomSheet: Component = (props) => {
|
const TootBottomSheet: Component = (props) => {
|
||||||
const params = useParams<{ acct: string; id: string }>();
|
const params = useParams<{ acct: string; id: string }>();
|
||||||
const { push } = useNavigator();
|
const location = useLocation<{
|
||||||
|
tootReply?: boolean;
|
||||||
|
}>();
|
||||||
|
const { pop, push } = useNavigator();
|
||||||
const time = createTimeSource();
|
const time = createTimeSource();
|
||||||
const acctText = () => decodeURIComponent(params.acct);
|
const acctText = () => decodeURIComponent(params.acct);
|
||||||
const session = useSessionForAcctStr(acctText);
|
const session = useSessionForAcctStr(acctText);
|
||||||
const [, selectionState] = createSingluarItemSelection();
|
|
||||||
|
|
||||||
const [remoteToot, { mutate: setRemoteToot }] = createResource(
|
const [remoteToot, { mutate: setRemoteToot }] = createResource(
|
||||||
() => [session().client, params.id] as const,
|
() => [session().client, params.id] as const,
|
||||||
|
@ -249,18 +247,25 @@ const TootBottomSheet: Component = (props) => {
|
||||||
return (
|
return (
|
||||||
<Scaffold
|
<Scaffold
|
||||||
topbar={
|
topbar={
|
||||||
<AppTopBar
|
<AppBar
|
||||||
style={{
|
sx={{
|
||||||
"background-color": "var(--tutu-color-surface)",
|
backgroundColor: "var(--tutu-color-surface)",
|
||||||
color: "var(--tutu-color-on-surface)",
|
color: "var(--tutu-color-on-surface)",
|
||||||
}}
|
}}
|
||||||
|
elevation={1}
|
||||||
|
position="static"
|
||||||
|
>
|
||||||
|
<Toolbar
|
||||||
|
variant="dense"
|
||||||
|
sx={{ paddingTop: "var(--safe-area-inset-top, 0px)" }}
|
||||||
>
|
>
|
||||||
<BackButton color="inherit" />
|
<BackButton color="inherit" />
|
||||||
<Title component="div" class="name" use:solid-styled>
|
<Title component="div" class="name" use:solid-styled>
|
||||||
<span innerHTML={tootDisplayName() ?? "Someone"}></span>
|
<span innerHTML={tootDisplayName() ?? "Someone"}></span>
|
||||||
<span>'s toot</span>
|
<span>'s toot</span>
|
||||||
</Title>
|
</Title>
|
||||||
</AppTopBar>
|
</Toolbar>
|
||||||
|
</AppBar>
|
||||||
}
|
}
|
||||||
class="TootBottomSheet"
|
class="TootBottomSheet"
|
||||||
>
|
>
|
||||||
|
@ -317,13 +322,11 @@ const TootBottomSheet: Component = (props) => {
|
||||||
</div>
|
</div>
|
||||||
</Show>
|
</Show>
|
||||||
|
|
||||||
<ItemSelectionProvider value={selectionState}>
|
|
||||||
<TootList
|
<TootList
|
||||||
threads={descendants.list}
|
threads={descendants.list}
|
||||||
onUnknownThread={descendants.getPath}
|
onUnknownThread={descendants.getPath}
|
||||||
onChangeToot={descendants.set}
|
onChangeToot={descendants.set}
|
||||||
/>
|
/>
|
||||||
</ItemSelectionProvider>
|
|
||||||
</TimeSourceProvider>
|
</TimeSourceProvider>
|
||||||
</div>
|
</div>
|
||||||
</Scaffold>
|
</Scaffold>
|
||||||
|
|
|
@ -17,7 +17,7 @@ function preventDefault(event: Event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TootContentProps = JSX.HTMLAttributes<HTMLElement> & {
|
export type TootContentProps = JSX.HTMLAttributes<HTMLDivElement> & {
|
||||||
source?: string;
|
source?: string;
|
||||||
emojis?: mastodon.v1.CustomEmoji[];
|
emojis?: mastodon.v1.CustomEmoji[];
|
||||||
mentions: mastodon.v1.StatusMention[];
|
mentions: mastodon.v1.StatusMention[];
|
||||||
|
@ -58,7 +58,7 @@ const TootContent: Component<TootContentProps> = (oprops) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<section
|
<div
|
||||||
ref={(ref) => {
|
ref={(ref) => {
|
||||||
createRenderEffect(() => {
|
createRenderEffect(() => {
|
||||||
const finder = clientFinder();
|
const finder = clientFinder();
|
||||||
|
@ -104,7 +104,7 @@ const TootContent: Component<TootContentProps> = (oprops) => {
|
||||||
}
|
}
|
||||||
></div>
|
></div>
|
||||||
</Show>
|
</Show>
|
||||||
</section>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue