mirror of
https://github.com/uetchy/namae.git
synced 2025-03-16 20:20:38 +09:00
parent
8e13a506d5
commit
34e9db922f
@ -49,7 +49,8 @@
|
|||||||
"chromeWebStore": "Chrome Web Store",
|
"chromeWebStore": "Chrome Web Store",
|
||||||
"firefoxAddons": "Firefox Add-ons",
|
"firefoxAddons": "Firefox Add-ons",
|
||||||
"youtube": "YouTube",
|
"youtube": "YouTube",
|
||||||
"hexpm": "Hex"
|
"hexpm": "Hex",
|
||||||
|
"fly": "Fly.io"
|
||||||
},
|
},
|
||||||
"showMore": "show more",
|
"showMore": "show more",
|
||||||
"try": "How about this?",
|
"try": "How about this?",
|
||||||
|
@ -5,7 +5,6 @@ import Home from './pages/Home';
|
|||||||
import Search from './pages/Search';
|
import Search from './pages/Search';
|
||||||
import { GlobalStyle } from './theme';
|
import { GlobalStyle } from './theme';
|
||||||
import { useOpenSearch } from './util/hooks';
|
import { useOpenSearch } from './util/hooks';
|
||||||
import { isStandalone } from './util/pwa';
|
|
||||||
|
|
||||||
export default function App() {
|
export default function App() {
|
||||||
const OpenSearch = useOpenSearch('/opensearch.xml');
|
const OpenSearch = useOpenSearch('/opensearch.xml');
|
||||||
@ -21,7 +20,7 @@ export default function App() {
|
|||||||
<Route path="*" element={<Navigate to="/" />} />
|
<Route path="*" element={<Navigate to="/" />} />
|
||||||
</Routes>
|
</Routes>
|
||||||
|
|
||||||
{!isStandalone() && <Footer />}
|
<Footer />
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ import SubredditCard from './providers/Subreddit';
|
|||||||
import TwitterCard from './providers/Twitter';
|
import TwitterCard from './providers/Twitter';
|
||||||
import VercelCard from './providers/Vercel';
|
import VercelCard from './providers/Vercel';
|
||||||
import YouTubeCard from './providers/YouTube';
|
import YouTubeCard from './providers/YouTube';
|
||||||
|
import FlyIoCard from './providers/FlyIo';
|
||||||
|
|
||||||
const Index: React.FC<{ query: string }> = ({ query }) => {
|
const Index: React.FC<{ query: string }> = ({ query }) => {
|
||||||
const {
|
const {
|
||||||
@ -54,6 +55,7 @@ const Index: React.FC<{ query: string }> = ({ query }) => {
|
|||||||
<HexPmCard query={query} />
|
<HexPmCard query={query} />
|
||||||
<LinuxCard query={query} />
|
<LinuxCard query={query} />
|
||||||
<OcamlCard query={query} />
|
<OcamlCard query={query} />
|
||||||
|
<FlyIoCard query={query} />
|
||||||
<VercelCard query={query} />
|
<VercelCard query={query} />
|
||||||
<HerokuCard query={query} />
|
<HerokuCard query={query} />
|
||||||
<NetlifyCard query={query} />
|
<NetlifyCard query={query} />
|
||||||
|
33
src/components/cards/providers/FlyIo.tsx
Normal file
33
src/components/cards/providers/FlyIo.tsx
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
import React from 'react';
|
||||||
|
import { useTranslation } from 'react-i18next';
|
||||||
|
import { FaFly } from 'react-icons/fa';
|
||||||
|
import { normalize } from '../../../util/text';
|
||||||
|
import { Card, DedicatedAvailability, Repeater } from '../core';
|
||||||
|
|
||||||
|
const FlyIoCard: React.FC<{ query: string }> = ({ query }) => {
|
||||||
|
const { t } = useTranslation();
|
||||||
|
|
||||||
|
const normalizedQuery = normalize(query, {
|
||||||
|
allowUnderscore: false,
|
||||||
|
});
|
||||||
|
const lowerCase = normalizedQuery.toLowerCase();
|
||||||
|
const names = [lowerCase];
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Card title={t('providers.fly')}>
|
||||||
|
<Repeater items={names}>
|
||||||
|
{(name) => (
|
||||||
|
<DedicatedAvailability
|
||||||
|
name={`${name}.fly.dev`}
|
||||||
|
service="dns"
|
||||||
|
message={`Go to ${name}.fly.dev`}
|
||||||
|
link={`https://${name}.fly.dev`}
|
||||||
|
icon={<FaFly />}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
</Repeater>
|
||||||
|
</Card>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default FlyIoCard;
|
@ -5,7 +5,7 @@ import XHR from 'i18next-xhr-backend';
|
|||||||
import LanguageDetector from 'i18next-browser-languagedetector';
|
import LanguageDetector from 'i18next-browser-languagedetector';
|
||||||
import { initReactI18next } from 'react-i18next';
|
import { initReactI18next } from 'react-i18next';
|
||||||
|
|
||||||
const TRANSLATION_VERSION = '16';
|
const TRANSLATION_VERSION = '17';
|
||||||
|
|
||||||
i18n
|
i18n
|
||||||
.use(Backend)
|
.use(Backend)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user