Parcourir la source

story details page added along with UI

main
kj1352 il y a 1 an
Parent
révision
8a72e7c654
9 fichiers modifiés avec 184 ajouts et 2 suppressions
  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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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 Voir le fichier

@@ -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()
}

}

Chargement…
Annuler
Enregistrer