Skip to content

Commit

Permalink
Fix build and tests
Browse files Browse the repository at this point in the history
  • Loading branch information
cp-sumi-k committed Oct 3, 2023
2 parents 8bbb07e + a0d4761 commit ad09359
Show file tree
Hide file tree
Showing 36 changed files with 620 additions and 121 deletions.
4 changes: 0 additions & 4 deletions nuxt-frontend/app.vue
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@

<template>
<div>
<NuxtPage />
</div>
</template>

<script>
</script>
8 changes: 8 additions & 0 deletions nuxt-frontend/assets/css/app.css
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,11 @@
font-weight: 500;
src: url(../fonts/Roboto-Medium-Subset.woff2);
}

@font-face {
font-display: swap;
font-family: Opensans-Bold;
font-style: normal;
font-weight: 700;
src: url(../fonts/Open-Sans-Bold.woff2) format("woff2");
}
2 changes: 1 addition & 1 deletion nuxt-frontend/components/about/HowItAllStartedSection.vue
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ export default {
// space between list elements
let space = Math.ceil(
(totalWidth - listWidth * this.stories.length) /
(this.stories.length - 1)
(this.stories.length - 1),
);
// move left with total of li width and space
Expand Down
6 changes: 4 additions & 2 deletions nuxt-frontend/components/contact/NewContactForm.vue
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,9 @@
showProjectInfoValidationError =
$event.target.value.trim().length === 0
"
@click.native="$mixpanel.track('tap_contact_project_info_input')"
@click.native="
$mixpanel.track('tap_contact_project_info_input')
"
></textarea>
<label
for="project"
Expand Down Expand Up @@ -323,7 +325,7 @@ export default {
});
localStorage.setItem(
"client-name",
JSON.stringify(formData.name)
JSON.stringify(formData.name),
);
this.resetForm();
})
Expand Down
2 changes: 1 addition & 1 deletion nuxt-frontend/components/contributions/DesignExplore.vue
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ export default {
found = true;
styles[i].innerText = styles[i].innerText.replaceAll(
this.lastWidth,
width
width,
);
}
}
Expand Down
2 changes: 1 addition & 1 deletion nuxt-frontend/components/contributions/WhatsTrending.vue
Original file line number Diff line number Diff line change
Expand Up @@ -366,7 +366,7 @@ export default {
found = true;
styles[i].innerText = styles[i].innerText.replaceAll(
this.lastWidth,
width
width,
);
}
}
Expand Down
2 changes: 1 addition & 1 deletion nuxt-frontend/components/home-new/BlogSection.vue
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ export default {
* get date in MMM DD, YYYY format
*/
element.pubDate = new Date(
element.pubDate.replace(/-/g, "/")
element.pubDate.replace(/-/g, "/"),
).toLocaleDateString("en-US", {
month: "long",
day: "2-digit",
Expand Down
2 changes: 1 addition & 1 deletion nuxt-frontend/components/home-new/ContributionSection.vue
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ export default {
() => this.cData,
(data) => {
setGithubStars(this.contributions, data);
}
},
);
if (this.cData != null) {
setGithubStars(this.contributions, this.cData);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ export default {
() => this.cData,
(data) => {
setGithubStars(this.contributions, data);
}
},
);
if (this.cData != null) {
setGithubStars(this.contributions, this.cData);
Expand Down
18 changes: 9 additions & 9 deletions nuxt-frontend/components/home-new/HomeIndex.vue
Original file line number Diff line number Diff line change
Expand Up @@ -27,31 +27,31 @@ import { elementInViewPort } from "@/utils.js";
import { defineAsyncComponent } from "vue";
const CaseStudy = defineAsyncComponent(() =>
import("@/components/home-new/CaseStudy.vue")
import("@/components/home-new/CaseStudy.vue"),
);
const ServiceSection = defineAsyncComponent(() =>
import("@/components/home-new/ServiceSection.vue")
import("@/components/home-new/ServiceSection.vue"),
);
const ServiceSectionMobile = defineAsyncComponent(() =>
import("@/components/home-new/ServiceSectionMobile.vue")
import("@/components/home-new/ServiceSectionMobile.vue"),
);
const ContributionSection = defineAsyncComponent(() =>
import("@/components/home-new/ContributionSection.vue")
import("@/components/home-new/ContributionSection.vue"),
);
const ContributionSectionMobile = defineAsyncComponent(() =>
import("@/components/home-new/ContributionSectionMobile.vue")
import("@/components/home-new/ContributionSectionMobile.vue"),
);
const ClientReview = defineAsyncComponent(() =>
import("@/components/home-new/ClientReviewSection.vue")
import("@/components/home-new/ClientReviewSection.vue"),
);
const CTASection = defineAsyncComponent(() =>
import("@/components/mobile-app-development/CTASection2.vue")
import("@/components/mobile-app-development/CTASection2.vue"),
);
const BlogSection = defineAsyncComponent(() =>
import("@/components/home-new/BlogSection.vue")
import("@/components/home-new/BlogSection.vue"),
);
const NewFooter = defineAsyncComponent(() =>
import("@/components/partials/NewFooter.vue")
import("@/components/partials/NewFooter.vue"),
);
export default {
Expand Down
2 changes: 1 addition & 1 deletion nuxt-frontend/components/home-new/UserReview.vue
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ export default {
},
components: {
LottieAnimation: defineAsyncComponent(() =>
import("@/components/utils/LottieAnimation.vue")
import("@/components/utils/LottieAnimation.vue"),
),
},
mounted() {
Expand Down
228 changes: 228 additions & 0 deletions nuxt-frontend/components/ios-app-development/BlogSection.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,228 @@
<template>
<section class="tw-my-20 md:tw-mb-32 lg:tw-my-32 xll:tw-container">
<div
class="tw-pb-4 md:tw-py-12 tw-text-center tw-font-inter-bold tw-text-3xl tw-leading-[2.4375rem] md:tw-text-[2.65625rem] md:tw-leading-[3.796875rem] lg:tw-text-[3.4375rem] lg:tw-leading-[5.15625rem] tw-tracking-[-4%] xll:tw-py-24 tw-text-black-core/[0.87]"
>
<span>Our Blogs</span>
</div>
<!-- Mobile UI start -->
<div class="tw-mt-8 tw-block md:tw-hidden">
<swiper
:grabCursor="true"
:effect="'creative'"
:centeredSlides="true"
:loop="false"
:creativeEffect="{
limitProgress: 5,
loop: false,
next: {
translate: [400, 0, 0],
},
prev: {
translate: [0, 0, -10],
},
}"
:slidesPerView="1"
:spaceBetween="10"
:modules="modules"
>
<swiper-slide
v-for="(blog, index) in blogs"
:key="index"
class="tw-mt-8"
>
<div
:class="blog.className"
class="tw-w-80 tw-h-[350px] tw-drop-shadow-md tw-text-left tw-cursor-pointer tw-mx-auto"
>
<img
@click="openBlog(blog.link, 'tap_ios_blog_section')"
:src="blog.image"
:srcset="`${blog.image} 400w`"
:alt="blog.title"
class="tw-h-44 tw-w-80 tw-object-cover"
loading="lazy"
/>
<div
@click="openBlog(blog.link, 'tap_ios_blog_section')"
class="=tw-w-80 tw-h-28 tw-bg-white tw-flex tw-flex-col tw-justify-center tw-px-8"
>
<h2
class="tw-font-inter-medium tw-text-basetw-leading-6 tw-tracking-[-4%] tw-text-black-core/[0.87]"
>
{{ blog.title }}
</h2>

<span
class="tw-mt-2 tw-font-inter-regular tw-text-sm tw-tracking-[-0.72px] lg:tw-leading-[1.3125rem] v2-canopas-gradient-text"
>
{{ blog.readTime }}
</span>
</div>
</div>
</swiper-slide></swiper
>
</div>

<!-- Mobile UI End -->
<!-- Desktop UI start -->
<div class="tw-mt-8 md:tw-block tw-hidden">
<swiper
:slidesPerView="4"
:centeredSlides="true"
:loop="true"
:autoplay="{
delay: 2000,
disableOnInteraction: false,
}"
:speed="2000"
:spaceBetween="10"
:modules="modules"
:navigation="true"
class="swiper-container"
:breakpoints="{
'768': {
slidesPerView: 2,
},
'1200': {
slidesPerView: 2.5,
},
'1400': {
slidesPerView: 3.5,
},
'2400': {
slidesPerView: 2.5,
},
}"
>
<swiper-slide
v-for="(blog, index) in iosblog"
:key="index"
class="tw-cursor-pointer tw-relative tw-flex tw-flex-col tw-pl-4 sm:tw-pl-8"
>
<div class="tw-h-full tw-w-full">
<img
@click="openBlog(blog.link, 'tap_ios_blog_section')"
:src="blog.deskImage[0]"
:srcset="`${blog.deskImage[0]} 800w,${blog.deskImage[1]} 1200w`"
:alt="blog.title"
class="tw-h-full tw-w-full tw-object-cover tw-rounded-[12px]"
loading="lazy"
/>
</div>
<div>
<p
@click="openBlog(blog.link, 'tap_ios_blog_section')"
class="tw-mt-2 tw-font-inter-semibold tw-text-2xl lg:tw-text-[2.125rem] tw-w-full lg:tw-leading-[3.1875rem] !tw-tracking-[-4%] tw-text-black-core/[0.87]"
>
{{ blog.title }}
</p>
<p
class="tw-mt-2 tw-font-inter-medium tw-text-base lg:tw-text-lg tw-tracking-[-0.72px] lg:tw-leading-[1.125rem] tw-text-black-core/[0.60]"
>
{{ blog.readTime }}
</p>
</div>
</swiper-slide>
</swiper>
</div>
<!-- Desktop UI end -->
</section>
</template>

<script>
import { EffectCreative, Autoplay } from "swiper/modules";
import { Swiper, SwiperSlide } from "swiper/vue";
import { openBlog } from "@/utils.js";
import mobile_blog1_400w from "@/assets/images/ios-app-development/blog/blog1-400w.webp";
import mobile_blog2_400w from "@/assets/images/ios-app-development/blog/blog2-400w.webp";
import mobile_blog3_400w from "@/assets/images/ios-app-development/blog/blog3-400w.webp";
import mobile_blog4_400w from "@/assets/images/ios-app-development/blog/blog4-400w.webp";
import mobile_blog5_400w from "@/assets/images/ios-app-development/blog/blog5-400w.webp";
import dektop_blog1_800w from "@/assets/images/ios-app-development/blog/desk-blog1-800w.webp";
import dektop_blog1_1200w from "@/assets/images/ios-app-development/blog/desk-blog1-1200w.webp";
import dektop_blog2_800w from "@/assets/images/ios-app-development/blog/desk-blog2-800w.webp";
import dektop_blog2_1200w from "@/assets/images/ios-app-development/blog/desk-blog2-1200w.webp";
import dektop_blog3_800w from "@/assets/images/ios-app-development/blog/desk-blog3-800w.webp";
import dektop_blog3_1200w from "@/assets/images/ios-app-development/blog/desk-blog3-1200w.webp";
import dektop_blog4_800w from "@/assets/images/ios-app-development/blog/desk-blog4-800w.webp";
import dektop_blog4_1200w from "@/assets/images/ios-app-development/blog/desk-blog4-1200w.webp";
import dektop_blog5_800w from "@/assets/images/ios-app-development/blog/desk-blog5-800w.webp";
import dektop_blog5_1200w from "@/assets/images/ios-app-development/blog/desk-blog5-1200w.webp";
export default {
data() {
return {
openBlog,
modules: [EffectCreative, Autoplay],
blogs: [
{
title: "The Ultimate Guide to iOS unit testing with best practices",
image: mobile_blog1_400w,
readTime: "5 min read",
deskImage: [dektop_blog1_800w, dektop_blog1_1200w],
link: "https://blog.canopas.com/the-ultimate-guide-to-ios-unit-testing-with-best-practices-part-2-f2eacbf3d8d4",
},
{
title: "SwiftUI Performance Tuning: Tips and Tricks",
image: mobile_blog2_400w,
readTime: "8 min read",
deskImage: [dektop_blog2_800w, dektop_blog2_1200w],
link: "https://blog.canopas.com/swiftui-performance-tuning-tips-and-tricks-a8f9eeb23ec4",
className: "-tw-rotate-6",
},
{
title: "Designing Data Layer For Offline-first Apps",
image: mobile_blog3_400w,
readTime: "7 min read",
deskImage: [dektop_blog3_800w, dektop_blog3_1200w],
link: "https://blog.canopas.com/ios-designing-data-layer-for-offline-first-apps-f929c83bb195",
className: "tw-rotate-6",
},
{
title: "SwiftUI — Complex navigation made easier with UIPilot",
image: mobile_blog4_400w,
readTime: "5 min read",
deskImage: [dektop_blog4_800w, dektop_blog4_1200w],
link: "https://blog.canopas.com/swiftui-complex-navigation-made-easier-with-uipilot-5b33279f3476",
className: "-tw-rotate-6",
},
{
title: "A Complete Guide to iOS App Auto Deployment with CI-CD",
image: mobile_blog5_400w,
readTime: "7 min read",
deskImage: [dektop_blog5_800w, dektop_blog5_1200w],
link: "https://blog.canopas.com/a-complete-guide-to-ios-app-auto-deployment-with-ci-cd-b5dc516ba41d",
className: "tw-rotate-6",
},
],
};
},
computed: {
iosblog() {
return Array(50).fill(this.blogs).flat();
},
},
components: {
Swiper,
SwiperSlide,
},
inject: ["mixpanel"],
};
</script>
<style lang="postcss">
@import "swiper/css";
@import "swiper/css/effect-creative";
.swiper-slide {
@apply !tw-overflow-visible;
}
.swiper-wrapper {
@apply !tw-items-start;
}
</style>
6 changes: 3 additions & 3 deletions nuxt-frontend/components/ios-app-development/CtaSection.vue
Original file line number Diff line number Diff line change
Expand Up @@ -38,17 +38,17 @@
</div>
<!-- Desktop view start -->
<div
class="tw-relative tw-mb-16 tw-h-80 xll:tw-h-[30rem] tw-hidden md:tw-block"
class="tw-relative tw-mb-16 tw-h-80 lg:tw-h-[476px] tw-hidden md:tw-block"
>
<img
:src="BackgroundImage[1]"
:srcset="`${BackgroundImage[1]} 800w,${BackgroundImage[2]} 1200w,${BackgroundImage[3]} 2400w`"
alt="Background-Image"
class="tw-h-full lg:tw-h-[22.5rem] xll:tw-h-full tw-w-full tw-object-cover"
class="tw-h-full tw-w-full tw-object-cover"
loading="lazy"
/>
<div
class="tw-container tw-absolute tw-left-1/2 tw-flex tw-w-full tw--translate-x-1/2 tw--translate-y-[150%] lg:tw--translate-y-[114%] xll:tw--translate-y-[134%] tw-transform tw-flex-row tw-items-center"
class="tw-container tw-absolute tw-left-1/2 tw-flex tw-w-full tw--translate-x-1/2 tw--translate-y-[15.55rem] lg:tw--translate-y-[24rem] tw-transform tw-flex-row tw-items-center"
>
<div class="tw-flex tw-w-[66%]">
<div
Expand Down
Loading

0 comments on commit ad09359

Please sign in to comment.