diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index 11c510e..03afcd2 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -31,7 +31,8 @@ "uniqueness": { "high": "Pretty unique", "moderate": "Moderately unique", - "low": "Not so unique" + "low": "Typical", + "description": "UNIQ shows how unique the name is (0 to 100)" }, "countryCode": "us", "try": "How about this?", diff --git a/public/locales/ja/translation.json b/public/locales/ja/translation.json index b778d9b..878012e 100644 --- a/public/locales/ja/translation.json +++ b/public/locales/ja/translation.json @@ -29,9 +29,10 @@ "firebase": "Firebase" }, "uniqueness": { - "high": "とてもユニーク", + "high": "超ユニーク", "moderate": "そこそこユニーク", - "low": "あまりユニークではない" + "low": "普通", + "description": "UNIQ は名前がどれくらいユニークかを示しています(0から100)" }, "countryCode": "jp", "try": "これはどう?", diff --git a/src/App.tsx b/src/App.tsx index 6a94675..21a2f23 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -4,6 +4,7 @@ import {Helmet} from 'react-helmet'; import {useTranslation} from 'react-i18next'; import {Switch, Route, useParams, Redirect} from 'react-router-dom'; import {IoIosRocket, IoIosFlash} from 'react-icons/io'; +import Tooltip from 'rc-tooltip'; import Welcome from './components/Welcome'; import Form from './components/Form'; @@ -110,7 +111,7 @@ function Stat() { const availableCount = useStoreState((state) => state.stats.availableCount); const {t} = useTranslation(); - const uniqueness = availableCount / totalCount; + const uniqueness = availableCount !== 0 ? availableCount / totalCount : 0.0; const uniquenessText = ((n) => { if (n > 0.7 && n <= 1.0) { return t('uniqueness.high'); @@ -123,7 +124,15 @@ function Stat() { return ( - {uniquenessText} ({uniqueness.toFixed(2)}) + + + {uniquenessText} ({(uniqueness * 100).toFixed(1)} UNIQ) + + ); } diff --git a/src/components/Form.tsx b/src/components/Form.tsx index 24db31a..5e896c9 100644 --- a/src/components/Form.tsx +++ b/src/components/Form.tsx @@ -129,7 +129,7 @@ const InputView = styled.input.attrs({ border: none; outline: none; text-align: center; - font-family: 'Montserrat', monospace; + font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 6rem; appearance: none; diff --git a/src/components/Suggestion.tsx b/src/components/Suggestion.tsx index 78cd777..c3e5ac7 100644 --- a/src/components/Suggestion.tsx +++ b/src/components/Suggestion.tsx @@ -285,11 +285,11 @@ const Items = styled.div` const Item = styled.div<{delay: number}>` margin: 10px 10px 0; + padding-bottom: 5px; cursor: pointer; - font-weight: bold; - font-family: inherit; - font-size: 1.5rem; - line-height: 1em; + font-family: 'Montserrat', sans-serif; + font-weight: 600; + font-size: 1.4rem; border-bottom: 1px dashed black; color: black; overflow: hidden; diff --git a/src/components/Welcome.tsx b/src/components/Welcome.tsx index 0500323..8159679 100644 --- a/src/components/Welcome.tsx +++ b/src/components/Welcome.tsx @@ -26,6 +26,32 @@ import {SpectrumIcon, NowIcon, NetlifyIcon, OcamlIcon} from './Icons'; import {mobile} from '../util/css'; import {sendGettingStartedEvent} from '../util/analytics'; +const supportedProviders: Record = { + domains: , + github: , + gitlab: , + npm: , + rust: , + pypi: , + rubygems: , + ocaml: , + homebrew: , + linux: , + twitter: , + instagram: , + spectrum: , + slack: , + heroku: , + now: , + netlify: , + s3: , + firebase: , + jsorg: , + githubSearch: , + appStore: , + nta: , +}; + const Welcome: React.FC = () => { const {t} = useTranslation(); @@ -45,75 +71,11 @@ const Welcome: React.FC = () => { - - {t('providers.domains')} - - - {t('providers.github')} - - - {t('providers.gitlab')} - - - {t('providers.npm')} - - - {t('providers.rust')} - - - {t('providers.pypi')} - - - {t('providers.rubygems')} - - - {t('providers.ocaml')} - - - {t('providers.homebrew')} - - - {t('providers.linux')} - - - {t('providers.twitter')} - - - {t('providers.instagram')} - - - {t('providers.spectrum')} - - - {t('providers.slack')} - - - {t('providers.heroku')} - - - {t('providers.now')} - - - {t('providers.netlify')} - - - {t('providers.s3')} - - - {t('providers.firebase')} - - - {t('providers.jsorg')} - - - {t('providers.githubSearch')} - - - {t('providers.appStore')} - - - {t('providers.nta')} - + {Object.keys(supportedProviders).map((key) => ( + + {supportedProviders[key]} {t(`providers.${key}`)} + + ))} ); diff --git a/src/components/cards/core.tsx b/src/components/cards/core.tsx index f9f4c42..4c43d90 100644 --- a/src/components/cards/core.tsx +++ b/src/components/cards/core.tsx @@ -2,7 +2,6 @@ import React, {useState, useEffect, Suspense} from 'react'; import styled from 'styled-components'; import useFetch from 'fetch-suspense'; import Tooltip from 'rc-tooltip'; -import 'rc-tooltip/assets/bootstrap.css'; import BarLoader from 'react-spinners/BarLoader'; import {GoInfo} from 'react-icons/go'; import {IoIosFlash} from 'react-icons/io'; diff --git a/src/index.tsx b/src/index.tsx index fab7985..7507230 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -4,7 +4,9 @@ import {Router} from 'react-router-dom'; import {StoreProvider} from 'easy-peasy'; import {createBrowserHistory} from 'history'; import {ToastContainer, toast} from 'react-toastify'; + import 'react-toastify/dist/ReactToastify.css'; +import 'rc-tooltip/assets/bootstrap.css'; import App from './App'; import * as serviceWorker from './serviceWorker'; diff --git a/src/util/css.ts b/src/util/css.ts index 2f63bcb..fc5e8f7 100644 --- a/src/util/css.ts +++ b/src/util/css.ts @@ -4,7 +4,7 @@ export const mobile = '@media screen and (max-width: 800px)'; export const slideUp = keyframes` from { - transform: translateY(150%) skewY(10deg); + transform: translateY(200%) skewY(10deg); } to { transform: translateY(0) skewY(0); diff --git a/src/util/i18n.ts b/src/util/i18n.ts index cbf687f..666a20a 100644 --- a/src/util/i18n.ts +++ b/src/util/i18n.ts @@ -5,7 +5,7 @@ import XHR from 'i18next-xhr-backend'; import LanguageDetector from 'i18next-browser-languagedetector'; import {initReactI18next} from 'react-i18next'; -const TRANSLATION_VERSION = '1.16'; +const TRANSLATION_VERSION = '1.17'; i18n .use(Backend)