Начните с изучения поиска. На Тостере уже отвечали про то, как учить вёрстку. На Тостере уже отвечали о том, какие шансы у верстальщика зарабатывать на фрилансе. И на Тостере уже отвечали о том, какие шансы зарабатывать на фрилансе, не имея за спиной хотя бы пары лет офисной работы.
изменяя что-то в одном компоненте, меняется во всех
Вам следует изменить структуру данных в хранилище - так, чтобы можно было держать там данные сразу для нескольких экземпляров mortgage-list. Сделайте объект, ключами будут id (те, что вы используете в качестве key - они ведь уникальные, правда же?). Ну а значениями - объекты с данными для отдельного экземпляра. В сам компоненте mortgage-list надо добавить вычисляемое свойство, где по id из хранилища будет извлекаться нужный объект.
На лицо некий код, который и с сессией работает и с БД — явное нарушение общепринятных принципов, например SRP
$dao как инициализирована? Явно не через конструктор
Использование цифры, вот сиди гадай по ней — это плохо, используйте именованную константу. Например 3 — это некий статус для desktop, вот и назовите ее STATUS_DESKTOP, хотя далее...
вы обращаетесь к одному методу, который шибко умный — работает с флагами, тем самым нарушая SRP и сам содержит if/else, сделайте просто 2 раздельных метода:
getMobileOpinionList()
getDefaultOpinionList()
Предикат лучше вынести в отдельный метод isMobileOnly(), тк условия могут поменяться в нем, не будете же везде в if менять по всему проекту
:nth-child(3) возвращает именно третий элемент, чем бы не ни был. А так как он не name=equal, то ваше правило для него и не срабатывает. К сожалению, в CSS данный алгоритм работает именно так.
Поэтому только через JS, ибо CSS тут бессилен. Есть костыль: можете изменить теги всех div с name=equal на другой и выбрать их тогда :nth-of-type:
Полный костыль, да. Так делать не надо, хоть и работает.