Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion eventz-ui/src/app/app.routes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@ export const routes: Routes = [
{path: '', loadComponent: () => import('../pages/admin/dashboard/dashboard.component').then(m => m.DashboardComponent)},
{path: 'events', loadComponent: () => import('../pages/admin/admin-events-list/admin-events-list.component').then(m => m.AdminEventsListComponent)},
{path: 'tickets', loadComponent: () => import('../pages/admin/ticket-list-table/ticket-list-table.component').then(m => m.TicketListTableComponent)},
{path: 'users', loadComponent: () => import('../pages/admin/user-list-table/user-list-table.component').then(m => m.UserListTableComponent)}
{path: 'users', loadComponent: () => import('../pages/admin/user-list-table/user-list-table.component').then(m => m.UserListTableComponent)},
{path: 'create-ticket', loadComponent: () => import('../pages/admin/create-ticket/create-ticket.component').then(m => m.CreateTicketComponent)},
{path: 'create-event', loadComponent: () => import('../pages/admin/create-event/create-event.component').then(m => m.CreateEventComponent)}
]
}
];
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@
<div class="w-[1px] h-[30px] bg-eventTogglerBackground"></div>
</div>

<div class="flex items-center my-2 md:my-0">
<div class="flex items-center my-2 md:my-0 cursor-pointer"
(click)="navigateToAddEvent()"
>
<div
class="flex items-center justify-center bg-paleBlue text-deepBlue h-8 w-8 rounded-full cursor-pointer"
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { CommonModule } from '@angular/common'
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
import { faEllipsisH, faPlus, faSearch } from '@fortawesome/free-solid-svg-icons';
import { NgClass } from "../../../../node_modules/@angular/common/index";
import { Router } from '@angular/router';

@Component({
selector: 'app-table-header',
Expand All @@ -18,8 +19,13 @@ export class TableHeaderComponent {
showEventsTable: boolean = true;
@Output() showEvents = new EventEmitter<boolean>(true);

constructor ( private router: Router) {}

toggleShowEvents (value: boolean) {
this.showEvents.emit(value)
this.showEventsTable = value;
}
navigateToAddEvent () {
this.router.navigate(['/admin/create-event']);
}
}
57 changes: 57 additions & 0 deletions eventz-ui/src/pages/admin/create-event/create-event.component.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<div class="flex flex-col bg-white rounded-lg py-6 md:py-10 px-8 lg:px-32 xl:px-56 mx-4 my-6">
<div class="text-3xl text-center w-full">
Create Event
</div>
<div>
<form class="flex flex-col gap-4 mt-4">
<div class="flex flex-col">
<label for="title" class="mb-1 font-semibold">Event Title</label>
<input id="title" class="border border-gray-300 rounded-md p-2" placeholder="Enter event title" type="text"/>
</div>
<div class="flex flex-col">
<label for="venue" class="mb-1 font-semibold">Venue</label>
<select id="venue" class="border border-gray-300 rounded-md p-2">
<option value="" disabled selected>Select venue</option>
<option value="event1">venue 1</option>
<option value="event2">venue 2</option>
<option value="event3">venue 3</option>
</select>
</div>
<div class="flex flex-col">
<label for="no of tickets" class="mb-1 font-semibold">No of tickets</label>
<input id="no of tickets" class="border border-gray-300 rounded-md p-2" placeholder="Enter no of tickets" type="number"/>
</div>
<div class="flex flex-col">
<label for="priority" class="mb-1 font-semibold">Category</label>
<select id="priority" class="border border-gray-300 rounded-md p-2">
<option value="" disabled selected>Select category</option>
<option value="Category 1">Category 1</option>
<option value="Category 2">Category 2</option>
<option value="Category 3">Category 3</option>
</select>
</div>
<div class="flex flex-col md:flex-row gap-4">
<div class="w-full md:w-1/2">
<label for="date" class="mb-1 font-semibold">Start Date</label>
<input id="date" class="border border-gray-300 rounded-md p-2 w-full" type="datetime"/>
</div>
<div class="w-full md:w-1/2">
<label for="date" class="mb-1 font-semibold">End Date</label>
<input id="date" class="border border-gray-300 rounded-md p-2 w-full" type="datetime"/>
</div>
</div>
<div class="flex flex-col">
<img src="" alt="Event Image Preview" class="mb-2 w-full h-44 object-cover bg-gray-200 border rounded-md"/>
<label for="image" class="mb-1 font-semibold">Event Image</label>
<input id="image" class="border border-gray-300 rounded-md p-2" type="file" />
</div>
<div class="flex flex-col">
<label for="description" class="mb-1 font-semibold">Event Description</label>
<textarea id="description" class="border border-gray-300 rounded-md p-2" placeholder="Enter event description" rows="4"></textarea>
</div>
<button type="submit" class="bg-blue-600 text-white rounded-md p-2 mt-4 hover:bg-blue-700">Create Event</button>
</form>
</div>

</div>

Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';

import { CreateEventComponent } from './create-event.component';

describe('CreateEventComponent', () => {
let component: CreateEventComponent;
let fixture: ComponentFixture<CreateEventComponent>;

beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [CreateEventComponent]
})
.compileComponents();

fixture = TestBed.createComponent(CreateEventComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

it('should create', () => {
expect(component).toBeTruthy();
});
});
12 changes: 12 additions & 0 deletions eventz-ui/src/pages/admin/create-event/create-event.component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { Component } from '@angular/core';

@Component({
selector: 'app-create-event',
standalone: true,
imports: [],
templateUrl: './create-event.component.html',
styleUrl: './create-event.component.scss'
})
export class CreateEventComponent {

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<div class="flex flex-col bg-white rounded-lg py-6 md:py-10 px-8 lg:px-32 xl:px-56 mx-4 my-6">
<div class="text-3xl text-center w-full">
Create Ticket
</div>
<div>
<form class="flex flex-col gap-4 mt-4">
<div class="flex flex-col">
<label for="priority" class="mb-1 font-semibold">Event</label>
<select id="priority" class="border border-gray-300 rounded-md p-2">
<option value="" disabled selected>Select event</option>
<option value="event1">Event 1</option>
<option value="event2">Event 2</option>
<option value="event3">Event 3</option>
</select>
</div>
<div class="flex flex-col">
<label for="no of tickets" class="mb-1 font-semibold">No of tickets</label>
<input id="no of tickets" class="border border-gray-300 rounded-md p-2" placeholder="Enter no of tickets" type="number"/>
</div>
<div class="flex flex-col">
<label for="priority" class="mb-1 font-semibold">Category</label>
<select id="priority" class="border border-gray-300 rounded-md p-2">
<option value="" disabled selected>Select priority</option>
<option value="Category 1">Category 1</option>
<option value="Category 2">Category 2</option>
<option value="Category 3">Category 3</option>
</select>
</div>
<div class="flex flex-col">
<label for="cost" class="mb-1 font-semibold">Ticket Cost</label>
<input id="cost" class="border border-gray-300 rounded-md p-2" placeholder="Enter ticket cost" type="number"/>
</div>
<button type="submit" class="bg-blue-600 text-white rounded-md p-2 mt-4 hover:bg-blue-700">Create Ticket</button>
</form>
</div>

</div>

Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';

import { CreateTicketComponent } from './create-ticket.component';

describe('CreateTicketComponent', () => {
let component: CreateTicketComponent;
let fixture: ComponentFixture<CreateTicketComponent>;

beforeEach(async () => {
await TestBed.configureTestingModule({
imports: [CreateTicketComponent]
})
.compileComponents();

fixture = TestBed.createComponent(CreateTicketComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});

it('should create', () => {
expect(component).toBeTruthy();
});
});
12 changes: 12 additions & 0 deletions eventz-ui/src/pages/admin/create-ticket/create-ticket.component.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { Component } from '@angular/core';

@Component({
selector: 'app-create-ticket',
standalone: true,
imports: [],
templateUrl: './create-ticket.component.html',
styleUrl: './create-ticket.component.scss'
})
export class CreateTicketComponent {

}
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ <h2 class="font-semibold text-lg text-eventTableColor">Tickets List</h2>
*ngIf="showHeaderDropDown"
class="absolute right-4 mt-28 w-auto bg-white border rounded shadow z-10 cursor-pointer"
>
<button class="block w-full text-left px-4 py-2 hover:bg-gray-100">
Add Ticket
<button class="block w-full text-left px-4 py-2 hover:bg-gray-100" (click)="navigateToCreateTicket()">
Create Ticket
</button>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ import { Component } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
import { faCheck, faEllipsisV, faTimes, faPlus, faSearch, faEllipsisH } from '@fortawesome/free-solid-svg-icons';
import { Ticket, User } from '../../../interfaces/interface';
import { Ticket } from '../../../interfaces/interface';
import { Router } from '@angular/router';

@Component({
selector: 'app-ticket-list-table',
Expand All @@ -23,6 +24,8 @@ export class TicketListTableComponent {
faEllipsisH = faEllipsisH;
showHeaderDropDown: boolean = false;

constructor (private router: Router) {}

tickets: Ticket[] = Array.from({ length: 37 }).map((_, i) => ({
ticketNo: `#Ticket ${i + 1}`,
event: ['NY Exhibition', 'LA Event', 'MIAMI Event'][i % 3],
Expand All @@ -37,7 +40,7 @@ export class TicketListTableComponent {

get paginatedTickets(): Ticket[] | [] {
const start = (this.currentPage - 1) * this.pageSize;
return this.tickets.slice(start, start + this.pageSize);
return this.tickets.slice(start, start + this.pageSize) || [];
}

changePage(page: number) {
Expand All @@ -54,4 +57,8 @@ export class TicketListTableComponent {
openHeaderDropDown () {
this.showHeaderDropDown = !this.showHeaderDropDown;
}

navigateToCreateTicket () {
this.router.navigate(['admin/create-ticket']);
}
}