Всем привет. Это не только мой первый вклад в развитие проекта голос, но и первый хакатон в моей жизни:)
Работать было непросто, так как я никогда не работал с node.js и фреймворком, на котором написан клиент голоса.
Далеко не с первого раза я смог всё это развернуть локально, но всё-же у меня получилось.
Задания из хакатона мне были не по силам, поэтому я писал сочинение на свободную тему, а именно - темы оформления клиента https://golos.id
Сам дизайн для меня вещь далёкая и даже больше скажу - нелюбимая. Для меня главной задачей было именно расширение функционала, а не красиво отрисованный и свёрстанный дизайн. Если в следующий раз кто-то из вас захочет порисовать и поверстать - выйдет гораздо лучше.
Ну и собственно что у меня получилось:)
В настройках аккаунта добавил возможность выбора темы:
Список ответов будет выглядеть вот так:
Главная страница:
И пост:
Если у кого глаза кровью пошли - извиняйте;)
Теперь техническая часть, точнее проблемы, которые у меня возникли.
Цветовая гамма опирается на класс у body. Добавить этот класс удалось только средствами js, костыльно. Пошел таким путём, потому что не смог в файле \server\app_render.jsx
взять переменную store.get('theme')
она всегда была пустой...
Соответственно не получилось и передать её в функцию ServerHTML
в файле \server\server-html.jsx
Мой код на гитхабе https://github.com/GolosChain/tolstoy/pull/379
@golos, @sheriff, @vik, @pav, @sancho.malyutin, @primus, @t3ran13, @ontofractal, @lehard, @antino, @timreznich, @kvg, @arhangel, @sxiii, @vadbars, @finch я старался, но что получилось-то получилось)))
Ап за старание -)
Ну разве что только за него))
Молодец! Моя идея была добавить еще одну вкладку с новым алгоритмом сортировки. До утра провозился, но так и не получилось доделать(
отличное начинание! стандартная тема конечно хромает, и было бы неплохо иметь что-то на выбор)
Перешёл сегодня на красно-чёрную тему. Сейчас случайно узнал, кто сделал. Молодец, глазки пока не выпали.
Непосредственно на css я потратил минут 15, остальные часов 10 разбирался как устроен клиент golos.io
Темы конечно-же улучшу.
Тема годная. Только не сохраняется, как и другие настройки.
@tristamoff, такое возможно? Мы не смогли повторить это. Я разлогиниваюсь/логинюсь - всё в новом цвете.
Если в LocalStorage хранится переменная theme
https://i.imgur.com/PVSTl2C.png
то должно работать.
А если она есть - то к body добавляется атрибут data-theme
https://i.imgur.com/x3nKBS1.png
@foster - у тебя после переключения темы добавляется переменная theme в localstorage? И пропадает ли она потом?
Я вот как на той неделе включил зеленую тему - так она и работает.
А уточните, что Вы делаете и как именно (по шагам), что тема у Вас не сохраняется? Нам не удалось добиться Вашего результата, у нас всё сохраняется ) Команда.
Захожу в настройки, выбираю "Red", на время текущей сессии цвет темы изменяется, а в следующий раз опять синий.
Язык и валюта тоже не сохраняются?
Опа... @b1acksun, не сохраняется?
Сохраняются. А настройки контента нет.
@tristamoff, привет! Подводим итоги, смотрим твоё решение.
@b1acksun (команда Голоса) настаивает, что нужно решение без костыля. Цитирую:
А в качестве возможной подсказки даёт, например, эту ссылку.
Можешь убрать костыль?
Да могу, буду выпиливать. Постараюсь сегодня выпилить.
Ок, это важно, ждём.
@tristamoff Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за Количество комментариев
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.
@tristamoff Поздравляю! Вы добились некоторого прогресса на Голосе и были награждены следующими новыми бейджами:
Награда за количество голосов
Вы можете нажать на любой бейдж, чтобы увидеть свою страницу на Доске Почета.
Чтобы увидеть больше информации о Доске Почета, нажмите здесь
Если вы больше не хотите получать уведомления, ответьте на этот комментарий словом
стоп
Голосуя за это уведомление, вы помогаете всем пользователям Голоса. Узнайте, как здесь.
лайк за пост) подпишусь, буду почитывать, надеюсь, взаимно)
Второй раз уже на меня подписываетесь))
дважды в душу запали))