vendor list

This commit is contained in:
Park Byung Eun 2022-08-21 09:21:48 +00:00
parent 36a9a756dd
commit ddb7ef9da9
7 changed files with 634 additions and 1116 deletions

View File

@ -0,0 +1,342 @@
<div class="flex flex-col flex-auto min-w-0">
<!-- Main -->
<div class="wrapper">
<div>
<img class="banner-bg" src="assets/images/beteran/banner-bg.jpg" />
</div>
<!-- Header -->
<!-- Header -->
<div
class="relative flex flex-col sm:flex-row flex-0 sm:items-center sm:justify-between py-8 px-6 md:px-8 border-b"
>
<!-- Title -->
<div class="text-4xl font-extrabold tracking-tight">
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.deposit)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">입금신청</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.withdraw)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">출금신청</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.notice)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">공지사항</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.comp)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">콤프</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.customer)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">고객센터</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.depositHistory)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">입금내역</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.withdrawHistory)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">출금내역</span>
</button>
</div>
<!-- Actions -->
<div class="flex shrink-0 items-center mt-6 sm:mt-0 sm:ml-4">
<!-- Search -->
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="
__onClickCompose(
!!loggedIn ? composeMenuType.signOut : composeMenuType.signIn
)
"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">{{ !loggedIn ? "로그인" : "로그아웃" }}</span>
</button>
<button
*ngIf="!loggedIn"
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.signup)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">회원가입</span>
</button>
</div>
</div>
<div>
<mat-tab-group class="sm:px-2" [animationDuration]="'0'">
<!-- Home -->
<mat-tab label="라이브카지노">
<ng-template matTabContent>
<!-- Cards -->
<div class="flex justify-center mt-10 sm:mt-20">
<div class="w-full max-w-sm md:max-w-7xl">
<div
class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-4 gap-16 mt-8"
>
<ng-container *ngFor="let casino of liveCasinos">
<!-- <a
class="flex flex-col rounded-2xl shadow overflow-hidden bg-card hover:shadow-xl transition-shadow duration-200 ease-in-out"
[href]="
'https://material.angular.io/components/' + component.id
"
target="_blank"
rel="noreferrer"
> -->
<img
class="w-full object-cover border-b"
[src]="'assets/images/beteran/allbet.jpg'"
/>
<div class="py-4 px-5">
<div class="text-xl font-semibold">
{{ casino.getName() }}
</div>
<div class="mt-1 text-secondary">
{{ casino.getCategory() }}
</div>
</div>
<!-- </a> -->
</ng-container>
</div>
</div>
</div>
</ng-template>
</mat-tab>
<!-- Budget -->
<mat-tab label="호텔카지노">
<ng-template matTabContent>
<!-- Cards -->
<div class="flex justify-center mt-10 sm:mt-20">
<div class="w-full max-w-sm md:max-w-7xl">
<div
class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-4 gap-16 mt-8"
>
<ng-container *ngFor="let casino of liveCasinos">
<!-- <a
class="flex flex-col rounded-2xl shadow overflow-hidden bg-card hover:shadow-xl transition-shadow duration-200 ease-in-out"
[href]="
'https://material.angular.io/components/' + component.id
"
target="_blank"
rel="noreferrer"
> -->
<img
class="w-full object-cover border-b"
[src]="'assets/images/beteran/allbet.jpg'"
/>
<div class="py-4 px-5">
<div class="text-xl font-semibold">
{{ casino.getName() }}
</div>
<div class="mt-1 text-secondary">
{{ casino.getCategory() }}
</div>
</div>
<!-- </a> -->
</ng-container>
</div>
</div>
</div>
</ng-template>
</mat-tab>
<!-- Team -->
<mat-tab label="슬롯게임">
<ng-template matTabContent>
<!-- Cards -->
<div class="flex justify-center mt-10 sm:mt-20">
<div class="w-full max-w-sm md:max-w-7xl">
<div
class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-4 gap-16 mt-8"
>
<ng-container *ngFor="let slot of slotGames">
<!-- <a
class="flex flex-col rounded-2xl shadow overflow-hidden bg-card hover:shadow-xl transition-shadow duration-200 ease-in-out"
[href]="
'https://material.angular.io/components/' + component.id
"
target="_blank"
rel="noreferrer"
> -->
<img
class="w-full object-cover border-b"
[src]="'assets/images/beteran/allbet.jpg'"
/>
<div class="py-4 px-5">
<div class="text-xl font-semibold">
{{ slot.getName() }}
</div>
<div class="mt-1 text-secondary">
{{ slot.getCategory() }}
</div>
</div>
<!-- </a> -->
</ng-container>
</div>
</div>
</div>
</ng-template>
</mat-tab>
</mat-tab-group>
</div>
<div
class="flex flex-col items-center px-6 py-10 sm:px-16 sm:pt-18 sm:pb-20 bg-white dark:bg-gray-800 sm:mt-20"
>
<div class="w-full max-w-7xl">
<!-- Features grid -->
<div
class="grid grid-cols-1 gap-x-6 gap-y-12 sm:grid-cols-2 lg:grid-cols-3 lg:gap-16 w-full mt-12 sm:mt-16"
>
<div>
<span
class="flex items-center justify-center w-12 h-12 rounded bg-primary"
>
<!-- <mat-icon
class="text-white"
[svgIcon]="'heroicons_outline:pencil-alt'"
></mat-icon> -->
<img class="icon" src="assets/images/beteran/deposit-icon.png" />
</span>
<div class="mt-4 text-xl font-medium">실시간출금</div>
<div class="mt-2 leading-6 text-secondary">
Create and edit projects, upload images via drag drop, add
categories, add custom fields, create interactive forms and more.
</div>
</div>
<div>
<span
class="flex items-center justify-center w-12 h-12 rounded bg-primary"
>
<!-- <mat-icon
class="text-white"
[svgIcon]="'heroicons_outline:filter'"
></mat-icon> -->
<img class="icon" src="assets/images/beteran/withdraw-icon.png" />
</span>
<div class="mt-4 text-xl font-medium">실시간입금</div>
<div class="mt-2 leading-6 text-secondary">
Search and filter within the projects, categories and custom
fields. Save search and filter details for easy access.
</div>
</div>
<div>
<span
class="flex items-center justify-center w-12 h-12 rounded bg-primary"
>
<!-- <mat-icon
class="text-white"
[svgIcon]="'heroicons_outline:refresh'"
></mat-icon> -->
<img class="icon" src="assets/images/beteran/notice-icon.png" />
</span>
<div class="mt-4 text-xl font-medium">공지사항</div>
<div class="mt-2 leading-6 text-secondary">
<!-- Schedule -->
<div
class="sm:col-span-2 md:col-span-2 lg:col-span-2 flex flex-col flex-auto p-6 bg-card shadow rounded-2xl overflow-hidden"
>
<div class="flex flex-col mt-1 divide-y">
<ng-container
*ngFor="
let scheduleItem of data.schedule['today'];
trackBy: trackByFn
"
>
<div
class="flex flex-row items-center justify-between py-4 px-0.5"
>
<div class="flex flex-col">
<div class="font-medium">{{ scheduleItem.title }}</div>
<div
class="flex flex-col sm:flex-row sm:items-center -ml-0.5 mt-2 sm:mt-1 space-y-1 sm:space-y-0 sm:space-x-3"
>
<ng-container *ngIf="scheduleItem.time">
<div class="flex items-center">
<mat-icon
class="icon-size-5 text-hint"
[svgIcon]="'heroicons_solid:clock'"
></mat-icon>
<div class="ml-1.5 text-md text-secondary">
{{ scheduleItem.time }}
</div>
</div>
</ng-container>
<!-- <ng-container *ngIf="scheduleItem.location">
<div class="flex items-center">
<mat-icon
class="icon-size-5 text-hint"
[svgIcon]="'heroicons_solid:location-marker'"
></mat-icon>
<div class="ml-1.5 text-md text-secondary">
{{ scheduleItem.location }}
</div>
</div>
</ng-container> -->
</div>
</div>
<button mat-icon-button>
<mat-icon
[svgIcon]="'heroicons_solid:chevron-right'"
></mat-icon>
</button>
</div>
</ng-container>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="sn-overlay"></div>
<button class="scroll-top w-ba" style="display: none">
<i class="fas fa-caret-up" aria-hidden="true"></i>
</button>
</div>
</div>

View File

@ -0,0 +1,282 @@
import {
ChangeDetectorRef,
Component,
Input,
OnInit,
ViewEncapsulation,
} from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { CompComposeComponent } from 'app/modules/beteran/compose/compose/comp-compose.component';
import { CustomerComposeComponent } from 'app/modules/beteran/compose/compose/customer-compose.component';
import { DepositComposeComponent } from 'app/modules/beteran/compose/compose/deposit-compose.component';
import { DepositHistoryComposeComponent } from 'app/modules/beteran/compose/compose/deposit-history-compose.component';
import { NoticeComposeComponent } from 'app/modules/beteran/compose/compose/notice-compose.component';
import { SignInComposeComponent } from 'app/modules/beteran/compose/compose/sign-in-compose.component';
import { SignUpComposeComponent } from 'app/modules/beteran/compose/compose/sign-up-compose.component';
import { WithdrawComposeComponent } from 'app/modules/beteran/compose/compose/withdraw-compose.component';
import { WithdrawHistoryComposeComponent } from 'app/modules/beteran/compose/compose/withdraw-history-compose.component';
import { VendorService } from 'app/modules/polyglot/api/services/vendor.service';
import { Vendor } from 'app/modules/proto/models/api/vendor_pb';
export enum ComposeMenuType {
signIn = 'signIn',
signup = 'signup',
signOut = 'signOut',
deposit = 'Deposit',
withdraw = 'Withdraw',
notice = 'Notice',
comp = 'Comp',
customer = 'Customer',
depositHistory = 'DepositHistory',
withdrawHistory = 'WithdrawHistory',
}
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
encapsulation: ViewEncapsulation.None,
})
export class HomeComponent implements OnInit {
@Input()
loggedIn: boolean = false;
composeMenuType = ComposeMenuType;
liveCasinos!: Vendor[];
hotelCasinos!: Vendor[];
slotGames!: Vendor[];
components = [
{
id: 'ag(1)',
name: '에볼루션',
summary: 'Evolution',
exampleSpecs: {
prefix: 'autocomplete-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-autocomplete-testing.html',
},
],
},
{
id: 'allbet',
name: '프라그메틱',
summary: 'PragmaticPlay.',
exampleSpecs: {
prefix: 'badge-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-badge-testing.html',
},
],
},
{
id: 'elysium',
name: '드림게이밍',
summary: 'DreamGaming',
exampleSpecs: {
prefix: 'bottom-sheet-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-bottom-sheet-testing.html',
},
],
},
{
id: 'elysium',
name: '마이크로게이밍',
summary: 'MicroGaming',
exampleSpecs: {
prefix: 'button-',
exclude: ['button-toggle-'],
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-button-testing.html',
},
],
},
{
id: 'evolution',
name: '오리엔탈플러스',
summary: 'OrientalPlus',
exampleSpecs: {
prefix: 'button-toggle-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-button-toggle-testing.html',
},
],
},
{
id: 'ezugi',
name: '아시안게이밍',
summary: 'AsiaGaming',
exampleSpecs: {
prefix: 'card-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-card-testing.html',
},
],
},
{
id: 'ezugi',
name: 'CQ9LIVE',
summary: 'CQ9LIVE',
exampleSpecs: {
prefix: 'checkbox-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-checkbox-testing.html',
},
],
},
{
id: 'ezugi',
name: '이주기',
summary: 'Ezugi',
exampleSpecs: {
prefix: 'chips-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-chips-testing.html',
},
],
},
// {
// id: 'ezugi',
// name: '비보카지노',
// summary: 'VIVO',
// exampleSpecs: {
// prefix: 'core-',
// },
// additionalApiDocs: [
// {
// name: 'Testing',
// path: 'material-core-testing.html',
// },
// ],
// },
];
data = {
schedule: {
today: [
{
title: '계좌 등록 안내',
time: '2022-06-08',
},
{
title: '오토프로그램 이용 안냐',
time: '2022-06-08',
},
{
title: '입출금 규정 안내',
time: '2022-06-08',
},
{
title: '원피(가상계좌)사용 안내',
time: '2022-06-08',
},
{
title: '입금문의 안내(필독)',
time: '2022-06-08',
},
],
},
};
/**
* Constructor
*/
constructor(
private _changeDetectorRef: ChangeDetectorRef,
private _matDialog: MatDialog,
private _vendorService: VendorService
) {}
ngOnInit(): void {
this._vendorService.listVendors().then((result) => {
this.liveCasinos = result
.getVendorsList()
.filter((v) => v.getCategory() === 'casino');
this.hotelCasinos = result
.getVendorsList()
.filter((v) => v.getCategory() === 'casino');
this.slotGames = result
.getVendorsList()
.filter((v) => v.getCategory() === 'slot');
this._changeDetectorRef.markForCheck();
});
}
/**
* Track by function for ngFor loops
*
* @param index
* @param item
*/
trackByFn(index: number, item: any): any {
return item.id || index;
}
/**
* @param composeMenuType
*/
__onClickCompose(composeMenuType: ComposeMenuType): void {
let selectType: any;
switch (composeMenuType) {
case ComposeMenuType.signOut:
// selectType = SignInComposeComponent;
return;
break;
case ComposeMenuType.deposit:
selectType = DepositComposeComponent;
break;
case ComposeMenuType.withdraw:
selectType = WithdrawComposeComponent;
break;
case ComposeMenuType.notice:
selectType = NoticeComposeComponent;
break;
case ComposeMenuType.comp:
selectType = CompComposeComponent;
break;
case ComposeMenuType.customer:
selectType = CustomerComposeComponent;
break;
case ComposeMenuType.depositHistory:
selectType = DepositHistoryComposeComponent;
break;
case ComposeMenuType.withdrawHistory:
selectType = WithdrawHistoryComposeComponent;
break;
}
const dialogRef = this._matDialog.open(selectType);
dialogRef.afterClosed().subscribe((result) => {
console.log('Compose dialog was closed!');
});
}
}

View File

@ -12,11 +12,12 @@ import { FuseCardModule } from '@fuse/components/card';
import { SharedModule } from 'app/shared/shared.module';
import { FuseAlertModule } from '@fuse/components/alert';
import { HomeComponent } from '../component/home.component';
import { COMPOSE } from './compose';
@NgModule({
declarations: [COMPOSE],
declarations: [HomeComponent, COMPOSE],
exports: [HomeComponent],
imports: [
MatButtonModule,
MatIconModule,

View File

@ -1,327 +1 @@
<div class="flex flex-col flex-auto min-w-0">
<!-- Main -->
<div class="wrapper">
<div>
<img class="banner-bg" src="assets/images/beteran/banner-bg.jpg" />
</div>
<!-- Header -->
<!-- Header -->
<div
class="relative flex flex-col sm:flex-row flex-0 sm:items-center sm:justify-between py-8 px-6 md:px-8 border-b"
>
<!-- Title -->
<div class="text-4xl font-extrabold tracking-tight">
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.deposit)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">입금신청</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.withdraw)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">출금신청</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.notice)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">공지사항</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.comp)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">콤프</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.customer)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">고객센터</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.depositHistory)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">입금내역</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.withdrawHistory)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">출금내역</span>
</button>
</div>
<!-- Actions -->
<div class="flex shrink-0 items-center mt-6 sm:mt-0 sm:ml-4">
<!-- Search -->
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.signOut)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">로그아웃</span>
</button>
</div>
</div>
<div>
<mat-tab-group class="sm:px-2" [animationDuration]="'0'">
<!-- Home -->
<mat-tab label="라이브카지노">
<ng-template matTabContent>
<!-- Cards -->
<div class="flex justify-center mt-10 sm:mt-20">
<div class="w-full max-w-sm md:max-w-7xl">
<div
class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-4 gap-16 mt-8"
>
<ng-container *ngFor="let component of components">
<a
class="flex flex-col rounded-2xl shadow overflow-hidden bg-card hover:shadow-xl transition-shadow duration-200 ease-in-out"
[href]="
'https://material.angular.io/components/' + component.id
"
target="_blank"
rel="noreferrer"
>
<img
class="w-full object-cover border-b"
[src]="'assets/images/beteran/' + component.id + '.jpg'"
/>
<div class="py-4 px-5">
<div class="text-xl font-semibold">
{{ component.name }}
</div>
<div class="mt-1 text-secondary">
{{ component.summary }}
</div>
</div>
</a>
</ng-container>
</div>
</div>
</div>
</ng-template>
</mat-tab>
<!-- Budget -->
<mat-tab label="호텔카지노">
<ng-template matTabContent>
<!-- Cards -->
<div class="flex justify-center mt-10 sm:mt-20">
<div class="w-full max-w-sm md:max-w-7xl">
<div
class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-4 gap-16 mt-8"
>
<ng-container *ngFor="let component of components">
<a
class="flex flex-col rounded-2xl shadow overflow-hidden bg-card hover:shadow-xl transition-shadow duration-200 ease-in-out"
[href]="
'https://material.angular.io/components/' + component.id
"
target="_blank"
rel="noreferrer"
>
<img
class="w-full object-cover border-b"
[src]="'assets/images/beteran/' + component.id + '.jpg'"
/>
<div class="py-4 px-5">
<div class="text-xl font-semibold">
{{ component.name }}
</div>
<div class="mt-1 text-secondary">
{{ component.summary }}
</div>
</div>
</a>
</ng-container>
</div>
</div>
</div>
</ng-template>
</mat-tab>
<!-- Team -->
<mat-tab label="슬롯게임">
<ng-template matTabContent>
<!-- Cards -->
<div class="flex justify-center mt-10 sm:mt-20">
<div class="w-full max-w-sm md:max-w-7xl">
<div
class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-4 gap-16 mt-8"
>
<ng-container *ngFor="let component of components">
<a
class="flex flex-col rounded-2xl shadow overflow-hidden bg-card hover:shadow-xl transition-shadow duration-200 ease-in-out"
[href]="
'https://material.angular.io/components/' + component.id
"
target="_blank"
rel="noreferrer"
>
<img
class="w-full object-cover border-b"
[src]="'assets/images/beteran/' + component.id + '.jpg'"
/>
<div class="py-4 px-5">
<div class="text-xl font-semibold">
{{ component.name }}
</div>
<div class="mt-1 text-secondary">
{{ component.summary }}
</div>
</div>
</a>
</ng-container>
</div>
</div>
</div>
</ng-template>
</mat-tab>
</mat-tab-group>
</div>
<div
class="flex flex-col items-center px-6 py-10 sm:px-16 sm:pt-18 sm:pb-20 bg-white dark:bg-gray-800 sm:mt-20"
>
<div class="w-full max-w-7xl">
<!-- Features grid -->
<div
class="grid grid-cols-1 gap-x-6 gap-y-12 sm:grid-cols-2 lg:grid-cols-3 lg:gap-16 w-full mt-12 sm:mt-16"
>
<div>
<span
class="flex items-center justify-center w-12 h-12 rounded bg-primary"
>
<!-- <mat-icon
class="text-white"
[svgIcon]="'heroicons_outline:pencil-alt'"
></mat-icon> -->
<img class="icon" src="assets/images/beteran/deposit-icon.png" />
</span>
<div class="mt-4 text-xl font-medium">실시간출금</div>
<div class="mt-2 leading-6 text-secondary">
Create and edit projects, upload images via drag drop, add
categories, add custom fields, create interactive forms and more.
</div>
</div>
<div>
<span
class="flex items-center justify-center w-12 h-12 rounded bg-primary"
>
<!-- <mat-icon
class="text-white"
[svgIcon]="'heroicons_outline:filter'"
></mat-icon> -->
<img class="icon" src="assets/images/beteran/withdraw-icon.png" />
</span>
<div class="mt-4 text-xl font-medium">실시간입금</div>
<div class="mt-2 leading-6 text-secondary">
Search and filter within the projects, categories and custom
fields. Save search and filter details for easy access.
</div>
</div>
<div>
<span
class="flex items-center justify-center w-12 h-12 rounded bg-primary"
>
<!-- <mat-icon
class="text-white"
[svgIcon]="'heroicons_outline:refresh'"
></mat-icon> -->
<img class="icon" src="assets/images/beteran/notice-icon.png" />
</span>
<div class="mt-4 text-xl font-medium">공지사항</div>
<div class="mt-2 leading-6 text-secondary">
<!-- Schedule -->
<div
class="sm:col-span-2 md:col-span-2 lg:col-span-2 flex flex-col flex-auto p-6 bg-card shadow rounded-2xl overflow-hidden"
>
<div class="flex flex-col mt-1 divide-y">
<ng-container
*ngFor="
let scheduleItem of data.schedule['today'];
trackBy: trackByFn
"
>
<div
class="flex flex-row items-center justify-between py-4 px-0.5"
>
<div class="flex flex-col">
<div class="font-medium">{{ scheduleItem.title }}</div>
<div
class="flex flex-col sm:flex-row sm:items-center -ml-0.5 mt-2 sm:mt-1 space-y-1 sm:space-y-0 sm:space-x-3"
>
<ng-container *ngIf="scheduleItem.time">
<div class="flex items-center">
<mat-icon
class="icon-size-5 text-hint"
[svgIcon]="'heroicons_solid:clock'"
></mat-icon>
<div class="ml-1.5 text-md text-secondary">
{{ scheduleItem.time }}
</div>
</div>
</ng-container>
<!-- <ng-container *ngIf="scheduleItem.location">
<div class="flex items-center">
<mat-icon
class="icon-size-5 text-hint"
[svgIcon]="'heroicons_solid:location-marker'"
></mat-icon>
<div class="ml-1.5 text-md text-secondary">
{{ scheduleItem.location }}
</div>
</div>
</ng-container> -->
</div>
</div>
<button mat-icon-button>
<mat-icon
[svgIcon]="'heroicons_solid:chevron-right'"
></mat-icon>
</button>
</div>
</ng-container>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="sn-overlay"></div>
<button class="scroll-top w-ba" style="display: none">
<i class="fas fa-caret-up" aria-hidden="true"></i>
</button>
</div>
</div>
<app-home [loggedIn]="true"></app-home>

View File

@ -1,197 +1,17 @@
import { Component, ViewEncapsulation } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { CompComposeComponent } from 'app/modules/beteran/compose/compose/comp-compose.component';
import { CustomerComposeComponent } from 'app/modules/beteran/compose/compose/customer-compose.component';
import { DepositComposeComponent } from 'app/modules/beteran/compose/compose/deposit-compose.component';
import { DepositHistoryComposeComponent } from 'app/modules/beteran/compose/compose/deposit-history-compose.component';
import { NoticeComposeComponent } from 'app/modules/beteran/compose/compose/notice-compose.component';
import { SignInComposeComponent } from 'app/modules/beteran/compose/compose/sign-in-compose.component';
import { SignUpComposeComponent } from 'app/modules/beteran/compose/compose/sign-up-compose.component';
import { WithdrawComposeComponent } from 'app/modules/beteran/compose/compose/withdraw-compose.component';
import { WithdrawHistoryComposeComponent } from 'app/modules/beteran/compose/compose/withdraw-history-compose.component';
export enum ComposeMenuType {
signOut = 'signOut',
deposit = 'Deposit',
withdraw = 'Withdraw',
notice = 'Notice',
comp = 'Comp',
customer = 'Customer',
depositHistory = 'DepositHistory',
withdrawHistory = 'WithdrawHistory',
}
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'main',
templateUrl: './main.component.html',
encapsulation: ViewEncapsulation.None,
})
export class GameMainComponent {
composeMenuType = ComposeMenuType;
components = [
{
id: 'ag(1)',
name: '에볼루션',
summary: 'Evolution',
exampleSpecs: {
prefix: 'autocomplete-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-autocomplete-testing.html',
},
],
},
{
id: 'allbet',
name: '프라그메틱',
summary: 'PragmaticPlay.',
exampleSpecs: {
prefix: 'badge-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-badge-testing.html',
},
],
},
{
id: 'elysium',
name: '드림게이밍',
summary: 'DreamGaming',
exampleSpecs: {
prefix: 'bottom-sheet-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-bottom-sheet-testing.html',
},
],
},
{
id: 'elysium',
name: '마이크로게이밍',
summary: 'MicroGaming',
exampleSpecs: {
prefix: 'button-',
exclude: ['button-toggle-'],
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-button-testing.html',
},
],
},
{
id: 'evolution',
name: '오리엔탈플러스',
summary: 'OrientalPlus',
exampleSpecs: {
prefix: 'button-toggle-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-button-toggle-testing.html',
},
],
},
{
id: 'ezugi',
name: '아시안게이밍',
summary: 'AsiaGaming',
exampleSpecs: {
prefix: 'card-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-card-testing.html',
},
],
},
{
id: 'ezugi',
name: 'CQ9LIVE',
summary: 'CQ9LIVE',
exampleSpecs: {
prefix: 'checkbox-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-checkbox-testing.html',
},
],
},
{
id: 'ezugi',
name: '이주기',
summary: 'Ezugi',
exampleSpecs: {
prefix: 'chips-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-chips-testing.html',
},
],
},
// {
// id: 'ezugi',
// name: '비보카지노',
// summary: 'VIVO',
// exampleSpecs: {
// prefix: 'core-',
// },
// additionalApiDocs: [
// {
// name: 'Testing',
// path: 'material-core-testing.html',
// },
// ],
// },
];
data = {
schedule: {
today: [
{
title: '계좌 등록 안내',
time: '2022-06-08',
},
{
title: '오토프로그램 이용 안냐',
time: '2022-06-08',
},
{
title: '입출금 규정 안내',
time: '2022-06-08',
},
{
title: '원피(가상계좌)사용 안내',
time: '2022-06-08',
},
{
title: '입금문의 안내(필독)',
time: '2022-06-08',
},
],
},
};
export class GameMainComponent implements OnInit {
/**
* Constructor
*/
constructor(private _matDialog: MatDialog) {}
constructor() {}
ngOnInit(): void {}
/**
* Track by function for ngFor loops
*
@ -201,45 +21,4 @@ export class GameMainComponent {
trackByFn(index: number, item: any): any {
return item.id || index;
}
/**
* @param composeMenuType
*/
__onClickCompose(composeMenuType: ComposeMenuType): void {
let selectType: any;
switch (composeMenuType) {
case ComposeMenuType.signOut:
// selectType = SignInComposeComponent;
return;
break;
case ComposeMenuType.deposit:
selectType = DepositComposeComponent;
break;
case ComposeMenuType.withdraw:
selectType = WithdrawComposeComponent;
break;
case ComposeMenuType.notice:
selectType = NoticeComposeComponent;
break;
case ComposeMenuType.comp:
selectType = CompComposeComponent;
break;
case ComposeMenuType.customer:
selectType = CustomerComposeComponent;
break;
case ComposeMenuType.depositHistory:
selectType = DepositHistoryComposeComponent;
break;
case ComposeMenuType.withdrawHistory:
selectType = WithdrawHistoryComposeComponent;
break;
}
const dialogRef = this._matDialog.open(selectType);
dialogRef.afterClosed().subscribe((result) => {
console.log('Compose dialog was closed!');
});
}
}

View File

@ -1,336 +1 @@
<div class="flex flex-col flex-auto min-w-0">
<!-- Main -->
<div class="wrapper">
<div>
<img class="banner-bg" src="assets/images/beteran/banner-bg.jpg" />
</div>
<!-- Header -->
<!-- Header -->
<div
class="relative flex flex-col sm:flex-row flex-0 sm:items-center sm:justify-between py-8 px-6 md:px-8 border-b"
>
<!-- Title -->
<div class="text-4xl font-extrabold tracking-tight">
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.deposit)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">입금신청</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.withdraw)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">출금신청</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.notice)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">공지사항</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.comp)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">콤프</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.customer)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">고객센터</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.depositHistory)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">입금내역</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.withdrawHistory)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">출금내역</span>
</button>
</div>
<!-- Actions -->
<div class="flex shrink-0 items-center mt-6 sm:mt-0 sm:ml-4">
<!-- Search -->
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.signin)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">로그인</span>
</button>
<button
class="ml-4"
mat-flat-button
[color]="'primary'"
(click)="__onClickCompose(composeMenuType.signup)"
>
<mat-icon [svgIcon]="'heroicons_outline:plus'"></mat-icon>
<span class="ml-2 mr-1">회원가입</span>
</button>
</div>
</div>
<div>
<mat-tab-group class="sm:px-2" [animationDuration]="'0'">
<!-- Home -->
<mat-tab label="라이브카지노">
<ng-template matTabContent>
<!-- Cards -->
<div class="flex justify-center mt-10 sm:mt-20">
<div class="w-full max-w-sm md:max-w-7xl">
<div
class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-4 gap-16 mt-8"
>
<ng-container *ngFor="let component of components">
<a
class="flex flex-col rounded-2xl shadow overflow-hidden bg-card hover:shadow-xl transition-shadow duration-200 ease-in-out"
[href]="
'https://material.angular.io/components/' + component.id
"
target="_blank"
rel="noreferrer"
>
<img
class="w-full object-cover border-b"
[src]="'assets/images/beteran/' + component.id + '.jpg'"
/>
<div class="py-4 px-5">
<div class="text-xl font-semibold">
{{ component.name }}
</div>
<div class="mt-1 text-secondary">
{{ component.summary }}
</div>
</div>
</a>
</ng-container>
</div>
</div>
</div>
</ng-template>
</mat-tab>
<!-- Budget -->
<mat-tab label="호텔카지노">
<ng-template matTabContent>
<!-- Cards -->
<div class="flex justify-center mt-10 sm:mt-20">
<div class="w-full max-w-sm md:max-w-7xl">
<div
class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-4 gap-16 mt-8"
>
<ng-container *ngFor="let component of components">
<a
class="flex flex-col rounded-2xl shadow overflow-hidden bg-card hover:shadow-xl transition-shadow duration-200 ease-in-out"
[href]="
'https://material.angular.io/components/' + component.id
"
target="_blank"
rel="noreferrer"
>
<img
class="w-full object-cover border-b"
[src]="'assets/images/beteran/' + component.id + '.jpg'"
/>
<div class="py-4 px-5">
<div class="text-xl font-semibold">
{{ component.name }}
</div>
<div class="mt-1 text-secondary">
{{ component.summary }}
</div>
</div>
</a>
</ng-container>
</div>
</div>
</div>
</ng-template>
</mat-tab>
<!-- Team -->
<mat-tab label="슬롯게임">
<ng-template matTabContent>
<!-- Cards -->
<div class="flex justify-center mt-10 sm:mt-20">
<div class="w-full max-w-sm md:max-w-7xl">
<div
class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-4 gap-16 mt-8"
>
<ng-container *ngFor="let component of components">
<a
class="flex flex-col rounded-2xl shadow overflow-hidden bg-card hover:shadow-xl transition-shadow duration-200 ease-in-out"
[href]="
'https://material.angular.io/components/' + component.id
"
target="_blank"
rel="noreferrer"
>
<img
class="w-full object-cover border-b"
[src]="'assets/images/beteran/' + component.id + '.jpg'"
/>
<div class="py-4 px-5">
<div class="text-xl font-semibold">
{{ component.name }}
</div>
<div class="mt-1 text-secondary">
{{ component.summary }}
</div>
</div>
</a>
</ng-container>
</div>
</div>
</div>
</ng-template>
</mat-tab>
</mat-tab-group>
</div>
<div
class="flex flex-col items-center px-6 py-10 sm:px-16 sm:pt-18 sm:pb-20 bg-white dark:bg-gray-800 sm:mt-20"
>
<div class="w-full max-w-7xl">
<!-- Features grid -->
<div
class="grid grid-cols-1 gap-x-6 gap-y-12 sm:grid-cols-2 lg:grid-cols-3 lg:gap-16 w-full mt-12 sm:mt-16"
>
<div>
<span
class="flex items-center justify-center w-12 h-12 rounded bg-primary"
>
<!-- <mat-icon
class="text-white"
[svgIcon]="'heroicons_outline:pencil-alt'"
></mat-icon> -->
<img class="icon" src="assets/images/beteran/deposit-icon.png" />
</span>
<div class="mt-4 text-xl font-medium">실시간출금</div>
<div class="mt-2 leading-6 text-secondary">
Create and edit projects, upload images via drag drop, add
categories, add custom fields, create interactive forms and more.
</div>
</div>
<div>
<span
class="flex items-center justify-center w-12 h-12 rounded bg-primary"
>
<!-- <mat-icon
class="text-white"
[svgIcon]="'heroicons_outline:filter'"
></mat-icon> -->
<img class="icon" src="assets/images/beteran/withdraw-icon.png" />
</span>
<div class="mt-4 text-xl font-medium">실시간입금</div>
<div class="mt-2 leading-6 text-secondary">
Search and filter within the projects, categories and custom
fields. Save search and filter details for easy access.
</div>
</div>
<div>
<span
class="flex items-center justify-center w-12 h-12 rounded bg-primary"
>
<!-- <mat-icon
class="text-white"
[svgIcon]="'heroicons_outline:refresh'"
></mat-icon> -->
<img class="icon" src="assets/images/beteran/notice-icon.png" />
</span>
<div class="mt-4 text-xl font-medium">공지사항</div>
<div class="mt-2 leading-6 text-secondary">
<!-- Schedule -->
<div
class="sm:col-span-2 md:col-span-2 lg:col-span-2 flex flex-col flex-auto p-6 bg-card shadow rounded-2xl overflow-hidden"
>
<div class="flex flex-col mt-1 divide-y">
<ng-container
*ngFor="
let scheduleItem of data.schedule['today'];
trackBy: trackByFn
"
>
<div
class="flex flex-row items-center justify-between py-4 px-0.5"
>
<div class="flex flex-col">
<div class="font-medium">{{ scheduleItem.title }}</div>
<div
class="flex flex-col sm:flex-row sm:items-center -ml-0.5 mt-2 sm:mt-1 space-y-1 sm:space-y-0 sm:space-x-3"
>
<ng-container *ngIf="scheduleItem.time">
<div class="flex items-center">
<mat-icon
class="icon-size-5 text-hint"
[svgIcon]="'heroicons_solid:clock'"
></mat-icon>
<div class="ml-1.5 text-md text-secondary">
{{ scheduleItem.time }}
</div>
</div>
</ng-container>
<!-- <ng-container *ngIf="scheduleItem.location">
<div class="flex items-center">
<mat-icon
class="icon-size-5 text-hint"
[svgIcon]="'heroicons_solid:location-marker'"
></mat-icon>
<div class="ml-1.5 text-md text-secondary">
{{ scheduleItem.location }}
</div>
</div>
</ng-container> -->
</div>
</div>
<button mat-icon-button>
<mat-icon
[svgIcon]="'heroicons_solid:chevron-right'"
></mat-icon>
</button>
</div>
</ng-container>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="sn-overlay"></div>
<button class="scroll-top w-ba" style="display: none">
<i class="fas fa-caret-up" aria-hidden="true"></i>
</button>
</div>
</div>
<app-home></app-home>

View File

@ -1,196 +1,14 @@
import { Component, ViewEncapsulation } from '@angular/core';
import { MatDialog } from '@angular/material/dialog';
import { CompComposeComponent } from 'app/modules/beteran/compose/compose/comp-compose.component';
import { CustomerComposeComponent } from 'app/modules/beteran/compose/compose/customer-compose.component';
import { DepositComposeComponent } from 'app/modules/beteran/compose/compose/deposit-compose.component';
import { DepositHistoryComposeComponent } from 'app/modules/beteran/compose/compose/deposit-history-compose.component';
import { NoticeComposeComponent } from 'app/modules/beteran/compose/compose/notice-compose.component';
import { SignInComposeComponent } from 'app/modules/beteran/compose/compose/sign-in-compose.component';
import { SignUpComposeComponent } from 'app/modules/beteran/compose/compose/sign-up-compose.component';
import { WithdrawComposeComponent } from 'app/modules/beteran/compose/compose/withdraw-compose.component';
import { WithdrawHistoryComposeComponent } from 'app/modules/beteran/compose/compose/withdraw-history-compose.component';
export enum ComposeMenuType {
signin = 'signin',
signup = 'Signup',
deposit = 'Deposit',
withdraw = 'Withdraw',
notice = 'Notice',
comp = 'Comp',
customer = 'Customer',
depositHistory = 'DepositHistory',
withdrawHistory = 'WithdrawHistory',
}
@Component({
selector: 'main',
templateUrl: './main.component.html',
encapsulation: ViewEncapsulation.None,
})
export class MainComponent {
composeMenuType = ComposeMenuType;
components = [
{
id: 'ag(1)',
name: '에볼루션',
summary: 'Evolution',
exampleSpecs: {
prefix: 'autocomplete-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-autocomplete-testing.html',
},
],
},
{
id: 'allbet',
name: '프라그메틱',
summary: 'PragmaticPlay.',
exampleSpecs: {
prefix: 'badge-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-badge-testing.html',
},
],
},
{
id: 'elysium',
name: '드림게이밍',
summary: 'DreamGaming',
exampleSpecs: {
prefix: 'bottom-sheet-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-bottom-sheet-testing.html',
},
],
},
{
id: 'elysium',
name: '마이크로게이밍',
summary: 'MicroGaming',
exampleSpecs: {
prefix: 'button-',
exclude: ['button-toggle-'],
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-button-testing.html',
},
],
},
{
id: 'evolution',
name: '오리엔탈플러스',
summary: 'OrientalPlus',
exampleSpecs: {
prefix: 'button-toggle-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-button-toggle-testing.html',
},
],
},
{
id: 'ezugi',
name: '아시안게이밍',
summary: 'AsiaGaming',
exampleSpecs: {
prefix: 'card-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-card-testing.html',
},
],
},
{
id: 'ezugi',
name: 'CQ9LIVE',
summary: 'CQ9LIVE',
exampleSpecs: {
prefix: 'checkbox-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-checkbox-testing.html',
},
],
},
{
id: 'ezugi',
name: '이주기',
summary: 'Ezugi',
exampleSpecs: {
prefix: 'chips-',
},
additionalApiDocs: [
{
name: 'Testing',
path: 'material-chips-testing.html',
},
],
},
// {
// id: 'ezugi',
// name: '비보카지노',
// summary: 'VIVO',
// exampleSpecs: {
// prefix: 'core-',
// },
// additionalApiDocs: [
// {
// name: 'Testing',
// path: 'material-core-testing.html',
// },
// ],
// },
];
data = {
schedule: {
today: [
{
title: '계좌 등록 안내',
time: '2022-06-08',
},
{
title: '오토프로그램 이용 안냐',
time: '2022-06-08',
},
{
title: '입출금 규정 안내',
time: '2022-06-08',
},
{
title: '원피(가상계좌)사용 안내',
time: '2022-06-08',
},
{
title: '입금문의 안내(필독)',
time: '2022-06-08',
},
],
},
};
/**
* Constructor
*/
constructor(private _matDialog: MatDialog) {}
constructor() {}
/**
* Track by function for ngFor loops
@ -201,47 +19,4 @@ export class MainComponent {
trackByFn(index: number, item: any): any {
return item.id || index;
}
/**
* @param composeMenuType
*/
__onClickCompose(composeMenuType: ComposeMenuType): void {
let selectType: any;
switch (composeMenuType) {
case ComposeMenuType.signin:
selectType = SignInComposeComponent;
break;
case ComposeMenuType.signup:
selectType = SignUpComposeComponent;
break;
case ComposeMenuType.deposit:
selectType = DepositComposeComponent;
break;
case ComposeMenuType.withdraw:
selectType = WithdrawComposeComponent;
break;
case ComposeMenuType.notice:
selectType = NoticeComposeComponent;
break;
case ComposeMenuType.comp:
selectType = CompComposeComponent;
break;
case ComposeMenuType.customer:
selectType = CustomerComposeComponent;
break;
case ComposeMenuType.depositHistory:
selectType = DepositHistoryComposeComponent;
break;
case ComposeMenuType.withdrawHistory:
selectType = WithdrawHistoryComposeComponent;
break;
}
const dialogRef = this._matDialog.open(selectType);
dialogRef.afterClosed().subscribe((result) => {
console.log('Compose dialog was closed!');
});
}
}