-
-Follow the instructions below to be able to generate favicon.
-
-## Instructions
-
-1. Upload the **[brand-logo.png](src/assets/production/brand-logo.png)** file to **[RealFaviconGenerator v0.16](https://realfavicongenerator.net/)**
-
-2. Download the favicon package generated
-
-3. Extract the package in to the **[assets/favicons](src/assets/production/favicons)** folder
-
-## Check Favicons (Optional)
-
-4. Deploy changes to **[develop](https://github.com/furknyavuz/wecontribute-ui/tree/develop)** branch
-
-5. Check your favicon with the **[favicon checker](https://realfavicongenerator.net/favicon_checker?protocol=https&site=wecontribute-develop.herokuapp.com)**
diff --git a/README.md b/README.md
index 46a1cdfa..d13904b4 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
-Open Template Hub - Web UI Template v3
+Open Template Hub - Web UI Template v5
[](LICENSE)
@@ -13,18 +13,17 @@ Open Template Hub - Web UI Template v3
[](https://github.com/open-template-hub/web-ui-template/pulls?q=is%3Apr+is%3Aclosed)
[](https://github.com/open-template-hub/web-ui-template/commits/master)
[](https://github.com/open-template-hub/web-ui-template/releases)
-[](docs/lighthouse-report-desktop.html)
+[](docs/lighthouse)
[](https://sonarcloud.io/dashboard?id=open-template-hub_web-ui-template)
-[](https://commerce.coinbase.com/checkout/8313af5f-de48-498d-b2cb-d98819ca7d5e)
-Web UI Template is modern, responsive and customisable web ui template for your business. It contains reusable components, theme color and design support along with dark theme support. (generated from [Web UI Template](https://github.com/open-template-hub/web-ui-template))
+Web UI Template is a modern, responsive, and customizable web UI template for your business. It contains reusable components, theme color, and design support along with dark theme support.
@@ -124,7 +123,7 @@ In order to deploy and debug locally, run following configurations in order:
If you run **WebStorm**'s **[env.run.xml](.run/env.run.xml)** configuration you will see following variables generated in **.env** file. Set them appropriately.
```applescript
-PORT=4200
+PORT=4201
```
@@ -195,4 +194,4 @@ Refer to **[CODE_OF_CONDUCT.md](https://github.com/open-template-hub/.github/blo
The source code for this project is released under the [MIT License](LICENSE).
-
diff --git a/SECURITY.md b/SECURITY.md
index a09f3faa..0fff926b 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -3,5 +3,5 @@
## Supported Versions
| Version | Supported |
-| ------- | ------------------ |
+|---------|--------------------|
| > 0.1 | :white_check_mark: |
diff --git a/app.json b/app.json
new file mode 100644
index 00000000..2ef207b9
--- /dev/null
+++ b/app.json
@@ -0,0 +1,16 @@
+{
+ "name": "web-ui-template",
+ "description": "Web UI Template is a modern, responsive, and customizable web UI template for your business. It contains reusable components, theme color, and design support along with dark theme support.",
+ "website": "https://opentemplatehub.com/product/user-interface/web-ui-template",
+ "repository": "https://github.com/open-template-hub/web-ui-template",
+ "logo": "https://raw.githubusercontent.com/open-template-hub/open-template-hub.github.io/master/assets/logo/ui/web-ui-logo.png",
+ "keywords": [
+ "angular",
+ "template",
+ "ui-components",
+ "angular-components",
+ "web",
+ "web-ui",
+ "open-template-hub"
+ ]
+}
diff --git a/browserslist b/browserslist
index 80848532..f6f67be2 100644
--- a/browserslist
+++ b/browserslist
@@ -9,4 +9,6 @@
last 2 versions
Firefox ESR
not dead
-not IE 9-11 # For IE 9-11 support, remove 'not'.
\ No newline at end of file
+not ios_saf 15.2-15.3
+not safari 15.2-15.3
+not IE 9-11 # For IE 9-11 support, remove 'not'.
diff --git a/docs/FAVICON_GENERATION.md b/docs/FAVICON_GENERATION.md
index 68d39109..c14f0b00 100644
--- a/docs/FAVICON_GENERATION.md
+++ b/docs/FAVICON_GENERATION.md
@@ -6,7 +6,7 @@
-Open Template Hub - Web UI Template v3
+Open Template Hub - Web UI Template v5
(favicon generation guide)
@@ -27,4 +27,4 @@ Follow the instructions below to be able to generate favicon.
5. Check your favicon with the **[favicon checker](https://realfavicongenerator.net/favicon_checker?protocol=https&site=opentemplatehub.com)**
-
diff --git a/docs/lighthouse-report-desktop.html b/docs/lighthouse-report-desktop.html
deleted file mode 100644
index 2d317614..00000000
--- a/docs/lighthouse-report-desktop.html
+++ /dev/null
@@ -1,266 +0,0 @@
-
-
-
-
-
-
-
- Lighthouse Report
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/lighthouse-report-mobile.html b/docs/lighthouse-report-mobile.html
deleted file mode 100644
index 3b2322af..00000000
--- a/docs/lighthouse-report-mobile.html
+++ /dev/null
@@ -1,266 +0,0 @@
-
-
-
-
-
-
-
- Lighthouse Report
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/docs/lighthouse/lighthouse-report.html b/docs/lighthouse/lighthouse-report.html
new file mode 100644
index 00000000..f7185ea6
--- /dev/null
+++ b/docs/lighthouse/lighthouse-report.html
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+
+ Lighthouse Report
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js
index 3a85f4df..ee81e8a5 100644
--- a/e2e/protractor.conf.js
+++ b/e2e/protractor.conf.js
@@ -16,13 +16,11 @@ exports.config = {
browserName: "chrome"
},
directConnect: true,
- baseUrl: "http://localhost:4200/",
+ baseUrl: "http://localhost:4201/",
framework: "jasmine",
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
- print: function () {
- }
},
onPrepare() {
require( "ts-node" ).register( {
diff --git a/env.sh b/env.sh
index 56ae331c..d197a10d 100644
--- a/env.sh
+++ b/env.sh
@@ -4,7 +4,7 @@ if [ ! -f .env ]; then
echo "Generating .env file.."
touch .env
{
- echo "PORT=4200"
+ echo "PORT=4201"
} >>.env
else
echo ".env file already exists. Nothing to do..."
diff --git a/messages.xlf b/messages.xlf
index 09ec69ad..029938a2 100644
--- a/messages.xlf
+++ b/messages.xlf
@@ -5,18 +5,21 @@
Read more
- src/app/component/card/blog-holder-card/blog-holder-card.component.html
+ src/app/component/card/blog-holder-card/blog-holder-card.component.html
+ 22
- src/app/component/card/doc-holder-card/doc-holder-card.component.html
+ src/app/component/card/doc-holder-card/doc-holder-card.component.html
+ 22Learn more
- src/app/component/card/presentation-card/presentation-card.component.html
+ src/app/component/card/presentation-card/presentation-card.component.html
+ 18
@@ -35,42 +38,42 @@
- About
+ Aboutsrc/app/component/nav/footer/footer.component.html30,32
- Customers
+ Customerssrc/app/component/nav/footer/footer.component.html33,35
- Partners
+ Partnerssrc/app/component/nav/footer/footer.component.html36,38
- Branding
+ Brandingsrc/app/component/nav/footer/footer.component.html39,41
- Jobs
+ Jobssrc/app/component/nav/footer/footer.component.html45,47
- Blog
+ Blogsrc/app/component/nav/footer/footer.component.html49,51
@@ -84,28 +87,28 @@
- Open Source
+ Open Sourcesrc/app/component/nav/footer/footer.component.html59,61
- Docs
+ Docssrc/app/component/nav/footer/footer.component.html63,65
- API
+ APIsrc/app/component/nav/footer/footer.component.html66,68
- Status
+ Statussrc/app/component/nav/footer/footer.component.html69,71
@@ -119,42 +122,42 @@
- Support
+ Supportsrc/app/component/nav/footer/footer.component.html75,77
- Contact
+ Contactsrc/app/component/nav/footer/footer.component.html78,80
- Terms & Conditions
+ Terms & Conditionssrc/app/component/nav/footer/footer.component.html81,83
- Privacy
+ Privacysrc/app/component/nav/footer/footer.component.html84,86
- Cookies
+ Cookiessrc/app/component/nav/footer/footer.component.html87,89
- Sitemap
+ Sitemapsrc/app/component/nav/footer/footer.component.html90,92
@@ -163,33 +166,44 @@
Products
- src/app/component/nav/landing/landing-layout-top-nav/landing-layout-top-nav.component.html
+
+ src/app/component/nav/landing/landing-layout-top-nav/landing-layout-top-nav.component.html
+ 16Services
- src/app/component/nav/landing/landing-layout-top-nav/landing-layout-top-nav.component.html
+
+ src/app/component/nav/landing/landing-layout-top-nav/landing-layout-top-nav.component.html
+ 25About
- src/app/component/nav/landing/landing-layout-top-nav/landing-layout-top-nav.component.html
+
+ src/app/component/nav/landing/landing-layout-top-nav/landing-layout-top-nav.component.html
+ 33Contact Us
- src/app/component/nav/landing/landing-layout-top-nav/landing-layout-top-nav.component.html
+
+ src/app/component/nav/landing/landing-layout-top-nav/landing-layout-top-nav.component.html
+ 40
- By continuing to use this site you agree to our Cookie Policy.
+ By continuing to use this site you agree to our
+ Cookie Policy.
+ src/app/component/popup/cookie-popup/cookie-popup.component.html2,4
@@ -219,47 +233,61 @@
Some of the preconfigured systems:
- src/app/component/product-represantation/product-presentation.component.html
+
+ src/app/component/product-represantation/product-presentation.component.html
+ 43*configuration still requires some level of developer experience
- src/app/component/product-represantation/product-presentation.component.html
+
+ src/app/component/product-represantation/product-presentation.component.html
+ 49,50Integrate your servers with social login providers in minutes.
- src/app/component/product-represantation/product-presentation.component.ts
+
+ src/app/component/product-represantation/product-presentation.component.ts
+ 66Integrate your servers with payment solution providers in minutes.
- src/app/component/product-represantation/product-presentation.component.ts
+
+ src/app/component/product-represantation/product-presentation.component.ts
+ 70Integrate your servers with file storage solution providers in minutes.
- src/app/component/product-represantation/product-presentation.component.ts
+
+ src/app/component/product-represantation/product-presentation.component.ts
+ 74Integrate your servers with email service providers in minutes.
- src/app/component/product-represantation/product-presentation.component.ts
+
+ src/app/component/product-represantation/product-presentation.component.ts
+ 78
- Open Source first organization that helps you to minimize the effort while building a new software business with our server and UI templates
+ Open Source first organization that helps you to minimize the effort while building a new software
+ business with our server and UI templates
+ src/app/data/brand/brand.data.ts3
@@ -1733,14 +1761,21 @@
- Furkan is an experienced full-stack developer who has worked on various projects, including online payment solutions and fraud detection areas, in a well-known airline company. He's co-founded a startup to discover talents from the open-source community. After one year, Furkan successfully exited from his startup and then co-founded Open Template Hub.
+ Furkan is an experienced full-stack developer who has worked on various projects, including online
+ payment solutions and fraud detection areas, in a well-known airline company. He's co-founded a startup
+ to discover talents from the open-source community. After one year, Furkan successfully exited from his
+ startup and then co-founded Open Template Hub.
+ src/app/data/employee/employee.data.ts8
- Fatih is a young professional with wide-ranging experience in software design and technology. He worked several years on Finance and Telecom business areas. He is now a Founder and CEO at Remoklify. He also co-founded Open Template Hub.
+ Fatih is a young professional with wide-ranging experience in software design and technology. He worked
+ several years on Finance and Telecom business areas. He is now a Founder and CEO at Remoklify. He also
+ co-founded Open Template Hub.
+ src/app/data/employee/employee.data.ts23
@@ -1754,7 +1789,10 @@
- Mert is a new grad software engineer who has been experienced various technologies in his bachelor years. He worked on e-commercial and banking areas. Now, he is a full-stack developer at Open Template Hub and also working on native iOS applications.
+ Mert is a new grad software engineer who has been experienced various technologies in his bachelor
+ years. He worked on e-commercial and banking areas. Now, he is a full-stack developer at Open Template Hub and
+ also working on native iOS applications.
+ src/app/data/employee/employee.data.ts38
@@ -1768,7 +1806,9 @@
- Would you like to join our team? Please feel free to reach us from info@opentemplatehub.com or from jobs page.
+ Would you like to join our team? Please feel free to reach us from info@opentemplatehub.com or from jobs
+ page.
+ src/app/data/employee/employee.data.ts53
@@ -1782,7 +1822,12 @@
- Do not lost on functional dependencies, you can only focus on your business. All other layers like authentication, payment, mail, storage, analytics are covered by us with extremely lightweight and configurable microservices. Always be safe with encrypted service communications. Order your out-of-transaction requests with message queues. Do not spend your resources on performance enhancements, enjoy fastest service response times.
+ Do not lost on functional dependencies, you can only focus on your business. All other layers like
+ authentication, payment, mail, storage, analytics are covered by us with extremely lightweight and
+ configurable microservices. Always be safe with encrypted service communications. Order your
+ out-of-transaction requests with message queues. Do not spend your resources on performance enhancements,
+ enjoy fastest service response times.
+ src/app/data/feature/feature.data.ts6
@@ -1796,7 +1841,10 @@
- Store your data efficiently and do not waste your time on your data architecture and performance analysis. Open Template Hub provides you efficient storage, orients and keeps your data in NOSQL and RDBMS, handles connection pools and management.
+ Store your data efficiently and do not waste your time on your data architecture and performance
+ analysis. Open Template Hub provides you efficient storage, orients and keeps your data in NOSQL and RDBMS,
+ handles connection pools and management.
+ src/app/data/feature/feature.data.ts11
@@ -1810,14 +1858,18 @@
- Shout your business out to the world using responsive user interfaces with handy and highly customizable components.
+ Shout your business out to the world using responsive user interfaces with handy and highly customizable
+ components.
+ src/app/data/feature/feature.data.ts16
- : Minimizes your effort while building a new software business with our open source GitHub micro server templates and responsive web UI + mobile UI templates
+ : Minimizes your effort while building a new software business with our open source GitHub micro server
+ templates and responsive web UI + mobile UI templates
+ src/app/data/navigation/navigation.data.ts9
@@ -2193,7 +2245,9 @@
- No need to pay a price to get started. Get the latest updates from community driven open source project.
+ No need to pay a price to get started. Get the latest updates from community driven open source
+ project.
+ src/app/data/product/product.data.ts12
@@ -2372,42 +2426,56 @@
- Auth Server Template is a generic open source authentication server that has simple yet powerful design to connect your business with all OAuth 2.0 and OAuth supporting third party companies (like Google, Facebook, Twitter or LinkedIn). It also supports basic username password authentication system.
+ Auth Server Template is a generic open source authentication server that has simple yet powerful design
+ to connect your business with all OAuth 2.0 and OAuth supporting third party companies (like Google, Facebook,
+ Twitter or LinkedIn). It also supports basic username password authentication system.
+ src/app/data/product/product.data.ts111
- Payment Server Template is a generic open source payment server that has simple yet powerful design to connect your business with third party payment solution provider companies (like Stripe or Coinbase).
+ Payment Server Template is a generic open source payment server that has simple yet powerful design to
+ connect your business with third party payment solution provider companies (like Stripe or Coinbase).
+ src/app/data/product/product.data.ts130
- File Storage Server Template is a generic open source file storage server that has simple yet powerful design to connect your business with third party file storage provider companies (like AWS S3).
+ File Storage Server Template is a generic open source file storage server that has simple yet powerful
+ design to connect your business with third party file storage provider companies (like AWS S3).
+ src/app/data/product/product.data.ts150
- Mail Server Template is a generic open source mail server that has simple yet powerful design to connect your business with third party email service providers (like Gmail, Yahoo or Outlook).
+ Mail Server Template is a generic open source mail server that has simple yet powerful design to connect
+ your business with third party email service providers (like Gmail, Yahoo or Outlook).
+ src/app/data/product/product.data.ts170
- Analytics Server Template is a generic open source analytics server that has simple yet powerful design to connect your business with third party analytics service providers (like Google Analytics or Matomo).
+ Analytics Server Template is a generic open source analytics server that has simple yet powerful design
+ to connect your business with third party analytics service providers (like Google Analytics or Matomo).
+ src/app/data/product/product.data.ts188
- Business Logic Server Template is a generic open source server that encodes the real-world business rules that determine how data can be created, stored, and changed. It saves you from rewriting boilerplate code. It works best with other Open Template Hub products.
+ Business Logic Server Template is a generic open source server that encodes the real-world business
+ rules that determine how data can be created, stored, and changed. It saves you from rewriting boilerplate
+ code. It works best with other Open Template Hub products.
+ src/app/data/product/product.data.ts207
@@ -2428,7 +2496,9 @@
- Company Profile UI Template is modern, responsive and customisable company profile ui template for your business. It contains reusable components, theme color and design support along with dark theme support.
+ Company Profile UI Template is modern, responsive and customisable company profile ui template for your
+ business. It contains reusable components, theme color and design support along with dark theme support.
+ src/app/data/product/product.data.ts241
@@ -2497,7 +2567,9 @@
- Web UI Template is modern, responsive and customisable web ui template for your business. It contains reusable components, theme color and design support along with dark theme support.
+ Web UI Template is modern, responsive and customisable web ui template for your business. It contains
+ reusable components, theme color and design support along with dark theme support.
+ src/app/data/product/product.data.ts286
@@ -2511,7 +2583,9 @@
- Mobile UI Template is modern, responsive and customisable mobile ui template for your business. It contains reusable components, theme color and design support along with dark theme support.
+ Mobile UI Template is modern, responsive and customisable mobile ui template for your business. It
+ contains reusable components, theme color and design support along with dark theme support.
+ src/app/data/product/product.data.ts331
@@ -2574,7 +2648,10 @@
- Orchestration Server Template is a middleware server that has simple yet powerful design to connect your business with all Open Template Hub servers (like Auth Server, Payment Server, File Storage Server or Mail Server). It also has generic design to integrate any other servers.
+ Orchestration Server Template is a middleware server that has simple yet powerful design to connect your
+ business with all Open Template Hub servers (like Auth Server, Payment Server, File Storage Server or Mail
+ Server). It also has generic design to integrate any other servers.
+ src/app/data/product/product.data.ts489
@@ -2665,7 +2742,10 @@
- We perform world-class custom software development services from startups to enterprise businesses. Our highly experienced software developers have a deep understanding of how to leverage top programming languages, frameworks, and other software development tools to create the ideal solution for your business.
+ We perform world-class custom software development services from startups to enterprise businesses. Our
+ highly experienced software developers have a deep understanding of how to leverage top programming languages,
+ frameworks, and other software development tools to create the ideal solution for your business.
+ src/app/data/product/product.data.ts570
@@ -2686,7 +2766,9 @@
- We rely on our industry-specific technology experience to deliver highly scalable, flexible, and interoperable web, mobile, desktop, and hybrid applications.
+ We rely on our industry-specific technology experience to deliver highly scalable, flexible, and
+ interoperable web, mobile, desktop, and hybrid applications.
+ src/app/data/product/product.data.ts578
@@ -2700,7 +2782,9 @@
- Our app maintenance & modernization services are designed to ensure the scalability, performance, and sustainability of your entire software infrastructure.
+ Our app maintenance & modernization services are designed to ensure the scalability, performance,
+ and sustainability of your entire software infrastructure.
+ src/app/data/product/product.data.ts582
@@ -2714,14 +2798,20 @@
- We devise an in-depth, comprehensive software implementation & deployment plan, assessing your needs to deliver enhanced technologies to end-users.
+ We devise an in-depth, comprehensive software implementation & deployment plan, assessing your needs
+ to deliver enhanced technologies to end-users.
+ src/app/data/product/product.data.ts586
- When a company adopts a new technology or business process, they face many challenges between their current applications and systems and the complicated software implementation process. Our industry-specific software engineers handle all of your challenging integration & implementation obstacles, including architectural design, testing, debugging, and execution.
+ When a company adopts a new technology or business process, they face many challenges between their
+ current applications and systems and the complicated software implementation process. Our industry-specific
+ software engineers handle all of your challenging integration & implementation obstacles, including
+ architectural design, testing, debugging, and execution.
+ src/app/data/product/product.data.ts595
@@ -2742,7 +2832,9 @@
- We perform data integration services, including merging data, consolidating business processes, and creating Database Management Systems to ensure complete data integrity during the transfer process.
+ We perform data integration services, including merging data, consolidating business processes, and
+ creating Database Management Systems to ensure complete data integrity during the transfer process.
+ src/app/data/product/product.data.ts603
@@ -2756,7 +2848,10 @@
- We provide integrating custom-built and third-party APIs service. We, integrate, and customize add web service functionality to mobile and web applications, and seamlessly synchronize data formats across these applications.
+ We provide integrating custom-built and third-party APIs service. We, integrate, and customize add web
+ service functionality to mobile and web applications, and seamlessly synchronize data formats across these
+ applications.
+ src/app/data/product/product.data.ts607
@@ -2770,14 +2865,20 @@
- We provide Enterprise Application Integration solutions, facilitating seamless communications between business platforms. We are providing integrations for content management, accounting, customer relationship management, analytics, and marketing.
+ We provide Enterprise Application Integration solutions, facilitating seamless communications between
+ business platforms. We are providing integrations for content management, accounting, customer relationship
+ management, analytics, and marketing.
+ src/app/data/product/product.data.ts611
- We deliver full-cycle QA automated software testing for web, mobile, and desktop applications to enable improved test coverage, enhance product quality, optimize testing activities, boost productivity, and decrease overall testing times.
+ We deliver full-cycle QA automated software testing for web, mobile, and desktop applications to enable
+ improved test coverage, enhance product quality, optimize testing activities, boost productivity, and decrease
+ overall testing times.
+ src/app/data/product/product.data.ts620
@@ -2798,7 +2899,10 @@
- We deliver full-cycle QA automated software testing for web, mobile, and desktop applications to enable improved test coverage, enhance product quality, optimize testing activities, boost productivity, and decrease overall testing times.
+ We deliver full-cycle QA automated software testing for web, mobile, and desktop applications to enable
+ improved test coverage, enhance product quality, optimize testing activities, boost productivity, and decrease
+ overall testing times.
+ src/app/data/product/product.data.ts628
@@ -2812,7 +2916,10 @@
- Our dedicated QA team will test your mobile, web, or desktop application manually to identify & fix bugs, detect & eradicate errors, and confirm its compliance with regulatory standards, providing you with the highest quality result possible.
+ Our dedicated QA team will test your mobile, web, or desktop application manually to identify & fix
+ bugs, detect & eradicate errors, and confirm its compliance with regulatory standards, providing you with
+ the highest quality result possible.
+ src/app/data/product/product.data.ts632
@@ -2826,7 +2933,10 @@
- We design QA usability testing platforms that incorporate specific usability testing tools and UX research methods selected based on the client, focused on measuring how user-friendly and flexible your application or website is.
+ We design QA usability testing platforms that incorporate specific usability testing tools and UX
+ research methods selected based on the client, focused on measuring how user-friendly and flexible your
+ application or website is.
+ src/app/data/product/product.data.ts636
@@ -2868,49 +2978,68 @@
- I can say, without a doubt, that Open Template Hub's products scale quickly and provide the best performance in the market. The best part is that we don't have to worry about any licensing fees at all... I highly recommend this affordable and reliable products!
+ I can say, without a doubt, that Open Template Hub's products scale quickly and provide the best
+ performance in the market. The best part is that we don't have to worry about any licensing fees at
+ all... I highly recommend this affordable and reliable products!
+ src/app/data/testimonial/testimonial.data.ts8
- Working with the team at Open Template Hub has been a very satisfying experience. The team was communicative and supportive throughout the project, which made for a pleasant working environment. They were able to complete my project in an expert and timely manner.
+ Working with the team at Open Template Hub has been a very satisfying experience. The team was
+ communicative and supportive throughout the project, which made for a pleasant working environment. They were
+ able to complete my project in an expert and timely manner.
+ src/app/data/testimonial/testimonial.data.ts21
- I've been researching for days about microserver templates and didn't really find much. But then I found Open Template Hub... This is an excellent way to save money and time for startups or small companies who don't have the means to pay hefty prices for licenses. Thank you so much.
+ I've been researching for days about microserver templates and didn't really find much. But
+ then I found Open Template Hub... This is an excellent way to save money and time for startups or small
+ companies who don't have the means to pay hefty prices for licenses. Thank you so much.
+ src/app/data/testimonial/testimonial.data.ts34
- As a startup, time is of the essence for us. That's why Open Template Hub has been so helpful for us. It has saved us hours of time when it comes to creating the perfect website for our company.
+ As a startup, time is of the essence for us. That's why Open Template Hub has been so helpful for
+ us. It has saved us hours of time when it comes to creating the perfect website for our company.
+ src/app/data/testimonial/testimonial.data.ts47
- Open Template Hub's Orchestration Server was easy to set up and integrate with our existing servers. I liked how the system automatically synced over all of the latest updates, it made managing our company's server so much easier. The customer service is also top-notch!
+ Open Template Hub's Orchestration Server was easy to set up and integrate with our existing
+ servers. I liked how the system automatically synced over all of the latest updates, it made managing our
+ company's server so much easier. The customer service is also top-notch!
+ src/app/data/testimonial/testimonial.data.ts60
- I'm a big fan of Open Template Hub. The process was really easy, the team is efficient, and the payment service is really accurate. I would recommend this to any business owner.
+ I'm a big fan of Open Template Hub. The process was really easy, the team is efficient, and the
+ payment service is really accurate. I would recommend this to any business owner.
+ src/app/data/testimonial/testimonial.data.ts73
- Would you like to tell us how was your Open Template Hub experience or are you planning to use our products but need some professional help? Please feel free to reach us from info@opentemplatehub.com or from contact us page.
+ Would you like to tell us how was your Open Template Hub experience or are you planning to use our
+ products but need some professional help? Please feel free to reach us from info@opentemplatehub.com or from
+ contact us page.
+ src/app/data/testimonial/testimonial.data.ts86
@@ -2926,463 +3055,668 @@
Team Behind the Open Template Hub
- src/app/page/landing-layout/about-us-page/about-us-page.component.ts
+ src/app/page/landing-layout/about-us-page/about-us-page.component.ts
+ 19Follow us on social media
- src/app/page/landing-layout/about-us-page/about-us-page.component.ts
+ src/app/page/landing-layout/about-us-page/about-us-page.component.ts
+ 22
- Minimizes your effort while building a new software business with our open source GitHub micro server templates and responsive web UI + mobile UI templates
+ Minimizes your effort while building a new software business with our open source GitHub micro server
+ templates and responsive web UI + mobile UI templates
+
- src/app/page/landing-layout/about-us-page/about-us-page.component.ts
+ src/app/page/landing-layout/about-us-page/about-us-page.component.ts
+ 23History of the Open Template Hub
- src/app/page/landing-layout/about-us-page/about-us-page.component.ts
+ src/app/page/landing-layout/about-us-page/about-us-page.component.ts
+ 26
- Minimizes your effort while building a new software business with our open source GitHub micro server templates and responsive web UI + mobile UI templates
+ Minimizes your effort while building a new software business with our open source GitHub micro server
+ templates and responsive web UI + mobile UI templates
+
- src/app/page/landing-layout/about-us-page/about-us-page.component.ts
+ src/app/page/landing-layout/about-us-page/about-us-page.component.ts
+ 27
- All of Open Template Hub’s brand features including Open Template Hub, OTH and the Open Template Hub logo are protected by applicable trademark, copyright and other intellectual property laws. Any use of a Open Template Hub trademark is subject to the Open Template Hub Trademark Standards for Use. Basic usage guidelines can be found below. If you have any questions or want to request approval to use these assets, please do not hesitate to contact us or email info@opentemplatehub.com Basic Usage Guidelines: - Do not rotate the Open Template Hub logo. - Do not change the color of the Open Template Hub logo. - Do not distort the Open Template Hub logo (be sure to scale proportionately). - Allow an appropriate amount of white space around the Open Template Hub logo, at least as much as the x-height of the logo (suggested). - Preferred minimum size for the Open Template Hub logo is 100px wide. For smaller sizes, you must seek permission from the Open Template Hub team.
-
- src/app/page/landing-layout/branding-page/branding-page.component.html
+
+
+ All of Open Template Hub’s brand features includingOpen Template Hub,OTH
+
+ and theOpen Template Hub
+
+ logo are protected by applicable trademark, copyright and other intellectual property laws. Any use of aOpen Template Hub trademark
+
+ is subject to theOpen Template Hub
+ Trademark Standards
+
+ for Use.
+
+
+ Basic usage guidelines can be found below. If you have any questions or want to request approval to use these
+ assets, please do not hesitate to contact us or emailinfo@opentemplatehub.com
+
+
+
+
+
+ Basic Usage Guidelines:
+
+
+
+ - Do not rotate theOpen Template Hub
+
+ logo.
+
+
+ - Do not change the color of theOpen
+ Template Hub
+
+ logo.
+
+
+ - Do not distort theOpen Template Hub
+
+ logo (be sure to scale proportionately).
+
+
+ - Allow an appropriate amount of white space around theOpen Template Hublogo, at least as much as the x-height
+ of the logo (suggested).
+
+
+ - Preferred minimum size for theOpen
+ Template Hub
+
+ logo is 100px wide. For smaller sizes, you must seek permission from the Open Template Hub team.
+
+
+
+ src/app/page/landing-layout/branding-page/branding-page.component.html
+ 8,46Thank you for reaching us. Our team will contact with you soon.
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 8First Name
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 20Last Name
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 30Email
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 41Phone Number
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 51Website
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 61
- Select range of employees
+ Select range of employees
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 65,67Company Size
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 72Select a country
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 76Country
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 81Tell us more about your project, needs, and timeline....
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 90Your Message
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 93CONTACT US
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 96General Communication
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 115
- For general queries, including partnership opportunities, please email
-
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ For general queries, including partnership opportunities, please email
+
+
+
+
+
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 116,119Technical or account support
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 126
- We're here to help! If you have technical issues, contact support
-
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ We're here to help! If you have technical issues,
+
+ contact support
+
+
+
+
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.html
+ 127,130Contact Us
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.ts
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.ts
+ 30Please provide a first name
- src/app/page/landing-layout/contact-us-page/contact-us-page.component.ts
+ src/app/page/landing-layout/contact-us-page/contact-us-page.component.ts
+ 68Customer Testimonials
- src/app/page/landing-layout/customers-page/customers-page.component.ts
+ src/app/page/landing-layout/customers-page/customers-page.component.ts
+ 15What our customers are saying...
- src/app/page/landing-layout/customers-page/customers-page.component.ts
+ src/app/page/landing-layout/customers-page/customers-page.component.ts
+ 16Username...
- src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.html
+
+ src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.html
+ 12SEND
- src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.html
+
+ src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.html
+ 17'Reset email sent!'
- src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.html
+
+ src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.html
+ 23'Please check you inbox'
- src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.html
+
+ src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.html
+ 24LOG IN
- src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.html
+
+ src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.html
+ 27Forget password
- src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.ts
+
+ src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.ts
+ 25Please provide a valid username.
- src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.ts
+
+ src/app/page/landing-layout/form-pages/forget-password-page/forget-password-page.component.ts
+ 62or
- src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+
+ src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+ 15Username or Email...
- src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+
+ src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+ 20Password...
- src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+
+ src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+ 24Remember Me
- src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+
+ src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+ 31LOG IN
- src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+
+ src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+ 36Don't have an account?
- src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+
+ src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+ 38
- Sign Up
+ Sign Up
- src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+
+ src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+ 39,41
- Forget password?
+ Forget password?
- src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+
+ src/app/page/landing-layout/form-pages/login-page/login-page.component.html
+ 44,46Welcome
- src/app/page/landing-layout/form-pages/login-page/login-page.component.ts
+ src/app/page/landing-layout/form-pages/login-page/login-page.component.ts
+ 35Please provide a valid username
- src/app/page/landing-layout/form-pages/login-page/login-page.component.ts
+ src/app/page/landing-layout/form-pages/login-page/login-page.component.ts
+ 78Please provide a valid password
- src/app/page/landing-layout/form-pages/login-page/login-page.component.ts
+ src/app/page/landing-layout/form-pages/login-page/login-page.component.ts
+ 79Password...
- src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.html
+
+ src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.html
+ 12Confirm Password...
- src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.html
+
+ src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.html
+ 16DONE
- src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.html
+
+ src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.html
+ 21Please proceed with login
- src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.html
+
+ src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.html
+ 26'LOG IN'
- src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.html
+
+ src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.html
+ 29Reset password
- src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.ts
+
+ src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.ts
+ 27Please provide a valid password (min length 6)
- src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.ts
+
+ src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.ts
+ 71Please provide the same value for confirm password
- src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.ts
+
+ src/app/page/landing-layout/form-pages/reset-password-page/reset-password-page.component.ts
+ 72or
- src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+
+ src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+ 15Username...
- src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+
+ src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+ 21Email...
- src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+
+ src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+ 25Password...
- src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+
+ src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+ 29Confirm Password...
- src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+
+ src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+ 33CONTINUE
- src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+
+ src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+ 38
- By signing up, you agree Terms of Use, Privacy Policy and Cookie Policy
-
- src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+ By signing up, you agree
+ Terms of Use,
+ Privacy Policy
+
+ and
+ Cookie Policy
+
+
+
+
+ src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+ 40,46
- Already have an account? Login
-
- src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+ Already have an account?
+
+ Login
+
+
+
+
+ src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.html
+ 50,54Register
- src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.ts
+
+ src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.ts
+ 32Please provide a valid username
- src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.ts
+
+ src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.ts
+ 75Please provide a valid email address
- src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.ts
+
+ src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.ts
+ 76Please provide a valid password (min length 6)
- src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.ts
+
+ src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.ts
+ 77Please provide the same value for confirm password
- src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.ts
+
+ src/app/page/landing-layout/form-pages/sign-up-page/sign-up-page.component.ts
+ 78
@@ -3414,7 +3748,8 @@
49
- src/app/page/landing-layout/product-page/product-page.component.html
+ src/app/page/landing-layout/product-page/product-page.component.html
+ 111
@@ -3440,7 +3775,9 @@
- Thousands of companies in over 50 countries use Open Template Hub to start, run, and scale their businesses.
+ Thousands of companies in over 50 countries use Open Template Hub to start, run, and scale their
+ businesses.
+ src/app/page/landing-layout/home-page/home-page.component.ts54
@@ -3481,7 +3818,8 @@
155
- src/app/page/landing-layout/product-page/product-page.component.ts
+ src/app/page/landing-layout/product-page/product-page.component.ts
+ 141
@@ -3492,343 +3830,407 @@
155
- src/app/page/landing-layout/product-page/product-page.component.ts
+ src/app/page/landing-layout/product-page/product-page.component.ts
+ 141Business Partners
- src/app/page/landing-layout/partners-page/partners-page.component.ts
+ src/app/page/landing-layout/partners-page/partners-page.component.ts
+ 17Create and run your online business with Open Template Hub and our partners.
- src/app/page/landing-layout/partners-page/partners-page.component.ts
+ src/app/page/landing-layout/partners-page/partners-page.component.ts
+ 18
- Pricing Plan
+ Pricing Plan
- src/app/page/landing-layout/pricing-page/pricing-page.component.ts
+ src/app/page/landing-layout/pricing-page/pricing-page.component.ts
+ 57No hidden fees. Cancel at any time.
- src/app/page/landing-layout/pricing-page/pricing-page.component.ts
+ src/app/page/landing-layout/pricing-page/pricing-page.component.ts
+ 58Open Source
- src/app/page/landing-layout/product-page/product-page.component.html
+ src/app/page/landing-layout/product-page/product-page.component.html
+ 23Professional Help
- src/app/page/landing-layout/product-page/product-page.component.html
+ src/app/page/landing-layout/product-page/product-page.component.html
+ 30Download Package
- src/app/page/landing-layout/product-page/product-page.component.html
+ src/app/page/landing-layout/product-page/product-page.component.html
+ 37Activity history
- src/app/page/landing-layout/product-page/product-page.component.html
+ src/app/page/landing-layout/product-page/product-page.component.html
+ 148Customer testimonials
- src/app/page/landing-layout/product-page/product-page.component.ts
+ src/app/page/landing-layout/product-page/product-page.component.ts
+ 33What our customers are saying...
- src/app/page/landing-layout/product-page/product-page.component.ts
+ src/app/page/landing-layout/product-page/product-page.component.ts
+ 34Related Products
- src/app/page/landing-layout/product-page/product-page.component.ts
+ src/app/page/landing-layout/product-page/product-page.component.ts
+ 38Package Installation & Usage
- src/app/page/landing-layout/product-page/product-page.component.ts
+ src/app/page/landing-layout/product-page/product-page.component.ts
+ 42Contact Us
- src/app/page/landing-layout/product-page/product-page.component.ts
+ src/app/page/landing-layout/product-page/product-page.component.ts
+ 136Request for Demo
- src/app/page/landing-layout/product-page/product-page.component.ts
+ src/app/page/landing-layout/product-page/product-page.component.ts
+ 137HOME
- src/app/page/landing-layout/raw-content-pages/maintenance-page/maintenance-page.component.html
+
+ src/app/page/landing-layout/raw-content-pages/maintenance-page/maintenance-page.component.html
+ 10Under maintenance
- src/app/page/landing-layout/raw-content-pages/maintenance-page/maintenance-page.component.ts
+
+ src/app/page/landing-layout/raw-content-pages/maintenance-page/maintenance-page.component.ts
+ 19Please check again later
- src/app/page/landing-layout/raw-content-pages/maintenance-page/maintenance-page.component.ts
+
+ src/app/page/landing-layout/raw-content-pages/maintenance-page/maintenance-page.component.ts
+ 20HOME
- src/app/page/landing-layout/raw-content-pages/not-found-page/not-found-page.component.html
+
+ src/app/page/landing-layout/raw-content-pages/not-found-page/not-found-page.component.html
+ 10404 Page not found
- src/app/page/landing-layout/raw-content-pages/not-found-page/not-found-page.component.ts
+
+ src/app/page/landing-layout/raw-content-pages/not-found-page/not-found-page.component.ts
+ 19Something went wrong!
- src/app/page/landing-layout/raw-content-pages/not-found-page/not-found-page.component.ts
+
+ src/app/page/landing-layout/raw-content-pages/not-found-page/not-found-page.component.ts
+ 20Registration successful 🎉
- src/app/page/landing-layout/raw-content-pages/sign-up-success-page/sign-up-success-page.component.ts
+
+ src/app/page/landing-layout/raw-content-pages/sign-up-success-page/sign-up-success-page.component.ts
+ 27
- Verification email sent to:
+ Verification email sent to:
- src/app/page/landing-layout/raw-content-pages/sign-up-success-page/sign-up-success-page.component.ts
+
+ src/app/page/landing-layout/raw-content-pages/sign-up-success-page/sign-up-success-page.component.ts
+ 28HOME
- src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.html
+
+ src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.html
+ 16LOG IN
- src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.html
+
+ src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.html
+ 23Verifying account...
- src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.ts
+
+ src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.ts
+ 28Account verification failed
- src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.ts
+
+ src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.ts
+ 31Something went wrong!
- src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.ts
+
+ src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.ts
+ 32Account verified 🎉
- src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.ts
+
+ src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.ts
+ 35Please proceed with login
- src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.ts
+
+ src/app/page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component.ts
+ 36Products
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 8Company
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 39About
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 41Customers
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 42Enterprise
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 43Partners
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 44Branding
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 45Jobs
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 46Blog
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 47Developers
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 53Docs
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 55API
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 56Status
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 57Resources
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 61Support
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 63Contact
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 64Terms & Conditions
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 65Privacy
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 66Cookies
- src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ src/app/page/landing-layout/sitemap-page/sitemap-page.component.html
+ 67
@@ -3842,84 +4244,107 @@
Dark/Light Mode
- src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+
+ src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+ 7Light theme
- src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+
+ src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+ 12Dark theme
- src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+
+ src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+ 14Auto
- src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+
+ src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+ 16Color
- src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+
+ src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+ 20Design
- src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+
+ src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+ 30Default
- src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+
+ src/app/page/settings-layout/edit-theme-page/edit-theme-page.component.html
+ 40Payment succeeded
- src/app/page/splash-layout/callback-page/callback-page.component.ts
+ src/app/page/splash-layout/callback-page/callback-page.component.ts
+ 56Home
- src/app/page/splash-layout/external-redirect-page/external-redirect-page.component.html
+
+ src/app/page/splash-layout/external-redirect-page/external-redirect-page.component.html
+ 24Proceed
- src/app/page/splash-layout/external-redirect-page/external-redirect-page.component.html
+
+ src/app/page/splash-layout/external-redirect-page/external-redirect-page.component.html
+ 25
- Will be redirected to:
+ Will be redirected to:
- src/app/page/splash-layout/external-redirect-page/external-redirect-page.component.ts
+
+ src/app/page/splash-layout/external-redirect-page/external-redirect-page.component.ts
+ 66
- Looks like the link is broken:
+ Looks like the link is broken:
- src/app/page/splash-layout/external-redirect-page/external-redirect-page.component.ts
+
+ src/app/page/splash-layout/external-redirect-page/external-redirect-page.component.ts
+ 67
diff --git a/package.json b/package.json
index b0af98b9..f681bfd3 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "web-ui-template",
- "description": "Web UI Template is modern, responsive and customisable web ui template for your business. It contains reusable components, theme color and design support along with dark theme support.",
- "version": "3.1.1",
+ "description": "Web UI Template is a modern, responsive, and customizable web UI template for your business. It contains reusable components, theme color, and design support along with dark theme support.",
+ "version": "5.0.1",
"license": "MIT",
"scripts": {
"buildLocal": "ng build --configuration=local --localize",
@@ -13,11 +13,11 @@
"lint": "ng lint",
"sitemap": "node src/sitemap-generator.ts > seo/sitemap.xml",
"ng": "ng",
- "startLocal": "node src/version-generator.ts > ./src/environments/version.ts && ng serve --configuration=local",
- "startLocalFromIPhone": "node src/version-generator.ts > ./src/environments/version.ts && ng serve --configuration=local --host 0.0.0.0 --disable-host-check true",
- "startLocalToStagingApi": "node src/version-generator.ts > ./src/environments/version.ts && ng serve --configuration=local-to-staging-api",
- "startLocalFromIPhoneToStagingApi": "node src/version-generator.ts > ./src/environments/version.ts && ng serve --configuration=local-to-staging-api --host 0.0.0.0 --disable-host-check true",
- "startStaging": "node src/version-generator.ts > ./src/environments/version.ts && node server.js --configuration=staging",
+ "startLocal": "ng serve --configuration=local --port 4201",
+ "startLocalFromIPhone": "ng serve --configuration=local --port 4201 --host 0.0.0.0 --disable-host-check true",
+ "startLocalToStagingApi": "ng serve --configuration=local-to-staging-api --port 4201",
+ "startLocalFromIPhoneToStagingApi": "ng serve --configuration=local-to-staging-api --port 4201 --host 0.0.0.0 --disable-host-check true",
+ "startStaging": "node server.js --configuration=staging",
"start": "node server.js --configuration=production",
"outdated": "node src/dependency-checker.ts > docs/OUTDATED.md",
"test": "ng test",
@@ -26,69 +26,67 @@
"serve:local:fr": "ng serve -c=fr"
},
"dependencies": {
- "@angular/animations": "^12.2.5",
- "@angular/cdk": "^12.2.5",
- "@angular/common": "^12.2.5",
- "@angular/compiler": "^12.2.5",
- "@angular/core": "^12.2.5",
- "@angular/forms": "^12.2.5",
- "@angular/platform-browser": "^12.2.5",
- "@angular/platform-browser-dynamic": "^12.2.5",
- "@angular/router": "^12.2.5",
- "@angular/service-worker": "^12.2.5",
- "@fortawesome/fontawesome-free": "^5.15.3",
- "@fullcalendar/angular": "^5.8.0",
- "@fullcalendar/daygrid": "^5.8.0",
- "@fullcalendar/interaction": "^5.8.0",
- "@ng-toolkit/universal": "^8.1.0",
- "@stripe/stripe-js": "^1.15.1",
- "@swimlane/ngx-charts": "^19.0.1",
- "@types/simple-icons": "^5.0.0",
- "angular-google-tag-manager": "^1.4.2",
- "angular-in-memory-web-api": "^0.11.0",
+ "@angular/animations": "^15.1.0",
+ "@angular/cdk": "^15.1.0",
+ "@angular/common": "^15.1.0",
+ "@angular/compiler": "^15.1.0",
+ "@angular/core": "^15.1.0",
+ "@angular/forms": "^15.1.0",
+ "@angular/platform-browser": "^15.1.0",
+ "@angular/platform-browser-dynamic": "^15.1.0",
+ "@angular/router": "^15.1.0",
+ "@angular/service-worker": "^15.1.0",
+ "@fortawesome/fontawesome-free": "^6.2.1",
+ "@open-template-hub/animated-code-editor": "^5.0.1",
+ "@open-template-hub/button": "^5.0.1",
+ "@open-template-hub/card": "^5.0.1",
+ "@open-template-hub/countdown": "^5.0.1",
+ "@open-template-hub/hero": "^5.0.1",
+ "@open-template-hub/led": "^5.0.1",
+ "@stripe/stripe-js": "^1.46.0",
"compression": "^1.7.4",
- "countup.js": "^2.0.7",
- "dotenv": "^10.0.0",
- "express": "^4.17.1",
- "graphql": "^15.5.3",
- "graphql-tag": "^2.12.5",
- "helmet": "^4.6.0",
- "ics": "^2.29.0",
- "jsdom": "^17.0.0",
- "ng2-date-picker": "^12.0.3",
- "ng2-tooltip-directive": "^2.10.1",
- "ngx-image-cropper": "^4.0.1",
- "ngx-markdown": "^12.0.1",
- "ngx-toastr": "^14.1.3",
+ "countup.js": "^2.3.2",
+ "dotenv": "^16.0.3",
+ "express": "^4.18.2",
+ "graphql": "^16.6.0",
+ "graphql-tag": "^2.12.6",
+ "helmet": "^6.0.1",
+ "ics": "^2.41.0",
+ "jsdom": "^21.0.0",
+ "mixpanel-browser": "^2.45.0",
+ "ngx-image-cropper": "^6.3.2",
+ "ngx-markdown": "^15.1.0",
+ "ngx-toastr": "^16.0.2",
"path": "^0.12.7",
- "rxjs": "^7.3.0",
- "simple-icons": "^5.13.0",
- "swiper": "^7.0.4",
- "tslib": "^2.3.0",
+ "rxjs": "^7.8.0",
+ "simple-icons": "^8.2.0",
+ "socket.io-client": "^4.5.4",
+ "swiper": "^8.4.5",
+ "tslib": "^2.4.1",
"xmlserializer": "^0.6.1",
- "zone.js": "^0.11.4"
+ "zone.js": "~0.12.0"
},
"devDependencies": {
- "@angular-devkit/build-angular": "^12.2.5",
- "@angular/cli": "^12.2.5",
- "@angular/compiler-cli": "^12.2.5",
- "@angular/language-service": "^12.2.5",
- "@angular/localize": "^12.2.5",
- "@types/jasmine": "^3.9.0",
- "@types/jasminewd2": "^2.0.9",
- "@types/node": "^16.9.0",
+ "@angular-devkit/build-angular": "^15.1.1",
+ "@angular/cli": "^15.1.1",
+ "@angular/compiler-cli": "^15.1.0",
+ "@angular/language-service": "^15.1.0",
+ "@angular/localize": "^15.1.0",
+ "@types/jasmine": "^4.3.1",
+ "@types/jasminewd2": "^2.0.10",
+ "@types/node": "^18.11.18",
"codelyzer": "^6.0.2",
- "jasmine-core": "^3.9.0",
+ "jasmine-core": "^4.5.0",
"jasmine-spec-reporter": "^7.0.0",
- "karma": "^6.3.4",
- "karma-chrome-launcher": "^3.1.0",
- "karma-coverage-istanbul-reporter": "^3.0.2",
- "karma-jasmine": "^4.0.0",
- "karma-jasmine-html-reporter": "^1.6.0",
+ "karma": "^6.4.1",
+ "karma-chrome-launcher": "^3.1.1",
+ "karma-coverage-istanbul-reporter": "^3.0.3",
+ "karma-jasmine": "^5.1.0",
+ "karma-jasmine-html-reporter": "^2.0.0",
"protractor": "^7.0.0",
- "ts-node": "^10.2.1",
- "tslint": "^6.1.0",
- "typescript": "~4.3.5"
+ "ts-node": "^10.9.1",
+ "tslint": "^6.1.3",
+ "typescript": "^4.9.4"
},
"git repository": "https://github.com/open-template-hub/web-ui-template",
"repository": {
diff --git a/seo/sitemap.xml b/seo/sitemap.xml
index 6735363c..d82df97b 100644
--- a/seo/sitemap.xml
+++ b/seo/sitemap.xml
@@ -1 +1,123 @@
-https://opentemplatehub.com2021-10-22https://opentemplatehub.com/about2021-10-22https://opentemplatehub.com/contact-us2021-10-22https://opentemplatehub.com/branding2021-10-22https://opentemplatehub.com/blog2021-10-22https://opentemplatehub.com/docs2021-10-22https://opentemplatehub.com/partners2021-10-22https://opentemplatehub.com/customers2021-10-22https://opentemplatehub.com/terms2021-10-22https://opentemplatehub.com/sitemap2021-10-22https://opentemplatehub.com/product2021-10-22https://opentemplatehub.com/product/servers2021-10-22https://opentemplatehub.com/product/servers/auth-server-template2021-10-22https://opentemplatehub.com/product/servers/payment-server-template2021-10-22https://opentemplatehub.com/product/servers/file-storage-server-template2021-10-22https://opentemplatehub.com/product/servers/analytics-server-template2021-10-22https://opentemplatehub.com/product/servers/business-logic-server-template2021-10-22https://opentemplatehub.com/product/user-interface2021-10-22https://opentemplatehub.com/product/user-interface/company-profile-ui-template2021-10-22https://opentemplatehub.com/product/user-interface/web-ui-template2021-10-22https://opentemplatehub.com/product/user-interface/mobile-ui-template2021-10-22https://opentemplatehub.com/product/generator2021-10-22https://opentemplatehub.com/product/generator/server-generator2021-10-22https://opentemplatehub.com/product/generator/app-generator2021-10-22https://opentemplatehub.com/product/premium2021-10-22https://opentemplatehub.com/product/premium/orchestration-server2021-10-22https://opentemplatehub.com/product/services2021-10-22https://opentemplatehub.com/product/services/software-consultancy2021-10-22https://opentemplatehub.com/product/services/software-integration2021-10-22https://opentemplatehub.com/product/services/quality-assurance2021-10-22
+
+
+
+ https://opentemplatehub.com
+ 2021-10-22
+
+
+ https://opentemplatehub.com/about
+ 2021-10-22
+
+
+ https://opentemplatehub.com/contact-us
+ 2021-10-22
+
+
+ https://opentemplatehub.com/branding
+ 2021-10-22
+
+
+ https://opentemplatehub.com/blog
+ 2021-10-22
+
+
+ https://opentemplatehub.com/docs
+ 2021-10-22
+
+
+ https://opentemplatehub.com/partners
+ 2021-10-22
+
+
+ https://opentemplatehub.com/customers
+ 2021-10-22
+
+
+ https://opentemplatehub.com/terms
+ 2021-10-22
+
+
+ https://opentemplatehub.com/sitemap
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/servers
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/servers/auth-server-template
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/servers/payment-server-template
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/servers/file-storage-server-template
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/servers/analytics-server-template
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/servers/business-logic-server-template
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/user-interface
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/user-interface/company-profile-ui-template
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/user-interface/web-ui-template
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/user-interface/mobile-ui-template
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/generator
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/generator/server-generator
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/generator/app-generator
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/premium
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/premium/orchestration-server
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/services
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/services/software-consultancy
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/services/software-integration
+ 2021-10-22
+
+
+ https://opentemplatehub.com/product/services/quality-assurance
+ 2021-10-22
+
+
diff --git a/server.js b/server.js
index 4033a556..7d7e1056 100644
--- a/server.js
+++ b/server.js
@@ -18,16 +18,8 @@ app.disable( "x-powered-by" );
// directory that we will serve
app.use( express.static( __dirname + "/dist/web-ui-template" ) );
-app.get( "*", function ( req, res, next ) {
-
- if ( "https" !== req.headers[ "x-forwarded-proto" ] && "production" === process.env.NODE_ENV ) {
- res.redirect( "https://" + req.hostname + req.url );
- } else {
- // Continue to other routes if we're not redirecting
- next();
- }
-
-} );
+// If not using Cloudflare Flexible SSL configuration redirect all requests to https
+// https://support.cloudflare.com/hc/en-us/articles/115000219871-Troubleshooting-redirect-loop-errors-
// redirect all requests to index.html
app.get( "/*", function ( req, res ) {
@@ -41,7 +33,7 @@ app.get( "/*", function ( req, res ) {
} );
// listen port
-const port = process.env.PORT || 4200;
+const port = process.env.PORT || 4201;
app.listen( port, () => {
console.info( "UI Server is running on port: ", port );
} );
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index e43ea2a0..7df40be9 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -3,45 +3,67 @@ import { RouterModule, Routes } from '@angular/router';
import { environmentCommon } from '../environments/environment-common';
import { NAVIGATIONS } from './data/navigation/navigation.data';
import { AuthGuard } from './guard/auth/auth.guard';
-import { PublicProfileGuard } from './guard/public-profile/public-profile.guard';
import { NavigationInterceptor } from './interceptor/navigation/navigation.interceptor';
-import { CreateEventPageComponent } from './page/dashboard-layout/create-event-page/create-event-page.component';
import { DashboardLayoutComponent } from './page/dashboard-layout/dashboard-layout.component';
import { DashboardPageComponent } from './page/dashboard-layout/dashboard-page/dashboard-page.component';
-import { EventPageComponent } from './page/dashboard-layout/event-page/event-page.component';
-import { LearnPageComponent } from './page/dashboard-layout/learn-page/learn-page.component';
import { MyProfilePageComponent } from './page/dashboard-layout/my-profile-page/my-profile-page.component';
-import { PublicProfilePageComponent } from './page/dashboard-layout/public-profile-page/public-profile-page.component';
+import { NotificationsPageComponent } from './page/dashboard-layout/notifications-page/notifications-page.component';
+import { PremiumPageComponent } from './page/dashboard-layout/premium-page/premium-page.component';
import { AboutUsPageComponent } from './page/landing-layout/about-us-page/about-us-page.component';
-import { BlogContentPageComponent } from './page/landing-layout/blog-page/blog-content-page/blog-content-page.component';
+import {
+ BlogContentPageComponent
+} from './page/landing-layout/blog-page/blog-content-page/blog-content-page.component';
import { BlogPageComponent } from './page/landing-layout/blog-page/blog-page.component';
import { BrandingPageComponent } from './page/landing-layout/branding-page/branding-page.component';
import { ContactUsPageComponent } from './page/landing-layout/contact-us-page/contact-us-page.component';
import { CustomersPageComponent } from './page/landing-layout/customers-page/customers-page.component';
-import { DocsContentPageComponent } from './page/landing-layout/docs-page/docs-content-page/docs-content-page.component';
+import {
+ DocsContentPageComponent
+} from './page/landing-layout/docs-page/docs-content-page/docs-content-page.component';
import { DocsPageComponent } from './page/landing-layout/docs-page/docs-page.component';
-import { ForgetPasswordPageComponent } from './page/landing-layout/form-pages/forget-password-page/forget-password-page.component';
+import {
+ ForgetPasswordPageComponent
+} from './page/landing-layout/form-pages/forget-password-page/forget-password-page.component';
import { LoginPageComponent } from './page/landing-layout/form-pages/login-page/login-page.component';
-import { ResetPasswordPageComponent } from './page/landing-layout/form-pages/reset-password-page/reset-password-page.component';
+import {
+ ResetPasswordPageComponent
+} from './page/landing-layout/form-pages/reset-password-page/reset-password-page.component';
import { SignUpPageComponent } from './page/landing-layout/form-pages/sign-up-page/sign-up-page.component';
+import {
+ TwoFactorAuthenticationPageComponent
+} from './page/landing-layout/form-pages/two-factor-authentication-page/two-factor-authentication-page.component';
import { HomePageComponent } from './page/landing-layout/home-page/home-page.component';
import { LandingLayoutComponent } from './page/landing-layout/landing-layout.component';
import { PartnersPageComponent } from './page/landing-layout/partners-page/partners-page.component';
-import { CookiePolicyPageComponent } from './page/landing-layout/policy-pages/cookie-policy-page/cookie-policy-page.component';
-import { PrivacyPolicyPageComponent } from './page/landing-layout/policy-pages/privacy-policy-page/privacy-policy-page.component';
+import {
+ CookiePolicyPageComponent
+} from './page/landing-layout/policy-pages/cookie-policy-page/cookie-policy-page.component';
+import {
+ PrivacyPolicyPageComponent
+} from './page/landing-layout/policy-pages/privacy-policy-page/privacy-policy-page.component';
import { TermsPageComponent } from './page/landing-layout/policy-pages/terms-page/terms-page.component';
import { PricingPageComponent } from './page/landing-layout/pricing-page/pricing-page.component';
import { ProductPageComponent } from './page/landing-layout/product-page/product-page.component';
-import { MaintenancePageComponent } from './page/landing-layout/raw-content-pages/maintenance-page/maintenance-page.component';
+import {
+ MaintenancePageComponent
+} from './page/landing-layout/raw-content-pages/maintenance-page/maintenance-page.component';
import { NotFoundPageComponent } from './page/landing-layout/raw-content-pages/not-found-page/not-found-page.component';
-import { SignUpSuccessPageComponent } from './page/landing-layout/raw-content-pages/sign-up-success-page/sign-up-success-page.component';
-import { VerifyAccountPageComponent } from './page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component';
+import {
+ SignUpSuccessPageComponent
+} from './page/landing-layout/raw-content-pages/sign-up-success-page/sign-up-success-page.component';
+import {
+ VerifyAccountPageComponent
+} from './page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component';
import { SitemapPageComponent } from './page/landing-layout/sitemap-page/sitemap-page.component';
import { StatusPageComponent } from './page/landing-layout/status-page/status-page.component';
+import { EditProfilePageComponent } from './page/settings-layout/edit-profile-page/edit-profile-page.component';
+import { EditSecurityComponent } from './page/settings-layout/edit-security/edit-security.component';
import { EditThemePageComponent } from './page/settings-layout/edit-theme-page/edit-theme-page.component';
import { SettingsLayoutComponent } from './page/settings-layout/settings-layout.component';
import { CallbackPageComponent } from './page/splash-layout/callback-page/callback-page.component';
-import { ExternalRedirectPageComponent } from './page/splash-layout/external-redirect-page/external-redirect-page.component';
+import {
+ ExternalRedirectPageComponent
+} from './page/splash-layout/external-redirect-page/external-redirect-page.component';
import { SplashLayoutComponent } from './page/splash-layout/splash-layout.component';
const routes: Routes = [
@@ -104,6 +126,11 @@ const routes: Routes = [
component: LoginPageComponent,
canActivate: [ NavigationInterceptor ],
},
+ {
+ path: NAVIGATIONS.twoFactorVerification.url,
+ component: TwoFactorAuthenticationPageComponent,
+ canActivate: [ NavigationInterceptor ]
+ },
{
path: NAVIGATIONS.branding.url,
component: BrandingPageComponent,
@@ -154,12 +181,6 @@ const routes: Routes = [
component: SitemapPageComponent,
canActivate: [ NavigationInterceptor ],
},
- {
- path: NAVIGATIONS.u.url + '/' + ':username',
- component: PublicProfilePageComponent,
- data: { isPublic: true },
- canActivate: [ NavigationInterceptor ],
- },
{
path: NAVIGATIONS.pricing.url + '/' + ':productLine' + '/' + ':product',
component: PricingPageComponent,
@@ -242,42 +263,21 @@ const routes: Routes = [
path: NAVIGATIONS.dashboard.url,
component: DashboardLayoutComponent,
children: [
- { path: '', component: DashboardPageComponent, canActivate: [ AuthGuard ] },
+ { path: '', component: DashboardPageComponent, canActivate: [ AuthGuard, NavigationInterceptor ] },
{
path: NAVIGATIONS.myProfile.url,
component: MyProfilePageComponent,
- canActivate: [ AuthGuard ],
- },
- {
- path: NAVIGATIONS.createEvent.url,
- component: CreateEventPageComponent,
- canActivate: [ AuthGuard ],
- },
- {
- path: NAVIGATIONS.learn.url,
- component: LearnPageComponent,
- canActivate: [ AuthGuard ],
- },
- {
- path: NAVIGATIONS.event.url,
- component: EventPageComponent,
- canActivate: [ AuthGuard ],
+ canActivate: [ AuthGuard, NavigationInterceptor ],
},
{
- path: NAVIGATIONS.privacy.url,
- component: MaintenancePageComponent,
- canActivate: [ AuthGuard ],
+ path: NAVIGATIONS.premium.url,
+ component: PremiumPageComponent,
+ canActivate: [ AuthGuard, NavigationInterceptor ],
},
- ],
- },
- {
- path: NAVIGATIONS.user.url,
- component: DashboardLayoutComponent,
- children: [
{
- path: ':username',
- component: PublicProfilePageComponent,
- canActivate: [ PublicProfileGuard ],
+ path: NAVIGATIONS.notifications.url,
+ component: NotificationsPageComponent,
+ canActivate: [ AuthGuard, NavigationInterceptor ],
},
],
},
@@ -288,11 +288,21 @@ const routes: Routes = [
{
path: NAVIGATIONS.editTheme.url,
component: EditThemePageComponent,
- canActivate: [ AuthGuard ]
+ canActivate: [ AuthGuard, NavigationInterceptor ]
},
+ {
+ path: NAVIGATIONS.editProfile.url,
+ component: EditProfilePageComponent,
+ canActivate: [ AuthGuard, NavigationInterceptor ]
+ },
+ {
+ path: NAVIGATIONS.editSecurity.url,
+ component: EditSecurityComponent,
+ canActivate: [ AuthGuard, NavigationInterceptor ]
+ }
],
},
- // otherwise redirect to error
+ // otherwise, redirect to error
{ path: '**', redirectTo: NAVIGATIONS.notFound.url },
];
diff --git a/src/app/oth/oth.component.html b/src/app/app.component.html
similarity index 87%
rename from src/app/oth/oth.component.html
rename to src/app/app.component.html
index cc05ddd0..962c8ceb 100644
--- a/src/app/oth/oth.component.html
+++ b/src/app/app.component.html
@@ -1,5 +1,5 @@
+ id="app-component">
diff --git a/src/app/component/button/brand-button/brand-button.component.scss b/src/app/app.component.scss
similarity index 100%
rename from src/app/component/button/brand-button/brand-button.component.scss
rename to src/app/app.component.scss
diff --git a/src/app/oth/oth.component.spec.ts b/src/app/app.component.spec.ts
similarity index 78%
rename from src/app/oth/oth.component.spec.ts
rename to src/app/app.component.spec.ts
index 5ebc86f8..91f85f55 100644
--- a/src/app/oth/oth.component.spec.ts
+++ b/src/app/app.component.spec.ts
@@ -1,6 +1,6 @@
import { async, TestBed } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
-import { OthComponent } from './oth.component';
+import { AppComponent } from './app.component';
describe( 'OthComponent', () => {
beforeEach( async( () => {
@@ -9,25 +9,25 @@ describe( 'OthComponent', () => {
RouterTestingModule
],
declarations: [
- OthComponent
+ AppComponent
],
} ).compileComponents();
} ) );
it( 'should create the app', () => {
- const fixture = TestBed.createComponent( OthComponent );
+ const fixture = TestBed.createComponent( AppComponent );
const app = fixture.debugElement.componentInstance;
expect( app ).toBeTruthy();
} );
it( `should have as title 'web-ui-template'`, () => {
- const fixture = TestBed.createComponent( OthComponent );
+ const fixture = TestBed.createComponent( AppComponent );
const app = fixture.debugElement.componentInstance;
expect( app.title ).toEqual( 'web-ui-template' );
} );
it( 'should render title', () => {
- const fixture = TestBed.createComponent( OthComponent );
+ const fixture = TestBed.createComponent( AppComponent );
fixture.detectChanges();
const compiled = fixture.debugElement.nativeElement;
expect( compiled.querySelector( '.content span' ).textContent ).toContain( 'web-ui-template app is running!' );
diff --git a/src/app/oth/oth.component.ts b/src/app/app.component.ts
similarity index 59%
rename from src/app/oth/oth.component.ts
rename to src/app/app.component.ts
index 2b542889..f6c00cb5 100644
--- a/src/app/oth/oth.component.ts
+++ b/src/app/app.component.ts
@@ -1,14 +1,14 @@
import { Component } from '@angular/core';
-import { NavigationEnd, Router } from '@angular/router';
-import { GoogleTagManagerService } from 'angular-google-tag-manager';
-import { ThemeService } from '../service/theme/theme.service';
+import { Router } from '@angular/router';
+import { SocketService } from './service/socket/socket.service';
+import { ThemeService } from './service/theme/theme.service';
@Component( {
selector: 'app-root',
- templateUrl: './oth.component.html',
- styleUrls: [ './oth.component.scss' ]
+ templateUrl: './app.component.html',
+ styleUrls: [ './app.component.scss' ]
} )
-export class OthComponent {
+export class AppComponent {
darkLightSetting: string;
themeColorSetting: string;
@@ -16,21 +16,9 @@ export class OthComponent {
constructor(
private themeService: ThemeService,
- private googleTagManagerService: GoogleTagManagerService,
+ private socketService: SocketService,
private router: Router ) {
- this.router.events.forEach( item => {
- if ( item instanceof NavigationEnd ) {
-
- const googleTagManagerTag = {
- event: 'page',
- pageName: item.url
- };
-
- this.googleTagManagerService.pushTag( googleTagManagerTag );
- }
- } );
-
this.themeService.darkLightSetting.subscribe( darkLightSetting => {
this.darkLightSetting = darkLightSetting;
} );
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 16cd9953..6e70892d 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -7,13 +7,12 @@ import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { ServiceWorkerModule } from '@angular/service-worker';
-import { FullCalendarModule } from '@fullcalendar/angular'; // must go before plugins
-import dayGridPlugin from '@fullcalendar/daygrid'; // a plugin!
-import interactionPlugin from '@fullcalendar/interaction';
-import { NgxChartsModule } from '@swimlane/ngx-charts';
-import { GoogleTagManagerModule } from 'angular-google-tag-manager';
-import { DpDatePickerModule } from 'ng2-date-picker';
-import { TooltipModule } from 'ng2-tooltip-directive';
+import { AnimatedCodeEditorModule } from '@open-template-hub/animated-code-editor';
+import { ButtonModule } from '@open-template-hub/button';
+import { CardModule } from '@open-template-hub/card';
+import { CountdownModule } from '@open-template-hub/countdown';
+import { HeroModule } from '@open-template-hub/hero';
+import { LedModule } from '@open-template-hub/led';
import { ImageCropperModule } from 'ngx-image-cropper';
import { MarkdownModule } from 'ngx-markdown';
import { ToastrModule } from 'ngx-toastr';
@@ -21,114 +20,139 @@ import { SwiperModule } from 'swiper/angular';
import { environment } from '../environments/environment';
import { AppRoutingModule } from './app-routing.module';
-import { AnimatedCodeEditorComponent } from './component/animated-code-editor/animated-code-editor.component';
-import { BrandButtonComponent } from './component/button/brand-button/brand-button.component';
-import { ButtonComponent } from './component/button/button.component';
-import { EventButtonComponent } from './component/button/event-button/event-button.component';
-import { InformationButtonComponent } from './component/button/information-button/information-button.component';
-import { CalendarComponent } from './component/calendar/calendar.component';
+import { AppComponent } from './app.component';
+import { ActivityCardComponent } from './component/card/activity-card/activity-card.component';
import { ActivityHistoryCardComponent } from './component/card/activity-history-card/activity-history-card.component';
-import { CardComponent } from './component/card/card.component';
+import { AnalyticsEventCardComponent } from './component/card/analytics-event-card/analytics-event-card.component';
+import { AssetCardComponent } from './component/card/asset-card/asset-card.component';
+import { BlogCardComponent } from './component/card/blog-card/blog-card.component';
+import { BlogHolderCardComponent } from './component/card/blog-holder-card/blog-holder-card.component';
+import {
+ ContactInformationCardComponent
+} from './component/card/contact-information-card/contact-information-card.component';
+import { DocCardComponent } from './component/card/doc-card/doc-card.component';
+import { DocHolderCardComponent } from './component/card/doc-holder-card/doc-holder-cardcomponent';
import { EmployeeCardComponent } from './component/card/employee-card/employee-card.component';
-import { EventCardComponent } from './component/card/event-card/event-card.component';
import { FeatureCardComponent } from './component/card/feature-card/feature-card.component';
import { PolicyCardComponent } from './component/card/policy-card/policy-card.component';
import { PresentationCardComponent } from './component/card/presentation-card/presentation-card.component';
import { PricingCardComponent } from './component/card/pricing-card/pricing-card.component';
+import { ProfileCardComponent } from './component/card/profile-card/profile-card.component';
import { StatusCardComponent } from './component/card/status-card/status-card.component';
+import { TechStackCardComponent } from './component/card/tech-stack-card/tech-stack-card.component';
import { TestimonialCardComponent } from './component/card/testimonial-card/testimonial-card.component';
+import {
+ StepTimelineCardComponent
+} from './component/card/timeline-card/step-timeline-card/step-timeline-card.component';
import { TimelineCardComponent } from './component/card/timeline-card/timeline-card.component';
import { ColorChartComponent } from './component/color-chart/color-chart.component';
-import { CommandLineComponent } from './component/command-line/command-line.component';
import { BoxContentLoaderComponent } from './component/content-loader/box-content-loader/box-content-loader.component';
import { ContentLoaderComponent } from './component/content-loader/content-loader.component';
-import { ImageContentLoaderComponent } from './component/content-loader/image-content-loader/image-content-loader.component';
-import { TextContentLoaderComponent } from './component/content-loader/text-content-loader/text-content-loader.component';
-import { CounterBordersTopSvgComponent } from './component/design/top-svg/counter-borders-top-svg/counter-borders-top-svg.component';
-import { DefaultTopSvgComponent } from './component/design/top-svg/default-top-svg/default-top-svg.component';
-import { LeafTopSvgComponent } from './component/design/top-svg/leaf-top-svg/leaf-top-svg.component';
-import { SharpTopSvgComponent } from './component/design/top-svg/sharp-top-svg/sharp-top-svg.component';
+import {
+ ImageContentLoaderComponent
+} from './component/content-loader/image-content-loader/image-content-loader.component';
+import {
+ TextContentLoaderComponent
+} from './component/content-loader/text-content-loader/text-content-loader.component';
+import { BottomSvgComponent } from './component/design/bottom-svg/bottom-svg.component';
import { TopSvgComponent } from './component/design/top-svg/top-svg.component';
-import { DropdownMenuComponent } from './component/dropdown-menu/dropdown-menu.component';
import { ExtLinkComponent } from './component/ext-link/ext-link.component';
-import { HeroComponent } from './component/hero/hero.component';
-import { EventDataComponent } from './component/label/deprecated/event-data/event-data.component';
-import { EventHamburgerMenuComponent } from './component/label/deprecated/event-hamburger-menu/event-hamburger-menu.component';
-import { LabelDataComponent } from './component/label/deprecated/label-data/label-data.component';
-import { LabelWithIconDataComponent } from './component/label/deprecated/label-with-icon-data/label-with-icon-data.component';
-import { LedComponent } from './component/led/led.component';
-import { BottomNavComponent } from './component/nav/bottom-nav/bottom-nav.component';
-import { DashboardLayoutSideNavComponent } from './component/nav/dashboard/dashboard-layout-side-nav/dashboard-layout-side-nav.component';
-import { DashboardLayoutTopNavComponent } from './component/nav/dashboard/dashboard-layout-top-nav/dashboard-layout-top-nav.component';
+import {
+ DashboardLayoutBottomNavComponent
+} from './component/nav/dashboard/dashboard-layout-bottom-nav/dashboard-layout-bottom-nav.component';
+import {
+ DashboardLayoutSideNavComponent
+} from './component/nav/dashboard/dashboard-layout-side-nav/dashboard-layout-side-nav.component';
+import {
+ DashboardLayoutTopNavComponent
+} from './component/nav/dashboard/dashboard-layout-top-nav/dashboard-layout-top-nav.component';
import { FooterComponent } from './component/nav/footer/footer.component';
-import { LandingLayoutTopNavComponent } from './component/nav/landing/landing-layout-top-nav/landing-layout-top-nav.component';
+import {
+ LandingLayoutBottomNavComponent
+} from './component/nav/landing/landing-layout-bottom-nav/landing-layout-bottom-nav.component';
+import {
+ LandingLayoutTopNavComponent
+} from './component/nav/landing/landing-layout-top-nav/landing-layout-top-nav.component';
import { CookiePopupComponent } from './component/popup/cookie-popup/cookie-popup.component';
import { PricePlanComponent } from './component/price-plan/price-plan.component';
import { ProductPresentationComponent } from './component/product-represantation/product-presentation.component';
import { RateBarComponent } from './component/rate-bar/rate-bar.component';
import { SearchComponent } from './component/search/search.component';
+import { SettingsDropdownMenuComponent } from './component/settings-dropdown-menu/settings-dropdown-menu.component';
import { SideContentComponent } from './component/side-content/side-content.component';
-import { BusinessPartnerSwiperComponent } from './component/swiper/business-partner-swiper/business-partner-swiper.component';
+import {
+ BusinessPartnerSwiperComponent
+} from './component/swiper/business-partner-swiper/business-partner-swiper.component';
import { PresentationSwiperComponent } from './component/swiper/presentation-swiper/presentation-swiper.component';
+import { ScreenshotSwiperComponent } from './component/swiper/screenshot-swiper/screenshot-swiper.component';
import { RequestInterceptor } from './interceptor/request/request.interceptor';
import { ResponseInterceptor } from './interceptor/response/response.interceptor';
-import { OthComponent } from './oth/oth.component';
-import { CreateEventPageComponent } from './page/dashboard-layout/create-event-page/create-event-page.component';
import { DashboardLayoutComponent } from './page/dashboard-layout/dashboard-layout.component';
import { DashboardPageComponent } from './page/dashboard-layout/dashboard-page/dashboard-page.component';
-import { EventPageComponent } from './page/dashboard-layout/event-page/event-page.component';
-import { LearnPageComponent } from './page/dashboard-layout/learn-page/learn-page.component';
import { MyProfilePageComponent } from './page/dashboard-layout/my-profile-page/my-profile-page.component';
-import { PublicProfilePageComponent } from './page/dashboard-layout/public-profile-page/public-profile-page.component';
+import { NotificationsPageComponent } from './page/dashboard-layout/notifications-page/notifications-page.component';
+import { PremiumPageComponent } from './page/dashboard-layout/premium-page/premium-page.component';
import { AboutUsPageComponent } from './page/landing-layout/about-us-page/about-us-page.component';
+import {
+ BlogContentPageComponent
+} from './page/landing-layout/blog-page/blog-content-page/blog-content-page.component';
+import { BlogPageComponent } from './page/landing-layout/blog-page/blog-page.component';
import { BrandingPageComponent } from './page/landing-layout/branding-page/branding-page.component';
import { ContactUsPageComponent } from './page/landing-layout/contact-us-page/contact-us-page.component';
-import { ForgetPasswordPageComponent } from './page/landing-layout/form-pages/forget-password-page/forget-password-page.component';
+import { CustomersPageComponent } from './page/landing-layout/customers-page/customers-page.component';
+import {
+ DocsContentPageComponent
+} from './page/landing-layout/docs-page/docs-content-page/docs-content-page.component';
+import { DocsPageComponent } from './page/landing-layout/docs-page/docs-page.component';
+import {
+ ForgetPasswordPageComponent
+} from './page/landing-layout/form-pages/forget-password-page/forget-password-page.component';
import { LoginPageComponent } from './page/landing-layout/form-pages/login-page/login-page.component';
-import { ResetPasswordPageComponent } from './page/landing-layout/form-pages/reset-password-page/reset-password-page.component';
+import {
+ ResetPasswordPageComponent
+} from './page/landing-layout/form-pages/reset-password-page/reset-password-page.component';
import { SignUpPageComponent } from './page/landing-layout/form-pages/sign-up-page/sign-up-page.component';
+import {
+ TwoFactorAuthenticationPageComponent
+} from './page/landing-layout/form-pages/two-factor-authentication-page/two-factor-authentication-page.component';
import { HomePageComponent } from './page/landing-layout/home-page/home-page.component';
import { LandingLayoutComponent } from './page/landing-layout/landing-layout.component';
-import { CookiePolicyPageComponent } from './page/landing-layout/policy-pages/cookie-policy-page/cookie-policy-page.component';
-import { PrivacyPolicyPageComponent } from './page/landing-layout/policy-pages/privacy-policy-page/privacy-policy-page.component';
+import { PartnersPageComponent } from './page/landing-layout/partners-page/partners-page.component';
+import {
+ CookiePolicyPageComponent
+} from './page/landing-layout/policy-pages/cookie-policy-page/cookie-policy-page.component';
+import {
+ PrivacyPolicyPageComponent
+} from './page/landing-layout/policy-pages/privacy-policy-page/privacy-policy-page.component';
import { TermsPageComponent } from './page/landing-layout/policy-pages/terms-page/terms-page.component';
import { PricingPageComponent } from './page/landing-layout/pricing-page/pricing-page.component';
import { ProductPageComponent } from './page/landing-layout/product-page/product-page.component';
-import { MaintenancePageComponent } from './page/landing-layout/raw-content-pages/maintenance-page/maintenance-page.component';
+import {
+ MaintenancePageComponent
+} from './page/landing-layout/raw-content-pages/maintenance-page/maintenance-page.component';
import { NotFoundPageComponent } from './page/landing-layout/raw-content-pages/not-found-page/not-found-page.component';
-import { SignUpSuccessPageComponent } from './page/landing-layout/raw-content-pages/sign-up-success-page/sign-up-success-page.component';
-import { VerifyAccountPageComponent } from './page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component';
+import {
+ SignUpSuccessPageComponent
+} from './page/landing-layout/raw-content-pages/sign-up-success-page/sign-up-success-page.component';
+import {
+ VerifyAccountPageComponent
+} from './page/landing-layout/raw-content-pages/verify-account-page/verify-account-page.component';
import { SitemapPageComponent } from './page/landing-layout/sitemap-page/sitemap-page.component';
import { StatusPageComponent } from './page/landing-layout/status-page/status-page.component';
+import { EditProfilePageComponent } from './page/settings-layout/edit-profile-page/edit-profile-page.component';
+import { EditSecurityComponent } from './page/settings-layout/edit-security/edit-security.component';
import { EditThemePageComponent } from './page/settings-layout/edit-theme-page/edit-theme-page.component';
import { SettingsLayoutComponent } from './page/settings-layout/settings-layout.component';
import { CallbackPageComponent } from './page/splash-layout/callback-page/callback-page.component';
-import { ExternalRedirectPageComponent } from './page/splash-layout/external-redirect-page/external-redirect-page.component';
+import {
+ ExternalRedirectPageComponent
+} from './page/splash-layout/external-redirect-page/external-redirect-page.component';
import { SplashLayoutComponent } from './page/splash-layout/splash-layout.component';
-import { CustomersPageComponent } from './page/landing-layout/customers-page/customers-page.component';
-import { AssetCardComponent } from './component/card/asset-card/asset-card.component';
-import { BlogPageComponent } from './page/landing-layout/blog-page/blog-page.component';
-import { BlogCardComponent } from './component/card/blog-card/blog-card.component';
-import { DocsPageComponent } from './page/landing-layout/docs-page/docs-page.component';
-import { DocCardComponent } from './component/card/doc-card/doc-card.component';
-import { PartnersPageComponent } from './page/landing-layout/partners-page/partners-page.component';
-import { BlogHolderCardComponent } from './component/card/blog-holder-card/blog-holder-card.component';
-import { BlogContentPageComponent } from './page/landing-layout/blog-page/blog-content-page/blog-content-page.component';
-import { ScreenshotSwiperComponent } from './component/swiper/screenshot-swiper/screenshot-swiper.component';
-import { TechStackCardComponent } from './component/card/tech-stack-card/tech-stack-card.component';
-import { DocHolderCardComponent } from './component/card/doc-holder-card/doc-holder-cardcomponent';
-import { DocsContentPageComponent } from './page/landing-layout/docs-page/docs-content-page/docs-content-page.component';
-import { StepTimelineCardComponent } from './component/card/timeline-card/step-timeline-card/step-timeline-card.component';
-
-FullCalendarModule.registerPlugins( [
- dayGridPlugin,
- interactionPlugin
-] );
@NgModule( {
declarations: [
- OthComponent,
+ AppComponent,
HomePageComponent,
LoginPageComponent,
DashboardPageComponent,
@@ -141,36 +165,27 @@ FullCalendarModule.registerPlugins( [
ForgetPasswordPageComponent,
LandingLayoutTopNavComponent,
DashboardLayoutSideNavComponent,
- BottomNavComponent,
+ LandingLayoutBottomNavComponent,
FooterComponent,
SplashLayoutComponent,
CallbackPageComponent,
- LabelDataComponent,
DashboardLayoutTopNavComponent,
- LabelWithIconDataComponent,
NotFoundPageComponent,
- LearnPageComponent,
MaintenancePageComponent,
CookiePopupComponent,
- CreateEventPageComponent,
CookiePolicyPageComponent,
PrivacyPolicyPageComponent,
TermsPageComponent,
- PublicProfilePageComponent,
- EventDataComponent,
SettingsLayoutComponent,
SideContentComponent,
MyProfilePageComponent,
- EventPageComponent,
- EventHamburgerMenuComponent,
- CalendarComponent,
SearchComponent,
RateBarComponent,
EditThemePageComponent,
PricingPageComponent,
PricingCardComponent,
TestimonialCardComponent,
- DropdownMenuComponent,
+ SettingsDropdownMenuComponent,
EditThemePageComponent,
ColorChartComponent,
ProductPageComponent,
@@ -179,39 +194,25 @@ FullCalendarModule.registerPlugins( [
AboutUsPageComponent,
PricePlanComponent,
ContactUsPageComponent,
- AnimatedCodeEditorComponent,
- CommandLineComponent,
StatusPageComponent,
ProductPresentationComponent,
- CardComponent,
EmployeeCardComponent,
ProductPresentationComponent,
StatusCardComponent,
PolicyCardComponent,
TimelineCardComponent,
- ButtonComponent,
- BrandButtonComponent,
- InformationButtonComponent,
BrandingPageComponent,
PresentationCardComponent,
- HeroComponent,
- EventButtonComponent,
- EventCardComponent,
ActivityHistoryCardComponent,
ContentLoaderComponent,
ImageContentLoaderComponent,
TextContentLoaderComponent,
BoxContentLoaderComponent,
- LedComponent,
BusinessPartnerSwiperComponent,
PresentationSwiperComponent,
SitemapPageComponent,
FeatureCardComponent,
- SharpTopSvgComponent,
- DefaultTopSvgComponent,
- CounterBordersTopSvgComponent,
TopSvgComponent,
- LeafTopSvgComponent,
CustomersPageComponent,
AssetCardComponent,
BlogPageComponent,
@@ -226,25 +227,37 @@ FullCalendarModule.registerPlugins( [
DocHolderCardComponent,
DocsContentPageComponent,
StepTimelineCardComponent,
+ BottomSvgComponent,
+ ActivityCardComponent,
+ ProfileCardComponent,
+ EditProfilePageComponent,
+ DashboardLayoutBottomNavComponent,
+ ContactInformationCardComponent,
+ EditSecurityComponent,
+ TwoFactorAuthenticationPageComponent,
+ AnalyticsEventCardComponent,
+ PremiumPageComponent,
+ NotificationsPageComponent,
],
imports: [
BrowserModule,
AppRoutingModule,
ReactiveFormsModule,
HttpClientModule,
- NgxChartsModule,
BrowserAnimationsModule,
LayoutModule,
ImageCropperModule,
- TooltipModule,
- DpDatePickerModule,
FormsModule,
BrowserModule,
- FullCalendarModule,
SwiperModule,
+ CardModule,
+ ButtonModule,
+ AnimatedCodeEditorModule,
+ LedModule,
+ HeroModule,
+ CountdownModule,
ToastrModule.forRoot( { preventDuplicates: true } ),
- MarkdownModule.forRoot( { loader: HttpClient }),
- GoogleTagManagerModule.forRoot( { id: environment.analytics.googleAnalytics.tag } ),
+ MarkdownModule.forRoot( { loader: HttpClient } ),
ServiceWorkerModule.register( 'ngsw-worker.js', {
enabled: [ 'production', 'staging' ].includes( environment.identity ),
// Register the ServiceWorker as soon as the app is stable
@@ -258,7 +271,7 @@ FullCalendarModule.registerPlugins( [
{ provide: HTTP_INTERCEPTORS, useClass: RequestInterceptor, multi: true },
{ provide: HTTP_INTERCEPTORS, useClass: ResponseInterceptor, multi: true }
],
- bootstrap: [ OthComponent ]
+ bootstrap: [ AppComponent ]
} )
export class AppModule {
}
diff --git a/src/app/component/animated-code-editor/animated-code-editor.component.html b/src/app/component/animated-code-editor/animated-code-editor.component.html
deleted file mode 100644
index 91a133f3..00000000
--- a/src/app/component/animated-code-editor/animated-code-editor.component.html
+++ /dev/null
@@ -1,10 +0,0 @@
-