-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
using preprocessors and SWorker in offline #9
base: main
Are you sure you want to change the base?
Conversation
@@ -18,13 +18,18 @@ | |||
"author": "", | |||
"license": "ISC", | |||
"dependencies": { | |||
"@jridgewell/sourcemap-codec": "^1.5.0", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Это что за зависимость?
@@ -0,0 +1,35 @@ | |||
import { BASE_API_URL } from '../config'; | |||
|
|||
class Draft { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
По поводу всего этого дела
Почитай про интерцепторы и попробуй реализовать свой инстанс.
Будет довольно удобно
|
||
export default function dateFormatingforEmails(emails) { | ||
for (let i = 0; i < emails.length; i++) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Почему тут c-style for?
if (response.ok) { | ||
const moveFolders = await response.json(); | ||
moveFolders.forEach(folder => { | ||
if (folder !== 'Входящие' && folder !== 'Отправленные' && folder !== 'Черновики') { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Очень плохая идея фиксироваться на конкретных значениях
Тут можно было бы сделать на основе флагов
Типа ты меняешь юайку
Отправляешь флаги на бек
Получаешь с бека какие то флаги
И на основе конфига с дека строишь юайку
В этом случае нинада будет синхронизировать фронт и бек при изменении названий
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
В случае отторжения или ощущении душноты
Читай простой пример:
Добавляем интернационализацию в приложение
И оно ломается
@@ -0,0 +1,14 @@ | |||
<div class="context_menu_container {{#if isMove}}move_menu{{/if}}"> | |||
{{#if isFolder}} | |||
<div class="context_menu_item delete_folder">Удалить папку</div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Почему хардкод тут?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Было бы не плохо получать свойства для объектов интерфейса из бекенда, так как ты работаешь с сущностями сервера
<div class="context_menu_item rename_folder">Переименовать папку</div> | ||
{{/if}} | ||
{{#if isEmail}} | ||
<div class="context_menu_item move_to_folder">Переместить</div> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
У сущности на беке может быть как список свойств, так и список команд которые данный пользователь может выполнить с этой сущностью
const emails = document.getElementsByClassName('email_card'); | ||
Array.from(emails).forEach(element => { | ||
element.dataset.id = element.dataset.id || element.getAttribute('data-id'); | ||
element.addEventListener('click', () => { | ||
Router.navigateTo('/email/' + element.dataset.id); | ||
if (folder === 'Черновики') { | ||
Router.navigateTo('/create_email?description=' + element.querySelector('.description').textContent + '&recipient=' + element.querySelector('.sender').textContent + '&title=' + element.querySelector('.title').textContent + '&id=' + element.dataset.id + '&isChangeDraft=true'); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Цэ что?
Выглядит очень страшно
Как будто можно написать функцию для query билдера
И как будто стремно брать данные из элемента
Типа должен быть какой то стейт
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
emails это не только верстка но и текущее состояние стейта на этой странице
Если ты как то отрисовал свои письма
Значит ты их откуда то взял
Они могут храниться в глобальном скопе, если вы делали стейт менеджер
И оттуда можно дернуть список писем
И не перетряхивать все дерево
Что выглядит как минимум странно
document.getElementsByClassName('email_card');
вот эта халабуда возвращает живую коллекцию
document.querySelectorAll можно же юзать это
И читаем ватето
https://developer.mozilla.org/ru/docs/Web/API/HTMLCollection
для баллов 2 РК