# Система сохранения состояния групп

## Что сохраняется в localStorage

Состояние сворачивания/разворачивания групп сохраняется в localStorage браузера пользователя под ключом `template-groups-expanded-state`.

### Формат данных

```json
{
  "group-id-1": true,  // развернута
  "group-id-2": false, // свернута
  "group-id-3": true   // развернута
}
```

## Поведение по умолчанию

- **Новые группы** - развернуты по умолчанию
- **Группа "Без группы"** - всегда развернута (не управляется)
- **Удаленные группы** - их состояние автоматически очищается

## API изменения

- `is_visible` поле **УБРАНО** из API групп
- Сворачивание теперь **ТОЛЬКО локальное** в браузере пользователя
- Не отправляются запросы на сервер при сворачивании

## Функции управления

- `toggleGroupExpanded(groupId)` - переключить состояние группы
- `getGroupExpanded(groupId)` - получить текущее состояние
- `resetGroupStates()` - сбросить все состояния (для отладки)

## Автоочистка

Состояния для несуществующих групп автоматически удаляются при загрузке приложения.