PageSourceSearch

https://www.for9a.com/_next/static/chunks/pages/opportunities/[...slug]-dee88718871ac113.js

js for9a.com collected 2026-09-24 18:12:36 UTC 19,599 bytes, 726 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2609,8946],{73358:function(e,t,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/opportunities/[...slug]",function(){return i(49424)}])},49424:function(e,t,i){"use strict";i.r(t),i.d(t,{__N_SSP:function(){return x}});var n=i(74817),o=i(71248),a=i(36497),r=i(80996),l=i(78946),s=i(98821),p=i.n(s),d=i(6905),u=i(77573),g=i(67833),c=i(98091);let m=p()(()=>Promise.all([i.e(7518),i.e(9980),i.e(236),i.e(6258)]).then(i.bind(i,49106)),{loadableGenerated:{webpack:()=>[49106]},ssr:!0}),y=p()(()=>Promise.all([i.e(7518),i.e(4842)]).then(i.bind(i,54842)),{loadableGenerated:{webpack:()=>[54842]},ssr:!1}),$=p()(()=>Promise.all([i.e(7518),i.e(8735),i.e(5648),i.e(8395),i.e(9359)]).then(i.bind(i,38395)),{loadableGenerated:{webpack:()=>[38395]},ssr:!0}),_=p()(()=>i.e(7987).then(i.bind(i,67987)),{loadableGenerated:{webpack:()=>[67987]},ssr:!0}),f=p()(()=>Promise.all([i.e(9980),i.e(2756)]).then(i.bind(i,72756)),{loadableGenerated:{webpack:()=>[72756]},ssr:!0}),h=p()(()=>Promise.all([i.e(7518),i.e(596)]).then(i.bind(i,70596)),{loadableGenerated:{webpack:()=>[70596]},ssr:!0});p()(()=>i.e(7518).then(i.t.bind(i,37518,23)),{loadableGenerated:{webpack:()=>[37518]},ssr:!0});let b=e=>{if(!e)return{};let t={special_page_id:parseInt(e.id)};switch(e.filter_type){case"organization":return{...t,special_organization_ids:e.organization_ids||[]};case"nationalities":return{...t,special_nationalities:e.nationalities||[]};case"keywords":return{...t,special_keywords:e.keywords||[]};default:return{...t,special_taxonomy_ids:e.taxonomy_ids||[]}}};var x=!0;t.default=(0,u.$j)(null,{changeLanguageUrlFrom:d.A})(e=>{var t;let{changeLanguageUrlFrom:i=()=>{},page:s,opportunities:p,initialTotal:d}=e,{locale:u}=(0,a.useRouter)(),{t:x}=(0,g.Z)("common"),[w,I]=(0,o.useState)(1),[q,v]=(0,o.useState)(d||0),[L,S]=(0,o.useState)((null==p?void 0:p.data)||[]),[j,k]=(0,o.useState)(!1),[B,N]=(0,o.useState)((null==p?void 0:null===(t=p.paginatorInfo)||void 0===t?void 0:t.hasMorePages)||!1),[O]=(0,r.useLazyQuery)(l.hF,{fetchPolicy:"no-cache",onCompleted:e=>{var t;v(e.opportunities.paginatorInfo.total),(null==e?void 0:null===(t=e.opportunities)||void 0===t?void 0:t.data)&&S(t=>[...t,...e.opportunities.data]),N(e.opportunities.paginatorInfo.hasMorePages),k(!1)},onError:()=>k(!1)});if((0,o.useEffect)(()=>{"function"==typeof i&&(null==s?void 0:s.transUrl)&&i(s.transUrl)},[null==s?void 0:s.transUrl]),!s)return null;let P=s.url||"",T=s.transUrl||"";return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(f,{title:s.pageTitleLocale,description:s.metaDescriptionLocale,h1:s.pageTitleLocale,image:s.image||"https://images.unsplash.com/photo-1602615466687-7f53b6c315cc?q=80&w=3540&auto=jpeg&fit=fit",url:P,arlink:"en"===u?T:P,enlink:"en"===u?P:T,jsonLd:(()=>{let e="en"===u?"en":"ar",t=(null==s?void 0:s.url)||`https://www.for9a.com/opportunities/${null==s?void 0:s.slugLocale}`,i=[{name:"en"===e?"Home":"الرئيسية",url:"https://www.for9a.com/"},{name:"en"===e?"Opportunities":"الفرص",url:"https://www.for9a.com/opportunity"},{name:(null==s?void 0:s.pageTitleLocale)||(null==s?void 0:s.nameLocale)||"",url:t}],n=(0,c.Z6)({url:t,name:(null==s?void 0:s.pageTitleLocale)||"",description:(null==s?void 0:s.metaDescriptionLocale)||"",language:e}),o=(0,c.vd)(i,t),a=L.length>0?(0,c.Qy)(L.map(e=>({title:e.title||e.name||"",url:e.url||""})),(null==s?void 0:s.pageTitleLocale)||"",t):null,r=[(0,c.bM)("opportunity"),n,(0,c.di)(),o];return a&&r.push(a),{"@context":"https://schema.org","@graph":r}})()}),(0,n.jsx)(m,{title:s.h1Locale,desc:s.descriptionLocale,readMore:!0,inlineReadMore:!0,slotId:"6544707333",slotIdMobile:"4110115685"}),s.children&&s.children.length>0&&(0,n.jsx)("div",{className:"container my-6",children:(0,n.jsx)("div",{className:"flex flex-wrap gap-3",children:s.children.map(e=>(0,n.jsx)("a",{href:e.url,className:"px-4 py-2 rounded-full border border-orange-400 text-orange-500 hover:bg-orange-500 hover:text-white transition-colors text-sm font-semibold",children:e.nameLocale},e.id))})}),(0,n.jsxs)("section",{className:"container",children:[(0,n.jsx)("div",{className:"flex justify-between items-center mb-4",children:q>0?(0,n.jsxs)("h2",{className:"text-base md:text-xl",children:[x("browser")," (",q,") ",x(1===q?"oppourtinity-single":q>1&&q<=10?"oppourtinity-multiple":"oppourtinity-single")]}):(0,n.jsx)("div",{})}),0===q&&!j&&(0,n.jsx)(y,{link:"/opportunity"}),(0,n.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5 ga
1p-6",children:L.map((e,t)=>(0,n.jsx)($,{classText:"editor_page",heightAuto:!0,opportunity:e,hideOrgName:!1,type:"edu",index:t},e.id))})]}),(0,n.jsxs)("div",{className:"m-auto flex justify-center items-center my-16",children:[j&&(0,n.jsx)(_,{}),!j&&B&&(0,n.jsx)("button",{className:"font-[700] text-gray-800 hover:text-black rounded-3xl border-orange-default border px-2 py-5 flex justify-center items-center max-h-4 bg-white",onClick:()=>{k(!0);let e=w+1;I(e),O({variables:{first:15,page:e,landing_filter:b(s)}})},children:x("load-more")})]}),(0,n.jsx)("div",{className:"container mb-12 flex justify-center",children:(0,n.jsx)(h,{})})]})})},47700:function(e,t,i){"use strict";i.d(t,{$s:function(){return r},Ud:function(){return a},Vq:function(){return o},uM:function(){return l}});var n=i(76627);let o=`
2   paginatorInfo{
3      total
4      hasMorePages
5   }
6   data{
7    tags{keyword} 
8      id
9      url
10      title
11      is_remote
12      deadline
13      is_pinned
14      closed
15      no_deadline
16      is_periodic
17      periodic_info {
18        type
19        status
20        description
21        opens_in_days
22        closes_in_days
23        next_opening_date
24        next_closing_date
25      }
26      publish_date
27      job_type
28      image{ 
29         id
30         small 
31         name   
32         width
33         height
34         folder
35        }
36      country {
37         place {
38            id
39            code
40            title
41            name
42         }
43      }
44      locations {
45         id
46         code
47         name
48      }
49      organization {
50         id
51         name
52         slug
53         image{
54            id
55            xmedium
56            name
57            width
58            height
59            folder
60         }
61      }
62      category{
63         id
64         name
65         url
66      }
67   }
68`,a=(0,n.gql)`
69    query opportunities($first: Int!, $page: Int! ) {
70        opportunities(
71            first: $first
72            page: $page
73            input:{
74                type: JOBS
75            }
76        ){
77            ${o}
78        }
79    }
80`,r=(0,n.gql)`
81    query opportunities(
82        $first: Int!,
83        $page: Int!,
84        $term: String,
85        $ids: [Int],
86        $category: [Int],
87        $job_type: [String]
88        $years_of_experience: String,
89        $remote : Boolean,
90        $featured: Boolean,
91        $upcoming: Boolean,
92        $country: [String]) {
93        opportunities(
94            first: $first
95            page: $page
96            input:{
97                type: JOBS
98                term: $term
99                ids:$ids
100                category: $category
101                job_type: $job_type
102                years_of_experience: $years_of_experience
103                country: $country
104                remote: $remote
105                featured: $featured
106                upcoming: $upcoming
107            }
108        ){
109            ${o}
110        }
111    }
112`,l=(0,n.gql)`
113  {
114    getOpportunityCountriesList(for: "Jobs") {
115      count
116      country
117      place {
118        id
119        code
120        name
121      }
122    }
123  }
124`},78946:function(e,t,i){"use strict";i.d(t,{$E:function(){return r},Bs:function(){return l},Z3:function(){return a},e:function(){return s},hF:function(){return d},qi:function(){return p},tF:function(){return g},wH:function(){return c},wM:function(){return u}});var n=i(76627),o=i(47700);(0,n.gql)`
125  enum OpportunitySection {
126    JOBS
127    EDU
128  }
129`,(0,n.gql)`
130  query opportunities(
131    $first: Int!
132    $page: Int!
133    $organization_id: Int!
134    $exclude: [Int]
135    $type: OpportunitySection!
136  ) {
137    opportunities(
138      first: $first
139      page: $page
140      input: {
141        type: $type
142        organization_id: $organization_id
143        exclude: $exclude
144      }
145    ) {
146      data {
147        id
148        url
149        title
150        is_remote
151        country {
152          place {
153            id
154            name
155          }
156        }
157        organization {
158          id
159          name
160          slug
161          type
162          image {
163            id
164            small
165            name
166            width
167            height
168            folder
169          }
170        }
171        category {
172          id
173          name
174        }
175        tags {
176          keyword
177        }
178      }
179    }
180  }
181`,(0,n.gql)`
182  query opportunities(
183    $first: Int!
184    $page: Int!
185    $category: [Int]
186    $exclude: [Int]
187    $type: OpportunitySection!
188  ) {
189    opportunities(
190      first: $first
191      page: $page
192      input: { type: $type, category: $category, exclude: $exclude }
193    ) {
194      data {
195        id
196        url
197        title
198        is_remote
199        country {
200          place {
201            id
202            name
203          }
204        }
205        organization {
206          id
207          name
208          type
209          slug
210          image {
211            id
212            small
213            name
214            width
215            height
216            folder
217          }
218        }
219        category {
220          id
221          name
222        }
223      }
224    }
225  }
226`;let a=(0,n.gql)`
227  query applicationInfo($id: Int!) {
228    applicationInfo(id: $id) {
229      email
230      phone
231      link
232      official_link
233      how_to_apply
234    }
235  }
236`,r=(0,n.gql)`
237  mutation applyToJob($opportunity_id: Int, $referrer: String) {
238    applyToJob(opportunity_id: $opportunity_id, referrer: $referrer) {
239      message
240      status
241    }
242  }
243`,l=(0,n.gql)`
244  mutation reportOpportunity(
245    $opportunity_id: String!
246    $reason: String
247    $other_reason: String
248  ) {
249    reportOpportunity(
250      input: {
251        opportunity_id: $opportunity_id
252        reason: $reason
253        other_reason: $other_reason
254      }
255    ) {
256      message
257      status
258    }
259  }
260`,s=(0,n.gql)`
261  query myApplications($first: Int!, $page: Int!) {
262    myApplications(first: $first, page: $page) {
263      paginatorInfo {
264        total
265        currentPage
266        hasMorePages
267      }
268      data {
269        id
270        title
271        image {
272          name
273        }
274        url
275        closing_date
276        no_deadline
277        duration
278        deadline
279        closed
280        category {
281          id
282          name
283        }
284      }
285    }
286  }
287`;(0,n.gql)`
288  query checkVarnishOpportunity($slug: String!) {
289    checkVarnishOpportunity(slug: $slug)
290  }
291`,(0,n.gql)`
292  query opportunity($id: Int, $type: OpportunitySection!) {
293    opportunity(id: $id, type: $type) {
294      url
295    }
296  }
297`,(0,n.gql)`
298  query opportunity($slug: String!, $type: OpportunitySection!) {
299    opportunity(slug: $slug, type: $type) {
300      id
301      title
302      closing_date
303      status
304      no_deadline
305      closed
306      deadline
307      is_periodic
308      periodic_info {
309        type
310        status
311        description
312        opens_in_days
313        closes_in_days
314        next_opening_date
315        next_closing_date
316      }
317      duration
318      is_pinned
319      action_type
320      has_applied
321      can_edit
322      url
323      publish_date
324      updated_at
325      education_requirements
326      job_type
327      transUrl
328      redirection
329      redirect_url
330      fundingType {
331        id
332        name
333        url
334      }
335      image {
336        id
337        name
338      }
339      locations {
340        id
341        name
342        code
343      }
344      tags {
345        id
346        keyword
347      }
348      descriptions {
349        header
350        body
351      }
352      applicant_criteria {
353        icon
354        label
355        value
356        value_type
357      }
358      opportunity_criteria {
359        image
360        icon
361        label
362        value
363        value_type
364      }
365      category {
366        id
367        name
368        url
369      }
370      organization {
371        id
372        name
373        is_uni
374        uni_url
375        about
376        url
377        type
378        slug
379        image {
380          id
381          name
382          width
383          height
384          large
385          xmedium
386          folder
387        }
388        social_links {
389          facebook
390          instagram
391          linkedin
392        }
393        is_follower
394        is_owner
395      }
396    }
397  }
398`;let p=(0,n.gql)`
399    query opportunities($first: Int!, $page: Int!, $category: [Int], $sub_category: [String], $type: OpportunitySection!) {
400        opportunities(
401            first: $first
402            page: $page
403            input:{
404                type: $type
405                category: $category
406                sub_category: $sub_category
407            }
408        ){
409            ${o.Vq}
410        }
411    }
412`;(0,n.gql)`
413    query opportunities($first: Int!, $page: Int!, $category: [Int], $exclude: [Int], $type: OpportunitySection!) {
414        opportunities(
415            first: $first
416            page: $page
417            input:{
418                type: $type
419                category: $category
420                exclude: $exclude
421                featured: true
422            }
423        ){
424            ${o.Vq}
425        }
426    }
427`;let d=(0,n.gql)`
428    query opportunities(
429        $first: Int!,
430        $page: Int!,
431        $landing_filter: LandingFilter,
432        $upcoming: Boolean,
433        $no_deadline: Boolean,
434        $most_applied: Boolean,
435        $published_today: Boolean,
436    ) {
437        opportunities(
438            first: $first
439            page: $page
440            input:{
441                type: EDU
442                landing_filter:$landing_filter
443                upcoming: $upcoming
444                no_deadline: $no_deadline
445                most_applied: $most_applied
446                published_today: $published_today
447            }
448        ){
449            ${o.Vq}
450        }
451    }
452`,u=(0,n.gql)`
453    query opportunities(
454        $first: Int!,
455        $page: Int!,
456        $organization_id: Int,
457        $term: String,
458        $edu_type: [Int],
459        $languages: [Int],
460        $edu_lvl: [Int],
461        $funding: [Int],
462        $specialities: [Int],
463        $nationalities: [String],
464        $country: [String],
465        $open: Boolean,
466        $featured: Boolean,
467        $remote: Boolean,
468        $upcoming: Boolean,
469        $no_edu: Boolean,
470        $disabilities: Boolean,
471        $fields: [Int],
472    ) {
473        opportunities(
474            first: $first
475            page: $page
476            input:{
477                type: EDU
478                term: $term
479                organization_id: $organization_id
480                edu_type: $edu_type
481                languages: $languages
482                nationalities: $nationalities
483                specialities: $specialities
484                country: $country
485                funding: $funding
486                edu_lvl: $edu_lvl
487                no_edu: $no_edu
488                open: $open
489                featured: $featured
490                remote: $remote
491                upcoming: $upcoming
492                disabilities: $disabilities
493                fields: $fields,
494
495            }
496        ){
497            ${o.Vq}
498        }
499    }
500`;(0,n.gql)`
501  query opportunityHome($count: Int!, $page: Int!) {
502    opportunityHome(count: $count, page: $page) {
503      totalPages
504      data {
505        page {
506          id
507          titleLocale
508          url
509          layout
510        }
511        items {
512          id
513          url
514          title
515          is_remote
516          deadline
517          is_pinned
518          closed
519          no_deadline
520          image {
521            id
522            small
523            name
524            original
525            width
526            height
527            folder
528          }
529          country {
530            place {
531              id
532              title
533              name
534            }
535          }
536          organization {
537            id
538            name
539            slug
540            image {
541              id
542              xmedium
543              name
544              folder
545            }
546          }
547          category {
548            id
549            name
550            url
551          }
552        }
553      }
554    }
555  }
556`;let g=(0,n.gql)`
557  {
558    getOpportunityCountriesList(for: "Edu") {
559      count
560      country
561      place {
562        name
563        nationality
564      }
565    }
566    getCategoryList {
567      count
568      opportunityType {
569        id
570        titleLocale
571        slug_en
572        title
573        slug
574        image {
575          name
576          width
577          height
578          folder
579        }
580        url
581      }
582    }
583    getEducationList: lists(modelName: "EducationLevel") {
584      id
585      title
586      titleLocale
587      url
588      image {
589        id
590        small
591        large
592        medium
593        name
594        original
595        width
596        height
597        folder
598      }
599    }
600    getSpecialityList: lists(modelName: "Specialty") {
601      id
602      title
603      titleLocale
604      url
605      image {
606        small
607        large
608        medium
609        name
610        original
611        width
612        height
613        folder
614      }
615    }
616    getFundingList: lists(modelName: "Funding") {
617      id
618      title
619      titleLocale
620      url
621      image {
622        small
623        large
624        medium
625        name
626        original
627        width
628        height
629        folder
630      }
631    }
632    getOpportunityFieldList: lists(modelName: "OpportunityField") {
633      id
634      title
635      titleLocale
636    }
637  }
638`;(0,n.gql)`
639  {
640    opportunityTotalCount
641  }
642`;let c=(0,n.gql)`
643    query opportunities(
644        $first: Int!,
645        $page: Int!,
646        $featured: Boolean,
647        $upcoming: Boolean,
648        $no_deadline: Boolean,
649        $most_applied: Boolean,
650        $published_today: Boolean,
651        $is_periodic: Boolean,
652    ) {
653        opportunities(
654            first: $first
655            page: $page
656            input:{
657                type: EDU
658                featured: $featured
659                upcoming: $upcoming
660                no_deadline: $no_deadline
661                most_applied: $most_applied
662                published_today: $published_today
663                is_periodic: $is_periodic
664            }
665        ){
666            ${o.Vq}
667        }
668    }
669`;(0,n.gql)`
670    query getSpecialTaxonomyPage($slug: String!) {
671        getSpecialTaxonomyPage(slug: $slug) {
672            id
673            slug
674            slug_en
675            name_ar
676            name_en
677            taxonomy_ids
678            organization_ids
679            filter_type
680            nationalities
681            keywords
682            page_title_ar
683            page_title_en
684            meta_description_ar
685            meta_description_en
686            description_ar
687            description_en
688            h1_ar
689            h1_en
690            image
691            parent_slug
692            nameLocale
693            pageTitleLocale
694            metaDescriptionLocale
695            descriptionLocale
696            h1Locale
697            slugLocale
698            url
699            transUrl
700            children {
701                id
702                slug
703                slug_en
704                name_ar
705                name_en
706                nameLocale
707                slugLocale
708                url
709            }
710        }
711    }
712`,(0,n.gql)`
713    query getNavSpecialTaxonomyPages {
714        getNavSpecialTaxonomyPages {
715            id
716            slug
717            slug_en
718            name_ar
719            name_en
720            parent_slug
721            show_in_nav
722            nav_order
723            url
724        }
725    }
726`}},function(e){e.O(0,[8091,2888,9774,179],function(){return e(e.s=73358)}),_N_E=e.O()}]);

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.