[Pharo] Personal fitness tracker web app.
Rename main navigation bar component.
Changed files
src/MyFitnessTracker-Components/MFTMainNavigationBar.class.st
@@ -0,0 +1,65 @@
1
Added:
Class {
2
Added:
#name : 'MFTMainNavigationBar',
3
Added:
#superclass : 'SBSComponent',
4
Added:
#instVars : [
5
Added:
'loginRegisterLogout'
6
Added:
],
7
Added:
#category : 'MyFitnessTracker-Components-Navigation',
8
Added:
#package : 'MyFitnessTracker-Components',
9
Added:
#tag : 'Navigation'
10
Added:
}
11
Added:
12
Added:
{ #category : 'as yet unclassified' }
13
Added:
MFTMainNavigationBar >> children [
14
Added:
15
Added:
^ { }
16
Added:
]
17
Added:
18
Added:
{ #category : 'as yet unclassified' }
19
Added:
MFTMainNavigationBar >> initialize [
20
Added:
21
Added:
super initialize.
22
Added:
loginRegisterLogout := MFTLoginRegisterLogoutComponent new
23
Added:
]
24
Added:
25
Added:
{ #category : 'rendering' }
26
Added:
MFTMainNavigationBar >> renderContentOn: html [
27
Added:
28
Added:
html navigationBar
29
Added:
beLight;
30
Added:
lightBackground;
31
Added:
expandLarge;
32
Added:
marginBottom: 3;
33
Added:
paddingLeftAndRight: 3;
34
Added:
style: 'position: sticky; top: 0; z-index: 1051';
35
Added:
with: [ self renderNavigationBarItemsOn: html ]
36
Added:
]
37
Added:
38
Added:
{ #category : 'as yet unclassified' }
39
Added:
MFTMainNavigationBar >> renderNavigationBarItemsOn: html [
40
Added:
41
Added:
| pm |
42
Added:
pm := self session pageManager.
43
Added:
html navigationBarBrand
44
Added:
callback: [ pm setActivePageAt: #home ];
45
Added:
with: 'MyFitnessTracker'.
46
Added:
"The toggler is only visible when the screen width is reduced."
47
Added:
html navigationBarToggler
48
Added:
beButtonType;
49
Added:
collapse;
50
Added:
dataTarget: '#navbarCollapsed';
51
Added:
with: [ html navigationBarTogglerIcon ].
52
Added:
html navigationBarCollapse collapse
53
Added:
id: 'navbarCollapsed';
54
Added:
class: 'justify-content-between';
55
Added:
with: [
56
Added:
html navigationBarNavigation: [
57
Added:
pm mainPages keysAndValuesDo: [ :name :page |
58
Added:
html navigationItem
59
Added:
beActiveIf: [ pm activePage = page ];
60
Added:
with: [
61
Added:
html navigationLink
62
Added:
callback: [ pm setActivePageAt: name ];
63
Added:
with: page title capitalized ] ] ].
64
Added:
html render: loginRegisterLogout ]
65
Added:
]
src/MyFitnessTracker-Components/MFTMainNavigationBarComponent.class.st
@@ -1,64 +0,0 @@
1
Removed:
Class {
2
Removed:
#name : 'MFTMainNavigationBarComponent',
3
Removed:
#superclass : 'SBSComponent',
4
Removed:
#instVars : [
5
Removed:
'loginRegisterLogout'
6
Removed:
],
7
Removed:
#category : 'MyFitnessTracker-Components',
8
Removed:
#package : 'MyFitnessTracker-Components'
9
Removed:
}
10
Removed:
11
Removed:
{ #category : 'hooks' }
12
Removed:
MFTMainNavigationBarComponent >> children [
13
Removed:
14
Removed:
^ { loginRegisterLogout }
15
Removed:
]
16
Removed:
17
Removed:
{ #category : 'initialization' }
18
Removed:
MFTMainNavigationBarComponent >> initialize [
19
Removed:
20
Removed:
super initialize.
21
Removed:
loginRegisterLogout := MFTLoginRegisterLogoutComponent new
22
Removed:
]
23
Removed:
24
Removed:
{ #category : 'rendering' }
25
Removed:
MFTMainNavigationBarComponent >> renderContentOn: html [
26
Removed:
27
Removed:
html navigationBar
28
Removed:
beLight;
29
Removed:
lightBackground;
30
Removed:
expandLarge;
31
Removed:
marginBottom: 3;
32
Removed:
paddingLeftAndRight: 3;
33
Removed:
style: 'position: sticky; top: 0; z-index: 1051';
34
Removed:
with: [ self renderNavigationBarItemsOn: html ]
35
Removed:
]
36
Removed:
37
Removed:
{ #category : 'rendering' }
38
Removed:
MFTMainNavigationBarComponent >> renderNavigationBarItemsOn: html [
39
Removed:
40
Removed:
| pm |
41
Removed:
pm := self session pageManager.
42
Removed:
html navigationBarBrand
43
Removed:
callback: [ pm setActivePageAt: #home ];
44
Removed:
with: 'MyFitnessTracker'.
45
Removed:
"The toggler is only visible when the screen width is reduced."
46
Removed:
html navigationBarToggler
47
Removed:
beButtonType;
48
Removed:
collapse;
49
Removed:
dataTarget: '#navbarCollapsed';
50
Removed:
with: [ html navigationBarTogglerIcon ].
51
Removed:
html navigationBarCollapse collapse
52
Removed:
id: 'navbarCollapsed';
53
Removed:
class: 'justify-content-between';
54
Removed:
with: [
55
Removed:
html navigationBarNavigation: [
56
Removed:
pm mainPages keysAndValuesDo: [ :name :page |
57
Removed:
html navigationItem
58
Removed:
beActiveIf: [ pm activePage = page ];
59
Removed:
with: [
60
Removed:
html navigationLink
61
Removed:
callback: [ pm setActivePageAt: name ];
62
Removed:
with: page title capitalized ] ] ].
63
Removed:
html render: loginRegisterLogout ]
64
Removed:
]
src/MyFitnessTracker/MFTPageManager.class.st
@@ -65,7 +65,7 @@
65
65
66
66
mainPages := self defaultPublicPages.
67
67
activePage := mainPages at: #home.
68
Removed:
mainNavigationBar := MFTMainNavigationBarComponent new.
68
Added:
mainNavigationBar := MFTMainNavigationBar new.
69
69
header := MFTRegisterProspectEmailHeader new.
70
70
footer := MFTDefaultFooter new
71
71
]