Quellcode durchsuchen

story details page added along with UI

main
kj1352 vor 1 Jahr
Ursprung
Commit
8a72e7c654
9 geänderte Dateien mit 184 neuen und 2 gelöschten Zeilen
  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 Datei anzeigen

@@ -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 Datei anzeigen

@@ -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 Datei anzeigen

@@ -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 Datei anzeigen

@@ -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 Datei anzeigen

@@ -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 Datei anzeigen

@@ -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 Datei anzeigen

@@ -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 Datei anzeigen

@@ -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 Datei anzeigen

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

}

Laden…
Abbrechen
Speichern