This commit is contained in:
Eugene Pankov 2021-09-15 20:54:44 +02:00
parent 5fccca2f00
commit 533749092a
No known key found for this signature in database
GPG Key ID: 5896FCBBDD1CF4F4
16 changed files with 98 additions and 63 deletions

View File

@ -1,5 +1,5 @@
import { NgModule } from '@angular/core'
import { NgbDropdownModule, NgbModalModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap'
import { NgbDropdownModule, NgbModalModule } from '@ng-bootstrap/ng-bootstrap'
import { BrowserModule } from '@angular/platform-browser'
import { BrowserAnimationsModule } from '@angular/platform-browser/animations'
import { CommonModule } from '@angular/common'
@ -9,20 +9,15 @@ import { HttpClientModule, HttpClientXsrfModule, HTTP_INTERCEPTORS } from '@angu
import { ClipboardModule } from '@angular/cdk/clipboard'
import { TransferHttpCacheModule } from '@nguniversal/common'
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'
import { NgxImageZoomModule } from 'ngx-image-zoom'
import { BackendXsrfInterceptor, UniversalInterceptor } from './interceptor'
import { AppComponent } from './components/app.component'
import { MainComponent } from './components/main.component'
import { ConfigModalComponent } from './components/configModal.component'
import { SettingsModalComponent } from './components/settingsModal.component'
import { HomeComponent } from './components/home.component'
import { LoginComponent } from './components/login.component'
import { ConnectionListComponent } from './components/connectionList.component'
import { UpgradeModalComponent } from './components/upgradeModal.component'
import { HomeIndexComponent } from './components/homeIndex.component'
import { DemoTerminalComponent } from './components/demoTerminal.component'
import { HomeFeaturesComponent } from './components/homeFeatures.component'
import { InstanceInfoResolver } from './api'
import '@fortawesome/fontawesome-svg-core/styles.css'
@ -30,20 +25,7 @@ import '@fortawesome/fontawesome-svg-core/styles.css'
const ROUTES = [
{
path: '',
component: HomeComponent,
resolve: {
instanceInfo: InstanceInfoResolver,
},
children: [
{
path: '',
component: HomeIndexComponent,
},
{
path: 'features',
component: HomeFeaturesComponent,
},
],
loadChildren: () => import(/* webpackChunkName: "homepage" */'./homepage').then(m => m.HomepageModule),
},
{
path: 'app',
@ -74,10 +56,8 @@ const ROUTES = [
HttpClientXsrfModule,
NgbDropdownModule,
NgbModalModule,
NgbNavModule,
FontAwesomeModule,
ClipboardModule,
NgxImageZoomModule,
RouterModule.forRoot(ROUTES),
],
providers: [
@ -87,14 +67,11 @@ const ROUTES = [
declarations: [
AppComponent,
MainComponent,
HomeComponent,
HomeIndexComponent,
LoginComponent,
ConfigModalComponent,
SettingsModalComponent,
ConnectionListComponent,
UpgradeModalComponent,
DemoTerminalComponent,
],
bootstrap: [AppComponent],
})

View File

@ -1,23 +0,0 @@
import { Component } from '@angular/core'
@Component({
selector: 'home-features',
templateUrl: './homeFeatures.component.pug',
styleUrls: ['./homeFeatures.component.scss'],
})
export class HomeFeaturesComponent {
screenshots = {
progress: require('../assets/screenshots/progress.png'),
zmodem: require('../assets/screenshots/zmodem.png'),
colors: require('../assets/screenshots/colors.png'),
hotkeys: require('../assets/screenshots/hotkeys.png'),
ports: require('../assets/screenshots/ports.png'),
ssh2: require('../assets/screenshots/ssh2.png'),
fonts: require('../assets/screenshots/fonts.png'),
history: require('../assets/screenshots/history.png'),
paste: require('../assets/screenshots/paste.png'),
quake: require('../assets/screenshots/quake.png'),
split: require('../assets/screenshots/split.png'),
profiles: require('../assets/screenshots/profiles.png'),
}
}

View File

@ -1,4 +1,4 @@
@import "../theme/vars.scss";
@import "../../theme/vars.scss";
:host {
display: flex;

View File

@ -2,8 +2,8 @@ import { Subject } from 'rxjs'
import * as semverCompare from 'semver/functions/compare-loose'
import { HttpClient } from '@angular/common/http'
import { Component, ElementRef, ViewChild } from '@angular/core'
import { Version } from '../api'
import { CommonService } from '../services/common.service'
import { Version } from '../../api'
import { CommonService } from '../../services/common.service'
class DemoConnector {
constructor (

View File

@ -1,4 +1,4 @@
@import "../theme/vars.scss";
@import "../../theme/vars.scss";
@import "~@fontsource/fira-code/latin.css";
:host {

View File

@ -1,8 +1,8 @@
import { Component } from '@angular/core'
import { ActivatedRoute, Router } from '@angular/router'
import { faCoffee, faDownload, faSignInAlt } from '@fortawesome/free-solid-svg-icons'
import type { Waves } from '../homepage/vanta/vanta.waves.js'
import { InstanceInfo } from '../api'
import { Waves } from '../vanta/vanta.waves.js'
import { InstanceInfo } from '../../api'
@Component({
@ -15,7 +15,7 @@ export class HomeComponent {
releaseURL = `${this.githubURL}/releases/latest`
donationURL = 'https://ko-fi.com/eugeny'
_logo = require('../assets/logo.svg')
_logo = require('../../assets/logo.svg')
_downloadIcon = faDownload
_loginIcon = faSignInAlt
_donateIcon = faCoffee
@ -46,7 +46,6 @@ export class HomeComponent {
}
async ngAfterViewInit (): Promise<void> {
const { Waves } = await import(/* webpackChunkName: "gfx" */ '../homepage/vanta/vanta.waves.js')
this.background = new Waves({
el: 'body',
mouseControls: true,

View File

@ -0,0 +1,23 @@
import { Component } from '@angular/core'
@Component({
selector: 'home-features',
templateUrl: './homeFeatures.component.pug',
styleUrls: ['./homeFeatures.component.scss'],
})
export class HomeFeaturesComponent {
screenshots = {
progress: require('../../assets/screenshots/progress.png'),
zmodem: require('../../assets/screenshots/zmodem.png'),
colors: require('../../assets/screenshots/colors.png'),
hotkeys: require('../../assets/screenshots/hotkeys.png'),
ports: require('../../assets/screenshots/ports.png'),
ssh2: require('../../assets/screenshots/ssh2.png'),
fonts: require('../../assets/screenshots/fonts.png'),
history: require('../../assets/screenshots/history.png'),
paste: require('../../assets/screenshots/paste.png'),
quake: require('../../assets/screenshots/quake.png'),
split: require('../../assets/screenshots/split.png'),
profiles: require('../../assets/screenshots/profiles.png'),
}
}

View File

@ -1,4 +1,4 @@
@import "../theme/vars.scss";
@import "../../theme/vars.scss";
h1 {
font-family: $font-family-monospace;

View File

@ -15,10 +15,10 @@ export class HomeIndexComponent {
_githubIcon = faGithub
screenshots = {
window: require('../assets/screenshots/window.png'),
tabs: require('../assets/screenshots/tabs.png'),
ssh: require('../assets/screenshots/ssh.png'),
serial: require('../assets/screenshots/serial.png'),
win: require('../assets/screenshots/win.png'),
window: require('../../assets/screenshots/window.png'),
tabs: require('../../assets/screenshots/tabs.png'),
ssh: require('../../assets/screenshots/ssh.png'),
serial: require('../../assets/screenshots/serial.png'),
win: require('../../assets/screenshots/win.png'),
}
}

View File

@ -0,0 +1,55 @@
import { NgModule } from '@angular/core'
import { NgbNavModule } from '@ng-bootstrap/ng-bootstrap'
import { CommonModule } from '@angular/common'
import { FormsModule } from '@angular/forms'
import { RouterModule } from '@angular/router'
import { HttpClientModule } from '@angular/common/http'
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'
import { NgxImageZoomModule } from 'ngx-image-zoom'
import { HomeComponent } from './components/home.component'
import { HomeIndexComponent } from './components/homeIndex.component'
import { DemoTerminalComponent } from './components/demoTerminal.component'
import { HomeFeaturesComponent } from './components/homeFeatures.component'
import { InstanceInfoResolver } from '../api'
import '@fortawesome/fontawesome-svg-core/styles.css'
const ROUTES = [
{
path: '',
component: HomeComponent,
resolve: {
instanceInfo: InstanceInfoResolver,
},
children: [
{
path: '',
component: HomeIndexComponent,
},
{
path: 'features',
component: HomeFeaturesComponent,
},
],
},
]
@NgModule({
imports: [
CommonModule,
FormsModule,
HttpClientModule,
NgbNavModule,
FontAwesomeModule,
NgxImageZoomModule,
RouterModule.forChild(ROUTES),
],
declarations: [
HomeComponent,
HomeIndexComponent,
HomeFeaturesComponent,
DemoTerminalComponent,
],
})
export class HomepageModule { }

View File

@ -24,7 +24,7 @@
"es7"
],
"paths": {
"*": ["src/*"]
"src/*": ["./src/*"]
}
},
"include": ["src"]

View File

@ -1,5 +1,6 @@
require('dotenv').config({path: '../.env'})
const webpack = require('webpack')
const path = require('path')
const MiniCssExtractPlugin = require("mini-css-extract-plugin")
module.exports = {
@ -16,6 +17,9 @@ module.exports = {
'node_modules/',
],
extensions: ['.ts', '.js'],
alias: {
src: path.resolve(__dirname, 'src'),
},
},
module: {
rules: [