feat(preferences): frontend logic for user preferences

i think the `ng-repeat` should be here. we should list all the preferences with its legend, and by type we should decide what input type to use.