[OCaml] High Intensity Training Online
refactor Move Feedback into the profile menu
Place the app Feedback link inside the profile dropdown with Profile, Settings, and Sign out. Reuse menu-link semantics, active state, and SPA navigation. Remove the obsolete top-navigation-only Feedback styling.
Changed files
lib/web/assets/hito.css
@@ -1054,29 +1054,6 @@
1054
1054
.account { display: block; }
1055
1055
}
1056
1056
1057
Removed:
/* The app-feedback header control sits beside the profile button and uses the
1058
Removed:
same compact button treatment. */
1059
Removed:
.app-feedback-button {
1060
Removed:
display: inline-flex;
1061
Removed:
align-items: center;
1062
Removed:
min-height: 2.75rem;
1063
Removed:
padding: 0.5rem 0.9rem;
1064
Removed:
border: 1px solid var(--brass);
1065
Removed:
border-radius: var(--radius);
1066
Removed:
color: var(--brass);
1067
Removed:
background: var(--brass-wash);
1068
Removed:
font-weight: 700;
1069
Removed:
text-decoration: none;
1070
Removed:
}
1071
Removed:
.app-feedback-button:hover {
1072
Removed:
color: var(--paper-raised);
1073
Removed:
background: var(--brass);
1074
Removed:
}
1075
Removed:
.app-feedback-button[aria-current] {
1076
Removed:
color: var(--paper-raised);
1077
Removed:
background: var(--oxblood);
1078
Removed:
border-color: var(--oxblood-dark);
1079
Removed:
}
1080
1057
1081
1058
/* The app-feedback page presents one active panel at a time through native
1082
1059
links, so both tabs remain usable without JavaScript. */
lib/web/pages.ml
@@ -74,22 +74,12 @@
74
74
in
75
75
tag "a" attrs [ txt "%s" label ]
76
76
in
77
Removed:
let feedback_attrs =
78
Removed:
[ class_ "app-feedback-button"; href Routes.app_feedback ]
79
Removed:
@ if spa_client then [ Dream_html.attr "data-hito-app-link" ] else []
80
Removed:
in
81
Removed:
let feedback_attrs =
82
Removed:
if String.equal "app-feedback" active then
83
Removed:
Dream_html.string_attr "aria-current" "page" :: feedback_attrs
84
Removed:
else feedback_attrs
85
Removed:
in
86
77
let summary_attrs =
87
78
if String.equal "profile" active then
88
79
[ class_ "profile"; Dream_html.string_attr "aria-current" "page" ]
89
80
else [ class_ "profile" ]
90
81
in
91
82
[
92
Removed:
tag "a" feedback_attrs [ txt "Feedback" ];
93
83
tag "details"
94
84
[ class_ "profile-menu" ]
95
85
[
@@ -104,6 +94,7 @@
104
94
[
105
95
menu_link "profile" Routes.profile "Profile";
106
96
menu_link "profile" Routes.profile "Settings";
97
Added:
menu_link "app-feedback" Routes.app_feedback "Feedback";
107
98
tag "form"
108
99
[
109
100
action Routes.logout;