Skip to content

Commit 27d445d

Browse files
Revert "merging phoneui improvements"
1 parent a397f17 commit 27d445d

File tree

130 files changed

+1146
-1842
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

130 files changed

+1146
-1842
lines changed

.vscode/settings.json

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,5 @@
2020
"editor.insertSpaces": true,
2121
"editor.tabSize": 2,
2222
// Nix environment settings
23-
"nixEnvSelector.nixFile": "${workspaceFolder}/default.nix",
24-
"search.exclude": {
25-
"**/coverage": true,
26-
"**/dist": true,
27-
"**/i18n": true,
28-
"**/styled-system": true
29-
}
23+
"nixEnvSelector.nixFile": "${workspaceFolder}/default.nix"
3024
}

packages/client/components/app/interface/channels/text/Message.tsx

Lines changed: 19 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import { useState } from "@revolt/state";
1313
import {
1414
Attachment,
1515
Avatar,
16-
CompositionMediaPicker,
1716
Embed,
1817
MessageContainer,
1918
MessageReply,
@@ -31,8 +30,6 @@ import {
3130
floatingUserMenusFromMessage,
3231
} from "../../../menus/UserContextMenu";
3332

34-
import { startsWithPackPUA } from "@revolt/markdown/emoji/UnicodeEmoji";
35-
import { MediaPickerProps } from "@revolt/ui/components/features/messaging/composition/picker/CompositionMediaPicker";
3633
import { EditMessage } from "./EditMessage";
3734

3835
/**
@@ -78,8 +75,6 @@ export function Message(props: Props) {
7875
const client = useClient();
7976

8077
const [isHovering, setIsHovering] = createSignal(false);
81-
const [reactPicker, setReactPicker] = createSignal<MediaPickerProps>();
82-
let msgRef;
8378

8479
/**
8580
* Determine whether this message only contains a GIF
@@ -109,8 +104,6 @@ export function Message(props: Props) {
109104

110105
return (
111106
<MessageContainer
112-
ref={msgRef}
113-
reactPicker={reactPicker}
114107
message={props.message}
115108
onHover={setIsHovering}
116109
username={
@@ -142,16 +135,7 @@ export function Message(props: Props) {
142135
/>
143136
</div>
144137
}
145-
contextMenu={
146-
props.editing
147-
? undefined
148-
: () => (
149-
<MessageContextMenu
150-
message={props.message}
151-
reactPicker={reactPicker}
152-
/>
153-
)
154-
}
138+
contextMenu={() => <MessageContextMenu message={props.message} />}
155139
timestamp={props.message.createdAt}
156140
edited={props.message.editedAt}
157141
mentioned={props.message.mentioned}
@@ -273,29 +257,6 @@ export function Message(props: Props) {
273257
</Match>
274258
}
275259
>
276-
<CompositionMediaPicker
277-
onMessage={(content) =>
278-
props.message?.channel?.sendMessage({
279-
content,
280-
replies: [{ id: props.message.id, mention: true }],
281-
})
282-
}
283-
onTextReplacement={(emoji) =>
284-
react(
285-
emoji.startsWith(":")
286-
? emoji.slice(1, emoji.length - 1)
287-
: startsWithPackPUA(emoji)
288-
? emoji.slice(1)
289-
: emoji,
290-
)
291-
}
292-
>
293-
{(trigProps) => {
294-
trigProps.ref(msgRef);
295-
setReactPicker(trigProps);
296-
return <></>;
297-
}}
298-
</CompositionMediaPicker>
299260
<Show when={props.message.systemMessage}>
300261
<SystemMessage
301262
systemMessage={props.message.systemMessage!}
@@ -321,25 +282,30 @@ export function Message(props: Props) {
321282
</BreakText>
322283
</Match>
323284
</Switch>
324-
<For each={props.message.attachments}>
325-
{(attachment) => (
326-
<Attachment
327-
message={props.message}
328-
file={attachment}
329-
reactPicker={reactPicker}
330-
/>
331-
)}
332-
</For>
333-
<For each={props.message.embeds}>
334-
{(embed) => <Embed embed={embed} />}
335-
</For>
285+
<Show when={props.message.attachments}>
286+
<For each={props.message.attachments}>
287+
{(attachment) => (
288+
<Attachment message={props.message} file={attachment} />
289+
)}
290+
</For>
291+
</Show>
292+
<Show when={props.message.embeds}>
293+
<For each={props.message.embeds}>
294+
{(embed) => <Embed embed={embed} />}
295+
</For>
296+
</Show>
336297
<Reactions
337298
reactions={props.message.reactions as never as Map<string, Set<string>>}
338299
interactions={props.message.interactions}
339300
userId={client().user!.id}
340301
addReaction={react}
341302
removeReaction={unreact}
342-
reactPicker={reactPicker}
303+
sendGIF={(content) =>
304+
props.message?.channel?.sendMessage({
305+
content,
306+
replies: [{ id: props.message.id, mention: true }],
307+
})
308+
}
343309
/>
344310
</MessageContainer>
345311
);

packages/client/components/app/interface/channels/text/Messages.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ export function Messages(props: Props) {
281281
// If we're not at the end, restore scroll position
282282
if (existingState && !existingState.atEnd) {
283283
setTimeout(() =>
284-
listRef?.scrollTo({
284+
listRef!.scrollTo({
285285
top: existingState.scrollTop!,
286286
behavior: "instant",
287287
}),
@@ -290,7 +290,7 @@ export function Messages(props: Props) {
290290
// Or... reset scroll to the end
291291
else if (atEnd()) {
292292
setTimeout(() =>
293-
listRef?.scrollTo({
293+
listRef!.scrollTo({
294294
top: 9999999,
295295
behavior: "instant",
296296
}),

packages/client/components/app/interface/settings/ChannelSettings.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import { ChannelPermissionsEditor } from "./channel/permissions/ChannelPermissio
1919
import { ChannelPermissionsOverview } from "./channel/permissions/ChannelPermissionsOverview";
2020
import { ViewWebhook } from "./channel/webhooks/ViewWebhook";
2121
import { WebhooksList } from "./channel/webhooks/WebhooksList";
22-
import { BackCard } from "./user/_AccountCard";
2322

2423
const Config: SettingsConfiguration<Channel> = {
2524
/**
@@ -99,12 +98,11 @@ const Config: SettingsConfiguration<Channel> = {
9998
* Generate list of categories / entries for channel settings
10099
* @returns List
101100
*/
102-
list(channel, onClose) {
101+
list(channel) {
103102
const { openModal } = useModals();
104103

105104
return {
106105
context: channel,
107-
prepend: <BackCard onClose={onClose} />,
108106
entries: [
109107
{
110108
title: <TextWithEmoji content={channel.name} />,

packages/client/components/app/interface/settings/ServerSettings.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import { EmojiList } from "./server/emojis/EmojiList";
2424
import { ListServerInvites } from "./server/invites/ListServerInvites";
2525
import { ServerRoleEditor } from "./server/roles/ServerRoleEditor";
2626
import { ServerRoleOverview } from "./server/roles/ServerRoleOverview";
27-
import { BackCard } from "./user/_AccountCard";
2827

2928
const Config: SettingsConfiguration<Server> = {
3029
/**
@@ -90,13 +89,12 @@ const Config: SettingsConfiguration<Server> = {
9089
* Generate list of categories / entries for server settings
9190
* @returns List
9291
*/
93-
list(server, onClose) {
92+
list(server) {
9493
const user = useUser();
9594
const { openModal } = useModals();
9695

9796
return {
9897
context: server,
99-
prepend: <BackCard onClose={onClose} />,
10098
entries: [
10199
{
102100
title: <TextWithEmoji content={server.name} />,

packages/client/components/app/interface/settings/Settings.tsx

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import {
44
createContext,
55
createMemo,
66
createSignal,
7-
Setter,
87
untrack,
98
useContext,
109
} from "solid-js";
@@ -26,8 +25,6 @@ export interface SettingsProps {
2625
* Settings context
2726
*/
2827
context: never;
29-
30-
contentRef: Setter<HTMLDivElement | undefined>;
3128
}
3229

3330
/**
@@ -92,16 +89,11 @@ export function Settings(props: SettingsProps & SettingsConfiguration<never>) {
9289
navigate,
9390
}}
9491
>
95-
<MemoisedList
96-
context={props.context}
97-
list={props.list}
98-
onClose={props.onClose}
99-
>
92+
<MemoisedList context={props.context} list={props.list}>
10093
{(list) => (
10194
<>
10295
<SettingsSidebar list={list} page={page} setPage={setPage} />
10396
<SettingsContent
104-
ref={props.contentRef}
10597
page={page}
10698
list={list}
10799
title={props.title}
@@ -164,14 +156,14 @@ export function Settings(props: SettingsProps & SettingsConfiguration<never>) {
164156
*/
165157
function MemoisedList(props: {
166158
context: never;
167-
onClose?: () => void;
168-
list: (context: never, onClose?: () => void) => SettingsList<unknown>;
159+
list: (context: never) => SettingsList<unknown>;
169160
children: (list: Accessor<SettingsList<unknown>>) => JSX.Element;
170161
}) {
171162
/**
172163
* Generate list of categories / links
173164
*/
174-
const list = createMemo(() => props.list(props.context, props.onClose));
165+
const list = createMemo(() => props.list(props.context));
166+
175167
return <>{props.children(list)}</>;
176168
}
177169

packages/client/components/app/interface/settings/UserSettings.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import { Feedback } from "./user/Feedback";
3232
import { LanguageSettings } from "./user/Language";
3333
import Native from "./user/Native";
3434
import { Sessions } from "./user/Sessions";
35-
import { AccountCard, BackCard } from "./user/_AccountCard";
35+
import { AccountCard } from "./user/_AccountCard";
3636
import { AppearanceMenu } from "./user/appearance";
3737
import { MyBots, ViewBot } from "./user/bots";
3838
import { EditProfile } from "./user/profile";
@@ -104,15 +104,14 @@ const Config: SettingsConfiguration<{ server: Server }> = {
104104
* Generate list of categories / entries for client settings
105105
* @returns List
106106
*/
107-
list(_, onClose) {
107+
list() {
108108
const { pop } = useModals();
109109
const { logout } = useClientLifecycle();
110110

111111
return {
112112
context: null!,
113113
prepend: (
114114
<Column gap="s">
115-
<BackCard onClose={onClose} />
116115
<AccountCard />
117116
<div />
118117
</Column>

packages/client/components/app/interface/settings/_layout/Content.tsx

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Accessor, JSX, Setter, Show } from "solid-js";
1+
import { Accessor, JSX, Show } from "solid-js";
22

33
import { css, cva } from "styled-system/css";
44
import { styled } from "styled-system/jsx";
@@ -19,33 +19,34 @@ export function SettingsContent(props: {
1919
list: Accessor<SettingsList<unknown>>;
2020
title: (ctx: SettingsList<never>, key: string) => string;
2121
page: Accessor<string | undefined>;
22-
ref: Setter<HTMLDivElement | undefined>;
2322
}) {
2423
const { navigate } = useSettingsNavigation();
2524

2625
return (
27-
<div ref={props.ref} class="settings" use:scrollable={{ class: base() }}>
26+
<div
27+
use:scrollable={{
28+
class: base(),
29+
}}
30+
>
2831
<Show when={props.page()}>
29-
<InnerContent class="settings_cont">
32+
<InnerContent>
3033
<InnerColumn>
31-
<Show when={props.page() !== "account"}>
32-
<Text class="title" size="large">
33-
<Breadcrumbs
34-
elements={props.page()!.split("/")}
35-
renderElement={(key) =>
36-
props.title(props.list() as SettingsList<never>, key)
37-
}
38-
navigate={(keys) => navigate(keys.join("/"))}
39-
/>
40-
</Text>
41-
</Show>
34+
<Text class="title" size="large">
35+
<Breadcrumbs
36+
elements={props.page()!.split("/")}
37+
renderElement={(key) =>
38+
props.title(props.list() as SettingsList<never>, key)
39+
}
40+
navigate={(keys) => navigate(keys.join("/"))}
41+
/>
42+
</Text>
4243
{props.children}
4344
<div class={css({ minHeight: "80px" })} />
4445
</InnerColumn>
4546
</InnerContent>
4647
</Show>
4748
<Show when={props.onClose}>
48-
<CloseAction class="close">
49+
<CloseAction>
4950
<IconButton variant="tonal" onPress={props.onClose}>
5051
<MdClose />
5152
</IconButton>
@@ -120,7 +121,7 @@ const CloseAction = styled("div", {
120121
marginTop: "4px",
121122
display: "flex",
122123
justifyContent: "center",
123-
width: "40px",
124+
width: "36px",
124125
fontWeight: 600,
125126
color: "var(--md-sys-color-on-surface)",
126127
fontSize: "0.75rem",

packages/client/components/app/interface/settings/_layout/Sidebar.tsx

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,28 +20,28 @@ import {
2020
*/
2121
export function SettingsSidebar(props: {
2222
list: Accessor<SettingsList<unknown>>;
23+
2324
setPage: Setter<string | undefined>;
2425
page: Accessor<string | undefined>;
2526
}) {
2627
const { navigate } = useSettingsNavigation();
27-
const list = props.list();
2828

2929
/**
3030
* Select first page on load
3131
*/
3232
onMount(() => {
3333
if (!props.page()) {
34-
props.setPage(list.entries[0].entries[0].id);
34+
props.setPage(props.list().entries[0].entries[0].id);
3535
}
3636
});
3737

3838
return (
39-
<Base class="settings_sidebar">
39+
<Base>
4040
<div use:invisibleScrollable>
41-
<Content class="content">
41+
<Content>
4242
<Column gap="lg">
43-
{list.prepend}
44-
<For each={list.entries}>
43+
{props.list().prepend}
44+
<For each={props.list().entries}>
4545
{(category) => (
4646
<Show when={!category.hidden}>
4747
<Column>
@@ -87,7 +87,7 @@ export function SettingsSidebar(props: {
8787
</Show>
8888
)}
8989
</For>
90-
{list.append}
90+
{props.list().append}
9191
</Column>
9292
</Content>
9393
</div>
@@ -104,7 +104,6 @@ const Base = styled("div", {
104104
flex: "1 0 218px",
105105
paddingLeft: "8px",
106106
justifyContent: "flex-end",
107-
height: "100%",
108107
},
109108
});
110109

0 commit comments

Comments
 (0)