Skip to content

Commit

Permalink
Rename MainHeader to AppMainHeader
Browse files Browse the repository at this point in the history
  • Loading branch information
olmoh committed Jan 10, 2025
1 parent 69b6f95 commit 6615529
Show file tree
Hide file tree
Showing 15 changed files with 63 additions and 65 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { bigText, measurements, smallText } from './common-styles';
import CustomScrollbars from './CustomScrollbars';
import ImageView from './ImageView';
import { Container, Footer, Layout } from './Layout';
import { MainHeader } from './main-header';
import { AppMainHeader } from './app-main-header';

export const StyledCustomScrollbars = styled(CustomScrollbars)({
flex: 1,
Expand Down Expand Up @@ -54,10 +54,10 @@ export function DeviceRevokedView() {

return (
<Layout>
<MainHeader variant="basedOnConnectionStatus" size="basedOnLoginStatus">
<MainHeader.AccountButton />
<MainHeader.SettingsButton />
</MainHeader>
<AppMainHeader variant="basedOnConnectionStatus" size="basedOnLoginStatus">
<AppMainHeader.AccountButton />
<AppMainHeader.SettingsButton />
</AppMainHeader>
<StyledCustomScrollbars fillContainer>
<StyledContainer>
<StyledBody>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { colors } from '../../config.json';
import { measurements } from './common-styles';
import ImageView from './ImageView';
import { Container, Layout } from './Layout';
import { MainHeader } from './main-header';
import { AppMainHeader } from './app-main-header';

const StyledContainer = styled(Container)({
flex: 1,
Expand Down Expand Up @@ -56,9 +56,9 @@ interface ErrorViewProps {
export default function ErrorView(props: ErrorViewProps) {
return (
<Layout>
<MainHeader logoVariant="none">
{!props.settingsUnavailable && <MainHeader.SettingsButton />}
</MainHeader>
<AppMainHeader logoVariant="none">
{!props.settingsUnavailable && <AppMainHeader.SettingsButton />}
</AppMainHeader>
<StyledContainer>
<StyledContent>
<Logo height={106} width={106} source="logo-icon" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import { hugeText, measurements, tinyText } from './common-styles';
import CustomScrollbars from './CustomScrollbars';
import ImageView from './ImageView';
import { Container, Footer, Layout } from './Layout';
import { MainHeader } from './main-header';
import { AppMainHeader } from './app-main-header';
import {
RedeemVoucherContainer,
RedeemVoucherInput,
Expand Down Expand Up @@ -259,12 +259,12 @@ function HeaderBar() {
);

return (
<MainHeader
<AppMainHeader
variant={isNewAccount ? 'default' : 'basedOnConnectionStatus'}
size="basedOnLoginStatus">
<MainHeader.AccountButton />
<MainHeader.SettingsButton />
</MainHeader>
<AppMainHeader.AccountButton />
<AppMainHeader.SettingsButton />
</AppMainHeader>
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import { useAppContext } from '../context';
import { useHistory } from '../lib/history';
import { RoutePath } from '../lib/routes';
import { useSelector } from '../redux/store';
import { AppMainHeader } from './app-main-header';
import * as AppButton from './AppButton';
import { AriaDescribed, AriaDescription, AriaDescriptionGroup } from './AriaGroup';
import * as Cell from './cell';
Expand All @@ -28,7 +29,6 @@ import {
} from './ExpiredAccountErrorViewStyles';
import ImageView from './ImageView';
import { Footer, Layout } from './Layout';
import { MainHeader } from './main-header';
import { ModalAlert, ModalAlertType, ModalMessage } from './Modal';

enum RecoveryAction {
Expand Down Expand Up @@ -67,12 +67,12 @@ function ExpiredAccountErrorViewComponent() {

return (
<Layout>
<MainHeader
<AppMainHeader
variant={isNewAccount ? 'default' : 'basedOnConnectionStatus'}
size="basedOnLoginStatus">
<MainHeader.AccountButton />
<MainHeader.SettingsButton />
</MainHeader>
<AppMainHeader.AccountButton />
<AppMainHeader.SettingsButton />
</AppMainHeader>
<StyledCustomScrollbars fillContainer>
<StyledContainer>
<StyledBody>{isNewAccount ? <WelcomeView /> : <Content />}</StyledBody>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import accountActions from '../redux/account/actions';
import { LoginState } from '../redux/account/reducers';
import { useSelector } from '../redux/store';
import Accordion from './Accordion';
import { AppMainHeader } from './app-main-header';
import * as AppButton from './AppButton';
import { AriaControlGroup, AriaControlled, AriaControls } from './AriaGroup';
import ImageView from './ImageView';
Expand Down Expand Up @@ -40,7 +41,6 @@ import {
StyledTitle,
StyledTopInfo,
} from './LoginStyles';
import { MainHeader } from './main-header';

export default function LoginContainer() {
const { openUrl, login, clearAccountHistory, createNewAccount } = useAppContext();
Expand Down Expand Up @@ -126,9 +126,9 @@ class Login extends React.Component<IProps, IState> {

return (
<Layout>
<MainHeader>
<MainHeader.SettingsButton disabled={!allowInteraction} />
</MainHeader>
<AppMainHeader>
<AppMainHeader.SettingsButton disabled={!allowInteraction} />
</AppMainHeader>
<Container>
<StyledTopInfo>
{this.props.showBlockMessage ? <BlockMessage /> : this.getStatusIcon()}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ import { formatHtml } from '../lib/html-formatter';
import { RoutePath } from '../lib/routes';
import { useBoolean } from '../lib/utility-hooks';
import { useSelector } from '../redux/store';
import { AppMainHeader } from './app-main-header';
import * as AppButton from './AppButton';
import * as Cell from './cell';
import { bigText, measurements, normalText, tinyText } from './common-styles';
import CustomScrollbars from './CustomScrollbars';
import ImageView from './ImageView';
import { Footer, Layout, SettingsContainer } from './Layout';
import List from './List';
import { MainHeader } from './main-header';
import { ModalAlert, ModalAlertType, ModalContainer, ModalMessage } from './Modal';

const StyledCustomScrollbars = styled(CustomScrollbars)({
Expand Down Expand Up @@ -124,9 +124,9 @@ export default function TooManyDevices() {
return (
<ModalContainer>
<Layout>
<MainHeader>
<MainHeader.SettingsButton />
</MainHeader>
<AppMainHeader>
<AppMainHeader.SettingsButton />
</AppMainHeader>
<StyledCustomScrollbars fillContainer>
<StyledContainer>
<StyledBody>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { TunnelState } from '../../../shared/daemon-rpc-types';
import { Flex, Header, HeaderProps, Logo, LogoProps } from '../../lib/components';
import { Flex, HeaderProps, Logo, LogoProps, MainHeader } from '../../lib/components';
import { Spacings } from '../../lib/foundations';
import { useSelector } from '../../redux/store';
import { FocusFallback } from '../Focus';
import {
MainHeaderBarAccountButton,
MainHeaderDeviceInfo,
MainHeaderSettingsButton,
AppMainHeaderBarAccountButton,
AppMainHeaderDeviceInfo,
AppMainHeaderSettingsButton,
} from './components';

export interface MainHeaderProps extends Omit<HeaderProps, 'variant' | 'size'> {
Expand All @@ -16,7 +16,7 @@ export interface MainHeaderProps extends Omit<HeaderProps, 'variant' | 'size'> {
children?: React.ReactNode;
}

const MainHeader = ({
const AppMainHeader = ({
logoVariant = 'both',
variant: variantProp,
size: sizeProp,
Expand All @@ -34,30 +34,30 @@ const MainHeader = ({
const size = sizeProp === 'basedOnLoginStatus' ? (loggedIn ? '2' : '1') : sizeProp;

return (
<Header variant={variant} size={size} {...props}>
<Header.MainRow>
<MainHeader variant={variant} size={size} {...props}>
<Flex $justifyContent="space-between">
<FocusFallback>
{logoVariant !== 'none' ? <Logo variant={logoVariant} /> : <div />}
</FocusFallback>
<Flex $gap={Spacings.spacing5} $alignItems="center">
{children}
</Flex>
</Header.MainRow>
</Flex>
{size == '2' && (
<Header.SubRow>
<MainHeaderDeviceInfo />
</Header.SubRow>
<Flex $alignItems="flex-end">
<AppMainHeaderDeviceInfo />
</Flex>
)}
</Header>
</MainHeader>
);
};

const MainHeaderNamespace = Object.assign(MainHeader, {
AccountButton: MainHeaderBarAccountButton,
SettingsButton: MainHeaderSettingsButton,
const AppMainHeaderNamespace = Object.assign(AppMainHeader, {
AccountButton: AppMainHeaderBarAccountButton,
SettingsButton: AppMainHeaderSettingsButton,
});

export { MainHeaderNamespace as MainHeader };
export { AppMainHeaderNamespace as AppMainHeader };

const getVariantByTunnelState = (tunnelState: TunnelState): HeaderProps['variant'] => {
switch (tunnelState.state) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
import { useCallback } from 'react';

import { messages } from '../../../../shared/gettext';
import { IconButton, IconButtonProps } from '../../../lib/components';
import { IconButtonProps, MainHeader } from '../../../lib/components';
import { transitions, useHistory } from '../../../lib/history';
import { RoutePath } from '../../../lib/routes';
import { useSelector } from '../../../redux/store';

export type MainHeaderBarAccountButtonProps = Omit<IconButtonProps, 'icon'>;

export const MainHeaderBarAccountButton = (props: MainHeaderBarAccountButtonProps) => {
export const AppMainHeaderBarAccountButton = (props: MainHeaderBarAccountButtonProps) => {
const history = useHistory();
const openAccount = useCallback(
() => history.push(RoutePath.account, { transition: transitions.show }),
Expand All @@ -21,9 +21,8 @@ export const MainHeaderBarAccountButton = (props: MainHeaderBarAccountButtonProp
}

return (
<IconButton
<MainHeader.IconButton
icon="icon-account"
variant="secondary"
onClick={openAccount}
data-testid="account-button"
aria-label={messages.gettext('Account settings')}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ import styled from 'styled-components';
import { closeToExpiry, formatRemainingTime, hasExpired } from '../../../../shared/account-expiry';
import { messages } from '../../../../shared/gettext';
import { capitalizeEveryWord } from '../../../../shared/string-helpers';
import { FootnoteMini } from '../../../lib/components';
import { Colors } from '../../../lib/foundations';
import { Flex, FootnoteMini } from '../../../lib/components';
import { Colors, Spacings } from '../../../lib/foundations';
import { useSelector } from '../../../redux/store';

const StyledTimeLeftLabel = styled(FootnoteMini)({
Expand All @@ -18,7 +18,7 @@ const StyledDeviceLabel = styled(FootnoteMini)({
textOverflow: 'ellipsis',
});

export const MainHeaderDeviceInfo = () => {
export const AppMainHeaderDeviceInfo = () => {
const deviceName = useSelector((state) => state.account.deviceName);
const accountExpiry = useSelector((state) => state.account.expiry);
const isOutOfTime = accountExpiry ? hasExpired(accountExpiry) : false;
Expand All @@ -29,7 +29,7 @@ export const MainHeaderDeviceInfo = () => {
: '';

return (
<>
<Flex $gap={Spacings.spacing6} $margin={{ top: Spacings.spacing1 }}>
<StyledDeviceLabel color={Colors.white80}>
{sprintf(
// TRANSLATORS: A label that will display the newly created device name to inform the user
Expand All @@ -49,6 +49,6 @@ export const MainHeaderDeviceInfo = () => {
})}
</StyledTimeLeftLabel>
)}
</>
</Flex>
);
};
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { useCallback } from 'react';

import { messages } from '../../../../shared/gettext';
import { IconButton, IconButtonProps } from '../../../lib/components';
import { IconButtonProps, MainHeader } from '../../../lib/components';
import { transitions, useHistory } from '../../../lib/history';
import { RoutePath } from '../../../lib/routes';

export type MainHeaderSettingsButtonProps = Omit<IconButtonProps, 'icon'>;

export function MainHeaderSettingsButton(props: MainHeaderSettingsButtonProps) {
export function AppMainHeaderSettingsButton(props: MainHeaderSettingsButtonProps) {
const history = useHistory();

const openSettings = useCallback(() => {
Expand All @@ -17,9 +17,8 @@ export function MainHeaderSettingsButton(props: MainHeaderSettingsButtonProps) {
}, [history, props.disabled]);

return (
<IconButton
<MainHeader.IconButton
icon="icon-settings"
variant="secondary"
onClick={openSettings}
aria-label={messages.gettext('Settings')}
/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export * from './AppMainHeaderDeviceInfo';
export * from './AppMainHeaderAccountButton';
export * from './AppMainHeaderSettingsButton';
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './AppMainHeader';

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import styled from 'styled-components';

import { useSelector } from '../../redux/store';
import { AppMainHeader } from '../app-main-header';
import ImageView from '../ImageView';
import { Container, Layout } from '../Layout';
import { MainHeader } from '../main-header';
import Map from '../Map';
import NotificationArea from '../NotificationArea';
import ConnectionPanel from './ConnectionPanel';
Expand Down Expand Up @@ -49,10 +49,10 @@ export default function MainView() {

return (
<Layout>
<MainHeader size="basedOnLoginStatus" variant="basedOnConnectionStatus">
<MainHeader.AccountButton />
<MainHeader.SettingsButton />
</MainHeader>
<AppMainHeader size="basedOnLoginStatus" variant="basedOnConnectionStatus">
<AppMainHeader.AccountButton />
<AppMainHeader.SettingsButton />
</AppMainHeader>
<StyledContainer>
<Map />
<Content>
Expand Down

0 comments on commit 6615529

Please sign in to comment.