Попов Дмитрий
22 дек. 2018 г., 10:07

Изучение @prisma-cms на базе API modxclub.ru. Топик 1: вывод пользователей с заведенными кошельками и баланса.

В рамках изучения @prisma-cms и шире (React, GrahQL, Apollo client и прочее) выполняю небольшие задачки. Что-то получается (но возможно можно сделать как-то лучше), что-то не очень. Думаю, что обсуждение таких задачек будет полезно не только мне.

Задача: подготовить модуль для вывода пользователей сайта modxclub.ru с открытыми кошельками и текущего баланса. Данные пользователей: имя и аватар.
Базовый модуль: https://github.com/Fi1osof/test-prisma-users. Здесь уже сформирован gql запрос и вывод id пользователей.

Внесены изменения в вывод данных:

return ( <div> {objects.map(n => { const { id, username, EthAccounts } = n; const { balance, } = EthAccounts || {} //console.log("EthAccounts", EthAccounts); return <div key={id} > { EthAccounts.map(eth => { const { id:eth_id, type, balance, } = eth; console.log("Eth", eth); return <div key={eth_id} style={{ borderBottom: "1x solid", }} > Пользователь: {username} <br/> Баланс: {balance} </div> }) } </div> })} </div> );
Есть подозрение, что вместо второй обработки массива есть более правильный вариант.

С аватаркой возник вопрос.
Данных не хватает, нужно добыть название файла.
Для этого добавил в gql запрос и в переменные поле image, что дало возможность сформировать ссыль на картинку.
<img src={"https://modxclub.ru/images/resized/thumb/" + image}/><br/> Пользователь: {username} <br/> Баланс: {balance}<br/><br/>
Хорошо бы добавить еще проверку на наличие картинки и вывод картинки-заглушки при отсутствии картинки.
Дима, а ты свои изменения куда-то вылил? Где можно увидеть твой вариант полностью?
Не вылил. А думаешь стоит на git вываливать? Всё-таки упражнение.

Таки гит в том числе для такого и придуман. Если ты делаешь на моем примере, то надо было:
1. Сделать себе клон моего проекта. Проще всего это делать прям на гитхабе, кликнув кнопку Fork.
2. Сливаешь клон себе на локал, выполняешь свои работы, коммитишь и выливаешь изменения в свой проект.
Profit.
В таком случае я смогу легко посмотреть что именно ты там сделал, слить к себе и запустить, посмотреть как это работает, и тогда уже дать комментарии по существу.
Супер! Утопал свои 35 на 100 исправлять))) По возможности))
Надо будет перепроверить логику кеширования данных по редактируемым комментам. Судя по всему начинаешь писать коммент в одном топике, потом, не дописав его, переходишь в другой топик и там его дописываешь и публикуешь. Но у него уже закешировано Parent... Надо поправить.
Странно: здесь вроде не начинал ничего писать. И из топика про оптимизацию сюда не переходил.

Добавить комментарий