Переглянути джерело

story details page added along with UI

main
kj1352 1 рік тому
джерело
коміт
8a72e7c654
9 змінених файлів з 184 додано та 2 видалено
  1. +4
    -0
      src/app/app-routing.module.ts
  2. +6
    -1
      src/app/home/home.page.html
  3. +6
    -1
      src/app/home/home.page.ts
  4. +17
    -0
      src/app/story-details/story-details-routing.module.ts
  5. +20
    -0
      src/app/story-details/story-details.module.ts
  6. +24
    -0
      src/app/story-details/story-details.page.html
  7. +72
    -0
      src/app/story-details/story-details.page.scss
  8. +17
    -0
      src/app/story-details/story-details.page.spec.ts
  9. +18
    -0
      src/app/story-details/story-details.page.ts

+ 4
- 0
src/app/app-routing.module.ts Переглянути файл

@@ -11,6 +11,10 @@ const routes: Routes = [
redirectTo: 'home',
pathMatch: 'full'
},
{
path: 'story-details',
loadChildren: () => import('./story-details/story-details.module').then( m => m.StoryDetailsPageModule)
},
];

@NgModule({


+ 6
- 1
src/app/home/home.page.html Переглянути файл

@@ -1,6 +1,6 @@
<ion-content [fullscreen]="true">
<h5> Namaskaram! </h5>
<ul class="stories">
<ul class="stories" (click)="showStoryDetails()">
<li>
<img src="assets/sample-images/golden-temple-icon.webp" alt="golden-temple-icon">
</li>
@@ -86,6 +86,11 @@
<img src="assets/sample-images/merch/incense-2.jpeg" alt="">
</figure>
</li>
<li>
<figure>
<img src="assets/sample-images/merch/kunkum.webp" alt="">
</figure>
</li>
</ul>
</section>
</ion-content>

+ 6
- 1
src/app/home/home.page.ts Переглянути файл

@@ -1,4 +1,5 @@
import { Component } from '@angular/core';
import { Router } from '@angular/router';

@Component({
selector: 'app-home',
@@ -7,6 +8,10 @@ import { Component } from '@angular/core';
})
export class HomePage {

constructor() {}
constructor(private router: Router) {}

showStoryDetails(){
this.router.navigate(['/story-details'])
}

}

+ 17
- 0
src/app/story-details/story-details-routing.module.ts Переглянути файл

@@ -0,0 +1,17 @@
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

import { StoryDetailsPage } from './story-details.page';

const routes: Routes = [
{
path: '',
component: StoryDetailsPage
}
];

@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule],
})
export class StoryDetailsPageRoutingModule {}

+ 20
- 0
src/app/story-details/story-details.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 { StoryDetailsPageRoutingModule } from './story-details-routing.module';

import { StoryDetailsPage } from './story-details.page';

@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
StoryDetailsPageRoutingModule
],
declarations: [StoryDetailsPage]
})
export class StoryDetailsPageModule {}

+ 24
- 0
src/app/story-details/story-details.page.html Переглянути файл

@@ -0,0 +1,24 @@
<ion-content [fullscreen]="true">
<button class="close-button" (click)="back()">
<ion-icon name="close"></ion-icon>
</button>
<figure>
<img src="assets/sample-images/swarnalakshmi-icon.jpeg" alt="" />
</figure>
<div class="info">
<div class="container">
<h5>Swarnalakshmi Abhishekam</h5>
<p>
Enjoy the pleasent abhishekam of Swarnalakshmi Devi Lorem, ipsum dolor
sit amet consectetur adipisicing elit. In alias vero corrupti deleniti,
blanditiis modi quisquam ut quis facere! Consequatur tempore maiores
possimus labore officia cumque. Unde harum quidem fuga.
</p>
</div>
</div>
<div class="action-items">
<button>
<ion-icon name="share-social-outline"></ion-icon>
</button>
</div>
</ion-content>

+ 72
- 0
src/app/story-details/story-details.page.scss Переглянути файл

@@ -0,0 +1,72 @@
ion-content {
--padding-top: 0rem;
--padding-start: 0rem;
--padding-end: 0rem;
--padding-bottom: 0rem;
}

$standard-vertical-spacing-between-sections: 1.5rem;


figure {
height: 60vh;
img {
width: 100%;
height: 100%;
object-fit: cover;
}
}

.info {
padding: 2rem;
background-color: var(--brand-cream-shade1);
height: 40vh;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
}

h5 {
font-weight: 700;
font-size: 2rem;
margin-bottom: $standard-vertical-spacing-between-sections;
}

p {
font-size: 1.8rem;
font-style: italic;
}

.action-items {
position: absolute;
right: 0;
bottom: 0;
width: 100%;
display: flex;
align-items: center;
justify-content: flex-start;
padding: 1rem;

button {
margin-left: auto;
background-color: transparent;

ion-icon {
font-size: 2rem;
color: var(--brand-red);
}
}
}

.close-button {
background-color: transparent;
position: absolute;
right: 0;
top: 0;
padding: 1rem;
ion-icon {
color: white;
font-size: 3rem;
}
}

+ 17
- 0
src/app/story-details/story-details.page.spec.ts Переглянути файл

@@ -0,0 +1,17 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { StoryDetailsPage } from './story-details.page';

describe('StoryDetailsPage', () => {
let component: StoryDetailsPage;
let fixture: ComponentFixture<StoryDetailsPage>;

beforeEach(async(() => {
fixture = TestBed.createComponent(StoryDetailsPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));

it('should create', () => {
expect(component).toBeTruthy();
});
});

+ 18
- 0
src/app/story-details/story-details.page.ts Переглянути файл

@@ -0,0 +1,18 @@
import { Component } from '@angular/core';
import { Location } from '@angular/common'


@Component({
selector: 'app-story-details',
templateUrl: './story-details.page.html',
styleUrls: ['./story-details.page.scss'],
})
export class StoryDetailsPage {

constructor(private location: Location) { }

back() {
this.location.back()
}

}

Завантаження…
Відмінити
Зберегти