Public and user homepages.

Commit
0adf059e448e0e510200ce98102e8b568f2d0790
Author
Marius Peter <marius.peter@tutanota.com>
Author date
Committer
Marius Peter <marius.peter@tutanota.com>
Committer date
Changed files
src/MyFitnessTracker/MFTPublicHomepage.class.st
index 3526b262..00000000 100644..000000
@@ -1,55 +0,0 @@
1 Removed: Class {
2 Removed: #name : #MFTPublicHomepage,
3 Removed: #superclass : #MFTTab,
4 Removed: #category : #'MyFitnessTracker-Components'
5 Removed: }
6 Removed:
7 Removed: { #category : #initialization }
8 Removed: MFTPublicHomepage >> initialize [
9 Removed:
10 Removed: super initialize.
11 Removed: title := 'home'
12 Removed: ]
13 Removed:
14 Removed: { #category : #rendering }
15 Removed: MFTPublicHomepage >> renderContentOn: html [
16 Removed:
17 Removed: html container: [
18 Removed: html column smallVariableWidth with: [
19 Removed: self renderMainCardOn: html.
20 Removed: self renderPromisesCardOn: html ] ]
21 Removed: ]
22 Removed:
23 Removed: { #category : #rendering }
24 Removed: MFTPublicHomepage >> renderMainCardOn: html [
25 Removed:
26 Removed: html card: [
27 Removed: html jumbotron
28 Removed: class: 'p-3 bg-light';
29 Removed: with: [
30 Removed: html displayHeading
31 Removed: level: 1;
32 Removed: with: 'Welcome to My Fitness Tracker!'.
33 Removed: html big textMuted with: 'Free Software never looked so fit.'.
34 Removed: html form: [ "TODO"
35 Removed: html formButton
36 Removed: bePrimary;
37 Removed: beLarge;
38 Removed: class: 'mt-3';
39 Removed: callback: [ self call: MFTWorkoutDialog ];
40 Removed: with: 'Log a workout' ] ] ]
41 Removed: ]
42 Removed:
43 Removed: { #category : #rendering }
44 Removed: MFTPublicHomepage >> renderPromisesCardOn: html [
45 Removed:
46 Removed: html card
47 Removed: marginTopAndBottom: 3;
48 Removed: with: [
49 Removed: html cardHeader: 'We promise you...'.
50 Removed: html cardBody: [
51 Removed: html unorderedList: [
52 Removed: html listItem: 'All features shall always be entirely free.'.
53 Removed: html listItem: 'No user data shall ever be sold.'.
54 Removed: html listItem: '.' ] ] ]
55 Removed: ]
src/MyFitnessTracker/MFTPublicHomepageTab.class.st
index 00000000..320a7e08 000000..100644
@@ -0,0 +1,60 @@
1 Added: Class {
2 Added: #name : #MFTPublicHomepageTab,
3 Added: #superclass : #MFTTab,
4 Added: #category : #'MyFitnessTracker-Components'
5 Added: }
6 Added:
7 Added: { #category : #initialization }
8 Added: MFTPublicHomepageTab >> initialize [
9 Added:
10 Added: super initialize.
11 Added: title := 'home'
12 Added: ]
13 Added:
14 Added: { #category : #rendering }
15 Added: MFTPublicHomepageTab >> renderContentOn: html [
16 Added:
17 Added: html container: [
18 Added: self renderMainCardOn: html.
19 Added: self renderPromisesCardOn: html ]
20 Added: ]
21 Added:
22 Added: { #category : #rendering }
23 Added: MFTPublicHomepageTab >> renderMainCardOn: html [
24 Added:
25 Added: self session user isLoggedIn ifTrue: [
26 Added: (self session db select: '*' from: 'users') do: [ :each |
27 Added: html listItem: each asArray ] ].
28 Added: html card: [
29 Added: html jumbotron
30 Added: class: 'p-3 bg-light';
31 Added: with: [
32 Added: html displayHeading
33 Added: level: 1;
34 Added: with: 'Welcome to My Fitness Tracker!'.
35 Added: html big textMuted with: 'Free Software never looked so fit.'.
36 Added: html paragraph: (self session user isLoggedIn
37 Added: ifTrue: [ 'User ' , self session user , ' is logged in.' ]
38 Added: ifFalse: [ 'No user is currently logged in.' ]).
39 Added: html form: [ "TODO"
40 Added: html formButton
41 Added: bePrimary;
42 Added: beLarge;
43 Added: class: 'mt-3';
44 Added: callback: [ self call: MFTWorkoutDialog ];
45 Added: with: 'Log a workout' ] ] ]
46 Added: ]
47 Added:
48 Added: { #category : #rendering }
49 Added: MFTPublicHomepageTab >> renderPromisesCardOn: html [
50 Added:
51 Added: html card
52 Added: marginTopAndBottom: 3;
53 Added: with: [
54 Added: html cardHeader: 'We promise you...'.
55 Added: html cardBody: [
56 Added: html unorderedList: [
57 Added: html listItem: 'All features shall always be entirely free.'.
58 Added: html listItem: 'No user data shall ever be sold.'.
59 Added: html listItem: '.' ] ] ]
60 Added: ]
src/MyFitnessTracker/MFTUserHomepage.class.st
index e27f74e3..00000000 100644..000000
@@ -1,23 +0,0 @@
1 Removed: Class {
2 Removed: #name : #MFTUserHomepage,
3 Removed: #superclass : #MFTTab,
4 Removed: #category : #'MyFitnessTracker-Components'
5 Removed: }
6 Removed:
7 Removed: { #category : #initialization }
8 Removed: MFTUserHomepage >> initialize [
9 Removed:
10 Removed: super initialize.
11 Removed: title := self session user capitalized
12 Removed: ]
13 Removed:
14 Removed: { #category : #rendering }
15 Removed: MFTUserHomepage >> renderContentOn: html [
16 Removed:
17 Removed: html container: [
18 Removed: html displayHeading
19 Removed: level: 1;
20 Removed: with: 'Welcome, ' , self session user , '!'.
21 Removed: html unorderedList: [
22 Removed: self session allProspects do: [ :each | html listItem: each ] ] ]
23 Removed: ]
src/MyFitnessTracker/MFTUserHomepageTab.class.st
index 00000000..43112868 000000..100644
@@ -0,0 +1,25 @@
1 Added: Class {
2 Added: #name : #MFTUserHomepageTab,
3 Added: #superclass : #MFTTab,
4 Added: #category : #'MyFitnessTracker-Components'
5 Added: }
6 Added:
7 Added: { #category : #initialization }
8 Added: MFTUserHomepageTab >> initialize [
9 Added:
10 Added: super initialize.
11 Added: title := self session user ifNotNil: [
12 Added: self session user username capitalized ]
13 Added: ]
14 Added:
15 Added: { #category : #rendering }
16 Added: MFTUserHomepageTab >> renderContentOn: html [
17 Added:
18 Added: " html container: [
19 Added: " "html displayHeading
20 Added: level: 1;
21 Added: with: 'Welcome, ' , self session user username , '!'."
22 Added: "html unorderedList: [
23 Added: (self session db selectAll: 'prospects') do: [ :prospect |
24 Added: html listItem: prospect ] ] ]"
25 Added: ]