chore: update prettier tab width for consistency (#175)

This commit is contained in:
41666 2021-03-13 22:54:34 -05:00 committed by GitHub
parent a931f8c69c
commit f24d2fcc99
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
247 changed files with 7224 additions and 7375 deletions

View file

@ -5,22 +5,22 @@ import { Typist } from './Typist';
jest.useFakeTimers();
it('correctly cycles through provided lines', () => {
const lines = ['abcdef', 'ghijkl'];
let view = shallow(<Typist charTimeout={100} resetTimeout={10000} lines={lines} />);
const lines = ['abcdef', 'ghijkl'];
let view = shallow(<Typist charTimeout={100} resetTimeout={10000} lines={lines} />);
jest.advanceTimersByTime(100 * lines[0].length);
view = view.update();
expect(view.text()).toBe(lines[0]);
jest.advanceTimersByTime(100 * lines[0].length);
view = view.update();
expect(view.text()).toBe(lines[0]);
});
it('correctly cycles through provided characters in a line', () => {
const lines = ['abcdef'];
const lines = ['abcdef'];
let view = shallow(<Typist charTimeout={1} resetTimeout={100} lines={lines} />);
let view = shallow(<Typist charTimeout={1} resetTimeout={100} lines={lines} />);
Array(...lines[0]).forEach((_, idx) => {
view = view.update();
expect(view.text()).toBe(lines[0].slice(0, idx));
jest.advanceTimersByTime(1);
});
Array(...lines[0]).forEach((_, idx) => {
view = view.update();
expect(view.text()).toBe(lines[0].slice(0, idx));
jest.advanceTimersByTime(1);
});
});

View file

@ -2,15 +2,15 @@ import * as React from 'react';
import { Typist } from './Typist';
export default {
title: 'Atoms/Typist',
component: Typist,
args: {
charTimeout: 75,
resetTimeout: 2000,
lines: ['hello world', 'and again', 'a third', 'story time!'],
},
title: 'Atoms/Typist',
component: Typist,
args: {
charTimeout: 75,
resetTimeout: 2000,
lines: ['hello world', 'and again', 'a third', 'story time!'],
},
};
export const Looping = (args) => {
return <Typist {...args} />;
return <Typist {...args} />;
};

View file

@ -1,37 +1,37 @@
import * as React from 'react';
type TypistProps = {
resetTimeout: number;
charTimeout: number;
lines: string[];
resetTimeout: number;
charTimeout: number;
lines: string[];
};
export const Typist = (props: TypistProps) => {
const [outputText, setOutputText] = React.useState('');
const [currentLine, setCurrentLine] = React.useState(0);
const [outputText, setOutputText] = React.useState('');
const [currentLine, setCurrentLine] = React.useState(0);
React.useEffect(() => {
const fullLine = props.lines[currentLine];
React.useEffect(() => {
const fullLine = props.lines[currentLine];
if (outputText === fullLine) {
const timeout = setTimeout(() => {
setOutputText('');
setCurrentLine((currentLine + 1) % props.lines.length);
}, props.resetTimeout);
if (outputText === fullLine) {
const timeout = setTimeout(() => {
setOutputText('');
setCurrentLine((currentLine + 1) % props.lines.length);
}, props.resetTimeout);
return () => {
clearTimeout(timeout);
};
}
return () => {
clearTimeout(timeout);
};
}
const timeout = setTimeout(() => {
setOutputText(fullLine.slice(0, outputText.length + 1));
}, props.charTimeout);
const timeout = setTimeout(() => {
setOutputText(fullLine.slice(0, outputText.length + 1));
}, props.charTimeout);
return () => {
clearTimeout(timeout);
};
}, [currentLine, outputText]);
return () => {
clearTimeout(timeout);
};
}, [currentLine, outputText]);
return <>{outputText}</>;
return <>{outputText}</>;
};