From 4ebb01945db1fb9196426e669c2bbd9e784b68dc Mon Sep 17 00:00:00 2001 From: Andson Santos Date: Mon, 17 Oct 2022 10:31:07 -0300 Subject: [PATCH] feat(services): services pages changes --- .../src/components/contact-modal/contactModal.components.ts | 6 +++++- .../components/services_block/services-block.component.html | 4 ++-- .../src/components/services_block/services.model.ts | 6 +++--- .../src/components/traits-cards/traits-cards.component.html | 5 +++-- .../services-page/src/pages/design/design.component.ts | 4 ++-- .../services-page/src/pages/devops/devops.component.ts | 4 ++-- .../product-owner-and-product-management.component.ts | 6 +++--- .../pages/quality-assurance/quality-assurance.component.ts | 6 +++--- .../software-engineering/software-engineering.component.ts | 6 +++--- .../support-maintenance/support-maintenance.component.ts | 6 +++--- 10 files changed, 29 insertions(+), 24 deletions(-) diff --git a/libs/common-docs/src/components/contact-modal/contactModal.components.ts b/libs/common-docs/src/components/contact-modal/contactModal.components.ts index 83d7055f6..c56aab03f 100644 --- a/libs/common-docs/src/components/contact-modal/contactModal.components.ts +++ b/libs/common-docs/src/components/contact-modal/contactModal.components.ts @@ -1,4 +1,4 @@ -import { Component, OnDestroy } from '@angular/core'; +import { Component, HostListener, OnDestroy } from '@angular/core'; import { ModalService } from '../../services/modal.service'; import { Subscription } from 'rxjs'; import { FormControl, FormGroup, Validators } from '@angular/forms'; @@ -40,6 +40,10 @@ export class ContactModalComponent implements OnDestroy { ], }; + @HostListener('document:keydown.escape', ['$event']) onKeydownHandler() { + this.closeModal(); + } + constructor( private modalService: ModalService, private sendEmailServ: SendEmailService, diff --git a/libs/common-docs/src/components/services_block/services-block.component.html b/libs/common-docs/src/components/services_block/services-block.component.html index 1ab0fc106..803c06c57 100644 --- a/libs/common-docs/src/components/services_block/services-block.component.html +++ b/libs/common-docs/src/components/services_block/services-block.component.html @@ -1,5 +1,5 @@
- +

{{serv.title}}

@@ -8,7 +8,7 @@
diff --git a/libs/common-docs/src/components/services_block/services.model.ts b/libs/common-docs/src/components/services_block/services.model.ts index ee825c5e3..e31f698bb 100644 --- a/libs/common-docs/src/components/services_block/services.model.ts +++ b/libs/common-docs/src/components/services_block/services.model.ts @@ -3,7 +3,7 @@ export const servicesList = [ title: 'Design', description: 'Designing websites and applications that look good is not enough. Let your users experience human-centric solutions with intuitive navigation, high accessibility, and a custom UI that appeals.', img: 'assets/img/bg-img/services_img/services_1.svg', - path: 'design' + path: '/services/design' }, { title: 'Software Engineering', @@ -27,12 +27,12 @@ export const servicesList = [ title: 'Support & Maintenance', description: 'With the comprehensive support in simplifying and optimizing your ecosystems, you’ll shift smoothly from reactive to preemptive engagement models to deliver superior customer experiences.', img: 'assets/img/bg-img/services_img/services_5.svg', - path: 'support-&-Maintenance' + path: '/services/support-&-Maintenance' }, { title: 'Product Ownership & Project Management', description: 'We’ll accomplish your team with the first-class product owner who will prioritize the backlog for engineers and take care of customer satisfaction by creating user stories. With the help of the project manager, we’ll keep the project requirements clear and up-to-date, so you get exactly the solution you need.', img: 'assets/img/bg-img/services_img/services_6.svg', - path: 'product-ownership-and-project-management' + path: '/services/product-ownership-and-project-management' } ]; \ No newline at end of file diff --git a/libs/route-pages/services-page/src/components/traits-cards/traits-cards.component.html b/libs/route-pages/services-page/src/components/traits-cards/traits-cards.component.html index 070755592..c0dc9872b 100644 --- a/libs/route-pages/services-page/src/components/traits-cards/traits-cards.component.html +++ b/libs/route-pages/services-page/src/components/traits-cards/traits-cards.component.html @@ -1,7 +1,8 @@ - +
+ [ngClass]="{ 'lg:flex-row lg:p-12' : !verticalCard && !smallCard, ' lg:items-start' : smallCard, 'lg:gap-8 mb-8' : verticalCard, 'md:border-2 md:border-transparent md:hover:border-pink transition-colors' : traitCard.url }">
diff --git a/libs/route-pages/services-page/src/pages/design/design.component.ts b/libs/route-pages/services-page/src/pages/design/design.component.ts index ac40959b7..c99316cd4 100644 --- a/libs/route-pages/services-page/src/pages/design/design.component.ts +++ b/libs/route-pages/services-page/src/pages/design/design.component.ts @@ -205,12 +205,12 @@ export class DesignComponent { traitsCard: ITraitsCard[] = [ { title: 'Ahead of design trends', - description: `The digital design industry is constantly evolving, and Valor’s design team monitors dynamics and keeps up to the pace. Being passionate about UX and UI, they take courses and participate in dedicated conferences. So when you partner up with Valor, you have the biggest fans of design working for your product and your audience. Visit a post-graduation case study of one of the designers to learn more.`, + description: `The digital design industry is constantly evolving, and Valor’s design team monitors dynamics and keeps up to the pace. Being passionate about UX and UI, they take courses and participate in dedicated conferences. So when you partner up with Valor, you have the biggest fans of design working for your product and your audience. Visit a post-graduation case study of one of the designers to learn more.`, img: 'assets/img/bg-img/services_img/design/traits/design_trends.png' }, { title: 'Mature delivery process', - description: `We strive to make our collaboration with the clients transparent and predictable. So we have a particular flow for every stage when we iterate with you on team syncs, give progress updates, and make demos. This way, you always know where your project is now, what's coming next, and control the result. Learn more about the process of building solutions from scratch from the Startups dedicated page.`, + description: `We strive to make our collaboration with the clients transparent and predictable. So we have a particular flow for every stage when we iterate with you on team syncs, give progress updates, and make demos. This way, you always know where your project is now, what's coming next, and control the result. Learn more about the process of building solutions from scratch from the Startups dedicated page.`, img: 'assets/img/bg-img/services_img/design/traits/delivery_process.png' }, { diff --git a/libs/route-pages/services-page/src/pages/devops/devops.component.ts b/libs/route-pages/services-page/src/pages/devops/devops.component.ts index 1ac30ac99..9694cf0ea 100644 --- a/libs/route-pages/services-page/src/pages/devops/devops.component.ts +++ b/libs/route-pages/services-page/src/pages/devops/devops.component.ts @@ -221,12 +221,12 @@ export class DevOpsComponent { }, { title: 'Strategy & Innovation', - description: `Valor’s culture of personal growth and self-improvement drives engineers to constantly sharpen their skills and master innovative tools and technologies. We’ll provide you with a forward-looking DevOps solution that will not just optimize your today's processes but will enable your consistent growth and competitive advantage.`, + description: `Valor’s culture of personal growth and self-improvement drives engineers to constantly sharpen their skills and master innovative tools and technologies. We’ll provide you with a forward-looking DevOps solution that will not just optimize your today's processes but will enable your consistent growth and competitive advantage.`, img: 'assets/img/bg-img/services_img/devops/traits/strategy_innovation.png' }, { title: 'Full-cycle Service', - description: 'We go beyond a standard set of requirements and specifications – to us partnership is about being a trusted software consultant that can address clients’ needs at every stage of their journey. So rather than implementing a particular task, we deploy, support, and maintain your project in a reliable environment powered by DevOps.', + description: 'We go beyond a standard set of requirements and specifications – to us partnership is about being a trusted software consultant that can address clients’ needs at every stage of their journey. So rather than implementing a particular task, we deploy, support, and maintain your project in a reliable environment powered by DevOps.', img: 'assets/img/bg-img/services_img/devops/traits/full_cycle.png' } ]; diff --git a/libs/route-pages/services-page/src/pages/product-owner-and-product-management/product-owner-and-product-management.component.ts b/libs/route-pages/services-page/src/pages/product-owner-and-product-management/product-owner-and-product-management.component.ts index 41cd9da33..1ea5b3d11 100644 --- a/libs/route-pages/services-page/src/pages/product-owner-and-product-management/product-owner-and-product-management.component.ts +++ b/libs/route-pages/services-page/src/pages/product-owner-and-product-management/product-owner-and-product-management.component.ts @@ -68,7 +68,7 @@ export class ProductOwnershipAndProjectManagementComponent { }, { title: 'Improved sprint velocity', - description: `PO oversees sprints, monitors the amount of value delivered, and suggests improvements to the process. On the other hand, the product owner shields the team from business influences and requirements engineering. Learn more about the benefits the PO role brings to the project from the blog.`, + description: `PO oversees sprints, monitors the amount of value delivered, and suggests improvements to the process. On the other hand, the product owner shields the team from business influences and requirements engineering. Learn more about the benefits the PO role brings to the project from the blog.`, img: 'assets/img/bg-img/services_img/product-ownership-and-project-management/po-benefits/improved_sprint.png' } ]; @@ -109,7 +109,7 @@ export class ProductOwnershipAndProjectManagementComponent { traitsCard: ITraitsCard[] = [ { title: 'Retention & stability', - description: `Valor Software not just cares about clients’ satisfaction but fosters a friendly and discussion-oriented environment for employees. This makes the company a place where experts tend to work in the long run. So, you can obtain true knowledge-keepers for your project. To learn more about the company values and employment conditions, visit the employees-focused page.`, + description: `Valor Software not just cares about clients’ satisfaction but fosters a friendly and discussion-oriented environment for employees. This makes the company a place where experts tend to work in the long run. So, you can obtain true knowledge-keepers for your project. To learn more about the company values and employment conditions, visit the employees-focused page.`, img: 'assets/img/bg-img/services_img/product-ownership-and-project-management/traits/retention_stability.png' }, { @@ -119,7 +119,7 @@ export class ProductOwnershipAndProjectManagementComponent { }, { title: 'Agility', - description: 'Valor’s clients are located globally, so we make it easy for them to communicate with the team and keep track of the project changes no matter what time zone they are in. This agility is important because it allows us to go beyond initial requirements and build products that capture the market. Learn more about the benefits of Agile for your business from the dedicated article on our blog.', + description: 'Valor’s clients are located globally, so we make it easy for them to communicate with the team and keep track of the project changes no matter what time zone they are in. This agility is important because it allows us to go beyond initial requirements and build products that capture the market. Learn more about the benefits of Agile for your business from the dedicated article on our blog.', img: 'assets/img/bg-img/services_img/product-ownership-and-project-management/traits/agility.png' } ]; diff --git a/libs/route-pages/services-page/src/pages/quality-assurance/quality-assurance.component.ts b/libs/route-pages/services-page/src/pages/quality-assurance/quality-assurance.component.ts index c2b65695d..dc0377900 100644 --- a/libs/route-pages/services-page/src/pages/quality-assurance/quality-assurance.component.ts +++ b/libs/route-pages/services-page/src/pages/quality-assurance/quality-assurance.component.ts @@ -100,17 +100,17 @@ export class QualityAssuranceComponent { traitsCards: ITraitsCard[] = [ { title: 'The culture of quality', - description: 'When it comes to the development of a software product, the faster you get feedback from users, the better you can iterate and adjust with minimum loss. We strive to embed quality control in every stage of the development cycle and reduce the loop for getting users’ feedback. In this way, you deliver more regularly and cost-effectively to a more loyal audience.', + description: 'When it comes to the development of a software product, the faster you get feedback from users, the better you can iterate and adjust with minimum loss. We strive to embed quality control in every stage of the development cycle and reduce the loop for getting users’ feedback. In this way, you deliver more regularly and cost-effectively to a more loyal audience.', img: 'assets/img/bg-img/services_img/quality-assurance/traits/quality-culture.png' }, { title: 'Innovation', - description: 'We believe that staying ahead of the curve in terms of tools and technologies is the only way to progress and build solutions that can serve clients not just today but tomorrow. We constantly monitor the latest industry trends and apply edge technologies that help optimize workflows and use automation to the fullest. Find more about automation and the cloud on the DevOps page.', + description: 'We believe that staying ahead of the curve in terms of tools and technologies is the only way to progress and build solutions that can serve clients not just today but tomorrow. We constantly monitor the latest industry trends and apply edge technologies that help optimize workflows and use automation to the fullest. Find more about automation and the cloud on the DevOps page.', img: 'assets/img/bg-img/services_img/quality-assurance/traits/innovation.png' }, { title: 'Agility', - description: 'Valor’s quality assurance experts follow the principles of Agile and have regular syncs, updates with the client, reviews, and retrospectives. Even though our QA strategy is measured, we are ready to adjust it to the fast-paced business environment and address new market requirements for your solution with prompt reprioritizing. Managers will help adapt priorities and balance the load between team members.', + description: 'Valor’s quality assurance experts follow the principles of Agile and have regular syncs, updates with the client, reviews, and retrospectives. Even though our QA strategy is measured, we are ready to adjust it to the fast-paced business environment and address new market requirements for your solution with prompt reprioritizing. Managers will help adapt priorities and balance the load between team members.', img: 'assets/img/bg-img/services_img/quality-assurance/traits/agility.png' }, diff --git a/libs/route-pages/services-page/src/pages/software-engineering/software-engineering.component.ts b/libs/route-pages/services-page/src/pages/software-engineering/software-engineering.component.ts index 19c383c1e..876f2c225 100644 --- a/libs/route-pages/services-page/src/pages/software-engineering/software-engineering.component.ts +++ b/libs/route-pages/services-page/src/pages/software-engineering/software-engineering.component.ts @@ -52,17 +52,17 @@ export class SoftwareEngineeringComponent { traitsCards: ITraitsCard[] = [ { title: 'Purpose', - description: 'We don’t just build software for the sake of building software. We want to bring ideas to life. We are passionate about the quality and human experiences of every product we interact with, and our company’s mission is to deliver solutions that help humanity in some aspect. Learn more on this topic from the page focused on projects for non-profit organizations.', + description: 'We don’t just build software for the sake of building software. We want to bring ideas to life. We are passionate about the quality and human experiences of every product we interact with, and our company’s mission is to deliver solutions that help humanity in some aspect. Learn more on this topic from the page focused on projects for non-profit organizations.', img: 'assets/img/bg-img/services_img/software_engineering/traits/purpose.png' }, { title: 'Contribution', - description: 'We know technology, and we’re believers in open-source as a movement. Our belief goes beyond a mission statement and is visible in the multitude of projects we contribute to (both our own and those created by others in the community). We are also financially giving back through our sponsorships on the open collective.', + description: 'We know technology, and we’re believers in open-source as a movement. Our belief goes beyond a mission statement and is visible in the multitude of projects we contribute to (both our own and those created by others in the community). We are also financially giving back through our sponsorships on the open collective.', img: 'assets/img/bg-img/services_img/software_engineering/traits/contribution.png' }, { title: 'Commitment', - description: 'The vast majority of our clients are referrals. We know what the partnership means, and our commitment to trust and transparency has led to our growth.', + description: 'The vast majority of our clients are referrals. We know what the partnership means, and our commitment to trust and transparency has led to our growth.', img: 'assets/img/bg-img/services_img/software_engineering/traits/commitment.png' }, diff --git a/libs/route-pages/services-page/src/pages/support-maintenance/support-maintenance.component.ts b/libs/route-pages/services-page/src/pages/support-maintenance/support-maintenance.component.ts index 2b09f461d..b369c26af 100644 --- a/libs/route-pages/services-page/src/pages/support-maintenance/support-maintenance.component.ts +++ b/libs/route-pages/services-page/src/pages/support-maintenance/support-maintenance.component.ts @@ -140,17 +140,17 @@ export class SupportMaintenanceComponent { traitsCard: ITraitsCard[] = [ { title: 'Unique open-source expertise', - description: `While most engineers perceive technologies primarily from the consumer’s perspective, Valorians get under the hood and know how the tooling is built. We’ve created many Angular community libraries, including ngx-bootstrap, with hundreds of thousands of users. This unique experience empowers us to find new non-standard ways of how technology can solve your particular business problems.`, + description: `While most engineers perceive technologies primarily from the consumer’s perspective, Valorians get under the hood and know how the tooling is built. We’ve created many Angular community libraries, including ngx-bootstrap, with hundreds of thousands of users. This unique experience empowers us to find new non-standard ways of how technology can solve your particular business problems.`, img: 'assets/img/bg-img/services_img/support-maintenance/traits/open_source.png' }, { title: 'Enterprise proficiency', - description: `A proven record of successful migrations and modernizations of legacy infrastructures makes Valor ready for this kind of challenge. We know how crucial security is for you alongside innovation, so we move step-by-step, with regular reporting and careful maintenance of project documentation. Lear more about Valor's capabilities for enterprise from the dedicated page.`, + description: `A proven record of successful migrations and modernizations of legacy infrastructures makes Valor ready for this kind of challenge. We know how crucial security is for you alongside innovation, so we move step-by-step, with regular reporting and careful maintenance of project documentation. Lear more about Valor's capabilities for enterprise from the dedicated page.`, img: 'assets/img/bg-img/services_img/support-maintenance/traits/enterprise_proficiency.png' }, { title: 'Team maturity', - description: 'The majority of Valor’s engineers have over 4 years of experience in programming and quality assurance. So you entrust the work to masters who do not require additional control and supervision. As self-development and training are part of our company’s culture, every team member has an individual growth plan despite their seniority level.', + description: 'The majority of Valor’s engineers have over 4 years of experience in programming and quality assurance. So you entrust the work to masters who do not require additional control and supervision. As self-development and training are part of our company’s culture, every team member has an individual growth plan despite their seniority level.', img: 'assets/img/bg-img/services_img/support-maintenance/traits/team_maturity.png' } ];