#import "@preview/modern-g7-32:0.2.0": appendixes, enum-numbering, gost
#import "includes/common.typ": pz-appendix-title, pz-fig, pz-figure-caption-separator, pz-thesis-subject

#set enum(numbering: enum-numbering)
#set heading(numbering: "1.1.1.1")

#show: gost.with(
  ministry: "Министерство науки и высшего образования Российской Федерации",
  organization: (
    full: "Федеральное государственное автономное образовательное учреждение высшего образования «Южный федеральный университет»",
    short: "ЮФУ",
  ),
  about: "пояснительной записке",
  subject: pz-thesis-subject,
  approved-by: (
    name: "Беликов А. Н.",
    position: "старший преподаватель кафедры системного анализа и телекоммуникаций",
  ),
  manager: (
    name: "Беликов А. Н.",
    position: "научный руководитель ВКР, старший преподаватель",
  ),
  city: "Таганрог",
  year: 2026,
  performers: (
    (name: "Пытков Р. Е.", position: "студент гр. КТбо4-9"),
  ),
  hide-title: true,
)

#set text(font: "Times New Roman")
#set figure.caption(separator: pz-figure-caption-separator)

// Первые 3 страницы — front-matter-export/ВКР_первы_3_страницы_Пытков.pdf (qpdf в scripts/build*.sh)
#include "includes/pz-page-offset.typ"
#include "includes/abstract-ru.typ"
#include "includes/abstract-en.typ"

#set outline(indent: 1.25cm / 2)
#outline()

#include "includes/abbreviations.typ"

#include "includes/intro.typ"
#include "includes/ch01.typ"
#include "includes/ch02.typ"
#include "includes/ch03.typ"
#include "includes/ch04.typ"
#include "includes/ch05.typ"
#include "includes/ch06-vpk.typ"
#include "includes/conclusion.typ"

// Заголовок списка источников задаётся в gost (bibliography.title).
#bibliography("references.bib")

#show: appendixes

#pz-appendix-title[Листинги исходного кода проекта Wallenc]

#include "listings/generated/appendix-a.typ"

#pz-appendix-title[Программная документация]

#include "appendices/appendix-b.typ"

#pz-appendix-title[Скриншоты пользовательского интерфейса]

#pz-fig("fig_05_local_vaults.jpg", [Локальные vault], "fig-05-app")
#pz-fig("fig_06_encrypt_dialog.jpg", [Диалог шифрования], "fig-06-app")
#pz-fig("fig_07_open_close_dialog.jpg", [Открытие и закрытие storage], "fig-07-app")
#pz-fig("fig_08_rename_delete_dialog.jpg", [Переименование и удаление], "fig-08-app")
#pz-fig("fig_09_remote_vaults.jpg", [Удалённые vault], "fig-09-app")
#pz-fig("fig_10_yandex_oauth.jpg", [OAuth Яндекс], "fig-10-app")
#pz-fig("fig_11_room_schema.png", [Схема Room], "fig-11-app")
#pz-fig("fig_12_tasks_screen.jpg", [Экран задач], "fig-12-app")
#pz-fig("fig_13_tasks_notification.jpg", [Уведомление о задачах], "fig-13-app")
#pz-fig("fig_33_storage_secrets_2fa.jpg", [Экран storage: секреты и 2FA], "fig-33-app")
#pz-fig("fig_34_2fa_single_token.jpg", [Экран 2FA с токеном], "fig-34-app")
