From 8bfe743d37995959c5e72b220b4bba6221162eb6 Mon Sep 17 00:00:00 2001 From: ToastedToast0090 Date: Sun, 25 Jan 2026 17:15:30 -0800 Subject: [PATCH 1/2] Added markdown file containing Nouns and Verbs as well as initial folder structure for the assignment --- docs/analysis/nouns-and-verbs.md | 36 ++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 docs/analysis/nouns-and-verbs.md diff --git a/docs/analysis/nouns-and-verbs.md b/docs/analysis/nouns-and-verbs.md new file mode 100644 index 0000000..2bd9c25 --- /dev/null +++ b/docs/analysis/nouns-and-verbs.md @@ -0,0 +1,36 @@ +# Nouns and Verbs Analysis + +## Entities +- App + - verbs: load, start, close, refresh +- Page + - verbs: display, transition, update +- ToastNotification + - verbs: create, show, fade, remove +- Overlay + - verbs: activate, deactivate, flash +- Frame (MainFrame) + - verbs: render, navigate, initialize + +## Roles/Actors +- User + - verbs: click, navigate, open app, trigger action +- System + - verbs: notify, load resources, manage state + +## Attributes +- title +- message +- duration +- status +- src (page source) +- isActive +- type (toast type) + +## System/Technical +- iframe +- DOM element +- event listener +- CSS class +- script file +- container element \ No newline at end of file From 3cec7bdc3d00efd1a8341faf3a935a3fb5411f20 Mon Sep 17 00:00:00 2001 From: ToastedToast0090 Date: Sun, 25 Jan 2026 18:11:51 -0800 Subject: [PATCH 2/2] Adds files with skeleton code fit into unique objects. --- src/App.js | 10 ++++++++++ src/MainFrame.js | 9 +++++++++ src/Overlay.js | 9 +++++++++ src/Page.js | 9 +++++++++ src/ToastNotification.js | 12 ++++++++++++ 5 files changed, 49 insertions(+) create mode 100644 src/App.js create mode 100644 src/MainFrame.js create mode 100644 src/Overlay.js create mode 100644 src/Page.js create mode 100644 src/ToastNotification.js diff --git a/src/App.js b/src/App.js new file mode 100644 index 0000000..541dec1 --- /dev/null +++ b/src/App.js @@ -0,0 +1,10 @@ +export class App { + constructor(name) { + this.name = name; + } + + load() {} + start() {} + close() {} + refresh() {} +} diff --git a/src/MainFrame.js b/src/MainFrame.js new file mode 100644 index 0000000..f62c9d4 --- /dev/null +++ b/src/MainFrame.js @@ -0,0 +1,9 @@ +export class MainFrame { + constructor(iframeElement) { + this.iframeElement = iframeElement; + } + + render() {} + navigate(src) {} + initialize() {} +} diff --git a/src/Overlay.js b/src/Overlay.js new file mode 100644 index 0000000..b748a6e --- /dev/null +++ b/src/Overlay.js @@ -0,0 +1,9 @@ +export class Overlay { + constructor() { + this.isActive = false; + } + + activate() {} + deactivate() {} + flash() {} +} diff --git a/src/Page.js b/src/Page.js new file mode 100644 index 0000000..d541bd3 --- /dev/null +++ b/src/Page.js @@ -0,0 +1,9 @@ +export class Page { + constructor(src) { + this.src = src; + } + + display() {} + transition() {} + update() {} +} diff --git a/src/ToastNotification.js b/src/ToastNotification.js new file mode 100644 index 0000000..12f7562 --- /dev/null +++ b/src/ToastNotification.js @@ -0,0 +1,12 @@ +export class ToastNotification { + constructor(message, type, duration) { + this.message = message; + this.type = type; + this.duration = duration; + } + + create() {} + show() {} + fade() {} + remove() {} +}