PageSourceSearch

https://ssifores-design.com/assets/Portfolio-CJZTF92i.js

js ssifores-design.com collected 2026-10-04 19:56:01 UTC 9,790 bytes, 1 lines download raw bytes

1import{e as k,h as I,r as W,i as g,n as $,s as C,p as A,m as S,g as F,j as t,f as P,N as z,A as D,B as E,F as M,L as B,E as r}from"./index-G7eyzjaG.js";import{M as H}from"./MobileFilterDropdown-D6p_IWuT.js";import{l as L,a as R,h as O,p as U,j as V,b as X,c as q,d as G,e as J,f as K,s as Q,g as T}from"./pet-friendly-locator-EQbeHFCd.js";const ee=()=>{const{t:e}=k();I();const[i,a]=W.useState(e("portfolio.filter.all")),l=g(),c=[e("portfolio.filter.all"),e("portfolio.filter.web"),e("portfolio.filter.mobile"),e("portfolio.filter.branding"),e("portfolio.filter.redesign")],h=c.map(o=>({id:o,label:o})),d=[{id:100,slug:"nature-whisper",title:e("home.projects.naturewhisper.title"),category:e("home.projects.naturewhisper.category"),tags:[e("portfolio.filter.web"),e("portfolio.filter.redesign")],image:$,description:e("home.projects.naturewhisper.desc"),isWebsite:!0},{id:0,slug:"social-planning-app",title:e("home.projects.socialplan.title"),category:e("home.projects.socialplan.category"),tags:[e("portfolio.filter.mobile"),e("portfolio.filter.redesign")],image:C,description:e("home.projects.socialplan.desc")},{id:1,slug:"pet-care-app",title:e("home.projects.petcare.title"),category:e("home.projects.petcare.category"),tags:[e("portfolio.filter.mobile")],image:A,description:e("home.projects.petcare.desc")},{id:2,slug:"language-school-website",title:e("home.projects.langschool.title"),category:e("home.projects.langschool.category"),tags:[e("portfolio.filter.web")],image:L,description:e("home.projects.langschool.desc"),isWebsite:!0},{id:3,slug:"mobile-app-promo-website",title:e("home.projects.apppromo.title"),category:e("home.projects.apppromo.category"),tags:[e("portfolio.filter.web"),e("portfolio.filter.redesign")],image:S,description:e("home.projects.apppromo.desc"),isWebsite:!0},{id:4,slug:"language-learning-app",title:e("home.projects.langapp.title"),category:e("home.projects.langapp.category"),tags:[e("portfolio.filter.mobile")],image:R,description:e("home.projects.langapp.desc")},{id:5,slug:"healthtech-app",title:e("home.projects.healthtech.title"),category:e("home.projects.healthtech.category"),tags:[e("portfolio.filter.mobile")],image:O,description:e("home.projects.healthtech.desc")},{id:6,slug:"pet-friendly-locator",title:e("home.projects.petlocator.title"),category:e("home.projects.petlocator.category"),tags:[e("portfolio.filter.web")],image:U,description:e("home.projects.petlocator.desc"),isWebsite:!0},{id:7,slug:"justphones-website",title:e("home.projects.justphones.title"),category:e("home.projects.justphones.category"),tags:[e("portfolio.filter.web")],image:V,description:e("home.projects.justphones.desc"),isWebsite:!0},{id:8,slug:"home-cinema",title:e("home.projects.cinema.title"),category:e("home.projects.cinema.category"),tags:[e("portfolio.filter.web"),e("portfolio.filter.redesign")],image:X,description:e("home.projects.cinema.desc"),isWebsite:!0},{id:9,slug:"playing-cards",title:e("home.projects.cards.title"),category:e("home.projects.cards.category"),tags:[e("portfolio.filter.branding")],image:q,description:e("home.projects.cards.desc")},{id:10,slug:"portfolio-website",title:e("home.projects.portfolio.title"),category:e("home.projects.portfolio.category"),tags:[e("portfolio.filter.web")],image:G,description:e("home.projects.portfolio.desc"),isWebsite:!0},{id:11,slug:"cosmetics-shop",title:e("home.projects.cosmetics.title"),category:e("home.projects.cosmetics.category"),tags:[e("portfolio.filter.web")],image:J,description:e("home.projects.cosmetics.desc"),isWebsite:!0},{id:12,slug:"flower-shop",title:e("home.projects.flower.title"),category:e("home.projects.flower.category"),tags:[e("portfolio.filter.web")],image:K,description:e("home.projects.flower.desc"),isWebsite:!0},{id:13,slug:"smart-dashboard",title:e("home.projects.dashboard.title"),category:e("home.projects.dashboard.category"),tags:[e("portfolio.filter.web")],image:Q,description:e("home.projects.dashboard.desc"),isWebsite:!1},{id:14,slug:"leo-studio-landing",title:e("home.projects.leostudio.title"),category:e("home.projects.leostudio.category"),tags:[e("portfolio.filter.web"),e("portfolio.filter.branding")],image:T,description:e("home.projects.leostudio.desc"),isWebsite:!0}],f=i===e("portfolio.filter.all")?d:d.filter(o=>o.tags.includes(i)),u=({project:o,priority:s=!1})=>t.jsx("div",{className:"group cursor-pointer",children:o.isWebsite?t.jsx("div",{className:"glass-card-hover rounded-2xl pt-5 md:pt-6 md:px-10 pb-0 relative hover-lift aspect-[4/3] px-[48px]",children:t.jsxs("div",{className:"h-full overflow-hidden rounded-t-xl bg-muted/30 relative z-10",children:[t.jsx(r,{priority:s,src:o.image,alt:`${o.title} - ${o.category}`,className:"w-full object-cover object-top lg:group-hover:scale-105 transition-transform duration-500",style:{height:"auto",minHeight:"100%"}}),t.jsxs("div",{className:"absolute inset-0 bg-gradient-to-t from-background/85 via-background/60 to-background/40 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex flex-col justify-end p-6",children:[t.jsx("span",{className:"inline-block w-fit px-3 py-1.5 text-xs text-primary font-medium mb-2 tracking-wider up
1percase bg-card/80 border border-primary/20 rounded-full",children:o.category}),t.jsx("h3",{className:"text-2xl font-medium mb-3 text-foreground font-display",children:o.title}),t.jsx("p",{className:"text-sm text-muted-foreground font-light leading-relaxed",children:o.description})]})]})}):t.jsx("div",{className:"glass-card-hover rounded-2xl p-5 md:p-6 relative hover-lift aspect-[4/3]",children:t.jsxs("div",{className:"h-full overflow-hidden rounded-xl bg-muted/30 relative z-10",children:[t.jsx(r,{priority:s,src:o.image,alt:`${o.title} - ${o.category}`,className:"w-full h-full object-cover lg:group-hover:scale-105 transition-transform duration-500"}),t.jsxs("div",{className:"absolute inset-0 bg-gradient-to-t from-background/85 via-background/60 to-background/40 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex flex-col justify-end p-6",children:[t.jsx("span",{className:"inline-block w-fit px-3 py-1.5 text-xs text-primary font-medium mb-2 tracking-wider uppercase bg-card/80 border border-primary/20 rounded-full",children:o.category}),t.jsx("h3",{className:"text-2xl font-medium mb-3 text-foreground font-display",children:o.title}),t.jsx("p",{className:"text-sm text-muted-foreground font-light leading-relaxed",children:o.description})]})]})})}),x=({project:o,priority:s=!1})=>t.jsxs("div",{className:"cursor-pointer",children:[o.isWebsite?t.jsx("div",{className:"glass-card rounded-xl pt-3 px-6 sm:pt-4 sm:px-8 pb-0 relative aspect-[4/3]",children:t.jsx("div",{className:"h-full overflow-hidden rounded-t-lg bg-muted/30 relative z-10",children:t.jsx(r,{priority:s,src:o.image,alt:`${o.title} - ${o.category}`,className:"w-full object-cover object-top",style:{height:"auto",minHeight:"100%"}})})}):t.jsx("div",{className:"glass-card rounded-xl p-3 sm:p-4 relative aspect-[4/3]",children:t.jsx("div",{className:"h-full overflow-hidden rounded-lg bg-muted/30 relative z-10",children:t.jsx(r,{priority:s,src:o.image,alt:`${o.title} - ${o.category}`,className:"w-full h-full object-cover"})})}),t.jsxs("div",{className:"pt-3 sm:pt-4 px-1",children:[t.jsx("h3",{className:"text-lg sm:text-xl font-medium mb-1 text-foreground font-display",children:o.title}),t.jsx("span",{className:"text-xs sm:text-sm text-muted-foreground font-light block mb-2",children:o.category}),t.jsx("p",{className:"text-sm text-muted-foreground/80 font-light line-clamp-2",children:o.description})]})]}),b=({project:o,index:s,eager:n})=>{const{ref:v,isVisible:y}=g(),m=n||y,w=o.slug?B:"div",N=o.slug?{to:`/portfolio/${o.slug}`}:{},p=s<6;return t.jsxs(w,{ref:v,...N,"data-cursor-see":!0,className:`reveal-item block ${m?"visible":""}`,style:{transitionDelay:m&&!n?`${s%2*80}ms`:"0ms"},children:[t.jsx("div",{className:"hidden lg:block",children:t.jsx(u,{project:o,priority:p})}),t.jsx("div",{className:"lg:hidden",children:t.jsx(x,{project:o,priority:p})})]})},j=F([{name:"Home",url:"/"},{name:"Portfolio",url:"/portfolio"}]);return t.jsxs("div",{className:"min-h-screen relative",children:[t.jsx(P,{title:"Portfolio | Web & Mobile Design",description:"Browse 50+ UI/UX design projects including websites, mobile apps, branding, and redesigns.",path:"/portfolio",structuredData:j}),t.jsx(z,{}),t.jsx("main",{children:t.jsx("section",{className:"pt-32 sm:pt-40 pb-12 sm:pb-20 px-4 relative z-10",children:t.jsxs("div",{className:"sm:container sm:mx-auto sm:max-w-6xl",children:[t.jsxs("div",{ref:l.ref,className:`text-center mb-10 sm:mb-16 reveal-section ${l.isVisible?"visible":""}`,children:[t.jsx(D,{as:"h1",className:"text-4xl sm:text-5xl md:text-6xl font-medium mb-4 sm:mb-6 tracking-tight font-display",text:e("portfolio.title"),accent:e("portfolio.titleAccent"),accentClassName:"text-primary italic font-normal"}),t.jsx("p",{className:"text-lg sm:text-xl text-muted-foreground max-w-2xl mx-auto font-light",children:e("portfolio.subtitle")})]}),t.jsx("div",{className:"md:hidden mb-10",children:t.jsx(H,{options:h,activeFilter:i,onFilterChange:a})}),t.jsx("div",{className:"hidden md:flex flex-wrap justify-center gap-3 mb-16",children:c.map(o=>t.jsx(E,{size:"lg",variant:"outline",onClick:()=>a(o),className:i===o?"bg-foreground text-background border-foreground hover:bg-foreground
1/90 hover:text-background hover:border-foreground font-medium px-6 whitespace-nowrap":"border-foreground/30 text-foreground hover:bg-foreground/5 hover:border-foreground/50 hover:text-foreground font-medium px-6 whitespace-nowrap",children:o},o))}),t.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 sm:gap-5 lg:gap-7",children:f.map((o,s)=>t.jsx(b,{project:o,index:s,eager:s<4},o.id))})]})})}),t.jsx(M,{})]})};export{ee as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.