-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #85 from DeluxeAlonso/feature/improvements
Feature/improvements - Calculator buttons redesign
- Loading branch information
Showing
18 changed files
with
266 additions
and
38 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
38 changes: 38 additions & 0 deletions
38
CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/ImageButton/CalculatorImageButton.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
// | ||
// CalculatorImageButton.swift | ||
// CalculatorReplicaSwiftUI | ||
// | ||
// Created by Alonso on 7/01/24. | ||
// Copyright © 2024 Alonso. All rights reserved. | ||
// | ||
|
||
import SwiftUI | ||
|
||
struct CalculatorImageButton: View { | ||
@EnvironmentObject var env: CalculatorEnvironmentObject | ||
|
||
let button: CalculatorImageButtonProtocol | ||
|
||
var body: some View { | ||
Button(action: { | ||
env.handleCalculatorButton(identifier: button.identifier) | ||
}, label: { | ||
Image(systemName: button.imageName) | ||
.font(.system(size: 25.0, weight: .medium)) | ||
.calculatorButtonStyle(for: button.style) | ||
}) | ||
.accessibility(label: Text(button.accessibilityLabel)) | ||
} | ||
} | ||
|
||
struct CalculatorImageButton_Previews: PreviewProvider { | ||
static var previews: some View { | ||
let calculatorImageButton = CalculatorImageButtonAdapter(identifier: "", | ||
imageName: "plus", | ||
accessibilityLabel: "", | ||
style: CalculatorButtonStyle(gridSpace: 1, | ||
tintColor: .blue, | ||
backgroundColor: .black)) | ||
CalculatorImageButton(button: calculatorImageButton) | ||
} | ||
} |
31 changes: 31 additions & 0 deletions
31
...orReplicaSwiftUI/Scenes/Calculator/Buttons/ImageButton/CalculatorImageButtonAdapter.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
// | ||
// CalculatorImageButtonAdapter.swift | ||
// CalculatorReplicaSwiftUI | ||
// | ||
// Created by Alonso on 7/01/24. | ||
// Copyright © 2024 Alonso. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
struct CalculatorImageButtonAdapter: CalculatorImageButtonProtocol { | ||
let identifier: String | ||
let imageName: String | ||
let accessibilityLabel: String | ||
let style: CalculatorButtonStyleProtocol | ||
|
||
init(identifier: String, imageName: String, accessibilityLabel: String, style: CalculatorButtonStyleProtocol) { | ||
self.identifier = identifier | ||
self.imageName = imageName | ||
self.accessibilityLabel = accessibilityLabel | ||
self.style = style | ||
} | ||
|
||
init?(_ calculatorButton: CalculatorButtonProtocol) { | ||
guard let imageName = calculatorButton.icon else { return nil } | ||
self.identifier = calculatorButton.identifier | ||
self.imageName = imageName | ||
self.accessibilityLabel = calculatorButton.accessibilityLabel | ||
self.style = calculatorButton.style | ||
} | ||
} |
16 changes: 16 additions & 0 deletions
16
...rReplicaSwiftUI/Scenes/Calculator/Buttons/ImageButton/CalculatorImageButtonProtocol.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
// | ||
// CalculatorImageButtonProtocol.swift | ||
// CalculatorReplicaSwiftUI | ||
// | ||
// Created by Alonso on 7/01/24. | ||
// Copyright © 2024 Alonso. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
protocol CalculatorImageButtonProtocol { | ||
var identifier: String { get } | ||
var imageName: String { get } | ||
var accessibilityLabel: String { get } | ||
var style: CalculatorButtonStyleProtocol { get } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
32 changes: 32 additions & 0 deletions
32
CalculatorReplicaSwiftUI/Scenes/Calculator/Buttons/TextButton/CalculatorTextButton.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
// | ||
// CalculatorTextButton.swift | ||
// CalculatorReplicaSwiftUI | ||
// | ||
// Created by Alonso on 7/01/24. | ||
// Copyright © 2024 Alonso. All rights reserved. | ||
// | ||
|
||
import SwiftUI | ||
|
||
struct CalculatorTextButton: View { | ||
@EnvironmentObject var env: CalculatorEnvironmentObject | ||
|
||
let button: CalculatorTextButtonProtocol | ||
|
||
var body: some View { | ||
Button(action: { | ||
env.handleCalculatorButton(identifier: button.identifier) | ||
}, label: { | ||
Text(button.text) | ||
.font(.system(size: 32.0)) | ||
.calculatorButtonStyle(for: button.style) | ||
}) | ||
.accessibility(label: Text(button.accessibilityLabel)) | ||
} | ||
} | ||
|
||
struct CalculatorTextButton_Previews: PreviewProvider { | ||
static var previews: some View { | ||
CalculatorTextButton(button: CalculatorTextButtonAdapter(CalculatorButton(representable: .eight))) | ||
} | ||
} |
30 changes: 30 additions & 0 deletions
30
...atorReplicaSwiftUI/Scenes/Calculator/Buttons/TextButton/CalculatorTextButtonAdapter.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
// | ||
// CalculatorTextButtonAdapter.swift | ||
// CalculatorReplicaSwiftUI | ||
// | ||
// Created by Alonso on 7/01/24. | ||
// Copyright © 2024 Alonso. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
struct CalculatorTextButtonAdapter: CalculatorTextButtonProtocol { | ||
let identifier: String | ||
let text: String | ||
let accessibilityLabel: String | ||
let style: CalculatorButtonStyleProtocol | ||
|
||
init(identifier: String, text: String, accessibilityLabel: String, style: CalculatorButtonStyleProtocol) { | ||
self.identifier = identifier | ||
self.text = text | ||
self.accessibilityLabel = accessibilityLabel | ||
self.style = style | ||
} | ||
|
||
init(_ calculatorButton: CalculatorButtonProtocol) { | ||
self.identifier = calculatorButton.identifier | ||
self.text = calculatorButton.title | ||
self.accessibilityLabel = calculatorButton.accessibilityLabel | ||
self.style = calculatorButton.style | ||
} | ||
} |
16 changes: 16 additions & 0 deletions
16
...torReplicaSwiftUI/Scenes/Calculator/Buttons/TextButton/CalculatorTextButtonProtocol.swift
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
// | ||
// CalculatorTextButtonProtocol.swift | ||
// CalculatorReplicaSwiftUI | ||
// | ||
// Created by Alonso on 7/01/24. | ||
// Copyright © 2024 Alonso. All rights reserved. | ||
// | ||
|
||
import Foundation | ||
|
||
protocol CalculatorTextButtonProtocol { | ||
var identifier: String { get } | ||
var text: String { get } | ||
var accessibilityLabel: String { get } | ||
var style: CalculatorButtonStyleProtocol { get } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes