diff --git a/src/components/Links/ContentHashLink.js b/src/components/Links/ContentHashLink.js
index d00e3e89a..068422e5f 100644
--- a/src/components/Links/ContentHashLink.js
+++ b/src/components/Links/ContentHashLink.js
@@ -45,7 +45,7 @@ const ContentHashLink = ({ value, contentType }) => {
externalLink = `https://swarm-gateways.net/bzz://${decoded}`
url = `bzz://${decoded}`
} else if (protocolType === 'onion' || protocolType === 'onion3') {
- externalLink = `https://${decoded}.onion`
+ externalLink = `http://${decoded}.onion`
url = `onion://${decoded}`
} else {
console.warn(`Unsupported protocol ${protocolType}`)
diff --git a/src/components/Links/TextRecordLink.js b/src/components/Links/TextRecordLink.js
new file mode 100644
index 000000000..c5c44ba6e
--- /dev/null
+++ b/src/components/Links/TextRecordLink.js
@@ -0,0 +1,51 @@
+import React from 'react'
+import styled from '@emotion/styled'
+import { ReactComponent as ExternalLinkIcon } from '../Icons/externalLink.svg'
+
+const LinkContainer = styled('a')`
+ display: inline-block;
+ align-items: center;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ overflow: hidden;
+ svg {
+ margin-left: 10px;
+ transition: 0.1s;
+ opacity: 0;
+ }
+
+ &:hover {
+ svg {
+ opacity: 1;
+ }
+ }
+`
+
+const TextRecordLink = ({ textKey, value }) => {
+ let url
+ switch (textKey) {
+ case 'url':
+ url = `${value}`
+ break
+ case 'vnd.twitter':
+ url = `twitter.com/${value}`
+ break
+ case 'vnd.github':
+ url = `github.com/${value}`
+ break
+ default:
+ }
+ if (url && !url.match(/http[s]?:\/\//)) {
+ url = 'https://' + url
+ }
+ return url ? (
+
+ {value}
+
+
+ ) : (
+ value
+ )
+}
+
+export default TextRecordLink
diff --git a/src/components/SingleName/DNSNameRegister/NameRegister.js b/src/components/SingleName/DNSNameRegister/NameRegister.js
index 44d6d47c8..978c603c1 100644
--- a/src/components/SingleName/DNSNameRegister/NameRegister.js
+++ b/src/components/SingleName/DNSNameRegister/NameRegister.js
@@ -12,6 +12,7 @@ import You from '../../Icons/You'
const EtherScanLink = styled(DefaultEtherScanLink)`
display: flex;
+ overflow: hidden;
svg {
flex-grow: 1;
}
diff --git a/src/components/SingleName/NameDetails.js b/src/components/SingleName/NameDetails.js
index 234004835..e09b32ed2 100644
--- a/src/components/SingleName/NameDetails.js
+++ b/src/components/SingleName/NameDetails.js
@@ -2,6 +2,7 @@ import React, { useState } from 'react'
import { useQuery } from 'react-apollo'
import styled from '@emotion/styled'
import { Link, Route } from 'react-router-dom'
+import mq from 'mediaQuery'
import {
SET_OWNER,
@@ -53,12 +54,17 @@ const Button = styled(DefaultButton)`
`
const ButtonContainer = styled('div')`
- margin-top: 0;
- position: absolute;
- right: ${props => (props.outOfSync ? '195px' : '180px')};
- -webkit-transform: translate(0, -65%);
- -ms-transform: translate(0, -65%);
- transform: translate(0, -65%);
+ margin-top: 20px;
+ height: 50px;
+ ${mq.small`
+ height: 50px;
+ width: 50px;
+ position: absolute;
+ right: 128px;
+ -webkit-transform: translate(0, -65%);
+ -ms-transform: translate(0, -65%);
+ transform: translate(0, -65%);
+ `}
`
const ExpirationDetailsValue = styled(DetailsValue)`
@@ -75,7 +81,11 @@ const Explainer = styled('div')`
color: #adbbcd;
display: flex;
padding: 1em 0;
- margin-left: 180px;
+ margin-left: 0px;
+ ${mq.small`
+ margin-left: 180px;
+ `}
+
margin-bottom: 45px;
padding-left 24px;
`
@@ -100,7 +110,7 @@ const EtherScanLinkContainer = styled('span')`
`
const LinkToLearnMore = styled('a')`
- margin-right: ${props => (props.outOfSync ? '' : '2em')};
+ margin-right: ${props => (props.outOfSync ? '' : '')};
font-size: 14px;
letter-spacing: 0.58px;
text-align: center;
diff --git a/src/components/SingleName/ResolverAndRecords/KeyValueRecord/KeyValueRecord.js b/src/components/SingleName/ResolverAndRecords/KeyValueRecord/KeyValueRecord.js
index 987bc74e0..51025127d 100644
--- a/src/components/SingleName/ResolverAndRecords/KeyValueRecord/KeyValueRecord.js
+++ b/src/components/SingleName/ResolverAndRecords/KeyValueRecord/KeyValueRecord.js
@@ -1,6 +1,7 @@
import React, { useEffect, useState } from 'react'
import styled from '@emotion/styled'
import { useMutation, useQuery, Mutation } from 'react-apollo'
+import TextRecordLink from '../../../Links/TextRecordLink'
import mq from 'mediaQuery'
import {
@@ -67,16 +68,12 @@ const RecordsListItem = styled('div')`
`}
`
-const Value = styled(RecordsValue)`
- padding-right: 0;
-`
-
const KeyValuesContent = styled(RecordsContent)`
display: grid;
width: 100%;
grid-template-columns: 1fr;
padding-right: 30px;
-
+ overflow: hidden;
${mq.small`
grid-template-columns: 150px 1fr;
`}
@@ -148,7 +145,7 @@ const Editable = ({
{textKey}
- {value}
+
{pending && !confirmed && txHash ? (
editing && 'margin-bottom: 30px'};
`
@@ -74,6 +77,10 @@ export const RecordsSubKey = styled('div')`
export const RecordsValue = styled(DetailsValue)`
font-size: 14px;
+ margin-top: 1em;
+ ${mq.small`
+ margin-top: 0;
+ `}
`
const EditRecord = styled('div')`
diff --git a/src/components/SingleName/ResolverAndRecords/TextRecord/TextRecord.js b/src/components/SingleName/ResolverAndRecords/TextRecord/TextRecord.js
index a2b8ad2a2..51cb4dd68 100644
--- a/src/components/SingleName/ResolverAndRecords/TextRecord/TextRecord.js
+++ b/src/components/SingleName/ResolverAndRecords/TextRecord/TextRecord.js
@@ -1,7 +1,7 @@
import React from 'react'
import TEXT_RECORD_KEYS from 'constants/textRecords'
import KeyValueRecord from '../KeyValueRecord'
-import { Query, useQuery } from 'react-apollo'
+import { useQuery } from 'react-apollo'
import { getNamehash } from '@ensdomains/ui'
import { GET_RESOLVER_FROM_SUBGRAPH } from 'graphql/queries'
diff --git a/src/components/SingleName/ResolverAndRecords/TextRecord/constants.js b/src/components/SingleName/ResolverAndRecords/TextRecord/constants.js
deleted file mode 100644
index dd3ec3ea0..000000000
--- a/src/components/SingleName/ResolverAndRecords/TextRecord/constants.js
+++ /dev/null
@@ -1,12 +0,0 @@
-const TEXT_RECORD_KEYS = [
- 'email',
- 'url',
- 'avatar',
- 'description',
- 'notice',
- 'keywords',
- 'vnd.twitter',
- 'vnd.github'
-]
-
-export default TEXT_RECORD_KEYS