PageSourceSearch

https://chillicode.agency/_next/static/chunks/9527.d129a6f8eb762e4b.js

js chillicode.agency collected 2026-10-08 12:26:38 UTC 9,224 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9527],{19527:function(e,t,s){"use strict";s.r(t),s.d(t,{TasksSection:function(){return p}});var r=s(85893),a=s(67294),l=s(34715),i=s(26038),o=s(92085),n=s(45697),d=s.n(n),c=s(38640),u=s.n(c);let h=()=>{let e=(0,a.useRef)(null),t=(0,a.useRef)(null);return(0,l.V)(()=>{let s=e.current,r=t.current;i.p8.fromTo(s,{opacity:0,x:"10%"},{opacity:1,x:"0%",duration:1,ease:"ease-in-out",scrollTrigger:{trigger:s,start:"top 80%",once:!0}}),i.p8.timeline({repeat:-1,yoyo:!0,delay:1}).to(r,{width:"100%",duration:2,delay:.5})}),(0,r.jsxs)("div",{className:u().patternContainer,ref:e,children:[(0,r.jsx)("div",{className:u().animatedBox,ref:t}),(0,r.jsxs)("svg",{className:u().patternImage,width:"285",height:"76",viewBox:"0 0 336 76",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsxs)("g",{filter:"url(#filter0_d_1463_1423)",children:[(0,r.jsx)("path",{d:"M26 26L52.8104 49L79.6208 26",stroke:"#E21F26",strokeWidth:"4"}),(0,r.jsx)("path",{d:"M77.5312 26L104.342 49L131.152 26",stroke:"#E21F26",strokeWidth:"4"}),(0,r.jsx)("path",{d:"M129.062 26L155.873 49L182.683 26",stroke:"#E21F26",strokeWidth:"4"}),(0,r.jsx)("path",{d:"M180.598 26L207.408 49L234.218 26",stroke:"#E21F26",strokeWidth:"4"}),(0,r.jsx)("path",{d:"M232.125 26L258.935 49L285.746 26",stroke:"#E21F26",strokeWidth:"4"}),(0,r.jsx)("path",{d:"M283.656 26L310.467 49",stroke:"#E21F26",strokeWidth:"4"})]}),(0,r.jsx)("defs",{children:(0,r.jsxs)("filter",{id:"filter0_d_1463_1423",x:"0.697266",y:"0.482056",width:"335.072",height:"75.1531",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB",children:[(0,r.jsx)("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),(0,r.jsx)("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),(0,r.jsx)("feOffset",{}),(0,r.jsx)("feGaussianBlur",{stdDeviation:"12"}),(0,r.jsx)("feComposite",{in2:"hardAlpha",operator:"out"}),(0,r.jsx)("feColorMatrix",{type:"matrix",values:"0 0 0 0 0.886275 0 0 0 0 0.121569 0 0 0 0 0.14902 0 0 0 1 0"}),(0,r.jsx)("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow_1463_1423"}),(0,r.jsx)("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow_1463_1423",result:"shape"})]})})]})]})};h.propTypes={isAndroid:d().bool};let _=["Изначально у Pullquest был сайт, созданный сторонней командой разработчиков. Нашей же задачей было улучшение сайта, приведение в порядок его логики и работы. Мы начали работу с чужим кодом, но быстро поняли, что это не лучшее решение - нам пришлось бы тратить время на поиск всех многочисленных ошибок и их устранение, что отразилось бы на сроках. В итоге, было решено разработать сайт с нуля. Для начала, мы провели глубокий рефакторинг, то есть переработали исходный код так, чтобы он стал проще и понятнее. Это делалось для облегчения работы над платформой, упрощения жизни будущим разработчикам и отлаживания процесса адаптации Pullquest под необходимые цели и задачи, как на момент нашей работы над проектом, так и в дальнейшем. Можно сказать, Pullquest обрел новую жизнь благодаря нам.","Но стоило нам завершить этот этап, как к Pullquest обратились из Bridal Council и предложили провести свой ивент. По сути, перед нами открылся новый фронт работ. Во-первых, сайт не был оптимизирован под большой наплыв пользователей. Требовалось дать платформе возможность выдерживать нагрузку в тысячи посетителей, обеспечив каждому из них приятный пользовательский опыт без лагов и бесконечных загрузок. Важно было Ð
1½Ðµ просто создать отдельную платформу для предстоящего онлайн-мероприятия и предложить эксклюзивный доступ к ней, но и сохранить интеграцию с основным сайтом Pullquest.","Кроме того, грядущему ивенту требовалось и подходящее продвижение. Для этого следовало создать лендинг с анонсом на основном сайте Pullquest, который побуждал бы пользователей к регистрации на мероприятие. Стоит помнить, что Bridal Council проводили свой ивент для того, чтобы презентовать оптовым закупщикам новые модели одежды. А значит, нужно было с нуля разработать функционал оптовых закупок. Мы понимали, что модные ивенты в офлайне-формате - своего рода светские тусовки, и нетворкинг - их неотъемлемая часть. Мы стремились перенести этот аспект и в онлайн. Следовательно, необходим был чат, который позволял бы делиться вложениями и ссылками.","В то же время, команде Pullquest требовалась система управления аккаунтами пользователей. Следовало доработать админпанель таким образом, чтобы выдавать пользователям доступ к платформе, активировать и деактивировать аккаунты. Концепция Pullquest предполагает, что дизайнеры хотят презентовать свои товары, а стилисты - купить их. А значит, требовалось обеспечить присвоение этих ролей пользователям. Также следовало продумать процесс покупок и продаж, сделав его удобным, понятным и безопасным для пользователей. Необходимо было создать таблицу размеров и калькулятор стоимости, а также внедрить все это в удобный фильтр, который облегчал бы покупателям поиск необходимых товаров. Продавцам же необходимо было предоставить данные о количестве просмотров и заказов, чтобы они могли эффективнее продвигать свои товары на платформе. Кроме того, стоило озаботиться удобством и безопасностью покупок, что требовало добавления корзины и внедрения надежной системы оплаты.","Ко всему прочему, следовало добавить дополнительный функционал для пользователей, такой как персонализация профиля и инвайты, чтобы создать условия для более активного взаимодействия с платформой."],p=()=>{let e=(0,a.useRef)([]);return(0,l.V)(()=>{e.current.forEach(e=>{i.p8.from(e,{scrollTrigger:{trigger:e,start:"top 80%"},autoAlpha:0,y:20,duration:1,delay:.3})})}),(0,r.jsxs)("section",{className:u().root,children:[(0,r.jsx)("img",{className:u().checkImage,src:"/assets/icons/check-vector.svg",alt:"check"}),(0,r.jsx)(o.Z,{children:(0,r.jsxs)("div",{className:u().wrapper,children:[(0,r.jsxs)("div",{className:u().titleContainer,children:[(0,r.jsx)("h2",{className:u().title,children:"Задачи"}),(0,r.jsx)(h,{})]}),(0,r.jsx)("div",{className:u().textContainer,children:_.map((t,s)=>(0,r.jsx)("p",{ref:t=>e.current[s]=t,className:u().text,children:t},s))})]})})]})}},38640:function(e){e.exports={root:"styles_root__8EXGe",wrapper:"styles_wrapper__1WbNK",titleContainer:"styles_titleContainer__o148b",title:"styles_title__G_Twn",patternImage:"styles_patternImage___VJbz",textContainer:"styles_textContainer__FuMwb",text:"styles_text__t9rY9",checkImage:"styles_checkImage__PXFz0",patternContainer:"styles_patternContainer__9ToXa",animatedBox:"styles_animatedBox__SQwue",fadeIn:"styles_fadeIn___n1hf"}}}]);

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.