From e6932f652845a80821d0222056edd181bf3b245d Mon Sep 17 00:00:00 2001 From: Mansoor Munawar Date: Sat, 8 Mar 2025 11:53:27 +0000 Subject: [PATCH 1/8] some changes --- dom-merge-conflict/tasks/buttons-and-counter/src/app.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js index af608eb6..f4f87b74 100644 --- a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js +++ b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js @@ -27,5 +27,11 @@ export function App() { increment(counter); }); + //Attach event listener to decrement button +const decrementButton = body.querySelector("#decrement"); +decrementButton.addEventListener("click", () => { + decrement(counter); +}); + return body; } From db8e341c3f18bb1026dba1f2e99f775795ff1ab5 Mon Sep 17 00:00:00 2001 From: sheetalkharab Date: Sat, 8 Mar 2025 11:53:50 +0000 Subject: [PATCH 2/8] change in app.js file --- dom-merge-conflict/tasks/buttons-and-counter/src/app.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js index af608eb6..3245024d 100644 --- a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js +++ b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js @@ -25,7 +25,12 @@ export function App() { const counter = body.querySelector("#counter"); button.addEventListener("click", () => { increment(counter); - }); + }); +// ✅ Attach event listener to decrement button +const decrementButton = body.querySelector("#decrement"); +decrementButton.addEventListener("click", () => { + decrement(counter); +}); - return body; + return body; } From f63363a08aa3a28b56fa39ccdeefb670681ec9fb Mon Sep 17 00:00:00 2001 From: sheetalkharab Date: Sat, 8 Mar 2025 11:54:07 +0000 Subject: [PATCH 3/8] change in app.test.js --- dom-merge-conflict/tasks/buttons-and-counter/test/app.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dom-merge-conflict/tasks/buttons-and-counter/test/app.test.js b/dom-merge-conflict/tasks/buttons-and-counter/test/app.test.js index 1139e456..a6eb41c1 100644 --- a/dom-merge-conflict/tasks/buttons-and-counter/test/app.test.js +++ b/dom-merge-conflict/tasks/buttons-and-counter/test/app.test.js @@ -35,7 +35,7 @@ describe("button and counter", () => { expect(getByTestId(container, "counter")).toHaveTextContent(/^2$/); }); - describe.skip("decrement button", () => { + describe("decrement button", () => { test("pressing Decrement decreases the counter", () => { const button = getByRole(container, "button", { name: "Decrement", From 4fa79c7c080153668ffd30e5605af2b8595fcbc0 Mon Sep 17 00:00:00 2001 From: Mansoor Munawar Date: Sat, 8 Mar 2025 11:59:31 +0000 Subject: [PATCH 4/8] change --- dom-merge-conflict/tasks/buttons-and-counter/src/app.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js index af608eb6..fc5a3b49 100644 --- a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js +++ b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js @@ -25,7 +25,9 @@ export function App() { const counter = body.querySelector("#counter"); button.addEventListener("click", () => { increment(counter); - }); + }); + + // hello return body; } From 0b04a3db373d5d40a8dca95b1396a76528615872 Mon Sep 17 00:00:00 2001 From: Mansoor Munawar Date: Sat, 8 Mar 2025 12:00:19 +0000 Subject: [PATCH 5/8] changes --- dom-merge-conflict/tasks/buttons-and-counter/src/app.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js index f4f87b74..ba98ebae 100644 --- a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js +++ b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js @@ -32,6 +32,6 @@ const decrementButton = body.querySelector("#decrement"); decrementButton.addEventListener("click", () => { decrement(counter); }); - + //world return body; } From 32e9741f69687d5924e4b9703f774c7a204b1ae6 Mon Sep 17 00:00:00 2001 From: Mansoor Munawar Date: Sat, 19 Jul 2025 11:26:33 +0100 Subject: [PATCH 6/8] add decrement button --- .../tasks/buttons-and-counter/src/app.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js index 1ea0e53b..5bfa5edc 100644 --- a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js +++ b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js @@ -3,6 +3,10 @@ function increment(node) { let current = node.textContent; node.textContent = Number(current) + 1; } +function decrement(node) { + let current = node.textContent; + node.textContent = Number(current) - 1; +} export function App() { const body = document.createElement("body"); @@ -22,13 +26,14 @@ export function App() { body.appendChild(main); const button = body.querySelector("#increment"); + const buttonDecrement = body.querySelector("#decrement"); const counter = body.querySelector("#counter"); button.addEventListener("click", () => { increment(counter); - }); - - + }); + buttonDecrement.addEventListener("click", () => { + decrement(counter); + }); //world - } From f9e319f411f3e5d764c71d51fd39d4897bfa7885 Mon Sep 17 00:00:00 2001 From: TarasMykytiuk Date: Sat, 19 Jul 2025 13:29:35 +0300 Subject: [PATCH 7/8] person_1 split files --- .../tasks/buttons-and-counter/src/app.js | 24 ++++++------------- .../tasks/buttons-and-counter/src/header.js | 8 +++++++ .../tasks/buttons-and-counter/src/main.js | 9 +++++++ .../buttons-and-counter/test/app.test.js | 2 +- 4 files changed, 25 insertions(+), 18 deletions(-) create mode 100644 dom-merge-conflict/tasks/buttons-and-counter/src/header.js create mode 100644 dom-merge-conflict/tasks/buttons-and-counter/src/main.js diff --git a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js index 1ea0e53b..df0c7b3f 100644 --- a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js +++ b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js @@ -1,3 +1,6 @@ +import { createHeader } from "../src/header"; +import { createMain } from "../src/main"; + //increments the number in a node's text function increment(node) { let current = node.textContent; @@ -7,28 +10,15 @@ function increment(node) { export function App() { const body = document.createElement("body"); - const header = document.createElement("header"); - header.innerHTML = ` -

Number Counter

-

A simple counter. Press increment to increase the count by one.

- `; - body.appendChild(header); + createHeader(body); - const main = document.createElement("main"); - main.innerHTML = ` -

0

- - `; - body.appendChild(main); + createMain(body); const button = body.querySelector("#increment"); const counter = body.querySelector("#counter"); button.addEventListener("click", () => { increment(counter); - }); - - + }); - //world - + return body; } diff --git a/dom-merge-conflict/tasks/buttons-and-counter/src/header.js b/dom-merge-conflict/tasks/buttons-and-counter/src/header.js new file mode 100644 index 00000000..19278b53 --- /dev/null +++ b/dom-merge-conflict/tasks/buttons-and-counter/src/header.js @@ -0,0 +1,8 @@ +function createHeader(body) { + const header = document.createElement("header"); + header.innerHTML = ` +

Number Counter

+

A simple counter. Press increment to increase the count by one.

`; + body.appendChild(header); +} + diff --git a/dom-merge-conflict/tasks/buttons-and-counter/src/main.js b/dom-merge-conflict/tasks/buttons-and-counter/src/main.js new file mode 100644 index 00000000..4a71440b --- /dev/null +++ b/dom-merge-conflict/tasks/buttons-and-counter/src/main.js @@ -0,0 +1,9 @@ +function createMain(body) { + const main = document.createElement("main"); + main.innerHTML = ` +

0

+ `; + body.appendChild(main); +} + + diff --git a/dom-merge-conflict/tasks/buttons-and-counter/test/app.test.js b/dom-merge-conflict/tasks/buttons-and-counter/test/app.test.js index a6eb41c1..1139e456 100644 --- a/dom-merge-conflict/tasks/buttons-and-counter/test/app.test.js +++ b/dom-merge-conflict/tasks/buttons-and-counter/test/app.test.js @@ -35,7 +35,7 @@ describe("button and counter", () => { expect(getByTestId(container, "counter")).toHaveTextContent(/^2$/); }); - describe("decrement button", () => { + describe.skip("decrement button", () => { test("pressing Decrement decreases the counter", () => { const button = getByRole(container, "button", { name: "Decrement", From b2ffb65a58adc48f49f50f05f0a50dfa4f30f797 Mon Sep 17 00:00:00 2001 From: avatarit Date: Sat, 19 Jul 2025 11:39:21 +0100 Subject: [PATCH 8/8] refactor: modularize app structure by creating header and main components --- .../tasks/buttons-and-counter/src/app.js | 34 ++++--------------- .../tasks/buttons-and-counter/src/header.js | 8 +++++ .../tasks/buttons-and-counter/src/main.js | 21 ++++++++++++ 3 files changed, 36 insertions(+), 27 deletions(-) create mode 100644 dom-merge-conflict/tasks/buttons-and-counter/src/header.js create mode 100644 dom-merge-conflict/tasks/buttons-and-counter/src/main.js diff --git a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js index 1ea0e53b..8403fcd8 100644 --- a/dom-merge-conflict/tasks/buttons-and-counter/src/app.js +++ b/dom-merge-conflict/tasks/buttons-and-counter/src/app.js @@ -1,34 +1,14 @@ -//increments the number in a node's text -function increment(node) { - let current = node.textContent; - node.textContent = Number(current) + 1; -} +import { createHeader } from "./header.js"; +import { createMain } from "./main.js"; export function App() { const body = document.createElement("body"); - const header = document.createElement("header"); - header.innerHTML = ` -

Number Counter

-

A simple counter. Press increment to increase the count by one.

- `; - body.appendChild(header); + const header = createHeader(); + const main = createMain(); - const main = document.createElement("main"); - main.innerHTML = ` -

0

- - `; + body.appendChild(header); body.appendChild(main); - const button = body.querySelector("#increment"); - const counter = body.querySelector("#counter"); - button.addEventListener("click", () => { - increment(counter); - }); - - - - //world - -} + return body; +} \ No newline at end of file diff --git a/dom-merge-conflict/tasks/buttons-and-counter/src/header.js b/dom-merge-conflict/tasks/buttons-and-counter/src/header.js new file mode 100644 index 00000000..707f042a --- /dev/null +++ b/dom-merge-conflict/tasks/buttons-and-counter/src/header.js @@ -0,0 +1,8 @@ +export function createHeader() { + const header = document.createElement("header"); + header.innerHTML = ` +

Number Counter

+

A simple counter. Press increment to increase the count by one.

+ `; + return header; + } \ No newline at end of file diff --git a/dom-merge-conflict/tasks/buttons-and-counter/src/main.js b/dom-merge-conflict/tasks/buttons-and-counter/src/main.js new file mode 100644 index 00000000..61dbffeb --- /dev/null +++ b/dom-merge-conflict/tasks/buttons-and-counter/src/main.js @@ -0,0 +1,21 @@ +function increment(node) { + const current = node.textContent; + node.textContent = Number(current) + 1; + } + + export function createMain() { + const main = document.createElement("main"); + main.innerHTML = ` +

0

+ + `; + + const button = main.querySelector("#increment"); + const counter = main.querySelector("#counter"); + + button.addEventListener("click", () => { + increment(counter); + }); + + return main; + } \ No newline at end of file