diff --git a/hw/hw7/favicon.ico b/hw/hw7/favicon.ico
new file mode 100644
index 0000000..730b75a
Binary files /dev/null and b/hw/hw7/favicon.ico differ
diff --git a/hw/hw7/hw7.css b/hw/hw7/hw7.css
new file mode 100644
index 0000000..80d9a8b
--- /dev/null
+++ b/hw/hw7/hw7.css
@@ -0,0 +1,40 @@
+.desctription-heading{
+ display: block;
+ justify-self: center;
+ grid-area: 1/12/ 1 / 1;
+}
+
+.scheme-image{
+ grid-area: 2/1/6/5;
+ width: 100%;
+}
+.inputs{
+ grid-area: 2/5/3/6;
+ min-width: 300px;
+ max-width: 300px;
+}
+.outputs{
+ grid-area: 3/5/4/6;
+ min-width: 300px;
+ max-width: 300px;
+}
+.radio-label{
+ display: inline-block;
+}
+
+p{
+ line-height: 0;
+}
+.max-w{
+ width: 80%;
+}
+
+.hidden{
+ display: none;
+}
+body{
+ display: grid;
+ gap: 20px;
+ grid-template-columns: repeat(12,1fr);
+ grid-template-rows:repeat(6,min-content) ;
+}
\ No newline at end of file
diff --git a/hw/hw7/hw7.html b/hw/hw7/hw7.html
new file mode 100644
index 0000000..ffd1aa1
--- /dev/null
+++ b/hw/hw7/hw7.html
@@ -0,0 +1,61 @@
+
+
+
+ калькулятор равнобедренного треугольника
+
+
+
+
+
+ калькулятор равнобедренного треугольника
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/hw/hw7/hw7.js b/hw/hw7/hw7.js
new file mode 100644
index 0000000..a7e3448
--- /dev/null
+++ b/hw/hw7/hw7.js
@@ -0,0 +1,103 @@
+let elements = {
+ radioA: document.getElementById('radioButtonA'),
+ radioB: document.getElementById('radioButtonB'),
+ fieldsetA: document.getElementById('inputTypeFieldsetA'),
+ fieldsetB: document.getElementById('inputTypeFieldsetB'),
+ imageA: document.getElementById('schemeImageA'),
+ imageB: document.getElementById('schemeImageB'),
+
+ inputsForm: document.getElementById('inputsForm'),
+
+ equalSideLength: document.getElementById('equalSideLength'),
+ equalSideLengthErr: document.getElementById('equalSideLengthErr'),
+ baseAngle: document.getElementById('baseAngle'),
+ baseAngleErr: document.getElementById('baseAngleErr'),
+ baseSideLength: document.getElementById('baseSideLength'),
+ baseSideLengthErr: document.getElementById('baseSideLengthErr'),
+ baseAdjacentAngle: document.getElementById('baseAdjacentAngle'),
+ baseAdjacentAngleErr: document.getElementById('baseAdjacentAngleErr'),
+
+ outputsFieldset: document.getElementById('outputsFieldset'),
+ outputR: document.getElementById('outputValuesR'),
+ outputH: document.getElementById('outputValuesH'),
+ outputL: document.getElementById('outputValuesL'),
+ calculateButton: document.getElementById('calculateButton'),
+ clearButton: document.getElementById('clearButton'),
+ outputsTable: document.getElementById('outputsTable')
+}
+console.log("loaded js!")
+
+let currentModeIsA = true;
+let outputFields = {};
+
+
+
+function updateCheckboxes(){
+ outputFields["radius"]=elements.outputR.checked;
+ outputFields["heights"]=elements.outputH.checked;
+ outputFields["lengths"]=elements.outputL.checked;
+ console.log("output fields:",outputFields)
+}
+
+function switchAppearance(selectA) {
+ if (selectA) {
+ elements.imageA.classList.remove("hidden")
+ elements.imageB.classList.add("hidden")
+ elements.fieldsetA.classList.remove("hidden")
+ elements.fieldsetB.classList.add("hidden")
+ }
+ else {
+ elements.imageA.classList.add("hidden")
+ elements.imageB.classList.remove("hidden")
+ elements.fieldsetA.classList.add("hidden")
+ elements.fieldsetB.classList.remove("hidden")
+ }
+}
+
+function clearInputs(clearA) {
+ if (clearA) {
+ elements.equalSideLength.value = null;
+ elements.baseAngle.value = null;
+ }
+ else {
+ elements.baseSideLength.value = null;
+ elements.baseAdjacentAngle.value = null;
+ }
+ elements.outputsTable.classList.add("hidden");
+}
+elements.outputsFieldset.addEventListener('change', function (event) {
+ if (event.target.type === 'checkbox') {
+ updateCheckboxes();
+ }
+ else if(event.target.type === 'checkbox'){
+
+
+ }
+});
+
+elements.inputsForm.addEventListener('change', function (event) {
+ if (event.target.type === 'radio') {
+ if (event.target.id[event.target.id.length - 1].toLowerCase() == "a") {
+ currentModeIsA = true;
+ switchAppearance(true);
+ console.log("Switching inputs to A");
+ }
+ else {
+ currentModeIsA = false
+ switchAppearance(false);
+ console.log("Switching inputs to B");
+
+ }
+ }
+});
+
+elements.clearButton.addEventListener('click', (event) => {
+ event.preventDefault();
+ clearInputs(currentModeIsA)
+});
+
+
+
+// чтобы не сконфузило
+updateCheckboxes();
+switchAppearance(elements.radioA.checked);
\ No newline at end of file
diff --git a/hw/hw7/imgs/type1.jpeg b/hw/hw7/imgs/type1.jpeg
new file mode 100644
index 0000000..31a8080
Binary files /dev/null and b/hw/hw7/imgs/type1.jpeg differ
diff --git a/hw/hw7/imgs/type2.jpeg b/hw/hw7/imgs/type2.jpeg
new file mode 100644
index 0000000..9a4f95c
Binary files /dev/null and b/hw/hw7/imgs/type2.jpeg differ