From 4d7c8449d8fbbfebce25175f70120357c3140f98 Mon Sep 17 00:00:00 2001 From: rift <117926989+Riftriot@users.noreply.github.com> Date: Wed, 27 Dec 2023 10:46:42 -0600 Subject: [PATCH] Tab cloaking --- index.html | 2 - public/{discord.png => services.png} | Bin src/locales/en.json | 4 ++ src/locales/es.json | 4 ++ src/locales/ja.json | 4 ++ src/pages/Home.tsx | 10 ++--- src/pages/ProxyFrame.tsx | 8 +++- src/pages/Settings/CloakPreset.tsx | 30 ++++++++++++++ src/pages/Settings/TabSettings.tsx | 57 ++++++++++++++++++++------- src/pages/Settings/index.tsx | 9 +++-- src/pages/_404.tsx | 9 +++-- src/pages/discord.tsx | 11 +++--- src/util/CloakedHead.tsx | 38 ++++++++++++++++++ 13 files changed, 150 insertions(+), 36 deletions(-) rename public/{discord.png => services.png} (100%) create mode 100644 src/pages/Settings/CloakPreset.tsx create mode 100644 src/util/CloakedHead.tsx diff --git a/index.html b/index.html index 4a34c83..4aeb7ad 100644 --- a/index.html +++ b/index.html @@ -2,10 +2,8 @@ - - Nebula diff --git a/public/discord.png b/public/services.png similarity index 100% rename from public/discord.png rename to public/services.png diff --git a/src/locales/en.json b/src/locales/en.json index eec104c..6db1264 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -44,6 +44,10 @@ "embed": "Embed", "direct": "Direct", "aboutblank": "About:Blank" + }, + "cloaking": { + "title": "Cloaking", + "subtitle": "Choose how your tab looks" } }, "titles": { diff --git a/src/locales/es.json b/src/locales/es.json index dc12d2f..200f8a9 100644 --- a/src/locales/es.json +++ b/src/locales/es.json @@ -44,6 +44,10 @@ "embed": "Incrustar", "direct": "Directo", "aboutblank": "About:Blank" + }, + "cloaking": { + "title": "Encubrimiento", + "subtitle": "Elige cómo se ve tu pestaña" } }, "titles": { diff --git a/src/locales/ja.json b/src/locales/ja.json index 4b59cf5..37d20a5 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -44,6 +44,10 @@ "embed": "埋め込む", "direct": "直接", "aboutblank": "About:Blank" + }, + "cloaking": { + "title": "クローキング", + "subtitle": "タブの見た目を選択する" } }, "titles": { diff --git a/src/pages/Home.tsx b/src/pages/Home.tsx index 9fe79ee..9cc25e5 100644 --- a/src/pages/Home.tsx +++ b/src/pages/Home.tsx @@ -1,8 +1,7 @@ import { useState } from "preact/hooks"; import { useTranslation } from "react-i18next"; import { HeaderRoute } from "../components/HeaderRoute"; -import { Helmet } from "react-helmet"; - +import CloakedHead from "../util/CloakedHead"; export function Home() { const [isFocused, setIsFocused] = useState(false); const [inputValue, setInputValue] = useState(""); @@ -15,9 +14,10 @@ export function Home() { return ( - - {t("titles.home")} - +
Nebula © Nebula Services {new Date().getUTCFullYear()} diff --git a/src/pages/ProxyFrame.tsx b/src/pages/ProxyFrame.tsx index 9eac2b3..340e718 100644 --- a/src/pages/ProxyFrame.tsx +++ b/src/pages/ProxyFrame.tsx @@ -3,8 +3,9 @@ import { searchUtil } from "../util/searchUtil"; import { useEffect, useState } from "preact/hooks"; //import our Iframe component import { Iframe } from "../components/iframe/Iframe"; - +import CloakedHead from "../util/CloakedHead"; import SiteSupport from "../util/SiteSupport.json"; +import { useTranslation } from "react-i18next"; declare global { interface Window { @@ -14,6 +15,7 @@ declare global { } export function ProxyFrame(props: { url: string }) { + const { t } = useTranslation(); // pass the URL encoded with encodeURIcomponent const localProxy = localStorage.getItem("proxy") || "automatic"; const proxyMode = localStorage.getItem("proxyMode") || "embed"; @@ -104,6 +106,10 @@ export function ProxyFrame(props: { url: string }) { } return (
+ {proxyMode === "direct" &&

Loading {localProxy}...

} {proxyMode === "aboutblank" &&

Loading {localProxy}...

} {proxyMode === "embed" &&