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.

- + + +

@@ -122,12 +119,9 @@ export default function Features() { performance improvements.

- + + +
@@ -146,14 +140,9 @@ export default function Features() { browser.

- + + +
@@ -247,12 +236,9 @@ export default function Features() { multitasking.

- + + +
@@ -307,24 +293,18 @@ export default function Features() { secure, giving you peace of mind as you explore the web.

- - + + + + + +
@@ -386,15 +366,13 @@ export default function Features() { focus on your work.

- + + +
+

@@ -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.

- + + +

@@ -536,23 +547,20 @@ export default function Features() { cause.

- - + + + + + +
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() {

Zen Browser

- +
@@ -40,7 +40,7 @@ export default function Footer() {

Get Started

@@ -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 }) {