diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 6e15217..b2ea638 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -6,8 +6,7 @@ import { TabsComponent } from './tabs/tabs.component'; const routes: Routes = [ { path: '', pathMatch: 'full', redirectTo: 'welcome' }, { component: WelcomeComponent, path: 'welcome' }, - { component: TabsComponent, path: 'tabs' }, - { component: TabsComponent, path: 'tabs/:subpage' } + { component: TabsComponent, path: 'tabs' } ]; @NgModule({ diff --git a/src/app/tabs/home/home.component.html b/src/app/tabs/home/home.component.html index 5f2c53f..68540b7 100644 --- a/src/app/tabs/home/home.component.html +++ b/src/app/tabs/home/home.component.html @@ -1 +1,85 @@ -

home works!

+
+ + + + +
+ +
+
+

English Class

+

Starts in

+
00:00:59
+
+ + + + Dwayne the Rock + +
+ + diff --git a/src/app/tabs/home/home.component.scss b/src/app/tabs/home/home.component.scss index e69de29..124ac6a 100644 --- a/src/app/tabs/home/home.component.scss +++ b/src/app/tabs/home/home.component.scss @@ -0,0 +1,167 @@ +.header-bar { + display: flex; + align-items: center; + height: 60px; + position: relative; + padding: 0 5%; + + img { + width: 35px; + height: 35px; + border-radius: 50%; + overflow: hidden; + margin-right: auto; + } + + .icon { + width: 20px; + height: 20px; + fill: white; + } + + button { + margin-left: 25px; + border: 0px; + background-color: transparent; + } +} + +.video-section { + position: relative; + text-align: center; + background-color: var(--dark-grey); + height: 30vh; + width: 90%; + margin: 10px auto; + border-radius: 5px; + display: flex; + align-items: center; + justify-content: center; + color: white; + + .tutor { + position: absolute; + left: 10px; + bottom: 10px; + color: white; + + img { + width: 20px; + height: 20px; + border-radius: 50%; + margin-right: 5px; + vertical-align: middle; + overflow: hidden; + } + + span { + font-size: 12px; + } + } + + h2 { + font-size: 20px; + margin-bottom: 5px; + } + + p { + font-size: 16px; + } + + .counter { + font-size: 28px; + font-weight: 500; + letter-spacing: 1px; + } +} + + +.subject-list { + position: relative; + width: 90%; + margin: 0 auto; + list-style: none; + + header { + color: var(--black); + + h5 { + font-size: 14px; + margin-top: 30px; + font-weight: 500; + } + + &:first-child h5 { + margin-top: 20px; + } + } + + li { + background-color: white; + border-radius: 15px; + overflow: hidden; + display: flex; + align-items: center; + padding: 15px 10px; + margin-top: 15px; + box-shadow: 0px 0px 5px -2px var(--black); + justify-content: space-between; + position: relative; + } + + .schedule { + width: 80px; + padding: 0 5px; + text-align: center; + } + + .subject { + width: calc(100% - 180px); + border-left: 1px solid #cecece; + padding-left: 15px; + + p { + margin-top: 10px; + } + } + + .view-button { + height: 33px; + border-radius: 5px; + border: 0px; + background-color: var(--teal-green); + color: white; + font-size: 14px; + width: 80px; + } + + label { + font-size: 16px; + color: var(--black); + font-weight: 500; + } + + p { + font-size: 13px; + color: var(--dark-grey); + margin-top: 2px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + + img { + width: 20px; + height: 20px; + border-radius: 50%; + overflow: hidden; + object-fit: cover; + object-position: top; + vertical-align: middle; + } + + span { + vertical-align: middle; + margin-left: 3px; + } + } +} diff --git a/src/app/tabs/tabs.component.html b/src/app/tabs/tabs.component.html index 4360fbc..28dad62 100644 --- a/src/app/tabs/tabs.component.html +++ b/src/app/tabs/tabs.component.html @@ -1,20 +1,24 @@ +
+ +
+
- - - - diff --git a/src/app/tabs/tabs.component.scss b/src/app/tabs/tabs.component.scss index 4031e85..8176958 100644 --- a/src/app/tabs/tabs.component.scss +++ b/src/app/tabs/tabs.component.scss @@ -1,3 +1,22 @@ +.page { + height: 100vh; + overflow: auto; + padding-bottom: 100px; + + &::before { + content: ''; + position: absolute; + left: 0; + top: 0; + height: 30vh; + width: 100%; + background-color: var(--black); + border-bottom-left-radius: 30px; + border-bottom-right-radius: 30px; + pointer-events: none; + } +} + .tabs { display: flex; width: 100%; @@ -20,6 +39,15 @@ display: block; text-align: center; + &.active { + .icon { + fill: var(--teal-green); + } + span { + color: var(--teal-green); + } + } + &.mid-button { height: calc(90vw / 5); background-color: white; @@ -29,7 +57,7 @@ box-shadow: 0px 0px 5px var(--black); .icon { - fill: var(--teal); + fill: var(--teal-green); width: 25px; height: 25px; } diff --git a/src/app/tabs/tabs.component.ts b/src/app/tabs/tabs.component.ts index 5bc065b..92c784d 100644 --- a/src/app/tabs/tabs.component.ts +++ b/src/app/tabs/tabs.component.ts @@ -1,15 +1,16 @@ import { Component, OnInit } from '@angular/core'; @Component({ - selector: 'app-tabs', - templateUrl: './tabs.component.html', - styleUrls: ['./tabs.component.scss'] + selector: 'app-tabs', + templateUrl: './tabs.component.html', + styleUrls: ['./tabs.component.scss'] }) export class TabsComponent implements OnInit { + selectedTab: string = 'home'; - constructor() { } + constructor() { } - ngOnInit(): void { - } + ngOnInit(): void { + } } diff --git a/src/app/welcome/welcome.component.scss b/src/app/welcome/welcome.component.scss index 817bedd..7275502 100644 --- a/src/app/welcome/welcome.component.scss +++ b/src/app/welcome/welcome.component.scss @@ -114,6 +114,9 @@ font-size: 13px; color: var(--dark-grey); margin-top: 2px; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; img { width: 20px;