integrations doc links

This commit is contained in:
Shekar Siri 2021-05-04 18:59:46 +05:30
parent debf13ff99
commit bf80545766
27 changed files with 7902 additions and 13011 deletions

View file

@ -1,8 +1,14 @@
import { tokenRE } from 'Types/integrations/bugsnagConfig';
import IntegrationForm from '../IntegrationForm';
import ProjectListDropdown from './ProjectListDropdown';
import DocLink from 'Shared/DocLink/DocLink';
const BugsnagForm = (props) => (
<>
<div className="p-5 border-b mb-4">
<div>How to integrate Bugsnag with OpenReplay and see backend errors alongside session recordings.</div>
<DocLink className="mt-4" label="Integrate Bugsnag" url="https://docs.openreplay.com/integrations/datadog" />
</div>
<IntegrationForm
{ ...props }
name="bugsnag"
@ -17,6 +23,7 @@ const BugsnagForm = (props) => (
}
]}
/>
</>
);
BugsnagForm.displayName = "BugsnagForm";

View file

@ -2,12 +2,13 @@ import { ACCESS_KEY_ID_LENGTH, SECRET_ACCESS_KEY_LENGTH } from 'Types/integratio
import IntegrationForm from '../IntegrationForm';
import LogGroupDropdown from './LogGroupDropdown';
import RegionDropdown from './RegionDropdown';
import DocLink from 'Shared/DocLink/DocLink';
const CloudwatchForm = (props) => (
<>
<div className="p-5 border-b mb-4">
<div>How to integrate CloudWatch with OpenReplay and see backend errors alongside session replays.</div>
<div className="mt-8">See <a href="https://docs.openreplay.com/javascript-sdk" className="color-teal underline" target="_blank">Documentation</a> for more details.</div>
<DocLink className="mt-4" label="Integrate CloudWatch" url="https://docs.openreplay.com/integrations/cloudwatch" />
</div>
<IntegrationForm
{ ...props }

View file

@ -1,10 +1,11 @@
import IntegrationForm from './IntegrationForm';
import DocLink from 'Shared/DocLink/DocLink';
const DatadogForm = (props) => (
<>
<div className="p-5 border-b mb-4">
<div>How to integrate Datadog with OpenReplay and see backend errors alongside session recordings.</div>
<div className="mt-8">See <a href="https://docs.openreplay.com/javascript-sdk" className="color-teal underline" target="_blank">Documentation</a> for more details.</div>
<DocLink className="mt-4" label="Integrate Datadog" url="https://docs.openreplay.com/integrations/datadog" />
</div>
<IntegrationForm
{ ...props }

View file

@ -2,6 +2,7 @@ import { connect } from 'react-redux';
import IntegrationForm from './IntegrationForm';
import { withRequest } from 'HOCs';
import { edit } from 'Duck/integrations/actions';
import DocLink from 'Shared/DocLink/DocLink';
@connect(state => ({
config: state.getIn([ 'elasticsearch', 'instance' ])
@ -43,7 +44,7 @@ export default class ElasticsearchForm extends React.PureComponent {
<>
<div className="p-5 border-b mb-4">
<div>How to integrate Elasticsearch with OpenReplay and see backend errors alongside session recordings.</div>
<div className="mt-8">See <a href="https://docs.openreplay.com/javascript-sdk" className="color-teal underline" target="_blank">Documentation</a> for more details.</div>
<DocLink className="mt-4" label="Integrate Elasticsearch" url="https://docs.openreplay.com/integrations/elastic" />
</div>
<IntegrationForm
{ ...props }

View file

@ -1,5 +1,6 @@
import Highlight from 'react-highlight'
import ToggleContent from '../../../shared/ToggleContent'
import ToggleContent from 'Shared/ToggleContent'
import DocLink from 'Shared/DocLink/DocLink';
const FetchDoc = (props) => {
return (
@ -55,7 +56,7 @@ fetch('https://api.openreplay.com/').then(response => console.log(response.json(
}
/>
<div className="mt-6">See <a href="https://docs.openreplay.com/api" className="color-teal underline" target="_blank">API</a> for more options.</div>
<DocLink className="mt-4" label="Integrate Fetch" url="https://docs.openreplay.com/plugins/fetch" />
</div>
)
};

View file

@ -1,11 +1,12 @@
import IntegrationForm from './IntegrationForm';
import DocLink from 'Shared/DocLink/DocLink';
const GithubForm = (props) => (
<>
<div className="p-5 border-b mb-4">
<div>Integrate GitHub with OpenReplay and create issues directly from the recording page.</div>
<div className="mt-8">
<a href="https://docs.openreplay.com/javascript-sdk" className="color-teal underline" target="_blank">Integrate with Github</a>
<DocLink className="mt-4" label="Integrate Github" url="https://docs.openreplay.com/integrations/github" />
</div>
</div>
<IntegrationForm

View file

@ -1,5 +1,6 @@
import Highlight from 'react-highlight'
import ToggleContent from '../../../shared/ToggleContent';
import DocLink from 'Shared/DocLink/DocLink';
import ToggleContent from 'Shared/ToggleContent';
const GraphQLDoc = (props) => {
return (
@ -52,7 +53,7 @@ export const recordGraphQL = tracker.use(trackerGraphQL());`}
}
/>
<div className="mt-6">See <a href="https://docs.openreplay.com/api" className="color-teal underline" target="_blank">API</a> for more options.</div>
<DocLink className="mt-4" label="Integrate GraphQL" url="https://docs.openreplay.com/plugins/graphql" />
</div>
)
};

View file

@ -289,7 +289,7 @@ export default class Integrations extends React.PureComponent {
<IntegrationItem
title="Fetch"
icon="integrations/ngrx"
icon="integrations/openreplay"
url={ null }
dockLink="https://docs.openreplay.com/integrations/sentry"
onClick={ () => this.showIntegrationConfig(FETCH) }
@ -298,7 +298,7 @@ export default class Integrations extends React.PureComponent {
<IntegrationItem
title="MobX"
icon="integrations/ngrx"
icon="integrations/mobx"
url={ null }
dockLink="https://docs.openreplay.com/integrations/sentry"
onClick={ () => this.showIntegrationConfig(MOBX) }
@ -307,7 +307,7 @@ export default class Integrations extends React.PureComponent {
<IntegrationItem
title="Profiler"
icon="integrations/ngrx"
icon="integrations/openreplay"
url={ null }
dockLink="https://docs.openreplay.com/integrations/sentry"
onClick={ () => this.showIntegrationConfig(PROFILER) }

View file

@ -1,6 +1,14 @@
import IntegrationForm from '../IntegrationForm';
import DocLink from 'Shared/DocLink/DocLink';
const JiraForm = (props) => (
<>
<div className="p-5 border-b mb-4">
<div>How to integrate Jira Cloud with OpenReplay.</div>
<div className="mt-8">
<DocLink className="mt-4" label="Integrate Jira Cloud" url="https://docs.openreplay.com/integrations/jira" />
</div>
</div>
<IntegrationForm
{ ...props }
ignoreProject={true}
@ -20,6 +28,7 @@ const JiraForm = (props) => (
},
]}
/>
</>
);
JiraForm.displayName = "JiraForm";

View file

@ -1,5 +1,6 @@
import Highlight from 'react-highlight'
import ToggleContent from '../../../shared/ToggleContent'
import ToggleContent from 'Shared/ToggleContent'
import DocLink from 'Shared/DocLink/DocLink';
const MobxDoc = (props) => {
return (
@ -49,7 +50,7 @@ function SomeFunctionalComponent() {
}
/>
<div className="mt-6">See <a href="https://docs.openreplay.com/api" className="color-teal underline" target="_blank">API</a> for more options.</div>
<DocLink className="mt-4" label="Integrate MobX" url="https://docs.openreplay.com/plugins/mobx" />
</div>
)
};

View file

@ -1,10 +1,11 @@
import IntegrationForm from '../IntegrationForm';
import DocLink from 'Shared/DocLink/DocLink';
const NewrelicForm = (props) => (
<>
<div className="p-5 border-b mb-4">
<div>How to integrate NewRelic with OpenReplay and see backend errors alongside session recordings.</div>
<div className="mt-8">See <a href="https://docs.openreplay.com/javascript-sdk" className="color-teal underline" target="_blank">Documentation</a> for more details.</div>
<DocLink className="mt-4" label="Integrate NewRelic" url="https://docs.openreplay.com/integrations/newrelic" />
</div>
<IntegrationForm
{ ...props }

View file

@ -1,5 +1,6 @@
import Highlight from 'react-highlight'
import ToggleContent from '../../../shared/ToggleContent'
import ToggleContent from 'Shared/ToggleContent'
import DocLink from 'Shared/DocLink/DocLink';
const NgRxDoc = (props) => {
return (
@ -65,7 +66,7 @@ const metaReducers = [tracker.use(trackerNgRx(<options>))]; // check list of ava
}
/>
<div className="mt-6">See <a href="https://docs.openreplay.com/api" className="color-teal underline" target="_blank">API</a> for more options.</div>
<DocLink className="mt-4" label="Integrate NgRx" url="https://docs.openreplay.com/plugins/ngrx" />
</div>
)
};

View file

@ -1,5 +1,6 @@
import Highlight from 'react-highlight'
import ToggleContent from '../../../shared/ToggleContent'
import ToggleContent from 'Shared/ToggleContent'
import DocLink from 'Shared/DocLink/DocLink';
const ProfilerDoc = (props) => {
return (
@ -59,7 +60,7 @@ const fn = profiler('call_name')(() => {
}
/>
<div className="mt-6">See <a href="https://docs.openreplay.com/api" className="color-teal underline" target="_blank">API</a> for more options.</div>
<DocLink className="mt-4" label="Integrate Profiler" url="https://docs.openreplay.com/plugins/profiler" />
</div>
)
};

View file

@ -1,5 +1,6 @@
import Highlight from 'react-highlight'
import ToggleContent from '../../../shared/ToggleContent';
import DocLink from 'Shared/DocLink/DocLink';
const ReduxDoc = (props) => {
return (
@ -58,7 +59,7 @@ const store = createStore(
}
/>
<div className="mt-6">See <a href="https://docs.openreplay.com/api" className="color-teal underline" target="_blank">API</a> for more options.</div>
<DocLink className="mt-4" label="Integrate Redux" url="https://docs.openreplay.com/plugins/redux" />
</div>
)
};

View file

@ -1,10 +1,11 @@
import IntegrationForm from './IntegrationForm';
import DocLink from 'Shared/DocLink/DocLink';
const RollbarForm = (props) => (
<>
<div className="p-5 border-b mb-4">
<div>How to integrate Rollbar with OpenReplay and see backend errors alongside session replays.</div>
<div className="mt-8">See <a href="https://docs.openreplay.com/javascript-sdk" className="color-teal underline" target="_blank">Documentation</a> for more details.</div>
<DocLink className="mt-4" label="Integrate Rollbar" url="https://docs.openreplay.com/integrations/rollbar" />
</div>
<IntegrationForm
{ ...props }

View file

@ -1,10 +1,11 @@
import IntegrationForm from './IntegrationForm';
import DocLink from 'Shared/DocLink/DocLink';
const SentryForm = (props) => (
<>
<div className="p-5 border-b mb-4">
<div>How to integrate Sentry with OpenReplay and see backend errors alongside session recordings.</div>
<div className="mt-8">See <a href="https://docs.openreplay.com/javascript-sdk" className="color-teal underline" target="_blank">Documentation</a> for more details.</div>
<DocLink className="mt-4" label="Integrate Sentry" url="https://docs.openreplay.com/integrations/sentry" />
</div>
<IntegrationForm
{ ...props }

View file

@ -1,10 +1,11 @@
import IntegrationForm from './IntegrationForm';
import DocLink from 'Shared/DocLink/DocLink';
const StackdriverForm = (props) => (
<>
<div className="p-5 border-b mb-4">
<div>How to integrate Stackdriver with OpenReplay and see backend errors alongside session recordings.</div>
<div className="mt-8">See <a href="https://docs.openreplay.com/javascript-sdk" className="color-teal underline" target="_blank">Documentation</a> for more details.</div>
<DocLink className="mt-4" label="Integrate Stackdriver" url="https://docs.openreplay.com/integrations/stackdriver" />
</div>
<IntegrationForm
{ ...props }

View file

@ -1,11 +1,12 @@
import IntegrationForm from '../IntegrationForm';
import RegionDropdown from './RegionDropdown';
import DocLink from 'Shared/DocLink/DocLink';
const SumoLogicForm = (props) => (
<>
<div className="p-5 border-b mb-4">
<div>How to integrate SumoLogic with OpenReplay and see backend errors alongside session recordings.</div>
<div className="mt-8">See <a href="https://docs.openreplay.com/javascript-sdk" className="color-teal underline" target="_blank">Documentation</a> for more details.</div>
<DocLink className="mt-4" label="Integrate SumoLogic" url="https://docs.openreplay.com/integrations/sumo" />
</div>
<IntegrationForm
{ ...props }

View file

@ -1,5 +1,6 @@
import Highlight from 'react-highlight'
import ToggleContent from '../../../shared/ToggleContent';
import DocLink from 'Shared/DocLink/DocLink';
const VueDoc = (props) => {
return (
@ -59,7 +60,7 @@ const store = new Vuex.Store({
}
/>
<div className="mt-6">See <a href="https://docs.openreplay.com/api" className="color-teal underline" target="_blank">API</a> for more options.</div>
<DocLink className="mt-4" label="Integrate Vuex" url="https://docs.openreplay.com/plugins/vuex" />
</div>
)
};

View file

@ -88,7 +88,7 @@ function InstallDocs({ site }) {
</div>
</div>
</div>
<div className="border-t pt-4 mt-8">See <a href="https://docs.openreplay.com/javascript-sdk" className="color-teal underline" target="_blank">Documentation</a> for the list of available options.</div>
<div className="border-t pt-4 mt-8">See <a href="https://docs.openreplay.com/installation/javascript-sdk" className="color-teal underline" target="_blank">Documentation</a> for the list of available options.</div>
</div>
)
}

View file

@ -112,6 +112,7 @@ export default class Timeline extends React.PureComponent {
style={ {
left: `${ interval.start * scale }%`,
width: `${ (interval.end - interval.start) * scale }%`,
top: '-30px'
} }
/>))
}
@ -120,7 +121,7 @@ export default class Timeline extends React.PureComponent {
<div
key={ e.key }
className={ stl.event }
style={ { left: `${ e.time * scale }%` } }
style={ { left: `${ e.time * scale }%`, top: '-30px' } }
/>
))
}

View file

@ -1,13 +1,13 @@
import React from 'react'
import { Button } from 'UI'
export default function DocLink({ link, label }) {
export default function DocLink({ className = '', url, label }) {
const openLink = () => {
window.open(link, '_blank')
window.open(url, '_blank')
}
return (
<div>
<div className={className}>
<Button outline onClick={openLink}>
{ label }
</Button>

View file

@ -0,0 +1 @@
<svg width="2500" height="2500" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid"><path d="M256 236.394V19.607c0-8.894-5.923-16.4-14.037-18.8l-9.215 5.514-102.265 109.037-3.206 10.021-1.873 9.62 31.89 119.18 4.933 1.82h74.167c10.828 0 19.606-8.777 19.606-19.605" fill="#EA6618"/><path d="M0 19.606v216.787c0 6.705 3.367 12.62 8.5 16.155l6.287-3.01 108.246-115.894 4.244-8.265.159-7.99L97.976 5.306 93.513 0H19.606C8.778 0 0 8.778 0 19.606" fill="#d65813"/><path d="M127.277 125.38L241.963.806a19.595 19.595 0 0 0-5.57-.807H93.515l33.763 125.38z" fill="#e05e11"/><path d="M19.606 256h142.622l-34.951-130.621L8.499 252.549A19.511 19.511 0 0 0 19.606 256" fill="#de5c16"/><path d="M94.918 97.03h14.225c5.668 21.386 12.119 40.152 19.316 57.085 8.152-19.05 14.127-37.83 19.185-57.086h13.442c-6.02 23.926-15.868 48.04-27.132 72.93h-11.89c-10.82-23.586-20.03-47.837-27.146-72.93zm-46.92-37.055h31.63v135.637h-31.77v-10.456H67.33V70.152H47.998V59.975zm160.169 10.177h-19.332v115.004h19.47v10.456h-31.769V59.975h31.63v10.177z" fill="#FFF"/></svg>

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="52px" height="59px" viewBox="0 0 52 59" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg viewBox="0 0 52 59" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Group</title>
<g id="logos" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="1" transform="translate(-107.000000, -142.000000)" fill-rule="nonzero">

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -8,7 +8,7 @@ const oss = {
CAPTCHA_ENABLED: process.env.CAPTCHA_ENABLED,
CAPTCHA_SITE_KEY: process.env.CAPTCHA_SITE_KEY,
ORIGIN: () => 'window.location.origin',
API_EDP: () => 'window.location.origin + "/api"',
API_EDP: 'https://staging-parrot.asayer.io',
ASSETS_HOST: () => 'window.location.origin + "/assets"',
VERSION: '1.0.1',
SOURCEMAP: true,

20714
frontend/package-lock.json generated

File diff suppressed because it is too large Load diff

View file

@ -1,14 +1,15 @@
const Minio = require('minio')
const { collectFilenames } = require('./fs');
require('dotenv').config()
const PUBLIC_DIR = 'public';
var minioClient = new Minio.Client({
endPoint: window.ENV.MINIO_ENDPOINT,
port: window.ENV.MINIO_PORT,
useSSL: window.ENV.MINIO_USE_SSL, //?
accessKey: window.ENV.MINIO_ACCESS_KEY,
secretKey: window.ENV.MINIO_SECRET_KEY,
endPoint: process.env.MINIO_ENDPOINT,
port: process.env.MINIO_PORT,
useSSL: process.env.MINIO_USE_SSL,
accessKey: process.env.MINIO_ACCESS_KEY,
secretKey: process.env.MINIO_SECRET_KEY,
});
collectFilenames(PUBLIC_DIR, n => !n.includes('.DS_Store')).forEach(name => {