Skip to content

Commit 174664c

Browse files
authored
add browser to feedback form (codesandbox#3723)
* add browser to feedback form * use includes instead
1 parent d84332e commit 174664c

File tree

5 files changed

+33
-5
lines changed

5 files changed

+33
-5
lines changed

packages/app/src/app/overmind/utils/pushToAirtable.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ export default async ({
55
username,
66
email,
77
version,
8+
browser,
89
}) => {
910
const Airtable = await import(
1011
/* webpackChunkName: 'airtable' */ './setAirtable'
@@ -21,6 +22,7 @@ export default async ({
2122
email,
2223
url: window.location.pathname,
2324
version,
25+
browser,
2426
},
2527
err => {
2628
if (err) {

packages/app/src/app/pages/Sandbox/Editor/Workspace/items/Deployment/Zeit/Deploys/Deploys.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import distanceInWordsToNow from 'date-fns/distance_in_words_to_now';
1+
import formatDistanceToNow from 'date-fns/formatDistanceToNow';
22
import React, { FunctionComponent } from 'react';
33

44
import { useOvermind } from 'app/overmind';
@@ -37,7 +37,7 @@ export const Deploys: FunctionComponent = () => {
3737
<Name>
3838
{deploy.name}
3939

40-
<span>{`(${distanceInWordsToNow(deploy.created)} ago)`}</span>
40+
<span>{`(${formatDistanceToNow(deploy.created)} ago)`}</span>
4141
</Name>
4242

4343
<State state={deploy.state}>

packages/app/src/app/pages/Sandbox/Editor/Workspace/screens/Deployment/Zeit.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
ListItem,
1111
List,
1212
} from '@codesandbox/components';
13-
import distanceInWordsToNow from 'date-fns/distance_in_words_to_now';
13+
import formatDistanceToNow from 'date-fns/formatDistanceToNow';
1414
import { useOvermind } from 'app/overmind';
1515
import { ZeitIcon, VisitIcon, TrashIcon } from './icons';
1616
import { State } from './elements';
@@ -57,7 +57,7 @@ export const Zeit = () => {
5757
{deploy.state.toString().toLowerCase()}
5858
</State>
5959
<Text variant="muted" marginLeft={2}>
60-
{`(${distanceInWordsToNow(deploy.created)} ago)`}
60+
{`(${formatDistanceToNow(deploy.created)} ago)`}
6161
</Text>
6262
</ListItem>
6363
<ListAction

packages/app/src/app/pages/common/Modals/FeedbackModal/Feedback.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import React, {
1717
FunctionComponent,
1818
useState,
1919
} from 'react';
20-
20+
import { browser } from './getBrowser';
2121
import { Alert } from '../Common/Alert';
2222

2323
type Props = {
@@ -56,6 +56,7 @@ const Feedback: FunctionComponent<Props> = ({ id, user }) => {
5656
username: (user || {}).username,
5757
email,
5858
version: VERSION,
59+
browser: browser(),
5960
})
6061
.then(() => {
6162
setEmoji(null);
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
export const browser = () => {
2+
const agent = window.navigator.userAgent.toLowerCase();
3+
switch (true) {
4+
case agent.includes('edge'):
5+
return 'edge';
6+
case agent.includes('edg'):
7+
return 'chromium based edge (dev or canary)';
8+
// @ts-ignore
9+
case agent.includes('opr') && !!window.opr:
10+
return 'opera';
11+
// @ts-ignore
12+
case agent.includes('chrome') && !!window.chrome:
13+
return 'chrome';
14+
case agent.includes('trident'):
15+
return 'ie';
16+
case agent.includes('firefox'):
17+
return 'firefox';
18+
case agent.includes('brave'):
19+
return 'brave';
20+
case agent.includes('safari'):
21+
return 'safari';
22+
default:
23+
return 'other';
24+
}
25+
};

0 commit comments

Comments
 (0)