2021-02-17 14:05:41 -08:00
|
|
|
/*
|
|
|
|
Copyright (c) Microsoft Corporation.
|
|
|
|
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
you may not use this file except in compliance with the License.
|
|
|
|
You may obtain a copy of the License at
|
|
|
|
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
See the License for the specific language governing permissions and
|
|
|
|
limitations under the License.
|
|
|
|
*/
|
|
|
|
|
2022-09-20 14:32:21 -07:00
|
|
|
import type { CallLog, Mode, Source } from './recorderTypes';
|
2021-02-17 14:05:41 -08:00
|
|
|
import * as React from 'react';
|
|
|
|
import { Recorder } from './recorder';
|
2022-03-25 13:12:00 -08:00
|
|
|
import './recorder.css';
|
2021-02-17 14:05:41 -08:00
|
|
|
|
|
|
|
export const Main: React.FC = ({
|
|
|
|
}) => {
|
|
|
|
const [sources, setSources] = React.useState<Source[]>([]);
|
|
|
|
const [paused, setPaused] = React.useState(false);
|
2021-04-23 09:28:18 -07:00
|
|
|
const [log, setLog] = React.useState(new Map<string, CallLog>());
|
2021-02-17 14:05:41 -08:00
|
|
|
const [mode, setMode] = React.useState<Mode>('none');
|
|
|
|
|
|
|
|
window.playwrightSetMode = setMode;
|
|
|
|
window.playwrightSetSources = setSources;
|
|
|
|
window.playwrightSetPaused = setPaused;
|
|
|
|
window.playwrightUpdateLogs = callLogs => {
|
2021-04-23 09:28:18 -07:00
|
|
|
const newLog = new Map<string, CallLog>(log);
|
2021-02-17 17:28:02 -08:00
|
|
|
for (const callLog of callLogs) {
|
|
|
|
callLog.reveal = !log.has(callLog.id);
|
2021-02-17 14:05:41 -08:00
|
|
|
newLog.set(callLog.id, callLog);
|
2021-02-17 17:28:02 -08:00
|
|
|
}
|
2021-02-17 14:05:41 -08:00
|
|
|
setLog(newLog);
|
|
|
|
};
|
|
|
|
|
|
|
|
window.playwrightSourcesEchoForTest = sources;
|
|
|
|
return <Recorder sources={sources} paused={paused} log={log} mode={mode}/>;
|
|
|
|
};
|