diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json
index c7c1d60..6d35067 100644
--- a/public/locales/en/translation.json
+++ b/public/locales/en/translation.json
@@ -49,7 +49,8 @@
"chromeWebStore": "Chrome Web Store",
"firefoxAddons": "Firefox Add-ons",
"youtube": "YouTube",
- "hexpm": "Hex"
+ "hexpm": "Hex",
+ "fly": "Fly.io"
},
"showMore": "show more",
"try": "How about this?",
diff --git a/src/App.tsx b/src/App.tsx
index d07277d..ce09815 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -5,7 +5,6 @@ import Home from './pages/Home';
import Search from './pages/Search';
import { GlobalStyle } from './theme';
import { useOpenSearch } from './util/hooks';
-import { isStandalone } from './util/pwa';
export default function App() {
const OpenSearch = useOpenSearch('/opensearch.xml');
@@ -21,7 +20,7 @@ export default function App() {
} />
- {!isStandalone() && }
+
>
);
}
diff --git a/src/components/cards/index.tsx b/src/components/cards/index.tsx
index 5312b71..722cc19 100644
--- a/src/components/cards/index.tsx
+++ b/src/components/cards/index.tsx
@@ -32,6 +32,7 @@ import SubredditCard from './providers/Subreddit';
import TwitterCard from './providers/Twitter';
import VercelCard from './providers/Vercel';
import YouTubeCard from './providers/YouTube';
+import FlyIoCard from './providers/FlyIo';
const Index: React.FC<{ query: string }> = ({ query }) => {
const {
@@ -54,6 +55,7 @@ const Index: React.FC<{ query: string }> = ({ query }) => {
+
diff --git a/src/components/cards/providers/FlyIo.tsx b/src/components/cards/providers/FlyIo.tsx
new file mode 100644
index 0000000..c196d2f
--- /dev/null
+++ b/src/components/cards/providers/FlyIo.tsx
@@ -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 (
+
+
+ {(name) => (
+ }
+ />
+ )}
+
+
+ );
+};
+
+export default FlyIoCard;
diff --git a/src/util/i18n.ts b/src/util/i18n.ts
index 6ec54da..fcc5111 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 = '16';
+const TRANSLATION_VERSION = '17';
i18n
.use(Backend)