diff --git a/REMEMBER.txt b/REMEMBER.txt index 51a3d48..d59ec2c 100644 --- a/REMEMBER.txt +++ b/REMEMBER.txt @@ -2,4 +2,6 @@ npm install @capacitor/assets --save-dev npx capacitor-assets generate -ionic generate page familylogin \ No newline at end of file +ionic generate page familylogin + +ionic generate page blogdetail \ No newline at end of file diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 9442f2c..303acd0 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -134,6 +134,10 @@ const routes: Routes = [ path: 'familylogin', loadChildren: () => import('./pages/familylogin/familylogin.module').then(m => m.FamilyloginPageModule) }, + { + path: 'blogdetail', + loadChildren: () => import('./pages/blogdetail/blogdetail.module').then(m => m.BlogdetailPageModule) + }, ]; @NgModule({ diff --git a/src/app/pages/blogdetail/blogdetail-routing.module.ts b/src/app/pages/blogdetail/blogdetail-routing.module.ts new file mode 100644 index 0000000..f53c830 --- /dev/null +++ b/src/app/pages/blogdetail/blogdetail-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { BlogdetailPage } from './blogdetail.page'; + +const routes: Routes = [ + { + path: '', + component: BlogdetailPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class BlogdetailPageRoutingModule {} diff --git a/src/app/pages/blogdetail/blogdetail.module.ts b/src/app/pages/blogdetail/blogdetail.module.ts new file mode 100644 index 0000000..2fa3c3b --- /dev/null +++ b/src/app/pages/blogdetail/blogdetail.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { BlogdetailPageRoutingModule } from './blogdetail-routing.module'; + +import { BlogdetailPage } from './blogdetail.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + BlogdetailPageRoutingModule + ], + declarations: [BlogdetailPage] +}) +export class BlogdetailPageModule {} diff --git a/src/app/pages/blogdetail/blogdetail.page.html b/src/app/pages/blogdetail/blogdetail.page.html new file mode 100644 index 0000000..2ec6800 --- /dev/null +++ b/src/app/pages/blogdetail/blogdetail.page.html @@ -0,0 +1,216 @@ + + +
+
+ +
+
+ +
+
+ {{blogData.post_title}} + +
+ +
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Mentor + +
+
+
+
+ Jonathon Williams + Senier UI/UX designer at google +
+
+ +
+ + About Course + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ Return +
+
+
diff --git a/src/app/pages/blogdetail/blogdetail.page.scss b/src/app/pages/blogdetail/blogdetail.page.scss new file mode 100644 index 0000000..1c3cf7a --- /dev/null +++ b/src/app/pages/blogdetail/blogdetail.page.scss @@ -0,0 +1,385 @@ + +ion-content { + .back_image { + width: 100%; + height: 230px; + + .back { + font-size: 25px; + color: white; + } + } + + .flex { + display: flex; + justify-content: space-between; + align-items: center; + + ion-icon { + font-size: 22px; + } + } + + .row { + display: flex; + align-items: center; + margin-top: 10px; + + .bg_text { + color: var(--ion-color-primary); + background: #dfe1f3; + font-size: 12px; + padding: 2px 5px; + border-radius: 5px; + margin-right: 10px; + } + + .rate { + display: flex; + align-items: center; + + .review { + margin-left: 5px; + } + } + } + + .color_text { + margin-top: 10px; + font-size: 22px; + font-family: 'semi-bold'; + color: var(--ion-color-primary); + } + + .items { + display: flex; + justify-content: space-between; + margin-top: 10px; + margin-bottom: 20px; + border-bottom: 1px solid lightgrey; + padding-bottom: 10px; + + .stud { + display: flex; + align-items: center; + + ion-icon { + margin-right: 5px; + } + + ion-label { + color: grey; + } + } + } + + .about { + margin-top: 10px; + + .head_text { + font-size: 18px; + font-family: 'semi-bold'; + margin-bottom: 10px; + } + + .mentor { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 20px; + + .left { + display: flex; + + .men_image { + height: 50px; + width: 50px; + border-radius: 100%; + } + + .bold { + font-family: 'semi-bold'; + } + + .grey { + color: grey; + font-size: 14px; + } + } + + ion-icon { + font-size: 25px; + } + } + + .description { + color: grey; + margin-bottom: 5px; + } + } + + .lesson { + margin-top: 20px; + + .bold { + font-family: 'semi-bold'; + } + + .color { + color: var(--ion-color-primary); + } + + .grey { + color: grey; + } + + .sec { + display: flex; + justify-content: space-between; + align-items: center; + margin-top: 10px; + } + + .video { + display: flex; + justify-content: space-between; + align-items: center; + background-color: white; + padding: 15px; + box-shadow: 0px 0px 20px 1px rgba(0, 0, 0, 0.1); + border-radius: 10px; + margin-top: 20px; + + .left { + display: flex; + } + + .men_image { + height: 40px; + width: 40px; + border-radius: 100%; + } + + .text { + margin-left: 10px; + } + + .bold_text { + font-size: 16px; + font-family: 'bold'; + } + + .grey_text { + font-size: 14px; + color: grey; + } + } + } + + .review_tab { + margin-top: 20px; + + .total { + display: flex; + align-items: center; + justify-content: space-between; + + .star-rate { + display: flex; + align-items: center; + + .bold { + font-size: 17px; + font-family: 'semi-bold'; + margin-left: 5px; + } + } + + .color { + color: var(--ion-color-primary); + font-size: 14px; + } + } + + + .story-item { + overflow: scroll; + display: flex; + flex-direction: row; + margin-top: 20px; + + .menu { + width: 100%; + display: flex; + flex-direction: row; + + .item { + padding: 5px; + margin: 5px; + display: flex; + flex-direction: column; + align-items: center; + text-align: center; + + ion-thumbnail { + border-radius: 15px; + width: max-content; + height: 60px; + width: 60px; + --border-radius: 50%; + } + + ion-label { + font-size: 14px; + font-family: "medium"; + color: var(--ion-color-medium); + } + } + + .text { + + display: flex; + align-items: center; + text-align: center; + + .select { + display: flex; + align-items: center; + border: 1px solid var(--ion-color-primary); + border-radius: 20px; + padding: 2px 15px; + margin-right: 10px; + + .rate_num { + margin-left: 5px; + color: var(--ion-color-primary); + } + } + + .show { + background-color: var(--ion-color-primary); + } + + .white { + color: white !important; + } + + .choice { + display: flex; + } + } + } + } + + .reviw_list { + margin-top: 25px; + + .profile { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 10px; + + .left { + display: flex; + align-items: center; + + .men_image { + height: 40px; + width: 40px; + border-radius: 100%; + } + + + .bold { + font-family: 'semi-bold'; + } + + .grey { + color: grey; + font-size: 14px; + } + } + + .right { + display: flex; + align-items: center; + + .select { + display: flex; + align-items: center; + border: 1px solid var(--ion-color-primary); + border-radius: 20px; + padding: 2px 15px; + margin-right: 10px; + + .rate_num { + margin-left: 5px; + color: var(--ion-color-primary); + } + } + + ion-icon { + font-size: 20px; + } + } + } + + .like { + display: flex; + align-items: center; + margin-top: 10px; + + .heart { + font-size: 25px; + margin-right: 5px; + } + + .count { + margin-right: 10px; + } + + .time { + color: grey; + font-size: 14px; + } + } + } + } + + + + .bold_text { + font-size: 20px; + font-family: 'bold'; + } +} + + +ion-footer { + --background: white; + + ion-toolbar { + --border-width: 0px; + padding: 10px; + align-items: center; + + ion-icon { + color: white; + font-size: 25px; + } + + .button { + background-color: var(--ion-color-primary); + display: flex; + align-items: center; + justify-content: space-around; + border-radius: 30px; + padding: 12px 0; + + .text { + color: white; + } + } + } +} diff --git a/src/app/pages/blogdetail/blogdetail.page.spec.ts b/src/app/pages/blogdetail/blogdetail.page.spec.ts new file mode 100644 index 0000000..6bb66f3 --- /dev/null +++ b/src/app/pages/blogdetail/blogdetail.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { BlogdetailPage } from './blogdetail.page'; + +describe('BlogdetailPage', () => { + let component: BlogdetailPage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ BlogdetailPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(BlogdetailPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/blogdetail/blogdetail.page.ts b/src/app/pages/blogdetail/blogdetail.page.ts new file mode 100644 index 0000000..49cfaec --- /dev/null +++ b/src/app/pages/blogdetail/blogdetail.page.ts @@ -0,0 +1,44 @@ +import { Component, OnInit } from '@angular/core'; +import {NavController} from "@ionic/angular"; +import {Router} from "@angular/router"; + +@Component({ + selector: 'app-blogdetail', + templateUrl: './blogdetail.page.html', + styleUrls: ['./blogdetail.page.scss'], +}) +export class BlogdetailPage implements OnInit { + + + tabs = 'about'; + + blogData: any; + constructor( + private navctr: NavController, + private router: Router + ) { + + this.blogData = this.router.getCurrentNavigation().extras.state; +console.log("XXXXX 1", this.router.getCurrentNavigation().extras); +console.log("XXXXX 2", this.router.getCurrentNavigation().extras.state); +console.log("XXXXX 3", this.router.getCurrentNavigation().extras.state.ID); + } + + ngOnInit() { + } + + onBack() { + this.navctr.back(); + } + + onMentor() { + this.router.navigate(['mentor']); + } + + onEnroll() { + this.router.navigate(['enroll']); + } + + + +} diff --git a/src/app/pages/detail/detail.page.html b/src/app/pages/detail/detail.page.html index 9cb09fd..219b5ee 100644 --- a/src/app/pages/detail/detail.page.html +++ b/src/app/pages/detail/detail.page.html @@ -1,11 +1,4 @@ - +
diff --git a/src/app/pages/detail/detail.page.scss b/src/app/pages/detail/detail.page.scss index d542945..1c3cf7a 100644 --- a/src/app/pages/detail/detail.page.scss +++ b/src/app/pages/detail/detail.page.scss @@ -1,11 +1,4 @@ -/* - Authors : initappz (Rahul Jograna) - Website : https://initappz.com/ - App Name : E-Learning App Template - This App Template Source code is licensed as per the - terms found in the Website https://initappz.com/license - Copyright and Good Faith Purchasers © 2021-present initappz. -*/ + ion-content { .back_image { width: 100%; diff --git a/src/app/pages/detail/detail.page.ts b/src/app/pages/detail/detail.page.ts index 9bd3305..e4d5084 100644 --- a/src/app/pages/detail/detail.page.ts +++ b/src/app/pages/detail/detail.page.ts @@ -1,11 +1,3 @@ -/* - Authors : initappz (Rahul Jograna) - Website : https://initappz.com/ - App Name : E-Learning App Template - This App Template Source code is licensed as per the - terms found in the Website https://initappz.com/license - Copyright and Good Faith Purchasers © 2021-present initappz. -*/ import { Router } from '@angular/router'; import { Component, OnInit } from '@angular/core'; import { NavController } from '@ionic/angular'; diff --git a/src/app/pages/home/home.page.html b/src/app/pages/home/home.page.html index fc5295e..4b9d187 100644 --- a/src/app/pages/home/home.page.html +++ b/src/app/pages/home/home.page.html @@ -84,7 +84,7 @@ Recommended Blog See all
-
+
diff --git a/src/app/pages/home/home.page.ts b/src/app/pages/home/home.page.ts index e66897b..25e8ef8 100644 --- a/src/app/pages/home/home.page.ts +++ b/src/app/pages/home/home.page.ts @@ -83,6 +83,11 @@ export class HomePage implements OnInit { this.router.navigate([pageToNavigate]); } + blogDetails(item) { + var pageToNavigate = 'blogdetail'; + this.router.navigate([pageToNavigate],{state: item} ); + } + onNotification() { this.router.navigate(['notification']); }