Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion src/app/components/nav/styles.css.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ const NavItemBase = style({
display: 'flex',
justifyContent: 'start',
cursor: 'pointer',
backgroundColor: Container,
color: OnContainer,
outline: 'none',
minHeight: toRem(36),
Expand Down
6 changes: 3 additions & 3 deletions src/app/components/page/Page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export function PageRoot({ nav, children }: PageRootProps) {
const screenSize = useScreenSizeContext();

return (
<Box grow="Yes" className={ContainerColor({ variant: 'Background' })}>
<Box grow="Yes">
{nav}
{screenSize !== ScreenSize.Mobile && (
<Line variant="Background" size="300" direction="Vertical" />
Expand Down Expand Up @@ -79,11 +79,11 @@ export function PageNavContent({
);
}

export const Page = as<'div'>(({ className, ...props }, ref) => (
export const Page = as<'div', css.PageVariants>(({ className, transparent, ...props }, ref) => (
<Box
grow="Yes"
direction="Column"
className={classNames(ContainerColor({ variant: 'Surface' }), className)}
className={classNames(css.Page({ transparent }), className)}
{...props}
ref={ref}
/>
Expand Down
14 changes: 14 additions & 0 deletions src/app/components/page/style.css.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { style } from '@vanilla-extract/css';
import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
import { DefaultReset, color, config, toRem } from 'folds';
import { ContainerColor } from '../../styles/ContainerColor.css';

export const PageNav = recipe({
variants: {
Expand Down Expand Up @@ -59,6 +60,19 @@ export const PageNavContent = style({
paddingBottom: config.space.S700,
});

export const Page = recipe({
base: [ContainerColor({ variant: 'Surface' })],
variants: {
transparent: {
true: {
background: 'transparent',
},
},
},
});

export type PageVariants = RecipeVariants<typeof Page>;

export const PageHeader = recipe({
base: {
paddingLeft: config.space.S400,
Expand Down
3 changes: 0 additions & 3 deletions src/app/components/sidebar/Sidebar.css.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
import { createVar, style } from '@vanilla-extract/css';
import { recipe, RecipeVariants } from '@vanilla-extract/recipes';
import { color, config, DefaultReset, Disabled, FocusOutline, toRem } from 'folds';
import { ContainerColor } from '../../styles/ContainerColor.css';

export const Sidebar = style([
DefaultReset,
{
width: toRem(66),
backgroundColor: color.Background.Container,
borderRight: `${config.borderWidth.B300} solid ${color.Background.ContainerLine}`,

display: 'flex',
Expand Down Expand Up @@ -187,7 +185,6 @@ export type SidebarAvatarVariants = RecipeVariants<typeof SidebarAvatar>;

export const SidebarFolder = recipe({
base: [
ContainerColor({ variant: 'Background' }),
{
padding: config.space.S100,
width: toRem(42),
Expand Down
1 change: 0 additions & 1 deletion src/app/components/splash-screen/SplashScreen.css.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { color, config } from 'folds';

export const SplashScreen = style({
minHeight: '100%',
backgroundColor: color.Background.Container,
color: color.Background.OnContainer,
});

Expand Down
1 change: 1 addition & 0 deletions src/app/features/call-status/CallRoomName.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ export function CallRoomName({ room }: CallRoomNameProps) {
return (
<Chip
variant="Background"
fill="None"
radii="Pill"
before={
<RoomIcon size="200" joinRule={room.getJoinRule()} roomType={room.getType()} filled />
Expand Down
4 changes: 1 addition & 3 deletions src/app/features/call-status/CallStatus.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
import React from 'react';
import { Box, Spinner } from 'folds';
import classNames from 'classnames';
import { LiveChip } from './LiveChip';
import * as css from './styles.css';
import { CallRoomName } from './CallRoomName';
import { CallControl } from './CallControl';
import { ContainerColor } from '../../styles/ContainerColor.css';
import { useCallMembers, useCallSession } from '../../hooks/useCall';
import { ScreenSize, useScreenSize } from '../../hooks/useScreenSize';
import { MemberGlance } from './MemberGlance';
Expand Down Expand Up @@ -33,7 +31,7 @@ export function CallStatus({ callEmbed }: CallStatusProps) {

return (
<Box
className={classNames(css.CallStatus, ContainerColor({ variant: 'Background' }))}
className={css.CallStatus}
shrink="No"
gap="400"
alignItems={compact ? undefined : 'Center'}
Expand Down
7 changes: 1 addition & 6 deletions src/app/features/call/CallView.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import React, { RefObject, useRef } from 'react';
import { Badge, Box, color, Header, Scroll, Text, toRem } from 'folds';
import { useCallEmbed, useCallJoined, useCallEmbedPlacementSync } from '../../hooks/useCallEmbed';
import { ContainerColor } from '../../styles/ContainerColor.css';
import { PrescreenControls } from './PrescreenControls';
import { usePowerLevelsContext } from '../../hooks/usePowerLevels';
import { useRoom } from '../../hooks/useRoom';
Expand Down Expand Up @@ -138,11 +137,7 @@ export function CallView() {
const currentJoined = callEmbed?.roomId === room.roomId && callJoined;

return (
<Box
className={ContainerColor({ variant: 'Surface' })}
style={{ minWidth: toRem(280) }}
grow="Yes"
>
<Box style={{ minWidth: toRem(280) }} grow="Yes">
{!currentJoined && <CallPrescreen />}
<CallJoined joined={currentJoined} containerRef={callContainerRef} />
</Box>
Expand Down
1 change: 1 addition & 0 deletions src/app/features/create-room/CreateRoom.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,7 @@ export function CreateRoomForm({
<Text size="L400">Options</Text>
<Box grow="Yes" justifyContent="End">
<Chip
fill="None"
radii="Pill"
before={<Icon src={advance ? Icons.ChevronTop : Icons.ChevronBottom} size="50" />}
onClick={() => setAdvance(!advance)}
Expand Down
1 change: 1 addition & 0 deletions src/app/features/create-space/CreateSpace.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ export function CreateSpaceForm({ defaultAccess, space, onCreate }: CreateSpaceF
<Box grow="Yes" justifyContent="End">
<Chip
radii="Pill"
fill="None"
before={<Icon src={advance ? Icons.ChevronTop : Icons.ChevronBottom} size="50" />}
onClick={() => setAdvance(!advance)}
type="button"
Expand Down
4 changes: 3 additions & 1 deletion src/app/features/join-before-navigate/JoinBeforeNavigate.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { useMatrixClient } from '../../hooks/useMatrixClient';
import { allRoomsAtom } from '../../state/room-list/roomList';
import { ScreenSize, useScreenSizeContext } from '../../hooks/useScreenSize';
import { BackRouteHandler } from '../../components/BackRouteHandler';
import { useTheme } from '../../hooks/useTheme';

type JoinBeforeNavigateProps = { roomIdOrAlias: string; eventId?: string; viaServers?: string[] };
export function JoinBeforeNavigate({
Expand All @@ -21,6 +22,7 @@ export function JoinBeforeNavigate({
const allRooms = useAtomValue(allRoomsAtom);
const { navigateRoom, navigateSpace } = useRoomNavigate();
const screenSize = useScreenSizeContext();
const theme = useTheme();

const handleView = (roomId: string) => {
if (mx.getRoom(roomId)?.isSpaceRoom()) {
Expand All @@ -31,7 +33,7 @@ export function JoinBeforeNavigate({
};

return (
<Page>
<Page transparent={theme.flat}>
<PageHeader balance>
<Box grow="Yes" gap="200">
<Box shrink="No">
Expand Down
4 changes: 3 additions & 1 deletion src/app/features/lobby/Lobby.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ import { useGetRoom } from '../../hooks/useGetRoom';
import { AsyncStatus, useAsyncCallback } from '../../hooks/useAsyncCallback';
import { getRoomPermissionsAPI } from '../../hooks/useRoomPermissions';
import { getRoomCreatorsForRoomId } from '../../hooks/useRoomCreators';
import { useTheme } from '../../hooks/useTheme';

const useCanDropLobbyItem = (
space: Room,
Expand Down Expand Up @@ -151,6 +152,7 @@ const useCanDropLobbyItem = (
export function Lobby() {
const navigate = useNavigate();
const mx = useMatrixClient();
const theme = useTheme();
const mDirects = useAtomValue(mDirectAtom);
const allRooms = useAtomValue(allRoomsAtom);
const allJoinedRooms = useMemo(() => new Set(allRooms), [allRooms]);
Expand Down Expand Up @@ -430,7 +432,7 @@ export function Lobby() {
return (
<PowerLevelsContextProvider value={spacePowerLevels}>
<Box grow="Yes">
<Page>
<Page transparent={theme.flat}>
<LobbyHeader
showProfile={!onTop}
powerLevels={roomsPowerLevels.get(space.roomId) ?? {}}
Expand Down
4 changes: 4 additions & 0 deletions src/app/features/lobby/SpaceItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ function InaccessibleSpaceProfile({ roomId, suggested }: InaccessibleSpaceProfil
as="span"
className={css.HeaderChip}
variant="Surface"
fill="None"
size="500"
before={
<Avatar size="200" radii="300">
Expand Down Expand Up @@ -121,6 +122,7 @@ function UnjoinedSpaceProfile({
<Chip
className={css.HeaderChip}
variant="Surface"
fill="None"
size="500"
onClick={join}
disabled={!canJoin}
Expand Down Expand Up @@ -187,6 +189,7 @@ function SpaceProfile({
onClick={handleClose}
className={css.HeaderChip}
variant="Surface"
fill="None"
size="500"
before={
<Avatar size="200" radii="300">
Expand Down Expand Up @@ -230,6 +233,7 @@ function RootSpaceProfile({ closed, categoryId, handleClose }: RootSpaceProfileP
onClick={handleClose}
className={css.HeaderChip}
variant="Surface"
fill="None"
size="500"
after={<Icon src={closed ? Icons.ChevronRight : Icons.ChevronBottom} size="50" />}
>
Expand Down
1 change: 1 addition & 0 deletions src/app/features/room-nav/RoomNavCategoryButton.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ export const RoomNavCategoryButton = as<'button', { closed?: boolean }>(
className={classNames(css.CategoryButton, className)}
variant="Background"
radii="Pill"
fill="None"
before={
<Icon
className={css.CategoryButtonIcon}
Expand Down
5 changes: 4 additions & 1 deletion src/app/features/room/CallChatView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,19 @@ import { Page, PageHeader } from '../../components/page';
import { callChatAtom } from '../../state/callEmbed';
import { RoomView } from './RoomView';
import { ScreenSize, useScreenSizeContext } from '../../hooks/useScreenSize';
import { useTheme } from '../../hooks/useTheme';

export function CallChatView() {
const { eventId } = useParams();
const theme = useTheme();
const setChat = useSetAtom(callChatAtom);
const screenSize = useScreenSizeContext();

const handleClose = () => setChat(false);

return (
<Page
transparent={theme.flat}
style={{
width: screenSize === ScreenSize.Desktop ? toRem(456) : '100%',
flexShrink: 0,
Expand All @@ -41,7 +44,7 @@ export function CallChatView() {
}
>
{(triggerRef) => (
<IconButton ref={triggerRef} variant="Surface" onClick={handleClose}>
<IconButton ref={triggerRef} variant="Surface" fill="None" onClick={handleClose}>
<Icon src={Icons.Cross} />
</IconButton>
)}
Expand Down
11 changes: 5 additions & 6 deletions src/app/features/room/MembersDrawer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ import { MembershipFilterMenu } from '../../components/MembershipFilterMenu';
import { MemberSortMenu } from '../../components/MemberSortMenu';
import { useOpenUserRoomProfile, useUserRoomProfileState } from '../../state/hooks/userRoomProfile';
import { useSpaceOptionally } from '../../hooks/useSpace';
import { ContainerColor } from '../../styles/ContainerColor.css';
import { useFlattenPowerTagMembers, useGetMemberPowerTag } from '../../hooks/useMemberPowerTag';
import { useRoomCreators } from '../../hooks/useRoomCreators';

Expand Down Expand Up @@ -89,6 +88,7 @@ function MemberDrawerHeader({ room }: MemberDrawerHeaderProps) {
<IconButton
ref={triggerRef}
variant="Background"
fill="None"
onClick={() => setPeopleDrawer(false)}
>
<Icon src={Icons.Cross} />
Expand Down Expand Up @@ -132,6 +132,7 @@ function MemberItem({
aria-pressed={pressed}
data-user-id={member.userId}
variant="Background"
fill="None"
radii="400"
onClick={onClick}
before={
Expand Down Expand Up @@ -245,11 +246,7 @@ export function MembersDrawer({ room, members }: MembersDrawerProps) {
};

return (
<Box
className={classNames(css.MembersDrawer, ContainerColor({ variant: 'Background' }))}
shrink="No"
direction="Column"
>
<Box className={classNames(css.MembersDrawer)} shrink="No" direction="Column">
<MemberDrawerHeader room={room} />
<Box className={css.MemberDrawerContentBase} grow="Yes">
<Scroll ref={scrollRef} variant="Background" size="300" visibility="Hover" hideTrack>
Expand Down Expand Up @@ -279,6 +276,7 @@ export function MembersDrawer({ room, members }: MembersDrawerProps) {
)) as MouseEventHandler<HTMLButtonElement>
}
variant="Background"
fill="None"
size="400"
radii="300"
before={<Icon src={Icons.Filter} size="50" />}
Expand Down Expand Up @@ -311,6 +309,7 @@ export function MembersDrawer({ room, members }: MembersDrawerProps) {
)) as MouseEventHandler<HTMLButtonElement>
}
variant="Background"
fill="None"
size="400"
radii="300"
after={<Icon src={Icons.Sort} size="50" />}
Expand Down
11 changes: 7 additions & 4 deletions src/app/features/room/Room.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,14 @@ import { CallView } from '../call/CallView';
import { RoomViewHeader } from './RoomViewHeader';
import { callChatAtom } from '../../state/callEmbed';
import { CallChatView } from './CallChatView';
import { Page } from '../../components/page';
import { useTheme } from '../../hooks/useTheme';

export function Room() {
const { eventId } = useParams();
const room = useRoom();
const mx = useMatrixClient();
const theme = useTheme();

const [isDrawer] = useSetting(settingsAtom, 'isPeopleDrawer');
const [hideActivity] = useSetting(settingsAtom, 'hideActivity');
Expand All @@ -49,20 +52,20 @@ export function Room() {
<PowerLevelsContextProvider value={powerLevels}>
<Box grow="Yes">
{callView && (screenSize === ScreenSize.Desktop || !chat) && (
<Box grow="Yes" direction="Column">
<Page transparent={theme.flat}>
<RoomViewHeader callView />
<Box grow="Yes">
<CallView />
</Box>
</Box>
</Page>
)}
{!callView && (
<Box grow="Yes" direction="Column">
<Page transparent={theme.flat}>
<RoomViewHeader />
<Box grow="Yes">
<RoomView eventId={eventId} />
</Box>
</Box>
</Page>
)}

{callView && chat && (
Expand Down
5 changes: 2 additions & 3 deletions src/app/features/room/RoomView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import { RoomViewTyping } from './RoomViewTyping';
import { RoomTombstone } from './RoomTombstone';
import { RoomInput } from './RoomInput';
import { RoomViewFollowing, RoomViewFollowingPlaceholder } from './RoomViewFollowing';
import { Page } from '../../components/page';
import { useKeyDown } from '../../hooks/useKeyDown';
import { editableActiveElement } from '../../utils/dom';
import { settingsAtom } from '../../state/settings';
Expand Down Expand Up @@ -91,7 +90,7 @@ export function RoomView({ eventId }: { eventId?: string }) {
);

return (
<Page ref={roomViewRef}>
<Box grow="Yes" direction="Column" ref={roomViewRef}>
<Box grow="Yes" direction="Column">
<RoomTimeline
key={roomId}
Expand Down Expand Up @@ -135,6 +134,6 @@ export function RoomView({ eventId }: { eventId?: string }) {
</div>
{hideActivity ? <RoomViewFollowingPlaceholder /> : <RoomViewFollowing room={room} />}
</Box>
</Page>
</Box>
);
}
Loading
Loading