From d33422be3740d194bc17116d9e98cae1fd88dbb9 Mon Sep 17 00:00:00 2001 From: Naomi Carrigan Date: Sat, 27 Dec 2025 13:05:33 -0800 Subject: [PATCH] feat: components --- eslint.config.mjs | 4 ++++ src/app/about/about.css | 0 src/app/about/about.html | 1 + src/app/about/about.spec.ts | 29 +++++++++++++++++++++++++++ src/app/about/about.ts | 19 ++++++++++++++++++ src/app/bulletin/bulletin.css | 0 src/app/bulletin/bulletin.html | 1 + src/app/bulletin/bulletin.spec.ts | 29 +++++++++++++++++++++++++++ src/app/bulletin/bulletin.ts | 19 ++++++++++++++++++ src/app/disclaimer/disclaimer.css | 0 src/app/disclaimer/disclaimer.html | 1 + src/app/disclaimer/disclaimer.spec.ts | 29 +++++++++++++++++++++++++++ src/app/disclaimer/disclaimer.ts | 19 ++++++++++++++++++ src/app/faq/faq.css | 0 src/app/faq/faq.html | 1 + src/app/faq/faq.spec.ts | 29 +++++++++++++++++++++++++++ src/app/faq/faq.ts | 19 ++++++++++++++++++ src/app/footer/footer.css | 0 src/app/footer/footer.html | 1 + src/app/footer/footer.spec.ts | 29 +++++++++++++++++++++++++++ src/app/footer/footer.ts | 19 ++++++++++++++++++ src/app/handbook/handbook.css | 0 src/app/handbook/handbook.html | 1 + src/app/handbook/handbook.spec.ts | 29 +++++++++++++++++++++++++++ src/app/handbook/handbook.ts | 19 ++++++++++++++++++ src/app/home/home.css | 0 src/app/home/home.html | 1 + src/app/home/home.spec.ts | 29 +++++++++++++++++++++++++++ src/app/home/home.ts | 19 ++++++++++++++++++ src/app/nav/nav.css | 0 src/app/nav/nav.html | 1 + src/app/nav/nav.spec.ts | 29 +++++++++++++++++++++++++++ src/app/nav/nav.ts | 19 ++++++++++++++++++ src/app/reviews/reviews.css | 0 src/app/reviews/reviews.html | 1 + src/app/reviews/reviews.spec.ts | 29 +++++++++++++++++++++++++++ src/app/reviews/reviews.ts | 19 ++++++++++++++++++ src/app/staff/staff.css | 0 src/app/staff/staff.html | 1 + src/app/staff/staff.spec.ts | 29 +++++++++++++++++++++++++++ src/app/staff/staff.ts | 19 ++++++++++++++++++ src/app/ticker/ticker.css | 0 src/app/ticker/ticker.html | 1 + src/app/ticker/ticker.spec.ts | 29 +++++++++++++++++++++++++++ src/app/ticker/ticker.ts | 19 ++++++++++++++++++ 45 files changed, 543 insertions(+) create mode 100644 src/app/about/about.css create mode 100644 src/app/about/about.html create mode 100644 src/app/about/about.spec.ts create mode 100644 src/app/about/about.ts create mode 100644 src/app/bulletin/bulletin.css create mode 100644 src/app/bulletin/bulletin.html create mode 100644 src/app/bulletin/bulletin.spec.ts create mode 100644 src/app/bulletin/bulletin.ts create mode 100644 src/app/disclaimer/disclaimer.css create mode 100644 src/app/disclaimer/disclaimer.html create mode 100644 src/app/disclaimer/disclaimer.spec.ts create mode 100644 src/app/disclaimer/disclaimer.ts create mode 100644 src/app/faq/faq.css create mode 100644 src/app/faq/faq.html create mode 100644 src/app/faq/faq.spec.ts create mode 100644 src/app/faq/faq.ts create mode 100644 src/app/footer/footer.css create mode 100644 src/app/footer/footer.html create mode 100644 src/app/footer/footer.spec.ts create mode 100644 src/app/footer/footer.ts create mode 100644 src/app/handbook/handbook.css create mode 100644 src/app/handbook/handbook.html create mode 100644 src/app/handbook/handbook.spec.ts create mode 100644 src/app/handbook/handbook.ts create mode 100644 src/app/home/home.css create mode 100644 src/app/home/home.html create mode 100644 src/app/home/home.spec.ts create mode 100644 src/app/home/home.ts create mode 100644 src/app/nav/nav.css create mode 100644 src/app/nav/nav.html create mode 100644 src/app/nav/nav.spec.ts create mode 100644 src/app/nav/nav.ts create mode 100644 src/app/reviews/reviews.css create mode 100644 src/app/reviews/reviews.html create mode 100644 src/app/reviews/reviews.spec.ts create mode 100644 src/app/reviews/reviews.ts create mode 100644 src/app/staff/staff.css create mode 100644 src/app/staff/staff.html create mode 100644 src/app/staff/staff.spec.ts create mode 100644 src/app/staff/staff.ts create mode 100644 src/app/ticker/ticker.css create mode 100644 src/app/ticker/ticker.html create mode 100644 src/app/ticker/ticker.spec.ts create mode 100644 src/app/ticker/ticker.ts diff --git a/eslint.config.mjs b/eslint.config.mjs index 187ec70..73adedc 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -24,6 +24,8 @@ export default [ "import/extensions": "off", // This is a web app "no-console": "off", + // Sometimes a component class will be empty. Not all components require logic. + "@typescript-eslint/no-extraneous-class": "off", } }, { @@ -42,6 +44,8 @@ export default [ "import/extensions": "off", // We turn this off because the test bed has weak types. "@typescript-eslint/consistent-type-assertions": "off", + // This one allows us to define test globals. + "@typescript-eslint/init-declarations": "off", } } ] \ No newline at end of file diff --git a/src/app/about/about.css b/src/app/about/about.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/about/about.html b/src/app/about/about.html new file mode 100644 index 0000000..6094aa9 --- /dev/null +++ b/src/app/about/about.html @@ -0,0 +1 @@ +

about works!

diff --git a/src/app/about/about.spec.ts b/src/app/about/about.spec.ts new file mode 100644 index 0000000..c35292a --- /dev/null +++ b/src/app/about/about.spec.ts @@ -0,0 +1,29 @@ +/** + * @copyright NHCarrigan + * @license Naomi's Public License + * @author Naomi Carrigan + */ +import { type ComponentFixture, TestBed } from "@angular/core/testing"; +import { describe, beforeEach, it, expect } from "vitest"; +import { About } from "./about"; + +describe("about", () => { + let component: About; + let fixture: ComponentFixture; + + beforeEach(async() => { + await TestBed.configureTestingModule({ + imports: [ About ], + }). + compileComponents(); + + fixture = TestBed.createComponent(About); + component = fixture.componentInstance; + await fixture.whenStable(); + }); + + it("should create", () => { + expect.assertions(1); + expect(component, "did not compile").toBeTruthy(); + }); +}); diff --git a/src/app/about/about.ts b/src/app/about/about.ts new file mode 100644 index 0000000..d778c6a --- /dev/null +++ b/src/app/about/about.ts @@ -0,0 +1,19 @@ +/** + * @copyright NHCarrigan + * @license Naomi's Public License + * @author Naomi Carrigan + */ +import { Component } from "@angular/core"; + +/** + * Renders the about page. + */ +@Component({ + imports: [], + selector: "app-about", + styleUrl: "./about.css", + templateUrl: "./about.html", +}) +export class About { + +} diff --git a/src/app/bulletin/bulletin.css b/src/app/bulletin/bulletin.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/bulletin/bulletin.html b/src/app/bulletin/bulletin.html new file mode 100644 index 0000000..3f7fb8f --- /dev/null +++ b/src/app/bulletin/bulletin.html @@ -0,0 +1 @@ +

bulletin works!

diff --git a/src/app/bulletin/bulletin.spec.ts b/src/app/bulletin/bulletin.spec.ts new file mode 100644 index 0000000..6bb1110 --- /dev/null +++ b/src/app/bulletin/bulletin.spec.ts @@ -0,0 +1,29 @@ +/** + * @copyright NHCarrigan + * @license Naomi's Public License + * @author Naomi Carrigan + */ +import { type ComponentFixture, TestBed } from "@angular/core/testing"; +import { describe, beforeEach, it, expect } from "vitest"; +import { Bulletin } from "./bulletin"; + +describe("bulletin", () => { + let component: Bulletin; + let fixture: ComponentFixture; + + beforeEach(async() => { + await TestBed.configureTestingModule({ + imports: [ Bulletin ], + }). + compileComponents(); + + fixture = TestBed.createComponent(Bulletin); + component = fixture.componentInstance; + await fixture.whenStable(); + }); + + it("should create", () => { + expect.assertions(1); + expect(component, "did not compile").toBeTruthy(); + }); +}); diff --git a/src/app/bulletin/bulletin.ts b/src/app/bulletin/bulletin.ts new file mode 100644 index 0000000..0044d09 --- /dev/null +++ b/src/app/bulletin/bulletin.ts @@ -0,0 +1,19 @@ +/** + * @copyright NHCarrigan + * @license Naomi's Public License + * @author Naomi Carrigan + */ +import { Component } from "@angular/core"; + +/** + * Renders the bulletin page. + */ +@Component({ + imports: [], + selector: "app-bulletin", + styleUrl: "./bulletin.css", + templateUrl: "./bulletin.html", +}) +export class Bulletin { + +} diff --git a/src/app/disclaimer/disclaimer.css b/src/app/disclaimer/disclaimer.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/disclaimer/disclaimer.html b/src/app/disclaimer/disclaimer.html new file mode 100644 index 0000000..cb054f2 --- /dev/null +++ b/src/app/disclaimer/disclaimer.html @@ -0,0 +1 @@ +

disclaimer works!

diff --git a/src/app/disclaimer/disclaimer.spec.ts b/src/app/disclaimer/disclaimer.spec.ts new file mode 100644 index 0000000..7199995 --- /dev/null +++ b/src/app/disclaimer/disclaimer.spec.ts @@ -0,0 +1,29 @@ +/** + * @copyright NHCarrigan + * @license Naomi's Public License + * @author Naomi Carrigan + */ +import { type ComponentFixture, TestBed } from "@angular/core/testing"; +import { describe, beforeEach, it, expect } from "vitest"; +import { Disclaimer } from "./disclaimer"; + +describe("disclaimer", () => { + let component: Disclaimer; + let fixture: ComponentFixture; + + beforeEach(async() => { + await TestBed.configureTestingModule({ + imports: [ Disclaimer ], + }). + compileComponents(); + + fixture = TestBed.createComponent(Disclaimer); + component = fixture.componentInstance; + await fixture.whenStable(); + }); + + it("should create", () => { + expect.assertions(1); + expect(component, "did not compile").toBeTruthy(); + }); +}); diff --git a/src/app/disclaimer/disclaimer.ts b/src/app/disclaimer/disclaimer.ts new file mode 100644 index 0000000..9842aa6 --- /dev/null +++ b/src/app/disclaimer/disclaimer.ts @@ -0,0 +1,19 @@ +/** + * @copyright NHCarrigan + * @license Naomi's Public License + * @author Naomi Carrigan + */ +import { Component } from "@angular/core"; + +/** + * Renders the disclaimer page. + */ +@Component({ + imports: [], + selector: "app-disclaimer", + styleUrl: "./disclaimer.css", + templateUrl: "./disclaimer.html", +}) +export class Disclaimer { + +} diff --git a/src/app/faq/faq.css b/src/app/faq/faq.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/faq/faq.html b/src/app/faq/faq.html new file mode 100644 index 0000000..7ccd1b6 --- /dev/null +++ b/src/app/faq/faq.html @@ -0,0 +1 @@ +

faq works!

diff --git a/src/app/faq/faq.spec.ts b/src/app/faq/faq.spec.ts new file mode 100644 index 0000000..53302e9 --- /dev/null +++ b/src/app/faq/faq.spec.ts @@ -0,0 +1,29 @@ +/** + * @copyright NHCarrigan + * @license Naomi's Public License + * @author Naomi Carrigan + */ +import { type ComponentFixture, TestBed } from "@angular/core/testing"; +import { describe, beforeEach, it, expect } from "vitest"; +import { Faq } from "./faq"; + +describe("faq", () => { + let component: Faq; + let fixture: ComponentFixture; + + beforeEach(async() => { + await TestBed.configureTestingModule({ + imports: [ Faq ], + }). + compileComponents(); + + fixture = TestBed.createComponent(Faq); + component = fixture.componentInstance; + await fixture.whenStable(); + }); + + it("should create", () => { + expect.assertions(1); + expect(component, "did not compile").toBeTruthy(); + }); +}); diff --git a/src/app/faq/faq.ts b/src/app/faq/faq.ts new file mode 100644 index 0000000..fbc819e --- /dev/null +++ b/src/app/faq/faq.ts @@ -0,0 +1,19 @@ +/** + * @copyright NHCarrigan + * @license Naomi's Public License + * @author Naomi Carrigan + */ +import { Component } from "@angular/core"; + +/** + * Renders the FAQ page. + */ +@Component({ + imports: [], + selector: "app-faq", + styleUrl: "./faq.css", + templateUrl: "./faq.html", +}) +export class Faq { + +} diff --git a/src/app/footer/footer.css b/src/app/footer/footer.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/footer/footer.html b/src/app/footer/footer.html new file mode 100644 index 0000000..28c0d7d --- /dev/null +++ b/src/app/footer/footer.html @@ -0,0 +1 @@ +

footer works!

diff --git a/src/app/footer/footer.spec.ts b/src/app/footer/footer.spec.ts new file mode 100644 index 0000000..a3c3a89 --- /dev/null +++ b/src/app/footer/footer.spec.ts @@ -0,0 +1,29 @@ +/** + * @copyright NHCarrigan + * @license Naomi's Public License + * @author Naomi Carrigan + */ +import { type ComponentFixture, TestBed } from "@angular/core/testing"; +import { describe, beforeEach, it, expect } from "vitest"; +import { Footer } from "./footer"; + +describe("footer", () => { + let component: Footer; + let fixture: ComponentFixture