Skip to content
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

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

using preprocessors and SWorker in offline #9

wants to merge 3 commits into from

Conversation

Tanev-N
Copy link
Collaborator

@Tanev-N Tanev-N commented Nov 16, 2024

для баллов 2 РК

@@ -18,13 +18,18 @@
"author": "",
"license": "ISC",
"dependencies": {
"@jridgewell/sourcemap-codec": "^1.5.0",
Copy link
Collaborator

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 {
Copy link
Collaborator

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++) {
Copy link
Collaborator

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 !== 'Черновики') {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Очень плохая идея фиксироваться на конкретных значениях
Тут можно было бы сделать на основе флагов

Типа ты меняешь юайку
Отправляешь флаги на бек
Получаешь с бека какие то флаги

И на основе конфига с дека строишь юайку

В этом случае нинада будет синхронизировать фронт и бек при изменении названий

Copy link
Collaborator

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>
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Почему хардкод тут?

Copy link
Collaborator

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>
Copy link
Collaborator

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');
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Цэ что?
Выглядит очень страшно
Как будто можно написать функцию для query билдера
И как будто стремно брать данные из элемента

Типа должен быть какой то стейт

Copy link
Collaborator

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants