Skip to content

Commit

Permalink
No need for a hook to change the page title
Browse files Browse the repository at this point in the history
  • Loading branch information
tkrotoff committed Mar 14, 2023
1 parent 83d8464 commit b21ed45
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 22 deletions.
6 changes: 3 additions & 3 deletions src/Hero.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import { useParams } from 'react-router';

import * as Marvel from './api/Marvel';
import { assert } from './utils/assert';
import { setPageTitle } from './utils/setPageTitle';
import { useErrorHandler } from './utils/useErrorHandler';
import { usePageTitle } from './utils/usePageTitle';

function Category({ character, category }: { character: Marvel.Character; category: string }) {
return (
Expand All @@ -17,7 +17,7 @@ function Category({ character, category }: { character: Marvel.Character; catego
}

function Character({ character }: { character: Marvel.Character }) {
usePageTitle(character.name);
setPageTitle(character.name);

return (
<section className="hero">
Expand All @@ -42,7 +42,7 @@ export function Hero() {
// Could also be a variable outside instead of a ref
const controller = useRef<AbortController>();

usePageTitle('...');
setPageTitle('...');

const handleError = useErrorHandler();
const [character, setCharacter] = useState<Marvel.Character>();
Expand Down
4 changes: 2 additions & 2 deletions src/Heroes.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import { useEffect, useRef, useState } from 'react';
import { Link } from 'react-router-dom';

import * as Marvel from './api/Marvel';
import { setPageTitle } from './utils/setPageTitle';
import { useErrorHandler } from './utils/useErrorHandler';
import { usePageTitle } from './utils/usePageTitle';
import { config } from './config';

function Characters({ characters }: { characters: Marvel.Characters }) {
Expand Down Expand Up @@ -38,7 +38,7 @@ export function Heroes({ page }: Props) {
// Could also be a variable outside instead of a ref
const controller = useRef<AbortController>();

usePageTitle(`Page ${page}`);
setPageTitle(`Page ${page}`);

const handleError = useErrorHandler();

Expand Down
6 changes: 6 additions & 0 deletions src/utils/setPageTitle.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { setPageTitle } from './setPageTitle';

test('setPageTitle()', () => {
setPageTitle('3-D Man');
expect(document.title).toEqual('3-D Man - Marvel Heroes');
});
3 changes: 3 additions & 0 deletions src/utils/setPageTitle.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
export function setPageTitle(title: string) {
document.title = `${title} - Marvel Heroes`;
}
8 changes: 0 additions & 8 deletions src/utils/usePageTitle.test.ts

This file was deleted.

9 changes: 0 additions & 9 deletions src/utils/usePageTitle.ts

This file was deleted.

0 comments on commit b21ed45

Please sign in to comment.