-
+
diff --git a/nuxt-frontend/components/jobs/LifeAtCanopas.vue b/nuxt-frontend/components/jobs/LifeAtCanopas.vue
index ae66148ff..32d92c7d2 100755
--- a/nuxt-frontend/components/jobs/LifeAtCanopas.vue
+++ b/nuxt-frontend/components/jobs/LifeAtCanopas.vue
@@ -50,12 +50,7 @@
:src="slider.image[0]"
:srcset="`${slider.image[0]} 400w, ${slider.image[1]} 800w, ${slider.image[2]} 1600w`"
alt="Life at canopas"
- :class="
- slider.id == 7 || slider.id == 6
- ? 'tw-object-fill'
- : 'tw-object-cover'
- "
- class="tw-h-full tw-w-full"
+ class="tw-h-full tw-w-full tw-object-cover"
loading="lazy"
/>
diff --git a/nuxt-frontend/components/mobile-app-development/Portfolio.vue b/nuxt-frontend/components/mobile-app-development/Portfolio.vue
index 9218859f6..6d98c5d49 100755
--- a/nuxt-frontend/components/mobile-app-development/Portfolio.vue
+++ b/nuxt-frontend/components/mobile-app-development/Portfolio.vue
@@ -264,7 +264,7 @@ export default {
setTimeout(function () {
window.open(
portfolio.url,
- portfolio.target ? portfolio.target : "_self"
+ portfolio.target ? portfolio.target : "_self",
);
}, 200);
this.$mixpanel.track(portfolio.event);
diff --git a/nuxt-frontend/components/portfolio/UserReviewSection.vue b/nuxt-frontend/components/portfolio/UserReviewSection.vue
index cba25d9f6..7aefe8c4d 100755
--- a/nuxt-frontend/components/portfolio/UserReviewSection.vue
+++ b/nuxt-frontend/components/portfolio/UserReviewSection.vue
@@ -157,7 +157,7 @@ export default {
found = true;
styles[i].innerText = styles[i].innerText.replaceAll(
this.lastWidth,
- width
+ width,
);
}
}
diff --git a/nuxt-frontend/components/services/WhatWeOfferDesktop.vue b/nuxt-frontend/components/services/WhatWeOfferDesktop.vue
index 9cb17a41e..cd2b1696b 100644
--- a/nuxt-frontend/components/services/WhatWeOfferDesktop.vue
+++ b/nuxt-frontend/components/services/WhatWeOfferDesktop.vue
@@ -132,7 +132,7 @@ export default {
// check which element is in viewport
const elementIdx = elementInViewPort(this.$refs);
const index = parseInt(
- elementIdx ? elementIdx.charAt(elementIdx.length - 1) : 0
+ elementIdx ? elementIdx.charAt(elementIdx.length - 1) : 0,
);
if (this.prevIndex != index) {
diff --git a/nuxt-frontend/pages/about.vue b/nuxt-frontend/pages/about.vue
index 321682a2b..76227f3b3 100644
--- a/nuxt-frontend/pages/about.vue
+++ b/nuxt-frontend/pages/about.vue
@@ -26,22 +26,22 @@ import { elementInViewPort } from "@/utils.js";
import { defineAsyncComponent } from "vue";
const HowItAllStartedSectionMobile = defineAsyncComponent(() =>
- import("@/components/about/HowItAllStartedSectionMobile.vue")
+ import("@/components/about/HowItAllStartedSectionMobile.vue"),
);
const AboutusVirtue = defineAsyncComponent(() =>
- import("@/components/about/AboutusVirtue.vue")
+ import("@/components/about/AboutusVirtue.vue"),
);
const WithCanopasSection = defineAsyncComponent(() =>
- import("@/components/about/WithCanopas.vue")
+ import("@/components/about/WithCanopas.vue"),
);
const ClientReviewSection = defineAsyncComponent(() =>
- import("@/components/home-new/ClientReviewSection.vue")
+ import("@/components/home-new/ClientReviewSection.vue"),
);
const CTASection = defineAsyncComponent(() =>
- import("@/components/about/CTASection.vue")
+ import("@/components/about/CTASection.vue"),
);
const NewFooter = defineAsyncComponent(() =>
- import("@/components/partials/NewFooter.vue")
+ import("@/components/partials/NewFooter.vue"),
);
export default {
diff --git a/nuxt-frontend/pages/android-app-development.vue b/nuxt-frontend/pages/android-app-development.vue
index bf8698ae2..65547dfc1 100644
--- a/nuxt-frontend/pages/android-app-development.vue
+++ b/nuxt-frontend/pages/android-app-development.vue
@@ -24,29 +24,29 @@ import { elementInViewPort } from "@/utils.js";
import LandingSection from "@/components/android-app-development/LandingSection.vue";
import DevelopmentSection from "@/components/android-app-development/DevelopmentSection.vue";
const CaseStudy = defineAsyncComponent(() =>
- import("@/components/android-app-development/CaseStudySection.vue")
+ import("@/components/android-app-development/CaseStudySection.vue"),
);
const SuccessStorySection = defineAsyncComponent(() =>
- import("@/components/android-app-development/SuccessStorySection.vue")
+ import("@/components/android-app-development/SuccessStorySection.vue"),
);
const FaqSection = defineAsyncComponent(() =>
- import("@/components/android-app-development/FaqSection.vue")
+ import("@/components/android-app-development/FaqSection.vue"),
);
const PinkCtaSection = defineAsyncComponent(() =>
- import("@/components/android-app-development/PinkCtaSection.vue")
+ import("@/components/android-app-development/PinkCtaSection.vue"),
);
const CtaSection = defineAsyncComponent(() =>
- import("@/components/android-app-development/CtaSection.vue")
+ import("@/components/android-app-development/CtaSection.vue"),
);
const BlackCtaSection = defineAsyncComponent(() =>
- import("@/components/android-app-development/BlackCtaSection.vue")
+ import("@/components/android-app-development/BlackCtaSection.vue"),
);
const BlogSection = defineAsyncComponent(() =>
- import("@/components/android-app-development/BlogSection.vue")
+ import("@/components/android-app-development/BlogSection.vue"),
);
const NewFooter = defineAsyncComponent(() =>
- import("@/components/partials/NewFooter.vue")
+ import("@/components/partials/NewFooter.vue"),
);
export default {
diff --git a/nuxt-frontend/pages/contact.vue b/nuxt-frontend/pages/contact.vue
index e2f1bb2ab..ccb11c66a 100644
--- a/nuxt-frontend/pages/contact.vue
+++ b/nuxt-frontend/pages/contact.vue
@@ -63,7 +63,7 @@ export default {
recaptchaScript.setAttribute(
"src",
"https://www.google.com/recaptcha/enterprise.js?render=" +
- import.meta.env.VITE_RECAPTCHA_SITE_KEY
+ import.meta.env.VITE_RECAPTCHA_SITE_KEY,
);
recaptchaScript.setAttribute("async", "true");
recaptchaScript.setAttribute("defer", "true");
diff --git a/nuxt-frontend/pages/contributions.vue b/nuxt-frontend/pages/contributions.vue
index 87d0ba092..50b022bab 100755
--- a/nuxt-frontend/pages/contributions.vue
+++ b/nuxt-frontend/pages/contributions.vue
@@ -31,30 +31,30 @@ import DesktopLandingSection from "@/components/contributions/DesktopLanding.vue
import GithubContribution from "@/components/contributions/GithubContribution.vue";
import { elementInViewPort } from "@/utils.js";
const WeeklyUpdateSection = defineAsyncComponent(() =>
- import("@/components/contributions/WeeklyUpdate.vue")
+ import("@/components/contributions/WeeklyUpdate.vue"),
);
const WhatsTrending = defineAsyncComponent(() =>
- import("@/components/contributions/WhatsTrending.vue")
+ import("@/components/contributions/WhatsTrending.vue"),
);
const Favourite = defineAsyncComponent(() =>
- import("@/components/contributions/Favourite.vue")
+ import("@/components/contributions/Favourite.vue"),
);
const AnimatedCreation = defineAsyncComponent(() =>
- import("@/components/contributions/AnimatedCreation.vue")
+ import("@/components/contributions/AnimatedCreation.vue"),
);
const UnitTest = defineAsyncComponent(() =>
- import("@/components/contributions/UnitTest.vue")
+ import("@/components/contributions/UnitTest.vue"),
);
const DevOps = defineAsyncComponent(() =>
- import("@/components/contributions/DevOps.vue")
+ import("@/components/contributions/DevOps.vue"),
);
const ExploreDesign = defineAsyncComponent(() =>
- import("@/components/contributions/DesignExplore.vue")
+ import("@/components/contributions/DesignExplore.vue"),
);
const NewFooter = defineAsyncComponent(() =>
- import("@/components/partials/NewFooter.vue")
+ import("@/components/partials/NewFooter.vue"),
);
export default {
diff --git a/nuxt-frontend/pages/ios-app-development.vue b/nuxt-frontend/pages/ios-app-development.vue
index 7e0cd8016..4cbc705ce 100644
--- a/nuxt-frontend/pages/ios-app-development.vue
+++ b/nuxt-frontend/pages/ios-app-development.vue
@@ -1,12 +1,14 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
@@ -17,17 +19,23 @@ import { defineAsyncComponent } from "vue";
import { elementInViewPort } from "@/utils.js";
import LandingSection from "@/components/ios-app-development/LandingSection.vue";
import DevelopmentSection from "@/components/ios-app-development/DevelopmentSection.vue";
+const SuccessStorySection = defineAsyncComponent(() =>
+ import("@/components/ios-app-development/SuccessStory.vue"),
+);
+const BlogSection = defineAsyncComponent(() =>
+ import("@/components/ios-app-development/BlogSection.vue"),
+);
const FaqSection = defineAsyncComponent(() =>
- import("@/components/ios-app-development/FaqSection.vue")
+ import("@/components/ios-app-development/FaqSection.vue"),
);
const CtaSection = defineAsyncComponent(() =>
- import("@/components/ios-app-development/CtaSection.vue")
+ import("@/components/ios-app-development/CtaSection.vue"),
);
const CtaSection2 = defineAsyncComponent(() =>
- import("@/components/ios-app-development/CtaSection2.vue")
+ import("@/components/ios-app-development/CtaSection2.vue"),
);
const NewFooter = defineAsyncComponent(() =>
- import("@/components/partials/NewFooter.vue")
+ import("@/components/partials/NewFooter.vue"),
);
export default {
@@ -35,11 +43,13 @@ export default {
return {
event: "",
events: {
- landing: "view_ios_development_landing_section",
- development: "view_ios_app_development_section",
- faq: "view_ios_development_faq_section",
- cta1: "view_cta_1_ios_app_development_section",
- cta2: "view_cta_2_ios_app_development_section",
+ iosLanding: "view_ios_development_landing_section",
+ iosDevelopment: "view_ios_app_development_section",
+ iosSuccessstory: "view_ios_app_development_section",
+ iosFaq: "view_ios_development_faq_section",
+ iosCta1: "view_cta_1_ios_app_development_section",
+ iosblog: "view_ios_app_blog_section",
+ iosCta2: "view_cta_2_ios_app_development_section",
},
};
},
@@ -59,6 +69,8 @@ export default {
Header,
LandingSection,
DevelopmentSection,
+ SuccessStorySection,
+ BlogSection,
FaqSection,
CtaSection,
CtaSection2,
diff --git a/nuxt-frontend/pages/jobs/[id].vue b/nuxt-frontend/pages/jobs/[id].vue
index d392e2bf4..cb1c65e0c 100644
--- a/nuxt-frontend/pages/jobs/[id].vue
+++ b/nuxt-frontend/pages/jobs/[id].vue
@@ -147,7 +147,7 @@ function setBulletsAndIconsInDescription() {
let title = descriptionTitles[i].replace(/<(\/*).[^>]*>/g, "");
job.value.description = job.value.description.replace(
descriptionTitles[i],
- '
' + title + "
"
+ '
' + title + "
",
);
}
}
@@ -159,7 +159,7 @@ function setBulletsAndIconsInDescription() {
let list = descriptionLists[i].replace(/<(\/*).[^>]*>/g, "");
job.value.description = job.value.description.replace(
descriptionLists[i],
- '
' + list + ""
+ '
' + list + "",
);
}
}
@@ -250,7 +250,7 @@ function getDescriptionForGoogleSchema() {
if (i == descContent.length - 1) {
descContent[i] = element.replace(
element,
- "
"
+ "
",
);
}
});
diff --git a/nuxt-frontend/pages/jobs/apply/[id].vue b/nuxt-frontend/pages/jobs/apply/[id].vue
index 29a557781..6f23b7806 100644
--- a/nuxt-frontend/pages/jobs/apply/[id].vue
+++ b/nuxt-frontend/pages/jobs/apply/[id].vue
@@ -393,7 +393,7 @@ onMounted(() => {
recaptchaScript.setAttribute(
"src",
"https://www.google.com/recaptcha/enterprise.js?render=" +
- import.meta.env.VITE_RECAPTCHA_SITE_KEY
+ import.meta.env.VITE_RECAPTCHA_SITE_KEY,
);
recaptchaScript.setAttribute("async", "true");
recaptchaScript.setAttribute("defer", "true");
@@ -510,7 +510,7 @@ function submitApplication() {
? reference.value + " - " + referenceBy.value
: reference.value && reference.value != ""
? reference.value
- : "NA"
+ : "NA",
);
formData.append("file", file.value, fileName);
@@ -519,7 +519,7 @@ function submitApplication() {
"message",
message.value
? message.value.replace(/\n/g, "
\n").replace(/\./g, ".\n")
- : "NA"
+ : "NA",
);
formData.append("save_record_to_spreadsheet", config.IS_PROD);
formData.append("save_data_to_database", config.IS_PROD);
@@ -544,7 +544,7 @@ function submitApplication() {
localStorage.setItem(
"applicant-name",
- JSON.stringify(fullName.value)
+ JSON.stringify(fullName.value),
);
fullName.value = "";
email.value = "";
diff --git a/nuxt-frontend/pages/jobs/index.vue b/nuxt-frontend/pages/jobs/index.vue
index 7592dfa97..1d0ee1142 100644
--- a/nuxt-frontend/pages/jobs/index.vue
+++ b/nuxt-frontend/pages/jobs/index.vue
@@ -29,28 +29,28 @@ import config from "@/config.js";
import { elementInViewPort, handleAnimationOnScroll } from "@/utils.js";
const VirtuesView = defineAsyncComponent(() =>
- import("@/components/jobs/VirtuesView.vue")
+ import("@/components/jobs/VirtuesView.vue"),
);
const LifeAtCanopas = defineAsyncComponent(() =>
- import("@/components/jobs/LifeAtCanopas.vue")
+ import("@/components/jobs/LifeAtCanopas.vue"),
);
const Career = defineAsyncComponent(() =>
- import("@/components/jobs/CareerView.vue")
+ import("@/components/jobs/CareerView.vue"),
);
const PerksAndBenefits = defineAsyncComponent(() =>
- import("@/components/jobs/PerksAndBenefits.vue")
+ import("@/components/jobs/PerksAndBenefits.vue"),
);
const WhyCanopas = defineAsyncComponent(() =>
- import("@/components/jobs/WhyCanopas.vue")
+ import("@/components/jobs/WhyCanopas.vue"),
);
const WhyCanopasMobile = defineAsyncComponent(() =>
- import("@/components/jobs/WhyCanopasMobile.vue")
+ import("@/components/jobs/WhyCanopasMobile.vue"),
);
const FaqSection = defineAsyncComponent(() =>
- import("@/components/jobs/FaqSection.vue")
+ import("@/components/jobs/FaqSection.vue"),
);
const NewFooter = defineAsyncComponent(() =>
- import("@/components/partials/NewFooter.vue")
+ import("@/components/partials/NewFooter.vue"),
);
const { $mixpanel } = useNuxtApp();
diff --git a/nuxt-frontend/pages/jobs/thank-you/index.vue b/nuxt-frontend/pages/jobs/thank-you/index.vue
index 216a40020..37352f86c 100644
--- a/nuxt-frontend/pages/jobs/thank-you/index.vue
+++ b/nuxt-frontend/pages/jobs/thank-you/index.vue
@@ -18,19 +18,19 @@ import { defineAsyncComponent } from "vue";
import { elementInViewPort } from "@/utils.js";
const VirtueView = defineAsyncComponent(() =>
- import("@/components/jobs/VirtuesView.vue")
+ import("@/components/jobs/VirtuesView.vue"),
);
const LifeAtCanopasVue = defineAsyncComponent(() =>
- import("@/components/jobs/PerksAndBenefits.vue")
+ import("@/components/jobs/PerksAndBenefits.vue"),
);
const LatestBlog = defineAsyncComponent(() =>
- import("@/components/jobs/thank-you/LatestBlog.vue")
+ import("@/components/jobs/thank-you/LatestBlog.vue"),
);
const ContributionSection = defineAsyncComponent(() =>
- import("@/components/jobs/thank-you/ContributionSection.vue")
+ import("@/components/jobs/thank-you/ContributionSection.vue"),
);
const NewFooter = defineAsyncComponent(() =>
- import("@/components/partials/NewFooter.vue")
+ import("@/components/partials/NewFooter.vue"),
);
import config from "@/config.js";
diff --git a/nuxt-frontend/pages/mobile-app-development.vue b/nuxt-frontend/pages/mobile-app-development.vue
index b27e118ba..1c33de868 100755
--- a/nuxt-frontend/pages/mobile-app-development.vue
+++ b/nuxt-frontend/pages/mobile-app-development.vue
@@ -27,23 +27,23 @@ import { defineAsyncComponent } from "vue";
import { elementInViewPort } from "@/utils.js";
const Portfolio = defineAsyncComponent(() =>
- import("@/components/mobile-app-development/Portfolio.vue")
+ import("@/components/mobile-app-development/Portfolio.vue"),
);
const CTASection = defineAsyncComponent(() =>
- import("@/components/mobile-app-development/CTASection.vue")
+ import("@/components/mobile-app-development/CTASection.vue"),
);
const DevelopmentProcess = defineAsyncComponent(() =>
- import("@/components/mobile-app-development/DevelopmentProcess.vue")
+ import("@/components/mobile-app-development/DevelopmentProcess.vue"),
);
const ClientReview = defineAsyncComponent(() =>
- import("@/components/mobile-app-development/ClientReview.vue")
+ import("@/components/mobile-app-development/ClientReview.vue"),
);
const CTASection2 = defineAsyncComponent(() =>
- import("@/components/mobile-app-development/CTASection2.vue")
+ import("@/components/mobile-app-development/CTASection2.vue"),
);
const NewFooter = defineAsyncComponent(() =>
- import("@/components/partials/NewFooter.vue")
+ import("@/components/partials/NewFooter.vue"),
);
export default {
diff --git a/nuxt-frontend/pages/portfolio/[id].vue b/nuxt-frontend/pages/portfolio/[id].vue
index 9b7bafbdf..8c705f14a 100644
--- a/nuxt-frontend/pages/portfolio/[id].vue
+++ b/nuxt-frontend/pages/portfolio/[id].vue
@@ -37,7 +37,7 @@ import config from "@/config.js";
import { useRoute } from "vue-router";
-const {$mixpanel} = useNuxtApp()
+const { $mixpanel } = useNuxtApp();
const route = useRoute();
const id = route.params.id;
@@ -124,7 +124,7 @@ watch(
(currentValue, oldValue) => {
getData(currentValue);
},
- { immediate: true, deep: true }
+ { immediate: true, deep: true },
);
diff --git a/nuxt-frontend/pages/portfolio/index.vue b/nuxt-frontend/pages/portfolio/index.vue
index 741865080..edca14830 100644
--- a/nuxt-frontend/pages/portfolio/index.vue
+++ b/nuxt-frontend/pages/portfolio/index.vue
@@ -19,13 +19,13 @@ import { defineAsyncComponent } from "vue";
import { elementInViewPort } from "@/utils.js";
const UserReview = defineAsyncComponent(() =>
- import("@/components/home-new/UserReview.vue")
+ import("@/components/home-new/UserReview.vue"),
);
const CTASection = defineAsyncComponent(() =>
- import("@/components/home-new/CTASection.vue")
+ import("@/components/home-new/CTASection.vue"),
);
const NewFooter = defineAsyncComponent(() =>
- import("@/components/partials/NewFooter.vue")
+ import("@/components/partials/NewFooter.vue"),
);
export default {
diff --git a/nuxt-frontend/pages/services.vue b/nuxt-frontend/pages/services.vue
index 839a72440..9f5fd36b4 100644
--- a/nuxt-frontend/pages/services.vue
+++ b/nuxt-frontend/pages/services.vue
@@ -31,31 +31,31 @@ import { defineAsyncComponent } from "vue";
import { elementInViewPort } from "@/utils.js";
const SuccessStories = defineAsyncComponent(() =>
- import("@/components/services/SuccessStories.vue")
+ import("@/components/services/SuccessStories.vue"),
);
const BlogSection = defineAsyncComponent(() =>
- import("@/components/home-new/BlogSection.vue")
+ import("@/components/home-new/BlogSection.vue"),
);
const CTASection = defineAsyncComponent(() =>
- import("@/components/home-new/PortfolioPageCTASection.vue")
+ import("@/components/home-new/PortfolioPageCTASection.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 ClientReviewSection = defineAsyncComponent(() =>
- import("@/components/home-new/ClientReviewSection.vue")
+ import("@/components/home-new/ClientReviewSection.vue"),
);
const CTASection2 = defineAsyncComponent(() =>
- import("@/components/services/CTASection.vue")
+ import("@/components/services/CTASection.vue"),
);
const TechnologyStack = defineAsyncComponent(() =>
- import("@/components/services/TechnologyStack.vue")
+ import("@/components/services/TechnologyStack.vue"),
);
const NewFooter = defineAsyncComponent(() =>
- import("@/components/partials/NewFooter.vue")
+ import("@/components/partials/NewFooter.vue"),
);
export default {
diff --git a/nuxt-frontend/pages/thank-you.vue b/nuxt-frontend/pages/thank-you.vue
index 048695831..3c648e540 100644
--- a/nuxt-frontend/pages/thank-you.vue
+++ b/nuxt-frontend/pages/thank-you.vue
@@ -21,14 +21,14 @@ import Header from "@/components/partials/NewHeader.vue";
import LandingSection from "@/components/contact/thank-you/LandingSection.vue";
import BenefitSection from "@/components/contact/thank-you/BenefitSection.vue";
const HappyClientSection = defineAsyncComponent(() =>
- import("@/components/contact/thank-you/HappyClient.vue")
+ import("@/components/contact/thank-you/HappyClient.vue"),
);
const ScheduleMeeting = defineAsyncComponent(() =>
- import("@/components/contact/thank-you/ScheduleMeeting.vue")
+ import("@/components/contact/thank-you/ScheduleMeeting.vue"),
);
const NewFooter = defineAsyncComponent(() =>
- import("@/components/partials/NewFooter.vue")
+ import("@/components/partials/NewFooter.vue"),
);
export default {
diff --git a/nuxt-frontend/tailwind.config.js b/nuxt-frontend/tailwind.config.js
index c1f95d07b..0fdfe9172 100644
--- a/nuxt-frontend/tailwind.config.js
+++ b/nuxt-frontend/tailwind.config.js
@@ -69,6 +69,7 @@ module.exports = {
"inter-medium": ["Inter-Medium"],
"inter-semibold": ["Inter-SemiBold"],
"inter-regular": ["Inter-Regular"],
+ "opensans-bold": ["Opensans-Bold"],
},
letterSpacing: {
"extra-wider": "0.0625em",
@@ -225,7 +226,7 @@ module.exports = {
120: "120deg",
135: "135deg",
}),
- }
+ },
);
}),
function ({ addComponents }) {
diff --git a/nuxt-frontend/utils.js b/nuxt-frontend/utils.js
index 2c08877b1..c522b7001 100644
--- a/nuxt-frontend/utils.js
+++ b/nuxt-frontend/utils.js
@@ -34,7 +34,7 @@ function setGithubStars(contributions, githubRepos) {
.filter(
(repo) =>
repo.name ==
- contribution.link.slice(contribution.link.lastIndexOf("/") + 1)
+ contribution.link.slice(contribution.link.lastIndexOf("/") + 1),
)
.map((repo) => repo.stargazers_count.toString())[0];
});
@@ -77,7 +77,7 @@ function getJobDates() {
currentDay <= maxDays
? startDateOfMonth
: new Date(
- startDateOfMonth.setDate(startDateOfMonth.getDate() + maxDays)
+ startDateOfMonth.setDate(startDateOfMonth.getDate() + maxDays),
);
const datePosted = jobPosted.toISOString().split("T")[0];
diff --git a/utils/test.go b/utils/test.go
index 4d8656f32..aff9096bf 100644
--- a/utils/test.go
+++ b/utils/test.go
@@ -75,7 +75,7 @@ func TestDB() (*sqlx.DB, error) {
func CreateTables(db *sqlx.DB) error {
- jobs := "CREATE TABLE IF NOT EXISTS `jobs` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`title` varchar(255) NULL DEFAULT NULL,`summary` varchar(500) NULL DEFAULT NULL,`description` text NULL DEFAULT NULL,`button_name` varchar(225) NULL DEFAULT NULL,`qualification` varchar(225) NULL DEFAULT NULL,`employment_type` varchar(225) NULL DEFAULT NULL,`base_salary` int(11) NULL DEFAULT NULL,`experience` varchar(225) NULL DEFAULT NULL,`is_active` tinyint(1) NULL DEFAULT 0,`skills` text NULL DEFAULT NULL,`total_openings` int(11) NULL DEFAULT 1,`responsibilities` text NULL DEFAULT NULL, `icon_name` varchar(255) NULL DEFAULT NULL , `unique_id` varchar(255) NULL DEFAULT NULL, `seo_title` varchar(255) NULL DEFAULT NULL, `seo_description` text NULL DEFAULT NULL, `apply_seo_title` varchar(255) NULL DEFAULT NULL, `apply_seo_description` text NULL DEFAULT NULL, `index` int(10) NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL,`updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`))"
+ jobs := "CREATE TABLE IF NOT EXISTS `jobs` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`title` varchar(255) NULL DEFAULT NULL,`summary` varchar(500) NULL DEFAULT NULL,`description` text NULL DEFAULT NULL,`button_name` varchar(225) NULL DEFAULT NULL,`qualification` varchar(225) NULL DEFAULT NULL,`employment_type` varchar(225) NULL DEFAULT NULL,`base_salary` int(11) NULL DEFAULT NULL,`experience` varchar(225) NULL DEFAULT NULL,`is_active` tinyint(1) NULL DEFAULT 0,`skills` text NULL DEFAULT NULL,`total_openings` int(11) NULL DEFAULT 1,`responsibilities` text NULL DEFAULT NULL, `icon_name` int NULL DEFAULT NULL , `unique_id` varchar(255) NULL DEFAULT NULL, `seo_title` varchar(255) NULL DEFAULT NULL, `seo_description` text NULL DEFAULT NULL, `apply_seo_title` varchar(255) NULL DEFAULT NULL, `apply_seo_description` text NULL DEFAULT NULL, `index` int(10) NULL DEFAULT 0, `created_at` timestamp NULL DEFAULT NULL,`updated_at` timestamp NULL DEFAULT NULL, PRIMARY KEY (`id`))"
_, err := db.Exec(jobs)
@@ -97,6 +97,14 @@ func CreateTables(db *sqlx.DB) error {
return err
}
+ jobsIcons := "CREATE TABLE `job_icons` (`id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `value` varchar(255) DEFAULT NULL, `createdAt` datetime DEFAULT NULL, `updatedAt` datetime DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=latin1"
+
+ _, err = db.Exec(jobsIcons)
+
+ if err != nil {
+ return err
+ }
+
return nil
}
@@ -106,14 +114,16 @@ func TruncateTables(db *sqlx.DB) {
db.MustExec("TRUNCATE TABLE jobs")
db.MustExec("TRUNCATE TABLE job_applications")
db.MustExec("TRUNCATE TABLE job_applicant_statuses")
+ db.MustExec("TRUNCATE TABLE job_icons")
db.MustExec("SET FOREIGN_KEY_CHECKS = 1") // Enable foreign key checks
}
func PrepareTablesData(db *sqlx.DB) {
- db.MustExec("INSERT INTO jobs(`id`, `title`, `summary`, `description`, `button_name`,`qualification`, `employment_type`, `base_salary`, `experience`, `is_active`, `skills`, `total_openings`, `responsibilities`, `icon_name`, `unique_id`, `seo_title`, `seo_description`, `apply_seo_title`, `apply_seo_description`, `created_at`, `updated_at`) VALUES(1, 'IOS Developer', 'We have an opening for a passionate iOS developer who can develop and maintain applications for iOS devices. As an iOS developer you will be a part of a highly agile team tasked with developing new features. If you love to tackle new challenges, we would love to meet you!', '
Develop mobile applications (iOS: Swift)
\r\n', 'Apply', 'B.E/B.Tech/BCA/MCA/MSc IT degree in Computer Science, Engineering, or a related subject ', 'full_time', 15000 , '0-3 years', true, '', 1, '','fab fa-apple', 'ios-developer-a9b45f34-a1a5-419f-b536-b7c290925d6d', 'iOS developer jobs in surat at Canopas, Mobile developer jobs', 'Find iOS developer job in surat. If we hire you as an iOS developer, you will be responsible for designing and coding the base application, ensuring the quality, fixing bugs, maintaining the code, and implementing app updates.', 'Apply for iOS developer job in surat or mobile developer jobs in surat at canopas software', 'Apply for iOS developer job at Canopas and be part of a dynamic and versatile iOS app development team.', UTC_TIMESTAMP(), UTC_TIMESTAMP())")
+ db.MustExec("INSERT INTO jobs(`id`, `title`, `summary`, `description`, `button_name`,`qualification`, `employment_type`, `base_salary`, `experience`, `is_active`, `skills`, `total_openings`, `responsibilities`, `icon_name`, `unique_id`, `seo_title`, `seo_description`, `apply_seo_title`, `apply_seo_description`, `created_at`, `updated_at`) VALUES(1, 'IOS Developer', 'We have an opening for a passionate iOS developer who can develop and maintain applications for iOS devices. As an iOS developer you will be a part of a highly agile team tasked with developing new features. If you love to tackle new challenges, we would love to meet you!', '
Develop mobile applications (iOS: Swift)
\r\n', 'Apply', 'B.E/B.Tech/BCA/MCA/MSc IT degree in Computer Science, Engineering, or a related subject ', 'full_time', 15000 , '0-3 years', true, '', 1, '',1, 'ios-developer-a9b45f34-a1a5-419f-b536-b7c290925d6d', 'iOS developer jobs in surat at Canopas, Mobile developer jobs', 'Find iOS developer job in surat. If we hire you as an iOS developer, you will be responsible for designing and coding the base application, ensuring the quality, fixing bugs, maintaining the code, and implementing app updates.', 'Apply for iOS developer job in surat or mobile developer jobs in surat at canopas software', 'Apply for iOS developer job at Canopas and be part of a dynamic and versatile iOS app development team.', UTC_TIMESTAMP(), UTC_TIMESTAMP())")
db.MustExec("INSERT INTO job_applications(`id`, `name`, `email`, `phone`, `place`,`reference`, `resumeURL`, `position`, `message`, `status`, `created_at`, `updated_at`) VALUES(1, 'New Web Developer', 'developer@gmail.com', '1234567890', 'surat', 'From canopas', '', 'Web Developer from testing', 'I m a very good programer', '1',UTC_TIMESTAMP(), UTC_TIMESTAMP())")
db.MustExec("INSERT INTO job_applicant_statuses(`id`, `applicant_id`, `status`, `index`, `rejection_with_mail`, `created_at`, `updated_at`) VALUES(1, 1, 1, 0, 0, UTC_TIMESTAMP(), UTC_TIMESTAMP())")
+ db.MustExec("INSERT INTO `job_icons` (`id`,`name`,`value`,`createdAt`,`updatedAt`) VALUES ('1','iOS','fab fa-apple',UTC_TIMESTAMP(), UTC_TIMESTAMP())")
}
func PrepareTextFileFormData() (string, *bytes.Buffer) {