Appearance
Заметки
Сервис портфолио поддерживает два типа заметок:
1. Заметки к транзакциям
Привязаны к конкретной транзакции через поле nt (note). Максимум 100 символов.
2. Независимые заметки (Notes)
Самостоятельная система заметок, не привязанная к транзакциям. Управляется через отдельный Vuex-модуль notes.
Активация
Включается/выключается через выпадающий список в шапке портфолио (раздел «Управление функциями»).
Хранение
Хранятся в localStorage под ключом "notes" отдельно от транзакций:
json
[
{ "cnt": "Текст заметки", "ca": 1700000000 }
]| Поле | Описание | Ограничения |
|---|---|---|
cnt | Содержимое заметки | 1–100 символов |
ca | Дата создания | Unix timestamp |
Операции
| Операция | Метод | Описание |
|---|---|---|
| Создание | addNoteHandler(noteData) | Добавление в Vuex + localStorage |
| Чтение | getNotes() | Загрузка из localStorage |
| Обновление | updateNoteHandler(noteData) | Обновление по createdAt |
| Удаление | deleteNoteHandler(noteId) | Удаление по createdAt |
Интерфейс
- UserNotes — секция со списком заметок на внутренней странице монеты
- AddNotePopup — попап создания (textarea + авто-генерация timestamp)
- EditNotePopup — попап редактирования с возможностью удаления
- NoteCard — карточка заметки с текстом и «X времени назад»
Заметки отображаются в обратном хронологическом порядке (новые сверху).
Техническая реализация
subdomains/notes/
├── modules/
│ ├── noteCard/ — Карточка заметки
│ ├── notePopup/ — Попапы создания/редактирования
│ └── userNotes/ — Секция со списком заметок
├── store/notes.js — Vuex-модуль
├── tools/notes/
│ ├── noteItem.js — Модель заметки
│ └── noteValidation.js — Валидация
└── mixins/notes.js — CRUD-логика