diff --git a/public/uma.js b/public/uma.js
new file mode 100644
index 0000000..68b2b83
--- /dev/null
+++ b/public/uma.js
@@ -0,0 +1 @@
+!function(){"use strict";(t=>{const{screen:{width:e,height:a},navigator:{language:r},location:n,localStorage:i,document:c,history:o}=t,{hostname:s,href:u}=n,{currentScript:l,referrer:d}=c;if(!l)return;const f="data-",m=l.getAttribute.bind(l),h=m(f+"website-id"),p=m(f+"host-url"),g=m(f+"tag"),y="false"!==m(f+"auto-track"),b="true"===m(f+"exclude-search"),v=m(f+"domains")||"",S=v.split(",").map((t=>t.trim())),w=`${(p||""||l.src.split("/").slice(0,-1).join("/")).replace(/\/$/,"")}/api/send`,N=`${e}x${a}`,T=/data-umami-event-([\w-_]+)/,A=f+"umami-event",x=300,O=t=>{if(t){try{const e=decodeURI(t);if(e!==t)return e}catch(e){return t}return encodeURI(t)}},U=t=>{try{const{pathname:e,search:a}=new URL(t);t=e+a}catch(t){}return b?t.split("?")[0]:t},j=()=>({website:h,hostname:s,screen:N,language:r,title:O(q),url:O(D),referrer:O(_),tag:g||void 0}),k=(t,e,a)=>{a&&(_=D,D=U(a.toString()),D!==_&&setTimeout(I,x))},E=()=>!h||i&&i.getItem("umami.disabled")||v&&!S.includes(s),L=async(t,e="event")=>{if(E())return;const a={"Content-Type":"application/json"};void 0!==R&&(a["x-umami-cache"]=R);try{const r=await fetch(w,{method:"POST",body:JSON.stringify({type:e,payload:t}),headers:a}),n=await r.text();return R=n}catch(t){}},$=()=>{B||(I(),(()=>{const t=(t,e,a)=>{const r=t[e];return(...e)=>(a.apply(null,e),r.apply(t,e))};o.pushState=t(o,"pushState",k),o.replaceState=t(o,"replaceState",k)})(),(()=>{const t=new MutationObserver((([t])=>{q=t&&t.target?t.target.text:void 0})),e=c.querySelector("head > title");e&&t.observe(e,{subtree:!0,characterData:!0,childList:!0})})(),c.addEventListener("click",(async t=>{const e=t=>["BUTTON","A"].includes(t),a=async t=>{const e=t.getAttribute.bind(t),a=e(A);if(a){const r={};return t.getAttributeNames().forEach((t=>{const a=t.match(T);a&&(r[a[1]]=e(t))})),I(a,r)}},r=t.target,i=e(r.tagName)?r:((t,a)=>{let r=t;for(let t=0;t{o||(n.href=e)}))}else if("BUTTON"===i.tagName)return a(i)}}),!0),B=!0)},I=(t,e)=>L("string"==typeof t?{...j(),name:t,data:"object"==typeof e?e:void 0}:"object"==typeof t?t:"function"==typeof t?t(j()):j()),K=t=>L({...j(),data:t},"identify");t.umami||(t.umami={track:I,identify:K});let R,B,D=U(u),_=d!==s?d:"",q=c.title;y&&!E()&&("complete"===c.readyState?$():c.addEventListener("readystatechange",$,!0))})(window)}();
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index 31de953..cd543ed 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -24,17 +24,11 @@ export default async function RootLayout({
-
-
+ {/* Analitics */}
+
+
+ {/* End */}
+
diff --git a/src/components/create-theme.tsx b/src/components/create-theme.tsx
index 6cdb420..2d264fb 100644
--- a/src/components/create-theme.tsx
+++ b/src/components/create-theme.tsx
@@ -291,7 +291,7 @@ export default function CreateThemePage() {
- Right now, we aren't taking more color themes for the browser,
+ Right now, we aren't taking more color Mods for the browser,
until we find a way to make it more accessible for everyone.
However, you can still create your own theme and share it with the
community.
diff --git a/src/components/features.tsx b/src/components/features.tsx
index 5e2538d..7fb35fc 100644
--- a/src/components/features.tsx
+++ b/src/components/features.tsx
@@ -85,7 +85,7 @@ function Question() {
}
export default function Features() {
- const [feature, setFeature] = useState("item-1");
+ const [feature, setFeature] = useState("");
return (
@@ -98,16 +98,13 @@ export default function Features() {
With Zen's Theme Store, you can customize your browsing experience
to reflect your unique style and preferences. Choose from a wide
- array of themes, colors, and layouts to make Zen truly your own,
+ array of Mods, colors, and layouts to make Zen truly your own,
transforming your browser into a personalized digital space.
- window.open("/themes", "_self")}
- >
- View Theme Store
-
+
+ Browse Themes
+
@@ -122,12 +119,9 @@ export default function Features() {
performance improvements.
- window.open("/download", "_self")}
- >
- Download Now
-
+
+ Download Now
+
@@ -146,14 +140,9 @@ export default function Features() {
browser.
-
- window.open("https://github.com/zen-browser", "_blank")
- }
- >
- GitHub Page
-
+
+ GitHub
+
@@ -247,12 +236,9 @@ export default function Features() {
multitasking.
- window.open("/download", "_self")}
- >
- Download Now
-
+
+ Download Now
+
@@ -307,24 +293,18 @@ export default function Features() {
secure, giving you peace of mind as you explore the web.
-
- window.open("https://docs.zen-browser.app/security", "_blank")
- }
- >
- Security in Zen{" "}
-
-
-
window.open("/privacy-policy", "_blank")}
- >
- Your Privacy{" "}
-
-
+
+
+ Security in Zen{" "}
+
+
+
+
+
+ Your Privacy{" "}
+
+
+
@@ -386,15 +366,13 @@ export default function Features() {
focus on your work.
- window.open("/download", "_self")}
- >
- What are you waiting for?
-
+
+ What are you waiting for?
+
+
@@ -404,8 +382,9 @@ export default function Features() {
+ setFeature(value === feature ? "" : value)
+ }
className="mt-8"
>
@@ -429,13 +408,45 @@ export default function Features() {
Zen Browser is built on top of Firefox, which is known for its
security features. We also have additional security features
- like https only built into Zen Browser to help keep you safe
+ like HTTPS only built into Zen Browser to help keep you safe
online.
+
+ {feature === "" && (
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+
+
+ )}
+
- {feature == "item-1" && (
+ {feature === "item-1" && (
@@ -470,7 +481,8 @@ export default function Features() {
)}
- {feature == "item-2" && (
+
+ {feature === "item-2" && (
@@ -488,7 +500,8 @@ export default function Features() {
)}
- {feature == "item-3" && (
+
+ {feature === "item-3" && (
@@ -508,6 +521,7 @@ export default function Features() {
)}
+
@@ -517,12 +531,9 @@ export default function Features() {
Download Zen Browser now and experience the future of browsing.
- window.open("/download", "_self")}
- >
- Download Now
-
+
+ Download Now
+
@@ -536,23 +547,20 @@ export default function Features() {
cause.
-
- window.open("https://patreon.com/zen_browser", "_blank")
- }
- >
- Patreon
-
-
- window.open("https://ko-fi.com/zen_browser", "_blank")
- }
- >
- Ko-fi
-
+
+
+ Patreon
+
+
+
+
+ Ko-fi
+
+
diff --git a/src/components/footer.tsx b/src/components/footer.tsx
index 8cfd238..f16ef3b 100644
--- a/src/components/footer.tsx
+++ b/src/components/footer.tsx
@@ -13,7 +13,7 @@ export default function Footer() {
@@ -93,10 +93,10 @@ export default function Footer() {
Support Us
diff --git a/src/components/marketplace.tsx b/src/components/marketplace.tsx
index 5069958..074aba0 100644
--- a/src/components/marketplace.tsx
+++ b/src/components/marketplace.tsx
@@ -17,9 +17,9 @@ export default function MarketplacePage({ themes }: { themes: ZenTheme[] }) {
className="h-fit min-w-52 text-xs text-muted-foreground lg:mb-0"
offsetTop={120}
>
-
Themes Store
+
Mods Store
- Discover and install themes for Zen Browser.
+ Discover and install Mods for Zen Browser.
Start using Zen Browser today with just a few clicks.
-
- Customize your browser with a variety of themes!
+
+ Customize your browser with a variety of Mods!
Stay up to date with the latest changes.
@@ -109,20 +109,20 @@ export function Navigation() {
-
Support us on Patreon and get exclusive rewards and keep the
project alive.
-
-
+
Ko-fi is a way to support us with a one-time donation and help
us keep the project alive.
-
+
@@ -173,4 +173,30 @@ const ListItem = React.forwardRef<
);
});
+const ListItem2 = React.forwardRef<
+ React.ElementRef<"a">,
+ React.ComponentPropsWithoutRef<"a">
+>(({ className, title, children, ...props }, ref) => {
+ return (
+
+
+
+ {title}
+
+ {children}
+
+
+
+
+ );
+});
ListItem.displayName = "ListItem";
+ListItem.displayName = "ListItem2";
diff --git a/src/components/theme-page.tsx b/src/components/theme-page.tsx
index 9a3c971..a1eb985 100644
--- a/src/components/theme-page.tsx
+++ b/src/components/theme-page.tsx
@@ -50,6 +50,7 @@ export default async function ThemePage({ themeID }: { themeID: string }) {
Install Theme 🎉
@@ -57,6 +58,7 @@ export default async function ThemePage({ themeID }: { themeID: string }) {
Uninstall Theme
diff --git a/src/components/themes-search.tsx b/src/components/themes-search.tsx
index 9c0a9ba..7724d06 100644
--- a/src/components/themes-search.tsx
+++ b/src/components/themes-search.tsx
@@ -23,7 +23,7 @@ export default function ThemesSearch({
type="text"
value={input}
onChange={(e) => setInput(e.target.value)}
- placeholder="Search themes"
+ placeholder="Search Mods"
className="w-full border-none bg-transparent text-black focus:border-none focus:outline-none focus:ring-0 dark:text-white"
/>
{/*
diff --git a/src/lib/release-notes.ts b/src/lib/release-notes.ts
index a152a6c..f1ec49e 100644
--- a/src/lib/release-notes.ts
+++ b/src/lib/release-notes.ts
@@ -994,7 +994,7 @@ export const releaseNotes: ReleaseNote[] = [
fixes: [
{
description: "The New Tab button is not visible",
- isse: 1640,
+ issue: 1640,
},
{
description: "The Unified Extensions button is not visible",
@@ -1009,15 +1009,34 @@ export const releaseNotes: ReleaseNote[] = [
},
{
description: "Fixed an issue with reordering tabs",
- },
- {
- description: "Fixed an issue with ⌘ keyboard shortcuts on macOS",
- },
+ }
],
},
+ {
+ version: "1.0.1-a.5",
+ date: "24/09/2024",
+ image: false,
+ workflowId: 11020784612,
+ extra: "This update is a small patch to fix some issues that weren't addressed in the previous release!",
+ features: [
+ "Moved application menu button to the right",
+ "Added new shortcuts",
+ "Collapsed tab sidebar is now smaller"
+ ],
+ fixes: [
+ {
+ description: "Fixed issue with hovering over window control buttons (macOS)",
+ },
+ {
+ description: "(Hopefully) resolved all issues with keyboard shortcuts",
+ issue: 1629
+ },
+
+ ],
+ }
].reverse();
export function releaseNoteIsAlpha(note: ReleaseNote) {
"use client";
return note.version.includes("-a.");
-}
+}
\ No newline at end of file