Новости
Большие небольшие обновления
Все началось с того, что я решил сделать на главной странице новости не по горизонтали, а "по человечески", одну под другой.
LT;DR:
Библиотека для построения интерфейса а-ля 1с в вебе: vue-multi-view
Сделал тут небольшую библиотеку для vue, которая позволяет лепить интерфейс, похожий на интерфейс 1с: одновременно существующие множество произвольных компонентов (аналог форм в 1с, я назвал их view) со своим состоянием.
Ссылка на демо чтобы потыкать: https://vmv-demo.fragster.ru/ используется Quasar, но сама либа не использует никакие надстройки над vue и может быть использована с какой угодно UI библиотекой.
Ссылка на библиотеку, там я на корявом английском попытался написать инструкцию, но лучше смотрите исходники демо: https://www.npmjs.com/package/vue-multi-view
Ссылка на исходники библиотеки: Github
Ссылка на исходники демо: Github, там библиотека добавлена как сабмодуль, так как так проще пилить.
Ещё одна рулетка для твистера
LT;DR https://yatr.fragster.ru/
Купил тут на днях твистер. Да, тот самый, который ковер с разноцветными кружками и "рулетка", неплохое развлечение для компаний, где все друг друга знают и не очень стесняются. Рулетка оказалась отвратительного качества (плохо крутится, если держать не горизонтально, то стрелка поворачивается в одну и ту же сторону).
С удивлением обнаружил, что в интернетах "эмуляторы рулетки для твистера" все унылые и не похожие на физическое воплощение. По этому решил сделать свой. Ну и заодно попрактиковаться в vue, изучить настройку vite и вот это всё. В процессе вылезло много всяких интересных нюансов, о которых я, наверное, напишу статью, но в итоге все получилось и вот результат:
К тому же сделано оно в качестве PWA, по этому его можно "установить" на устройство, и оно будет работать не только онлайн, но и без интернета (после установки).
При запуске с ярлыка оно будет очень похоже на обычное приложение - не будет адресной строки и прочих элементов управления браузера.
Единственное - при вращении стрелки добавил запрос на сервер (не передающий никаких данных, кроме единожды сгенеренной куки, никак не связанной с устройством или пользователем) для подсчета того, кто и сколько будет этой узконишевой вещью пользоваться.