openreplay/frontend/app/components/Client/Projects/ProjectTabTracking.tsx
Shekar Siri 80462e4534
change(ui): projects settings (#2924)
* change(ui): projects revamtp (wip)

* change(ui): projects revamtp (wip)

* change(ui): projects revamp - project form

* change(ui): projects revamp - capture rate tab

* change(ui): projects revamp - gdpr

* change(ui): projects revamp - reset state

* change(ui): projects revamp - progress avatar of samplerate, scroll etc.,

* change(ui): projects revamp - sync projects in list

* change(ui): projects revamp - project menu improvements
2025-01-08 11:50:22 +01:00

54 lines
1.5 KiB
TypeScript

import React from 'react';
import Project from '@/mstore/types/project';
import InstallMobileDocs from 'Shared/TrackingCodeModal/InstallIosDocs';
import { Tabs } from 'UI';
import ProjectCodeSnippet from 'Shared/TrackingCodeModal/ProjectCodeSnippet/ProjectCodeSnippet';
import InstallDocs from 'Shared/TrackingCodeModal/InstallDocs';
import usePageTitle from '@/hooks/usePageTitle';
const PROJECT = 'Using Script';
const DOCUMENTATION = 'Using NPM';
const TABS = [
{ key: DOCUMENTATION, text: DOCUMENTATION },
{ key: PROJECT, text: PROJECT }
];
interface Props {
project: Project;
}
function ProjectTabTracking(props: Props) {
usePageTitle('Installation - OpenReplay Preferences');
const { project } = props;
const [activeTab, setActiveTab] = React.useState(PROJECT);
const ingestPoint = `https://${window.location.hostname}/ingest`;
const renderActiveTab = () => {
switch (activeTab) {
case PROJECT:
return <ProjectCodeSnippet site={project} />;
case DOCUMENTATION:
return <InstallDocs site={project} />;
}
return null;
};
return (
<div>
{project.platform === 'ios' ? (
<InstallMobileDocs site={project} ingestPoint={ingestPoint} />
) : (
<div>
<Tabs
tabs={TABS}
active={activeTab}
onClick={(tab: string) => setActiveTab(tab)}
/>
<div className="p-5">{renderActiveTab()}</div>
</div>
)}
</div>
);
}
export default ProjectTabTracking;