[{"data":1,"prerenderedAt":41200},["ShallowReactive",2],{"navigation_docs":3,"-react-native-version2-nested-navigators-and-modals":3728,"-react-native-version2-nested-navigators-and-modals-surround":41195},[4,1707,1912,2366,2547,2673,2880,3002,3052,3109,3143,3269,3346,3360,3495,3512,3525,3671,3724],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"C#","i-devicon-csharp","\u002Fcsharp","01.csharp",[10,13,60,90,120,202,219,253,379,404,457,650,1364,1654,1703],{"title":11,"path":7,"stem":12},"C# та .NET","01.csharp\u002Findex",{"title":14,"icon":15,"path":16,"stem":17,"children":18,"page":59},"Fundamentals","i-lucide-book-open","\u002Fcsharp\u002Ffundamentals","01.csharp\u002F01.fundamentals",[19,23,27,31,35,39,43,47,51,55],{"title":20,"path":21,"stem":22},"Вступ до екосистеми .NET","\u002Fcsharp\u002Ffundamentals\u002Fintroduction-to-ecosystem","01.csharp\u002F01.fundamentals\u002F01.introduction-to-ecosystem",{"title":24,"path":25,"stem":26},"Структура програми на C#","\u002Fcsharp\u002Ffundamentals\u002Fprogram-structure","01.csharp\u002F01.fundamentals\u002F02.program-structure",{"title":28,"path":29,"stem":30},"Змінні та Типи Даних","\u002Fcsharp\u002Ffundamentals\u002Fvariables-data-types","01.csharp\u002F01.fundamentals\u002F03.variables-data-types",{"title":32,"path":33,"stem":34},"Масиви","\u002Fcsharp\u002Ffundamentals\u002Farrays","01.csharp\u002F01.fundamentals\u002F04.arrays",{"title":36,"path":37,"stem":38},"Strings & Text Handling","\u002Fcsharp\u002Ffundamentals\u002Fstrings-text-handling","01.csharp\u002F01.fundamentals\u002F05.strings-text-handling",{"title":40,"path":41,"stem":42},"Дати і Час","\u002Fcsharp\u002Ffundamentals\u002Fdates-time-handling","01.csharp\u002F01.fundamentals\u002F06.dates-time-handling",{"title":44,"path":45,"stem":46},"Потік Керування","\u002Fcsharp\u002Ffundamentals\u002Fcontrol-flow","01.csharp\u002F01.fundamentals\u002F07.control-flow",{"title":48,"path":49,"stem":50},"Методи","\u002Fcsharp\u002Ffundamentals\u002Fmethods","01.csharp\u002F01.fundamentals\u002F08.methods",{"title":52,"path":53,"stem":54},"Основи Відлагодження","\u002Fcsharp\u002Ffundamentals\u002Fdebugging-basics","01.csharp\u002F01.fundamentals\u002F09.debugging-basics",{"title":56,"path":57,"stem":58},"Інтерактивна Консоль (Classic)","\u002Fcsharp\u002Ffundamentals\u002Finteractive-console","01.csharp\u002F01.fundamentals\u002F10.interactive-console",false,{"title":61,"icon":62,"path":63,"stem":64,"children":65,"page":59},"OOP","i-lucide-box","\u002Fcsharp\u002Foop","01.csharp\u002F02.oop",[66,70,74,78,82,86],{"title":67,"path":68,"stem":69},"Package Management (Управління Пакетами)","\u002Fcsharp\u002Foop\u002Fpackage-management","01.csharp\u002F02.oop\u002F01.package-management",{"title":71,"path":72,"stem":73},"Класи та Об'єкти","\u002Fcsharp\u002Foop\u002Fclasses-objects","01.csharp\u002F02.oop\u002F02.classes-objects",{"title":75,"path":76,"stem":77},"Властивості та Поля","\u002Fcsharp\u002Foop\u002Fproperties-fields","01.csharp\u002F02.oop\u002F03.properties-fields",{"title":79,"path":80,"stem":81},"Стовпи ООП","\u002Fcsharp\u002Foop\u002Foop-pillars","01.csharp\u002F02.oop\u002F04.oop-pillars",{"title":83,"path":84,"stem":85},"Advanced Types","\u002Fcsharp\u002Foop\u002Fadvanced-types","01.csharp\u002F02.oop\u002F05.advanced-types",{"title":87,"path":88,"stem":89},"Namespaces (Простори Імен)","\u002Fcsharp\u002Foop\u002Fnamespaces","01.csharp\u002F02.oop\u002F06.namespaces",{"title":91,"icon":92,"path":93,"stem":94,"children":95,"page":59},"Advanced Core","i-lucide-zap","\u002Fcsharp\u002Fadvanced-core","01.csharp\u002F03.advanced-core",[96,100,104,108,112,116],{"title":97,"path":98,"stem":99},"Generics (Узагальнення)","\u002Fcsharp\u002Fadvanced-core\u002Fgenerics","01.csharp\u002F03.advanced-core\u002F01.generics",{"title":101,"path":102,"stem":103},"Делегати, Події та Лямбда-вирази","\u002Fcsharp\u002Fadvanced-core\u002Fdelegates-events-lambdas","01.csharp\u002F03.advanced-core\u002F02.delegates-events-lambdas",{"title":105,"path":106,"stem":107},"Interfaces Deep Dive (Інтерфейси: Поглиблений Розгляд)","\u002Fcsharp\u002Fadvanced-core\u002Finterfaces-deep-dive","01.csharp\u002F03.advanced-core\u002F03.interfaces-deep-dive",{"title":109,"path":110,"stem":111},"Обробка Винятків","\u002Fcsharp\u002Fadvanced-core\u002Fexception-handling","01.csharp\u002F03.advanced-core\u002F04.exception-handling",{"title":113,"path":114,"stem":115},"Pattern Matching","\u002Fcsharp\u002Fadvanced-core\u002Fpattern-matching","01.csharp\u002F03.advanced-core\u002F05.pattern-matching",{"title":117,"path":118,"stem":119},"Додаткові Можливості C#","\u002Fcsharp\u002Fadvanced-core\u002Fadditional-features","01.csharp\u002F03.advanced-core\u002F06.additional-features",{"title":121,"icon":122,"path":123,"stem":124,"children":125,"page":59},"Architecture Best Practices","i-lucide-building-2","\u002Fcsharp\u002Farchitecture-best-practices","01.csharp\u002F04.architecture-best-practices",[126,130,149,153,157,161,165,169],{"title":127,"path":128,"stem":129},"Software Design Principles (Частина 1)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fsoftware-design-principles","01.csharp\u002F04.architecture-best-practices\u002F01.software-design-principles",{"title":131,"icon":132,"path":133,"stem":134,"children":135,"page":59},"Design Patterns","i-lucide-folder","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdesign-patterns","01.csharp\u002F04.architecture-best-practices\u002F02.design-patterns",[136],{"title":137,"icon":132,"path":138,"stem":139,"children":140,"page":59},"Creational","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdesign-patterns\u002Fcreational","01.csharp\u002F04.architecture-best-practices\u002F02.design-patterns\u002Fcreational",[141,145],{"title":142,"path":143,"stem":144},"Singleton (Одинак)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdesign-patterns\u002Fcreational\u002Fsingleton","01.csharp\u002F04.architecture-best-practices\u002F02.design-patterns\u002Fcreational\u002F01.singleton",{"title":146,"path":147,"stem":148},"Builder (Будівельник)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdesign-patterns\u002Fcreational\u002Fbuilder","01.csharp\u002F04.architecture-best-practices\u002F02.design-patterns\u002Fcreational\u002F02.builder",{"title":150,"path":151,"stem":152},"Building Professional CLIs","\u002Fcsharp\u002Farchitecture-best-practices\u002Fbuilding-professional-clis","01.csharp\u002F04.architecture-best-practices\u002F03.building-professional-clis",{"title":154,"path":155,"stem":156},"Validation & Flow Control","\u002Fcsharp\u002Farchitecture-best-practices\u002Fvalidation-flow-control","01.csharp\u002F04.architecture-best-practices\u002F04.validation-flow-control",{"title":158,"path":159,"stem":160},"The Modern .NET Host (Microsoft.Extensions)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fmodern-dotnet-host","01.csharp\u002F04.architecture-best-practices\u002F05.modern-dotnet-host",{"title":162,"path":163,"stem":164},"Data Mapper: Repository та DAO патерни (Частина 1)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdata-mapper-part1","01.csharp\u002F04.architecture-best-practices\u002F06.data-mapper-part1",{"title":166,"path":167,"stem":168},"Data Mapper: Repository та DAO патерни (Частина 2)","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdata-mapper-part2","01.csharp\u002F04.architecture-best-practices\u002F07.data-mapper-part2",{"title":170,"icon":132,"path":171,"stem":172,"children":173,"page":59},"Di Ioc","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc",[174,178,182,186,190,194,198],{"title":175,"path":176,"stem":177},"Проблема залежностей та Інверсія Контролю","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fthe-dependency-problem","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F01.the-dependency-problem",{"title":179,"path":180,"stem":181},"Будуємо власний Service Container","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fbuild-your-own-container","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F02.build-your-own-container",{"title":183,"path":184,"stem":185},"Service Locator: Паттерн та Анти-паттерн","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fservice-locator-pattern","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F03.service-locator-pattern",{"title":187,"path":188,"stem":189},"Паттерни Dependency Injection","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fdependency-injection-patterns","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F04.dependency-injection-patterns",{"title":191,"path":192,"stem":193},"Microsoft DI: IServiceCollection та IServiceProvider","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fmicrosoft-di-deep-dive","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F05.microsoft-di-deep-dive",{"title":195,"path":196,"stem":197},"Service Lifetimes та Scopes","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fservice-lifetimes-and-scopes","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F06.service-lifetimes-and-scopes",{"title":199,"path":200,"stem":201},"DI Анти-паттерни та Найкращі Практики","\u002Fcsharp\u002Farchitecture-best-practices\u002Fdi-ioc\u002Fdi-anti-patterns-and-best-practices","01.csharp\u002F04.architecture-best-practices\u002F08.di-ioc\u002F07.di-anti-patterns-and-best-practices",{"title":203,"icon":132,"path":204,"stem":205,"children":206,"page":59},"Standard Library","\u002Fcsharp\u002Fstandard-library","01.csharp\u002F05.standard-library",[207,211,215],{"title":208,"path":209,"stem":210},"Collections (Колекції)","\u002Fcsharp\u002Fstandard-library\u002Fcollections","01.csharp\u002F05.standard-library\u002F01.collections",{"title":212,"path":213,"stem":214},"High Performance Types (Високопродуктивні Типи)","\u002Fcsharp\u002Fstandard-library\u002Fhigh-performance-types","01.csharp\u002F05.standard-library\u002F02.high-performance-types",{"title":216,"path":217,"stem":218},"LINQ (Language Integrated Query)","\u002Fcsharp\u002Fstandard-library\u002Flinq","01.csharp\u002F05.standard-library\u002F03.linq",{"title":220,"icon":221,"path":222,"stem":223,"children":224,"page":59},"System Internals Concurrency","i-lucide-server","\u002Fcsharp\u002Fsystem-internals-concurrency","01.csharp\u002F06.system-internals-concurrency",[225,229,233,237,241,245,249],{"title":226,"path":227,"stem":228},"Memory Management","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fmemory-management","01.csharp\u002F06.system-internals-concurrency\u002F01.memory-management",{"title":230,"path":231,"stem":232},"Reflection API: System.Type та Метадані","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Freflection-fundamentals","01.csharp\u002F06.system-internals-concurrency\u002F02.reflection-fundamentals",{"title":234,"path":235,"stem":236},"Attributes та Dynamic Language Runtime","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fattributes-dynamic","01.csharp\u002F06.system-internals-concurrency\u002F03.attributes-dynamic",{"title":238,"path":239,"stem":240},"Expression Trees: Швидка Альтернатива Рефлексії","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fexpression-trees-compiled","01.csharp\u002F06.system-internals-concurrency\u002F04.expression-trees-compiled",{"title":242,"path":243,"stem":244},"Source Generators: Compile-Time Code Generation","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fsource-generators","01.csharp\u002F06.system-internals-concurrency\u002F05.source-generators",{"title":246,"path":247,"stem":248},"Multithreading Fundamentals","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fmultithreading-fundamentals","01.csharp\u002F06.system-internals-concurrency\u002F06.multithreading-fundamentals",{"title":250,"path":251,"stem":252},"Synchronization Primitives","\u002Fcsharp\u002Fsystem-internals-concurrency\u002Fsynchronization-primitives","01.csharp\u002F06.system-internals-concurrency\u002F07.synchronization-primitives",{"title":254,"icon":255,"path":256,"stem":257,"children":258,"page":59},"System Programming Windows","i-lucide-cpu","\u002Fcsharp\u002Fsystem-programming-windows","01.csharp\u002F07.system-programming-windows",[259,263,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327,331,335,339,343,347,351,355,359,363,367,371,375],{"title":260,"path":261,"stem":262},"Як Працює Операційна Система","\u002Fcsharp\u002Fsystem-programming-windows\u002Fhow-os-works","01.csharp\u002F07.system-programming-windows\u002F01.how-os-works",{"title":264,"path":265,"stem":266},"Процеси в .NET — API та Запуск","\u002Fcsharp\u002Fsystem-programming-windows\u002Fprocesses-in-dotnet","01.csharp\u002F07.system-programming-windows\u002F02.processes-in-dotnet",{"title":268,"path":269,"stem":270},"Процеси в .NET — IPC та Міжпроцесна Комунікація","\u002Fcsharp\u002Fsystem-programming-windows\u002F02a.processes-ipc","01.csharp\u002F07.system-programming-windows\u002F02a.processes-ipc",{"title":272,"path":273,"stem":274},"Application Domains та Збірки — AppDomain і AssemblyLoadContext","\u002Fcsharp\u002Fsystem-programming-windows\u002Fappdomains-assemblies","01.csharp\u002F07.system-programming-windows\u002F03.appdomains-assemblies",{"title":276,"path":277,"stem":278},"Application Domains та Збірки — Plug-in Система з Hot-Reload","\u002Fcsharp\u002Fsystem-programming-windows\u002F03a.appdomains-plugin-system","01.csharp\u002F07.system-programming-windows\u002F03a.appdomains-plugin-system",{"title":280,"path":281,"stem":282},"Потоки — Основи та API Thread","\u002Fcsharp\u002Fsystem-programming-windows\u002Fthread-fundamentals","01.csharp\u002F07.system-programming-windows\u002F04.thread-fundamentals",{"title":284,"path":285,"stem":286},"Потоки — Lifecycle, Пріоритети та Безпечне Завершення","\u002Fcsharp\u002Fsystem-programming-windows\u002F04a.thread-lifecycle-priorities","01.csharp\u002F07.system-programming-windows\u002F04a.thread-lifecycle-priorities",{"title":288,"path":289,"stem":290},"Проблеми Спільного Стану — Race Condition та Data Race","\u002Fcsharp\u002Fsystem-programming-windows\u002Fshared-state-problems","01.csharp\u002F07.system-programming-windows\u002F05.shared-state-problems",{"title":292,"path":293,"stem":294},"Проблеми Спільного Стану — Memory Model та volatile","\u002Fcsharp\u002Fsystem-programming-windows\u002F05a.shared-state-memory-model","01.csharp\u002F07.system-programming-windows\u002F05a.shared-state-memory-model",{"title":296,"path":297,"stem":298},"Синхронізація — Monitor, lock та еволюція примітивів","\u002Fcsharp\u002Fsystem-programming-windows\u002Fsynchronization-fundamentals","01.csharp\u002F07.system-programming-windows\u002F06.synchronization-fundamentals",{"title":300,"path":301,"stem":302},"Синхронізація — Наскрізний Приклад та Deadlock Detection","\u002Fcsharp\u002Fsystem-programming-windows\u002F06a.synchronization-walkthrough","01.csharp\u002F07.system-programming-windows\u002F06a.synchronization-walkthrough",{"title":304,"path":305,"stem":306},"Синхронізація — Mutex, Semaphore та Event-Based Primitives","\u002Fcsharp\u002Fsystem-programming-windows\u002Fsynchronization-advanced","01.csharp\u002F07.system-programming-windows\u002F07.synchronization-advanced",{"title":308,"path":309,"stem":310},"Синхронізація — Interlocked, Volatile та Lock-Free Структури","\u002Fcsharp\u002Fsystem-programming-windows\u002F07a.synchronization-advanced-walkthrough","01.csharp\u002F07.system-programming-windows\u002F07a.synchronization-advanced-walkthrough",{"title":312,"path":313,"stem":314},"Interlocked, CAS та Lock-Free Структури","\u002Fcsharp\u002Fsystem-programming-windows\u002Finterlocked-cas-lockfree","01.csharp\u002F07.system-programming-windows\u002F08.interlocked-cas-lockfree",{"title":316,"path":317,"stem":318},"Volatile, Memory Model та Spinning","\u002Fcsharp\u002Fsystem-programming-windows\u002F08a.volatile-memory-model","01.csharp\u002F07.system-programming-windows\u002F08a.volatile-memory-model",{"title":320,"path":321,"stem":322},"ThreadPool — Пул Потоків для Ефективного Виконання","\u002Fcsharp\u002Fsystem-programming-windows\u002Fthread-pool","01.csharp\u002F07.system-programming-windows\u002F09.thread-pool",{"title":324,"path":325,"stem":326},"ThreadPool — Просунуті Сценарії та Внутрішня Будова","\u002Fcsharp\u002Fsystem-programming-windows\u002F09a.thread-pool-advanced","01.csharp\u002F07.system-programming-windows\u002F09a.thread-pool-advanced",{"title":328,"path":329,"stem":330},"Concurrent та Immutable Collections","\u002Fcsharp\u002Fsystem-programming-windows\u002Fconcurrent-collections","01.csharp\u002F07.system-programming-windows\u002F10.concurrent-collections",{"title":332,"path":333,"stem":334},"TPL, Task та Композиція — Від Thread до Task","\u002Fcsharp\u002Fsystem-programming-windows\u002Ftpl-parallel-plinq","01.csharp\u002F07.system-programming-windows\u002F11.tpl-parallel-plinq",{"title":336,"path":337,"stem":338},"Parallel Class та PLINQ — Data Parallelism","\u002Fcsharp\u002Fsystem-programming-windows\u002F11a.tpl-parallel-plinq-advanced","01.csharp\u002F07.system-programming-windows\u002F11a.tpl-parallel-plinq-advanced",{"title":340,"path":341,"stem":342},"Async\u002FAwait — Фундамент Асинхронного Програмування","\u002Fcsharp\u002Fsystem-programming-windows\u002Fasync-fundamentals","01.csharp\u002F07.system-programming-windows\u002F12.async-fundamentals",{"title":344,"path":345,"stem":346},"SynchronizationContext та ConfigureAwait — Контекст Виконання","\u002Fcsharp\u002Fsystem-programming-windows\u002Fasync-context-configureawait","01.csharp\u002F07.system-programming-windows\u002F13.async-context-configureawait",{"title":348,"path":349,"stem":350},"Async — Просунуті Паттерни","\u002Fcsharp\u002Fsystem-programming-windows\u002Fasync-advanced","01.csharp\u002F07.system-programming-windows\u002F14.async-advanced",{"title":352,"path":353,"stem":354},"System.Threading.Channels — Async Producer-Consumer","\u002Fcsharp\u002Fsystem-programming-windows\u002Fchannels","01.csharp\u002F07.system-programming-windows\u002F15.channels",{"title":356,"path":357,"stem":358},"Асинхронна Синхронізація","\u002Fcsharp\u002Fsystem-programming-windows\u002Fasync-synchronization","01.csharp\u002F07.system-programming-windows\u002F16.async-synchronization",{"title":360,"path":361,"stem":362},"Unsafe Code та Вказівники","\u002Fcsharp\u002Fsystem-programming-windows\u002Funsafe-code","01.csharp\u002F07.system-programming-windows\u002F17.unsafe-code",{"title":364,"path":365,"stem":366},"P\u002FInvoke та Windows API — Міст між .NET та Native Code","\u002Fcsharp\u002Fsystem-programming-windows\u002Fpinvoke-winapi","01.csharp\u002F07.system-programming-windows\u002F18.pinvoke-winapi",{"title":368,"path":369,"stem":370},"Реєстр Windows — Центральна База Конфігурації Системи","\u002Fcsharp\u002Fsystem-programming-windows\u002Fwindows-registry","01.csharp\u002F07.system-programming-windows\u002F19.windows-registry",{"title":372,"path":373,"stem":374},"Windows Hooks, Hotkeys та Services — Глибока Інтеграція з ОС","\u002Fcsharp\u002Fsystem-programming-windows\u002Fwindows-hooks-services","01.csharp\u002F07.system-programming-windows\u002F20.windows-hooks-services",{"title":376,"path":377,"stem":378},"Системне Програмування C# (Windows) — 07.system-programming-windows","\u002Fcsharp\u002Fsystem-programming-windows\u002Fimplementation_plan","01.csharp\u002F07.system-programming-windows\u002Fimplementation_plan",{"title":380,"icon":132,"path":381,"stem":382,"children":383,"page":59},"Io","\u002Fcsharp\u002Fio","01.csharp\u002F08.io",[384,388,392,396,400],{"title":385,"path":386,"stem":387},"8.1.1. Основи роботи з файловою системою","\u002Fcsharp\u002Fio\u002Ffile-system-basics","01.csharp\u002F08.io\u002F01.file-system-basics",{"title":389,"path":390,"stem":391},"8.1.2. Потоки (Streams) та Серіалізація Даних","\u002Fcsharp\u002Fio\u002Fstreams-serialization","01.csharp\u002F08.io\u002F02.streams-serialization",{"title":393,"path":394,"stem":395},"8.2.1. JSON Serialization з System.Text.Json","\u002Fcsharp\u002Fio\u002Fjson-serialization","01.csharp\u002F08.io\u002F03.json-serialization",{"title":397,"path":398,"stem":399},"8.2.2. XML Serialization та LINQ to XML","\u002Fcsharp\u002Fio\u002Fxml-serialization","01.csharp\u002F08.io\u002F04.xml-serialization",{"title":401,"path":402,"stem":403},"8.2.3. Binary Serialization: MessagePack та Protocol Buffers","\u002Fcsharp\u002Fio\u002Fbinary-serialization","01.csharp\u002F08.io\u002F05.binary-serialization",{"title":405,"icon":132,"path":406,"stem":407,"children":408,"page":59},"Ado Net","\u002Fcsharp\u002Fado-net","01.csharp\u002F09.ado-net",[409,413,417,421,425,429,433,437,441,445,449,453],{"title":410,"path":411,"stem":412},"9.1. Введення в ADO.NET","\u002Fcsharp\u002Fado-net\u002Fintroduction-to-adonet","01.csharp\u002F09.ado-net\u002F01.introduction-to-adonet",{"title":414,"path":415,"stem":416},"9.2. Клас DbConnection — з'єднання з базою даних","\u002Fcsharp\u002Fado-net\u002Fconnection","01.csharp\u002F09.ado-net\u002F02.connection",{"title":418,"path":419,"stem":420},"9.3. Клас DbCommand — виконання SQL-запитів","\u002Fcsharp\u002Fado-net\u002Fcommand-and-queries","01.csharp\u002F09.ado-net\u002F03.command-and-queries",{"title":422,"path":423,"stem":424},"9.4. Клас DbDataReader — ефективне читання даних","\u002Fcsharp\u002Fado-net\u002Fdatareader","01.csharp\u002F09.ado-net\u002F04.datareader",{"title":426,"path":427,"stem":428},"9.5. Параметризовані запити та захист від SQL Injection","\u002Fcsharp\u002Fado-net\u002Fparameters-and-sql-injection","01.csharp\u002F09.ado-net\u002F05.parameters-and-sql-injection",{"title":430,"path":431,"stem":432},"9.6. Транзакції в ADO.NET","\u002Fcsharp\u002Fado-net\u002Ftransactions","01.csharp\u002F09.ado-net\u002F06.transactions",{"title":434,"path":435,"stem":436},"9.7. DbProviderFactory — провайдер-незалежний код","\u002Fcsharp\u002Fado-net\u002Fprovider-factory","01.csharp\u002F09.ado-net\u002F07.provider-factory",{"title":438,"path":439,"stem":440},"9.8. Асинхронний доступ до даних","\u002Fcsharp\u002Fado-net\u002Fasync-data-access","01.csharp\u002F09.ado-net\u002F08.async-data-access",{"title":442,"path":443,"stem":444},"9.9. Від'єднаний режим: DataSet, DataTable, DataRow","\u002Fcsharp\u002Fado-net\u002Fdisconnected-mode-dataset","01.csharp\u002F09.ado-net\u002F09.disconnected-mode-dataset",{"title":446,"path":447,"stem":448},"9.10. DataAdapter — міст між DataSet та базою даних","\u002Fcsharp\u002Fado-net\u002Fdata-adapter","01.csharp\u002F09.ado-net\u002F10.data-adapter",{"title":450,"path":451,"stem":452},"9.11. Data Mapper та Repository: Архітектура доступу до даних","\u002Fcsharp\u002Fado-net\u002Fdata-mapper-repository","01.csharp\u002F09.ado-net\u002F11.data-mapper-repository",{"title":454,"path":455,"stem":456},"9.12. Identity Map, Unit of Work та Specification Pattern","\u002Fcsharp\u002Fado-net\u002Fadvanced-patterns","01.csharp\u002F09.ado-net\u002F12.advanced-patterns",{"title":458,"icon":255,"path":459,"stem":460,"children":461,"page":59},"Ef Core","\u002Fcsharp\u002Fef-core","01.csharp\u002F10.ef-core",[462,466,470,474,478,482,486,490,494,498,502,506,510,514,518,522,526,532,538,542,546,550,554,558,562,566,570,574,578,582,586,590,594,598,602,606,610,614,618,622,626,630,634,638,642,646],{"title":463,"path":464,"stem":465},"Що таке ORM? Від SQL до об'єктів","\u002Fcsharp\u002Fef-core\u002Fwhat-is-orm","01.csharp\u002F10.ef-core\u002F01.what-is-orm",{"title":467,"path":468,"stem":469},"Перший проєкт — від нуля до CRUD","\u002Fcsharp\u002Fef-core\u002Ffirst-project","01.csharp\u002F10.ef-core\u002F02.first-project",{"title":471,"path":472,"stem":473},"DbContext — Серце EF Core","\u002Fcsharp\u002Fef-core\u002Fdbcontext-deep-dive","01.csharp\u002F10.ef-core\u002F03.dbcontext-deep-dive",{"title":475,"path":476,"stem":477},"Провайдери баз даних — Архітектура та Вибір СУБД","\u002Fcsharp\u002Fef-core\u002Fdatabase-providers","01.csharp\u002F10.ef-core\u002F04.database-providers",{"title":479,"path":480,"stem":481},"Конвенції EF Core — Магія без конфігурації","\u002Fcsharp\u002Fef-core\u002Fconventions","01.csharp\u002F10.ef-core\u002F05.conventions",{"title":483,"path":484,"stem":485},"Fluent API та Data Annotations — Явна конфігурація моделі","\u002Fcsharp\u002Fef-core\u002Ffluent-api-vs-annotations","01.csharp\u002F10.ef-core\u002F06.fluent-api-vs-annotations",{"title":487,"path":488,"stem":489},"Зв'язки — One-to-One та One-to-Many","\u002Fcsharp\u002Fef-core\u002Frelationships-basics","01.csharp\u002F10.ef-core\u002F07.relationships-basics",{"title":491,"path":492,"stem":493},"Зв'язки Advanced — Many-to-Many та Складні Сценарії","\u002Fcsharp\u002Fef-core\u002Frelationships-advanced","01.csharp\u002F10.ef-core\u002F08.relationships-advanced",{"title":495,"path":496,"stem":497},"Властивості — Типи, Конвертери, Компаратори (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fproperty-configuration-part1","01.csharp\u002F10.ef-core\u002F09.property-configuration-part1",{"title":499,"path":500,"stem":501},"Властивості — Value Comparers, Generators, Shadow Properties (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fproperty-configuration-part2","01.csharp\u002F10.ef-core\u002F09.property-configuration-part2",{"title":503,"path":504,"stem":505},"Складні типи — Owned Types та Complex Types (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fcomplex-types-owned-part1","01.csharp\u002F10.ef-core\u002F10.complex-types-owned-part1",{"title":507,"path":508,"stem":509},"Складні типи — Complex Types, Keyless Entities, Порівняння (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fcomplex-types-owned-part2","01.csharp\u002F10.ef-core\u002F10.complex-types-owned-part2",{"title":511,"path":512,"stem":513},"JSON Columns — Складні дані у JSON (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fjson-columns-part1","01.csharp\u002F10.ef-core\u002F11.json-columns-part1",{"title":515,"path":516,"stem":517},"JSON Columns — Value Comparers, Індекси, Провайдери (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fjson-columns-part2","01.csharp\u002F10.ef-core\u002F11.json-columns-part2",{"title":519,"path":520,"stem":521},"Успадкування — Абстрактні класи та TPH (Частина 1)","\u002Fcsharp\u002Fef-core\u002Finheritance-part1","01.csharp\u002F10.ef-core\u002F12.inheritance-part1",{"title":523,"path":524,"stem":525},"Успадкування — TPT, TPC та Порівняння Стратегій (Частина 2)","\u002Fcsharp\u002Fef-core\u002Finheritance-part2","01.csharp\u002F10.ef-core\u002F12.inheritance-part2",{"title":527,"path":528,"stem":529,"children":530},"Індекси, Обмеження та Схема (Частина 1)","\u002Fcsharp\u002Fef-core\u002Findexes-constraints-part1","01.csharp\u002F10.ef-core\u002F13.indexes-constraints-part1",[531],{"title":527,"path":528,"stem":529},{"title":533,"path":534,"stem":535,"children":536},"Індекси, Обмеження та Схема (Частина 2)","\u002Fcsharp\u002Fef-core\u002Findexes-constraints-part2","01.csharp\u002F10.ef-core\u002F13.indexes-constraints-part2",[537],{"title":533,"path":534,"stem":535},{"title":539,"path":540,"stem":541},"Seed Data — Початкові Дані (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fseeding-part1","01.csharp\u002F10.ef-core\u002F14.seeding-part1",{"title":543,"path":544,"stem":545},"Seed Data — SQL-скрипти, Bogus та Стратегії (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fseeding-part2","01.csharp\u002F10.ef-core\u002F14.seeding-part2",{"title":547,"path":548,"stem":549},"Global Query Filters — Глобальні Фільтри (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fglobal-query-filters-part1","01.csharp\u002F10.ef-core\u002F15.global-query-filters-part1",{"title":551,"path":552,"stem":553},"Global Query Filters — Підводні камені та Інтеграція (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fglobal-query-filters-part2","01.csharp\u002F10.ef-core\u002F15.global-query-filters-part2",{"title":555,"path":556,"stem":557},"LINQ-запити в EF Core (Частина 1)","\u002Fcsharp\u002Fef-core\u002Flinq-queries-part1","01.csharp\u002F10.ef-core\u002F16.linq-queries-part1",{"title":559,"path":560,"stem":561},"LINQ-запити в EF Core (Частина 2)","\u002Fcsharp\u002Fef-core\u002Flinq-queries-part2","01.csharp\u002F10.ef-core\u002F16.linq-queries-part2",{"title":563,"path":564,"stem":565},"Завантаження Пов'язаних Даних (Частина 1)","\u002Fcsharp\u002Fef-core\u002Floading-related-data-part1","01.csharp\u002F10.ef-core\u002F17.loading-related-data-part1",{"title":567,"path":568,"stem":569},"Завантаження Пов'язаних Даних (Частина 2)","\u002Fcsharp\u002Fef-core\u002Floading-related-data-part2","01.csharp\u002F10.ef-core\u002F17.loading-related-data-part2",{"title":571,"path":572,"stem":573},"Raw SQL, Views та Stored Procedures (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fraw-sql-part1","01.csharp\u002F10.ef-core\u002F18.raw-sql-part1",{"title":575,"path":576,"stem":577},"Raw SQL — Stored Procedures, DbFunction та Bulk Operations (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fraw-sql-part2","01.csharp\u002F10.ef-core\u002F18.raw-sql-part2",{"title":579,"path":580,"stem":581},"Продвинуті Запити — Compiled Queries, Bulk та Оптимізація (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fadvanced-queries-part1","01.csharp\u002F10.ef-core\u002F19.advanced-queries-part1",{"title":583,"path":584,"stem":585},"Продвинуті Запити — Query Tags, Bulk та Interceptors (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fadvanced-queries-part2","01.csharp\u002F10.ef-core\u002F19.advanced-queries-part2",{"title":587,"path":588,"stem":589},"Change Tracker — Відстеження Змін (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fchange-tracking-part1","01.csharp\u002F10.ef-core\u002F20.change-tracking-part1",{"title":591,"path":592,"stem":593},"Change Tracker — Графи Об'єктів та Disconnected (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fchange-tracking-part2","01.csharp\u002F10.ef-core\u002F20.change-tracking-part2",{"title":595,"path":596,"stem":597},"Збереження Даних та Транзакції (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fsaving-data-part1","01.csharp\u002F10.ef-core\u002F21.saving-data-part1",{"title":599,"path":600,"stem":601},"Збереження Даних — Concurrency та Outbox (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fsaving-data-part2","01.csharp\u002F10.ef-core\u002F21.saving-data-part2",{"title":603,"path":604,"stem":605},"Конкурентність та Блокування (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fconcurrency-part1","01.csharp\u002F10.ef-core\u002F22.concurrency-part1",{"title":607,"path":608,"stem":609},"Конкурентність — Дедлоки та Queue Processing (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fconcurrency-part2","01.csharp\u002F10.ef-core\u002F22.concurrency-part2",{"title":611,"path":612,"stem":613},"Міграції в EF Core — Основи (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fmigrations-basics-part1","01.csharp\u002F10.ef-core\u002F23.migrations-basics-part1",{"title":615,"path":616,"stem":617},"Міграції в EF Core — Основи (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fmigrations-basics-part2","01.csharp\u002F10.ef-core\u002F23.migrations-basics-part2",{"title":619,"path":620,"stem":621},"Міграції — Просунуті Сценарії (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fmigrations-advanced-part1","01.csharp\u002F10.ef-core\u002F24.migrations-advanced-part1",{"title":623,"path":624,"stem":625},"Міграції — Просунуті Сценарії (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fmigrations-advanced-part2","01.csharp\u002F10.ef-core\u002F24.migrations-advanced-part2",{"title":627,"path":628,"stem":629},"Управління Схемою та Database-First (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fschema-management-part1","01.csharp\u002F10.ef-core\u002F25.schema-management-part1",{"title":631,"path":632,"stem":633},"Управління Схемою та Database-First (Частина 2)","\u002Fcsharp\u002Fef-core\u002Fschema-management-part2","01.csharp\u002F10.ef-core\u002F25.schema-management-part2",{"title":635,"path":636,"stem":637},"Продуктивність EF Core — Основи (Частина 1)","\u002Fcsharp\u002Fef-core\u002Fperformance-fundamentals-part1","01.csharp\u002F10.ef-core\u002F26.performance-fundamentals-part1",{"title":639,"path":640,"stem":641},"Interceptors в EF Core (Частина 1)","\u002Fcsharp\u002Fef-core\u002Finterceptors-part1","01.csharp\u002F10.ef-core\u002F29.interceptors-part1",{"title":643,"path":644,"stem":645},"Interceptors в EF Core — Connection, Transaction та Materialization (Частина 2)","\u002Fcsharp\u002Fef-core\u002Finterceptors-part2","01.csharp\u002F10.ef-core\u002F29.interceptors-part2",{"title":647,"path":648,"stem":649},"План вивчення Entity Framework Core — Повний курс","\u002Fcsharp\u002Fef-core\u002Fimplementation_plan","01.csharp\u002F10.ef-core\u002Fimplementation_plan",{"title":651,"icon":652,"path":653,"stem":654,"children":655,"page":59},"ASP.NET","i-devicon-dotnetcore","\u002Fcsharp\u002Faspnet","01.csharp\u002F11.aspnet",[656,730,791,869,927,941,967,1057,1111,1182,1212,1289,1346],{"title":657,"icon":658,"path":659,"stem":660,"children":661,"page":59},"Minimal API","i-lucide-network","\u002Fcsharp\u002Faspnet\u002Fminimal-api","01.csharp\u002F11.aspnet\u002F01.minimal-api",[662,666,670,674,678,682,686,690,694,698,702,706,710,714,718,722,726],{"title":663,"path":664,"stem":665},"Вступ до ASP.NET та еволюція фреймворку","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fintroduction","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F01.introduction",{"title":667,"path":668,"stem":669},"Перший додаток на ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Ffirst-application","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F02.first-application",{"title":671,"path":672,"stem":673},"WebApplication, Builder та Dependency Injection","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fwebapplication-builder","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F03.webapplication-builder",{"title":675,"path":676,"stem":677},"Конвеєр запитів та Middleware","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Frequest-pipeline-middleware","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F04.request-pipeline-middleware",{"title":679,"path":680,"stem":681},"Маршрутизація в ASP.NET Core: Основи","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Frouting-basics","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F05.routing-basics",{"title":683,"path":684,"stem":685},"Маршрутизація в ASP.NET Core: Розширені можливості","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Frouting-advanced","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F06.routing-advanced",{"title":687,"path":688,"stem":689},"Статичні файли в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fstatic-files","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F07.static-files",{"title":691,"path":692,"stem":693},"Статичні Активи: MapStaticAssets (ASP.NET Core 9.0)","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fstatic-assets","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F08.static-assets",{"title":695,"path":696,"stem":697},"Конфігурація в ASP.NET Core: Основи","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fconfiguration-fundamentals","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F09.configuration-fundamentals",{"title":699,"path":700,"stem":701},"Конфігурація: Паттерн Options","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fconfiguration-options","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F10.configuration-options",{"title":703,"path":704,"stem":705},"Логування в ASP.NET Core: Основи","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Flogging-basics","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F11.logging-basics",{"title":707,"path":708,"stem":709},"Логування: Serilog та Middleware","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Flogging-advanced","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F12.logging-advanced",{"title":711,"path":712,"stem":713},"Управління станом: HttpContext.Items та Cookies","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fstate-management","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F13.state-management",{"title":715,"path":716,"stem":717},"Стан сесії: Sessions","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fsession-state","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F14.session-state",{"title":719,"path":720,"stem":721},"Структура проєкту: від хаосу до архітектури","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fproject-structure","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F15.project-structure",{"title":723,"path":724,"stem":725},"Scalar у Minimal API: повний проєкт і Fluent OpenAPI","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fscalar-openapi-fluent","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F16.scalar-openapi-fluent",{"title":727,"path":728,"stem":729},"Swagger \u002F Swashbuckle у Minimal API: окремий класичний шлях","\u002Fcsharp\u002Faspnet\u002Fminimal-api\u002Fswagger-swashbuckle","01.csharp\u002F11.aspnet\u002F01.minimal-api\u002F17.swagger-swashbuckle",{"title":731,"icon":658,"path":732,"stem":733,"children":734,"page":59},"API","\u002Fcsharp\u002Faspnet\u002Fapi","01.csharp\u002F11.aspnet\u002F02.api",[735,739,743,747,751,755,759,763,767,771,775,779,783,787],{"title":736,"path":737,"stem":738},"Що таке API. Клієнт-серверна архітектура","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fwhat-is-api","01.csharp\u002F11.aspnet\u002F02.api\u002F01.what-is-api",{"title":740,"path":741,"stem":742},"Формати даних: JSON, XML, TOML та бінарні формати","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fdata-formats","01.csharp\u002F11.aspnet\u002F02.api\u002F02.data-formats",{"title":744,"path":745,"stem":746},"Парадигми API та концепція REST","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fapi-paradigms-rest","01.csharp\u002F11.aspnet\u002F02.api\u002F03.api-paradigms-rest",{"title":748,"path":749,"stem":750},"HTTP-методи, статус-коди та заголовки","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fhttp-methods-status-codes","01.csharp\u002F11.aspnet\u002F02.api\u002F04.http-methods-status-codes",{"title":752,"path":753,"stem":754},"Організація HTTP API за принципами REST","\u002Fcsharp\u002Faspnet\u002Fapi\u002Frest-organizing","01.csharp\u002F11.aspnet\u002F02.api\u002F05.rest-organizing",{"title":756,"path":757,"stem":758},"Номенклатура URL та CRUD-операції","\u002Fcsharp\u002Faspnet\u002Fapi\u002Furl-nomenclature-crud","01.csharp\u002F11.aspnet\u002F02.api\u002F06.url-nomenclature-crud",{"title":760,"path":761,"stem":762},"Правила дизайну: іменування та стандарти","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fapi-design-naming","01.csharp\u002F11.aspnet\u002F02.api\u002F07.api-design-naming",{"title":764,"path":765,"stem":766},"Валідація, ліміти та обробка помилок","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fapi-design-validation","01.csharp\u002F11.aspnet\u002F02.api\u002F08.api-design-validation",{"title":768,"path":769,"stem":770},"Обробка помилок у Minimal API","\u002Fcsharp\u002Faspnet\u002Fapi\u002Ferror-handling-http","01.csharp\u002F11.aspnet\u002F02.api\u002F09.error-handling-http",{"title":772,"path":773,"stem":774},"Ідемпотентність та синхронізація стану","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fidempotency-sync","01.csharp\u002F11.aspnet\u002F02.api\u002F10.idempotency-sync",{"title":776,"path":777,"stem":778},"Пагінація та організація списків","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fpagination-lists","01.csharp\u002F11.aspnet\u002F02.api\u002F11.pagination-lists",{"title":780,"path":781,"stem":782},"Безпека API, кешування та інтернаціоналізація","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fsecurity-auth","01.csharp\u002F11.aspnet\u002F02.api\u002F12.security-auth",{"title":784,"path":785,"stem":786},"Процес проєктування API та документування","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fapi-design-process","01.csharp\u002F11.aspnet\u002F02.api\u002F13.api-design-process",{"title":788,"path":789,"stem":790},"OpenAPI: контракт, специфікація та документація API","\u002Fcsharp\u002Faspnet\u002Fapi\u002Fopenapi","01.csharp\u002F11.aspnet\u002F02.api\u002F14.openapi",{"title":792,"icon":793,"path":794,"stem":795,"children":796,"page":59},"Auth","i-lucide-shield-check","\u002Fcsharp\u002Faspnet\u002Fauth","01.csharp\u002F11.aspnet\u002F03.auth",[797,801,805,809,813,817,821,825,829,833,837,841,845,849,853,857,861,865],{"title":798,"path":799,"stem":800},"Основи аутентифікації та авторизації","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fauth-fundamentals","01.csharp\u002F11.aspnet\u002F03.auth\u002F01.auth-fundamentals",{"title":802,"path":803,"stem":804},"JWT-аутентифікація","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fjwt-authentication","01.csharp\u002F11.aspnet\u002F03.auth\u002F02.jwt-authentication",{"title":806,"path":807,"stem":808},"Авторизація: ролі, політики та resource-based доступ","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fauthorization-policies","01.csharp\u002F11.aspnet\u002F03.auth\u002F03.authorization-policies",{"title":810,"path":811,"stem":812},"Cookie-аутентифікація та ASP.NET Core Identity","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fcookie-auth-identity","01.csharp\u002F11.aspnet\u002F03.auth\u002F04.cookie-auth-identity",{"title":814,"path":815,"stem":816},"JWT + Refresh Tokens (HttpOnly Cookie)","\u002Fcsharp\u002Faspnet\u002Fauth\u002F04b.identity-auth-jwt","01.csharp\u002F11.aspnet\u002F03.auth\u002F04b.identity-auth-jwt",{"title":818,"path":819,"stem":820},"Identity: Підтвердження Email та Скидання Пароля","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fidentity-email-confirmation","01.csharp\u002F11.aspnet\u002F03.auth\u002F05.identity-email-confirmation",{"title":822,"path":823,"stem":824},"Identity: Двофакторна Аутентифікація (2FA)","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fidentity-two-factor","01.csharp\u002F11.aspnet\u002F03.auth\u002F06.identity-two-factor",{"title":826,"path":827,"stem":828},"Identity: Внутрішня Архітектура та Кастомізація","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fidentity-internals","01.csharp\u002F11.aspnet\u002F03.auth\u002F07.identity-internals",{"title":830,"path":831,"stem":832},"OAuth 2.0 та зовнішні провайдери","\u002Fcsharp\u002Faspnet\u002Fauth\u002Foauth-external-providers","01.csharp\u002F11.aspnet\u002F03.auth\u002F08.oauth-external-providers",{"title":834,"path":835,"stem":836},"Безпека на практиці: CORS, HTTPS та захист від атак","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fsecurity-hardening","01.csharp\u002F11.aspnet\u002F03.auth\u002F09.security-hardening",{"title":838,"path":839,"stem":840},"Теорія OAuth 2.0: Поняття, Аналогії та Флоу","\u002Fcsharp\u002Faspnet\u002Fauth\u002Foauth-theory","01.csharp\u002F11.aspnet\u002F03.auth\u002F10.oauth-theory",{"title":842,"path":843,"stem":844},"OIDC, OAuth 2.0 та Keycloak в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Foidc-keycloak","01.csharp\u002F11.aspnet\u002F03.auth\u002F10.oidc-keycloak",{"title":846,"path":847,"stem":848},"API Keys аутентифікація в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fapi-keys","01.csharp\u002F11.aspnet\u002F03.auth\u002F11.api-keys",{"title":850,"path":851,"stem":852},"Rate Limiting та Throttling в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Frate-limiting","01.csharp\u002F11.aspnet\u002F03.auth\u002F12.rate-limiting",{"title":854,"path":855,"stem":856},"Refresh Token Rotation в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Frefresh-token-rotation","01.csharp\u002F11.aspnet\u002F03.auth\u002F13.refresh-token-rotation",{"title":858,"path":859,"stem":860},"Certificate Authentication та mTLS в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fcertificate-auth","01.csharp\u002F11.aspnet\u002F03.auth\u002F14.certificate-auth",{"title":862,"path":863,"stem":864},"RBAC, ABAC та ReBAC в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Frbac-abac-rebac","01.csharp\u002F11.aspnet\u002F03.auth\u002F15.rbac-abac-rebac",{"title":866,"path":867,"stem":868},"Multi-tenancy та ізоляція даних в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fauth\u002Fmulti-tenancy","01.csharp\u002F11.aspnet\u002F03.auth\u002F16.multi-tenancy",{"title":870,"icon":871,"path":872,"stem":873,"children":874,"page":59},"Нотифікації","i-lucide-bell","\u002Fcsharp\u002Faspnet\u002Fnotifications","01.csharp\u002F11.aspnet\u002F04.notifications",[875,879,883,887,891,895,899,903,907,911,915,919,923],{"title":876,"path":877,"stem":878},"In-App нотифікації через базу даних","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fin-app-database-notifications","01.csharp\u002F11.aspnet\u002F04.notifications\u002F01.in-app-database-notifications",{"title":880,"path":881,"stem":882},"Polling: Регулярний запит оновлень","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fpolling","01.csharp\u002F11.aspnet\u002F04.notifications\u002F02.polling",{"title":884,"path":885,"stem":886},"Server-Sent Events: Однострімовий push від сервера","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fserver-sent-events","01.csharp\u002F11.aspnet\u002F04.notifications\u002F03.server-sent-events",{"title":888,"path":889,"stem":890},"WebSockets: Двостороннє з'єднання в реальному часі","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fwebsockets","01.csharp\u002F11.aspnet\u002F04.notifications\u002F04.websockets",{"title":892,"path":893,"stem":894},"SignalR: Абстракція над транспортами реального часу","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fsignalr","01.csharp\u002F11.aspnet\u002F04.notifications\u002F05.signalr",{"title":896,"path":897,"stem":898},"Background Services: Фонові задачі в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fbackground-services","01.csharp\u002F11.aspnet\u002F04.notifications\u002F06.background-services",{"title":900,"path":901,"stem":902},"Web Push нотифікації","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fweb-push","01.csharp\u002F11.aspnet\u002F04.notifications\u002F07.web-push",{"title":904,"path":905,"stem":906},"Email нотифікації","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Femail-notifications","01.csharp\u002F11.aspnet\u002F04.notifications\u002F08.email-notifications",{"title":908,"path":909,"stem":910},"Порівняння підходів: Як вибрати правильну технологію нотифікацій","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fchoosing-the-right-approach","01.csharp\u002F11.aspnet\u002F04.notifications\u002F09.choosing-the-right-approach",{"title":912,"path":913,"stem":914},"Hangfire: Надійне планування фонових задач","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fhangfire","01.csharp\u002F11.aspnet\u002F04.notifications\u002F10.hangfire",{"title":916,"path":917,"stem":918},"Практика: Конвертація зображень у WebP через Hangfire","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fhangfire-image-webp","01.csharp\u002F11.aspnet\u002F04.notifications\u002F11.hangfire-image-webp",{"title":920,"path":921,"stem":922},"Практика: Підготовка відео до HLS-стрімінгу через Hangfire","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Fhangfire-video-hls","01.csharp\u002F11.aspnet\u002F04.notifications\u002F12.hangfire-video-hls",{"title":924,"path":925,"stem":926},"Telegram-нотифікації: від одного повідомлення до масових розсилок і мульти-канального підходу","\u002Fcsharp\u002Faspnet\u002Fnotifications\u002Ftelegram-notifications","01.csharp\u002F11.aspnet\u002F04.notifications\u002F13.telegram-notifications",{"title":928,"icon":929,"path":930,"stem":931,"children":932,"page":59},"Інтернаціоналізація","i-lucide-languages","\u002Fcsharp\u002Faspnet\u002Fi18n","01.csharp\u002F11.aspnet\u002F05.i18n",[933,937],{"title":934,"path":935,"stem":936},"Інтернаціоналізація (i18n) у Minimal API: від A до Я","\u002Fcsharp\u002Faspnet\u002Fi18n\u002Finternationalization","01.csharp\u002F11.aspnet\u002F05.i18n\u002F01.internationalization",{"title":938,"path":939,"stem":940},"Humanizer: людиномовні рядки у .NET","\u002Fcsharp\u002Faspnet\u002Fi18n\u002Fhumanizer","01.csharp\u002F11.aspnet\u002F05.i18n\u002F02.humanizer",{"title":942,"icon":943,"path":944,"stem":945,"children":946,"page":59},"Кешування","i-lucide-layers","\u002Fcsharp\u002Faspnet\u002Fcaching","01.csharp\u002F11.aspnet\u002F06.caching",[947,951,955,959,963],{"title":948,"path":949,"stem":950},"Огляд кешування: чотири рівні і коли що обирати","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Fcaching","01.csharp\u002F11.aspnet\u002F06.caching\u002F01.caching",{"title":952,"path":953,"stem":954},"IMemoryCache: кеш в оперативній пам'яті","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Fmemory-cache","01.csharp\u002F11.aspnet\u002F06.caching\u002F02.memory-cache",{"title":956,"path":957,"stem":958},"IDistributedCache і Redis: розподілений кеш","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Fdistributed-cache","01.csharp\u002F11.aspnet\u002F06.caching\u002F03.distributed-cache",{"title":960,"path":961,"stem":962},"Response Cache: HTTP-кешування через Cache-Control","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Fresponse-cache","01.csharp\u002F11.aspnet\u002F06.caching\u002F04.response-cache",{"title":964,"path":965,"stem":966},"Output Cache: серверний кеш HTTP-відповідей (.NET 7+)","\u002Fcsharp\u002Faspnet\u002Fcaching\u002Foutput-cache","01.csharp\u002F11.aspnet\u002F06.caching\u002F05.output-cache",{"title":968,"icon":969,"path":970,"stem":971,"children":972,"page":59},"Тестування","i-lucide-test-tube","\u002Fcsharp\u002Faspnet\u002Ftesting","01.csharp\u002F11.aspnet\u002F07.testing",[973,977,981,985,989,993,997,1001,1005,1009,1013,1017,1021,1025,1029,1033,1037,1041,1045,1049,1053],{"title":974,"path":975,"stem":976},"Що таке тестування? Від інтуїції до науки","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fwhat-is-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F01.what-is-testing",{"title":978,"path":979,"stem":980},"Піраміда тестування — Стратегія, а не Догма","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftesting-pyramid","01.csharp\u002F11.aspnet\u002F07.testing\u002F02.testing-pyramid",{"title":982,"path":983,"stem":984},"Дві Школи Тестування — Лондон проти Детройту","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftesting-schools","01.csharp\u002F11.aspnet\u002F07.testing\u002F03.testing-schools",{"title":986,"path":987,"stem":988},"TDD та BDD — Тести як Дизайн-інструмент","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftdd-and-bdd","01.csharp\u002F11.aspnet\u002F07.testing\u002F04.tdd-and-bdd",{"title":990,"path":991,"stem":992},"Що саме тестувати — Техніки аналізу та Циклomatична складність","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fwhat-to-test","01.csharp\u002F11.aspnet\u002F07.testing\u002F05.what-to-test",{"title":994,"path":995,"stem":996},"Тестові Фреймворки — Навіщо вони і що всередині","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftest-frameworks","01.csharp\u002F11.aspnet\u002F07.testing\u002F06.test-frameworks",{"title":998,"path":999,"stem":1000},"xUnit — Факти, Теорії та Lifecycle тестів","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fxunit-basics","01.csharp\u002F11.aspnet\u002F07.testing\u002F07.xunit-basics",{"title":1002,"path":1003,"stem":1004},"xUnit Advanced — Fixtures, Кастомізація та Розширення","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fxunit-advanced","01.csharp\u002F11.aspnet\u002F07.testing\u002F08.xunit-advanced",{"title":1006,"path":1007,"stem":1008},"Moq — Глибоке занурення в мокування","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fmocking-with-moq","01.csharp\u002F11.aspnet\u002F07.testing\u002F09.mocking-with-moq",{"title":1010,"path":1011,"stem":1012},"Тестування Баз Даних — EF Core, SQLite та Testcontainers","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fdatabase-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F10.database-testing",{"title":1014,"path":1015,"stem":1016},"Integration Testing — Частина 1 [Теорія та WebApplicationFactory]","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fintegration-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F11.integration-testing",{"title":1018,"path":1019,"stem":1020},"Інтеграційне тестування — Практика","\u002Fcsharp\u002Faspnet\u002Ftesting\u002F11a.integration-testing-practice","01.csharp\u002F11.aspnet\u002F07.testing\u002F11a.integration-testing-practice",{"title":1022,"path":1023,"stem":1024},"Integration Testing — Частина 2 [Просунуті Сценарії та Testcontainers]","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fintegration-testing-advanced","01.csharp\u002F11.aspnet\u002F07.testing\u002F12.integration-testing-advanced",{"title":1026,"path":1027,"stem":1028},"Професійний Postman: Колекції, Змінні та GitHub Інтеграція","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fpostman-professional","01.csharp\u002F11.aspnet\u002F07.testing\u002F13.postman-professional",{"title":1030,"path":1031,"stem":1032},"HttpClient у Тестах Частина 1: Архітектура та MockHttpMessageHandler","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fhttpclient-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F14.httpclient-testing",{"title":1034,"path":1035,"stem":1036},"HttpClient у Тестах Частина 2: WireMock.Net та Resilience","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fwiremock-net","01.csharp\u002F11.aspnet\u002F07.testing\u002F15.wiremock-net",{"title":1038,"path":1039,"stem":1040},"Патерни та Анти-патерни Тестування: Test Smells","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Ftesting-patterns","01.csharp\u002F11.aspnet\u002F07.testing\u002F16.testing-patterns",{"title":1042,"path":1043,"stem":1044},"Просунуті інструменти: Time, Snapshots та Властивості","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fadvanced-testing-tools","01.csharp\u002F11.aspnet\u002F07.testing\u002F17.advanced-testing-tools",{"title":1046,"path":1047,"stem":1048},"Тестування Архітектури з NetArchTest","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Farchitecture-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F18.architecture-testing",{"title":1050,"path":1051,"stem":1052},"Тестування Продуктивності: BenchmarkDotNet, NBomber та k6","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fperformance-testing","01.csharp\u002F11.aspnet\u002F07.testing\u002F19.performance-testing",{"title":1054,"path":1055,"stem":1056},"Залишок плану для курсу \"Тестування ASP.NET Minimal API\"","\u002Fcsharp\u002Faspnet\u002Ftesting\u002Fremaining_plan","01.csharp\u002F11.aspnet\u002F07.testing\u002Fremaining_plan",{"title":1058,"icon":1059,"path":1060,"stem":1061,"children":1062,"page":59},"Платежі","i-lucide-credit-card","\u002Fcsharp\u002Faspnet\u002Fpayments","01.csharp\u002F11.aspnet\u002F08.payments",[1063,1067,1071,1075,1079,1083,1087,1091,1095,1099,1103,1107],{"title":1064,"path":1065,"stem":1066},"Основи платіжної інфраструктури","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fpayment-fundamentals","01.csharp\u002F11.aspnet\u002F08.payments\u002F01.payment-fundamentals",{"title":1068,"path":1069,"stem":1070},"Методи оплати в Україні","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fpayment-methods-ukraine","01.csharp\u002F11.aspnet\u002F08.payments\u002F02.payment-methods-ukraine",{"title":1072,"path":1073,"stem":1074},"PCI DSS та безпека платежів","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fpci-dss-security","01.csharp\u002F11.aspnet\u002F08.payments\u002F03.pci-dss-security",{"title":1076,"path":1077,"stem":1078},"Архітектура платіжної підсистеми","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fpayment-architecture","01.csharp\u002F11.aspnet\u002F08.payments\u002F04.payment-architecture",{"title":1080,"path":1081,"stem":1082},"Інтеграція LiqPay (ПриватБанк)","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fliqpay-integration","01.csharp\u002F11.aspnet\u002F08.payments\u002F05.liqpay-integration",{"title":1084,"path":1085,"stem":1086},"Інтеграція Monobank Acquiring API","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fmonobank-acquiring","01.csharp\u002F11.aspnet\u002F08.payments\u002F06.monobank-acquiring",{"title":1088,"path":1089,"stem":1090},"Інтеграція Stripe","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fstripe-integration","01.csharp\u002F11.aspnet\u002F08.payments\u002F07.stripe-integration",{"title":1092,"path":1093,"stem":1094},"Webhooks — глибоке занурення","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fwebhooks-deep-dive","01.csharp\u002F11.aspnet\u002F08.payments\u002F08.webhooks-deep-dive",{"title":1096,"path":1097,"stem":1098},"Підписки та рекурентні платежі","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fsubscriptions-recurring","01.csharp\u002F11.aspnet\u002F08.payments\u002F09.subscriptions-recurring",{"title":1100,"path":1101,"stem":1102},"Повернення коштів та диспути","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Frefunds-disputes","01.csharp\u002F11.aspnet\u002F08.payments\u002F10.refunds-disputes",{"title":1104,"path":1105,"stem":1106},"Тестування платіжних інтеграцій","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Ftesting-payments","01.csharp\u002F11.aspnet\u002F08.payments\u002F11.testing-payments",{"title":1108,"path":1109,"stem":1110},"Чекліст виходу в Production","\u002Fcsharp\u002Faspnet\u002Fpayments\u002Fproduction-checklist","01.csharp\u002F11.aspnet\u002F08.payments\u002F12.production-checklist",{"title":1112,"icon":1113,"items":1114,"path":1127,"stem":1128,"children":1129,"page":59},"Популярні бібліотеки","lucide:box",[1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126],"01.fluent-validation","02.mapster","03.erroror-result-pattern","04.serilog","05.mediatr","06.polly","07.health-checks","08.feature-management","09.fluent-email","10.quest-pdf","11.bogus","12.humanizer-guard","\u002Fcsharp\u002Faspnet\u002Flibraries","01.csharp\u002F11.aspnet\u002F09.libraries",[1130,1134,1138,1142,1146,1150,1154,1158,1162,1166,1170,1174,1178],{"title":1131,"path":1132,"stem":1133},"Валідація з FluentValidation в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Ffluent-validation","01.csharp\u002F11.aspnet\u002F09.libraries\u002F01.fluent-validation",{"title":1135,"path":1136,"stem":1137},"Маппінг об","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fmapster","01.csharp\u002F11.aspnet\u002F09.libraries\u002F02.mapster",{"title":1139,"path":1140,"stem":1141},"Обробка помилок з ErrorOr та Result Pattern в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Ferroror-result-pattern","01.csharp\u002F11.aspnet\u002F09.libraries\u002F03.erroror-result-pattern",{"title":1143,"path":1144,"stem":1145},"Структуроване логування з Serilog в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fserilog","01.csharp\u002F11.aspnet\u002F09.libraries\u002F04.serilog",{"title":1147,"path":1148,"stem":1149},"CQRS та Mediator з MediatR в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fmediatr","01.csharp\u002F11.aspnet\u002F09.libraries\u002F05.mediatr",{"title":1151,"path":1152,"stem":1153},"Відмовостійкість з Polly в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fpolly","01.csharp\u002F11.aspnet\u002F09.libraries\u002F06.polly",{"title":1155,"path":1156,"stem":1157},"Health Checks в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fhealth-checks","01.csharp\u002F11.aspnet\u002F09.libraries\u002F07.health-checks",{"title":1159,"path":1160,"stem":1161},"Feature Management та Feature Flags в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Ffeature-management","01.csharp\u002F11.aspnet\u002F09.libraries\u002F08.feature-management",{"title":1163,"path":1164,"stem":1165},"Відправка Email з FluentEmail в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Ffluent-email","01.csharp\u002F11.aspnet\u002F09.libraries\u002F09.fluent-email",{"title":1167,"path":1168,"stem":1169},"Генерація PDF з QuestPDF в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fquest-pdf","01.csharp\u002F11.aspnet\u002F09.libraries\u002F10.quest-pdf",{"title":1171,"path":1172,"stem":1173},"Генерація тестових даних з Bogus в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fbogus","01.csharp\u002F11.aspnet\u002F09.libraries\u002F11.bogus",{"title":1175,"path":1176,"stem":1177},"Humanizer та Guard Clauses в ASP.NET Core","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fhumanizer-guard","01.csharp\u002F11.aspnet\u002F09.libraries\u002F12.humanizer-guard",{"title":1179,"path":1180,"stem":1181},"План модуля 10.libraries — Популярні бібліотеки ASP.NET","\u002Fcsharp\u002Faspnet\u002Flibraries\u002Fplan","01.csharp\u002F11.aspnet\u002F09.libraries\u002Fplan",{"title":1183,"icon":1184,"path":1185,"stem":1186,"children":1187,"page":59},"Razor Pages","i-lucide-layout-template","\u002Fcsharp\u002Faspnet\u002Frazor-pages","01.csharp\u002F11.aspnet\u002F10.razor-pages",[1188,1192,1196,1200,1204,1208],{"title":1189,"path":1190,"stem":1191},"Від Minimal API до Razor Pages: концептуальний перехід","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Ffrom-minimal-api","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F01.from-minimal-api",{"title":1193,"path":1194,"stem":1195},"PageModel: логіка сторінки Razor Pages","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Fpage-model","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F02.page-model",{"title":1197,"path":1198,"stem":1199},"Razor синтаксис: шаблонізатор у .cshtml","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Frazor-syntax","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F03.razor-syntax",{"title":1201,"path":1202,"stem":1203},"Tag Helpers: типізований HTML","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Ftag-helpers","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F04.tag-helpers",{"title":1205,"path":1206,"stem":1207},"Форми і валідація: повний цикл обробки даних","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Fforms-validation","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F05.forms-validation",{"title":1209,"path":1210,"stem":1211},"Практичний проєкт: TaskManager на Razor Pages","\u002Fcsharp\u002Faspnet\u002Frazor-pages\u002Fproject-task-manager","01.csharp\u002F11.aspnet\u002F10.razor-pages\u002F06.project-task-manager",{"title":1213,"path":1214,"stem":1215,"children":1216,"page":59},"ASP.NET Core MVC","\u002Fcsharp\u002Faspnet\u002Fmvc","01.csharp\u002F11.aspnet\u002F11.mvc",[1217,1221,1225,1229,1233,1237,1241,1245,1249,1253,1257,1261,1265,1269,1273,1277,1281,1285],{"title":1218,"path":1219,"stem":1220},"Патерн MVC: архітектура, що змінила веб","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fmvc-pattern","01.csharp\u002F11.aspnet\u002F11.mvc\u002F01.mvc-pattern",{"title":1222,"path":1223,"stem":1224},"Від Razor Pages до MVC: концептуальний перехід","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Ffrom-razor-pages","01.csharp\u002F11.aspnet\u002F11.mvc\u002F02.from-razor-pages",{"title":1226,"path":1227,"stem":1228},"Controllers та Actions: серце MVC","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fcontrollers-actions","01.csharp\u002F11.aspnet\u002F11.mvc\u002F03.controllers-actions",{"title":1230,"path":1231,"stem":1232},"Маршрутизація в MVC: Convention vs Attribute Routing","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Frouting-mvc","01.csharp\u002F11.aspnet\u002F11.mvc\u002F04.routing-mvc",{"title":1234,"path":1235,"stem":1236},"Model Binding: від HTTP до C#","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fmodel-binding","01.csharp\u002F11.aspnet\u002F11.mvc\u002F05.model-binding",{"title":1238,"path":1239,"stem":1240},"Views, ViewData, ViewBag, TempData і ViewModel","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fviews-viewdata-tempdata","01.csharp\u002F11.aspnet\u002F11.mvc\u002F06.views-viewdata-tempdata",{"title":1242,"path":1243,"stem":1244},"Filters: аспектно-орієнтоване програмування в MVC","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Ffilters","01.csharp\u002F11.aspnet\u002F11.mvc\u002F07.filters",{"title":1246,"path":1247,"stem":1248},"Areas: структурування великих застосунків","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fareas","01.csharp\u002F11.aspnet\u002F11.mvc\u002F08.areas",{"title":1250,"path":1251,"stem":1252},"View Components: повторювані незалежні блоки UI","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fview-components","01.csharp\u002F11.aspnet\u002F11.mvc\u002F09.view-components",{"title":1254,"path":1255,"stem":1256},"Display та Editor Templates","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fdisplay-editor-templates","01.csharp\u002F11.aspnet\u002F11.mvc\u002F10.display-editor-templates",{"title":1258,"path":1259,"stem":1260},"Валідація: IValidatableObject та FluentValidation","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fvalidation-advanced","01.csharp\u002F11.aspnet\u002F11.mvc\u002F11.validation-advanced",{"title":1262,"path":1263,"stem":1264},"HTMX: інтерактивність через HTML-атрибути","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fhtmx","01.csharp\u002F11.aspnet\u002F11.mvc\u002F12.htmx",{"title":1266,"path":1267,"stem":1268},"HTMX у ASP.NET Core MVC: серверна інтеграція","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fajax-htmx-mvc","01.csharp\u002F11.aspnet\u002F11.mvc\u002F13.ajax-htmx-mvc",{"title":1270,"path":1271,"stem":1272},"Практичний проєкт: Каталог товарів з HTMX","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fhtmx-project","01.csharp\u002F11.aspnet\u002F11.mvc\u002F14.htmx-project",{"title":1274,"path":1275,"stem":1276},"Завантаження та обробка файлів","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Ffile-upload","01.csharp\u002F11.aspnet\u002F11.mvc\u002F15.file-upload",{"title":1278,"path":1279,"stem":1280},"Глобалізація та Локалізація MVC","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fglobalization-localization","01.csharp\u002F11.aspnet\u002F11.mvc\u002F16.globalization-localization",{"title":1282,"path":1283,"stem":1284},"Підсумковий проєкт: Блог-платформа","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fmvc-project","01.csharp\u002F11.aspnet\u002F11.mvc\u002F17.mvc-project",{"title":1286,"path":1287,"stem":1288},"План курсу: ASP.NET Core MVC","\u002Fcsharp\u002Faspnet\u002Fmvc\u002Fplan","01.csharp\u002F11.aspnet\u002F11.mvc\u002Fplan",{"title":1290,"path":1291,"stem":1292,"children":1293,"page":59},"Web Api","\u002Fcsharp\u002Faspnet\u002Fweb-api","01.csharp\u002F11.aspnet\u002F12.web-api",[1294,1298,1302,1306,1310,1314,1318,1322,1326,1330,1334,1338,1342],{"title":1295,"path":1296,"stem":1297},"Від Minimal API до Controller-based API","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Ffrom-minimal-api-to-controllers","01.csharp\u002F11.aspnet\u002F12.web-api\u002F01.from-minimal-api-to-controllers",{"title":1299,"path":1300,"stem":1301},"ControllerBase, ActionResult\u003CT> та Response Types","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fcontroller-base-actionresult","01.csharp\u002F11.aspnet\u002F12.web-api\u002F02.controller-base-actionresult",{"title":1303,"path":1304,"stem":1305},"Content Negotiation - JSON, XML та власні форматери","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fcontent-negotiation","01.csharp\u002F11.aspnet\u002F12.web-api\u002F03.content-negotiation",{"title":1307,"path":1308,"stem":1309},"Версіонування API","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fapi-versioning","01.csharp\u002F11.aspnet\u002F12.web-api\u002F04.api-versioning",{"title":1311,"path":1312,"stem":1313},"ProblemDetails та структурована обробка помилок","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fproblemdetails-error-handling","01.csharp\u002F11.aspnet\u002F12.web-api\u002F05.problemdetails-error-handling",{"title":1315,"path":1316,"stem":1317},"Фільтри у Web API контексті","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Ffilters-for-api","01.csharp\u002F11.aspnet\u002F12.web-api\u002F06.filters-for-api",{"title":1319,"path":1320,"stem":1321},"Пагінація, фільтрація та сортування","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fpagination-filtering-sorting","01.csharp\u002F11.aspnet\u002F12.web-api\u002F07.pagination-filtering-sorting",{"title":1323,"path":1324,"stem":1325},"HATEOAS та Resource Expansion","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fhateoas-resource-expansion","01.csharp\u002F11.aspnet\u002F12.web-api\u002F08.hateoas-resource-expansion",{"title":1327,"path":1328,"stem":1329},"Гібридна архітектура - Minimal API + Controllers","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fminimal-api-vs-controllers-hybrid","01.csharp\u002F11.aspnet\u002F12.web-api\u002F09.minimal-api-vs-controllers-hybrid",{"title":1331,"path":1332,"stem":1333},"Документація API - Swashbuckle, NSwag та генерація клієнтів","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fapi-documentation-generation","01.csharp\u002F11.aspnet\u002F12.web-api\u002F10.api-documentation-generation",{"title":1335,"path":1336,"stem":1337},"Health Checks та моніторинг API","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fhealth-checks-monitoring","01.csharp\u002F11.aspnet\u002F12.web-api\u002F11.health-checks-monitoring",{"title":1339,"path":1340,"stem":1341},"Підсумковий проєкт - Production-Ready REST API","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fweb-api-project","01.csharp\u002F11.aspnet\u002F12.web-api\u002F12.web-api-project",{"title":1343,"path":1344,"stem":1345},"План курсу: ASP.NET Core Web API (Controllers)","\u002Fcsharp\u002Faspnet\u002Fweb-api\u002Fplan","01.csharp\u002F11.aspnet\u002F12.web-api\u002Fplan",{"title":1347,"icon":1348,"path":1349,"stem":1350,"children":1351,"page":59},"Моніторинг","i-lucide-activity","\u002Fcsharp\u002Faspnet\u002Fmonitoring","01.csharp\u002F11.aspnet\u002F13.monitoring",[1352,1356,1360],{"title":1353,"path":1354,"stem":1355},"Спостережуваність: від console.log до production-систем","\u002Fcsharp\u002Faspnet\u002Fmonitoring\u002Fobservability-intro","01.csharp\u002F11.aspnet\u002F13.monitoring\u002F01.observability-intro",{"title":1357,"path":1358,"stem":1359},"Health Checks: перший рівень observability","\u002Fcsharp\u002Faspnet\u002Fmonitoring\u002Fhealth-checks","01.csharp\u002F11.aspnet\u002F13.monitoring\u002F02.health-checks",{"title":1361,"path":1362,"stem":1363},"Вбудовані метрики .NET 10 та System.Diagnostics.Metrics","\u002Fcsharp\u002Faspnet\u002Fmonitoring\u002Fdotnet-metrics","01.csharp\u002F11.aspnet\u002F13.monitoring\u002F03.dotnet-metrics",{"title":1365,"icon":1366,"path":1367,"stem":1368,"children":1369,"page":59},"Desktop UI","i-lucide-app-window","\u002Fcsharp\u002Fdesktop-ui","01.csharp\u002F12.desktop-ui",[1370,1374,1378,1382,1386,1390,1394,1398,1402,1406,1410,1414,1418,1422,1426,1430,1434,1438,1442,1446,1450,1454,1458,1462,1466,1470,1474,1478,1482,1486,1490,1494,1498,1502,1506,1510,1514,1518,1522,1526,1530,1534,1538,1542,1546,1550,1554,1558,1562,1566,1570,1574,1578,1582,1586,1590,1594,1598,1602,1606,1610,1614,1618,1622,1626,1630,1634,1638,1642,1646,1650],{"title":1371,"path":1372,"stem":1373},"Що таке десктопна розробка?","\u002Fcsharp\u002Fdesktop-ui\u002Fwhat-is-desktop-dev","01.csharp\u002F12.desktop-ui\u002F01.what-is-desktop-dev",{"title":1375,"path":1376,"stem":1377},"Архітектура WPF — як влаштований графічний інтерфейс","\u002Fcsharp\u002Fdesktop-ui\u002Fwpf-architecture","01.csharp\u002F12.desktop-ui\u002F02.wpf-architecture",{"title":1379,"path":1380,"stem":1381},"Перший WPF-проєкт — від нуля до вікна","\u002Fcsharp\u002Fdesktop-ui\u002Ffirst-wpf-app","01.csharp\u002F12.desktop-ui\u002F03.first-wpf-app",{"title":1383,"path":1384,"stem":1385},"Перший Avalonia-проєкт: WPF для всіх платформ","\u002Fcsharp\u002Fdesktop-ui\u002F03a.first-avalonia-app","01.csharp\u002F12.desktop-ui\u002F03a.first-avalonia-app",{"title":1387,"path":1388,"stem":1389},"XAML: декларативний інтерфейс","\u002Fcsharp\u002Fdesktop-ui\u002Fxaml-basics","01.csharp\u002F12.desktop-ui\u002F04.xaml-basics",{"title":1391,"path":1392,"stem":1393},"Fluent UI у WPF — сучасний дизайн Windows 11","\u002Fcsharp\u002Fdesktop-ui\u002F04a.wpf-fluent-ui","01.csharp\u002F12.desktop-ui\u002F04a.wpf-fluent-ui",{"title":1395,"path":1396,"stem":1397},"WPF UI — сучасна бібліотека Fluent контролів","\u002Fcsharp\u002Fdesktop-ui\u002F04b.wpf-ui-library","01.csharp\u002F12.desktop-ui\u002F04b.wpf-ui-library",{"title":1399,"path":1400,"stem":1401},"HandyControl — велика бібліотека UI контролів для WPF","\u002Fcsharp\u002Fdesktop-ui\u002F04c.handycontrol-library","01.csharp\u002F12.desktop-ui\u002F04c.handycontrol-library",{"title":1403,"path":1404,"stem":1405},"Простори імен та ресурси XAML","\u002Fcsharp\u002Fdesktop-ui\u002Fxaml-namespaces-resources","01.csharp\u002F12.desktop-ui\u002F05.xaml-namespaces-resources",{"title":1407,"path":1408,"stem":1409},"XAML в Avalonia: ключові відмінності від WPF","\u002Fcsharp\u002Fdesktop-ui\u002F05a.avalonia-xaml-differences","01.csharp\u002F12.desktop-ui\u002F05a.avalonia-xaml-differences",{"title":1411,"path":1412,"stem":1413},"Розширення розмітки XAML (Markup Extensions)","\u002Fcsharp\u002Fdesktop-ui\u002Fxaml-markup-extensions","01.csharp\u002F12.desktop-ui\u002F06.xaml-markup-extensions",{"title":1415,"path":1416,"stem":1417},"Панелі Layout: StackPanel, WrapPanel, DockPanel","\u002Fcsharp\u002Fdesktop-ui\u002Flayout-panels-part1","01.csharp\u002F12.desktop-ui\u002F07.layout-panels-part1",{"title":1419,"path":1420,"stem":1421},"Grid, Canvas, UniformGrid","\u002Fcsharp\u002Fdesktop-ui\u002Flayout-panels-part2","01.csharp\u002F12.desktop-ui\u002F07.layout-panels-part2",{"title":1423,"path":1424,"stem":1425},"Просунуті техніки Layout","\u002Fcsharp\u002Fdesktop-ui\u002Flayout-advanced","01.csharp\u002F12.desktop-ui\u002F08.layout-advanced",{"title":1427,"path":1428,"stem":1429},"Адаптивний Layout та найкращі практики","\u002Fcsharp\u002Fdesktop-ui\u002Flayout-responsive","01.csharp\u002F12.desktop-ui\u002F09.layout-responsive",{"title":1431,"path":1432,"stem":1433},"Layout в Avalonia: відмінності та нові можливості","\u002Fcsharp\u002Fdesktop-ui\u002F09a.layout-avalonia","01.csharp\u002F12.desktop-ui\u002F09a.layout-avalonia",{"title":1435,"path":1436,"stem":1437},"Button, Image, ProgressBar та інші базові контроли","\u002Fcsharp\u002Fdesktop-ui\u002Fbasic-controls","01.csharp\u002F12.desktop-ui\u002F10.basic-controls",{"title":1439,"path":1440,"stem":1441},"Контроли в Avalonia: відмінності від WPF","\u002Fcsharp\u002Fdesktop-ui\u002F10a.controls-avalonia","01.csharp\u002F12.desktop-ui\u002F10a.controls-avalonia",{"title":1443,"path":1444,"stem":1445},"Текстові контроли — TextBlock, TextBox, RichTextBox","\u002Fcsharp\u002Fdesktop-ui\u002Ftext-controls","01.csharp\u002F12.desktop-ui\u002F11.text-controls",{"title":1447,"path":1448,"stem":1449},"Контроли вибору — CheckBox, RadioButton, ComboBox, ListBox, DatePicker","\u002Fcsharp\u002Fdesktop-ui\u002Fselection-controls","01.csharp\u002F12.desktop-ui\u002F12.selection-controls",{"title":1451,"path":1452,"stem":1453},"Content Model — GroupBox, Expander, TabControl, StatusBar","\u002Fcsharp\u002Fdesktop-ui\u002Fcontent-controls","01.csharp\u002F12.desktop-ui\u002F13.content-controls",{"title":1455,"path":1456,"stem":1457},"UI\u002FUX принципи десктопних застосунків","\u002Fcsharp\u002Fdesktop-ui\u002F13a.ui-ux-principles","01.csharp\u002F12.desktop-ui\u002F13a.ui-ux-principles",{"title":1459,"path":1460,"stem":1461},"Dependency Properties — Концепція та Value Resolution","\u002Fcsharp\u002Fdesktop-ui\u002Fdependency-properties-part1","01.csharp\u002F12.desktop-ui\u002F14.dependency-properties-part1",{"title":1463,"path":1464,"stem":1465},"Avalonia Property System — StyledProperty та DirectProperty","\u002Fcsharp\u002Fdesktop-ui\u002F14a.avalonia-property-system","01.csharp\u002F12.desktop-ui\u002F14a.avalonia-property-system",{"title":1467,"path":1468,"stem":1469},"Attached Properties — Властивості без меж","\u002Fcsharp\u002Fdesktop-ui\u002Fattached-properties","01.csharp\u002F12.desktop-ui\u002F15.attached-properties",{"title":1471,"path":1472,"stem":1473},"Routed Events — Маршрутизація подій у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Frouted-events","01.csharp\u002F12.desktop-ui\u002F16.routed-events",{"title":1475,"path":1476,"stem":1477},"Data Binding — Від Code-Behind до Декларативності","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-binding-basics-part1","01.csharp\u002F12.desktop-ui\u002F17.data-binding-basics-part1",{"title":1479,"path":1480,"stem":1481},"INotifyPropertyChanged — Живе оновлення UI","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-binding-basics-part2","01.csharp\u002F12.desktop-ui\u002F17.data-binding-basics-part2",{"title":1483,"path":1484,"stem":1485},"Compiled Bindings в Avalonia — Безпека на етапі компіляції","\u002Fcsharp\u002Fdesktop-ui\u002F17a.avalonia-compiled-bindings","01.csharp\u002F12.desktop-ui\u002F17a.avalonia-compiled-bindings",{"title":1487,"path":1488,"stem":1489},"Просунутий Data Binding — ElementName, RelativeSource, MultiBinding","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-binding-advanced","01.csharp\u002F12.desktop-ui\u002F18.data-binding-advanced",{"title":1491,"path":1492,"stem":1493},"Value Converters — Перетворення типів даних у Data Binding","\u002Fcsharp\u002Fdesktop-ui\u002Fvalue-converters","01.csharp\u002F12.desktop-ui\u002F19.value-converters",{"title":1495,"path":1496,"stem":1497},"Data Templates — Візуалізація об'єктів у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-templates","01.csharp\u002F12.desktop-ui\u002F20.data-templates",{"title":1499,"path":1500,"stem":1501},"Collections Binding Part 1 — ObservableCollection та ItemsControl","\u002Fcsharp\u002Fdesktop-ui\u002Fcollections-binding-part1","01.csharp\u002F12.desktop-ui\u002F21.collections-binding-part1",{"title":1503,"path":1504,"stem":1505},"Collections Binding Part 2 — ICollectionView, Filtering, Sorting та Virtualization","\u002Fcsharp\u002Fdesktop-ui\u002Fcollections-binding-part2","01.csharp\u002F12.desktop-ui\u002F21.collections-binding-part2",{"title":1507,"path":1508,"stem":1509},"MVVM Pattern — Від Spaghetti Code до архітектури","\u002Fcsharp\u002Fdesktop-ui\u002Fmvvm-pattern","01.csharp\u002F12.desktop-ui\u002F22.mvvm-pattern",{"title":1511,"path":1512,"stem":1513},"ViewModel Implementation — Від BaseViewModel до валідації","\u002Fcsharp\u002Fdesktop-ui\u002Fviewmodel-implementation","01.csharp\u002F12.desktop-ui\u002F23.viewmodel-implementation",{"title":1515,"path":1516,"stem":1517},"Commands — Від event handlers до декларативних команд","\u002Fcsharp\u002Fdesktop-ui\u002Fcommands","01.csharp\u002F12.desktop-ui\u002F24.commands",{"title":1519,"path":1520,"stem":1521},"MVVM Toolkit — MVVM без boilerplate через Source Generators","\u002Fcsharp\u002Fdesktop-ui\u002Fmvvm-toolkit","01.csharp\u002F12.desktop-ui\u002F25.mvvm-toolkit",{"title":1523,"path":1524,"stem":1525},"Messenger Pattern — Комунікація між ViewModel без прямих посилань","\u002Fcsharp\u002Fdesktop-ui\u002Fmessenger-pattern","01.csharp\u002F12.desktop-ui\u002F26.messenger-pattern",{"title":1527,"path":1528,"stem":1529},"Стилі WPF — CSS для десктопу","\u002Fcsharp\u002Fdesktop-ui\u002Fstyles-basics","01.csharp\u002F12.desktop-ui\u002F27.styles-basics",{"title":1531,"path":1532,"stem":1533},"CSS-like стилі Avalonia","\u002Fcsharp\u002Fdesktop-ui\u002F27a.avalonia-css-styling","01.csharp\u002F12.desktop-ui\u002F27a.avalonia-css-styling",{"title":1535,"path":1536,"stem":1537},"Control Templates — Частина 1. Концепція та TemplateBinding","\u002Fcsharp\u002Fdesktop-ui\u002Fcontrol-templates-part1","01.csharp\u002F12.desktop-ui\u002F28.control-templates-part1",{"title":1539,"path":1540,"stem":1541},"Control Templates — Частина 2. Named Parts та ContentPresenter","\u002Fcsharp\u002Fdesktop-ui\u002Fcontrol-templates-part2","01.csharp\u002F12.desktop-ui\u002F28.control-templates-part2",{"title":1543,"path":1544,"stem":1545},"Control Themes в Avalonia — нова ера стилізації","\u002Fcsharp\u002Fdesktop-ui\u002F28a.avalonia-control-themes","01.csharp\u002F12.desktop-ui\u002F28a.avalonia-control-themes",{"title":1547,"path":1548,"stem":1549},"Triggers та Visual State Manager у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Ftriggers-visual-states","01.csharp\u002F12.desktop-ui\u002F29.triggers-visual-states",{"title":1551,"path":1552,"stem":1553},"Pseudo-classes в Avalonia — замість WPF Triggers","\u002Fcsharp\u002Fdesktop-ui\u002F29a.avalonia-pseudo-classes","01.csharp\u002F12.desktop-ui\u002F29a.avalonia-pseudo-classes",{"title":1555,"path":1556,"stem":1557},"Теми та ресурсні словники у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fresources-themes","01.csharp\u002F12.desktop-ui\u002F30.resources-themes",{"title":1559,"path":1560,"stem":1561},"Avalonia Themes — Fluent Design та система тематизації","\u002Fcsharp\u002Fdesktop-ui\u002F30a.avalonia-themes-fluent","01.csharp\u002F12.desktop-ui\u002F30a.avalonia-themes-fluent",{"title":1563,"path":1564,"stem":1565},"Контроли колекцій — глибоке занурення","\u002Fcsharp\u002Fdesktop-ui\u002Fcollection-controls","01.csharp\u002F12.desktop-ui\u002F31.collection-controls",{"title":1567,"path":1568,"stem":1569},"DataGrid — колонки та базове відображення","\u002Fcsharp\u002Fdesktop-ui\u002Fdatagrid-part1","01.csharp\u002F12.desktop-ui\u002F32.datagrid-part1",{"title":1571,"path":1572,"stem":1573},"DataGrid — сортування, фільтрація, редагування","\u002Fcsharp\u002Fdesktop-ui\u002Fdatagrid-part2","01.csharp\u002F12.desktop-ui\u002F32.datagrid-part2",{"title":1575,"path":1576,"stem":1577},"TreeView та GridView","\u002Fcsharp\u002Fdesktop-ui\u002Ftreeview-listview","01.csharp\u002F12.desktop-ui\u002F33.treeview-listview",{"title":1579,"path":1580,"stem":1581},"Меню, Toolbar, ContextMenu, StatusBar","\u002Fcsharp\u002Fdesktop-ui\u002Fmenus-toolbars","01.csharp\u002F12.desktop-ui\u002F34.menus-toolbars",{"title":1583,"path":1584,"stem":1585},"Навігація та керування вікнами. Частина 1: вікна та сторінки","\u002Fcsharp\u002Fdesktop-ui\u002Fnavigation-windows-part1","01.csharp\u002F12.desktop-ui\u002F35.navigation-windows-part1",{"title":1587,"path":1588,"stem":1589},"Навігація та керування вікнами. Частина 2: MVVM-навігація","\u002Fcsharp\u002Fdesktop-ui\u002Fnavigation-windows-part2","01.csharp\u002F12.desktop-ui\u002F35.navigation-windows-part2",{"title":1591,"path":1592,"stem":1593},"Avalonia — Навігація та діалоги","\u002Fcsharp\u002Fdesktop-ui\u002F35a.avalonia-navigation-dialogs","01.csharp\u002F12.desktop-ui\u002F35a.avalonia-navigation-dialogs",{"title":1595,"path":1596,"stem":1597},"Діалоги та File Pickers у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fdialogs-file-pickers","01.csharp\u002F12.desktop-ui\u002F36.dialogs-file-pickers",{"title":1599,"path":1600,"stem":1601},"UserControl: компонентний підхід у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fuser-controls","01.csharp\u002F12.desktop-ui\u002F37.user-controls",{"title":1603,"path":1604,"stem":1605},"Custom Controls: Lookless Controls у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fcustom-controls","01.csharp\u002F12.desktop-ui\u002F38.custom-controls",{"title":1607,"path":1608,"stem":1609},"Avalonia TemplatedControl — Lookless Controls","\u002Fcsharp\u002Fdesktop-ui\u002F38a.avalonia-templated-controls","01.csharp\u002F12.desktop-ui\u002F38a.avalonia-templated-controls",{"title":1611,"path":1612,"stem":1613},"Анімації у WPF: Storyboard та Easing Functions","\u002Fcsharp\u002Fdesktop-ui\u002Fanimations-transitions","01.csharp\u002F12.desktop-ui\u002F39.animations-transitions",{"title":1615,"path":1616,"stem":1617},"Анімації в Avalonia","\u002Fcsharp\u002Fdesktop-ui\u002F39a.avalonia-animations","01.csharp\u002F12.desktop-ui\u002F39a.avalonia-animations",{"title":1619,"path":1620,"stem":1621},"2D Графіка та Мультимедіа у WPF","\u002Fcsharp\u002Fdesktop-ui\u002Fmedia-graphics","01.csharp\u002F12.desktop-ui\u002F40.media-graphics",{"title":1623,"path":1624,"stem":1625},"Dependency Injection у WPF та Avalonia","\u002Fcsharp\u002Fdesktop-ui\u002Fdi-integration","01.csharp\u002F12.desktop-ui\u002F41.di-integration",{"title":1627,"path":1628,"stem":1629},"SQLite та EF Core у десктопних додатках","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-persistence-part1","01.csharp\u002F12.desktop-ui\u002F42.data-persistence-part1",{"title":1631,"path":1632,"stem":1633},"Repository Pattern та Unit of Work","\u002Fcsharp\u002Fdesktop-ui\u002Fdata-persistence-part2","01.csharp\u002F12.desktop-ui\u002F43.data-persistence-part2",{"title":1635,"path":1636,"stem":1637},"Тестування ViewModels","\u002Fcsharp\u002Fdesktop-ui\u002Fviewmodel-testing","01.csharp\u002F12.desktop-ui\u002F44.viewmodel-testing",{"title":1639,"path":1640,"stem":1641},"Avalonia Headless Testing — тестування UI без вікон","\u002Fcsharp\u002Fdesktop-ui\u002F44a.avalonia-headless-testing","01.csharp\u002F12.desktop-ui\u002F44a.avalonia-headless-testing",{"title":1643,"path":1644,"stem":1645},"Кросплатформна розробка з Avalonia","\u002Fcsharp\u002Fdesktop-ui\u002Favalonia-cross-platform","01.csharp\u002F12.desktop-ui\u002F45.avalonia-cross-platform",{"title":1647,"path":1648,"stem":1649},"Пакування та розгортання Avalonia додатків","\u002Fcsharp\u002Fdesktop-ui\u002Favalonia-packaging-deployment","01.csharp\u002F12.desktop-ui\u002F46.avalonia-packaging-deployment",{"title":1651,"path":1652,"stem":1653},"Розгортання WPF застосунків","\u002Fcsharp\u002Fdesktop-ui\u002Fwpf-packaging-deployment","01.csharp\u002F12.desktop-ui\u002F47.wpf-packaging-deployment",{"title":1655,"icon":658,"path":1656,"stem":1657,"children":1658,"page":59},"Network Programming","\u002Fcsharp\u002Fnetwork-programming","01.csharp\u002F13.network-programming",[1659,1663,1667,1671,1675,1679,1683,1687,1691,1695,1699],{"title":1660,"path":1661,"stem":1662},"Основи комп'ютерних мереж","\u002Fcsharp\u002Fnetwork-programming\u002Ffoundations","01.csharp\u002F13.network-programming\u002F01.foundations",{"title":1664,"path":1665,"stem":1666},"Модель OSI та стек TCP\u002FIP","\u002Fcsharp\u002Fnetwork-programming\u002Fosi-model","01.csharp\u002F13.network-programming\u002F02.osi-model",{"title":1668,"path":1669,"stem":1670},"IP-протокол та адресація","\u002Fcsharp\u002Fnetwork-programming\u002Fip-addressing","01.csharp\u002F13.network-programming\u002F03.ip-addressing",{"title":1672,"path":1673,"stem":1674},"UDP — протокол без з'єднання","\u002Fcsharp\u002Fnetwork-programming\u002Fudp","01.csharp\u002F13.network-programming\u002F05.udp",{"title":1676,"path":1677,"stem":1678},"UDP Broadcast та Multicast","\u002Fcsharp\u002Fnetwork-programming\u002Fudp-broadcast-multicast","01.csharp\u002F13.network-programming\u002F06.udp-broadcast-multicast",{"title":1680,"path":1681,"stem":1682},"HTTP — протокол вебу","\u002Fcsharp\u002Fnetwork-programming\u002Fhttp-fundamentals","01.csharp\u002F13.network-programming\u002F07.http-fundamentals",{"title":1684,"path":1685,"stem":1686},"HttpListener — вбудований HTTP-сервер .NET","\u002Fcsharp\u002Fnetwork-programming\u002F07a.http-listener","01.csharp\u002F13.network-programming\u002F07a.http-listener",{"title":1688,"path":1689,"stem":1690},"HTTP Advanced — cookies, аутентифікація та HTTPS","\u002Fcsharp\u002Fnetwork-programming\u002Fhttp-advanced","01.csharp\u002F13.network-programming\u002F08.http-advanced",{"title":1692,"path":1693,"stem":1694},"SMTP та протоколи електронної пошти","\u002Fcsharp\u002Fnetwork-programming\u002Fsmtp","01.csharp\u002F13.network-programming\u002F09.smtp",{"title":1696,"path":1697,"stem":1698},"WebSocket — повнодуплексний протокол реального часу","\u002Fcsharp\u002Fnetwork-programming\u002Fwebsockets","01.csharp\u002F13.network-programming\u002F10.websockets",{"title":1700,"path":1701,"stem":1702},"TLS\u002FSSL — криптографічний захист мережевих з'єднань","\u002Fcsharp\u002Fnetwork-programming\u002Ftls-ssl","01.csharp\u002F13.network-programming\u002F11.tls-ssl",{"title":1704,"path":1705,"stem":1706},"C# & .NET: The Ultimate Roadmap","\u002Fcsharp\u002Froadmap","01.csharp\u002Froadmap",{"title":1708,"icon":1709,"path":1710,"stem":1711,"children":1712,"page":59},"C++","i-devicon-cplusplus","\u002Fcpp","02.cpp",[1713,1717,1721,1725,1729,1733,1737,1741,1745,1748,1752,1756,1760,1764,1768,1772,1776,1780,1784,1788,1792,1796,1800,1804,1808,1812,1816,1820,1824,1828,1832,1836,1840,1844,1848,1852,1856,1860,1864,1868,1872,1876,1880,1884,1888,1892,1896,1900,1904,1908],{"title":1714,"path":1715,"stem":1716},"Вступ у програмування та алгоритми","\u002Fcpp\u002Fintro-algorithms","02.cpp\u002F01.intro-algorithms",{"title":1718,"path":1719,"stem":1720},"Code Style: угоди про оформлення коду","\u002Fcpp\u002Fcode-style","02.cpp\u002F02.code-style",{"title":1722,"path":1723,"stem":1724},"Середовище розробки та перший проєкт","\u002Fcpp\u002Fide-setup","02.cpp\u002F03.ide-setup",{"title":1726,"path":1727,"stem":1728},"Вивід даних на екран","\u002Fcpp\u002Fdata-output","02.cpp\u002F04.data-output",{"title":1730,"path":1731,"stem":1732},"Типи даних, змінні та константи","\u002Fcpp\u002Fdata-types-variables","02.cpp\u002F05.data-types-variables",{"title":1734,"path":1735,"stem":1736},"Ввід даних з клавіатури","\u002Fcpp\u002Fdata-input","02.cpp\u002F06.data-input",{"title":1738,"path":1739,"stem":1740},"Оператори, перетворення типів та логічні операції","\u002Fcpp\u002Foperators-type-conversion","02.cpp\u002F07.operators-type-conversion",{"title":1742,"path":1743,"stem":1744},"Цикли","\u002Fcpp\u002Floops","02.cpp\u002F08.loops",{"title":32,"path":1746,"stem":1747},"\u002Fcpp\u002Farrays","02.cpp\u002F09.arrays",{"title":1749,"path":1750,"stem":1751},"Алгоритми сортування та аналіз складності","\u002Fcpp\u002Fsorting","02.cpp\u002F10.sorting",{"title":1753,"path":1754,"stem":1755},"Алгоритми пошуку","\u002Fcpp\u002Fsearching","02.cpp\u002F11.searching",{"title":1757,"path":1758,"stem":1759},"Функції: основи","\u002Fcpp\u002Ffunctions-basics","02.cpp\u002F12.functions-basics",{"title":1761,"path":1762,"stem":1763},"Функції: прототипи, область видимості та додаткові можливості","\u002Fcpp\u002Ffunctions-scope","02.cpp\u002F13.functions-scope",{"title":1765,"path":1766,"stem":1767},"Функції: перевантаження та шаблони","\u002Fcpp\u002Ffunctions-overloading-templates","02.cpp\u002F14.functions-overloading-templates",{"title":1769,"path":1770,"stem":1771},"Вказівники: основи","\u002Fcpp\u002Fpointers-basics","02.cpp\u002F15.pointers-basics",{"title":1773,"path":1774,"stem":1775},"Посилання (References)","\u002Fcpp\u002Freferences","02.cpp\u002F16.references",{"title":1777,"path":1778,"stem":1779},"Вказівники, const і масиви","\u002Fcpp\u002Fpointers-const-arrays","02.cpp\u002F17.pointers-const-arrays",{"title":1781,"path":1782,"stem":1783},"Адресна арифметика","\u002Fcpp\u002Fpointer-arithmetic","02.cpp\u002F18.pointer-arithmetic",{"title":1785,"path":1786,"stem":1787},"Динамічна пам'ять","\u002Fcpp\u002Fdynamic-memory","02.cpp\u002F19.dynamic-memory",{"title":1789,"path":1790,"stem":1791},"Вказівники типу void","\u002Fcpp\u002Fvoid-pointers","02.cpp\u002F20.void-pointers",{"title":1793,"path":1794,"stem":1795},"Вказівники на вказівники","\u002Fcpp\u002Fpointers-to-pointers","02.cpp\u002F21.pointers-to-pointers",{"title":1797,"path":1798,"stem":1799},"Оператор доступу до членів через вказівник (->)","\u002Fcpp\u002Fmember-access-operator","02.cpp\u002F22.member-access-operator",{"title":1801,"path":1802,"stem":1803},"Цикл for-each (Range-based for)","\u002Fcpp\u002Fforeach-loop","02.cpp\u002F23.foreach-loop",{"title":1805,"path":1806,"stem":1807},"Вказівники на функції","\u002Fcpp\u002Ffunction-pointers","02.cpp\u002F24.function-pointers",{"title":1809,"path":1810,"stem":1811},"Лямбда-вирази","\u002Fcpp\u002Flambdas","02.cpp\u002F25.lambdas",{"title":1813,"path":1814,"stem":1815},"Лямбда-захоплення","\u002Fcpp\u002Flambda-captures","02.cpp\u002F26.lambda-captures",{"title":1817,"path":1818,"stem":1819},"Еліпсис","\u002Fcpp\u002Fellipsis","02.cpp\u002F27.ellipsis",{"title":1821,"path":1822,"stem":1823},"Безпечні альтернативи еліпсису","\u002Fcpp\u002F27a.ellipsis","02.cpp\u002F27a.ellipsis",{"title":1825,"path":1826,"stem":1827},"Аргументи командного рядка","\u002Fcpp\u002Fcommand-line-arguments","02.cpp\u002F28.command-line-arguments",{"title":1829,"path":1830,"stem":1831},"Перерахування (enum)","\u002Fcpp\u002Fenum","02.cpp\u002F29.enum",{"title":1833,"path":1834,"stem":1835},"Класи-перерахування (enum class)","\u002Fcpp\u002Fenum-class","02.cpp\u002F30.enum-class",{"title":1837,"path":1838,"stem":1839},"Псевдоніми типів (typedef і using)","\u002Fcpp\u002Ftype-aliases","02.cpp\u002F31.type-aliases",{"title":1841,"path":1842,"stem":1843},"Системи числення та двійкова арифметика","\u002Fcpp\u002Fnumber-systems","02.cpp\u002F32.number-systems",{"title":1845,"path":1846,"stem":1847},"Структури (struct): агрегування даних","\u002Fcpp\u002Fstruct","02.cpp\u002F33.struct",{"title":1849,"path":1850,"stem":1851},"Структури у функціях","\u002Fcpp\u002Fstruct-functions","02.cpp\u002F34.struct-functions",{"title":1853,"path":1854,"stem":1855},"Масиви структур і вкладені структури","\u002Fcpp\u002Fstruct-arrays","02.cpp\u002F35.struct-arrays",{"title":1857,"path":1858,"stem":1859},"Патерни struct та межі застосування","\u002Fcpp\u002Fstruct-patterns","02.cpp\u002F36.struct-patterns",{"title":1861,"path":1862,"stem":1863},"Символи та таблиця ASCII","\u002Fcpp\u002Fascii-characters","02.cpp\u002F37.ascii-characters",{"title":1865,"path":1866,"stem":1867},"Unicode та кодування UTF","\u002Fcpp\u002Funicode-utf","02.cpp\u002F38.unicode-utf",{"title":1869,"path":1870,"stem":1871},"C-style рядки","\u002Fcpp\u002Fc-strings","02.cpp\u002F39.c-strings",{"title":1873,"path":1874,"stem":1875},"Вступ до std::string","\u002Fcpp\u002Fstd-string-intro","02.cpp\u002F40.std-string-intro",{"title":1877,"path":1878,"stem":1879},"Довжина, ємність та доступ до символів std::string","\u002Fcpp\u002Fstd-string-capacity-access","02.cpp\u002F41.std-string-capacity-access",{"title":1881,"path":1882,"stem":1883},"Модифікація std::string: присвоювання, додавання, вставка, видалення та заміна","\u002Fcpp\u002Fstd-string-modification","02.cpp\u002F42.std-string-modification",{"title":1885,"path":1886,"stem":1887},"Пошук у std::string: find, npos та практичні патерни","\u002Fcpp\u002Fstd-string-search","02.cpp\u002F43.std-string-search",{"title":1889,"path":1890,"stem":1891},"std::string_view: невласницький погляд на рядок без копіювання","\u002Fcpp\u002Fstd-string-view","02.cpp\u002F44.std-string-view",{"title":1893,"path":1894,"stem":1895},"Об'єднання (union): один блок пам'яті, кілька інтерпретацій","\u002Fcpp\u002Funion","02.cpp\u002F45.union",{"title":1897,"path":1898,"stem":1899},"Організація коду: файли, препроцесор, простори імен","\u002Fcpp\u002Fmultifile-programs","02.cpp\u002F46.multifile-programs",{"title":1901,"path":1902,"stem":1903},"Робота з файлами: C-стиль (stdio.h)","\u002Fcpp\u002Fc-style-files","02.cpp\u002F47.c-style-files",{"title":1905,"path":1906,"stem":1907},"Робота з файлами: C++-стиль (fstream)","\u002Fcpp\u002Fcpp-style-files","02.cpp\u002F48.cpp-style-files",{"title":1909,"path":1910,"stem":1911},"План навчання: Курс C++ — Продовження (Статті 29–60+)","\u002Fcpp\u002Fcurriculum-plan","02.cpp\u002Fcurriculum-plan",{"title":1913,"icon":1914,"path":1915,"stem":1916,"children":1917,"page":59},"JavaScript","i-devicon-javascript","\u002Fjavascript","03.javascript",[1918,1944,1998,2020,2324,2362],{"title":1919,"icon":1920,"path":1921,"stem":1922,"children":1923,"page":59},"Events","i-lucide-mouse-pointer-click","\u002Fjavascript\u002Fevents","03.javascript\u002F01.events",[1924,1928,1932,1936,1940],{"title":1925,"path":1926,"stem":1927},"Вступ до подій браузера","\u002Fjavascript\u002Fevents\u002Fintro","03.javascript\u002F01.events\u002F01.intro",{"title":1929,"path":1930,"stem":1931},"Бульбашковий механізм (Bubbling) та занурення (Capturing)","\u002Fjavascript\u002Fevents\u002Fbubbling-capturing","03.javascript\u002F01.events\u002F02.bubbling-capturing",{"title":1933,"path":1934,"stem":1935},"Делегування подій (Event Delegation)","\u002Fjavascript\u002Fevents\u002Fdelegate-events","03.javascript\u002F01.events\u002F03.delegate-events",{"title":1937,"path":1938,"stem":1939},"Типові дії браузера та preventDefault()","\u002Fjavascript\u002Fevents\u002Fprevent-default","03.javascript\u002F01.events\u002F04.prevent-default",{"title":1941,"path":1942,"stem":1943},"Запуск користувацьких подій (Custom Events)","\u002Fjavascript\u002Fevents\u002Fcustom-events","03.javascript\u002F01.events\u002F05.custom-events",{"title":1945,"icon":1946,"path":1947,"stem":1948,"children":1949,"page":59},"Network","i-lucide-globe","\u002Fjavascript\u002Fnetwork","03.javascript\u002F02.network",[1950,1954,1958,1962,1966,1970,1974,1978,1982,1986,1990,1994],{"title":1951,"path":1952,"stem":1953},"Fetch API - Сучасний підхід до HTTP-запитів","\u002Fjavascript\u002Fnetwork\u002F01-fetch-api","03.javascript\u002F02.network\u002F01-fetch-api",{"title":1955,"path":1956,"stem":1957},"FormData - Робота з формами та файлами","\u002Fjavascript\u002Fnetwork\u002F02-formdata","03.javascript\u002F02.network\u002F02-formdata",{"title":1959,"path":1960,"stem":1961},"Відстеження прогресу завантаження","\u002Fjavascript\u002Fnetwork\u002F03-download-progress","03.javascript\u002F02.network\u002F03-download-progress",{"title":1963,"path":1964,"stem":1965},"Переривання fetch-запитів","\u002Fjavascript\u002Fnetwork\u002F04-abort-requests","03.javascript\u002F02.network\u002F04-abort-requests",{"title":1967,"path":1968,"stem":1969},"CORS - Запити між різними джерелами","\u002Fjavascript\u002Fnetwork\u002F05-cors","03.javascript\u002F02.network\u002F05-cors",{"title":1971,"path":1972,"stem":1973},"Fetch API - Повний довідник опцій","\u002Fjavascript\u002Fnetwork\u002F06-fetch-options","03.javascript\u002F02.network\u002F06-fetch-options",{"title":1975,"path":1976,"stem":1977},"URL Objects - Робота з посиланнями","\u002Fjavascript\u002Fnetwork\u002F07-url-objects","03.javascript\u002F02.network\u002F07-url-objects",{"title":1979,"path":1980,"stem":1981},"XMLHttpRequest - AJAX та низькорівневі запити","\u002Fjavascript\u002Fnetwork\u002F08-xmlhttprequest","03.javascript\u002F02.network\u002F08-xmlhttprequest",{"title":1983,"path":1984,"stem":1985},"Відновлюване завантаження файлів","\u002Fjavascript\u002Fnetwork\u002F09-resumable-upload","03.javascript\u002F02.network\u002F09-resumable-upload",{"title":1987,"path":1988,"stem":1989},"Cookies, document.cookie та світ після \"Cookiepocalypse\"","\u002Fjavascript\u002Fnetwork\u002F10-cookies","03.javascript\u002F02.network\u002F10-cookies",{"title":1991,"path":1992,"stem":1993},"js-cookie: Керування Cookies без Болю","\u002Fjavascript\u002Fnetwork\u002F11-js-cookie","03.javascript\u002F02.network\u002F11-js-cookie",{"title":1995,"path":1996,"stem":1997},"Axios: Потужний HTTP-клієнт для JavaScript","\u002Fjavascript\u002Fnetwork\u002F12-axios","03.javascript\u002F02.network\u002F12-axios",{"title":1999,"icon":2000,"path":2001,"stem":2002,"children":2003,"page":59},"Bom","i-lucide-monitor","\u002Fjavascript\u002Fbom","03.javascript\u002F03.bom",[2004,2008,2012,2016],{"title":2005,"path":2006,"stem":2007},"LocalStorage, SessionStorage та patterns збереження даних","\u002Fjavascript\u002Fbom\u002F01-localstorage","03.javascript\u002F03.bom\u002F01-localstorage",{"title":2009,"path":2010,"stem":2011},"Location Object - Керування адресою сторінки","\u002Fjavascript\u002Fbom\u002F02-location-object","03.javascript\u002F03.bom\u002F02-location-object",{"title":2013,"path":2014,"stem":2015},"History API - Керування історією браузера","\u002Fjavascript\u002Fbom\u002F03-history-api","03.javascript\u002F03.bom\u002F03-history-api",{"title":2017,"path":2018,"stem":2019},"Navigator Object - Ідентифікація та Можливості Пристрою","\u002Fjavascript\u002Fbom\u002F04-navigator-object","03.javascript\u002F03.bom\u002F04-navigator-object",{"title":2021,"icon":2022,"path":2023,"stem":2024,"children":2025},"React","i-devicon-react","\u002Fjavascript\u002Freact","03.javascript\u002F04.react\u002Findex",[2026,2027,2031,2035,2039,2043,2106,2141,2293],{"title":2021,"path":2023,"stem":2024},{"title":2028,"path":2029,"stem":2030},"Робота з Формами в React","\u002Fjavascript\u002Freact\u002Freact-forms","03.javascript\u002F04.react\u002F01.react-forms",{"title":2032,"path":2033,"stem":2034},"React Hook Form: Професійна Робота з Формами","\u002Fjavascript\u002Freact\u002Freact-hook-form","03.javascript\u002F04.react\u002F02.react-hook-form",{"title":2036,"path":2037,"stem":2038},"React Hook Form: Глибоке Розуміння Архітектури та Оптимізації","\u002Fjavascript\u002Freact\u002Freact-hook-form-new","03.javascript\u002F04.react\u002F02.react-hook-form-new",{"title":2040,"path":2041,"stem":2042},"Axios та React: Професійна Архітектура Запитів","\u002Fjavascript\u002Freact\u002Fdata-fetching-axios","03.javascript\u002F04.react\u002F03.data-fetching-axios",{"title":2044,"icon":132,"path":2045,"stem":2046,"children":2047},"Tanstack Query","\u002Fjavascript\u002Freact\u002Ftanstack-query","03.javascript\u002F04.react\u002F04.tanstack-query\u002Findex",[2048,2050,2054,2058,2062,2066,2070,2074,2078,2082,2086,2090,2094,2098,2102],{"title":2049,"path":2045,"stem":2046},"TanStack Query: Майстерність Керування Станом Сервера",{"title":2051,"path":2052,"stem":2053},"Парадигма Server State: Чому useEffect недостатньо","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fserver-state-paradigm","03.javascript\u002F04.react\u002F04.tanstack-query\u002F01.server-state-paradigm",{"title":2055,"path":2056,"stem":2057},"Встановлення та Налаштування: Фундамент","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Finstallation-and-devtools","03.javascript\u002F04.react\u002F04.tanstack-query\u002F02.installation-and-devtools",{"title":2059,"path":2060,"stem":2061},"Основи Запитів та Магія Ключів","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fquery-basics-and-keys","03.javascript\u002F04.react\u002F04.tanstack-query\u002F03.query-basics-and-keys",{"title":2063,"path":2064,"stem":2065},"Синхронізація Даних: Життєвий Цикл Запиту","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fdata-synchronization","03.javascript\u002F04.react\u002F04.tanstack-query\u002F04.data-synchronization",{"title":2067,"path":2068,"stem":2069},"Мутації та Інвалідація: Зміна Даних","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fmutations-and-invalidation","03.javascript\u002F04.react\u002F04.tanstack-query\u002F05.mutations-and-invalidation",{"title":2071,"path":2072,"stem":2073},"Оптимістичні Оновлення: Швидше за Світло","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Foptimistic-updates","03.javascript\u002F04.react\u002F04.tanstack-query\u002F06.optimistic-updates",{"title":2075,"path":2076,"stem":2077},"Пагінація та Infinite Scroll","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fpagination-and-load-more","03.javascript\u002F04.react\u002F04.tanstack-query\u002F07.pagination-and-load-more",{"title":2079,"path":2080,"stem":2081},"Просунуті Патерни та Оптимізація","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fadvanced-patterns","03.javascript\u002F04.react\u002F04.tanstack-query\u002F08.advanced-patterns",{"title":2083,"path":2084,"stem":2085},"Архітектура та Best Practices","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Farchitecture-and-best-practices","03.javascript\u002F04.react\u002F04.tanstack-query\u002F09.architecture-and-best-practices",{"title":2087,"path":2088,"stem":2089},"Server-Side Rendering (SSR) та Гідратація","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fserver-side-rendering","03.javascript\u002F04.react\u002F04.tanstack-query\u002F10.server-side-rendering",{"title":2091,"path":2092,"stem":2093},"Стратегії Тестування","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Ftesting-strategies","03.javascript\u002F04.react\u002F04.tanstack-query\u002F11.testing-strategies",{"title":2095,"path":2096,"stem":2097},"Аутентифікація та Обробка Помилок","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fauthentication-and-errors","03.javascript\u002F04.react\u002F04.tanstack-query\u002F12.authentication-and-errors",{"title":2099,"path":2100,"stem":2101},"React Suspense та Майбутнє","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Freact-suspense","03.javascript\u002F04.react\u002F04.tanstack-query\u002F13.react-suspense",{"title":2103,"path":2104,"stem":2105},"Глибоке Занурення в Продуктивність","\u002Fjavascript\u002Freact\u002Ftanstack-query\u002Fperformance-deep-dive","03.javascript\u002F04.react\u002F04.tanstack-query\u002F14.performance-deep-dive",{"title":2107,"icon":2022,"path":2108,"stem":2109,"children":2110},"React Router","\u002Fjavascript\u002Freact\u002Freact-router","03.javascript\u002F04.react\u002F05.react-router\u002Findex",[2111,2113,2117,2121,2125,2129,2133,2137],{"title":2112,"path":2108,"stem":2109},"React Router: Навігаційна система сучасного вебу",{"title":2114,"path":2115,"stem":2116},"Налаштування та Базовий Роутинг","\u002Fjavascript\u002Freact\u002Freact-router\u002Fsetup-and-basic-routing","03.javascript\u002F04.react\u002F05.react-router\u002F01.setup-and-basic-routing",{"title":2118,"path":2119,"stem":2120},"Динамічна Навігація","\u002Fjavascript\u002Freact\u002Freact-router\u002Fnavigation-and-links","03.javascript\u002F04.react\u002F05.react-router\u002F02.navigation-and-links",{"title":2122,"path":2123,"stem":2124},"Вкладені Маршрути та Макети","\u002Fjavascript\u002Freact\u002Freact-router\u002Fnested-routes-and-layouts","03.javascript\u002F04.react\u002F05.react-router\u002F03.nested-routes-and-layouts",{"title":2126,"path":2127,"stem":2128},"Динамічні Маршрути та Параметри","\u002Fjavascript\u002Freact\u002Freact-router\u002Fdynamic-routing","03.javascript\u002F04.react\u002F05.react-router\u002F04.dynamic-routing",{"title":2130,"path":2131,"stem":2132},"Data APIs: Loaders та Actions","\u002Fjavascript\u002Freact\u002Freact-router\u002Fdata-loading","03.javascript\u002F04.react\u002F05.react-router\u002F05.data-loading",{"title":2134,"path":2135,"stem":2136},"Просунуті Патерни","\u002Fjavascript\u002Freact\u002Freact-router\u002Fadvanced-patterns","03.javascript\u002F04.react\u002F05.react-router\u002F06.advanced-patterns",{"title":2138,"path":2139,"stem":2140},"Legacy Routing: Компонентний підхід","\u002Fjavascript\u002Freact\u002Freact-router\u002Flegacy-routing","03.javascript\u002F04.react\u002F05.react-router\u002F07.legacy-routing",{"title":2142,"icon":132,"path":2143,"stem":2144,"children":2145},"Redux","\u002Fjavascript\u002Freact\u002Fredux","03.javascript\u002F04.react\u002F06.redux\u002Findex",[2146,2148,2164,2193,2202,2223,2239,2268],{"title":2147,"path":2143,"stem":2144},"Redux: Еволюція управління станом",{"title":14,"icon":15,"path":2149,"stem":2150,"children":2151,"page":59},"\u002Fjavascript\u002Freact\u002Fredux\u002Ffundamentals","03.javascript\u002F04.react\u002F06.redux\u002F01.fundamentals",[2152,2156,2160],{"title":2153,"path":2154,"stem":2155},"Вступ до State Management","\u002Fjavascript\u002Freact\u002Fredux\u002Ffundamentals\u002Fintro-state-management","03.javascript\u002F04.react\u002F06.redux\u002F01.fundamentals\u002F01.intro-state-management",{"title":2157,"path":2158,"stem":2159},"Філософія Redux та Три Принципи","\u002Fjavascript\u002Freact\u002Fredux\u002Ffundamentals\u002Fredux-philosophy","03.javascript\u002F04.react\u002F06.redux\u002F01.fundamentals\u002F02.redux-philosophy",{"title":2161,"path":2162,"stem":2163},"Чисті функції та Іммутабельність","\u002Fjavascript\u002Freact\u002Fredux\u002Ffundamentals\u002Fpure-functions-immutability","03.javascript\u002F04.react\u002F06.redux\u002F01.fundamentals\u002F03.pure-functions-immutability",{"title":2165,"icon":132,"path":2166,"stem":2167,"children":2168,"page":59},"Classic Redux","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux",[2169,2173,2177,2181,2185,2189],{"title":2170,"path":2171,"stem":2172},"Створення Store (Classic Redux)","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Fstore-setup","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F01.store-setup",{"title":2174,"path":2175,"stem":2176},"Actions, Constants та Action Creators","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Factions-constants","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F02.actions-constants",{"title":2178,"path":2179,"stem":2180},"Логіка Reducers","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Freducers","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F03.reducers",{"title":2182,"path":2183,"stem":2184},"Комбінування Reducers (Root Reducer)","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Fdata-flow","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F04.data-flow",{"title":2186,"path":2187,"stem":2188},"Підключення до React (React-Redux)","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Freact-redux-connection","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F05.react-redux-connection",{"title":2190,"path":2191,"stem":2192},"Middleware та Асинхронність (Redux Thunk)","\u002Fjavascript\u002Freact\u002Fredux\u002Fclassic-redux\u002Fmiddleware-thunk","03.javascript\u002F04.react\u002F06.redux\u002F02.classic-redux\u002F06.middleware-thunk",{"title":2194,"icon":132,"path":2195,"stem":2196,"children":2197,"page":59},"Transition To Rtk","\u002Fjavascript\u002Freact\u002Fredux\u002Ftransition-to-rtk","03.javascript\u002F04.react\u002F06.redux\u002F03.transition-to-rtk",[2198],{"title":2199,"path":2200,"stem":2201},"Проблеми класичного Redux","\u002Fjavascript\u002Freact\u002Fredux\u002Ftransition-to-rtk\u002Fproblems-with-classic","03.javascript\u002F04.react\u002F06.redux\u002F03.transition-to-rtk\u002F01.problems-with-classic",{"title":2203,"icon":132,"path":2204,"stem":2205,"children":2206,"page":59},"Redux Toolkit","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit",[2207,2211,2215,2219],{"title":2208,"path":2209,"stem":2210},"Налаштування Store з configureStore","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit\u002Fconfigure-store","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit\u002F01.configure-store",{"title":2212,"path":2213,"stem":2214},"createSlice: Революція в Redux","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit\u002Fcreate-slice","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit\u002F02.create-slice",{"title":2216,"path":2217,"stem":2218},"Асинхронність з createAsyncThunk","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit\u002Fasync-thunks","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit\u002F03.async-thunks",{"title":2220,"path":2221,"stem":2222},"04. Entity Adapter: Керування нормалізованим станом","\u002Fjavascript\u002Freact\u002Fredux\u002Fredux-toolkit\u002Fentity-adapter","03.javascript\u002F04.react\u002F06.redux\u002F04.redux-toolkit\u002F04.entity-adapter",{"title":2224,"icon":92,"path":2225,"stem":2226,"children":2227,"page":59},"Advanced","\u002Fjavascript\u002Freact\u002Fredux\u002Fadvanced","03.javascript\u002F04.react\u002F06.redux\u002F05.advanced",[2228,2232,2236],{"title":2229,"path":2230,"stem":2231},"Мемоізація та Селектори: Повний Гайд по Reselect","\u002Fjavascript\u002Freact\u002Fredux\u002Fadvanced\u002Fselectors-reselect","03.javascript\u002F04.react\u002F06.redux\u002F05.advanced\u002F01.selectors-reselect",{"title":2233,"path":2234,"stem":2235},"RTK Query: Архітектура Серверного Кешу","\u002Fjavascript\u002Freact\u002Fredux\u002Fadvanced\u002Frtk-query-intro","03.javascript\u002F04.react\u002F06.redux\u002F05.advanced\u002F02.rtk-query-intro",{"title":2083,"path":2237,"stem":2238},"\u002Fjavascript\u002Freact\u002Fredux\u002Fadvanced\u002Farchitecture-best-practices","03.javascript\u002F04.react\u002F06.redux\u002F05.advanced\u002F03.architecture-best-practices",{"title":2240,"icon":132,"path":2241,"stem":2242,"children":2243,"page":59},"Project Kanban","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban",[2244,2248,2252,2256,2260,2264],{"title":2245,"path":2246,"stem":2247},"Проєкт: Kanban Board (Trello Clone)","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Fproject-overview","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F01.project-overview",{"title":2249,"path":2250,"stem":2251},"Налаштування та Типізація","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Fsetup-and-types","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F02.setup-and-types",{"title":2253,"path":2254,"stem":2255},"Board Slice: Серце Дошки","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Fboard-slice","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F03.board-slice",{"title":2257,"path":2258,"stem":2259},"Логіка Drag & Drop","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Fdrag-and-drop-logic","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F04.drag-and-drop-logic",{"title":2261,"path":2262,"stem":2263},"Інтеграція з RTK Query","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Frtk-query-integration","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F05.rtk-query-integration",{"title":2265,"path":2266,"stem":2267},"Optimistic Updates","\u002Fjavascript\u002Freact\u002Fredux\u002Fproject-kanban\u002Foptimistic-updates","03.javascript\u002F04.react\u002F06.redux\u002F06.project-kanban\u002F06.optimistic-updates",{"title":2269,"icon":132,"path":2270,"stem":2271,"children":2272,"page":59},"Testing","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting","03.javascript\u002F04.react\u002F06.redux\u002F07.testing",[2273,2277,2281,2285,2289],{"title":2274,"path":2275,"stem":2276},"Тестування Redux","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Fintro-testing","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F01.intro-testing",{"title":2278,"path":2279,"stem":2280},"Тестування Reducers","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Ftesting-reducers","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F02.testing-reducers",{"title":2282,"path":2283,"stem":2284},"Тестування Селекторів","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Ftesting-selectors","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F03.testing-selectors",{"title":2286,"path":2287,"stem":2288},"Тестування Компонентів (Integration)","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Ftesting-components","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F04.testing-components",{"title":2290,"path":2291,"stem":2292},"Тестування Async Thunks","\u002Fjavascript\u002Freact\u002Fredux\u002Ftesting\u002Ftesting-thunks","03.javascript\u002F04.react\u002F06.redux\u002F07.testing\u002F05.testing-thunks",{"title":2294,"icon":132,"path":2295,"stem":2296,"children":2297},"Ui Libraries","\u002Fjavascript\u002Freact\u002Fui-libraries","03.javascript\u002F04.react\u002F07.ui-libraries\u002Findex",[2298,2300,2304,2308,2312,2316,2320],{"title":2299,"path":2295,"stem":2296},"UI Бібліотеки в React",{"title":2301,"path":2302,"stem":2303},"Вступ до UI Бібліотек: Навіщо Винаходити Велосипед Двічі?","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fintroduction-to-ui-libraries","03.javascript\u002F04.react\u002F07.ui-libraries\u002F01.introduction-to-ui-libraries",{"title":2305,"path":2306,"stem":2307},"Філософія shadcn\u002Fui: \"Not a Component Library\"","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-philosophy","03.javascript\u002F04.react\u002F07.ui-libraries\u002F02.shadcn-philosophy",{"title":2309,"path":2310,"stem":2311},"Установка та Налаштування shadcn\u002Fui","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-installation","03.javascript\u002F04.react\u002F07.ui-libraries\u002F03.shadcn-installation",{"title":2313,"path":2314,"stem":2315},"Базові Компоненти shadcn\u002Fui: Фундамент Інтерфейсу","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-components-basics","03.javascript\u002F04.react\u002F07.ui-libraries\u002F04.shadcn-components-basics",{"title":2317,"path":2318,"stem":2319},"Компоненти Форм: Побудова Інтерактивних Form","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-components-forms","03.javascript\u002F04.react\u002F07.ui-libraries\u002F05.shadcn-components-forms",{"title":2321,"path":2322,"stem":2323},"Складні Компоненти: Dialog, Dropdown, Table та Command","\u002Fjavascript\u002Freact\u002Fui-libraries\u002Fshadcn-components-advanced","03.javascript\u002F04.react\u002F07.ui-libraries\u002F06.shadcn-components-advanced",{"title":2325,"icon":2326,"path":2327,"stem":2328,"children":2329,"page":59},"TypeScript","i-devicon-typescript","\u002Fjavascript\u002Ftypescript","03.javascript\u002F05.typescript",[2330,2334,2338,2342,2346,2350,2354,2358],{"title":2331,"path":2332,"stem":2333},"TypeScript: Броня для вашого коду","\u002Fjavascript\u002Ftypescript\u002Fintro-and-basic-types","03.javascript\u002F05.typescript\u002F01.intro-and-basic-types",{"title":2335,"path":2336,"stem":2337},"Майстерність Моделювання Даних: Інтерфейси та Просунуті Типи","\u002Fjavascript\u002Ftypescript\u002Finterfaces-and-advanced-types","03.javascript\u002F05.typescript\u002F02.interfaces-and-advanced-types",{"title":2339,"path":2340,"stem":2341},"Алхімія Типів: Generics та Utility Types","\u002Fjavascript\u002Ftypescript\u002Fgenerics-and-utilities","03.javascript\u002F05.typescript\u002F03.generics-and-utilities",{"title":2343,"path":2344,"stem":2345},"Архітектура та Шаблони: Класи в TypeScript","\u002Fjavascript\u002Ftypescript\u002Fclasses-and-oop","03.javascript\u002F05.typescript\u002F04.classes-and-oop",{"title":2347,"path":2348,"stem":2349},"Продакшн та Екосистема: Advanced Config & Workflow","\u002Fjavascript\u002Ftypescript\u002Fadvanced-patterns-and-config","03.javascript\u002F05.typescript\u002F05.advanced-patterns-and-config",{"title":2351,"path":2352,"stem":2353},"TypeScript у світі React","\u002Fjavascript\u002Ftypescript\u002Freact-basics","03.javascript\u002F05.typescript\u002F06.react-basics",{"title":2355,"path":2356,"stem":2357},"React + TypeScript: Продвинуті патерни","\u002Fjavascript\u002Ftypescript\u002Freact-advanced","03.javascript\u002F05.typescript\u002F07.react-advanced",{"title":2359,"path":2360,"stem":2361},"React + TypeScript: Екосистема та бібліотеки","\u002Fjavascript\u002Ftypescript\u002Freact-ecosystem","03.javascript\u002F05.typescript\u002F08.react-ecosystem",{"title":2363,"path":2364,"stem":2365},"Atomic Design","\u002Fjavascript\u002Fatomic-design","03.javascript\u002F2.atomic-design",{"title":2367,"icon":2368,"path":2369,"stem":2370,"children":2371,"page":59},"Java","i-devicon-java","\u002Fjava","04.java",[2372,2375,2378,2382,2386,2390,2394],{"title":162,"path":2373,"stem":2374},"\u002Fjava\u002Fdata-mapper-part1","04.java\u002F01.data-mapper-part1",{"title":166,"path":2376,"stem":2377},"\u002Fjava\u002Fdata-mapper-part2","04.java\u002F02.data-mapper-part2",{"title":2379,"path":2380,"stem":2381},"Service Layer: Організація бізнес-логіки","\u002Fjava\u002Fservice-layer","04.java\u002F03.service-layer",{"title":2383,"path":2384,"stem":2385},"Rich Domain Model та State Pattern","\u002Fjava\u002Frich-domain-model","04.java\u002F04.rich-domain-model",{"title":2387,"path":2388,"stem":2389},"Патерни для складної бізнес-логіки","\u002Fjava\u002Fbusiness-logic-patterns","04.java\u002F05.business-logic-patterns",{"title":2391,"path":2392,"stem":2393},"Обробка помилок та валідація","\u002Fjava\u002Ferror-handling-validation","04.java\u002F06.error-handling-validation",{"title":2395,"path":2396,"stem":2397,"children":2398,"page":59},"Проектування баз даних","\u002Fjava\u002Fpr2","04.java\u002Fpr2",[2399,2403,2407,2411,2415,2419,2423,2427,2431,2435,2439,2443,2447,2451,2455,2459,2463,2467,2471,2475,2479,2483,2487,2491,2495,2499,2503,2507,2511,2515,2519,2523,2527,2531,2535,2539,2543],{"title":2400,"path":2401,"stem":2402},"Концептуальне моделювання: Мистецтво розуміння предметної області","\u002Fjava\u002Fpr2\u002Fconceptual-modeling","04.java\u002Fpr2\u002F01.conceptual-modeling",{"title":2404,"path":2405,"stem":2406},"Логічне моделювання: Від бізнес-ідей до структур даних","\u002Fjava\u002Fpr2\u002Flogical-modeling","04.java\u002Fpr2\u002F02.logical-modeling",{"title":2408,"path":2409,"stem":2410},"Нормалізація: Гігієна даних та боротьба з аномаліями","\u002Fjava\u002Fpr2\u002Fnormalization","04.java\u002Fpr2\u002F03.normalization",{"title":2412,"path":2413,"stem":2414},"Фізична схема: Від абстракції до DDL","\u002Fjava\u002Fpr2\u002Fphysical-schema","04.java\u002Fpr2\u002F04.physical-schema",{"title":2416,"path":2417,"stem":2418},"Архітектурна класифікація таблиць","\u002Fjava\u002Fpr2\u002Ftable-classification","04.java\u002Fpr2\u002F05.table-classification",{"title":2420,"path":2421,"stem":2422},"Database Migrations: Версіонування схеми з Flyway","\u002Fjava\u002Fpr2\u002Fdatabase-migrations","04.java\u002Fpr2\u002F06.database-migrations",{"title":2424,"path":2425,"stem":2426},"А що, якби це була не реляційна БД?","\u002Fjava\u002Fpr2\u002Fbeyond-relational","04.java\u002Fpr2\u002F07.beyond-relational",{"title":2428,"path":2429,"stem":2430},"Object-Relational Impedance Mismatch: Два світи, що не хочуть дружити","\u002Fjava\u002Fpr2\u002Fimpedance-mismatch","04.java\u002Fpr2\u002F09.impedance-mismatch",{"title":2432,"path":2433,"stem":2434},"JDBC: Перший контакт із базою даних","\u002Fjava\u002Fpr2\u002Fjdbc-fundamentals","04.java\u002Fpr2\u002F10.jdbc-fundamentals",{"title":2436,"path":2437,"stem":2438},"Якість коду: Spotless, SpotBugs та SonarQube","\u002Fjava\u002Fpr2\u002F10a.code-quality","04.java\u002Fpr2\u002F10a.code-quality",{"title":2440,"path":2441,"stem":2442},"Connection Pool: Патерн Object Pool для JDBC-з'єднань","\u002Fjava\u002Fpr2\u002Fconnection-pool","04.java\u002Fpr2\u002F11.connection-pool",{"title":2444,"path":2445,"stem":2446},"Row Data Gateway: Об'єкт як обгортка рядка таблиці","\u002Fjava\u002Fpr2\u002Frow-data-gateway","04.java\u002Fpr2\u002F12.row-data-gateway",{"title":2448,"path":2449,"stem":2450},"Table Data Gateway: Фасад таблиці як архітектурний відступ","\u002Fjava\u002Fpr2\u002Ftable-data-gateway","04.java\u002Fpr2\u002F13.table-data-gateway",{"title":2452,"path":2453,"stem":2454},"Repository + Data Mapper: Правильна шарова архітектура з JDBC","\u002Fjava\u002Fpr2\u002Frepository-data-mapper","04.java\u002Fpr2\u002F14.repository-data-mapper",{"title":2456,"path":2457,"stem":2458},"Identity Map: Кешування сутностей у рамках сесії","\u002Fjava\u002Fpr2\u002Fidentity-map","04.java\u002Fpr2\u002F15.identity-map",{"title":2460,"path":2461,"stem":2462},"Unit of Work: Відстеження змін і координація JDBC-транзакцій","\u002Fjava\u002Fpr2\u002Funit-of-work","04.java\u002Fpr2\u002F16.unit-of-work",{"title":2464,"path":2465,"stem":2466},"Strategy: Замінювані SQL-стратегії для підтримки різних СУБД","\u002Fjava\u002Fpr2\u002Fstrategy-sql","04.java\u002Fpr2\u002F17.strategy-sql",{"title":2468,"path":2469,"stem":2470},"Proxy: Lazy Loading для One-To-Many колекцій","\u002Fjava\u002Fpr2\u002Fproxy-lazy-loading","04.java\u002Fpr2\u002F18.proxy-lazy-loading",{"title":2472,"path":2473,"stem":2474},"Generic Repository через Java Reflection: анотації та динамічний SQL","\u002Fjava\u002Fpr2\u002Fgeneric-repository-reflection","04.java\u002Fpr2\u002F19.generic-repository-reflection",{"title":2476,"path":2477,"stem":2478},"Specification Pattern: Композиція бізнес-правил для складних запитів","\u002Fjava\u002Fpr2\u002Fspecification-pattern","04.java\u002Fpr2\u002F20.specification-pattern",{"title":2480,"path":2481,"stem":2482},"Розширені можливості Specification Pattern: підзапити, агрегації та гібридний підхід","\u002Fjava\u002Fpr2\u002F20a.advanced-specifications","04.java\u002Fpr2\u002F20a.advanced-specifications",{"title":2484,"path":2485,"stem":2486},"Асинхронність у JDBC: Від блокуючих викликів до CompletableFuture","\u002Fjava\u002Fpr2\u002Fasynchronous-jdbc","04.java\u002Fpr2\u002F21.asynchronous-jdbc",{"title":2488,"path":2489,"stem":2490},"Інтеграційне тестування JDBC-репозиторіїв: Embedded H2 та патерн AAA","\u002Fjava\u002Fpr2\u002Fintegration-testing-h2","04.java\u002Fpr2\u002F22.integration-testing-h2",{"title":2492,"path":2493,"stem":2494},"Testcontainers: Тестування з реальною PostgreSQL у Docker-контейнерах","\u002Fjava\u002Fpr2\u002Fintegration-testing-testcontainers","04.java\u002Fpr2\u002F23.integration-testing-testcontainers",{"title":2496,"path":2497,"stem":2498},"Google Guice: Впровадження залежностей у JavaFX-проєкті","\u002Fjava\u002Fpr2\u002Fdependency-injection-guice","04.java\u002Fpr2\u002F24.dependency-injection-guice",{"title":2500,"path":2501,"stem":2502},"JavaFX: Основи побудови графічних інтерфейсів","\u002Fjava\u002Fpr2\u002Fjavafx-fundamentals","04.java\u002Fpr2\u002F25.javafx-fundamentals",{"title":2504,"path":2505,"stem":2506},"Properties та Bindings: Реактивність у JavaFX","\u002Fjava\u002Fpr2\u002Fjavafx-properties-bindings","04.java\u002Fpr2\u002F26.javafx-properties-bindings",{"title":2508,"path":2509,"stem":2510},"MVC vs MVP vs MVVM: Еволюція архітектурних патернів UI","\u002Fjava\u002Fpr2\u002Fui-architecture-patterns","04.java\u002Fpr2\u002F27.ui-architecture-patterns",{"title":2512,"path":2513,"stem":2514},"MVVM на практиці: Побудова ViewModel","\u002Fjava\u002Fpr2\u002Fmvvm-viewmodel-implementation","04.java\u002Fpr2\u002F28.mvvm-viewmodel-implementation",{"title":2516,"path":2517,"stem":2518},"View та Controller: Зв'язування з ViewModel через FXML","\u002Fjava\u002Fpr2\u002Fmvvm-view-controller","04.java\u002Fpr2\u002F29.mvvm-view-controller",{"title":2520,"path":2521,"stem":2522},"Інтеграція MVVM з Guice: Автоматична ін'єкція залежностей","\u002Fjava\u002Fpr2\u002Fmvvm-guice-integration","04.java\u002Fpr2\u002F30.mvvm-guice-integration",{"title":2524,"path":2525,"stem":2526},"Валідація та обробка помилок у MVVM","\u002Fjava\u002Fpr2\u002Fmvvm-validation-error-handling","04.java\u002Fpr2\u002F31.mvvm-validation-error-handling",{"title":2528,"path":2529,"stem":2530},"Навігація та управління екранами у JavaFX MVVM","\u002Fjava\u002Fpr2\u002Fmvvm-navigation-screen-management","04.java\u002Fpr2\u002F32.mvvm-navigation-screen-management",{"title":2532,"path":2533,"stem":2534},"Тестування JavaFX MVVM-додатків","\u002Fjava\u002Fpr2\u002Fmvvm-testing","04.java\u002Fpr2\u002F33.mvvm-testing",{"title":2536,"path":2537,"stem":2538},"Стилізація та теми у JavaFX: CSS та User Experience","\u002Fjava\u002Fpr2\u002Fjavafx-styling-themes","04.java\u002Fpr2\u002F34.javafx-styling-themes",{"title":2540,"path":2541,"stem":2542},"AtlantaFX: Сучасні теми для JavaFX додатків","\u002Fjava\u002Fpr2\u002Fatlantafx-modern-themes","04.java\u002Fpr2\u002F35.atlantafx-modern-themes",{"title":2544,"path":2545,"stem":2546},"Пакування та розповсюдження JavaFX-додатків","\u002Fjava\u002Fpr2\u002Fjar-packaging-distribution","04.java\u002Fpr2\u002F36.jar-packaging-distribution",{"title":2548,"icon":2549,"path":2550,"stem":2551,"children":2552,"page":59},"Python","i-devicon-python","\u002Fpython","05.python",[2553,2557,2560,2564,2568,2572,2576,2580,2584,2588,2592,2596,2600,2604,2608,2669],{"title":2554,"path":2555,"stem":2556},"Модулі, Пакети та Віртуальні Середовища","\u002Fpython\u002Fmodules-packages-venv","05.python\u002F00.modules-packages-venv",{"title":71,"path":2558,"stem":2559},"\u002Fpython\u002Fclasses-objects","05.python\u002F01.classes-objects",{"title":2561,"path":2562,"stem":2563},"Інкапсуляція, Керування Доступом та Властивості","\u002Fpython\u002Fencapsulation","05.python\u002F02.encapsulation",{"title":2565,"path":2566,"stem":2567},"Наслідування, MRO та суперсила super()","\u002Fpython\u002Finheritance-mro","05.python\u002F03.inheritance-mro",{"title":2569,"path":2570,"stem":2571},"Абстракція — ABC проти Статичних Протоколів (PEP 544)","\u002Fpython\u002Fabstraction-protocols","05.python\u002F04.abstraction-protocols",{"title":2573,"path":2574,"stem":2575},"Магічні методи (Dunder) та Емуляція протоколів","\u002Fpython\u002Fdunder-methods","05.python\u002F05.dunder-methods",{"title":2577,"path":2578,"stem":2579},"Декоратори та Керування життєвим циклом методів","\u002Fpython\u002Fdecorators-static-class","05.python\u002F06.decorators-static-class",{"title":2581,"path":2582,"stem":2583},"Дескриптори — Магія доступу до атрибутів","\u002Fpython\u002Fdescriptors","05.python\u002F07.descriptors",{"title":2585,"path":2586,"stem":2587},"Метакласи — Динамічне створення класів під капотом CPython","\u002Fpython\u002Fmetaclasses","05.python\u002F08.metaclasses",{"title":2589,"path":2590,"stem":2591},"Dataclasses, NamedTuple та сучасні контейнери Python","\u002Fpython\u002Fmodern-containers","05.python\u002F09.modern-containers",{"title":2593,"path":2594,"stem":2595},"GIL та модель конкурентності CPython — фундамент перед потоками і процесами","\u002Fpython\u002Fgil-concurrency-intro","05.python\u002F11.gil-concurrency-intro",{"title":2597,"path":2598,"stem":2599},"Threading — конкурентність для I\u002FO-bound задач","\u002Fpython\u002Fthreading","05.python\u002F12.threading",{"title":2601,"path":2602,"stem":2603},"Multiprocessing — справжній паралелізм для CPU-bound задач","\u002Fpython\u002Fmultiprocessing","05.python\u002F13.multiprocessing",{"title":2605,"path":2606,"stem":2607},"asyncio — кооперативна конкурентність та event loop","\u002Fpython\u002Fasyncio","05.python\u002F14.asyncio",{"title":2609,"icon":92,"path":2610,"stem":2611,"children":2612,"page":59},"FastAPI","\u002Fpython\u002Ffastapi","05.python\u002Ffastapi",[2613,2617,2621,2625,2629,2633,2637,2641,2645,2649,2653,2657,2661,2665],{"title":2614,"path":2615,"stem":2616},"Глибокий Typing та Pydantic v2 — від анотацій до валідації","\u002Fpython\u002Ffastapi\u002Ftyping-pydantic","05.python\u002Ffastapi\u002F15.typing-pydantic",{"title":2618,"path":2619,"stem":2620},"WSGI, ASGI та Python Web-екосистема","\u002Fpython\u002Ffastapi\u002Fwsgi-asgi-ecosystem","05.python\u002Ffastapi\u002F16.wsgi-asgi-ecosystem",{"title":2622,"path":2623,"stem":2624},"FastAPI: Перший додаток, Uvicorn та OpenAPI","\u002Fpython\u002Ffastapi\u002Ffastapi-intro","05.python\u002Ffastapi\u002F17.fastapi-intro",{"title":2626,"path":2627,"stem":2628},"Маршрутизація, параметри запитів та APIRouter","\u002Fpython\u002Ffastapi\u002Ffastapi-routing-params","05.python\u002Ffastapi\u002F18.fastapi-routing-params",{"title":2630,"path":2631,"stem":2632},"Pydantic v2 у FastAPI — схеми, валідація та серіалізація","\u002Fpython\u002Ffastapi\u002Ffastapi-pydantic-schemas","05.python\u002Ffastapi\u002F19.fastapi-pydantic-schemas",{"title":2634,"path":2635,"stem":2636},"Dependency Injection — серце архітектури FastAPI","\u002Fpython\u002Ffastapi\u002Ffastapi-dependency-injection","05.python\u002Ffastapi\u002F20.fastapi-dependency-injection",{"title":2638,"path":2639,"stem":2640},"Обробка помилок, Middleware та CORS у FastAPI","\u002Fpython\u002Ffastapi\u002Ffastapi-errors-middleware","05.python\u002Ffastapi\u002F21.fastapi-errors-middleware",{"title":2642,"path":2643,"stem":2644},"SQLAlchemy 2.0 — ORM, Core та Async Engine","\u002Fpython\u002Ffastapi\u002Fsqlalchemy-orm","05.python\u002Ffastapi\u002F22.sqlalchemy-orm",{"title":2646,"path":2647,"stem":2648},"Alembic — міграції бази даних","\u002Fpython\u002Ffastapi\u002Falembic-migrations","05.python\u002Ffastapi\u002F23.alembic-migrations",{"title":2650,"path":2651,"stem":2652},"Repository Pattern та Clean Architecture у FastAPI","\u002Fpython\u002Ffastapi\u002Ffastapi-repository-clean-arch","05.python\u002Ffastapi\u002F24.fastapi-repository-clean-arch",{"title":2654,"path":2655,"stem":2656},"Автентифікація та авторизація — JWT, OAuth2, RBAC","\u002Fpython\u002Ffastapi\u002Ffastapi-auth-security","05.python\u002Ffastapi\u002F25.fastapi-auth-security",{"title":2658,"path":2659,"stem":2660},"Тестування FastAPI — pytest, httpx, fixtures","\u002Fpython\u002Ffastapi\u002Ffastapi-testing","05.python\u002Ffastapi\u002F26.fastapi-testing",{"title":2662,"path":2663,"stem":2664},"Async на повну — Background Tasks, WebSockets, SSE та Celery","\u002Fpython\u002Ffastapi\u002Ffastapi-async-advanced","05.python\u002Ffastapi\u002F27.fastapi-async-advanced",{"title":2666,"path":2667,"stem":2668},"Deployment — Docker, CI\u002FCD, Monitoring","\u002Fpython\u002Ffastapi\u002Ffastapi-deployment","05.python\u002Ffastapi\u002F28.fastapi-deployment",{"title":2670,"path":2671,"stem":2672},"[object Object]","\u002Fpython\u002Foop-plan","05.python\u002Foop-plan",{"title":2674,"icon":2675,"path":2676,"stem":2677,"children":2678,"page":59},"Бази даних","i-lucide-database","\u002Fdatabases","06.databases",[2679,2709,2732,2769,2798,2816,2850,2862,2871],{"title":2680,"icon":2681,"path":2682,"stem":2683,"children":2684,"page":59},"Intro","i-lucide-play","\u002Fdatabases\u002Fintro","06.databases\u002F01.intro",[2685,2689,2693,2697,2701,2705],{"title":2686,"path":2687,"stem":2688},"Введення в теорію баз даних","\u002Fdatabases\u002Fintro\u002Fintroduction-to-databases","06.databases\u002F01.intro\u002F01.introduction-to-databases",{"title":2690,"path":2691,"stem":2692},"Реляційна модель даних","\u002Fdatabases\u002Fintro\u002Frelational-model-theory","06.databases\u002F01.intro\u002F02.relational-model-theory",{"title":2694,"path":2695,"stem":2696},"ER-моделювання","\u002Fdatabases\u002Fintro\u002Fer-modeling","06.databases\u002F01.intro\u002F03.er-modeling",{"title":2698,"path":2699,"stem":2700},"Логічне проектування БД","\u002Fdatabases\u002Fintro\u002Flogical-schema","06.databases\u002F01.intro\u002F04.logical-schema",{"title":2702,"path":2703,"stem":2704},"Класифікація таблиць","\u002Fdatabases\u002Fintro\u002Ftable-classification","06.databases\u002F01.intro\u002F05.table-classification",{"title":2706,"path":2707,"stem":2708},"PlantUML для баз даних","\u002Fdatabases\u002Fintro\u002Fplantuml-diagrams","06.databases\u002F01.intro\u002F06.plantuml-diagrams",{"title":2710,"icon":2675,"path":2711,"stem":2712,"children":2713,"page":59},"MS SQL Server Start","\u002Fdatabases\u002Fms-sql-server-start","06.databases\u002F02.ms-sql-server-start",[2714,2718,2724,2728],{"title":2715,"path":2716,"stem":2717},"Типи даних у MS SQL Server","\u002Fdatabases\u002Fms-sql-server-start\u002Fdata-types","06.databases\u002F02.ms-sql-server-start\u002F01.data-types",{"title":2719,"path":2720,"stem":2721,"children":2722},"Індекси у MS SQL Server","\u002Fdatabases\u002Fms-sql-server-start\u002Fsql-indexes","06.databases\u002F02.ms-sql-server-start\u002F02.sql-indexes",[2723],{"title":2719,"path":2720,"stem":2721},{"title":2725,"path":2726,"stem":2727},"Системні бази даних MS SQL Server","\u002Fdatabases\u002Fms-sql-server-start\u002Fsystem-databases","06.databases\u002F02.ms-sql-server-start\u002F03.system-databases",{"title":2729,"path":2730,"stem":2731},"Огляд мови SQL та запитів","\u002Fdatabases\u002Fms-sql-server-start\u002Fsql-queries-overview","06.databases\u002F02.ms-sql-server-start\u002F04.sql-queries-overview",{"title":2733,"icon":2675,"path":2734,"stem":2735,"children":2736,"page":59},"SQL","\u002Fdatabases\u002Fsql","06.databases\u002F03.sql",[2737,2741,2745,2749,2753,2757,2761,2765],{"title":2738,"path":2739,"stem":2740},"Налаштування демонстраційної бази даних","\u002Fdatabases\u002Fsql\u002Fsample-database-setup","06.databases\u002F03.sql\u002F00.sample-database-setup",{"title":2742,"path":2743,"stem":2744},"DDL - Створення таблиць (CREATE TABLE)","\u002Fdatabases\u002Fsql\u002Fddl-create-table","06.databases\u002F03.sql\u002F01.ddl-create-table",{"title":2746,"path":2747,"stem":2748},"DDL - Зміна та видалення таблиць (ALTER, DROP)","\u002Fdatabases\u002Fsql\u002Fddl-alter-drop-table","06.databases\u002F03.sql\u002F02.ddl-alter-drop-table",{"title":2750,"path":2751,"stem":2752},"SELECT запити - Основи","\u002Fdatabases\u002Fsql\u002Fselect-queries-fundamentals","06.databases\u002F03.sql\u002F03.select-queries-fundamentals",{"title":2754,"path":2755,"stem":2756},"SELECT запити - Розширені можливості","\u002Fdatabases\u002Fsql\u002Fselect-queries-advanced","06.databases\u002F03.sql\u002F04.select-queries-advanced",{"title":2758,"path":2759,"stem":2760},"INSERT запити - Додавання даних","\u002Fdatabases\u002Fsql\u002Finsert-queries","06.databases\u002F03.sql\u002F05.insert-queries",{"title":2762,"path":2763,"stem":2764},"UPDATE та DELETE запити","\u002Fdatabases\u002Fsql\u002Fupdate-delete-queries","06.databases\u002F03.sql\u002F06.update-delete-queries",{"title":2766,"path":2767,"stem":2768},"Транзакції в SQL","\u002Fdatabases\u002Fsql\u002Ftransactions","06.databases\u002F03.sql\u002F07.transactions",{"title":2770,"icon":2675,"path":2771,"stem":2772,"children":2773,"page":59},"Multi Table Databases","\u002Fdatabases\u002Fmulti-table-databases","06.databases\u002F04.multi-table-databases",[2774,2778,2782,2786,2790,2794],{"title":2775,"path":2776,"stem":2777},"Зв'язки та нормалізація БД","\u002Fdatabases\u002Fmulti-table-databases\u002Frelationships-and-normalization","06.databases\u002F04.multi-table-databases\u002F00.relationships-and-normalization",{"title":2779,"path":2780,"stem":2781},"INNER JOIN - З'єднання таблиць","\u002Fdatabases\u002Fmulti-table-databases\u002Finner-join","06.databases\u002F04.multi-table-databases\u002F01.inner-join",{"title":2783,"path":2784,"stem":2785},"OUTER JOINs - LEFT, RIGHT, FULL","\u002Fdatabases\u002Fmulti-table-databases\u002Fouter-joins","06.databases\u002F04.multi-table-databases\u002F02.outer-joins",{"title":2787,"path":2788,"stem":2789},"CROSS та SELF JOINs","\u002Fdatabases\u002Fmulti-table-databases\u002Fcross-self-joins","06.databases\u002F04.multi-table-databases\u002F03.cross-self-joins",{"title":2791,"path":2792,"stem":2793},"Підзапити (Subqueries)","\u002Fdatabases\u002Fmulti-table-databases\u002Fsubqueries","06.databases\u002F04.multi-table-databases\u002F04.subqueries",{"title":2795,"path":2796,"stem":2797},"Агрегації з JOIN","\u002Fdatabases\u002Fmulti-table-databases\u002Faggregations-with-joins","06.databases\u002F04.multi-table-databases\u002F05.aggregations-with-joins",{"title":2799,"icon":2800,"path":2801,"stem":2802,"children":2803,"page":59},"Aggregate Functions","i-lucide-calculator","\u002Fdatabases\u002Faggregate-functions","06.databases\u002F05.aggregate-functions",[2804,2808,2812],{"title":2805,"path":2806,"stem":2807},"Функції агрегування в MS SQL Server","\u002Fdatabases\u002Faggregate-functions\u002Fintroduction-aggregate-functions","06.databases\u002F05.aggregate-functions\u002F01.introduction-aggregate-functions",{"title":2809,"path":2810,"stem":2811},"Групування даних в MS SQL Server","\u002Fdatabases\u002Faggregate-functions\u002Fgrouping-data","06.databases\u002F05.aggregate-functions\u002F02.grouping-data",{"title":2813,"path":2814,"stem":2815},"Підзапити з агрегатними функціями","\u002Fdatabases\u002Faggregate-functions\u002Fsubqueries-aggregates","06.databases\u002F05.aggregate-functions\u002F03.subqueries-aggregates",{"title":2817,"icon":2818,"path":2819,"stem":2820,"children":2821,"page":59},"Тригери та зберігаємі процедури","i-lucide-database-zap","\u002Fdatabases\u002Ftriggers-stored-procedures","06.databases\u002F07.triggers-stored-procedures",[2822,2826,2830,2834,2838,2842,2846],{"title":2823,"path":2824,"stem":2825},"DML-тригери","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fdml-triggers","06.databases\u002F07.triggers-stored-procedures\u002F01.dml-triggers",{"title":2827,"path":2828,"stem":2829},"DDL-тригери","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fddl-triggers","06.databases\u002F07.triggers-stored-procedures\u002F02.ddl-triggers",{"title":2831,"path":2832,"stem":2833},"Transact-SQL розширення","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Ftransact-sql-extensions","06.databases\u002F07.triggers-stored-procedures\u002F03.transact-sql-extensions",{"title":2835,"path":2836,"stem":2837},"Транзакції","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Ftransactions","06.databases\u002F07.triggers-stored-procedures\u002F04.transactions",{"title":2839,"path":2840,"stem":2841},"Зберігаємі процедури","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fstored-procedures","06.databases\u002F07.triggers-stored-procedures\u002F05.stored-procedures",{"title":2843,"path":2844,"stem":2845},"Користувацькі функції","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fuser-defined-functions","06.databases\u002F07.triggers-stored-procedures\u002F06.user-defined-functions",{"title":2847,"path":2848,"stem":2849},"Безпека баз даних","\u002Fdatabases\u002Ftriggers-stored-procedures\u002Fsecurity","06.databases\u002F07.triggers-stored-procedures\u002F08.security",{"title":2847,"icon":793,"path":2851,"stem":2852,"children":2853,"page":59},"\u002Fdatabases\u002Fsecurity","06.databases\u002F08.security",[2854,2858],{"title":2855,"path":2856,"stem":2857},"Вступ до безпеки баз даних","\u002Fdatabases\u002Fsecurity\u002Fintroduction","06.databases\u002F08.security\u002F01.introduction",{"title":2859,"path":2860,"stem":2861},"Системні представлення та метадані","\u002Fdatabases\u002Fsecurity\u002Fsystem-views","06.databases\u002F08.security\u002F02.system-views",{"title":2863,"icon":2864,"path":2865,"stem":2866,"children":2867,"page":59},"Резервне копіювання та відновлення","i-lucide-database-backup","\u002Fdatabases\u002Fbackup-recovery","06.databases\u002F09.backup-recovery",[2868],{"title":2863,"path":2869,"stem":2870},"\u002Fdatabases\u002Fbackup-recovery\u002Fbackup-restore","06.databases\u002F09.backup-recovery\u002F01.backup-restore",{"title":2872,"icon":2873,"path":2874,"stem":2875,"children":2876,"page":59},"Повнотекстовий пошук","i-lucide-search","\u002Fdatabases\u002Ffull-text-search","06.databases\u002F10.full-text-search",[2877],{"title":2872,"path":2878,"stem":2879},"\u002Fdatabases\u002Ffull-text-search\u002Ffull-text-search","06.databases\u002F10.full-text-search\u002F01.full-text-search",{"title":2881,"icon":2882,"path":2883,"stem":2884,"children":2885,"page":59},"Tools","i-lucide-wrench","\u002Ftools","07.tools",[2886,2962],{"title":2887,"icon":2888,"path":2889,"stem":2890,"children":2891},"Docker","i-simple-icons-docker","\u002Ftools\u002Fdocker","07.tools\u002F01.docker\u002Findex",[2892,2894,2898,2902,2906,2910,2914,2918,2922,2926,2930,2934,2938,2942,2946,2950,2954,2958],{"title":2893,"path":2889,"stem":2890},"Docker: від нуля до production",{"title":2895,"path":2896,"stem":2897},"Контейнеризація — від проблеми до рішення","\u002Ftools\u002Fdocker\u002Fcontainerization-concept","07.tools\u002F01.docker\u002F01.containerization-concept",{"title":2899,"path":2900,"stem":2901},"Docker — що це і навіщо?","\u002Ftools\u002Fdocker\u002Fdocker-what-and-why","07.tools\u002F01.docker\u002F02.docker-what-and-why",{"title":2903,"path":2904,"stem":2905},"Архітектура Docker Engine","\u002Ftools\u002Fdocker\u002Fdocker-architecture","07.tools\u002F01.docker\u002F03.docker-architecture",{"title":2907,"path":2908,"stem":2909},"Встановлення Docker","\u002Ftools\u002Fdocker\u002Finstallation","07.tools\u002F01.docker\u002F04.installation",{"title":2911,"path":2912,"stem":2913},"Перший контейнер — docker run","\u002Ftools\u002Fdocker\u002Ffirst-container","07.tools\u002F01.docker\u002F05.first-container",{"title":2915,"path":2916,"stem":2917},"Життєвий цикл контейнера","\u002Ftools\u002Fdocker\u002Fcontainer-lifecycle","07.tools\u002F01.docker\u002F06.container-lifecycle",{"title":2919,"path":2920,"stem":2921},"Docker Images — фундаментальні концепції","\u002Ftools\u002Fdocker\u002Fdocker-images-fundamentals","07.tools\u002F01.docker\u002F07.docker-images-fundamentals",{"title":2923,"path":2924,"stem":2925},"Dockerfile — основи","\u002Ftools\u002Fdocker\u002Fdockerfile-basics","07.tools\u002F01.docker\u002F08.dockerfile-basics",{"title":2927,"path":2928,"stem":2929},"Dockerfile — просунуті техніки","\u002Ftools\u002Fdocker\u002Fdockerfile-advanced","07.tools\u002F01.docker\u002F09.dockerfile-advanced",{"title":2931,"path":2932,"stem":2933},"Build Context та кешування шарів","\u002Ftools\u002Fdocker\u002Fbuild-context-and-cache","07.tools\u002F01.docker\u002F10.build-context-and-cache",{"title":2935,"path":2936,"stem":2937},"Реєстри Docker-образів","\u002Ftools\u002Fdocker\u002Fimage-registries","07.tools\u002F01.docker\u002F11.image-registries",{"title":2939,"path":2940,"stem":2941},"Контейнеризація .NET додатків","\u002Ftools\u002Fdocker\u002Fdotnet-containerization","07.tools\u002F01.docker\u002F12.dotnet-containerization",{"title":2943,"path":2944,"stem":2945},"Томи та збереження даних","\u002Ftools\u002Fdocker\u002Fvolumes-and-data","07.tools\u002F01.docker\u002F13.volumes-and-data",{"title":2947,"path":2948,"stem":2949},"Основи мережі в Docker","\u002Ftools\u002Fdocker\u002Fnetworking-basics","07.tools\u002F01.docker\u002F14.networking-basics",{"title":2951,"path":2952,"stem":2953},"Змінні оточення та конфігурація","\u002Ftools\u002Fdocker\u002Fenvironment-and-configuration","07.tools\u002F01.docker\u002F15.environment-and-configuration",{"title":2955,"path":2956,"stem":2957},"Docker Compose — оркестрація контейнерів","\u002Ftools\u002Fdocker\u002Fdocker-compose-basics","07.tools\u002F01.docker\u002F16.docker-compose-basics",{"title":2959,"path":2960,"stem":2961},"Docker Compose — Multi-Service застосунки","\u002Ftools\u002Fdocker\u002Fcompose-multi-service","07.tools\u002F01.docker\u002F17.compose-multi-service",{"title":2963,"icon":2964,"path":2965,"stem":2966,"children":2967},"Kubernetes","simple-icons:kubernetes","\u002Ftools\u002Fkubernetes","07.tools\u002F02.kubernetes\u002Findex",[2968,2970,2974,2978,2982,2986,2990,2994,2998],{"title":2969,"path":2965,"stem":2966},"Kubernetes: від розробки до production",{"title":2971,"path":2972,"stem":2973},"Kubernetes — коли Docker Compose більше не вистачає","\u002Ftools\u002Fkubernetes\u002Fwhy-kubernetes","07.tools\u002F02.kubernetes\u002F01.why-kubernetes",{"title":2975,"path":2976,"stem":2977},"Архітектура Kubernetes — анатомія кластера","\u002Ftools\u002Fkubernetes\u002Fkubernetes-architecture","07.tools\u002F02.kubernetes\u002F02.kubernetes-architecture",{"title":2979,"path":2980,"stem":2981},"Локальне середовище — minikube, kind та k3s","\u002Ftools\u002Fkubernetes\u002Flocal-environment","07.tools\u002F02.kubernetes\u002F03.local-environment",{"title":2983,"path":2984,"stem":2985},"Pod — атомарна одиниця Kubernetes","\u002Ftools\u002Fkubernetes\u002Fpods-and-containers","07.tools\u002F02.kubernetes\u002F04.pods-and-containers",{"title":2987,"path":2988,"stem":2989},"Патерни використання Pod","\u002Ftools\u002Fkubernetes\u002Fpod-patterns","07.tools\u002F02.kubernetes\u002F05.pod-patterns",{"title":2991,"path":2992,"stem":2993},"Deployment — декларативне управління Pod","\u002Ftools\u002Fkubernetes\u002Fdeployment-basics","07.tools\u002F02.kubernetes\u002F06.deployment-basics",{"title":2995,"path":2996,"stem":2997},"Rolling Updates та управління життєвим циклом Deployment","\u002Ftools\u002Fkubernetes\u002Fdeployment-rolling-updates","07.tools\u002F02.kubernetes\u002F07.deployment-rolling-updates",{"title":2999,"path":3000,"stem":3001},"Service — мережева абстракція для Pod","\u002Ftools\u002Fkubernetes\u002Fservices-networking","07.tools\u002F02.kubernetes\u002F08.services-networking",{"title":3003,"icon":3004,"path":3005,"stem":3006,"children":3007,"page":59},"Software Engineering","i-lucide-code-2","\u002Fsoftware-engineering","09.software-engineering",[3008,3012,3016,3020,3024,3028,3032,3036,3040,3044,3048],{"title":3009,"path":3010,"stem":3011},"1. Аналіз предметної області. Експертні знання та складність","\u002Fsoftware-engineering\u002Fintro-subdomains","09.software-engineering\u002F01.intro-subdomains",{"title":3013,"path":3014,"stem":3015},"2. Обмежені контексти. Інтеграція обмежених контекстів","\u002Fsoftware-engineering\u002Fintegrating-limited-contexts","09.software-engineering\u002F02.integrating-limited-contexts",{"title":3017,"path":3018,"stem":3019},"3. Реалізація простої бізнес-логіки","\u002Fsoftware-engineering\u002Fsimple","09.software-engineering\u002F03.simple",{"title":3021,"path":3022,"stem":3023},"4. Опрацювання складної бізнес-логіки","\u002Fsoftware-engineering\u002Fcomplex-business-logic","09.software-engineering\u002F04.complex-business-logic",{"title":3025,"path":3026,"stem":3027},"5. Моделювання фактора часу. Подієво-орієнтована архітектура.","\u002Fsoftware-engineering\u002Fmodelling-the-time-factor","09.software-engineering\u002F05.modelling-the-time-factor",{"title":3029,"path":3030,"stem":3031},"6. Архітектурні патерни","\u002Fsoftware-engineering\u002Farchitectural-patterns","09.software-engineering\u002F06.architectural-patterns",{"title":3033,"path":3034,"stem":3035},"Паттерни взаємодії","\u002Fsoftware-engineering\u002Fpatterns-of-interaction","09.software-engineering\u002F07.patterns-of-interaction",{"title":3037,"path":3038,"stem":3039},"Евристика проєктування","\u002Fsoftware-engineering\u002Fdesign-heuristics","09.software-engineering\u002F08.design-heuristics",{"title":3041,"path":3042,"stem":3043},"Еволюція проєктних рішень","\u002Fsoftware-engineering\u002Fevolution-of-design-solutions","09.software-engineering\u002F09.evolution-of-design-solutions",{"title":3045,"path":3046,"stem":3047},"EventStorming","\u002Fsoftware-engineering\u002Feventstorming","09.software-engineering\u002F10.eventstorming",{"title":3049,"path":3050,"stem":3051},"DDD на практиці","\u002Fsoftware-engineering\u002Fddd-in-practice","09.software-engineering\u002F11.ddd-in-practice",{"title":3053,"icon":943,"path":3054,"stem":3055,"children":3056,"page":59},"DDD","\u002Fddd","10.ddd",[3057,3061,3065,3069,3073,3077,3081,3085,3089,3093,3097,3101,3105],{"title":3058,"path":3059,"stem":3060},"Аналіз предметної області","\u002Fddd\u002Fdomain-analysis","10.ddd\u002F01.domain-analysis",{"title":3062,"path":3063,"stem":3064},"Експертні знання про предметну область","\u002Fddd\u002Fdomain-expert-knowledge","10.ddd\u002F02.domain-expert-knowledge",{"title":3066,"path":3067,"stem":3068},"Як осмислити складність предметної області","\u002Fddd\u002Fmanaging-domain-complexity","10.ddd\u002F03.managing-domain-complexity",{"title":3070,"path":3071,"stem":3072},"Інтеграція обмежених контекстів","\u002Fddd\u002Fbounded-context-integration","10.ddd\u002F04.bounded-context-integration",{"title":3074,"path":3075,"stem":3076},"Реалізація простої бізнес-логіки","\u002Fddd\u002Fsimple-business-logic","10.ddd\u002F05.simple-business-logic",{"title":3078,"path":3079,"stem":3080},"Обробка складної бізнес-логіки","\u002Fddd\u002Fcomplex-business-logic","10.ddd\u002F06.complex-business-logic",{"title":3082,"path":3083,"stem":3084},"Моделювання фактора часу","\u002Fddd\u002Ftime-modeling","10.ddd\u002F07.time-modeling",{"title":3086,"path":3087,"stem":3088},"Глава 8. Архітектурні Патерни","\u002Fddd\u002Farchitectural-patterns","10.ddd\u002F08.architectural-patterns",{"title":3090,"path":3091,"stem":3092},"Глава 9. Патерни Взаємодії","\u002Fddd\u002Finteraction-patterns","10.ddd\u002F09.interaction-patterns",{"title":3094,"path":3095,"stem":3096},"Глава 10. Проектні Евристики","\u002Fddd\u002Fdesign-heuristics","10.ddd\u002F10.design-heuristics",{"title":3098,"path":3099,"stem":3100},"Глава 11. Еволюція Проектних Рішень","\u002Fddd\u002Fevolution-of-design-decisions","10.ddd\u002F11.evolution-of-design-decisions",{"title":3102,"path":3103,"stem":3104},"Глава 12. EventStorming","\u002Fddd\u002Fevent-storming","10.ddd\u002F12.event-storming",{"title":3106,"path":3107,"stem":3108},"Глава 13. DDD на Практиці","\u002Fddd\u002Fddd-in-practice","10.ddd\u002F13.ddd-in-practice",{"title":3110,"icon":3111,"path":3112,"stem":3113,"children":3114,"page":59},"Media Streaming","i-lucide-video","\u002Fmedia-streaming","11.media-streaming",[3115,3119,3123,3127,3131,3135,3139],{"title":3116,"path":3117,"stem":3118},"01. Магія Стрімінгу: Що відбувається, коли ви натискаєте \"Play\"","\u002Fmedia-streaming\u002Fintroduction","11.media-streaming\u002F01.introduction",{"title":3120,"path":3121,"stem":3122},"02. Анатомія Медіа: Кодеки, Контейнери та Стиснення","\u002Fmedia-streaming\u002Faudio-video-anatomy","11.media-streaming\u002F02.audio-video-anatomy",{"title":3124,"path":3125,"stem":3126},"03. The Gym: FFmpeg Deep Dive","\u002Fmedia-streaming\u002Fffmpeg-gym","11.media-streaming\u002F03.ffmpeg-gym",{"title":3128,"path":3129,"stem":3130},"04. HLS Protocol: HTTP Live Streaming у Деталях","\u002Fmedia-streaming\u002Fhls-protocol","11.media-streaming\u002F04.hls-protocol",{"title":3132,"path":3133,"stem":3134},"05. DASH Protocol: Відкритий Стандарт","\u002Fmedia-streaming\u002Fdash-protocol","11.media-streaming\u002F05.dash-protocol",{"title":3136,"path":3137,"stem":3138},"06. Масштабування: CDN та Adaptive Bitrate","\u002Fmedia-streaming\u002Fcdn-and-adaptive-bitrate","11.media-streaming\u002F06.cdn-and-adaptive-bitrate",{"title":3140,"path":3141,"stem":3142},"07. Війна із Затримкою (Latency)","\u002Fmedia-streaming\u002Frealtime-latency","11.media-streaming\u002F07.realtime-latency",{"title":3144,"icon":3145,"path":3146,"stem":3147,"children":3148,"page":59},"HTML & CSS","i-devicon-html5","\u002Fhtml-css","12.html-css",[3149,3153,3157,3161,3165,3169,3173,3177,3181,3185,3189,3193,3197,3201,3205,3209,3213,3217,3221,3225,3229,3233,3237,3241,3245,3249,3253,3257,3261,3265],{"title":3150,"path":3151,"stem":3152},"Вступ до HTML. Структура документа","\u002Fhtml-css\u002Fintro-html-structure","12.html-css\u002F01.intro-html-structure",{"title":3154,"path":3155,"stem":3156},"Форматування тексту в HTML","\u002Fhtml-css\u002Fhtml-text-formatting","12.html-css\u002F02.html-text-formatting",{"title":3158,"path":3159,"stem":3160},"Посилання та зображення в HTML","\u002Fhtml-css\u002Fhtml-links-images","12.html-css\u002F03.html-links-images",{"title":3162,"path":3163,"stem":3164},"Списки та таблиці в HTML","\u002Fhtml-css\u002Fhtml-lists-tables","12.html-css\u002F04.html-lists-tables",{"title":3166,"path":3167,"stem":3168},"Форми в HTML","\u002Fhtml-css\u002Fhtml-forms","12.html-css\u002F05.html-forms",{"title":3170,"path":3171,"stem":3172},"Семантичні елементи HTML5","\u002Fhtml-css\u002Fhtml-semantic-elements","12.html-css\u002F06.html-semantic-elements",{"title":3174,"path":3175,"stem":3176},"Мультимедіа та розширені елементи HTML","\u002Fhtml-css\u002Fhtml-multimedia-advanced","12.html-css\u002F07.html-multimedia-advanced",{"title":3178,"path":3179,"stem":3180},"Мікророзмітка та SEO в HTML","\u002Fhtml-css\u002Fhtml-microdata-seo","12.html-css\u002F08.html-microdata-seo",{"title":3182,"path":3183,"stem":3184},"Вступ до CSS. Селектори та специфічність","\u002Fhtml-css\u002Fcss-intro-selectors","12.html-css\u002F09.css-intro-selectors",{"title":3186,"path":3187,"stem":3188},"Блокова модель CSS. Відступи. Box Sizing","\u002Fhtml-css\u002Fcss-box-model","12.html-css\u002F10.css-box-model",{"title":3190,"path":3191,"stem":3192},"Розміри у CSS: повний довідник одиниць і ключових слів","\u002Fhtml-css\u002F10a.css-sizing","12.html-css\u002F10a.css-sizing",{"title":3194,"path":3195,"stem":3196},"Типографіка в CSS. Шрифти та текст","\u002Fhtml-css\u002Fcss-typography","12.html-css\u002F11.css-typography",{"title":3198,"path":3199,"stem":3200},"Кольори та фони в CSS","\u002Fhtml-css\u002Fcss-colors-backgrounds","12.html-css\u002F12.css-colors-backgrounds",{"title":3202,"path":3203,"stem":3204},"Тіні та фільтри в CSS","\u002Fhtml-css\u002F12b.css-shadows-filters","12.html-css\u002F12b.css-shadows-filters",{"title":3206,"path":3207,"stem":3208},"CSS Flexbox: Фундамент гнучких макетів","\u002Fhtml-css\u002Fcss-flexbox-fundamentals","12.html-css\u002F13.css-flexbox-fundamentals",{"title":3210,"path":3211,"stem":3212},"CSS Flexbox: Вирівнювання та Позиціонування","\u002Fhtml-css\u002Fcss-flexbox-alignment-sizing-and-patterns","12.html-css\u002F14.css-flexbox-alignment-sizing-and-patterns",{"title":3214,"path":3215,"stem":3216},"CSS Grid. Двовимірний макет. Частина 1","\u002Fhtml-css\u002Fcss-layout-grid","12.html-css\u002F15.css-layout-grid",{"title":3218,"path":3219,"stem":3220},"CSS Grid. Двовимірний макет. Частина 2","\u002Fhtml-css\u002Fcss-layout-grid-advanced","12.html-css\u002F16.css-layout-grid-advanced",{"title":3222,"path":3223,"stem":3224},"Позиціонування в CSS. Z-index. Stacking Context","\u002Fhtml-css\u002Fcss-positioning","12.html-css\u002F17.css-positioning",{"title":3226,"path":3227,"stem":3228},"CSS Анімації та Переходи","\u002Fhtml-css\u002Fcss-animations-transitions","12.html-css\u002F18.css-animations-transitions",{"title":3230,"path":3231,"stem":3232},"Адаптивний дизайн. Media Queries. Частина 1","\u002Fhtml-css\u002Fcss-responsive-media-queries","12.html-css\u002F19.css-responsive-media-queries",{"title":3234,"path":3235,"stem":3236},"Адаптивний дизайн. Частина 2: clamp(), Container Queries, @layer","\u002Fhtml-css\u002Fcss-responsive-advanced","12.html-css\u002F20.css-responsive-advanced",{"title":3238,"path":3239,"stem":3240},"CSS Custom Properties. Методології. Сучасний CSS","\u002Fhtml-css\u002Fcss-variables-methodologies","12.html-css\u002F21.css-variables-methodologies",{"title":3242,"path":3243,"stem":3244},"Сучасний CSS 2023–2025: Нові можливості","\u002Fhtml-css\u002Fcss-modern-features","12.html-css\u002F22.css-modern-features",{"title":3246,"path":3247,"stem":3248},"CSS Nesting, @layer, @scope та @property: нативний препроцесор","\u002Fhtml-css\u002F22a.css-nesting-modern-syntax","12.html-css\u002F22a.css-nesting-modern-syntax",{"title":3250,"path":3251,"stem":3252},"CSS для форм та інтерактивних станів","\u002Fhtml-css\u002Fcss-forms-interactive-states","12.html-css\u002F23.css-forms-interactive-states",{"title":3254,"path":3255,"stem":3256},"Доступність у CSS (CSS Accessibility)","\u002Fhtml-css\u002Fcss-accessibility","12.html-css\u002F24.css-accessibility",{"title":3258,"path":3259,"stem":3260},"CSS-функції та сучасні sizing primitives","\u002Fhtml-css\u002Fcss-functions-sizing","12.html-css\u002F25.css-functions-sizing",{"title":3262,"path":3263,"stem":3264},"Rendering Pipeline і CSS Performance","\u002Fhtml-css\u002Fcss-rendering-performance","12.html-css\u002F26.css-rendering-performance",{"title":3266,"path":3267,"stem":3268},"CSS Best Practices: типові ситуації та правильні рішення","\u002Fhtml-css\u002Fcss-best-practices","12.html-css\u002F27.css-best-practices",{"title":3270,"path":3271,"stem":3272,"children":3273,"page":59},"AWS","\u002Faws","13.aws",[3274,3278,3282,3286,3290,3294,3298,3302,3306,3310,3314,3318,3322,3326,3330,3334,3338,3342],{"title":3275,"path":3276,"stem":3277},"Реєстрація AWS акаунту та студентські програми","\u002Faws\u002Faccount-registration","13.aws\u002F00.account-registration",{"title":3279,"path":3280,"stem":3281},"Вступ до хмарних обчислень та AWS","\u002Faws\u002Fintroduction-to-cloud","13.aws\u002F01.introduction-to-cloud",{"title":3283,"path":3284,"stem":3285},"AWS IAM — Identity and Access Management","\u002Faws\u002Fiam","13.aws\u002F02.iam",{"title":3287,"path":3288,"stem":3289},"AWS IAM CLI — Довідник команд","\u002Faws\u002F02a.iam-doc","13.aws\u002F02a.iam-doc",{"title":3291,"path":3292,"stem":3293},"Docker та контейнеризація в AWS — ECR, ECS та Fargate","\u002Faws\u002Fdocker-ecs","13.aws\u002F03.docker-ecs",{"title":3295,"path":3296,"stem":3297},"AWS ECR \u002F ECS CLI — Довідник команд","\u002Faws\u002F03a.docker-ecs-doc","13.aws\u002F03a.docker-ecs-doc",{"title":3299,"path":3300,"stem":3301},"Amazon EC2 — Elastic Compute Cloud","\u002Faws\u002Fec2","13.aws\u002F04.ec2",{"title":3303,"path":3304,"stem":3305},"AWS EC2 CLI — Довідник команд","\u002Faws\u002F04a.ec2-doc","13.aws\u002F04a.ec2-doc",{"title":3307,"path":3308,"stem":3309},"Elastic Load Balancing та Auto Scaling","\u002Faws\u002Falb-asg","13.aws\u002F05.alb-asg",{"title":3311,"path":3312,"stem":3313},"Amazon S3 — Simple Storage Service","\u002Faws\u002Fs3","13.aws\u002F06.s3",{"title":3315,"path":3316,"stem":3317},"Amazon CloudFront — Content Delivery Network","\u002Faws\u002Fcloudfront","13.aws\u002F07.cloudfront",{"title":3319,"path":3320,"stem":3321},"Amazon RDS — Relational Database Service","\u002Faws\u002Frds","13.aws\u002F08.rds",{"title":3323,"path":3324,"stem":3325},"Amazon DynamoDB — NoSQL Database","\u002Faws\u002Fdynamodb","13.aws\u002F09.dynamodb",{"title":3327,"path":3328,"stem":3329},"AWS Lambda та Serverless Compute","\u002Faws\u002Flambda","13.aws\u002F10.lambda",{"title":3331,"path":3332,"stem":3333},"Amazon Bedrock - Foundation Models, RAG та Agents","\u002Faws\u002Fbedrock","13.aws\u002F22.bedrock",{"title":3335,"path":3336,"stem":3337},"Amazon Rekognition - Комп'ютерний зір","\u002Faws\u002Frekognition","13.aws\u002F23.rekognition",{"title":3339,"path":3340,"stem":3341},"Amazon Textract - Інтелектуальний аналіз документів","\u002Faws\u002Ftextract","13.aws\u002F24.textract",{"title":3343,"path":3344,"stem":3345},"Amazon Polly, Transcribe, Comprehend та Translate","\u002Faws\u002Faudio-nlp-services","13.aws\u002F25.audio-nlp-services",{"title":3347,"path":3348,"stem":3349,"children":3350,"page":59},"Ai Development","\u002Fai-development","14.ai-development",[3351],{"title":3352,"path":3353,"stem":3354,"children":3355,"page":59},"Foundations","\u002Fai-development\u002Ffoundations","14.ai-development\u002F00.foundations",[3356],{"title":3357,"path":3358,"stem":3359},"Модуль 0.1. Що таке Large Language Model (LLM)","\u002Fai-development\u002Ffoundations\u002Fwhat-is-llm","14.ai-development\u002F00.foundations\u002F01.what-is-llm",{"title":3361,"path":3362,"stem":3363,"children":3364,"page":59},"React Native","\u002Freact-native","15.react-native",[3365,3386],{"title":3366,"path":3367,"stem":3368,"children":3369,"page":59},"Version1","\u002Freact-native\u002Fversion1","15.react-native\u002Fversion1",[3370,3374,3378,3382],{"title":3371,"path":3372,"stem":3373},"Що таке React Native","\u002Freact-native\u002Fversion1\u002Fwhat-is-react-native","15.react-native\u002Fversion1\u002F01.what-is-react-native",{"title":3375,"path":3376,"stem":3377},"Як влаштований React Native «під капотом»","\u002Freact-native\u002Fversion1\u002Freact-native-architecture","15.react-native\u002Fversion1\u002F02.react-native-architecture",{"title":3379,"path":3380,"stem":3381},"Від React до React Native: ключові відмінності","\u002Freact-native\u002Fversion1\u002Freact-native-vs-react","15.react-native\u002Fversion1\u002F03.react-native-vs-react",{"title":3383,"path":3384,"stem":3385},"View та Text — фундаментальні будівельні блоки","\u002Freact-native\u002Fversion1\u002Fview-and-text","15.react-native\u002Fversion1\u002F04.view-and-text",{"title":3387,"path":3388,"stem":3389,"children":3390,"page":59},"Version2","\u002Freact-native\u002Fversion2","15.react-native\u002Fversion2",[3391,3395,3399,3403,3407,3411,3415,3419,3423,3427,3431,3435,3439,3443,3447,3451,3455,3459,3463,3467,3471,3475,3479,3483,3487,3491],{"title":3392,"path":3393,"stem":3394},"React Native — навіщо він потрібен","\u002Freact-native\u002Fversion2\u002Fwhy-react-native","15.react-native\u002Fversion2\u002F01.why-react-native",{"title":3396,"path":3397,"stem":3398},"Налаштування середовища розробки","\u002Freact-native\u002Fversion2\u002Fenvironment-setup","15.react-native\u002Fversion2\u002F02.environment-setup",{"title":3400,"path":3401,"stem":3402},"Expo і класичний React Native — два шляхи одного фреймворку","\u002Freact-native\u002Fversion2\u002Fexpo-vs-cli-landscape","15.react-native\u002Fversion2\u002F03.expo-vs-cli-landscape",{"title":3404,"path":3405,"stem":3406},"Середовище Expo — перший запуск","\u002Freact-native\u002Fversion2\u002Fexpo-setup-and-tooling","15.react-native\u002Fversion2\u002F04.expo-setup-and-tooling",{"title":3408,"path":3409,"stem":3410},"Структура проєкту та перші UI-примітиви","\u002Freact-native\u002Fversion2\u002Fproject-structure-and-conventions","15.react-native\u002Fversion2\u002F05.project-structure-and-conventions",{"title":3412,"path":3413,"stem":3414},"Базові компоненти React Native","\u002Freact-native\u002Fversion2\u002Fcore-components","15.react-native\u002Fversion2\u002F06.core-components",{"title":3416,"path":3417,"stem":3418},"Flexbox і layout у React Native","\u002Freact-native\u002Fversion2\u002Fflexbox-and-layout","15.react-native\u002Fversion2\u002F07.flexbox-and-layout",{"title":3420,"path":3421,"stem":3422},"StyleSheet і теми (light \u002F dark)","\u002Freact-native\u002Fversion2\u002Fstylesheet-and-theming","15.react-native\u002Fversion2\u002F08.stylesheet-and-theming",{"title":3424,"path":3425,"stem":3426},"Списки та віртуалізація","\u002Freact-native\u002Fversion2\u002Flists-and-virtualization","15.react-native\u002Fversion2\u002F09.lists-and-virtualization",{"title":3428,"path":3429,"stem":3430},"Форми, ввід і валідація","\u002Freact-native\u002Fversion2\u002Fforms-input-validation","15.react-native\u002Fversion2\u002F10.forms-input-validation",{"title":3432,"path":3433,"stem":3434},"Основи Expo Router","\u002Freact-native\u002Fversion2\u002Fexpo-router-basics","15.react-native\u002Fversion2\u002F11.expo-router-basics",{"title":3436,"path":3437,"stem":3438},"Вкладені навігатори та модалки","\u002Freact-native\u002Fversion2\u002Fnested-navigators-and-modals","15.react-native\u002Fversion2\u002F12.nested-navigators-and-modals",{"title":3440,"path":3441,"stem":3442},"Deep linking і параметри маршрутів","\u002Freact-native\u002Fversion2\u002Fdeep-linking-and-params","15.react-native\u002Fversion2\u002F13.deep-linking-and-params",{"title":3444,"path":3445,"stem":3446},"Робота з мережею та життєвий цикл застосунку","\u002Freact-native\u002Fversion2\u002Fnetworking-and-app-lifecycle","15.react-native\u002Fversion2\u002F14.networking-and-app-lifecycle",{"title":3448,"path":3449,"stem":3450},"Redux Toolkit на мобільних платформах","\u002Freact-native\u002Fversion2\u002Fredux-toolkit-on-mobile","15.react-native\u002Fversion2\u002F15.redux-toolkit-on-mobile",{"title":3452,"path":3453,"stem":3454},"RTK Query на мобільних платформах","\u002Freact-native\u002Fversion2\u002Frtk-query-mobile","15.react-native\u002Fversion2\u002F16.rtk-query-mobile",{"title":3456,"path":3457,"stem":3458},"Автентифікація та Безпечне Зберігання","\u002Freact-native\u002Fversion2\u002Fauth-secure-storage","15.react-native\u002Fversion2\u002F18.auth-secure-storage",{"title":3460,"path":3461,"stem":3462},"Локальне сховище — AsyncStorage, MMKV, SQLite","\u002Freact-native\u002Fversion2\u002Flocal-storage-mmkv-sqlite","15.react-native\u002Fversion2\u002F19.local-storage-mmkv-sqlite",{"title":3464,"path":3465,"stem":3466},"Офлайн-First і синхронізація","\u002Freact-native\u002Fversion2\u002Foffline-first-sync","15.react-native\u002Fversion2\u002F20.offline-first-sync",{"title":3468,"path":3469,"stem":3470},"Камера, медіа та файлова система","\u002Freact-native\u002Fversion2\u002Fcamera-media-filesystem","15.react-native\u002Fversion2\u002F21.camera-media-filesystem",{"title":3472,"path":3473,"stem":3474},"Карти та геолокація","\u002Freact-native\u002Fversion2\u002Fmaps-and-location","15.react-native\u002Fversion2\u002F22.maps-and-location",{"title":3476,"path":3477,"stem":3478},"Жести та дотики","\u002Freact-native\u002Fversion2\u002Fgestures-and-touch","15.react-native\u002Fversion2\u002F23.gestures-and-touch",{"title":3480,"path":3481,"stem":3482},"Анімації з Reanimated","\u002Freact-native\u002Fversion2\u002Freanimated-animations","15.react-native\u002Fversion2\u002F24.reanimated-animations",{"title":3484,"path":3485,"stem":3486},"Push і локальні сповіщення","\u002Freact-native\u002Fversion2\u002Fpush-and-local-notifications","15.react-native\u002Fversion2\u002F25.push-and-local-notifications",{"title":3488,"path":3489,"stem":3490},"Доступність та інтернаціоналізація","\u002Freact-native\u002Fversion2\u002Faccessibility-and-i18n","15.react-native\u002Fversion2\u002F26.accessibility-and-i18n",{"title":3492,"path":3493,"stem":3494},"EAS Build та профілі збірки","\u002Freact-native\u002Fversion2\u002Feas-build-and-profiles","15.react-native\u002Fversion2\u002F29.eas-build-and-profiles",{"title":3496,"path":3497,"stem":3498,"children":3499,"page":59},"Ai Python","\u002Fai-python","16.ai-python",[3500,3504,3508],{"title":3501,"path":3502,"stem":3503},"Вступ до штучного інтелекту та машинного навчання","\u002Fai-python\u002Fintro-to-ai","16.ai-python\u002F01.intro-to-ai",{"title":3505,"path":3506,"stem":3507},"Знайомство з Jupyter Notebook та JupyterLab","\u002Fai-python\u002Fjupyter-notebook","16.ai-python\u002F02.jupyter-notebook",{"title":3509,"path":3510,"stem":3511},"Робота з даними з використанням NumPy і pandas","\u002Fai-python\u002Fnumpy-pandas","16.ai-python\u002F03.numpy-pandas",{"title":3513,"icon":658,"path":3514,"stem":3515,"children":3516,"page":59},"Клієнт-серверна архітектура","\u002Fclient-server-architecture","17.client-server-architecture",[3517,3521],{"title":3518,"path":3519,"stem":3520},"Архітектура клієнт-серверних систем та основи Go","\u002Fclient-server-architecture\u002Fclient-server-architecture-and-go","17.client-server-architecture\u002F01.client-server-architecture-and-go",{"title":3522,"path":3523,"stem":3524},"Система типів та модель пам’яті мови Go","\u002Fclient-server-architecture\u002Ftype-system-and-memory-model","17.client-server-architecture\u002F02.type-system-and-memory-model",{"title":3526,"icon":1946,"path":3527,"stem":3528,"children":3529,"page":59},"Розробка WEB-застосувань","\u002Fweb-development","18.web-development",[3530,3575,3613,3642],{"title":3531,"icon":658,"path":3532,"stem":3533,"children":3534,"page":59},"Архітектура комп'ютерних мереж та мережеві протоколи","\u002Fweb-development\u002Fnetwork-architecture-and-protocols","18.web-development\u002F01.network-architecture-and-protocols",[3535,3539,3543,3547,3551,3555,3559,3563,3567,3571],{"title":3536,"path":3537,"stem":3538},"Еволюція веброзробки та модель клієнт-сервер","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fweb-evolution-client-server","18.web-development\u002F01.network-architecture-and-protocols\u002F01.web-evolution-client-server",{"title":3540,"path":3541,"stem":3542},"Еталонна модель OSI","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fosi-model","18.web-development\u002F01.network-architecture-and-protocols\u002F02.osi-model",{"title":3544,"path":3545,"stem":3546},"Стек протоколів TCP\u002FIP","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Ftcp-ip-stack","18.web-development\u002F01.network-architecture-and-protocols\u002F03.tcp-ip-stack",{"title":3548,"path":3549,"stem":3550},"IP-адресація, порти та сокети","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fip-addressing-ports-sockets","18.web-development\u002F01.network-architecture-and-protocols\u002F04.ip-addressing-ports-sockets",{"title":3552,"path":3553,"stem":3554},"Протоколи TCP та UDP","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Ftcp-udp-protocols","18.web-development\u002F01.network-architecture-and-protocols\u002F05.tcp-udp-protocols",{"title":3556,"path":3557,"stem":3558},"Система доменних імен DNS","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fdns-system","18.web-development\u002F01.network-architecture-and-protocols\u002F06.dns-system",{"title":3560,"path":3561,"stem":3562},"Протокол SMTP та поштові протоколи","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fsmtp-email-protocols","18.web-development\u002F01.network-architecture-and-protocols\u002F07.smtp-email-protocols",{"title":3564,"path":3565,"stem":3566},"Протокол WebSocket","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fwebsocket-protocol","18.web-development\u002F01.network-architecture-and-protocols\u002F08.websocket-protocol",{"title":3568,"path":3569,"stem":3570},"Протокол SSH","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fssh-protocol","18.web-development\u002F01.network-architecture-and-protocols\u002F09.ssh-protocol",{"title":3572,"path":3573,"stem":3574},"Огляд сучасних серверних технологій","\u002Fweb-development\u002Fnetwork-architecture-and-protocols\u002Fmodern-backend-technologies","18.web-development\u002F01.network-architecture-and-protocols\u002F10.modern-backend-technologies",{"title":3576,"icon":3577,"path":3578,"stem":3579,"children":3580,"page":59},"Протокол HTTP та захищена передача даних HTTPS","i-lucide-lock","\u002Fweb-development\u002Fhttp-and-https","18.web-development\u002F02.http-and-https",[3581,3585,3589,3593,3597,3601,3605,3609],{"title":3582,"path":3583,"stem":3584},"Вступ до протоколу HTTP та еволюція веб-технологій","\u002Fweb-development\u002Fhttp-and-https\u002Fintroduction-and-evolution","18.web-development\u002F02.http-and-https\u002F01.introduction-and-evolution",{"title":3586,"path":3587,"stem":3588},"Анатомія HTTP-запиту","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-request-structure","18.web-development\u002F02.http-and-https\u002F02.http-request-structure",{"title":3590,"path":3591,"stem":3592},"Анатомія HTTP-відповіді","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-response-structure","18.web-development\u002F02.http-and-https\u002F03.http-response-structure",{"title":3594,"path":3595,"stem":3596},"Методи HTTP та їхня семантика","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-methods","18.web-development\u002F02.http-and-https\u002F04.http-methods",{"title":3598,"path":3599,"stem":3600},"Коди статусу HTTP та їхнє призначення","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-status-codes","18.web-development\u002F02.http-and-https\u002F05.http-status-codes",{"title":3602,"path":3603,"stem":3604},"HTTP-заголовки та їхнє призначення","\u002Fweb-development\u002Fhttp-and-https\u002Fhttp-headers","18.web-development\u002F02.http-and-https\u002F06.http-headers",{"title":3606,"path":3607,"stem":3608},"CORS та механізми безпеки HTTP","\u002Fweb-development\u002Fhttp-and-https\u002Fcors-and-security","18.web-development\u002F02.http-and-https\u002F07.cors-and-security",{"title":3610,"path":3611,"stem":3612},"HTTPS та криптографічні основи TLS","\u002Fweb-development\u002Fhttp-and-https\u002Fhttps-and-tls","18.web-development\u002F02.http-and-https\u002F08.https-and-tls",{"title":3614,"icon":2326,"path":3615,"stem":3616,"children":3617,"page":59},"Система типів мови TypeScript","\u002Fweb-development\u002Ftypescript-type-system","18.web-development\u002F03.typescript-type-system",[3618,3622,3626,3630,3634,3638],{"title":3619,"path":3620,"stem":3621},"Знайомство з TypeScript Compiler","\u002Fweb-development\u002Ftypescript-type-system\u002Fintroduction-compiler-config","18.web-development\u002F03.typescript-type-system\u002F01.introduction-compiler-config",{"title":3623,"path":3624,"stem":3625},"Примітивні типи даних: string, number, boolean","\u002Fweb-development\u002Ftypescript-type-system\u002Fprimitive-special-types","18.web-development\u002F03.typescript-type-system\u002F02.primitive-special-types",{"title":3627,"path":3628,"stem":3629},"Масиви, кортежі та об","\u002Fweb-development\u002Ftypescript-type-system\u002Farrays-tuples-objects","18.web-development\u002F03.typescript-type-system\u002F03.arrays-tuples-objects",{"title":3631,"path":3632,"stem":3633},"Union типи, Intersection типи та літеральні типи","\u002Fweb-development\u002Ftypescript-type-system\u002Funion-intersection-literals","18.web-development\u002F03.typescript-type-system\u002F04.union-intersection-literals",{"title":3635,"path":3636,"stem":3637},"Type Narrowing (звуження типів)","\u002Fweb-development\u002Ftypescript-type-system\u002Ftype-narrowing","18.web-development\u002F03.typescript-type-system\u002F05.type-narrowing",{"title":3639,"path":3640,"stem":3641},"Типізація функцій","\u002Fweb-development\u002Ftypescript-type-system\u002Ffunctions-typing","18.web-development\u002F03.typescript-type-system\u002F06.functions-typing",{"title":3643,"icon":2326,"path":3644,"stem":3645,"children":3646,"page":59},"Розширені засоби мови TypeScript","\u002Fweb-development\u002Ftypescript-advanced","18.web-development\u002F04.typescript-advanced",[3647,3651,3655,3659,3663,3667],{"title":3648,"path":3649,"stem":3650},"Interfaces та Classes","\u002Fweb-development\u002Ftypescript-advanced\u002Finterfaces-classes","18.web-development\u002F04.typescript-advanced\u002F01.interfaces-classes",{"title":3652,"path":3653,"stem":3654},"Основи Generic типів","\u002Fweb-development\u002Ftypescript-advanced\u002Fgenerics-fundamentals","18.web-development\u002F04.typescript-advanced\u002F02.generics-fundamentals",{"title":3656,"path":3657,"stem":3658},"Enums та Decorators","\u002Fweb-development\u002Ftypescript-advanced\u002Fenums-decorators","18.web-development\u002F04.typescript-advanced\u002F03.enums-decorators",{"title":3660,"path":3661,"stem":3662},"Utility Types","\u002Fweb-development\u002Ftypescript-advanced\u002Futility-types","18.web-development\u002F04.typescript-advanced\u002F04.utility-types",{"title":3664,"path":3665,"stem":3666},"Mapped та Conditional Types","\u002Fweb-development\u002Ftypescript-advanced\u002Fmapped-conditional-types","18.web-development\u002F04.typescript-advanced\u002F05.mapped-conditional-types",{"title":3668,"path":3669,"stem":3670},"Модулі та Strict Mode","\u002Fweb-development\u002Ftypescript-advanced\u002Fmodules-strict-mode","18.web-development\u002F04.typescript-advanced\u002F06.modules-strict-mode",{"title":3672,"path":3673,"stem":3674,"children":3675,"page":59},"Tailwind","\u002Ftailwind","21.tailwind",[3676,3680,3684,3688,3692,3696,3700,3704,3708,3712,3716,3720],{"title":3677,"path":3678,"stem":3679},"Що таке Tailwind CSS і навіщо він потрібен","\u002Ftailwind\u002Ftailwind-intro-philosophy","21.tailwind\u002F01.tailwind-intro-philosophy",{"title":3681,"path":3682,"stem":3683},"Встановлення та налаштування Tailwind CSS v4","\u002Ftailwind\u002Ftailwind-installation-setup","21.tailwind\u002F02.tailwind-installation-setup",{"title":3685,"path":3686,"stem":3687},"Utility-класи: основи та система Tailwind","\u002Ftailwind\u002Ftailwind-utility-classes-core","21.tailwind\u002F03.tailwind-utility-classes-core",{"title":3689,"path":3690,"stem":3691},"Layout: Flexbox та Grid через Tailwind","\u002Ftailwind\u002Ftailwind-flexbox-grid","21.tailwind\u002F04.tailwind-flexbox-grid",{"title":3693,"path":3694,"stem":3695},"Кастомізація теми через @theme у Tailwind v4","\u002Ftailwind\u002Ftailwind-theme-customization","21.tailwind\u002F05.tailwind-theme-customization",{"title":3697,"path":3698,"stem":3699},"Варіанти: hover, focus, responsive, dark mode та нові v4","\u002Ftailwind\u002Ftailwind-variants-states","21.tailwind\u002F06.tailwind-variants-states",{"title":3701,"path":3702,"stem":3703},"Типографіка та система кольорів у Tailwind v4","\u002Ftailwind\u002Ftailwind-typography-colors","21.tailwind\u002F07.tailwind-typography-colors",{"title":3705,"path":3706,"stem":3707},"Компоненти та повторюваність: @apply, @utility та патерни","\u002Ftailwind\u002Ftailwind-components-patterns","21.tailwind\u002F08.tailwind-components-patterns",{"title":3709,"path":3710,"stem":3711},"Темна тема та система дизайн-токенів у Tailwind v4","\u002Ftailwind\u002Ftailwind-dark-mode-theming","21.tailwind\u002F09.tailwind-dark-mode-theming",{"title":3713,"path":3714,"stem":3715},"Довільні значення та контейнерні запити у Tailwind v4","\u002Ftailwind\u002Ftailwind-arbitrary-container-queries","21.tailwind\u002F10.tailwind-arbitrary-container-queries",{"title":3717,"path":3718,"stem":3719},"Анімації, трансформації та 3D у Tailwind v4","\u002Ftailwind\u002Ftailwind-animations-transforms","21.tailwind\u002F11.tailwind-animations-transforms",{"title":3721,"path":3722,"stem":3723},"Tailwind CLI, PostCSS та інтеграція з фреймворками","\u002Ftailwind\u002Ftailwind-cli-tooling","21.tailwind\u002F12.tailwind-cli-tooling",{"title":3725,"path":3726,"stem":3727},"Тестування компонентів діаграм","\u002Ftest-components","98.test-components",{"id":3729,"title":3436,"body":3730,"description":41190,"extension":15215,"links":41191,"meta":41192,"navigation":4184,"path":3437,"seo":41193,"stem":3438,"__hash__":41194},"docs\u002F15.react-native\u002Fversion2\u002F12.nested-navigators-and-modals.md",{"type":3731,"value":3732,"toc":41098},"minimark",[3733,3737,3742,3774,3777,3815,3822,3871,3876,3937,3959,3978,3988,3991,3995,4002,4012,4022,4049,4062,4064,4068,4074,4080,4084,4090,4140,4149,4337,4339,4343,4346,4436,4446,4448,4452,4456,4467,4473,4477,4518,4524,4900,4906,4915,4949,4951,4955,4959,4962,4976,4983,4987,5004,5094,5098,5121,5129,5132,5139,5172,5180,5182,5188,5191,5198,5202,5208,5212,5241,5257,5259,5265,5268,5275,5279,5287,5679,5683,5712,5714,5720,5732,5989,6001,6003,6007,6010,6017,6102,6104,6108,6112,6131,6135,6147,6154,6175,6179,6194,6200,6212,6214,6218,6222,6229,6247,6251,6257,6261,6346,6353,7060,7066,7384,7390,7805,7812,8014,8021,9384,9391,10160,10167,11550,11554,11978,11982,11999,12003,12053,12055,12059,12065,12069,12095,12099,12105,12110,12179,12183,40804,40808,40835,40839,40915,40917,40921,40925,40943,40947,40967,40971,40999,41001,41005,41059,41061,41065,41075,41095],[3734,3735,3436],"h1",{"id":3736},"вкладені-навігатори-та-модалки",[3738,3739,3741],"h2",{"id":3740},"вступ-еволюція-навігаційного-дерева-до-багаторівневих-ієрархій","Вступ: Еволюція навігаційного дерева до багаторівневих ієрархій",[3743,3744,3745,3746,3750,3751,3754,3755,3758,3759,3762,3763,3766,3767,3750,3770,3773],"p",{},"У попередньому розділі було розглянуто базові принципи функціонування Expo Router: базову структуру між каталогами ",[3747,3748,3749],"code",{},"app\u002F"," та ",[3747,3752,3753],{},"src\u002F",", кореневий стековий навігатор ",[3747,3756,3757],{},"Stack",", панель нижніх вкладок ",[3747,3760,3761],{},"Tabs"," на базі групи маршрутів ",[3747,3764,3765],{},"(tabs)",", а також переходи через ",[3747,3768,3769],{},"Link",[3747,3771,3772],{},"useRouter",". Створена структура задовольняла потреби базового інтерфейсу формату «три незалежні вкладки + один окремий екран форми».",[3743,3775,3776],{},"Проте в реальних мобільних додатках простої лінійної структури швидко стає недостатньо. Більшість популярних додатків використовують складнішу поведінку:",[3778,3779,3780,3792,3803,3809],"ol",{},[3781,3782,3783,3787,3788,3791],"li",{},[3784,3785,3786],"strong",{},"Контекстні переходи всередині розділу:"," Натискання на елемент списку у вкладці новин чи каталогу відкриває екран детального перегляду, при цьому ",[3784,3789,3790],{},"нижня навігаційна панель залишається видимою та активною",", дозволяючи користувачеві в будь-який момент перемкнутися на сусідній розділ і повернутися назад без втрати точки перегляду.",[3781,3793,3794,3797,3798,3802],{},[3784,3795,3796],{},"Модальні контекстні сесії:"," Форми швидкого створення сутностей, фільтрації чи налаштувань з'являються поверх активного інтерфейсу у вигляді спливаючих карток (",[3799,3800,3801],"em",{},"Modal Sheets","), тимчасово перекриваючи вкладки та акцентуючи увагу користувача на завершенні конкретного завдання.",[3781,3804,3805,3808],{},[3784,3806,3807],{},"Захист від випадкової втрати даних (Navigation Interception):"," Якщо користувач вніс зміни у форму й випадково ініціював жест повернення, навігаційна система перехоплює подію та запитує підтвердження на вихід.",[3781,3810,3811,3814],{},[3784,3812,3813],{},"Розділення просторів екранів (Auth Flows):"," Екрани неавторизованої зони (вхід, реєстрація, відновлення доступу) функціонують в ізольованому навігаційному контурі, повністю відокремленому від робочої зони авторизованого користувача.",[3743,3816,3817,3818,3821],{},"Даний розділ присвячений проєктуванню ",[3784,3819,3820],{},"складених ієрархічних навігаційних систем",":",[3823,3824,3825,3841,3853,3862],"ul",{},[3781,3826,3827,3830,3831,3833,3834,3837,3838,3840],{},[3784,3828,3829],{},"Вкладені навігатори (Nested Navigators):"," конфігурація стекового контейнера ",[3747,3832,3757],{}," ",[3784,3835,3836],{},"всередині"," конкретної вкладки ",[3747,3839,3761],{},".",[3781,3842,3843,3846,3847,3849,3850,3840],{},[3784,3844,3845],{},"Модальні представлення (Modal Presentations):"," відображення екранів у ",[3747,3848,3757],{}," у вигляді модальних вікон через параметр ",[3747,3851,3852],{},"presentation: 'modal'",[3781,3854,3855,3861],{},[3784,3856,3857,3858,3821],{},"Групи маршрутів для авторизації ",[3747,3859,3860],{},"(auth)"," сегрегація публічних та захищених контекстів інтерфейсу.",[3781,3863,3864,3867,3868,3840],{},[3784,3865,3866],{},"Навігаційні гарди (Navigation Guards):"," перехоплення подій закриття екрана з незбереженими даними за допомогою хука ",[3747,3869,3870],{},"usePreventRemove",[3872,3873,3875],"h3",{"id":3874},"навчальні-цілі-розділу","Навчальні цілі розділу:",[3823,3877,3878,3891,3898,3904,3910,3923],{},[3781,3879,3880,3881,3884,3885,3750,3888,3840],{},"Зрозуміти структуру ",[3784,3882,3883],{},"дерева навігаторів (Navigation Tree)"," і навчитися визначати, яка гілка графа повинна обробляти виклики ",[3747,3886,3887],{},"router.push()",[3747,3889,3890],{},"router.back()",[3781,3892,3893,3894,3897],{},"Спроєктувати макет для потоку «список → деталі» зі збереженням видимості нижньої панелі вкладок (",[3747,3895,3896],{},"Bottom Tab Bar",").",[3781,3899,3900,3901,3903],{},"Налаштувати модальний режим показу ",[3747,3902,3852],{}," та освоїти параметри конфігурації платформних анімацій на iOS та Android.",[3781,3905,3906,3907,3840],{},"Засвоїти механізм декларативного прив'язування початкового маршруту через конфігурацію ",[3747,3908,3909],{},"unstable_settings.initialRouteName",[3781,3911,3912,3913,3916,3917,3919,3920,3840],{},"Реалізувати патерн надійного захисту форми від випадкового закриття (",[3799,3914,3915],{},"Dirty Form Guard",") через хук ",[3747,3918,3870],{}," та системні діалоги ",[3747,3921,3922],{},"Alert",[3781,3924,3925,3926,3929,3930,3933,3934,3840],{},"Побудувати автономний міні-проєкт ",[3784,3927,3928],{},"«Нотатки»"," з вкладеним стеком і модалкою та масштабувати навігаційну архітектуру проєкту ",[3784,3931,3932],{},"Nomad",", додавши повноцінний екран деталей поїздки ",[3747,3935,3936],{},"[id].tsx",[3938,3939,3940,3943,3944,3947,3948,3951,3952,3955,3956,3840],"note",{},[3784,3941,3942],{},"Головний принцип:"," У Expo Router та бібліотеці React Navigation навігаційна система являє собою не плаский масив маршрутів, а ",[3784,3945,3946],{},"ієрархічне дерево контейнерів",". Батьківський макет ",[3747,3949,3950],{},"_layout.tsx"," обгортає дочірні сегменти, кожен з яких сам по собі може бути повноцінним автономним навігатором. Модальне вікно є лише ",[3784,3953,3954],{},"способом візуального представлення екрана в стеку",", а навігаційний гард — ",[3784,3957,3958],{},"обробником події закриття екрана",[3960,3961,3962,3965,3966,3969,3970,3973,3974,3977],"tip",{},[3784,3963,3964],{},"Платформові анімації та жести."," Нативні жести інтерактивного змахування (",[3799,3967,3968],{},"Interactive Modal Dismiss","), нативна смуга заголовка та переходи вкладок не емулюються у веб-пісочниці ",[3747,3971,3972],{},"::react-native-preview",". Для валідації жестів використовуйте середовище ",[3784,3975,3976],{},"Expo Go"," або нативний емулятор.",[3743,3979,3980,3981,3840],{},"Репозиторій наскрізного проєкту Nomad: ",[3982,3983,3987],"a",{"href":3984,"rel":3985},"https:\u002F\u002Fgithub.com\u002Farakviel\u002Fnomad",[3986],"nofollow","github.com\u002Farakviel\u002Fnomad",[3989,3990],"hr",{},[3738,3992,3994],{"id":3993},"чому-простого-плоского-стека-недостатньо","Чому простого плоского стека недостатньо",[3743,3996,3997,3998,4001],{},"Розглянемо практичний сценарій, коли вся навігація застосунку організована виключно через єдиний кореневий стековий навігатор ",[3747,3999,4000],{},"Root Stack"," без використання вкладених контейнерів усередині розділів.",[4003,4004,4009],"pre",{"className":4005,"code":4007,"language":4008},[4006],"language-text","       ПЛОСКИЙ ROOT STACK                             ВКЛАДЕНА ІЄРАРХІЯ (NESTED)\n+------------------------------------+       +-----------------------------------------+\n| Root Stack                         |       | Root Stack                              |\n| ├── (tabs) [Поїздки, Місця, Ще]    |  vs   | ├── (tabs) [Tabs Layout]                |\n| ├── trip-details.tsx  (Full Screen)|       | │   ├── trips\u002F [Вкладений Stack]        |\n| └── create-trip.tsx   (Full Screen)|       | │   │   ├── index.tsx (Список)          |\n+------------------------------------+       | │   │   └── [id].tsx (Деталі + Tabs!)   |\n| • Вкладки зникають на деталях      |       | │   ├── places.tsx                      |\n| • Втрата просторового контексту    |       | │   └── about.tsx                       |\n| • Форма змішується зі стрічкою     |       | └── create-trip.tsx [Modal Presentation]|\n+------------------------------------+       +-----------------------------------------+\n","text",[3747,4010,4007],{"__ignoreMap":4011},"",[3743,4013,4014,4015,4018,4019,4021],{},"Якщо розмістити екран деталей поїздки ",[3747,4016,4017],{},"trip-details.tsx"," безпосередньо в кореневому стеку поруч із групою ",[3747,4020,3765],{},", перехід на деталі викличе наступні системні наслідки:",[3778,4023,4024,4033,4043],{},[3781,4025,4026,4029,4030,4032],{},[3784,4027,4028],{},"Зникнення панелі вкладок:"," Кореневий стек накладає новий екран на всю площу дисплея поверх усього контейнера ",[3747,4031,3765],{},". Користувач втрачає можливість миттєвого переходу в розділ «Місця» або «Ще». Щоб переглянути збережені локації, йому доведеться спочатку повернутися назад, втративши відкритий контекст поїздки.",[3781,4034,4035,4038,4039,4042],{},[3784,4036,4037],{},"Спотворення UX модальних операцій:"," Якщо форму створення ",[3747,4040,4041],{},"create-trip"," розмістити як звичайний горизонтальний перехід усередині вкладки, користувач сприймає її як черговий рівень заглиблення контенту, а не як тимчасову сфокусовану транзакцію введення даних.",[3781,4044,4045,4048],{},[3784,4046,4047],{},"Відсутність контролю за життєвим циклом введення:"," Випадковий свайп повернення на екрані редагування без навігаційного гарда призводить до миттєвого розмонтування компонента та безповоротної втрати набраного тексту в оперативній пам'яті.",[3743,4050,4051,4052,4055,4056,3750,4059,3840],{},"Вирішення цих проблем вимагає комбінування трьох інструментів: ",[3784,4053,4054],{},"вкладених навігаторів",", ",[3784,4057,4058],{},"модальних представлень",[3784,4060,4061],{},"гардінг-хуків",[3989,4063],{},[3738,4065,4067],{"id":4066},"теорія-вкладених-навігаторів-nested-navigators","Теорія вкладених навігаторів (Nested Navigators)",[3743,4069,4070,4073],{},[3784,4071,4072],{},"Навігатор (Navigator)"," — це структурний компонент вищого порядку, який інкапсулює стан групи екранів, визначає поточний видимий екран і реалізує платформовий алгоритм перемикання між ними (стек LIFO, паралельні вкладки, модальний оверлей).",[3743,4075,4076,4079],{},[3784,4077,4078],{},"Вкладений навігатор (Nested Navigator)"," — це архітектурна конфігурація, за якої певний навігатор є дочірнім вузлом (екраном або сегментом) іншого батьківського навігатора.",[3872,4081,4083],{"id":4082},"структура-навігаційного-дерева-проєкту-nomad","Структура навігаційного дерева проєкту Nomad:",[4003,4085,4088],{"className":4086,"code":4087,"language":4008},[4006],"                            ГЛОБАЛЬНЕ ДЕРЕВО НАВІГАЦІЇ\n+---------------------------------------------------------------------------------+\n| Root Stack Navigator (app\u002F_layout.tsx)                                          |\n|                                                                                 |\n|  +---------------------------------------------------------------------------+  |\n|  | (tabs) Bottom Tabs Navigator (app\u002F(tabs)\u002F_layout.tsx)                     |  |\n|  |                                                                           |  |\n|  |  +---------------------------------------------------------------------+  |  |\n|  |  | trips\u002F Nested Stack Navigator (app\u002F(tabs)\u002Ftrips\u002F_layout.tsx)        |  |  |\n|  |  |                                                                     |  |  |\n|  |  |  [index.tsx (Стрічка)]  ==== push ====>  [[id].tsx (Деталі поїздки)]|  |  |\n|  |  +---------------------------------------------------------------------+  |  |\n|  |                                                                           |  |\n|  |  [places.tsx (Вкладка «Місця»)]     [about.tsx (Вкладка «Ще»)]            |  |\n|  +---------------------------------------------------------------------------+  |\n|                                                                                 |\n|  +---------------------------------------------------------------------------+  |\n|  | create-trip.tsx (Root Stack Screen, presentation: 'modal')                |  |\n|  +---------------------------------------------------------------------------+  |\n+---------------------------------------------------------------------------------+\n",[3747,4089,4087],{"__ignoreMap":4011},[3823,4091,4092,4107,4125],{},[3781,4093,4094,4101,4102,4104,4105,3840],{},[3784,4095,4096,4097,4100],{},"Рівень 1 (Кореневий Stack ",[3747,4098,4099],{},"app\u002F_layout.tsx","):"," Керує двома основними просторами: глобальним контейнером вкладок ",[3747,4103,3765],{}," та окремим модальним екраном створення ",[3747,4106,4041],{},[3781,4108,4109,4115,4116,4055,4119,3750,4122,3840],{},[3784,4110,4111,4112,4100],{},"Рівень 2 (Контейнер вкладок ",[3747,4113,4114],{},"app\u002F(tabs)\u002F_layout.tsx"," Організовує три паралельні розділи застосунку: ",[3747,4117,4118],{},"trips",[3747,4120,4121],{},"places",[3747,4123,4124],{},"about",[3781,4126,4127,4133,4134,4137,4138,3840],{},[3784,4128,4129,4130,4100],{},"Рівень 3 (Вкладений Stack ",[3747,4131,4132],{},"app\u002F(tabs)\u002Ftrips\u002F_layout.tsx"," Функціонує виключно всередині вкладки «Поїздки», ізольовано керуючи переходами між стрічкою ",[3747,4135,4136],{},"index.tsx"," та карткою деталей ",[3747,4139,3936],{},[3743,4141,4142],{},[4143,4144],"img",{"alt":4145,"className":4146,"src":4148},"Root Stack → Tabs → Stack у Поїздках + modal",[4147],"diagram-img","\u002Fimages\u002Freact-native\u002Fnested-navigators-and-modals\u002F01.svg",[4150,4151,4152],"plant-uml",{},[4003,4153,4157],{"className":4154,"code":4155,"language":4156,"meta":4011,"style":4011},"language-plantuml shiki shiki-themes light-plus dark-plus dark-plus","@startuml\nskinparam style plain\nskinparam backgroundColor #ffffff\n\nrectangle \"Root Stack\\n(app\u002F_layout.tsx)\" as R {\n  rectangle \"(tabs) Tabs\\n(app\u002F(tabs)\u002F_layout.tsx)\" as T {\n    rectangle \"trips Stack\\n(app\u002F(tabs)\u002Ftrips\u002F_layout.tsx)\" as S {\n      rectangle \"index\\nсписок\" as I\n      rectangle \"[id]\\nдеталі\" as D\n    }\n    rectangle \"places\" as P\n    rectangle \"about\" as A\n  }\n  rectangle \"create-trip\\npresentation: modal\" as M\n}\n\nI -down-> D : push у вкладеному Stack\nT -right-> M : push у root Stack\n\nnote right of D\n  Tab bar зазвичай\n  лишається видимим\nend note\n\nnote right of M\n  Tabs під модалкою\n  (інший шар UI)\nend note\n\n@enduml\n","plantuml",[3747,4158,4159,4167,4173,4179,4186,4192,4198,4204,4210,4216,4222,4228,4234,4240,4246,4252,4257,4263,4269,4274,4280,4286,4292,4298,4303,4309,4315,4321,4326,4331],{"__ignoreMap":4011},[4160,4161,4164],"span",{"class":4162,"line":4163},"line",1,[4160,4165,4166],{},"@startuml\n",[4160,4168,4170],{"class":4162,"line":4169},2,[4160,4171,4172],{},"skinparam style plain\n",[4160,4174,4176],{"class":4162,"line":4175},3,[4160,4177,4178],{},"skinparam backgroundColor #ffffff\n",[4160,4180,4182],{"class":4162,"line":4181},4,[4160,4183,4185],{"emptyLinePlaceholder":4184},true,"\n",[4160,4187,4189],{"class":4162,"line":4188},5,[4160,4190,4191],{},"rectangle \"Root Stack\\n(app\u002F_layout.tsx)\" as R {\n",[4160,4193,4195],{"class":4162,"line":4194},6,[4160,4196,4197],{},"  rectangle \"(tabs) Tabs\\n(app\u002F(tabs)\u002F_layout.tsx)\" as T {\n",[4160,4199,4201],{"class":4162,"line":4200},7,[4160,4202,4203],{},"    rectangle \"trips Stack\\n(app\u002F(tabs)\u002Ftrips\u002F_layout.tsx)\" as S {\n",[4160,4205,4207],{"class":4162,"line":4206},8,[4160,4208,4209],{},"      rectangle \"index\\nсписок\" as I\n",[4160,4211,4213],{"class":4162,"line":4212},9,[4160,4214,4215],{},"      rectangle \"[id]\\nдеталі\" as D\n",[4160,4217,4219],{"class":4162,"line":4218},10,[4160,4220,4221],{},"    }\n",[4160,4223,4225],{"class":4162,"line":4224},11,[4160,4226,4227],{},"    rectangle \"places\" as P\n",[4160,4229,4231],{"class":4162,"line":4230},12,[4160,4232,4233],{},"    rectangle \"about\" as A\n",[4160,4235,4237],{"class":4162,"line":4236},13,[4160,4238,4239],{},"  }\n",[4160,4241,4243],{"class":4162,"line":4242},14,[4160,4244,4245],{},"  rectangle \"create-trip\\npresentation: modal\" as M\n",[4160,4247,4249],{"class":4162,"line":4248},15,[4160,4250,4251],{},"}\n",[4160,4253,4255],{"class":4162,"line":4254},16,[4160,4256,4185],{"emptyLinePlaceholder":4184},[4160,4258,4260],{"class":4162,"line":4259},17,[4160,4261,4262],{},"I -down-> D : push у вкладеному Stack\n",[4160,4264,4266],{"class":4162,"line":4265},18,[4160,4267,4268],{},"T -right-> M : push у root Stack\n",[4160,4270,4272],{"class":4162,"line":4271},19,[4160,4273,4185],{"emptyLinePlaceholder":4184},[4160,4275,4277],{"class":4162,"line":4276},20,[4160,4278,4279],{},"note right of D\n",[4160,4281,4283],{"class":4162,"line":4282},21,[4160,4284,4285],{},"  Tab bar зазвичай\n",[4160,4287,4289],{"class":4162,"line":4288},22,[4160,4290,4291],{},"  лишається видимим\n",[4160,4293,4295],{"class":4162,"line":4294},23,[4160,4296,4297],{},"end note\n",[4160,4299,4301],{"class":4162,"line":4300},24,[4160,4302,4185],{"emptyLinePlaceholder":4184},[4160,4304,4306],{"class":4162,"line":4305},25,[4160,4307,4308],{},"note right of M\n",[4160,4310,4312],{"class":4162,"line":4311},26,[4160,4313,4314],{},"  Tabs під модалкою\n",[4160,4316,4318],{"class":4162,"line":4317},27,[4160,4319,4320],{},"  (інший шар UI)\n",[4160,4322,4324],{"class":4162,"line":4323},28,[4160,4325,4297],{},[4160,4327,4329],{"class":4162,"line":4328},29,[4160,4330,4185],{"emptyLinePlaceholder":4184},[4160,4332,4334],{"class":4162,"line":4333},30,[4160,4335,4336],{},"@enduml\n",[3989,4338],{},[3738,4340,4342],{"id":4341},"архітектурний-вибір-вкладений-detail-проти-кореневого-detail","Архітектурний вибір: Вкладений Detail проти Кореневого Detail",[3743,4344,4345],{},"У мобільній розробці вибір місця розташування екрана деталей у навіційному дереві є класичним інженерним компромісом:",[4347,4348,4349,4372],"table",{},[4350,4351,4352],"thead",{},[4353,4354,4355,4360,4366],"tr",{},[4356,4357,4359],"th",{"align":4358},"left","Критерій порівняння",[4356,4361,4362,4363],{"align":4358},"Вкладений стек: ",[3747,4364,4365],{},"app\u002F(tabs)\u002Ftrips\u002F[id].tsx",[4356,4367,4368,4369],{"align":4358},"Кореневий стек: ",[3747,4370,4371],{},"app\u002Ftrips\u002F[id].tsx",[4373,4374,4375,4395,4408,4421],"tbody",{},[4353,4376,4377,4383,4390],{},[4378,4379,4380],"td",{"align":4358},[3784,4381,4382],{},"Видимість Tab Bar",[4378,4384,4385,4386,4389],{"align":4358},"Панель вкладок ",[3784,4387,4388],{},"залишається видимою"," під час перегляду деталей.",[4378,4391,4385,4392,3840],{"align":4358},[3784,4393,4394],{},"повністю приховується",[4353,4396,4397,4402,4405],{},[4378,4398,4399],{"align":4358},[3784,4400,4401],{},"UX-призначення",[4378,4403,4404],{"align":4358},"Дослідження контенту як природного розширення поточної вкладки.",[4378,4406,4407],{"align":4358},"Повне занурення в контент (відеоплеєр, детальна інтерактивна карта, фотогалерея).",[4353,4409,4410,4415,4418],{},[4378,4411,4412],{"align":4358},[3784,4413,4414],{},"Поведінка при зміні вкладки",[4378,4416,4417],{"align":4358},"Стан перегляду зберігається у вкладці при перемиканні туди й назад.",[4378,4419,4420],{"align":4358},"Користувач не бачить вкладок; для зміни розділу зобов'язаний закрити екран.",[4353,4422,4423,4428,4433],{},[4378,4424,4425],{"align":4358},[3784,4426,4427],{},"Багатоточкова навігація",[4378,4429,4430,4431,3840],{"align":4358},"Відкриття з інших вкладок перемикає активну вкладку на ",[3747,4432,4118],{},[4378,4434,4435],{"align":4358},"Може викликатися як універсальний оверлей із будь-якої точки застосунку.",[3743,4437,4438,4439,4441,4442,4445],{},"Для проєкту ",[3784,4440,3932],{}," обрано архітектуру ",[3784,4443,4444],{},"вкладеного стека",": щоденник подорожей передбачає часте зіставлення опису поїздки зі збереженими локаціями у вкладці «Місця», тому збереження таб-бару на екрані деталей є критичною вимогою до зручності використання.",[3989,4447],{},[3738,4449,4451],{"id":4450},"реалізація-вкладеного-stack-усередині-вкладки","Реалізація вкладеного Stack усередині вкладки",[3872,4453,4455],{"id":4454},"трансформація-файлової-структури","Трансформація файлової структури",[3743,4457,4458,4459,4462,4463,4466],{},"Для перетворення простої вкладки на повноцінний вкладений стек ми замінюємо окремий файл ",[3747,4460,4461],{},"app\u002F(tabs)\u002Findex.tsx"," на підкаталог ",[3747,4464,4465],{},"app\u002F(tabs)\u002Ftrips\u002F",", що містить власний файл макета та маршрути:",[4003,4468,4471],{"className":4469,"code":4470,"language":4008,"meta":4011},[4006],"# Структура статті 11 (Плоска вкладка)\napp\u002F(tabs)\u002F\n  index.tsx             ← Головний екран (неможливо додати вкладений стек)\n  places.tsx\n  about.tsx\n\n# Структура статті 12 (Вкладений стек)\napp\u002F(tabs)\u002F\n  trips\u002F\n    _layout.tsx         ← Локальний Stack тільки для розділу «Поїздки»\n    index.tsx           ← Маршрут \"\u002Ftrips\" (Стрічка поїздок)\n    [id].tsx            ← Маршрут \"\u002Ftrips\u002F:id\" (Деталі конкретної поїздки)\n  places.tsx            ← Маршрут \"\u002Fplaces\"\n  about.tsx             ← Маршрут \"\u002Fabout\"\n",[3747,4472,4470],{"__ignoreMap":4011},[3872,4474,4476],{"id":4475},"координація-макетів-та-сегрегація-обовязків","Координація макетів та сегрегація обов'язків",[4478,4479,4480,4499,4508],"field-group",{},[4481,4482,4485,4486,4055,4488,4055,4490,4492,4493,4495,4496,3840],"field",{"name":4483,"type":4484},"Tabs Layout (app\u002F(tabs)\u002F_layout.tsx)","батьківський навігатор","Реєструє лише верхньорівневі вкладки (",[3747,4487,4118],{},[3747,4489,4121],{},[3747,4491,4124],{},"). Для таб-макета сегмент ",[3747,4494,4118],{}," є єдиним неподільним екраном; він не володіє інформацією про внутрішню структуру маршрутів ",[3747,4497,4498],{},"trips\u002F[id]",[4481,4500,4503,4504,4507],{"name":4501,"type":4502},"Trips Stack Layout (app\u002F(tabs)\u002Ftrips\u002F_layout.tsx)","вкладений навігатор","Керує екранами гілки подорожей: формує нативний заголовок для деталей, вимикає заголовок для списку (",[3747,4505,4506],{},"headerShown: false",") та задає анімації переходу всередині вкладки.",[4481,4509,4512,4513,4515,4516,3840],{"name":4510,"type":4511},"Root Stack Layout (app\u002F_layout.tsx)","кореневий навігатор","Оперує глобальними просторами: контейнером ",[3747,4514,3765],{}," як єдиним вузлом та модальним вікном ",[3747,4517,4041],{},[3872,4519,4521,4522],{"id":4520},"лістинг-вкладеного-макета-apptabstrips_layouttsx","Лістинг вкладеного макета: ",[3747,4523,4132],{},[4003,4525,4529],{"className":4526,"code":4527,"language":4528,"meta":4011,"style":4011},"language-tsx shiki shiki-themes light-plus dark-plus dark-plus","import { Stack } from 'expo-router';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\n\nexport default function TripsStackLayout() {\n  const { colors } = useTheme();\n\n  return (\n    \u003CStack\n      screenOptions={{\n        headerStyle: { backgroundColor: colors.background },\n        headerTintColor: colors.primary,\n        headerTitleStyle: { color: colors.text, fontWeight: '600' },\n        headerShadowVisible: false,\n        contentStyle: { backgroundColor: colors.background },\n      }}\n    >\n      {\u002F* Стрічка має власний кастомний заголовок — нативний header вимикаємо *\u002F}\n      \u003CStack.Screen name=\"index\" options={{ headerShown: false }} \u002F>\n      \n      {\u002F* Екран деталей використовує системний header із кнопкою повернення *\u002F}\n      \u003CStack.Screen\n        name=\"[id]\"\n        options={{\n          title: 'Поїздка',\n          headerBackTitle: 'Список',\n        }}\n      \u002F>\n    \u003C\u002FStack>\n  );\n}\n","tsx",[3747,4530,4531,4557,4575,4579,4598,4617,4621,4629,4639,4655,4676,4691,4717,4727,4744,4751,4756,4767,4807,4812,4821,4828,4838,4849,4859,4869,4876,4881,4891,4896],{"__ignoreMap":4011},[4160,4532,4533,4537,4541,4544,4547,4550,4554],{"class":4162,"line":4163},[4160,4534,4536],{"class":4535},"s8xlr","import",[4160,4538,4540],{"class":4539},"sHH4Y"," { ",[4160,4542,3757],{"class":4543},"siwwj",[4160,4545,4546],{"class":4539}," } ",[4160,4548,4549],{"class":4535},"from",[4160,4551,4553],{"class":4552},"sbdoH"," 'expo-router'",[4160,4555,4556],{"class":4539},";\n",[4160,4558,4559,4561,4563,4566,4568,4570,4573],{"class":4162,"line":4169},[4160,4560,4536],{"class":4535},[4160,4562,4540],{"class":4539},[4160,4564,4565],{"class":4543},"useTheme",[4160,4567,4546],{"class":4539},[4160,4569,4549],{"class":4535},[4160,4571,4572],{"class":4552}," '@\u002Fshared\u002Ftheme'",[4160,4574,4556],{"class":4539},[4160,4576,4577],{"class":4162,"line":4175},[4160,4578,4185],{"emptyLinePlaceholder":4184},[4160,4580,4581,4584,4587,4591,4595],{"class":4162,"line":4181},[4160,4582,4583],{"class":4535},"export",[4160,4585,4586],{"class":4535}," default",[4160,4588,4590],{"class":4589},"su1O8"," function",[4160,4592,4594],{"class":4593},"s8Opu"," TripsStackLayout",[4160,4596,4597],{"class":4539},"() {\n",[4160,4599,4600,4603,4605,4609,4612,4614],{"class":4162,"line":4188},[4160,4601,4602],{"class":4589},"  const",[4160,4604,4540],{"class":4539},[4160,4606,4608],{"class":4607},"s-QsJ","colors",[4160,4610,4611],{"class":4539}," } = ",[4160,4613,4565],{"class":4593},[4160,4615,4616],{"class":4539},"();\n",[4160,4618,4619],{"class":4162,"line":4194},[4160,4620,4185],{"emptyLinePlaceholder":4184},[4160,4622,4623,4626],{"class":4162,"line":4200},[4160,4624,4625],{"class":4535},"  return",[4160,4627,4628],{"class":4539}," (\n",[4160,4630,4631,4635],{"class":4162,"line":4206},[4160,4632,4634],{"class":4633},"s0P7L","    \u003C",[4160,4636,4638],{"class":4637},"sN1BT","Stack\n",[4160,4640,4641,4645,4648,4651],{"class":4162,"line":4212},[4160,4642,4644],{"class":4643},"sa4r_","      screenOptions",[4160,4646,4647],{"class":4539},"=",[4160,4649,4650],{"class":4589},"{",[4160,4652,4654],{"class":4653},"sD7JJ","{\n",[4160,4656,4657,4660,4662,4665,4668,4670,4673],{"class":4162,"line":4218},[4160,4658,4659],{"class":4543},"        headerStyle:",[4160,4661,4540],{"class":4653},[4160,4663,4664],{"class":4543},"backgroundColor:",[4160,4666,4667],{"class":4543}," colors",[4160,4669,3840],{"class":4653},[4160,4671,4672],{"class":4543},"background",[4160,4674,4675],{"class":4653}," },\n",[4160,4677,4678,4681,4683,4685,4688],{"class":4162,"line":4224},[4160,4679,4680],{"class":4543},"        headerTintColor:",[4160,4682,4667],{"class":4543},[4160,4684,3840],{"class":4653},[4160,4686,4687],{"class":4543},"primary",[4160,4689,4690],{"class":4653},",\n",[4160,4692,4693,4696,4698,4701,4703,4705,4707,4709,4712,4715],{"class":4162,"line":4230},[4160,4694,4695],{"class":4543},"        headerTitleStyle:",[4160,4697,4540],{"class":4653},[4160,4699,4700],{"class":4543},"color:",[4160,4702,4667],{"class":4543},[4160,4704,3840],{"class":4653},[4160,4706,4008],{"class":4543},[4160,4708,4055],{"class":4653},[4160,4710,4711],{"class":4543},"fontWeight:",[4160,4713,4714],{"class":4552}," '600'",[4160,4716,4675],{"class":4653},[4160,4718,4719,4722,4725],{"class":4162,"line":4236},[4160,4720,4721],{"class":4543},"        headerShadowVisible:",[4160,4723,4724],{"class":4589}," false",[4160,4726,4690],{"class":4653},[4160,4728,4729,4732,4734,4736,4738,4740,4742],{"class":4162,"line":4242},[4160,4730,4731],{"class":4543},"        contentStyle:",[4160,4733,4540],{"class":4653},[4160,4735,4664],{"class":4543},[4160,4737,4667],{"class":4543},[4160,4739,3840],{"class":4653},[4160,4741,4672],{"class":4543},[4160,4743,4675],{"class":4653},[4160,4745,4746,4749],{"class":4162,"line":4248},[4160,4747,4748],{"class":4653},"      }",[4160,4750,4251],{"class":4589},[4160,4752,4753],{"class":4162,"line":4254},[4160,4754,4755],{"class":4633},"    >\n",[4160,4757,4758,4761,4765],{"class":4162,"line":4259},[4160,4759,4760],{"class":4589},"      {",[4160,4762,4764],{"class":4763},"spJ8K","\u002F* Стрічка має власний кастомний заголовок — нативний header вимикаємо *\u002F",[4160,4766,4251],{"class":4589},[4160,4768,4769,4772,4775,4778,4780,4783,4786,4788,4790,4793,4796,4798,4801,4804],{"class":4162,"line":4265},[4160,4770,4771],{"class":4633},"      \u003C",[4160,4773,4774],{"class":4637},"Stack.Screen",[4160,4776,4777],{"class":4643}," name",[4160,4779,4647],{"class":4539},[4160,4781,4782],{"class":4552},"\"index\"",[4160,4784,4785],{"class":4643}," options",[4160,4787,4647],{"class":4539},[4160,4789,4650],{"class":4589},[4160,4791,4792],{"class":4653},"{ ",[4160,4794,4795],{"class":4543},"headerShown:",[4160,4797,4724],{"class":4589},[4160,4799,4800],{"class":4653}," }",[4160,4802,4803],{"class":4589},"}",[4160,4805,4806],{"class":4633}," \u002F>\n",[4160,4808,4809],{"class":4162,"line":4271},[4160,4810,4811],{"class":4539},"      \n",[4160,4813,4814,4816,4819],{"class":4162,"line":4276},[4160,4815,4760],{"class":4589},[4160,4817,4818],{"class":4763},"\u002F* Екран деталей використовує системний header із кнопкою повернення *\u002F",[4160,4820,4251],{"class":4589},[4160,4822,4823,4825],{"class":4162,"line":4282},[4160,4824,4771],{"class":4633},[4160,4826,4827],{"class":4637},"Stack.Screen\n",[4160,4829,4830,4833,4835],{"class":4162,"line":4288},[4160,4831,4832],{"class":4643},"        name",[4160,4834,4647],{"class":4539},[4160,4836,4837],{"class":4552},"\"[id]\"\n",[4160,4839,4840,4843,4845,4847],{"class":4162,"line":4294},[4160,4841,4842],{"class":4643},"        options",[4160,4844,4647],{"class":4539},[4160,4846,4650],{"class":4589},[4160,4848,4654],{"class":4653},[4160,4850,4851,4854,4857],{"class":4162,"line":4300},[4160,4852,4853],{"class":4543},"          title:",[4160,4855,4856],{"class":4552}," 'Поїздка'",[4160,4858,4690],{"class":4653},[4160,4860,4861,4864,4867],{"class":4162,"line":4305},[4160,4862,4863],{"class":4543},"          headerBackTitle:",[4160,4865,4866],{"class":4552}," 'Список'",[4160,4868,4690],{"class":4653},[4160,4870,4871,4874],{"class":4162,"line":4311},[4160,4872,4873],{"class":4653},"        }",[4160,4875,4251],{"class":4589},[4160,4877,4878],{"class":4162,"line":4317},[4160,4879,4880],{"class":4633},"      \u002F>\n",[4160,4882,4883,4886,4888],{"class":4162,"line":4323},[4160,4884,4885],{"class":4633},"    \u003C\u002F",[4160,4887,3757],{"class":4637},[4160,4889,4890],{"class":4633},">\n",[4160,4892,4893],{"class":4162,"line":4328},[4160,4894,4895],{"class":4539},"  );\n",[4160,4897,4898],{"class":4162,"line":4333},[4160,4899,4251],{"class":4539},[3872,4901,4903,4904],{"id":4902},"як-працює-обробник-routerback","Як працює обробник ",[3747,4905,3890],{},[3743,4907,4908,4909,3840],{},"Ключовий закон ієрархічної навігації: ",[3784,4910,4911,4912,4914],{},"виклик ",[3747,4913,3890],{}," завжди знімає верхній екран саме з того стека, в якому безпосередньо розташований активний компонент",[3778,4916,4917,4938],{},[3781,4918,4919,4920,4925,4926,4928,4929,4931,4932,4937],{},"Якщо користувач перебуває на маршруті ",[3784,4921,4922],{},[3747,4923,4924],{},"\u002Ftrips\u002F42"," (вкладений стек ",[3747,4927,4118],{},"), виклик ",[3747,4930,3890],{}," знімає екран деталей і повертає до списку ",[3784,4933,4934],{},[3747,4935,4936],{},"\u002Ftrips",". Нижня панель вкладок не змінює свого стану.",[3781,4939,4919,4940,4945,4946,4948],{},[3784,4941,4942],{},[3747,4943,4944],{},"\u002Fcreate-trip"," (кореневий стек), виклик ",[3747,4947,3890],{}," закриває модальне вікно та повертає користувача в ту точку графа, звідки було ініційовано відкриття (наприклад, назад на екран деталей або в список).",[3989,4950],{},[3738,4952,4954],{"id":4953},"модальні-представлення-modal-presentations","Модальні представлення (Modal Presentations)",[3872,4956,4958],{"id":4957},"семантична-різниця-між-push-та-modal","Семантична різниця між Push та Modal",[3743,4960,4961],{},"У мобільному UX розрізняють два принципово різні типи переходів:",[3823,4963,4964,4970],{},[3781,4965,4966,4969],{},[3784,4967,4968],{},"Card Push (Ієрархічний перехід):"," переміщення вглиб структури даних. Екран виїжджає справа наліво, сигналізуючи про перехід на нижчий рівень поточної ієрархії.",[3781,4971,4972,4975],{},[3784,4973,4974],{},"Modal Presentation (Модальне представлення):"," переривання основного робочого потоку для виконання ізольованої транзакції (створення нотатки, встановлення фільтра, перегляд фото). Екран з'являється знизу вгору, частково або повністю перекриваючи контекст.",[3743,4977,4978],{},[4143,4979],{"alt":4980,"className":4981,"src":4982},"Звичайний card push проти modal",[4147],"\u002Fimages\u002Freact-native\u002Fnested-navigators-and-modals\u002F02.svg",[3872,4984,4986],{"id":4985},"конфігурація-модального-екрана-в-expo-router","Конфігурація модального екрана в Expo Router",[3743,4988,4989,4990,4993,4994,4996,4997,4999,5000,3840],{},"В Expo Router модальне вікно ",[3784,4991,4992],{},"не вимагає окремого фреймворку чи зовнішніх бібліотек",". Це той самий звичайний файл маршруту в ",[3747,4995,3749],{},", для якого в батьківському ",[3747,4998,3757],{}," встановлено властивість ",[3784,5001,5002],{},[3747,5003,3852],{},[4003,5005,5007],{"className":4526,"code":5006,"language":4528,"meta":4011,"style":4011},"\u002F\u002F app\u002F_layout.tsx\n\u003CStack.Screen\n  name=\"create-trip\"\n  options={{\n    presentation: 'modal',\n    title: 'Нова поїздка',\n    headerShown: true,\n    headerBackTitle: 'Закрити',\n  }}\n\u002F>\n",[3747,5008,5009,5014,5021,5031,5042,5052,5062,5072,5082,5089],{"__ignoreMap":4011},[4160,5010,5011],{"class":4162,"line":4163},[4160,5012,5013],{"class":4763},"\u002F\u002F app\u002F_layout.tsx\n",[4160,5015,5016,5019],{"class":4162,"line":4169},[4160,5017,5018],{"class":4633},"\u003C",[4160,5020,4827],{"class":4637},[4160,5022,5023,5026,5028],{"class":4162,"line":4175},[4160,5024,5025],{"class":4643},"  name",[4160,5027,4647],{"class":4539},[4160,5029,5030],{"class":4552},"\"create-trip\"\n",[4160,5032,5033,5036,5038,5040],{"class":4162,"line":4181},[4160,5034,5035],{"class":4643},"  options",[4160,5037,4647],{"class":4539},[4160,5039,4650],{"class":4589},[4160,5041,4654],{"class":4653},[4160,5043,5044,5047,5050],{"class":4162,"line":4188},[4160,5045,5046],{"class":4543},"    presentation:",[4160,5048,5049],{"class":4552}," 'modal'",[4160,5051,4690],{"class":4653},[4160,5053,5054,5057,5060],{"class":4162,"line":4194},[4160,5055,5056],{"class":4543},"    title:",[4160,5058,5059],{"class":4552}," 'Нова поїздка'",[4160,5061,4690],{"class":4653},[4160,5063,5064,5067,5070],{"class":4162,"line":4200},[4160,5065,5066],{"class":4543},"    headerShown:",[4160,5068,5069],{"class":4589}," true",[4160,5071,4690],{"class":4653},[4160,5073,5074,5077,5080],{"class":4162,"line":4206},[4160,5075,5076],{"class":4543},"    headerBackTitle:",[4160,5078,5079],{"class":4552}," 'Закрити'",[4160,5081,4690],{"class":4653},[4160,5083,5084,5087],{"class":4162,"line":4212},[4160,5085,5086],{"class":4653},"  }",[4160,5088,4251],{"class":4589},[4160,5090,5091],{"class":4162,"line":4218},[4160,5092,5093],{"class":4633},"\u002F>\n",[3872,5095,5097],{"id":5096},"платформові-відмінності-модальних-вікон","Платформові відмінності модальних вікон",[5099,5100,5101,5113],"tabs",{},[5102,5103,5106,5107,5109,5110,3897],"tabs-item",{"icon":5104,"label":5105},"i-lucide-smartphone","iOS (Sheet \u002F Card Modal)","На платформі iOS значення ",[3747,5108,3852],{}," транслюється у нативну модель спливаючої картки, яка залишає видимим затемнений верхній край попереднього екрана. Підтримується нативний жест змахування вниз для закриття (",[3799,5111,5112],{},"Interactive Pull-Down Dismiss",[5102,5114,5116,5117,5120],{"icon":5104,"label":5115},"Android (Material Transition)","На платформі Android модальний екран рендериться у відповідності до специфікації Material Design із вертикальною анімацією підйому знизу. Системна кнопка або жест «Назад» автоматично виконує ",[3747,5118,5119],{},"pop"," для кореневого стека, закриваючи модальне вікно.",[3872,5122,5124,5125,5128],{"id":5123},"конфігурація-якоря-початкового-маршруту-unstable_settings","Конфігурація якоря початкового маршруту (",[3747,5126,5127],{},"unstable_settings",")",[3743,5130,5131],{},"Якщо користувач запускає застосунок за прямим Deep Link одразу на модальний екран (або під час гарячого перезавантаження в режимі розробки), у стеку може бути відсутній базовий екран, що призведе до блокування навігації при спробі закрити модалку.",[3743,5133,5134,5135,3821],{},"Для запобігання цьому в кореневому макеті експортується об'єкт конфігурації ",[3784,5136,5137],{},[3747,5138,5127],{},[4003,5140,5142],{"className":4526,"code":5141,"language":4528,"meta":4011,"style":4011},"export const unstable_settings = {\n  initialRouteName: '(tabs)',\n};\n",[3747,5143,5144,5157,5167],{"__ignoreMap":4011},[4160,5145,5146,5148,5151,5154],{"class":4162,"line":4163},[4160,5147,4583],{"class":4535},[4160,5149,5150],{"class":4589}," const",[4160,5152,5153],{"class":4607}," unstable_settings",[4160,5155,5156],{"class":4539}," = {\n",[4160,5158,5159,5162,5165],{"class":4162,"line":4169},[4160,5160,5161],{"class":4543},"  initialRouteName:",[4160,5163,5164],{"class":4552}," '(tabs)'",[4160,5166,4690],{"class":4539},[4160,5168,5169],{"class":4162,"line":4175},[4160,5170,5171],{"class":4539},"};\n",[3743,5173,5174,5175,5177,5178,3840],{},"Цей параметр гарантує, що рушій Expo Router попередньо змонтує групу ",[3747,5176,3765],{}," як фундамент навігаційного стека, навіть якщо цільовий запуск відбувся безпосередньо на модальний маршрут ",[3747,5179,4944],{},[3989,5181],{},[3738,5183,5185,5186],{"id":5184},"архітектура-авторизаційних-потоків-групи-auth","Архітектура авторизаційних потоків: Групи ",[3747,5187,3860],{},[3743,5189,5190],{},"У реальних мобільних системах застосунок розділений на взаємовиключні функціональні домени: публічний простір неавторизованого гостя та приватний робочий простір авторизованого користувача.",[3743,5192,5193],{},[4143,5194],{"alt":5195,"className":5196,"src":5197},"Групи (auth) і зона застосунку",[4147],"\u002Fimages\u002Freact-native\u002Fnested-navigators-and-modals\u002F03.svg",[3872,5199,5201],{"id":5200},"організація-каталогів-за-допомогою-груп","Організація каталогів за допомогою груп",[4003,5203,5206],{"className":5204,"code":5205,"language":4008,"meta":4011},[4006],"app\u002F\n  _layout.tsx           ← Кореневий перемикач контекстів (Redirect \u002F Guard)\n  (auth)\u002F               ← Публічний домен авторизації\n    _layout.tsx         ← Стек без нижніх вкладок\n    login.tsx           ← Маршрут \"\u002Flogin\"\n    register.tsx        ← Маршрут \"\u002Fregister\"\n  (app)\u002F                ← Захищений приватний домен\n    (tabs)\u002F\n      _layout.tsx       ← Вкладки застосунку\n",[3747,5207,5205],{"__ignoreMap":4011},[3872,5209,5211],{"id":5210},"принцип-роботи-декларативного-захисту","Принцип роботи декларативного захисту",[3778,5213,5214,5229],{},[3781,5215,5216,5219,5220,5222,5223,5225,5226,5228],{},[3784,5217,5218],{},"Ізоляція макетів:"," Група ",[3747,5221,3860],{}," має власний файл макета ",[3747,5224,3950],{},", який не містить контейнера ",[3747,5227,3761],{},". Завдяки цьому екран авторизації завжди відображається на весь екран без панелі вкладок.",[3781,5230,5231,5234,5235,5240],{},[3784,5232,5233],{},"Атомарне очищення історії:"," Після успішного входу в систему перехід у робочий простір здійснюється виключно через метод ",[3784,5236,5237],{},[3747,5238,5239],{},"router.replace('\u002F(app)\u002F(tabs)')",". Це повністю очищає стекову історію екранів вводу логіна та пароля, унеможливлюючи повернення назад системною кнопкою.",[5242,5243,5244,5247,5248,3750,5250,5253,5254,3840],"warning",{},[3784,5245,5246],{},"Безпека даних проти UI-маршрутизації."," Розподіл екранів на групи ",[3747,5249,3860],{},[3747,5251,5252],{},"(app)"," вирішує виключно завдання інтерфейсної ергономіки та порядку показу вікон. Приховування вкладки не захищає дані від витоку. Справжня безпека системи забезпечується валідацією токенів (JWT) на бекенд-сервері та криптографічним зберіганням ключів у нативному сховищі ",[3747,5255,5256],{},"expo-secure-store",[3989,5258],{},[3738,5260,5262,5263],{"id":5261},"навігаційні-гарди-запобігання-втраті-даних-через-usepreventremove","Навігаційні гарди: Запобігання втраті даних через ",[3747,5264,3870],{},[3743,5266,5267],{},"Під час заповнення складних мобільних форм користувач може випадково ініціювати повернення назад (жестом від краю екрана на iOS або апаратною кнопкою на Android). Без додаткового захисту екран буде миттєво демонтовано, а набрані дані — безповоротно втрачено.",[3743,5269,5270],{},[4143,5271],{"alt":5272,"className":5273,"src":5274},"Спроба вийти → діалог підтвердження",[4147],"\u002Fimages\u002Freact-native\u002Fnested-navigators-and-modals\u002F04.svg",[3872,5276,5278],{"id":5277},"життєвий-цикл-перехоплення-навігації","Життєвий цикл перехоплення навігації",[3743,5280,5281,5282,5286],{},"Для реалізації патерну захисту використовується хук ",[3784,5283,5284],{},[3747,5285,3870],{}," з екосистеми React Navigation:",[4003,5288,5290],{"className":4526,"code":5289,"language":4528,"meta":4011,"style":4011},"import { useState } from 'react';\nimport { Alert } from 'react-native';\nimport { useNavigation } from 'expo-router';\nimport { usePreventRemove } from '@react-navigation\u002Fnative';\n\nexport function FormScreen() {\n  const navigation = useNavigation();\n  const [text, setText] = useState('');\n  const [isSaved, setIsSaved] = useState(false);\n\n  \u002F\u002F Стан «забрудненості» форми (Dirty State)\n  const isDirty = !isSaved && text.trim().length > 0;\n\n  usePreventRemove(isDirty, ({ data }) => {\n    \u002F\u002F Викликається тільки тоді, коли isDirty === true під час спроби навігаційного виходу\n    Alert.alert(\n      'Незбережені зміни',\n      'Якщо ви вийдете зараз, усі внесені дані будуть втрачені. Ви дійсно бажаєте вийти?',\n      [\n        { text: 'Залишитися', style: 'cancel' },\n        {\n          text: 'Вийти без збереження',\n          style: 'destructive',\n          \u002F\u002F Відновлення перерваної навігаційної дії\n          onPress: () => navigation.dispatch(data.action),\n        },\n      ],\n    );\n  });\n\n  return (\u002F* JSX розмітка форми *\u002F);\n}\n",[3747,5291,5292,5310,5327,5344,5361,5365,5376,5390,5418,5443,5447,5452,5489,5493,5518,5523,5536,5543,5550,5555,5576,5581,5591,5601,5606,5637,5642,5647,5652,5657,5661,5674],{"__ignoreMap":4011},[4160,5293,5294,5296,5298,5301,5303,5305,5308],{"class":4162,"line":4163},[4160,5295,4536],{"class":4535},[4160,5297,4540],{"class":4539},[4160,5299,5300],{"class":4543},"useState",[4160,5302,4546],{"class":4539},[4160,5304,4549],{"class":4535},[4160,5306,5307],{"class":4552}," 'react'",[4160,5309,4556],{"class":4539},[4160,5311,5312,5314,5316,5318,5320,5322,5325],{"class":4162,"line":4169},[4160,5313,4536],{"class":4535},[4160,5315,4540],{"class":4539},[4160,5317,3922],{"class":4543},[4160,5319,4546],{"class":4539},[4160,5321,4549],{"class":4535},[4160,5323,5324],{"class":4552}," 'react-native'",[4160,5326,4556],{"class":4539},[4160,5328,5329,5331,5333,5336,5338,5340,5342],{"class":4162,"line":4175},[4160,5330,4536],{"class":4535},[4160,5332,4540],{"class":4539},[4160,5334,5335],{"class":4543},"useNavigation",[4160,5337,4546],{"class":4539},[4160,5339,4549],{"class":4535},[4160,5341,4553],{"class":4552},[4160,5343,4556],{"class":4539},[4160,5345,5346,5348,5350,5352,5354,5356,5359],{"class":4162,"line":4181},[4160,5347,4536],{"class":4535},[4160,5349,4540],{"class":4539},[4160,5351,3870],{"class":4543},[4160,5353,4546],{"class":4539},[4160,5355,4549],{"class":4535},[4160,5357,5358],{"class":4552}," '@react-navigation\u002Fnative'",[4160,5360,4556],{"class":4539},[4160,5362,5363],{"class":4162,"line":4188},[4160,5364,4185],{"emptyLinePlaceholder":4184},[4160,5366,5367,5369,5371,5374],{"class":4162,"line":4194},[4160,5368,4583],{"class":4535},[4160,5370,4590],{"class":4589},[4160,5372,5373],{"class":4593}," FormScreen",[4160,5375,4597],{"class":4539},[4160,5377,5378,5380,5383,5386,5388],{"class":4162,"line":4200},[4160,5379,4602],{"class":4589},[4160,5381,5382],{"class":4607}," navigation",[4160,5384,5385],{"class":4539}," = ",[4160,5387,5335],{"class":4593},[4160,5389,4616],{"class":4539},[4160,5391,5392,5394,5397,5399,5401,5404,5407,5409,5412,5415],{"class":4162,"line":4206},[4160,5393,4602],{"class":4589},[4160,5395,5396],{"class":4539}," [",[4160,5398,4008],{"class":4607},[4160,5400,4055],{"class":4539},[4160,5402,5403],{"class":4607},"setText",[4160,5405,5406],{"class":4539},"] = ",[4160,5408,5300],{"class":4593},[4160,5410,5411],{"class":4539},"(",[4160,5413,5414],{"class":4552},"''",[4160,5416,5417],{"class":4539},");\n",[4160,5419,5420,5422,5424,5427,5429,5432,5434,5436,5438,5441],{"class":4162,"line":4212},[4160,5421,4602],{"class":4589},[4160,5423,5396],{"class":4539},[4160,5425,5426],{"class":4607},"isSaved",[4160,5428,4055],{"class":4539},[4160,5430,5431],{"class":4607},"setIsSaved",[4160,5433,5406],{"class":4539},[4160,5435,5300],{"class":4593},[4160,5437,5411],{"class":4539},[4160,5439,5440],{"class":4589},"false",[4160,5442,5417],{"class":4539},[4160,5444,5445],{"class":4162,"line":4218},[4160,5446,4185],{"emptyLinePlaceholder":4184},[4160,5448,5449],{"class":4162,"line":4224},[4160,5450,5451],{"class":4763},"  \u002F\u002F Стан «забрудненості» форми (Dirty State)\n",[4160,5453,5454,5456,5459,5462,5464,5467,5469,5471,5474,5477,5480,5483,5487],{"class":4162,"line":4230},[4160,5455,4602],{"class":4589},[4160,5457,5458],{"class":4607}," isDirty",[4160,5460,5461],{"class":4539}," = !",[4160,5463,5426],{"class":4543},[4160,5465,5466],{"class":4539}," && ",[4160,5468,4008],{"class":4543},[4160,5470,3840],{"class":4539},[4160,5472,5473],{"class":4593},"trim",[4160,5475,5476],{"class":4539},"().",[4160,5478,5479],{"class":4543},"length",[4160,5481,5482],{"class":4539}," > ",[4160,5484,5486],{"class":5485},"sJj4R","0",[4160,5488,4556],{"class":4539},[4160,5490,5491],{"class":4162,"line":4236},[4160,5492,4185],{"emptyLinePlaceholder":4184},[4160,5494,5495,5498,5500,5503,5506,5509,5512,5515],{"class":4162,"line":4242},[4160,5496,5497],{"class":4593},"  usePreventRemove",[4160,5499,5411],{"class":4539},[4160,5501,5502],{"class":4543},"isDirty",[4160,5504,5505],{"class":4539},", ({ ",[4160,5507,5508],{"class":4543},"data",[4160,5510,5511],{"class":4539}," }) ",[4160,5513,5514],{"class":4589},"=>",[4160,5516,5517],{"class":4539}," {\n",[4160,5519,5520],{"class":4162,"line":4248},[4160,5521,5522],{"class":4763},"    \u002F\u002F Викликається тільки тоді, коли isDirty === true під час спроби навігаційного виходу\n",[4160,5524,5525,5528,5530,5533],{"class":4162,"line":4254},[4160,5526,5527],{"class":4543},"    Alert",[4160,5529,3840],{"class":4539},[4160,5531,5532],{"class":4593},"alert",[4160,5534,5535],{"class":4539},"(\n",[4160,5537,5538,5541],{"class":4162,"line":4259},[4160,5539,5540],{"class":4552},"      'Незбережені зміни'",[4160,5542,4690],{"class":4539},[4160,5544,5545,5548],{"class":4162,"line":4265},[4160,5546,5547],{"class":4552},"      'Якщо ви вийдете зараз, усі внесені дані будуть втрачені. Ви дійсно бажаєте вийти?'",[4160,5549,4690],{"class":4539},[4160,5551,5552],{"class":4162,"line":4271},[4160,5553,5554],{"class":4539},"      [\n",[4160,5556,5557,5560,5563,5566,5568,5571,5574],{"class":4162,"line":4276},[4160,5558,5559],{"class":4539},"        { ",[4160,5561,5562],{"class":4543},"text:",[4160,5564,5565],{"class":4552}," 'Залишитися'",[4160,5567,4055],{"class":4539},[4160,5569,5570],{"class":4543},"style:",[4160,5572,5573],{"class":4552}," 'cancel'",[4160,5575,4675],{"class":4539},[4160,5577,5578],{"class":4162,"line":4282},[4160,5579,5580],{"class":4539},"        {\n",[4160,5582,5583,5586,5589],{"class":4162,"line":4288},[4160,5584,5585],{"class":4543},"          text:",[4160,5587,5588],{"class":4552}," 'Вийти без збереження'",[4160,5590,4690],{"class":4539},[4160,5592,5593,5596,5599],{"class":4162,"line":4294},[4160,5594,5595],{"class":4543},"          style:",[4160,5597,5598],{"class":4552}," 'destructive'",[4160,5600,4690],{"class":4539},[4160,5602,5603],{"class":4162,"line":4300},[4160,5604,5605],{"class":4763},"          \u002F\u002F Відновлення перерваної навігаційної дії\n",[4160,5607,5608,5611,5613,5616,5618,5620,5622,5625,5627,5629,5631,5634],{"class":4162,"line":4305},[4160,5609,5610],{"class":4593},"          onPress",[4160,5612,3821],{"class":4543},[4160,5614,5615],{"class":4539}," () ",[4160,5617,5514],{"class":4589},[4160,5619,5382],{"class":4543},[4160,5621,3840],{"class":4539},[4160,5623,5624],{"class":4593},"dispatch",[4160,5626,5411],{"class":4539},[4160,5628,5508],{"class":4543},[4160,5630,3840],{"class":4539},[4160,5632,5633],{"class":4543},"action",[4160,5635,5636],{"class":4539},"),\n",[4160,5638,5639],{"class":4162,"line":4311},[4160,5640,5641],{"class":4539},"        },\n",[4160,5643,5644],{"class":4162,"line":4317},[4160,5645,5646],{"class":4539},"      ],\n",[4160,5648,5649],{"class":4162,"line":4323},[4160,5650,5651],{"class":4539},"    );\n",[4160,5653,5654],{"class":4162,"line":4328},[4160,5655,5656],{"class":4539},"  });\n",[4160,5658,5659],{"class":4162,"line":4333},[4160,5660,4185],{"emptyLinePlaceholder":4184},[4160,5662,5664,5666,5669,5672],{"class":4162,"line":5663},31,[4160,5665,4625],{"class":4535},[4160,5667,5668],{"class":4539}," (",[4160,5670,5671],{"class":4763},"\u002F* JSX розмітка форми *\u002F",[4160,5673,5417],{"class":4539},[4160,5675,5677],{"class":4162,"line":5676},32,[4160,5678,4251],{"class":4539},[3872,5680,5682],{"id":5681},"покрокова-механіка-функціонування","Покрокова механіка функціонування:",[3778,5684,5685,5694,5697,5702,5705],{},[3781,5686,5687,5688,5690,5691,3840],{},"Користувач вводить текст у поле форми. Значення стану ",[3747,5689,5502],{}," переходить у ",[3747,5692,5693],{},"true",[3781,5695,5696],{},"Користувач виконує жест змахування вниз або натискає системну кнопку «Назад».",[3781,5698,5699,5700,3840],{},"Навігаційний рушій перехоплює намір демонтувати екран і передає керування колбеку ",[3747,5701,3870],{},[3781,5703,5704],{},"Якщо користувач обирає варіант «Залишитися», навігаційна дія відхиляється, і екран залишається у фокусі.",[3781,5706,5707,5708,5711],{},"Якщо користувач підтверджує вихід, викликається метод ",[3747,5709,5710],{},"navigation.dispatch(data.action)",", який примусово виконує відкладену дію закриття.",[3989,5713],{},[3738,5715,5717,5718],{"id":5716},"динамічні-сегменти-маршруту-idtsx","Динамічні сегменти маршруту: ",[3747,5719,3936],{},[3743,5721,5722,5723,5727,5728,5731],{},"Файл з назвою ",[3784,5724,5725],{},[3747,5726,4365],{}," декларує параметризований динамічний маршрут, де сегмент ",[3747,5729,5730],{},"[id]"," виступає змінною частиною URL:",[4003,5733,5735],{"className":4526,"code":5734,"language":4528,"meta":4011,"style":4011},"import { useLocalSearchParams } from 'expo-router';\nimport { getTripById } from '@\u002Ffeatures\u002Ftrips';\n\nexport default function TripDetailsScreen() {\n  \u002F\u002F Вилучення динамічного параметра з URL\n  const { id } = useLocalSearchParams\u003C{ id: string }>();\n  \n  \u002F\u002F Нормалізація параметра (захист від випадку string[])\n  const tripId = Array.isArray(id) ? id[0] : id;\n  const trip = tripId ? getTripById(tripId) : undefined;\n\n  if (!trip) {\n    return \u003CNotFoundView message={`Поїздку з ID ${tripId} не знайдено`} \u002F>;\n  }\n\n  return \u003CTripDetailsView trip={trip} \u002F>;\n}\n",[3747,5736,5737,5754,5772,5776,5789,5794,5821,5826,5831,5869,5898,5902,5916,5954,5958,5962,5985],{"__ignoreMap":4011},[4160,5738,5739,5741,5743,5746,5748,5750,5752],{"class":4162,"line":4163},[4160,5740,4536],{"class":4535},[4160,5742,4540],{"class":4539},[4160,5744,5745],{"class":4543},"useLocalSearchParams",[4160,5747,4546],{"class":4539},[4160,5749,4549],{"class":4535},[4160,5751,4553],{"class":4552},[4160,5753,4556],{"class":4539},[4160,5755,5756,5758,5760,5763,5765,5767,5770],{"class":4162,"line":4169},[4160,5757,4536],{"class":4535},[4160,5759,4540],{"class":4539},[4160,5761,5762],{"class":4543},"getTripById",[4160,5764,4546],{"class":4539},[4160,5766,4549],{"class":4535},[4160,5768,5769],{"class":4552}," '@\u002Ffeatures\u002Ftrips'",[4160,5771,4556],{"class":4539},[4160,5773,5774],{"class":4162,"line":4175},[4160,5775,4185],{"emptyLinePlaceholder":4184},[4160,5777,5778,5780,5782,5784,5787],{"class":4162,"line":4181},[4160,5779,4583],{"class":4535},[4160,5781,4586],{"class":4535},[4160,5783,4590],{"class":4589},[4160,5785,5786],{"class":4593}," TripDetailsScreen",[4160,5788,4597],{"class":4539},[4160,5790,5791],{"class":4162,"line":4188},[4160,5792,5793],{"class":4763},"  \u002F\u002F Вилучення динамічного параметра з URL\n",[4160,5795,5796,5798,5800,5803,5805,5807,5810,5812,5815,5818],{"class":4162,"line":4194},[4160,5797,4602],{"class":4589},[4160,5799,4540],{"class":4539},[4160,5801,5802],{"class":4607},"id",[4160,5804,4611],{"class":4539},[4160,5806,5745],{"class":4593},[4160,5808,5809],{"class":4539},"\u003C{ ",[4160,5811,5802],{"class":4543},[4160,5813,5814],{"class":4539},": ",[4160,5816,5817],{"class":4637},"string",[4160,5819,5820],{"class":4539}," }>();\n",[4160,5822,5823],{"class":4162,"line":4200},[4160,5824,5825],{"class":4539},"  \n",[4160,5827,5828],{"class":4162,"line":4206},[4160,5829,5830],{"class":4763},"  \u002F\u002F Нормалізація параметра (захист від випадку string[])\n",[4160,5832,5833,5835,5838,5840,5843,5845,5848,5850,5852,5855,5857,5860,5862,5865,5867],{"class":4162,"line":4212},[4160,5834,4602],{"class":4589},[4160,5836,5837],{"class":4607}," tripId",[4160,5839,5385],{"class":4539},[4160,5841,5842],{"class":4543},"Array",[4160,5844,3840],{"class":4539},[4160,5846,5847],{"class":4593},"isArray",[4160,5849,5411],{"class":4539},[4160,5851,5802],{"class":4543},[4160,5853,5854],{"class":4539},") ? ",[4160,5856,5802],{"class":4543},[4160,5858,5859],{"class":4539},"[",[4160,5861,5486],{"class":5485},[4160,5863,5864],{"class":4539},"] : ",[4160,5866,5802],{"class":4543},[4160,5868,4556],{"class":4539},[4160,5870,5871,5873,5876,5878,5881,5884,5886,5888,5890,5893,5896],{"class":4162,"line":4218},[4160,5872,4602],{"class":4589},[4160,5874,5875],{"class":4607}," trip",[4160,5877,5385],{"class":4539},[4160,5879,5880],{"class":4543},"tripId",[4160,5882,5883],{"class":4539}," ? ",[4160,5885,5762],{"class":4593},[4160,5887,5411],{"class":4539},[4160,5889,5880],{"class":4543},[4160,5891,5892],{"class":4539},") : ",[4160,5894,5895],{"class":4589},"undefined",[4160,5897,4556],{"class":4539},[4160,5899,5900],{"class":4162,"line":4224},[4160,5901,4185],{"emptyLinePlaceholder":4184},[4160,5903,5904,5907,5910,5913],{"class":4162,"line":4230},[4160,5905,5906],{"class":4535},"  if",[4160,5908,5909],{"class":4539}," (!",[4160,5911,5912],{"class":4543},"trip",[4160,5914,5915],{"class":4539},") {\n",[4160,5917,5918,5921,5924,5927,5930,5932,5934,5937,5940,5942,5944,5947,5949,5952],{"class":4162,"line":4236},[4160,5919,5920],{"class":4535},"    return",[4160,5922,5923],{"class":4633}," \u003C",[4160,5925,5926],{"class":4637},"NotFoundView",[4160,5928,5929],{"class":4643}," message",[4160,5931,4647],{"class":4539},[4160,5933,4650],{"class":4589},[4160,5935,5936],{"class":4552},"`Поїздку з ID ",[4160,5938,5939],{"class":4589},"${",[4160,5941,5880],{"class":4543},[4160,5943,4803],{"class":4589},[4160,5945,5946],{"class":4552}," не знайдено`",[4160,5948,4803],{"class":4589},[4160,5950,5951],{"class":4633}," \u002F>",[4160,5953,4556],{"class":4539},[4160,5955,5956],{"class":4162,"line":4242},[4160,5957,4239],{"class":4539},[4160,5959,5960],{"class":4162,"line":4248},[4160,5961,4185],{"emptyLinePlaceholder":4184},[4160,5963,5964,5966,5968,5971,5973,5975,5977,5979,5981,5983],{"class":4162,"line":4254},[4160,5965,4625],{"class":4535},[4160,5967,5923],{"class":4633},[4160,5969,5970],{"class":4637},"TripDetailsView",[4160,5972,5875],{"class":4643},[4160,5974,4647],{"class":4539},[4160,5976,4650],{"class":4589},[4160,5978,5912],{"class":4543},[4160,5980,4803],{"class":4589},[4160,5982,5951],{"class":4633},[4160,5984,4556],{"class":4539},[4160,5986,5987],{"class":4162,"line":4259},[4160,5988,4251],{"class":4539},[3743,5990,5991,5992,5996,5997,6000],{},"Хук ",[3784,5993,5994],{},[3747,5995,5745],{}," здійснює десеріалізацію параметрів поточного маршруту. Нормалізація через ",[3747,5998,5999],{},"Array.isArray(id)"," є рекомендованою практикою для гарантування строгих типів даних у TypeScript.",[3989,6002],{},[3738,6004,6006],{"id":6005},"комплексний-огляд-навігаційних-потоків-nomad","Комплексний огляд навігаційних потоків Nomad",[3743,6008,6009],{},"Розглянемо наскрізний ланцюг взаємодії користувача з оновленою архітектурою Nomad:",[3743,6011,6012],{},[4143,6013],{"alt":6014,"className":6015,"src":6016},"Список → деталі (tabs) → modal → назад",[4147],"\u002Fimages\u002Freact-native\u002Fnested-navigators-and-modals\u002F05.svg",[6018,6019,6020,6024,6034,6038,6055,6059,6073,6077,6091,6095],"steps",{},[3872,6021,6023],{"id":6022},"_1-перегляд-стрічки-у-вкладці-поїздки","1. Перегляд стрічки у вкладці «Поїздки»",[3743,6025,6026,6027,6029,6030,6033],{},"Активним є контейнер ",[3784,6028,3761],{},". Контент рендериться з маршруту ",[3747,6031,6032],{},"(tabs)\u002Ftrips\u002Findex.tsx"," усередині вкладеного стека. Нижній таб-бар видимий.",[3872,6035,6037],{"id":6036},"_2-вибір-поїздки-для-детального-ознайомлення","2. Вибір поїздки для детального ознайомлення",[3743,6039,6040,6041,6044,6045,3833,6048,6051,6052,3840],{},"Виклик ",[3747,6042,6043],{},"router.push('\u002Ftrips\u002F1')"," ініціює операцію ",[3747,6046,6047],{},"push",[3784,6049,6050],{},"у внутрішньому стеку вкладки",". Екран плавно зсувається, відображаючи нативний заголовок з назвою поїздки. ",[3784,6053,6054],{},"Нижня панель вкладок залишається видимою",[3872,6056,6058],{"id":6057},"_3-відкриття-форми-створення-поїздки","3. Відкриття форми створення поїздки",[3743,6060,6061,6062,6065,6066,6069,6070,6072],{},"Натискання кнопки «Нова поїздка» викликає ",[3747,6063,6064],{},"router.push('\u002Fcreate-trip')",". Оскільки цей маршрут зареєстрований у ",[3784,6067,6068],{},"кореневому стеку"," з опцією ",[3747,6071,3852],{},", форма виїжджає знизу на весь екран, перекриваючи таб-бар.",[3872,6074,6076],{"id":6075},"_4-збереження-форми-та-синхронізація-стану","4. Збереження форми та синхронізація стану",[3743,6078,6079,6080,6083,6084,6087,6088,6090],{},"Після валідації форма викликає метод ",[3747,6081,6082],{},"addTrip(newTrip)"," глобального контексту ",[3747,6085,6086],{},"TripsProvider"," та ініціює виклик ",[3747,6089,3890],{},". Модальне вікно закривається, повертаючи користувача назад на екран деталей або стрічку, де нова картка автоматично з'являється завдяки підписці на React Context.",[3872,6092,6094],{"id":6093},"_5-перехід-із-вкладки-місця-на-поїздку","5. Перехід із вкладки «Місця» на поїздку",[3743,6096,6097,6098,6101],{},"Натискання на чіп збереженої локації у вкладці «Місця» викликає ",[3747,6099,6100],{},"router.push('\u002Ftrips\u002F' + place.tripId)",". Навігатор автоматично активує вкладку «Поїздки» та відкриває відповідний екран деталей у вкладеному стеку.",[3989,6103],{},[3738,6105,6107],{"id":6106},"архітектурні-антипатерни-у-складених-навігаційних-системах","Архітектурні антипатерни у складених навігаційних системах",[3872,6109,6111],{"id":6110},"_1-винесення-деталей-у-кореневий-стек-без-усвідомленої-мети-приховати-tab-bar","1. Винесення деталей у кореневий стек без усвідомленої мети приховати Tab Bar",[3823,6113,6114,6120],{},[3781,6115,6116,6119],{},[3784,6117,6118],{},"Симптом:"," Користувач скаржиться, що під час перегляду деталей неможливо швидко перемкнутися на сусідню вкладку.",[3781,6121,6122,6125,6126,6128,6129,3840],{},[3784,6123,6124],{},"Причина:"," Файл деталей помилково розміщено в ",[3747,6127,4371],{}," замість вкладеної структури ",[3747,6130,4365],{},[3872,6132,6134],{"id":6133},"_2-реєстрація-модальної-форми-як-постійної-вкладки-в-tab-bar","2. Реєстрація модальної форми як постійної вкладки в Tab Bar",[3823,6136,6137,6142],{},[3781,6138,6139,6141],{},[3784,6140,6118],{}," Форма створення постійно присутня в нижній панелі як окрема іконка, порушуючи модель персистентних розділів.",[3781,6143,6144,6146],{},[3784,6145,6124],{}," Нерозуміння різниці між довгоживучими розділами (Tabs) та тимчасовими контекстними операціями (Modal).",[3872,6148,6150,6151],{"id":6149},"_3-спроба-закриття-модалки-через-виклик-routerpush","3. Спроба закриття модалки через виклик ",[3747,6152,6153],{},"router.push('\u002F')",[3823,6155,6156,6161],{},[3781,6157,6158,6160],{},[3784,6159,6118],{}," Навігаційний стек роздувається дублікатами домашнього екрана, а подальше натискання системної кнопки «Назад» повертає користувача назад на заповнену форму.",[3781,6162,6163,6165,6166,6168,6169,6171,6172,3840],{},[3784,6164,6124],{}," Використання операції ",[3747,6167,6047],{}," замість обов'язкового виклику ",[3747,6170,3890],{}," або ",[3747,6173,6174],{},"router.replace()",[3872,6176,6178],{"id":6177},"_4-відсутність-навігаційного-гарда-на-формі-з-великим-обсягом-вводу","4. Відсутність навігаційного гарда на формі з великим обсягом вводу",[3823,6180,6181,6186],{},[3781,6182,6183,6185],{},[3784,6184,6118],{}," Випадковий дотик до краю дисплея на iOS викликає закриття модалки та повну втрату введеного тексту.",[3781,6187,6188,6190,6191,6193],{},[3784,6189,6124],{}," Нехтування хуком ",[3747,6192,3870],{}," під час проєктування критичних інтерфейсів введення.",[3872,6195,6197,6198],{"id":6196},"_5-розміщення-важкої-бізнес-логіки-безпосередньо-у-файлах-макетів-_layouttsx","5. Розміщення важкої бізнес-логіки безпосередньо у файлах макетів ",[3747,6199,3950],{},[3823,6201,6202,6207],{},[3781,6203,6204,6206],{},[3784,6205,6118],{}," Повторні небажані мережеві запити та падіння продуктивності при переході між екранами.",[3781,6208,6209,6211],{},[3784,6210,6124],{}," Файл макета повинен займатися виключно зв'язуванням навігаційних контейнерів та конфігурацією опцій, делегуючи отримання даних спеціалізованим хукам та контекстним провайдерам.",[3989,6213],{},[3738,6215,6217],{"id":6216},"міні-проєкт-нотатки-від-а-до-я","Міні-проєкт: «Нотатки» (від А до Я)",[3872,6219,6221],{"id":6220},"мета","Мета",[3743,6223,6224,6225,6228],{},"Окремий застосунок поза Nomad. ",[3784,6226,6227],{},"Увесь код"," — у collapsible нижче.",[3778,6230,6231,6234,6237,6244],{},[3781,6232,6233],{},"Tabs: Нотатки | Про застосунок.",[3781,6235,6236],{},"У «Нотатки» — nested Stack: список → деталі.",[3781,6238,6239,6240,6243],{},"Modal «Нова нотатка» + ",[3784,6241,6242],{},"guard"," на back.",[3781,6245,6246],{},"Збережені нотатки з’являються в списку.",[3872,6248,6250],{"id":6249},"структура","Структура",[4003,6252,6255],{"className":6253,"code":6254,"language":4008,"meta":4011},[4006],"notes-app\u002F\n  app\u002F\n    _layout.tsx\n    (tabs)\u002F\n      _layout.tsx\n      notes\u002F\n        _layout.tsx\n        index.tsx\n        [id].tsx\n      about.tsx\n    modal\u002F\n      new.tsx\n  src\u002Fdata\u002FnotesStore.ts\n",[3747,6256,6254],{"__ignoreMap":4011},[3872,6258,6260],{"id":6259},"крок-1-створити-проєкт","Крок 1. Створити проєкт",[6018,6262,6263,6267,6299,6303,6321,6325,6339],{},[3872,6264,6266],{"id":6265},"_1-скарфолд","1. Скарфолд",[4003,6268,6272],{"className":6269,"code":6270,"language":6271,"meta":4011,"style":4011},"language-bash shiki shiki-themes light-plus dark-plus dark-plus","npx create-expo-app@latest notes-app -t tabs\ncd notes-app\n","bash",[3747,6273,6274,6291],{"__ignoreMap":4011},[4160,6275,6276,6279,6282,6285,6288],{"class":4162,"line":4163},[4160,6277,6278],{"class":4593},"npx",[4160,6280,6281],{"class":4552}," create-expo-app@latest",[4160,6283,6284],{"class":4552}," notes-app",[4160,6286,6287],{"class":4589}," -t",[4160,6289,6290],{"class":4552}," tabs\n",[4160,6292,6293,6296],{"class":4162,"line":4169},[4160,6294,6295],{"class":4593},"cd",[4160,6297,6298],{"class":4552}," notes-app\n",[3872,6300,6302],{"id":6301},"_2-іконки-за-потреби","2. Іконки (за потреби)",[4003,6304,6306],{"className":6269,"code":6305,"language":6271,"meta":4011,"style":4011},"npx expo install @expo\u002Fvector-icons\n",[3747,6307,6308],{"__ignoreMap":4011},[4160,6309,6310,6312,6315,6318],{"class":4162,"line":4163},[4160,6311,6278],{"class":4593},[4160,6313,6314],{"class":4552}," expo",[4160,6316,6317],{"class":4552}," install",[4160,6319,6320],{"class":4552}," @expo\u002Fvector-icons\n",[3872,6322,6324],{"id":6323},"_3-після-підстановки-файлів","3. Після підстановки файлів",[4003,6326,6328],{"className":6269,"code":6327,"language":6271,"meta":4011,"style":4011},"npx expo start\n",[3747,6329,6330],{"__ignoreMap":4011},[4160,6331,6332,6334,6336],{"class":4162,"line":4163},[4160,6333,6278],{"class":4593},[4160,6335,6314],{"class":4552},[4160,6337,6338],{"class":4552}," start\n",[3743,6340,6341,6342,6345],{},"Видаліть зайві екрани шаблону (",[3747,6343,6344],{},"explore"," тощо), залиште структуру як вище.",[3872,6347,6349,6350],{"id":6348},"крок-2-srcdatanotesstorets","Крок 2. ",[3747,6351,6352],{},"src\u002Fdata\u002FnotesStore.ts",[6354,6355,6357],"collapsible",{"title":6356},"Повний src\u002Fdata\u002FnotesStore.ts — розгорнути",[4003,6358,6362],{"className":6359,"code":6360,"language":6361,"meta":4011,"style":4011},"language-ts shiki shiki-themes light-plus dark-plus dark-plus","export type Note = {\n  id: string;\n  title: string;\n  body: string;\n  createdAt: number;\n};\n\ntype Listener = () => void;\n\nlet notes: Note[] = [\n  {\n    id: '1',\n    title: 'Список речей',\n    body: 'Павербанк, дощовик, копія квитків.',\n    createdAt: Date.now() - 86400000,\n  },\n  {\n    id: '2',\n    title: 'Ідеї маршруту',\n    body: 'Ранок — музей, обід — ринок, вечір — набережна.',\n    createdAt: Date.now() - 3600000,\n  },\n];\n\nconst listeners = new Set\u003CListener>();\n\nfunction emit() {\n  listeners.forEach((l) => l());\n}\n\nexport function getNotes(): Note[] {\n  return [...notes].sort((a, b) => b.createdAt - a.createdAt);\n}\n\nexport function getNote(id: string): Note | undefined {\n  return notes.find((n) => n.id === id);\n}\n\nexport function addNote(title: string, body: string): Note {\n  const note: Note = {\n    id: String(Date.now()),\n    title: title.trim() || 'Без назви',\n    body: body.trim(),\n    createdAt: Date.now(),\n  };\n  notes = [note, ...notes];\n  emit();\n  return note;\n}\n\nexport function subscribe(listener: Listener): () => void {\n  listeners.add(listener);\n  return () => {\n    listeners.delete(listener);\n  };\n}\n","ts",[3747,6363,6364,6376,6387,6398,6409,6421,6425,6429,6447,6451,6467,6472,6482,6491,6501,6522,6527,6531,6540,6549,6558,6575,6579,6584,6588,6612,6616,6626,6653,6657,6661,6678,6726,6731,6736,6766,6801,6806,6811,6845,6859,6879,6899,6914,6927,6933,6951,6959,6968,6973,6978,7006,7022,7033,7050,7055],{"__ignoreMap":4011},[4160,6365,6366,6368,6371,6374],{"class":4162,"line":4163},[4160,6367,4583],{"class":4535},[4160,6369,6370],{"class":4589}," type",[4160,6372,6373],{"class":4637}," Note",[4160,6375,5156],{"class":4539},[4160,6377,6378,6381,6383,6385],{"class":4162,"line":4169},[4160,6379,6380],{"class":4543},"  id",[4160,6382,5814],{"class":4539},[4160,6384,5817],{"class":4637},[4160,6386,4556],{"class":4539},[4160,6388,6389,6392,6394,6396],{"class":4162,"line":4175},[4160,6390,6391],{"class":4543},"  title",[4160,6393,5814],{"class":4539},[4160,6395,5817],{"class":4637},[4160,6397,4556],{"class":4539},[4160,6399,6400,6403,6405,6407],{"class":4162,"line":4181},[4160,6401,6402],{"class":4543},"  body",[4160,6404,5814],{"class":4539},[4160,6406,5817],{"class":4637},[4160,6408,4556],{"class":4539},[4160,6410,6411,6414,6416,6419],{"class":4162,"line":4188},[4160,6412,6413],{"class":4543},"  createdAt",[4160,6415,5814],{"class":4539},[4160,6417,6418],{"class":4637},"number",[4160,6420,4556],{"class":4539},[4160,6422,6423],{"class":4162,"line":4194},[4160,6424,5171],{"class":4539},[4160,6426,6427],{"class":4162,"line":4200},[4160,6428,4185],{"emptyLinePlaceholder":4184},[4160,6430,6431,6434,6437,6440,6442,6445],{"class":4162,"line":4206},[4160,6432,6433],{"class":4589},"type",[4160,6435,6436],{"class":4637}," Listener",[4160,6438,6439],{"class":4539}," = () ",[4160,6441,5514],{"class":4589},[4160,6443,6444],{"class":4637}," void",[4160,6446,4556],{"class":4539},[4160,6448,6449],{"class":4162,"line":4212},[4160,6450,4185],{"emptyLinePlaceholder":4184},[4160,6452,6453,6456,6459,6461,6464],{"class":4162,"line":4218},[4160,6454,6455],{"class":4589},"let",[4160,6457,6458],{"class":4543}," notes",[4160,6460,5814],{"class":4539},[4160,6462,6463],{"class":4637},"Note",[4160,6465,6466],{"class":4539},"[] = [\n",[4160,6468,6469],{"class":4162,"line":4224},[4160,6470,6471],{"class":4539},"  {\n",[4160,6473,6474,6477,6480],{"class":4162,"line":4230},[4160,6475,6476],{"class":4543},"    id:",[4160,6478,6479],{"class":4552}," '1'",[4160,6481,4690],{"class":4539},[4160,6483,6484,6486,6489],{"class":4162,"line":4236},[4160,6485,5056],{"class":4543},[4160,6487,6488],{"class":4552}," 'Список речей'",[4160,6490,4690],{"class":4539},[4160,6492,6493,6496,6499],{"class":4162,"line":4242},[4160,6494,6495],{"class":4543},"    body:",[4160,6497,6498],{"class":4552}," 'Павербанк, дощовик, копія квитків.'",[4160,6500,4690],{"class":4539},[4160,6502,6503,6506,6509,6511,6514,6517,6520],{"class":4162,"line":4248},[4160,6504,6505],{"class":4543},"    createdAt:",[4160,6507,6508],{"class":4543}," Date",[4160,6510,3840],{"class":4539},[4160,6512,6513],{"class":4593},"now",[4160,6515,6516],{"class":4539},"() - ",[4160,6518,6519],{"class":5485},"86400000",[4160,6521,4690],{"class":4539},[4160,6523,6524],{"class":4162,"line":4254},[4160,6525,6526],{"class":4539},"  },\n",[4160,6528,6529],{"class":4162,"line":4259},[4160,6530,6471],{"class":4539},[4160,6532,6533,6535,6538],{"class":4162,"line":4265},[4160,6534,6476],{"class":4543},[4160,6536,6537],{"class":4552}," '2'",[4160,6539,4690],{"class":4539},[4160,6541,6542,6544,6547],{"class":4162,"line":4271},[4160,6543,5056],{"class":4543},[4160,6545,6546],{"class":4552}," 'Ідеї маршруту'",[4160,6548,4690],{"class":4539},[4160,6550,6551,6553,6556],{"class":4162,"line":4276},[4160,6552,6495],{"class":4543},[4160,6554,6555],{"class":4552}," 'Ранок — музей, обід — ринок, вечір — набережна.'",[4160,6557,4690],{"class":4539},[4160,6559,6560,6562,6564,6566,6568,6570,6573],{"class":4162,"line":4282},[4160,6561,6505],{"class":4543},[4160,6563,6508],{"class":4543},[4160,6565,3840],{"class":4539},[4160,6567,6513],{"class":4593},[4160,6569,6516],{"class":4539},[4160,6571,6572],{"class":5485},"3600000",[4160,6574,4690],{"class":4539},[4160,6576,6577],{"class":4162,"line":4288},[4160,6578,6526],{"class":4539},[4160,6580,6581],{"class":4162,"line":4294},[4160,6582,6583],{"class":4539},"];\n",[4160,6585,6586],{"class":4162,"line":4300},[4160,6587,4185],{"emptyLinePlaceholder":4184},[4160,6589,6590,6593,6596,6598,6601,6604,6606,6609],{"class":4162,"line":4305},[4160,6591,6592],{"class":4589},"const",[4160,6594,6595],{"class":4607}," listeners",[4160,6597,5385],{"class":4539},[4160,6599,6600],{"class":4589},"new",[4160,6602,6603],{"class":4593}," Set",[4160,6605,5018],{"class":4539},[4160,6607,6608],{"class":4637},"Listener",[4160,6610,6611],{"class":4539},">();\n",[4160,6613,6614],{"class":4162,"line":4311},[4160,6615,4185],{"emptyLinePlaceholder":4184},[4160,6617,6618,6621,6624],{"class":4162,"line":4317},[4160,6619,6620],{"class":4589},"function",[4160,6622,6623],{"class":4593}," emit",[4160,6625,4597],{"class":4539},[4160,6627,6628,6631,6633,6636,6639,6642,6645,6647,6650],{"class":4162,"line":4323},[4160,6629,6630],{"class":4543},"  listeners",[4160,6632,3840],{"class":4539},[4160,6634,6635],{"class":4593},"forEach",[4160,6637,6638],{"class":4539},"((",[4160,6640,6641],{"class":4543},"l",[4160,6643,6644],{"class":4539},") ",[4160,6646,5514],{"class":4589},[4160,6648,6649],{"class":4593}," l",[4160,6651,6652],{"class":4539},"());\n",[4160,6654,6655],{"class":4162,"line":4328},[4160,6656,4251],{"class":4539},[4160,6658,6659],{"class":4162,"line":4333},[4160,6660,4185],{"emptyLinePlaceholder":4184},[4160,6662,6663,6665,6667,6670,6673,6675],{"class":4162,"line":5663},[4160,6664,4583],{"class":4535},[4160,6666,4590],{"class":4589},[4160,6668,6669],{"class":4593}," getNotes",[4160,6671,6672],{"class":4539},"(): ",[4160,6674,6463],{"class":4637},[4160,6676,6677],{"class":4539},"[] {\n",[4160,6679,6680,6682,6685,6688,6691,6694,6696,6698,6700,6703,6705,6707,6710,6712,6715,6718,6720,6722,6724],{"class":4162,"line":5676},[4160,6681,4625],{"class":4535},[4160,6683,6684],{"class":4539}," [...",[4160,6686,6687],{"class":4543},"notes",[4160,6689,6690],{"class":4539},"].",[4160,6692,6693],{"class":4593},"sort",[4160,6695,6638],{"class":4539},[4160,6697,3982],{"class":4543},[4160,6699,4055],{"class":4539},[4160,6701,6702],{"class":4543},"b",[4160,6704,6644],{"class":4539},[4160,6706,5514],{"class":4589},[4160,6708,6709],{"class":4543}," b",[4160,6711,3840],{"class":4539},[4160,6713,6714],{"class":4543},"createdAt",[4160,6716,6717],{"class":4539}," - ",[4160,6719,3982],{"class":4543},[4160,6721,3840],{"class":4539},[4160,6723,6714],{"class":4543},[4160,6725,5417],{"class":4539},[4160,6727,6729],{"class":4162,"line":6728},33,[4160,6730,4251],{"class":4539},[4160,6732,6734],{"class":4162,"line":6733},34,[4160,6735,4185],{"emptyLinePlaceholder":4184},[4160,6737,6739,6741,6743,6746,6748,6750,6752,6754,6757,6759,6762,6764],{"class":4162,"line":6738},35,[4160,6740,4583],{"class":4535},[4160,6742,4590],{"class":4589},[4160,6744,6745],{"class":4593}," getNote",[4160,6747,5411],{"class":4539},[4160,6749,5802],{"class":4543},[4160,6751,5814],{"class":4539},[4160,6753,5817],{"class":4637},[4160,6755,6756],{"class":4539},"): ",[4160,6758,6463],{"class":4637},[4160,6760,6761],{"class":4539}," | ",[4160,6763,5895],{"class":4637},[4160,6765,5517],{"class":4539},[4160,6767,6769,6771,6773,6775,6778,6780,6783,6785,6787,6790,6792,6794,6797,6799],{"class":4162,"line":6768},36,[4160,6770,4625],{"class":4535},[4160,6772,6458],{"class":4543},[4160,6774,3840],{"class":4539},[4160,6776,6777],{"class":4593},"find",[4160,6779,6638],{"class":4539},[4160,6781,6782],{"class":4543},"n",[4160,6784,6644],{"class":4539},[4160,6786,5514],{"class":4589},[4160,6788,6789],{"class":4543}," n",[4160,6791,3840],{"class":4539},[4160,6793,5802],{"class":4543},[4160,6795,6796],{"class":4539}," === ",[4160,6798,5802],{"class":4543},[4160,6800,5417],{"class":4539},[4160,6802,6804],{"class":4162,"line":6803},37,[4160,6805,4251],{"class":4539},[4160,6807,6809],{"class":4162,"line":6808},38,[4160,6810,4185],{"emptyLinePlaceholder":4184},[4160,6812,6814,6816,6818,6821,6823,6826,6828,6830,6832,6835,6837,6839,6841,6843],{"class":4162,"line":6813},39,[4160,6815,4583],{"class":4535},[4160,6817,4590],{"class":4589},[4160,6819,6820],{"class":4593}," addNote",[4160,6822,5411],{"class":4539},[4160,6824,6825],{"class":4543},"title",[4160,6827,5814],{"class":4539},[4160,6829,5817],{"class":4637},[4160,6831,4055],{"class":4539},[4160,6833,6834],{"class":4543},"body",[4160,6836,5814],{"class":4539},[4160,6838,5817],{"class":4637},[4160,6840,6756],{"class":4539},[4160,6842,6463],{"class":4637},[4160,6844,5517],{"class":4539},[4160,6846,6848,6850,6853,6855,6857],{"class":4162,"line":6847},40,[4160,6849,4602],{"class":4589},[4160,6851,6852],{"class":4607}," note",[4160,6854,5814],{"class":4539},[4160,6856,6463],{"class":4637},[4160,6858,5156],{"class":4539},[4160,6860,6862,6864,6867,6869,6872,6874,6876],{"class":4162,"line":6861},41,[4160,6863,6476],{"class":4543},[4160,6865,6866],{"class":4593}," String",[4160,6868,5411],{"class":4539},[4160,6870,6871],{"class":4543},"Date",[4160,6873,3840],{"class":4539},[4160,6875,6513],{"class":4593},[4160,6877,6878],{"class":4539},"()),\n",[4160,6880,6882,6884,6887,6889,6891,6894,6897],{"class":4162,"line":6881},42,[4160,6883,5056],{"class":4543},[4160,6885,6886],{"class":4543}," title",[4160,6888,3840],{"class":4539},[4160,6890,5473],{"class":4593},[4160,6892,6893],{"class":4539},"() || ",[4160,6895,6896],{"class":4552},"'Без назви'",[4160,6898,4690],{"class":4539},[4160,6900,6902,6904,6907,6909,6911],{"class":4162,"line":6901},43,[4160,6903,6495],{"class":4543},[4160,6905,6906],{"class":4543}," body",[4160,6908,3840],{"class":4539},[4160,6910,5473],{"class":4593},[4160,6912,6913],{"class":4539},"(),\n",[4160,6915,6917,6919,6921,6923,6925],{"class":4162,"line":6916},44,[4160,6918,6505],{"class":4543},[4160,6920,6508],{"class":4543},[4160,6922,3840],{"class":4539},[4160,6924,6513],{"class":4593},[4160,6926,6913],{"class":4539},[4160,6928,6930],{"class":4162,"line":6929},45,[4160,6931,6932],{"class":4539},"  };\n",[4160,6934,6936,6939,6942,6944,6947,6949],{"class":4162,"line":6935},46,[4160,6937,6938],{"class":4543},"  notes",[4160,6940,6941],{"class":4539}," = [",[4160,6943,3938],{"class":4543},[4160,6945,6946],{"class":4539},", ...",[4160,6948,6687],{"class":4543},[4160,6950,6583],{"class":4539},[4160,6952,6954,6957],{"class":4162,"line":6953},47,[4160,6955,6956],{"class":4593},"  emit",[4160,6958,4616],{"class":4539},[4160,6960,6962,6964,6966],{"class":4162,"line":6961},48,[4160,6963,4625],{"class":4535},[4160,6965,6852],{"class":4543},[4160,6967,4556],{"class":4539},[4160,6969,6971],{"class":4162,"line":6970},49,[4160,6972,4251],{"class":4539},[4160,6974,6976],{"class":4162,"line":6975},50,[4160,6977,4185],{"emptyLinePlaceholder":4184},[4160,6979,6981,6983,6985,6988,6990,6993,6995,6997,7000,7002,7004],{"class":4162,"line":6980},51,[4160,6982,4583],{"class":4535},[4160,6984,4590],{"class":4589},[4160,6986,6987],{"class":4593}," subscribe",[4160,6989,5411],{"class":4539},[4160,6991,6992],{"class":4543},"listener",[4160,6994,5814],{"class":4539},[4160,6996,6608],{"class":4637},[4160,6998,6999],{"class":4539},"): () ",[4160,7001,5514],{"class":4589},[4160,7003,6444],{"class":4637},[4160,7005,5517],{"class":4539},[4160,7007,7009,7011,7013,7016,7018,7020],{"class":4162,"line":7008},52,[4160,7010,6630],{"class":4543},[4160,7012,3840],{"class":4539},[4160,7014,7015],{"class":4593},"add",[4160,7017,5411],{"class":4539},[4160,7019,6992],{"class":4543},[4160,7021,5417],{"class":4539},[4160,7023,7025,7027,7029,7031],{"class":4162,"line":7024},53,[4160,7026,4625],{"class":4535},[4160,7028,5615],{"class":4539},[4160,7030,5514],{"class":4589},[4160,7032,5517],{"class":4539},[4160,7034,7036,7039,7041,7044,7046,7048],{"class":4162,"line":7035},54,[4160,7037,7038],{"class":4543},"    listeners",[4160,7040,3840],{"class":4539},[4160,7042,7043],{"class":4593},"delete",[4160,7045,5411],{"class":4539},[4160,7047,6992],{"class":4543},[4160,7049,5417],{"class":4539},[4160,7051,7053],{"class":4162,"line":7052},55,[4160,7054,6932],{"class":4539},[4160,7056,7058],{"class":4162,"line":7057},56,[4160,7059,4251],{"class":4539},[3872,7061,7063,7064],{"id":7062},"крок-3-app_layouttsx","Крок 3. ",[3747,7065,4099],{},[6354,7067,7069],{"title":7068},"Повний app\u002F_layout.tsx — розгорнути",[4003,7070,7072],{"className":4526,"code":7071,"language":4528,"meta":4011,"style":4011},"import { Stack } from 'expo-router';\nimport { StatusBar } from 'expo-status-bar';\n\nexport const unstable_settings = {\n  initialRouteName: '(tabs)',\n};\n\nexport default function RootLayout() {\n  return (\n    \u003C>\n      \u003CStatusBar style=\"dark\" \u002F>\n      \u003CStack\n        screenOptions={{\n          headerStyle: { backgroundColor: '#F8FAFC' },\n          headerTintColor: '#2563EB',\n          headerTitleStyle: { color: '#0F172A', fontWeight: '600' },\n          contentStyle: { backgroundColor: '#F8FAFC' },\n        }}\n      >\n        \u003CStack.Screen name=\"(tabs)\" options={{ headerShown: false }} \u002F>\n        \u003CStack.Screen\n          name=\"modal\u002Fnew\"\n          options={{\n            presentation: 'modal',\n            title: 'Нова нотатка',\n            headerBackTitle: 'Закрити',\n          }}\n        \u002F>\n      \u003C\u002FStack>\n    \u003C\u002F>\n  );\n}\n",[3747,7073,7074,7090,7108,7112,7122,7130,7134,7138,7151,7157,7162,7178,7184,7195,7209,7219,7239,7252,7258,7263,7295,7301,7311,7322,7331,7341,7350,7357,7362,7371,7376,7380],{"__ignoreMap":4011},[4160,7075,7076,7078,7080,7082,7084,7086,7088],{"class":4162,"line":4163},[4160,7077,4536],{"class":4535},[4160,7079,4540],{"class":4539},[4160,7081,3757],{"class":4543},[4160,7083,4546],{"class":4539},[4160,7085,4549],{"class":4535},[4160,7087,4553],{"class":4552},[4160,7089,4556],{"class":4539},[4160,7091,7092,7094,7096,7099,7101,7103,7106],{"class":4162,"line":4169},[4160,7093,4536],{"class":4535},[4160,7095,4540],{"class":4539},[4160,7097,7098],{"class":4543},"StatusBar",[4160,7100,4546],{"class":4539},[4160,7102,4549],{"class":4535},[4160,7104,7105],{"class":4552}," 'expo-status-bar'",[4160,7107,4556],{"class":4539},[4160,7109,7110],{"class":4162,"line":4175},[4160,7111,4185],{"emptyLinePlaceholder":4184},[4160,7113,7114,7116,7118,7120],{"class":4162,"line":4181},[4160,7115,4583],{"class":4535},[4160,7117,5150],{"class":4589},[4160,7119,5153],{"class":4607},[4160,7121,5156],{"class":4539},[4160,7123,7124,7126,7128],{"class":4162,"line":4188},[4160,7125,5161],{"class":4543},[4160,7127,5164],{"class":4552},[4160,7129,4690],{"class":4539},[4160,7131,7132],{"class":4162,"line":4194},[4160,7133,5171],{"class":4539},[4160,7135,7136],{"class":4162,"line":4200},[4160,7137,4185],{"emptyLinePlaceholder":4184},[4160,7139,7140,7142,7144,7146,7149],{"class":4162,"line":4206},[4160,7141,4583],{"class":4535},[4160,7143,4586],{"class":4535},[4160,7145,4590],{"class":4589},[4160,7147,7148],{"class":4593}," RootLayout",[4160,7150,4597],{"class":4539},[4160,7152,7153,7155],{"class":4162,"line":4212},[4160,7154,4625],{"class":4535},[4160,7156,4628],{"class":4539},[4160,7158,7159],{"class":4162,"line":4218},[4160,7160,7161],{"class":4633},"    \u003C>\n",[4160,7163,7164,7166,7168,7171,7173,7176],{"class":4162,"line":4224},[4160,7165,4771],{"class":4633},[4160,7167,7098],{"class":4637},[4160,7169,7170],{"class":4643}," style",[4160,7172,4647],{"class":4539},[4160,7174,7175],{"class":4552},"\"dark\"",[4160,7177,4806],{"class":4633},[4160,7179,7180,7182],{"class":4162,"line":4230},[4160,7181,4771],{"class":4633},[4160,7183,4638],{"class":4637},[4160,7185,7186,7189,7191,7193],{"class":4162,"line":4236},[4160,7187,7188],{"class":4643},"        screenOptions",[4160,7190,4647],{"class":4539},[4160,7192,4650],{"class":4589},[4160,7194,4654],{"class":4653},[4160,7196,7197,7200,7202,7204,7207],{"class":4162,"line":4242},[4160,7198,7199],{"class":4543},"          headerStyle:",[4160,7201,4540],{"class":4653},[4160,7203,4664],{"class":4543},[4160,7205,7206],{"class":4552}," '#F8FAFC'",[4160,7208,4675],{"class":4653},[4160,7210,7211,7214,7217],{"class":4162,"line":4248},[4160,7212,7213],{"class":4543},"          headerTintColor:",[4160,7215,7216],{"class":4552}," '#2563EB'",[4160,7218,4690],{"class":4653},[4160,7220,7221,7224,7226,7228,7231,7233,7235,7237],{"class":4162,"line":4254},[4160,7222,7223],{"class":4543},"          headerTitleStyle:",[4160,7225,4540],{"class":4653},[4160,7227,4700],{"class":4543},[4160,7229,7230],{"class":4552}," '#0F172A'",[4160,7232,4055],{"class":4653},[4160,7234,4711],{"class":4543},[4160,7236,4714],{"class":4552},[4160,7238,4675],{"class":4653},[4160,7240,7241,7244,7246,7248,7250],{"class":4162,"line":4259},[4160,7242,7243],{"class":4543},"          contentStyle:",[4160,7245,4540],{"class":4653},[4160,7247,4664],{"class":4543},[4160,7249,7206],{"class":4552},[4160,7251,4675],{"class":4653},[4160,7253,7254,7256],{"class":4162,"line":4265},[4160,7255,4873],{"class":4653},[4160,7257,4251],{"class":4589},[4160,7259,7260],{"class":4162,"line":4271},[4160,7261,7262],{"class":4633},"      >\n",[4160,7264,7265,7268,7270,7272,7274,7277,7279,7281,7283,7285,7287,7289,7291,7293],{"class":4162,"line":4276},[4160,7266,7267],{"class":4633},"        \u003C",[4160,7269,4774],{"class":4637},[4160,7271,4777],{"class":4643},[4160,7273,4647],{"class":4539},[4160,7275,7276],{"class":4552},"\"(tabs)\"",[4160,7278,4785],{"class":4643},[4160,7280,4647],{"class":4539},[4160,7282,4650],{"class":4589},[4160,7284,4792],{"class":4653},[4160,7286,4795],{"class":4543},[4160,7288,4724],{"class":4589},[4160,7290,4800],{"class":4653},[4160,7292,4803],{"class":4589},[4160,7294,4806],{"class":4633},[4160,7296,7297,7299],{"class":4162,"line":4282},[4160,7298,7267],{"class":4633},[4160,7300,4827],{"class":4637},[4160,7302,7303,7306,7308],{"class":4162,"line":4288},[4160,7304,7305],{"class":4643},"          name",[4160,7307,4647],{"class":4539},[4160,7309,7310],{"class":4552},"\"modal\u002Fnew\"\n",[4160,7312,7313,7316,7318,7320],{"class":4162,"line":4294},[4160,7314,7315],{"class":4643},"          options",[4160,7317,4647],{"class":4539},[4160,7319,4650],{"class":4589},[4160,7321,4654],{"class":4653},[4160,7323,7324,7327,7329],{"class":4162,"line":4300},[4160,7325,7326],{"class":4543},"            presentation:",[4160,7328,5049],{"class":4552},[4160,7330,4690],{"class":4653},[4160,7332,7333,7336,7339],{"class":4162,"line":4305},[4160,7334,7335],{"class":4543},"            title:",[4160,7337,7338],{"class":4552}," 'Нова нотатка'",[4160,7340,4690],{"class":4653},[4160,7342,7343,7346,7348],{"class":4162,"line":4311},[4160,7344,7345],{"class":4543},"            headerBackTitle:",[4160,7347,5079],{"class":4552},[4160,7349,4690],{"class":4653},[4160,7351,7352,7355],{"class":4162,"line":4317},[4160,7353,7354],{"class":4653},"          }",[4160,7356,4251],{"class":4589},[4160,7358,7359],{"class":4162,"line":4323},[4160,7360,7361],{"class":4633},"        \u002F>\n",[4160,7363,7364,7367,7369],{"class":4162,"line":4328},[4160,7365,7366],{"class":4633},"      \u003C\u002F",[4160,7368,3757],{"class":4637},[4160,7370,4890],{"class":4633},[4160,7372,7373],{"class":4162,"line":4333},[4160,7374,7375],{"class":4633},"    \u003C\u002F>\n",[4160,7377,7378],{"class":4162,"line":5663},[4160,7379,4895],{"class":4539},[4160,7381,7382],{"class":4162,"line":5676},[4160,7383,4251],{"class":4539},[3872,7385,7387,7388],{"id":7386},"крок-4-apptabs_layouttsx","Крок 4. ",[3747,7389,4114],{},[6354,7391,7393],{"title":7392},"Повний app\u002F(tabs)\u002F_layout.tsx — розгорнути",[4003,7394,7396],{"className":4526,"code":7395,"language":4528,"meta":4011,"style":4011},"import { Tabs } from 'expo-router';\nimport { Ionicons } from '@expo\u002Fvector-icons';\n\nexport default function TabsLayout() {\n  return (\n    \u003CTabs\n      screenOptions={{\n        headerShown: false,\n        tabBarActiveTintColor: '#2563EB',\n        tabBarInactiveTintColor: '#64748B',\n        tabBarStyle: {\n          backgroundColor: '#F8FAFC',\n          borderTopColor: '#E2E8F0',\n        },\n        tabBarLabelStyle: { fontSize: 12, fontWeight: '600' },\n      }}\n    >\n      \u003CTabs.Screen\n        name=\"notes\"\n        options={{\n          title: 'Нотатки',\n          tabBarIcon: ({ color, size }) => (\n            \u003CIonicons name=\"document-text-outline\" size={size} color={color} \u002F>\n          ),\n        }}\n      \u002F>\n      \u003CTabs.Screen\n        name=\"about\"\n        options={{\n          title: 'Про застосунок',\n          tabBarIcon: ({ color, size }) => (\n            \u003CIonicons\n              name=\"information-circle-outline\"\n              size={size}\n              color={color}\n            \u002F>\n          ),\n        }}\n      \u002F>\n    \u003C\u002FTabs>\n  );\n}\n",[3747,7397,7398,7414,7432,7436,7449,7455,7462,7472,7481,7490,7500,7507,7516,7526,7530,7551,7557,7561,7568,7577,7587,7596,7620,7658,7663,7669,7673,7679,7688,7698,7707,7727,7734,7744,7757,7770,7775,7779,7785,7789,7797,7801],{"__ignoreMap":4011},[4160,7399,7400,7402,7404,7406,7408,7410,7412],{"class":4162,"line":4163},[4160,7401,4536],{"class":4535},[4160,7403,4540],{"class":4539},[4160,7405,3761],{"class":4543},[4160,7407,4546],{"class":4539},[4160,7409,4549],{"class":4535},[4160,7411,4553],{"class":4552},[4160,7413,4556],{"class":4539},[4160,7415,7416,7418,7420,7423,7425,7427,7430],{"class":4162,"line":4169},[4160,7417,4536],{"class":4535},[4160,7419,4540],{"class":4539},[4160,7421,7422],{"class":4543},"Ionicons",[4160,7424,4546],{"class":4539},[4160,7426,4549],{"class":4535},[4160,7428,7429],{"class":4552}," '@expo\u002Fvector-icons'",[4160,7431,4556],{"class":4539},[4160,7433,7434],{"class":4162,"line":4175},[4160,7435,4185],{"emptyLinePlaceholder":4184},[4160,7437,7438,7440,7442,7444,7447],{"class":4162,"line":4181},[4160,7439,4583],{"class":4535},[4160,7441,4586],{"class":4535},[4160,7443,4590],{"class":4589},[4160,7445,7446],{"class":4593}," TabsLayout",[4160,7448,4597],{"class":4539},[4160,7450,7451,7453],{"class":4162,"line":4188},[4160,7452,4625],{"class":4535},[4160,7454,4628],{"class":4539},[4160,7456,7457,7459],{"class":4162,"line":4194},[4160,7458,4634],{"class":4633},[4160,7460,7461],{"class":4637},"Tabs\n",[4160,7463,7464,7466,7468,7470],{"class":4162,"line":4200},[4160,7465,4644],{"class":4643},[4160,7467,4647],{"class":4539},[4160,7469,4650],{"class":4589},[4160,7471,4654],{"class":4653},[4160,7473,7474,7477,7479],{"class":4162,"line":4206},[4160,7475,7476],{"class":4543},"        headerShown:",[4160,7478,4724],{"class":4589},[4160,7480,4690],{"class":4653},[4160,7482,7483,7486,7488],{"class":4162,"line":4212},[4160,7484,7485],{"class":4543},"        tabBarActiveTintColor:",[4160,7487,7216],{"class":4552},[4160,7489,4690],{"class":4653},[4160,7491,7492,7495,7498],{"class":4162,"line":4218},[4160,7493,7494],{"class":4543},"        tabBarInactiveTintColor:",[4160,7496,7497],{"class":4552}," '#64748B'",[4160,7499,4690],{"class":4653},[4160,7501,7502,7505],{"class":4162,"line":4224},[4160,7503,7504],{"class":4543},"        tabBarStyle:",[4160,7506,5517],{"class":4653},[4160,7508,7509,7512,7514],{"class":4162,"line":4230},[4160,7510,7511],{"class":4543},"          backgroundColor:",[4160,7513,7206],{"class":4552},[4160,7515,4690],{"class":4653},[4160,7517,7518,7521,7524],{"class":4162,"line":4236},[4160,7519,7520],{"class":4543},"          borderTopColor:",[4160,7522,7523],{"class":4552}," '#E2E8F0'",[4160,7525,4690],{"class":4653},[4160,7527,7528],{"class":4162,"line":4242},[4160,7529,5641],{"class":4653},[4160,7531,7532,7535,7537,7540,7543,7545,7547,7549],{"class":4162,"line":4248},[4160,7533,7534],{"class":4543},"        tabBarLabelStyle:",[4160,7536,4540],{"class":4653},[4160,7538,7539],{"class":4543},"fontSize:",[4160,7541,7542],{"class":5485}," 12",[4160,7544,4055],{"class":4653},[4160,7546,4711],{"class":4543},[4160,7548,4714],{"class":4552},[4160,7550,4675],{"class":4653},[4160,7552,7553,7555],{"class":4162,"line":4254},[4160,7554,4748],{"class":4653},[4160,7556,4251],{"class":4589},[4160,7558,7559],{"class":4162,"line":4259},[4160,7560,4755],{"class":4633},[4160,7562,7563,7565],{"class":4162,"line":4265},[4160,7564,4771],{"class":4633},[4160,7566,7567],{"class":4637},"Tabs.Screen\n",[4160,7569,7570,7572,7574],{"class":4162,"line":4271},[4160,7571,4832],{"class":4643},[4160,7573,4647],{"class":4539},[4160,7575,7576],{"class":4552},"\"notes\"\n",[4160,7578,7579,7581,7583,7585],{"class":4162,"line":4276},[4160,7580,4842],{"class":4643},[4160,7582,4647],{"class":4539},[4160,7584,4650],{"class":4589},[4160,7586,4654],{"class":4653},[4160,7588,7589,7591,7594],{"class":4162,"line":4282},[4160,7590,4853],{"class":4543},[4160,7592,7593],{"class":4552}," 'Нотатки'",[4160,7595,4690],{"class":4653},[4160,7597,7598,7601,7603,7606,7609,7611,7614,7616,7618],{"class":4162,"line":4288},[4160,7599,7600],{"class":4593},"          tabBarIcon",[4160,7602,3821],{"class":4543},[4160,7604,7605],{"class":4653}," ({ ",[4160,7607,7608],{"class":4543},"color",[4160,7610,4055],{"class":4653},[4160,7612,7613],{"class":4543},"size",[4160,7615,5511],{"class":4653},[4160,7617,5514],{"class":4589},[4160,7619,4628],{"class":4653},[4160,7621,7622,7625,7627,7629,7631,7634,7637,7639,7641,7643,7645,7648,7650,7652,7654,7656],{"class":4162,"line":4294},[4160,7623,7624],{"class":4633},"            \u003C",[4160,7626,7422],{"class":4637},[4160,7628,4777],{"class":4643},[4160,7630,4647],{"class":4539},[4160,7632,7633],{"class":4552},"\"document-text-outline\"",[4160,7635,7636],{"class":4643}," size",[4160,7638,4647],{"class":4539},[4160,7640,4650],{"class":4589},[4160,7642,7613],{"class":4543},[4160,7644,4803],{"class":4589},[4160,7646,7647],{"class":4643}," color",[4160,7649,4647],{"class":4539},[4160,7651,4650],{"class":4589},[4160,7653,7608],{"class":4543},[4160,7655,4803],{"class":4589},[4160,7657,4806],{"class":4633},[4160,7659,7660],{"class":4162,"line":4300},[4160,7661,7662],{"class":4653},"          ),\n",[4160,7664,7665,7667],{"class":4162,"line":4305},[4160,7666,4873],{"class":4653},[4160,7668,4251],{"class":4589},[4160,7670,7671],{"class":4162,"line":4311},[4160,7672,4880],{"class":4633},[4160,7674,7675,7677],{"class":4162,"line":4317},[4160,7676,4771],{"class":4633},[4160,7678,7567],{"class":4637},[4160,7680,7681,7683,7685],{"class":4162,"line":4323},[4160,7682,4832],{"class":4643},[4160,7684,4647],{"class":4539},[4160,7686,7687],{"class":4552},"\"about\"\n",[4160,7689,7690,7692,7694,7696],{"class":4162,"line":4328},[4160,7691,4842],{"class":4643},[4160,7693,4647],{"class":4539},[4160,7695,4650],{"class":4589},[4160,7697,4654],{"class":4653},[4160,7699,7700,7702,7705],{"class":4162,"line":4333},[4160,7701,4853],{"class":4543},[4160,7703,7704],{"class":4552}," 'Про застосунок'",[4160,7706,4690],{"class":4653},[4160,7708,7709,7711,7713,7715,7717,7719,7721,7723,7725],{"class":4162,"line":5663},[4160,7710,7600],{"class":4593},[4160,7712,3821],{"class":4543},[4160,7714,7605],{"class":4653},[4160,7716,7608],{"class":4543},[4160,7718,4055],{"class":4653},[4160,7720,7613],{"class":4543},[4160,7722,5511],{"class":4653},[4160,7724,5514],{"class":4589},[4160,7726,4628],{"class":4653},[4160,7728,7729,7731],{"class":4162,"line":5676},[4160,7730,7624],{"class":4633},[4160,7732,7733],{"class":4637},"Ionicons\n",[4160,7735,7736,7739,7741],{"class":4162,"line":6728},[4160,7737,7738],{"class":4643},"              name",[4160,7740,4647],{"class":4539},[4160,7742,7743],{"class":4552},"\"information-circle-outline\"\n",[4160,7745,7746,7749,7751,7753,7755],{"class":4162,"line":6733},[4160,7747,7748],{"class":4643},"              size",[4160,7750,4647],{"class":4539},[4160,7752,4650],{"class":4589},[4160,7754,7613],{"class":4543},[4160,7756,4251],{"class":4589},[4160,7758,7759,7762,7764,7766,7768],{"class":4162,"line":6738},[4160,7760,7761],{"class":4643},"              color",[4160,7763,4647],{"class":4539},[4160,7765,4650],{"class":4589},[4160,7767,7608],{"class":4543},[4160,7769,4251],{"class":4589},[4160,7771,7772],{"class":4162,"line":6768},[4160,7773,7774],{"class":4633},"            \u002F>\n",[4160,7776,7777],{"class":4162,"line":6803},[4160,7778,7662],{"class":4653},[4160,7780,7781,7783],{"class":4162,"line":6808},[4160,7782,4873],{"class":4653},[4160,7784,4251],{"class":4589},[4160,7786,7787],{"class":4162,"line":6813},[4160,7788,4880],{"class":4633},[4160,7790,7791,7793,7795],{"class":4162,"line":6847},[4160,7792,4885],{"class":4633},[4160,7794,3761],{"class":4637},[4160,7796,4890],{"class":4633},[4160,7798,7799],{"class":4162,"line":6861},[4160,7800,4895],{"class":4539},[4160,7802,7803],{"class":4162,"line":6881},[4160,7804,4251],{"class":4539},[3872,7806,7808,7809],{"id":7807},"крок-5-nested-stack-apptabsnotes_layouttsx","Крок 5. Nested stack — ",[3747,7810,7811],{},"app\u002F(tabs)\u002Fnotes\u002F_layout.tsx",[6354,7813,7815],{"title":7814},"Повний app\u002F(tabs)\u002Fnotes\u002F_layout.tsx — розгорнути",[4003,7816,7818],{"className":4526,"code":7817,"language":4528,"meta":4011,"style":4011},"import { Stack } from 'expo-router';\n\nexport default function NotesStackLayout() {\n  return (\n    \u003CStack\n      screenOptions={{\n        headerStyle: { backgroundColor: '#F8FAFC' },\n        headerTintColor: '#2563EB',\n        headerTitleStyle: { color: '#0F172A', fontWeight: '600' },\n      }}\n    >\n      \u003CStack.Screen name=\"index\" options={{ headerShown: false }} \u002F>\n      \u003CStack.Screen\n        name=\"[id]\"\n        options={{ title: 'Нотатка', headerBackTitle: 'Список' }}\n      \u002F>\n    \u003C\u002FStack>\n  );\n}\n",[3747,7819,7820,7836,7840,7853,7859,7865,7875,7887,7895,7913,7919,7923,7953,7959,7967,7994,7998,8006,8010],{"__ignoreMap":4011},[4160,7821,7822,7824,7826,7828,7830,7832,7834],{"class":4162,"line":4163},[4160,7823,4536],{"class":4535},[4160,7825,4540],{"class":4539},[4160,7827,3757],{"class":4543},[4160,7829,4546],{"class":4539},[4160,7831,4549],{"class":4535},[4160,7833,4553],{"class":4552},[4160,7835,4556],{"class":4539},[4160,7837,7838],{"class":4162,"line":4169},[4160,7839,4185],{"emptyLinePlaceholder":4184},[4160,7841,7842,7844,7846,7848,7851],{"class":4162,"line":4175},[4160,7843,4583],{"class":4535},[4160,7845,4586],{"class":4535},[4160,7847,4590],{"class":4589},[4160,7849,7850],{"class":4593}," NotesStackLayout",[4160,7852,4597],{"class":4539},[4160,7854,7855,7857],{"class":4162,"line":4181},[4160,7856,4625],{"class":4535},[4160,7858,4628],{"class":4539},[4160,7860,7861,7863],{"class":4162,"line":4188},[4160,7862,4634],{"class":4633},[4160,7864,4638],{"class":4637},[4160,7866,7867,7869,7871,7873],{"class":4162,"line":4194},[4160,7868,4644],{"class":4643},[4160,7870,4647],{"class":4539},[4160,7872,4650],{"class":4589},[4160,7874,4654],{"class":4653},[4160,7876,7877,7879,7881,7883,7885],{"class":4162,"line":4200},[4160,7878,4659],{"class":4543},[4160,7880,4540],{"class":4653},[4160,7882,4664],{"class":4543},[4160,7884,7206],{"class":4552},[4160,7886,4675],{"class":4653},[4160,7888,7889,7891,7893],{"class":4162,"line":4206},[4160,7890,4680],{"class":4543},[4160,7892,7216],{"class":4552},[4160,7894,4690],{"class":4653},[4160,7896,7897,7899,7901,7903,7905,7907,7909,7911],{"class":4162,"line":4212},[4160,7898,4695],{"class":4543},[4160,7900,4540],{"class":4653},[4160,7902,4700],{"class":4543},[4160,7904,7230],{"class":4552},[4160,7906,4055],{"class":4653},[4160,7908,4711],{"class":4543},[4160,7910,4714],{"class":4552},[4160,7912,4675],{"class":4653},[4160,7914,7915,7917],{"class":4162,"line":4218},[4160,7916,4748],{"class":4653},[4160,7918,4251],{"class":4589},[4160,7920,7921],{"class":4162,"line":4224},[4160,7922,4755],{"class":4633},[4160,7924,7925,7927,7929,7931,7933,7935,7937,7939,7941,7943,7945,7947,7949,7951],{"class":4162,"line":4230},[4160,7926,4771],{"class":4633},[4160,7928,4774],{"class":4637},[4160,7930,4777],{"class":4643},[4160,7932,4647],{"class":4539},[4160,7934,4782],{"class":4552},[4160,7936,4785],{"class":4643},[4160,7938,4647],{"class":4539},[4160,7940,4650],{"class":4589},[4160,7942,4792],{"class":4653},[4160,7944,4795],{"class":4543},[4160,7946,4724],{"class":4589},[4160,7948,4800],{"class":4653},[4160,7950,4803],{"class":4589},[4160,7952,4806],{"class":4633},[4160,7954,7955,7957],{"class":4162,"line":4236},[4160,7956,4771],{"class":4633},[4160,7958,4827],{"class":4637},[4160,7960,7961,7963,7965],{"class":4162,"line":4242},[4160,7962,4832],{"class":4643},[4160,7964,4647],{"class":4539},[4160,7966,4837],{"class":4552},[4160,7968,7969,7971,7973,7975,7977,7980,7983,7985,7988,7990,7992],{"class":4162,"line":4248},[4160,7970,4842],{"class":4643},[4160,7972,4647],{"class":4539},[4160,7974,4650],{"class":4589},[4160,7976,4792],{"class":4653},[4160,7978,7979],{"class":4543},"title:",[4160,7981,7982],{"class":4552}," 'Нотатка'",[4160,7984,4055],{"class":4653},[4160,7986,7987],{"class":4543},"headerBackTitle:",[4160,7989,4866],{"class":4552},[4160,7991,4800],{"class":4653},[4160,7993,4251],{"class":4589},[4160,7995,7996],{"class":4162,"line":4254},[4160,7997,4880],{"class":4633},[4160,7999,8000,8002,8004],{"class":4162,"line":4259},[4160,8001,4885],{"class":4633},[4160,8003,3757],{"class":4637},[4160,8005,4890],{"class":4633},[4160,8007,8008],{"class":4162,"line":4265},[4160,8009,4895],{"class":4539},[4160,8011,8012],{"class":4162,"line":4271},[4160,8013,4251],{"class":4539},[3872,8015,8017,8018],{"id":8016},"крок-6-список-apptabsnotesindextsx","Крок 6. Список — ",[3747,8019,8020],{},"app\u002F(tabs)\u002Fnotes\u002Findex.tsx",[6354,8022,8024],{"title":8023},"Повний app\u002F(tabs)\u002Fnotes\u002Findex.tsx — розгорнути",[4003,8025,8027],{"className":4526,"code":8026,"language":4528,"meta":4011,"style":4011},"import { useEffect, useState } from 'react';\nimport {\n  FlatList,\n  Pressable,\n  StyleSheet,\n  Text,\n  View,\n} from 'react-native';\nimport { Link, useRouter } from 'expo-router';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nimport { getNotes, subscribe, type Note } from '..\u002F..\u002F..\u002Fsrc\u002Fdata\u002FnotesStore';\n\nexport default function NotesListScreen() {\n  const [notes, setNotes] = useState\u003CNote[]>(() => getNotes());\n  const router = useRouter();\n\n  useEffect(() => subscribe(() => setNotes(getNotes())), []);\n\n  return (\n    \u003CSafeAreaView style={styles.safe} edges={['top']}>\n      \u003CView style={styles.header}>\n        \u003CText style={styles.title}>Нотатки\u003C\u002FText>\n        \u003CText style={styles.muted}>\n          Nested Stack · modal · guard · {notes.length}\n        \u003C\u002FText>\n      \u003C\u002FView>\n\n      \u003CFlatList\n        data={notes}\n        keyExtractor={(item) => item.id}\n        contentContainerStyle={styles.list}\n        ItemSeparatorComponent={() => \u003CView style={{ height: 10 }} \u002F>}\n        ListEmptyComponent={\n          \u003CText style={styles.muted}>Порожньо. Створіть першу нотатку.\u003C\u002FText>\n        }\n        renderItem={({ item }) => (\n          \u003CLink href={`\u002Fnotes\u002F${item.id}`} asChild>\n            \u003CPressable style={styles.card}>\n              \u003CText style={styles.cardTitle}>{item.title}\u003C\u002FText>\n              \u003CText style={styles.cardBody} numberOfLines={2}>\n                {item.body || 'Без тексту'}\n              \u003C\u002FText>\n            \u003C\u002FPressable>\n          \u003C\u002FLink>\n        )}\n      \u002F>\n\n      \u003CView style={styles.footer}>\n        \u003CPressable\n          style={styles.btn}\n          onPress={() => router.push('\u002Fmodal\u002Fnew')}\n        >\n          \u003CText style={styles.btnText}>Нова нотатка (modal)\u003C\u002FText>\n        \u003C\u002FPressable>\n      \u003C\u002FView>\n    \u003C\u002FSafeAreaView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  safe: { flex: 1, backgroundColor: '#F8FAFC' },\n  header: {\n    paddingHorizontal: 16,\n    paddingTop: 8,\n    paddingBottom: 12,\n    borderBottomWidth: 1,\n    borderBottomColor: '#E2E8F0',\n  },\n  title: { fontSize: 24, fontWeight: '800', color: '#0F172A' },\n  muted: { marginTop: 4, color: '#64748B', fontSize: 13 },\n  list: { padding: 16, paddingBottom: 24, flexGrow: 1 },\n  card: {\n    backgroundColor: '#fff',\n    borderRadius: 12,\n    borderWidth: 1,\n    borderColor: '#E2E8F0',\n    padding: 14,\n  },\n  cardTitle: { fontSize: 17, fontWeight: '700', color: '#0F172A' },\n  cardBody: { marginTop: 6, color: '#64748B', fontSize: 14 },\n  footer: {\n    padding: 16,\n    borderTopWidth: 1,\n    borderTopColor: '#E2E8F0',\n  },\n  btn: {\n    backgroundColor: '#2563EB',\n    paddingVertical: 14,\n    borderRadius: 12,\n    alignItems: 'center',\n  },\n  btnText: { color: '#fff', fontWeight: '800' },\n});\n",[3747,8028,8029,8050,8056,8063,8070,8077,8084,8091,8102,8122,8140,8144,8173,8177,8190,8220,8233,8237,8263,8267,8273,8314,8338,8372,8395,8410,8419,8427,8431,8438,8451,8478,8496,8536,8545,8577,8582,8602,8638,8662,8702,8737,8756,8765,8774,8783,8790,8794,8798,8821,8828,8846,8873,8878,8910,8918,8926,8935,8940,8945,8950,8971,8993,9001,9012,9023,9033,9043,9053,9058,9086,9115,9144,9152,9163,9173,9183,9193,9204,9209,9237,9264,9272,9281,9291,9301,9306,9314,9323,9333,9342,9353,9358,9378],{"__ignoreMap":4011},[4160,8030,8031,8033,8035,8038,8040,8042,8044,8046,8048],{"class":4162,"line":4163},[4160,8032,4536],{"class":4535},[4160,8034,4540],{"class":4539},[4160,8036,8037],{"class":4543},"useEffect",[4160,8039,4055],{"class":4539},[4160,8041,5300],{"class":4543},[4160,8043,4546],{"class":4539},[4160,8045,4549],{"class":4535},[4160,8047,5307],{"class":4552},[4160,8049,4556],{"class":4539},[4160,8051,8052,8054],{"class":4162,"line":4169},[4160,8053,4536],{"class":4535},[4160,8055,5517],{"class":4539},[4160,8057,8058,8061],{"class":4162,"line":4175},[4160,8059,8060],{"class":4543},"  FlatList",[4160,8062,4690],{"class":4539},[4160,8064,8065,8068],{"class":4162,"line":4181},[4160,8066,8067],{"class":4543},"  Pressable",[4160,8069,4690],{"class":4539},[4160,8071,8072,8075],{"class":4162,"line":4188},[4160,8073,8074],{"class":4543},"  StyleSheet",[4160,8076,4690],{"class":4539},[4160,8078,8079,8082],{"class":4162,"line":4194},[4160,8080,8081],{"class":4543},"  Text",[4160,8083,4690],{"class":4539},[4160,8085,8086,8089],{"class":4162,"line":4200},[4160,8087,8088],{"class":4543},"  View",[4160,8090,4690],{"class":4539},[4160,8092,8093,8096,8098,8100],{"class":4162,"line":4206},[4160,8094,8095],{"class":4539},"} ",[4160,8097,4549],{"class":4535},[4160,8099,5324],{"class":4552},[4160,8101,4556],{"class":4539},[4160,8103,8104,8106,8108,8110,8112,8114,8116,8118,8120],{"class":4162,"line":4212},[4160,8105,4536],{"class":4535},[4160,8107,4540],{"class":4539},[4160,8109,3769],{"class":4543},[4160,8111,4055],{"class":4539},[4160,8113,3772],{"class":4543},[4160,8115,4546],{"class":4539},[4160,8117,4549],{"class":4535},[4160,8119,4553],{"class":4552},[4160,8121,4556],{"class":4539},[4160,8123,8124,8126,8128,8131,8133,8135,8138],{"class":4162,"line":4218},[4160,8125,4536],{"class":4535},[4160,8127,4540],{"class":4539},[4160,8129,8130],{"class":4543},"SafeAreaView",[4160,8132,4546],{"class":4539},[4160,8134,4549],{"class":4535},[4160,8136,8137],{"class":4552}," 'react-native-safe-area-context'",[4160,8139,4556],{"class":4539},[4160,8141,8142],{"class":4162,"line":4224},[4160,8143,4185],{"emptyLinePlaceholder":4184},[4160,8145,8146,8148,8150,8153,8155,8158,8160,8162,8164,8166,8168,8171],{"class":4162,"line":4230},[4160,8147,4536],{"class":4535},[4160,8149,4540],{"class":4539},[4160,8151,8152],{"class":4543},"getNotes",[4160,8154,4055],{"class":4539},[4160,8156,8157],{"class":4543},"subscribe",[4160,8159,4055],{"class":4539},[4160,8161,6433],{"class":4535},[4160,8163,6373],{"class":4543},[4160,8165,4546],{"class":4539},[4160,8167,4549],{"class":4535},[4160,8169,8170],{"class":4552}," '..\u002F..\u002F..\u002Fsrc\u002Fdata\u002FnotesStore'",[4160,8172,4556],{"class":4539},[4160,8174,8175],{"class":4162,"line":4236},[4160,8176,4185],{"emptyLinePlaceholder":4184},[4160,8178,8179,8181,8183,8185,8188],{"class":4162,"line":4242},[4160,8180,4583],{"class":4535},[4160,8182,4586],{"class":4535},[4160,8184,4590],{"class":4589},[4160,8186,8187],{"class":4593}," NotesListScreen",[4160,8189,4597],{"class":4539},[4160,8191,8192,8194,8196,8198,8200,8203,8205,8207,8209,8211,8214,8216,8218],{"class":4162,"line":4248},[4160,8193,4602],{"class":4589},[4160,8195,5396],{"class":4539},[4160,8197,6687],{"class":4607},[4160,8199,4055],{"class":4539},[4160,8201,8202],{"class":4607},"setNotes",[4160,8204,5406],{"class":4539},[4160,8206,5300],{"class":4593},[4160,8208,5018],{"class":4539},[4160,8210,6463],{"class":4637},[4160,8212,8213],{"class":4539},"[]>(() ",[4160,8215,5514],{"class":4589},[4160,8217,6669],{"class":4593},[4160,8219,6652],{"class":4539},[4160,8221,8222,8224,8227,8229,8231],{"class":4162,"line":4254},[4160,8223,4602],{"class":4589},[4160,8225,8226],{"class":4607}," router",[4160,8228,5385],{"class":4539},[4160,8230,3772],{"class":4593},[4160,8232,4616],{"class":4539},[4160,8234,8235],{"class":4162,"line":4259},[4160,8236,4185],{"emptyLinePlaceholder":4184},[4160,8238,8239,8242,8245,8247,8249,8251,8253,8256,8258,8260],{"class":4162,"line":4265},[4160,8240,8241],{"class":4593},"  useEffect",[4160,8243,8244],{"class":4539},"(() ",[4160,8246,5514],{"class":4589},[4160,8248,6987],{"class":4593},[4160,8250,8244],{"class":4539},[4160,8252,5514],{"class":4589},[4160,8254,8255],{"class":4593}," setNotes",[4160,8257,5411],{"class":4539},[4160,8259,8152],{"class":4593},[4160,8261,8262],{"class":4539},"())), []);\n",[4160,8264,8265],{"class":4162,"line":4271},[4160,8266,4185],{"emptyLinePlaceholder":4184},[4160,8268,8269,8271],{"class":4162,"line":4276},[4160,8270,4625],{"class":4535},[4160,8272,4628],{"class":4539},[4160,8274,8275,8277,8279,8281,8283,8285,8288,8290,8293,8295,8298,8300,8302,8304,8307,8310,8312],{"class":4162,"line":4282},[4160,8276,4634],{"class":4633},[4160,8278,8130],{"class":4637},[4160,8280,7170],{"class":4643},[4160,8282,4647],{"class":4539},[4160,8284,4650],{"class":4589},[4160,8286,8287],{"class":4543},"styles",[4160,8289,3840],{"class":4653},[4160,8291,8292],{"class":4543},"safe",[4160,8294,4803],{"class":4589},[4160,8296,8297],{"class":4643}," edges",[4160,8299,4647],{"class":4539},[4160,8301,4650],{"class":4589},[4160,8303,5859],{"class":4653},[4160,8305,8306],{"class":4552},"'top'",[4160,8308,8309],{"class":4653},"]",[4160,8311,4803],{"class":4589},[4160,8313,4890],{"class":4633},[4160,8315,8316,8318,8321,8323,8325,8327,8329,8331,8334,8336],{"class":4162,"line":4288},[4160,8317,4771],{"class":4633},[4160,8319,8320],{"class":4637},"View",[4160,8322,7170],{"class":4643},[4160,8324,4647],{"class":4539},[4160,8326,4650],{"class":4589},[4160,8328,8287],{"class":4543},[4160,8330,3840],{"class":4653},[4160,8332,8333],{"class":4543},"header",[4160,8335,4803],{"class":4589},[4160,8337,4890],{"class":4633},[4160,8339,8340,8342,8345,8347,8349,8351,8353,8355,8357,8359,8362,8365,8368,8370],{"class":4162,"line":4294},[4160,8341,7267],{"class":4633},[4160,8343,8344],{"class":4637},"Text",[4160,8346,7170],{"class":4643},[4160,8348,4647],{"class":4539},[4160,8350,4650],{"class":4589},[4160,8352,8287],{"class":4543},[4160,8354,3840],{"class":4653},[4160,8356,6825],{"class":4543},[4160,8358,4803],{"class":4589},[4160,8360,8361],{"class":4633},">",[4160,8363,8364],{"class":4539},"Нотатки",[4160,8366,8367],{"class":4633},"\u003C\u002F",[4160,8369,8344],{"class":4637},[4160,8371,4890],{"class":4633},[4160,8373,8374,8376,8378,8380,8382,8384,8386,8388,8391,8393],{"class":4162,"line":4300},[4160,8375,7267],{"class":4633},[4160,8377,8344],{"class":4637},[4160,8379,7170],{"class":4643},[4160,8381,4647],{"class":4539},[4160,8383,4650],{"class":4589},[4160,8385,8287],{"class":4543},[4160,8387,3840],{"class":4653},[4160,8389,8390],{"class":4543},"muted",[4160,8392,4803],{"class":4589},[4160,8394,4890],{"class":4633},[4160,8396,8397,8400,8402,8404,8406,8408],{"class":4162,"line":4305},[4160,8398,8399],{"class":4539},"          Nested Stack · modal · guard · ",[4160,8401,4650],{"class":4589},[4160,8403,6687],{"class":4543},[4160,8405,3840],{"class":4653},[4160,8407,5479],{"class":4543},[4160,8409,4251],{"class":4589},[4160,8411,8412,8415,8417],{"class":4162,"line":4311},[4160,8413,8414],{"class":4633},"        \u003C\u002F",[4160,8416,8344],{"class":4637},[4160,8418,4890],{"class":4633},[4160,8420,8421,8423,8425],{"class":4162,"line":4317},[4160,8422,7366],{"class":4633},[4160,8424,8320],{"class":4637},[4160,8426,4890],{"class":4633},[4160,8428,8429],{"class":4162,"line":4323},[4160,8430,4185],{"emptyLinePlaceholder":4184},[4160,8432,8433,8435],{"class":4162,"line":4328},[4160,8434,4771],{"class":4633},[4160,8436,8437],{"class":4637},"FlatList\n",[4160,8439,8440,8443,8445,8447,8449],{"class":4162,"line":4333},[4160,8441,8442],{"class":4643},"        data",[4160,8444,4647],{"class":4539},[4160,8446,4650],{"class":4589},[4160,8448,6687],{"class":4543},[4160,8450,4251],{"class":4589},[4160,8452,8453,8456,8458,8460,8462,8465,8467,8469,8472,8474,8476],{"class":4162,"line":5663},[4160,8454,8455],{"class":4643},"        keyExtractor",[4160,8457,4647],{"class":4539},[4160,8459,4650],{"class":4589},[4160,8461,5411],{"class":4653},[4160,8463,8464],{"class":4543},"item",[4160,8466,6644],{"class":4653},[4160,8468,5514],{"class":4589},[4160,8470,8471],{"class":4543}," item",[4160,8473,3840],{"class":4653},[4160,8475,5802],{"class":4543},[4160,8477,4251],{"class":4589},[4160,8479,8480,8483,8485,8487,8489,8491,8494],{"class":4162,"line":5676},[4160,8481,8482],{"class":4643},"        contentContainerStyle",[4160,8484,4647],{"class":4539},[4160,8486,4650],{"class":4589},[4160,8488,8287],{"class":4543},[4160,8490,3840],{"class":4653},[4160,8492,8493],{"class":4543},"list",[4160,8495,4251],{"class":4589},[4160,8497,8498,8501,8503,8505,8508,8510,8512,8514,8516,8518,8520,8522,8525,8528,8530,8532,8534],{"class":4162,"line":6728},[4160,8499,8500],{"class":4643},"        ItemSeparatorComponent",[4160,8502,4647],{"class":4539},[4160,8504,4650],{"class":4589},[4160,8506,8507],{"class":4653},"() ",[4160,8509,5514],{"class":4589},[4160,8511,5923],{"class":4633},[4160,8513,8320],{"class":4637},[4160,8515,7170],{"class":4643},[4160,8517,4647],{"class":4539},[4160,8519,4650],{"class":4589},[4160,8521,4792],{"class":4653},[4160,8523,8524],{"class":4543},"height:",[4160,8526,8527],{"class":5485}," 10",[4160,8529,4800],{"class":4653},[4160,8531,4803],{"class":4589},[4160,8533,5951],{"class":4633},[4160,8535,4251],{"class":4589},[4160,8537,8538,8541,8543],{"class":4162,"line":6733},[4160,8539,8540],{"class":4643},"        ListEmptyComponent",[4160,8542,4647],{"class":4539},[4160,8544,4654],{"class":4589},[4160,8546,8547,8550,8552,8554,8556,8558,8560,8562,8564,8566,8568,8571,8573,8575],{"class":4162,"line":6738},[4160,8548,8549],{"class":4633},"          \u003C",[4160,8551,8344],{"class":4637},[4160,8553,7170],{"class":4643},[4160,8555,4647],{"class":4539},[4160,8557,4650],{"class":4589},[4160,8559,8287],{"class":4543},[4160,8561,3840],{"class":4653},[4160,8563,8390],{"class":4543},[4160,8565,4803],{"class":4589},[4160,8567,8361],{"class":4633},[4160,8569,8570],{"class":4653},"Порожньо. Створіть першу нотатку.",[4160,8572,8367],{"class":4633},[4160,8574,8344],{"class":4637},[4160,8576,4890],{"class":4633},[4160,8578,8579],{"class":4162,"line":6768},[4160,8580,8581],{"class":4589},"        }\n",[4160,8583,8584,8587,8589,8591,8594,8596,8598,8600],{"class":4162,"line":6803},[4160,8585,8586],{"class":4643},"        renderItem",[4160,8588,4647],{"class":4539},[4160,8590,4650],{"class":4589},[4160,8592,8593],{"class":4653},"({ ",[4160,8595,8464],{"class":4543},[4160,8597,5511],{"class":4653},[4160,8599,5514],{"class":4589},[4160,8601,4628],{"class":4653},[4160,8603,8604,8606,8608,8611,8613,8615,8618,8620,8622,8624,8626,8628,8631,8633,8636],{"class":4162,"line":6808},[4160,8605,8549],{"class":4633},[4160,8607,3769],{"class":4637},[4160,8609,8610],{"class":4643}," href",[4160,8612,4647],{"class":4539},[4160,8614,4650],{"class":4589},[4160,8616,8617],{"class":4552},"`\u002Fnotes\u002F",[4160,8619,5939],{"class":4589},[4160,8621,8464],{"class":4543},[4160,8623,3840],{"class":4653},[4160,8625,5802],{"class":4543},[4160,8627,4803],{"class":4589},[4160,8629,8630],{"class":4552},"`",[4160,8632,4803],{"class":4589},[4160,8634,8635],{"class":4643}," asChild",[4160,8637,4890],{"class":4633},[4160,8639,8640,8642,8645,8647,8649,8651,8653,8655,8658,8660],{"class":4162,"line":6813},[4160,8641,7624],{"class":4633},[4160,8643,8644],{"class":4637},"Pressable",[4160,8646,7170],{"class":4643},[4160,8648,4647],{"class":4539},[4160,8650,4650],{"class":4589},[4160,8652,8287],{"class":4543},[4160,8654,3840],{"class":4653},[4160,8656,8657],{"class":4543},"card",[4160,8659,4803],{"class":4589},[4160,8661,4890],{"class":4633},[4160,8663,8664,8667,8669,8671,8673,8675,8677,8679,8682,8684,8686,8688,8690,8692,8694,8696,8698,8700],{"class":4162,"line":6847},[4160,8665,8666],{"class":4633},"              \u003C",[4160,8668,8344],{"class":4637},[4160,8670,7170],{"class":4643},[4160,8672,4647],{"class":4539},[4160,8674,4650],{"class":4589},[4160,8676,8287],{"class":4543},[4160,8678,3840],{"class":4653},[4160,8680,8681],{"class":4543},"cardTitle",[4160,8683,4803],{"class":4589},[4160,8685,8361],{"class":4633},[4160,8687,4650],{"class":4589},[4160,8689,8464],{"class":4543},[4160,8691,3840],{"class":4653},[4160,8693,6825],{"class":4543},[4160,8695,4803],{"class":4589},[4160,8697,8367],{"class":4633},[4160,8699,8344],{"class":4637},[4160,8701,4890],{"class":4633},[4160,8703,8704,8706,8708,8710,8712,8714,8716,8718,8721,8723,8726,8728,8730,8733,8735],{"class":4162,"line":6861},[4160,8705,8666],{"class":4633},[4160,8707,8344],{"class":4637},[4160,8709,7170],{"class":4643},[4160,8711,4647],{"class":4539},[4160,8713,4650],{"class":4589},[4160,8715,8287],{"class":4543},[4160,8717,3840],{"class":4653},[4160,8719,8720],{"class":4543},"cardBody",[4160,8722,4803],{"class":4589},[4160,8724,8725],{"class":4643}," numberOfLines",[4160,8727,4647],{"class":4539},[4160,8729,4650],{"class":4589},[4160,8731,8732],{"class":5485},"2",[4160,8734,4803],{"class":4589},[4160,8736,4890],{"class":4633},[4160,8738,8739,8742,8744,8746,8748,8751,8754],{"class":4162,"line":6881},[4160,8740,8741],{"class":4589},"                {",[4160,8743,8464],{"class":4543},[4160,8745,3840],{"class":4653},[4160,8747,6834],{"class":4543},[4160,8749,8750],{"class":4539}," ||",[4160,8752,8753],{"class":4552}," 'Без тексту'",[4160,8755,4251],{"class":4589},[4160,8757,8758,8761,8763],{"class":4162,"line":6901},[4160,8759,8760],{"class":4633},"              \u003C\u002F",[4160,8762,8344],{"class":4637},[4160,8764,4890],{"class":4633},[4160,8766,8767,8770,8772],{"class":4162,"line":6916},[4160,8768,8769],{"class":4633},"            \u003C\u002F",[4160,8771,8644],{"class":4637},[4160,8773,4890],{"class":4633},[4160,8775,8776,8779,8781],{"class":4162,"line":6929},[4160,8777,8778],{"class":4633},"          \u003C\u002F",[4160,8780,3769],{"class":4637},[4160,8782,4890],{"class":4633},[4160,8784,8785,8788],{"class":4162,"line":6935},[4160,8786,8787],{"class":4653},"        )",[4160,8789,4251],{"class":4589},[4160,8791,8792],{"class":4162,"line":6953},[4160,8793,4880],{"class":4633},[4160,8795,8796],{"class":4162,"line":6961},[4160,8797,4185],{"emptyLinePlaceholder":4184},[4160,8799,8800,8802,8804,8806,8808,8810,8812,8814,8817,8819],{"class":4162,"line":6970},[4160,8801,4771],{"class":4633},[4160,8803,8320],{"class":4637},[4160,8805,7170],{"class":4643},[4160,8807,4647],{"class":4539},[4160,8809,4650],{"class":4589},[4160,8811,8287],{"class":4543},[4160,8813,3840],{"class":4653},[4160,8815,8816],{"class":4543},"footer",[4160,8818,4803],{"class":4589},[4160,8820,4890],{"class":4633},[4160,8822,8823,8825],{"class":4162,"line":6975},[4160,8824,7267],{"class":4633},[4160,8826,8827],{"class":4637},"Pressable\n",[4160,8829,8830,8833,8835,8837,8839,8841,8844],{"class":4162,"line":6980},[4160,8831,8832],{"class":4643},"          style",[4160,8834,4647],{"class":4539},[4160,8836,4650],{"class":4589},[4160,8838,8287],{"class":4543},[4160,8840,3840],{"class":4653},[4160,8842,8843],{"class":4543},"btn",[4160,8845,4251],{"class":4589},[4160,8847,8848,8850,8852,8854,8856,8858,8860,8862,8864,8866,8869,8871],{"class":4162,"line":7008},[4160,8849,5610],{"class":4643},[4160,8851,4647],{"class":4539},[4160,8853,4650],{"class":4589},[4160,8855,8507],{"class":4653},[4160,8857,5514],{"class":4589},[4160,8859,8226],{"class":4543},[4160,8861,3840],{"class":4653},[4160,8863,6047],{"class":4593},[4160,8865,5411],{"class":4653},[4160,8867,8868],{"class":4552},"'\u002Fmodal\u002Fnew'",[4160,8870,5128],{"class":4653},[4160,8872,4251],{"class":4589},[4160,8874,8875],{"class":4162,"line":7024},[4160,8876,8877],{"class":4633},"        >\n",[4160,8879,8880,8882,8884,8886,8888,8890,8892,8894,8897,8899,8901,8904,8906,8908],{"class":4162,"line":7035},[4160,8881,8549],{"class":4633},[4160,8883,8344],{"class":4637},[4160,8885,7170],{"class":4643},[4160,8887,4647],{"class":4539},[4160,8889,4650],{"class":4589},[4160,8891,8287],{"class":4543},[4160,8893,3840],{"class":4653},[4160,8895,8896],{"class":4543},"btnText",[4160,8898,4803],{"class":4589},[4160,8900,8361],{"class":4633},[4160,8902,8903],{"class":4539},"Нова нотатка (modal)",[4160,8905,8367],{"class":4633},[4160,8907,8344],{"class":4637},[4160,8909,4890],{"class":4633},[4160,8911,8912,8914,8916],{"class":4162,"line":7052},[4160,8913,8414],{"class":4633},[4160,8915,8644],{"class":4637},[4160,8917,4890],{"class":4633},[4160,8919,8920,8922,8924],{"class":4162,"line":7057},[4160,8921,7366],{"class":4633},[4160,8923,8320],{"class":4637},[4160,8925,4890],{"class":4633},[4160,8927,8929,8931,8933],{"class":4162,"line":8928},57,[4160,8930,4885],{"class":4633},[4160,8932,8130],{"class":4637},[4160,8934,4890],{"class":4633},[4160,8936,8938],{"class":4162,"line":8937},58,[4160,8939,4895],{"class":4539},[4160,8941,8943],{"class":4162,"line":8942},59,[4160,8944,4251],{"class":4539},[4160,8946,8948],{"class":4162,"line":8947},60,[4160,8949,4185],{"emptyLinePlaceholder":4184},[4160,8951,8953,8955,8958,8960,8963,8965,8968],{"class":4162,"line":8952},61,[4160,8954,6592],{"class":4589},[4160,8956,8957],{"class":4607}," styles",[4160,8959,5385],{"class":4539},[4160,8961,8962],{"class":4543},"StyleSheet",[4160,8964,3840],{"class":4539},[4160,8966,8967],{"class":4593},"create",[4160,8969,8970],{"class":4539},"({\n",[4160,8972,8974,8977,8979,8982,8985,8987,8989,8991],{"class":4162,"line":8973},62,[4160,8975,8976],{"class":4543},"  safe:",[4160,8978,4540],{"class":4539},[4160,8980,8981],{"class":4543},"flex:",[4160,8983,8984],{"class":5485}," 1",[4160,8986,4055],{"class":4539},[4160,8988,4664],{"class":4543},[4160,8990,7206],{"class":4552},[4160,8992,4675],{"class":4539},[4160,8994,8996,8999],{"class":4162,"line":8995},63,[4160,8997,8998],{"class":4543},"  header:",[4160,9000,5517],{"class":4539},[4160,9002,9004,9007,9010],{"class":4162,"line":9003},64,[4160,9005,9006],{"class":4543},"    paddingHorizontal:",[4160,9008,9009],{"class":5485}," 16",[4160,9011,4690],{"class":4539},[4160,9013,9015,9018,9021],{"class":4162,"line":9014},65,[4160,9016,9017],{"class":4543},"    paddingTop:",[4160,9019,9020],{"class":5485}," 8",[4160,9022,4690],{"class":4539},[4160,9024,9026,9029,9031],{"class":4162,"line":9025},66,[4160,9027,9028],{"class":4543},"    paddingBottom:",[4160,9030,7542],{"class":5485},[4160,9032,4690],{"class":4539},[4160,9034,9036,9039,9041],{"class":4162,"line":9035},67,[4160,9037,9038],{"class":4543},"    borderBottomWidth:",[4160,9040,8984],{"class":5485},[4160,9042,4690],{"class":4539},[4160,9044,9046,9049,9051],{"class":4162,"line":9045},68,[4160,9047,9048],{"class":4543},"    borderBottomColor:",[4160,9050,7523],{"class":4552},[4160,9052,4690],{"class":4539},[4160,9054,9056],{"class":4162,"line":9055},69,[4160,9057,6526],{"class":4539},[4160,9059,9061,9064,9066,9068,9071,9073,9075,9078,9080,9082,9084],{"class":4162,"line":9060},70,[4160,9062,9063],{"class":4543},"  title:",[4160,9065,4540],{"class":4539},[4160,9067,7539],{"class":4543},[4160,9069,9070],{"class":5485}," 24",[4160,9072,4055],{"class":4539},[4160,9074,4711],{"class":4543},[4160,9076,9077],{"class":4552}," '800'",[4160,9079,4055],{"class":4539},[4160,9081,4700],{"class":4543},[4160,9083,7230],{"class":4552},[4160,9085,4675],{"class":4539},[4160,9087,9089,9092,9094,9097,9100,9102,9104,9106,9108,9110,9113],{"class":4162,"line":9088},71,[4160,9090,9091],{"class":4543},"  muted:",[4160,9093,4540],{"class":4539},[4160,9095,9096],{"class":4543},"marginTop:",[4160,9098,9099],{"class":5485}," 4",[4160,9101,4055],{"class":4539},[4160,9103,4700],{"class":4543},[4160,9105,7497],{"class":4552},[4160,9107,4055],{"class":4539},[4160,9109,7539],{"class":4543},[4160,9111,9112],{"class":5485}," 13",[4160,9114,4675],{"class":4539},[4160,9116,9118,9121,9123,9126,9128,9130,9133,9135,9137,9140,9142],{"class":4162,"line":9117},72,[4160,9119,9120],{"class":4543},"  list:",[4160,9122,4540],{"class":4539},[4160,9124,9125],{"class":4543},"padding:",[4160,9127,9009],{"class":5485},[4160,9129,4055],{"class":4539},[4160,9131,9132],{"class":4543},"paddingBottom:",[4160,9134,9070],{"class":5485},[4160,9136,4055],{"class":4539},[4160,9138,9139],{"class":4543},"flexGrow:",[4160,9141,8984],{"class":5485},[4160,9143,4675],{"class":4539},[4160,9145,9147,9150],{"class":4162,"line":9146},73,[4160,9148,9149],{"class":4543},"  card:",[4160,9151,5517],{"class":4539},[4160,9153,9155,9158,9161],{"class":4162,"line":9154},74,[4160,9156,9157],{"class":4543},"    backgroundColor:",[4160,9159,9160],{"class":4552}," '#fff'",[4160,9162,4690],{"class":4539},[4160,9164,9166,9169,9171],{"class":4162,"line":9165},75,[4160,9167,9168],{"class":4543},"    borderRadius:",[4160,9170,7542],{"class":5485},[4160,9172,4690],{"class":4539},[4160,9174,9176,9179,9181],{"class":4162,"line":9175},76,[4160,9177,9178],{"class":4543},"    borderWidth:",[4160,9180,8984],{"class":5485},[4160,9182,4690],{"class":4539},[4160,9184,9186,9189,9191],{"class":4162,"line":9185},77,[4160,9187,9188],{"class":4543},"    borderColor:",[4160,9190,7523],{"class":4552},[4160,9192,4690],{"class":4539},[4160,9194,9196,9199,9202],{"class":4162,"line":9195},78,[4160,9197,9198],{"class":4543},"    padding:",[4160,9200,9201],{"class":5485}," 14",[4160,9203,4690],{"class":4539},[4160,9205,9207],{"class":4162,"line":9206},79,[4160,9208,6526],{"class":4539},[4160,9210,9212,9215,9217,9219,9222,9224,9226,9229,9231,9233,9235],{"class":4162,"line":9211},80,[4160,9213,9214],{"class":4543},"  cardTitle:",[4160,9216,4540],{"class":4539},[4160,9218,7539],{"class":4543},[4160,9220,9221],{"class":5485}," 17",[4160,9223,4055],{"class":4539},[4160,9225,4711],{"class":4543},[4160,9227,9228],{"class":4552}," '700'",[4160,9230,4055],{"class":4539},[4160,9232,4700],{"class":4543},[4160,9234,7230],{"class":4552},[4160,9236,4675],{"class":4539},[4160,9238,9240,9243,9245,9247,9250,9252,9254,9256,9258,9260,9262],{"class":4162,"line":9239},81,[4160,9241,9242],{"class":4543},"  cardBody:",[4160,9244,4540],{"class":4539},[4160,9246,9096],{"class":4543},[4160,9248,9249],{"class":5485}," 6",[4160,9251,4055],{"class":4539},[4160,9253,4700],{"class":4543},[4160,9255,7497],{"class":4552},[4160,9257,4055],{"class":4539},[4160,9259,7539],{"class":4543},[4160,9261,9201],{"class":5485},[4160,9263,4675],{"class":4539},[4160,9265,9267,9270],{"class":4162,"line":9266},82,[4160,9268,9269],{"class":4543},"  footer:",[4160,9271,5517],{"class":4539},[4160,9273,9275,9277,9279],{"class":4162,"line":9274},83,[4160,9276,9198],{"class":4543},[4160,9278,9009],{"class":5485},[4160,9280,4690],{"class":4539},[4160,9282,9284,9287,9289],{"class":4162,"line":9283},84,[4160,9285,9286],{"class":4543},"    borderTopWidth:",[4160,9288,8984],{"class":5485},[4160,9290,4690],{"class":4539},[4160,9292,9294,9297,9299],{"class":4162,"line":9293},85,[4160,9295,9296],{"class":4543},"    borderTopColor:",[4160,9298,7523],{"class":4552},[4160,9300,4690],{"class":4539},[4160,9302,9304],{"class":4162,"line":9303},86,[4160,9305,6526],{"class":4539},[4160,9307,9309,9312],{"class":4162,"line":9308},87,[4160,9310,9311],{"class":4543},"  btn:",[4160,9313,5517],{"class":4539},[4160,9315,9317,9319,9321],{"class":4162,"line":9316},88,[4160,9318,9157],{"class":4543},[4160,9320,7216],{"class":4552},[4160,9322,4690],{"class":4539},[4160,9324,9326,9329,9331],{"class":4162,"line":9325},89,[4160,9327,9328],{"class":4543},"    paddingVertical:",[4160,9330,9201],{"class":5485},[4160,9332,4690],{"class":4539},[4160,9334,9336,9338,9340],{"class":4162,"line":9335},90,[4160,9337,9168],{"class":4543},[4160,9339,7542],{"class":5485},[4160,9341,4690],{"class":4539},[4160,9343,9345,9348,9351],{"class":4162,"line":9344},91,[4160,9346,9347],{"class":4543},"    alignItems:",[4160,9349,9350],{"class":4552}," 'center'",[4160,9352,4690],{"class":4539},[4160,9354,9356],{"class":4162,"line":9355},92,[4160,9357,6526],{"class":4539},[4160,9359,9361,9364,9366,9368,9370,9372,9374,9376],{"class":4162,"line":9360},93,[4160,9362,9363],{"class":4543},"  btnText:",[4160,9365,4540],{"class":4539},[4160,9367,4700],{"class":4543},[4160,9369,9160],{"class":4552},[4160,9371,4055],{"class":4539},[4160,9373,4711],{"class":4543},[4160,9375,9077],{"class":4552},[4160,9377,4675],{"class":4539},[4160,9379,9381],{"class":4162,"line":9380},94,[4160,9382,9383],{"class":4539},"});\n",[3872,9385,9387,9388],{"id":9386},"крок-7-деталі-apptabsnotesidtsx","Крок 7. Деталі — ",[3747,9389,9390],{},"app\u002F(tabs)\u002Fnotes\u002F[id].tsx",[6354,9392,9394],{"title":9393},"Повний app\u002F(tabs)\u002Fnotes\u002F[id].tsx — розгорнути",[4003,9395,9397],{"className":4526,"code":9396,"language":4528,"meta":4011,"style":4011},"import { ScrollView, StyleSheet, Text, View } from 'react-native';\nimport { Stack, useLocalSearchParams, useRouter } from 'expo-router';\n\nimport { getNote } from '..\u002F..\u002F..\u002Fsrc\u002Fdata\u002FnotesStore';\n\nexport default function NoteDetailsScreen() {\n  const { id } = useLocalSearchParams\u003C{ id: string }>();\n  const noteId = Array.isArray(id) ? id[0] : id;\n  const note = noteId ? getNote(noteId) : undefined;\n  const router = useRouter();\n\n  if (!note) {\n    return (\n      \u003CView style={styles.center}>\n        \u003CStack.Screen options={{ title: 'Не знайдено' }} \u002F>\n        \u003CText style={styles.title}>Нотатку не знайдено\u003C\u002FText>\n        \u003CText style={styles.muted} onPress={() => router.back()}>\n          ← Назад до списку\n        \u003C\u002FText>\n      \u003C\u002FView>\n    );\n  }\n\n  return (\n    \u003CScrollView contentContainerStyle={styles.body}>\n      \u003CStack.Screen options={{ title: note.title }} \u002F>\n      \u003CText style={styles.title}>{note.title}\u003C\u002FText>\n      \u003CText style={styles.muted}>\n        {new Date(note.createdAt).toLocaleString('uk-UA')}\n      \u003C\u002FText>\n      \u003CText style={styles.bodyText}>{note.body || 'Порожня нотатка.'}\u003C\u002FText>\n    \u003C\u002FScrollView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  body: { padding: 16, paddingBottom: 40 },\n  center: {\n    flex: 1,\n    alignItems: 'center',\n    justifyContent: 'center',\n    padding: 24,\n    backgroundColor: '#F8FAFC',\n  },\n  title: { fontSize: 24, fontWeight: '800', color: '#0F172A' },\n  muted: { marginTop: 8, color: '#64748B' },\n  bodyText: {\n    marginTop: 16,\n    fontSize: 16,\n    lineHeight: 24,\n    color: '#334155',\n  },\n});\n",[3747,9398,9399,9428,9452,9456,9473,9477,9490,9512,9545,9570,9582,9586,9596,9602,9625,9650,9681,9726,9731,9739,9747,9751,9755,9759,9765,9788,9816,9854,9876,9905,9913,9957,9965,9969,9973,9977,9993,10013,10020,10029,10037,10046,10054,10062,10066,10090,10108,10115,10124,10133,10142,10152,10156],{"__ignoreMap":4011},[4160,9400,9401,9403,9405,9408,9410,9412,9414,9416,9418,9420,9422,9424,9426],{"class":4162,"line":4163},[4160,9402,4536],{"class":4535},[4160,9404,4540],{"class":4539},[4160,9406,9407],{"class":4543},"ScrollView",[4160,9409,4055],{"class":4539},[4160,9411,8962],{"class":4543},[4160,9413,4055],{"class":4539},[4160,9415,8344],{"class":4543},[4160,9417,4055],{"class":4539},[4160,9419,8320],{"class":4543},[4160,9421,4546],{"class":4539},[4160,9423,4549],{"class":4535},[4160,9425,5324],{"class":4552},[4160,9427,4556],{"class":4539},[4160,9429,9430,9432,9434,9436,9438,9440,9442,9444,9446,9448,9450],{"class":4162,"line":4169},[4160,9431,4536],{"class":4535},[4160,9433,4540],{"class":4539},[4160,9435,3757],{"class":4543},[4160,9437,4055],{"class":4539},[4160,9439,5745],{"class":4543},[4160,9441,4055],{"class":4539},[4160,9443,3772],{"class":4543},[4160,9445,4546],{"class":4539},[4160,9447,4549],{"class":4535},[4160,9449,4553],{"class":4552},[4160,9451,4556],{"class":4539},[4160,9453,9454],{"class":4162,"line":4175},[4160,9455,4185],{"emptyLinePlaceholder":4184},[4160,9457,9458,9460,9462,9465,9467,9469,9471],{"class":4162,"line":4181},[4160,9459,4536],{"class":4535},[4160,9461,4540],{"class":4539},[4160,9463,9464],{"class":4543},"getNote",[4160,9466,4546],{"class":4539},[4160,9468,4549],{"class":4535},[4160,9470,8170],{"class":4552},[4160,9472,4556],{"class":4539},[4160,9474,9475],{"class":4162,"line":4188},[4160,9476,4185],{"emptyLinePlaceholder":4184},[4160,9478,9479,9481,9483,9485,9488],{"class":4162,"line":4194},[4160,9480,4583],{"class":4535},[4160,9482,4586],{"class":4535},[4160,9484,4590],{"class":4589},[4160,9486,9487],{"class":4593}," NoteDetailsScreen",[4160,9489,4597],{"class":4539},[4160,9491,9492,9494,9496,9498,9500,9502,9504,9506,9508,9510],{"class":4162,"line":4200},[4160,9493,4602],{"class":4589},[4160,9495,4540],{"class":4539},[4160,9497,5802],{"class":4607},[4160,9499,4611],{"class":4539},[4160,9501,5745],{"class":4593},[4160,9503,5809],{"class":4539},[4160,9505,5802],{"class":4543},[4160,9507,5814],{"class":4539},[4160,9509,5817],{"class":4637},[4160,9511,5820],{"class":4539},[4160,9513,9514,9516,9519,9521,9523,9525,9527,9529,9531,9533,9535,9537,9539,9541,9543],{"class":4162,"line":4206},[4160,9515,4602],{"class":4589},[4160,9517,9518],{"class":4607}," noteId",[4160,9520,5385],{"class":4539},[4160,9522,5842],{"class":4543},[4160,9524,3840],{"class":4539},[4160,9526,5847],{"class":4593},[4160,9528,5411],{"class":4539},[4160,9530,5802],{"class":4543},[4160,9532,5854],{"class":4539},[4160,9534,5802],{"class":4543},[4160,9536,5859],{"class":4539},[4160,9538,5486],{"class":5485},[4160,9540,5864],{"class":4539},[4160,9542,5802],{"class":4543},[4160,9544,4556],{"class":4539},[4160,9546,9547,9549,9551,9553,9556,9558,9560,9562,9564,9566,9568],{"class":4162,"line":4212},[4160,9548,4602],{"class":4589},[4160,9550,6852],{"class":4607},[4160,9552,5385],{"class":4539},[4160,9554,9555],{"class":4543},"noteId",[4160,9557,5883],{"class":4539},[4160,9559,9464],{"class":4593},[4160,9561,5411],{"class":4539},[4160,9563,9555],{"class":4543},[4160,9565,5892],{"class":4539},[4160,9567,5895],{"class":4589},[4160,9569,4556],{"class":4539},[4160,9571,9572,9574,9576,9578,9580],{"class":4162,"line":4218},[4160,9573,4602],{"class":4589},[4160,9575,8226],{"class":4607},[4160,9577,5385],{"class":4539},[4160,9579,3772],{"class":4593},[4160,9581,4616],{"class":4539},[4160,9583,9584],{"class":4162,"line":4224},[4160,9585,4185],{"emptyLinePlaceholder":4184},[4160,9587,9588,9590,9592,9594],{"class":4162,"line":4230},[4160,9589,5906],{"class":4535},[4160,9591,5909],{"class":4539},[4160,9593,3938],{"class":4543},[4160,9595,5915],{"class":4539},[4160,9597,9598,9600],{"class":4162,"line":4236},[4160,9599,5920],{"class":4535},[4160,9601,4628],{"class":4539},[4160,9603,9604,9606,9608,9610,9612,9614,9616,9618,9621,9623],{"class":4162,"line":4242},[4160,9605,4771],{"class":4633},[4160,9607,8320],{"class":4637},[4160,9609,7170],{"class":4643},[4160,9611,4647],{"class":4539},[4160,9613,4650],{"class":4589},[4160,9615,8287],{"class":4543},[4160,9617,3840],{"class":4653},[4160,9619,9620],{"class":4543},"center",[4160,9622,4803],{"class":4589},[4160,9624,4890],{"class":4633},[4160,9626,9627,9629,9631,9633,9635,9637,9639,9641,9644,9646,9648],{"class":4162,"line":4248},[4160,9628,7267],{"class":4633},[4160,9630,4774],{"class":4637},[4160,9632,4785],{"class":4643},[4160,9634,4647],{"class":4539},[4160,9636,4650],{"class":4589},[4160,9638,4792],{"class":4653},[4160,9640,7979],{"class":4543},[4160,9642,9643],{"class":4552}," 'Не знайдено'",[4160,9645,4800],{"class":4653},[4160,9647,4803],{"class":4589},[4160,9649,4806],{"class":4633},[4160,9651,9652,9654,9656,9658,9660,9662,9664,9666,9668,9670,9672,9675,9677,9679],{"class":4162,"line":4254},[4160,9653,7267],{"class":4633},[4160,9655,8344],{"class":4637},[4160,9657,7170],{"class":4643},[4160,9659,4647],{"class":4539},[4160,9661,4650],{"class":4589},[4160,9663,8287],{"class":4543},[4160,9665,3840],{"class":4653},[4160,9667,6825],{"class":4543},[4160,9669,4803],{"class":4589},[4160,9671,8361],{"class":4633},[4160,9673,9674],{"class":4539},"Нотатку не знайдено",[4160,9676,8367],{"class":4633},[4160,9678,8344],{"class":4637},[4160,9680,4890],{"class":4633},[4160,9682,9683,9685,9687,9689,9691,9693,9695,9697,9699,9701,9704,9706,9708,9710,9712,9714,9716,9719,9722,9724],{"class":4162,"line":4259},[4160,9684,7267],{"class":4633},[4160,9686,8344],{"class":4637},[4160,9688,7170],{"class":4643},[4160,9690,4647],{"class":4539},[4160,9692,4650],{"class":4589},[4160,9694,8287],{"class":4543},[4160,9696,3840],{"class":4653},[4160,9698,8390],{"class":4543},[4160,9700,4803],{"class":4589},[4160,9702,9703],{"class":4643}," onPress",[4160,9705,4647],{"class":4539},[4160,9707,4650],{"class":4589},[4160,9709,8507],{"class":4653},[4160,9711,5514],{"class":4589},[4160,9713,8226],{"class":4543},[4160,9715,3840],{"class":4653},[4160,9717,9718],{"class":4593},"back",[4160,9720,9721],{"class":4653},"()",[4160,9723,4803],{"class":4589},[4160,9725,4890],{"class":4633},[4160,9727,9728],{"class":4162,"line":4265},[4160,9729,9730],{"class":4539},"          ← Назад до списку\n",[4160,9732,9733,9735,9737],{"class":4162,"line":4271},[4160,9734,8414],{"class":4633},[4160,9736,8344],{"class":4637},[4160,9738,4890],{"class":4633},[4160,9740,9741,9743,9745],{"class":4162,"line":4276},[4160,9742,7366],{"class":4633},[4160,9744,8320],{"class":4637},[4160,9746,4890],{"class":4633},[4160,9748,9749],{"class":4162,"line":4282},[4160,9750,5651],{"class":4539},[4160,9752,9753],{"class":4162,"line":4288},[4160,9754,4239],{"class":4539},[4160,9756,9757],{"class":4162,"line":4294},[4160,9758,4185],{"emptyLinePlaceholder":4184},[4160,9760,9761,9763],{"class":4162,"line":4300},[4160,9762,4625],{"class":4535},[4160,9764,4628],{"class":4539},[4160,9766,9767,9769,9771,9774,9776,9778,9780,9782,9784,9786],{"class":4162,"line":4305},[4160,9768,4634],{"class":4633},[4160,9770,9407],{"class":4637},[4160,9772,9773],{"class":4643}," contentContainerStyle",[4160,9775,4647],{"class":4539},[4160,9777,4650],{"class":4589},[4160,9779,8287],{"class":4543},[4160,9781,3840],{"class":4653},[4160,9783,6834],{"class":4543},[4160,9785,4803],{"class":4589},[4160,9787,4890],{"class":4633},[4160,9789,9790,9792,9794,9796,9798,9800,9802,9804,9806,9808,9810,9812,9814],{"class":4162,"line":4311},[4160,9791,4771],{"class":4633},[4160,9793,4774],{"class":4637},[4160,9795,4785],{"class":4643},[4160,9797,4647],{"class":4539},[4160,9799,4650],{"class":4589},[4160,9801,4792],{"class":4653},[4160,9803,7979],{"class":4543},[4160,9805,6852],{"class":4543},[4160,9807,3840],{"class":4653},[4160,9809,6825],{"class":4543},[4160,9811,4800],{"class":4653},[4160,9813,4803],{"class":4589},[4160,9815,4806],{"class":4633},[4160,9817,9818,9820,9822,9824,9826,9828,9830,9832,9834,9836,9838,9840,9842,9844,9846,9848,9850,9852],{"class":4162,"line":4317},[4160,9819,4771],{"class":4633},[4160,9821,8344],{"class":4637},[4160,9823,7170],{"class":4643},[4160,9825,4647],{"class":4539},[4160,9827,4650],{"class":4589},[4160,9829,8287],{"class":4543},[4160,9831,3840],{"class":4653},[4160,9833,6825],{"class":4543},[4160,9835,4803],{"class":4589},[4160,9837,8361],{"class":4633},[4160,9839,4650],{"class":4589},[4160,9841,3938],{"class":4543},[4160,9843,3840],{"class":4653},[4160,9845,6825],{"class":4543},[4160,9847,4803],{"class":4589},[4160,9849,8367],{"class":4633},[4160,9851,8344],{"class":4637},[4160,9853,4890],{"class":4633},[4160,9855,9856,9858,9860,9862,9864,9866,9868,9870,9872,9874],{"class":4162,"line":4323},[4160,9857,4771],{"class":4633},[4160,9859,8344],{"class":4637},[4160,9861,7170],{"class":4643},[4160,9863,4647],{"class":4539},[4160,9865,4650],{"class":4589},[4160,9867,8287],{"class":4543},[4160,9869,3840],{"class":4653},[4160,9871,8390],{"class":4543},[4160,9873,4803],{"class":4589},[4160,9875,4890],{"class":4633},[4160,9877,9878,9881,9883,9885,9887,9889,9891,9893,9896,9898,9901,9903],{"class":4162,"line":4328},[4160,9879,9880],{"class":4589},"        {new",[4160,9882,6508],{"class":4593},[4160,9884,5411],{"class":4653},[4160,9886,3938],{"class":4543},[4160,9888,3840],{"class":4653},[4160,9890,6714],{"class":4543},[4160,9892,3897],{"class":4653},[4160,9894,9895],{"class":4593},"toLocaleString",[4160,9897,5411],{"class":4653},[4160,9899,9900],{"class":4552},"'uk-UA'",[4160,9902,5128],{"class":4653},[4160,9904,4251],{"class":4589},[4160,9906,9907,9909,9911],{"class":4162,"line":4333},[4160,9908,7366],{"class":4633},[4160,9910,8344],{"class":4637},[4160,9912,4890],{"class":4633},[4160,9914,9915,9917,9919,9921,9923,9925,9927,9929,9932,9934,9936,9938,9940,9942,9944,9946,9949,9951,9953,9955],{"class":4162,"line":5663},[4160,9916,4771],{"class":4633},[4160,9918,8344],{"class":4637},[4160,9920,7170],{"class":4643},[4160,9922,4647],{"class":4539},[4160,9924,4650],{"class":4589},[4160,9926,8287],{"class":4543},[4160,9928,3840],{"class":4653},[4160,9930,9931],{"class":4543},"bodyText",[4160,9933,4803],{"class":4589},[4160,9935,8361],{"class":4633},[4160,9937,4650],{"class":4589},[4160,9939,3938],{"class":4543},[4160,9941,3840],{"class":4653},[4160,9943,6834],{"class":4543},[4160,9945,8750],{"class":4539},[4160,9947,9948],{"class":4552}," 'Порожня нотатка.'",[4160,9950,4803],{"class":4589},[4160,9952,8367],{"class":4633},[4160,9954,8344],{"class":4637},[4160,9956,4890],{"class":4633},[4160,9958,9959,9961,9963],{"class":4162,"line":5676},[4160,9960,4885],{"class":4633},[4160,9962,9407],{"class":4637},[4160,9964,4890],{"class":4633},[4160,9966,9967],{"class":4162,"line":6728},[4160,9968,4895],{"class":4539},[4160,9970,9971],{"class":4162,"line":6733},[4160,9972,4251],{"class":4539},[4160,9974,9975],{"class":4162,"line":6738},[4160,9976,4185],{"emptyLinePlaceholder":4184},[4160,9978,9979,9981,9983,9985,9987,9989,9991],{"class":4162,"line":6768},[4160,9980,6592],{"class":4589},[4160,9982,8957],{"class":4607},[4160,9984,5385],{"class":4539},[4160,9986,8962],{"class":4543},[4160,9988,3840],{"class":4539},[4160,9990,8967],{"class":4593},[4160,9992,8970],{"class":4539},[4160,9994,9995,9998,10000,10002,10004,10006,10008,10011],{"class":4162,"line":6803},[4160,9996,9997],{"class":4543},"  body:",[4160,9999,4540],{"class":4539},[4160,10001,9125],{"class":4543},[4160,10003,9009],{"class":5485},[4160,10005,4055],{"class":4539},[4160,10007,9132],{"class":4543},[4160,10009,10010],{"class":5485}," 40",[4160,10012,4675],{"class":4539},[4160,10014,10015,10018],{"class":4162,"line":6808},[4160,10016,10017],{"class":4543},"  center:",[4160,10019,5517],{"class":4539},[4160,10021,10022,10025,10027],{"class":4162,"line":6813},[4160,10023,10024],{"class":4543},"    flex:",[4160,10026,8984],{"class":5485},[4160,10028,4690],{"class":4539},[4160,10030,10031,10033,10035],{"class":4162,"line":6847},[4160,10032,9347],{"class":4543},[4160,10034,9350],{"class":4552},[4160,10036,4690],{"class":4539},[4160,10038,10039,10042,10044],{"class":4162,"line":6861},[4160,10040,10041],{"class":4543},"    justifyContent:",[4160,10043,9350],{"class":4552},[4160,10045,4690],{"class":4539},[4160,10047,10048,10050,10052],{"class":4162,"line":6881},[4160,10049,9198],{"class":4543},[4160,10051,9070],{"class":5485},[4160,10053,4690],{"class":4539},[4160,10055,10056,10058,10060],{"class":4162,"line":6901},[4160,10057,9157],{"class":4543},[4160,10059,7206],{"class":4552},[4160,10061,4690],{"class":4539},[4160,10063,10064],{"class":4162,"line":6916},[4160,10065,6526],{"class":4539},[4160,10067,10068,10070,10072,10074,10076,10078,10080,10082,10084,10086,10088],{"class":4162,"line":6929},[4160,10069,9063],{"class":4543},[4160,10071,4540],{"class":4539},[4160,10073,7539],{"class":4543},[4160,10075,9070],{"class":5485},[4160,10077,4055],{"class":4539},[4160,10079,4711],{"class":4543},[4160,10081,9077],{"class":4552},[4160,10083,4055],{"class":4539},[4160,10085,4700],{"class":4543},[4160,10087,7230],{"class":4552},[4160,10089,4675],{"class":4539},[4160,10091,10092,10094,10096,10098,10100,10102,10104,10106],{"class":4162,"line":6935},[4160,10093,9091],{"class":4543},[4160,10095,4540],{"class":4539},[4160,10097,9096],{"class":4543},[4160,10099,9020],{"class":5485},[4160,10101,4055],{"class":4539},[4160,10103,4700],{"class":4543},[4160,10105,7497],{"class":4552},[4160,10107,4675],{"class":4539},[4160,10109,10110,10113],{"class":4162,"line":6953},[4160,10111,10112],{"class":4543},"  bodyText:",[4160,10114,5517],{"class":4539},[4160,10116,10117,10120,10122],{"class":4162,"line":6961},[4160,10118,10119],{"class":4543},"    marginTop:",[4160,10121,9009],{"class":5485},[4160,10123,4690],{"class":4539},[4160,10125,10126,10129,10131],{"class":4162,"line":6970},[4160,10127,10128],{"class":4543},"    fontSize:",[4160,10130,9009],{"class":5485},[4160,10132,4690],{"class":4539},[4160,10134,10135,10138,10140],{"class":4162,"line":6975},[4160,10136,10137],{"class":4543},"    lineHeight:",[4160,10139,9070],{"class":5485},[4160,10141,4690],{"class":4539},[4160,10143,10144,10147,10150],{"class":4162,"line":6980},[4160,10145,10146],{"class":4543},"    color:",[4160,10148,10149],{"class":4552}," '#334155'",[4160,10151,4690],{"class":4539},[4160,10153,10154],{"class":4162,"line":7008},[4160,10155,6526],{"class":4539},[4160,10157,10158],{"class":4162,"line":7024},[4160,10159,9383],{"class":4539},[3872,10161,10163,10164],{"id":10162},"крок-8-modal-guard-appmodalnewtsx","Крок 8. Modal + guard — ",[3747,10165,10166],{},"app\u002Fmodal\u002Fnew.tsx",[6354,10168,10170],{"title":10169},"Повний app\u002Fmodal\u002Fnew.tsx — розгорнути",[4003,10171,10173],{"className":4526,"code":10172,"language":4528,"meta":4011,"style":4011},"import { useState } from 'react';\nimport {\n  Alert,\n  KeyboardAvoidingView,\n  Platform,\n  Pressable,\n  StyleSheet,\n  Text,\n  TextInput,\n  View,\n} from 'react-native';\nimport { useNavigation } from 'expo-router';\nimport { useRouter } from 'expo-router';\nimport { usePreventRemove } from '@react-navigation\u002Fnative';\n\nimport { addNote } from '..\u002F..\u002Fsrc\u002Fdata\u002FnotesStore';\n\nexport default function NewNoteModal() {\n  const router = useRouter();\n  const navigation = useNavigation();\n  const [title, setTitle] = useState('');\n  const [body, setBody] = useState('');\n  \u002F** Після успішного save — дозволяємо leave без діалогу. *\u002F\n  const [saved, setSaved] = useState(false);\n\n  const dirty =\n    !saved && (title.trim().length > 0 || body.trim().length > 0);\n\n  usePreventRemove(dirty, ({ data }) => {\n    Alert.alert(\n      'Вийти без збереження?',\n      'Текст нотатки буде втрачено.',\n      [\n        { text: 'Лишитись', style: 'cancel' },\n        {\n          text: 'Вийти',\n          style: 'destructive',\n          onPress: () => navigation.dispatch(data.action),\n        },\n      ],\n    );\n  });\n\n  const onSave = () => {\n    if (!title.trim() && !body.trim()) {\n      Alert.alert('Порожньо', 'Введіть заголовок або текст.');\n      return;\n    }\n    addNote(title, body);\n    setSaved(true);\n    \u002F\u002F після setState dirty стане false на наступному рендері;\n    \u002F\u002F back у requestAnimationFrame \u002F setTimeout(0) надійніше:\n    setTimeout(() => router.back(), 0);\n  };\n\n  return (\n    \u003CKeyboardAvoidingView\n      style={styles.flex}\n      behavior={Platform.OS === 'ios' ? 'padding' : undefined}\n    >\n      \u003CView style={styles.body}>\n        \u003CText style={styles.hint}>\n          Якщо є текст і ви тиснете «назад» \u002F dismiss — з’явиться підтвердження\n          (usePreventRemove).\n        \u003C\u002FText>\n        \u003CText style={styles.label}>Заголовок\u003C\u002FText>\n        \u003CTextInput\n          style={styles.input}\n          value={title}\n          onChangeText={setTitle}\n          placeholder=\"Наприклад, Список речей\"\n        \u002F>\n        \u003CText style={styles.label}>Текст\u003C\u002FText>\n        \u003CTextInput\n          style={[styles.input, styles.multi]}\n          value={body}\n          onChangeText={setBody}\n          placeholder=\"Нотатка…\"\n          multiline\n          textAlignVertical=\"top\"\n        \u002F>\n        \u003CPressable style={styles.btn} onPress={onSave}>\n          \u003CText style={styles.btnText}>Зберегти\u003C\u002FText>\n        \u003C\u002FPressable>\n      \u003C\u002FView>\n    \u003C\u002FKeyboardAvoidingView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  flex: { flex: 1, backgroundColor: '#F8FAFC' },\n  body: { flex: 1, padding: 16, gap: 8 },\n  hint: { color: '#64748B', fontSize: 13, marginBottom: 8 },\n  label: {\n    marginTop: 8,\n    fontSize: 12,\n    fontWeight: '700',\n    color: '#64748B',\n    textTransform: 'uppercase',\n  },\n  input: {\n    borderWidth: 1,\n    borderColor: '#E2E8F0',\n    backgroundColor: '#fff',\n    borderRadius: 12,\n    paddingHorizontal: 14,\n    paddingVertical: 12,\n    fontSize: 16,\n    color: '#0F172A',\n  },\n  multi: { minHeight: 140 },\n  btn: {\n    marginTop: 20,\n    backgroundColor: '#2563EB',\n    paddingVertical: 14,\n    borderRadius: 12,\n    alignItems: 'center',\n  },\n  btnText: { color: '#fff', fontWeight: '800' },\n});\n",[3747,10174,10175,10191,10197,10204,10211,10218,10224,10230,10236,10243,10249,10259,10275,10291,10307,10311,10329,10333,10346,10358,10370,10393,10416,10421,10445,10449,10459,10502,10506,10525,10535,10542,10549,10553,10570,10574,10583,10591,10617,10621,10625,10629,10633,10637,10650,10675,10696,10703,10707,10722,10733,10738,10743,10765,10769,10773,10779,10786,10804,10839,10843,10865,10888,10893,10898,10906,10938,10945,10962,10975,10988,10998,11002,11033,11039,11068,11080,11092,11101,11106,11116,11120,11153,11184,11192,11200,11209,11213,11217,11221,11237,11256,11281,11307,11314,11323,11332,11342,11351,11362,11367,11375,11384,11393,11402,11411,11420,11429,11438,11447,11452,11468,11475,11485,11494,11503,11512,11521,11526,11545],{"__ignoreMap":4011},[4160,10176,10177,10179,10181,10183,10185,10187,10189],{"class":4162,"line":4163},[4160,10178,4536],{"class":4535},[4160,10180,4540],{"class":4539},[4160,10182,5300],{"class":4543},[4160,10184,4546],{"class":4539},[4160,10186,4549],{"class":4535},[4160,10188,5307],{"class":4552},[4160,10190,4556],{"class":4539},[4160,10192,10193,10195],{"class":4162,"line":4169},[4160,10194,4536],{"class":4535},[4160,10196,5517],{"class":4539},[4160,10198,10199,10202],{"class":4162,"line":4175},[4160,10200,10201],{"class":4543},"  Alert",[4160,10203,4690],{"class":4539},[4160,10205,10206,10209],{"class":4162,"line":4181},[4160,10207,10208],{"class":4543},"  KeyboardAvoidingView",[4160,10210,4690],{"class":4539},[4160,10212,10213,10216],{"class":4162,"line":4188},[4160,10214,10215],{"class":4543},"  Platform",[4160,10217,4690],{"class":4539},[4160,10219,10220,10222],{"class":4162,"line":4194},[4160,10221,8067],{"class":4543},[4160,10223,4690],{"class":4539},[4160,10225,10226,10228],{"class":4162,"line":4200},[4160,10227,8074],{"class":4543},[4160,10229,4690],{"class":4539},[4160,10231,10232,10234],{"class":4162,"line":4206},[4160,10233,8081],{"class":4543},[4160,10235,4690],{"class":4539},[4160,10237,10238,10241],{"class":4162,"line":4212},[4160,10239,10240],{"class":4543},"  TextInput",[4160,10242,4690],{"class":4539},[4160,10244,10245,10247],{"class":4162,"line":4218},[4160,10246,8088],{"class":4543},[4160,10248,4690],{"class":4539},[4160,10250,10251,10253,10255,10257],{"class":4162,"line":4224},[4160,10252,8095],{"class":4539},[4160,10254,4549],{"class":4535},[4160,10256,5324],{"class":4552},[4160,10258,4556],{"class":4539},[4160,10260,10261,10263,10265,10267,10269,10271,10273],{"class":4162,"line":4230},[4160,10262,4536],{"class":4535},[4160,10264,4540],{"class":4539},[4160,10266,5335],{"class":4543},[4160,10268,4546],{"class":4539},[4160,10270,4549],{"class":4535},[4160,10272,4553],{"class":4552},[4160,10274,4556],{"class":4539},[4160,10276,10277,10279,10281,10283,10285,10287,10289],{"class":4162,"line":4236},[4160,10278,4536],{"class":4535},[4160,10280,4540],{"class":4539},[4160,10282,3772],{"class":4543},[4160,10284,4546],{"class":4539},[4160,10286,4549],{"class":4535},[4160,10288,4553],{"class":4552},[4160,10290,4556],{"class":4539},[4160,10292,10293,10295,10297,10299,10301,10303,10305],{"class":4162,"line":4242},[4160,10294,4536],{"class":4535},[4160,10296,4540],{"class":4539},[4160,10298,3870],{"class":4543},[4160,10300,4546],{"class":4539},[4160,10302,4549],{"class":4535},[4160,10304,5358],{"class":4552},[4160,10306,4556],{"class":4539},[4160,10308,10309],{"class":4162,"line":4248},[4160,10310,4185],{"emptyLinePlaceholder":4184},[4160,10312,10313,10315,10317,10320,10322,10324,10327],{"class":4162,"line":4254},[4160,10314,4536],{"class":4535},[4160,10316,4540],{"class":4539},[4160,10318,10319],{"class":4543},"addNote",[4160,10321,4546],{"class":4539},[4160,10323,4549],{"class":4535},[4160,10325,10326],{"class":4552}," '..\u002F..\u002Fsrc\u002Fdata\u002FnotesStore'",[4160,10328,4556],{"class":4539},[4160,10330,10331],{"class":4162,"line":4259},[4160,10332,4185],{"emptyLinePlaceholder":4184},[4160,10334,10335,10337,10339,10341,10344],{"class":4162,"line":4265},[4160,10336,4583],{"class":4535},[4160,10338,4586],{"class":4535},[4160,10340,4590],{"class":4589},[4160,10342,10343],{"class":4593}," NewNoteModal",[4160,10345,4597],{"class":4539},[4160,10347,10348,10350,10352,10354,10356],{"class":4162,"line":4271},[4160,10349,4602],{"class":4589},[4160,10351,8226],{"class":4607},[4160,10353,5385],{"class":4539},[4160,10355,3772],{"class":4593},[4160,10357,4616],{"class":4539},[4160,10359,10360,10362,10364,10366,10368],{"class":4162,"line":4276},[4160,10361,4602],{"class":4589},[4160,10363,5382],{"class":4607},[4160,10365,5385],{"class":4539},[4160,10367,5335],{"class":4593},[4160,10369,4616],{"class":4539},[4160,10371,10372,10374,10376,10378,10380,10383,10385,10387,10389,10391],{"class":4162,"line":4282},[4160,10373,4602],{"class":4589},[4160,10375,5396],{"class":4539},[4160,10377,6825],{"class":4607},[4160,10379,4055],{"class":4539},[4160,10381,10382],{"class":4607},"setTitle",[4160,10384,5406],{"class":4539},[4160,10386,5300],{"class":4593},[4160,10388,5411],{"class":4539},[4160,10390,5414],{"class":4552},[4160,10392,5417],{"class":4539},[4160,10394,10395,10397,10399,10401,10403,10406,10408,10410,10412,10414],{"class":4162,"line":4288},[4160,10396,4602],{"class":4589},[4160,10398,5396],{"class":4539},[4160,10400,6834],{"class":4607},[4160,10402,4055],{"class":4539},[4160,10404,10405],{"class":4607},"setBody",[4160,10407,5406],{"class":4539},[4160,10409,5300],{"class":4593},[4160,10411,5411],{"class":4539},[4160,10413,5414],{"class":4552},[4160,10415,5417],{"class":4539},[4160,10417,10418],{"class":4162,"line":4294},[4160,10419,10420],{"class":4763},"  \u002F** Після успішного save — дозволяємо leave без діалогу. *\u002F\n",[4160,10422,10423,10425,10427,10430,10432,10435,10437,10439,10441,10443],{"class":4162,"line":4300},[4160,10424,4602],{"class":4589},[4160,10426,5396],{"class":4539},[4160,10428,10429],{"class":4607},"saved",[4160,10431,4055],{"class":4539},[4160,10433,10434],{"class":4607},"setSaved",[4160,10436,5406],{"class":4539},[4160,10438,5300],{"class":4593},[4160,10440,5411],{"class":4539},[4160,10442,5440],{"class":4589},[4160,10444,5417],{"class":4539},[4160,10446,10447],{"class":4162,"line":4305},[4160,10448,4185],{"emptyLinePlaceholder":4184},[4160,10450,10451,10453,10456],{"class":4162,"line":4311},[4160,10452,4602],{"class":4589},[4160,10454,10455],{"class":4607}," dirty",[4160,10457,10458],{"class":4539}," =\n",[4160,10460,10461,10464,10466,10469,10471,10473,10475,10477,10479,10481,10483,10486,10488,10490,10492,10494,10496,10498,10500],{"class":4162,"line":4317},[4160,10462,10463],{"class":4539},"    !",[4160,10465,10429],{"class":4543},[4160,10467,10468],{"class":4539}," && (",[4160,10470,6825],{"class":4543},[4160,10472,3840],{"class":4539},[4160,10474,5473],{"class":4593},[4160,10476,5476],{"class":4539},[4160,10478,5479],{"class":4543},[4160,10480,5482],{"class":4539},[4160,10482,5486],{"class":5485},[4160,10484,10485],{"class":4539}," || ",[4160,10487,6834],{"class":4543},[4160,10489,3840],{"class":4539},[4160,10491,5473],{"class":4593},[4160,10493,5476],{"class":4539},[4160,10495,5479],{"class":4543},[4160,10497,5482],{"class":4539},[4160,10499,5486],{"class":5485},[4160,10501,5417],{"class":4539},[4160,10503,10504],{"class":4162,"line":4323},[4160,10505,4185],{"emptyLinePlaceholder":4184},[4160,10507,10508,10510,10512,10515,10517,10519,10521,10523],{"class":4162,"line":4328},[4160,10509,5497],{"class":4593},[4160,10511,5411],{"class":4539},[4160,10513,10514],{"class":4543},"dirty",[4160,10516,5505],{"class":4539},[4160,10518,5508],{"class":4543},[4160,10520,5511],{"class":4539},[4160,10522,5514],{"class":4589},[4160,10524,5517],{"class":4539},[4160,10526,10527,10529,10531,10533],{"class":4162,"line":4333},[4160,10528,5527],{"class":4543},[4160,10530,3840],{"class":4539},[4160,10532,5532],{"class":4593},[4160,10534,5535],{"class":4539},[4160,10536,10537,10540],{"class":4162,"line":5663},[4160,10538,10539],{"class":4552},"      'Вийти без збереження?'",[4160,10541,4690],{"class":4539},[4160,10543,10544,10547],{"class":4162,"line":5676},[4160,10545,10546],{"class":4552},"      'Текст нотатки буде втрачено.'",[4160,10548,4690],{"class":4539},[4160,10550,10551],{"class":4162,"line":6728},[4160,10552,5554],{"class":4539},[4160,10554,10555,10557,10559,10562,10564,10566,10568],{"class":4162,"line":6733},[4160,10556,5559],{"class":4539},[4160,10558,5562],{"class":4543},[4160,10560,10561],{"class":4552}," 'Лишитись'",[4160,10563,4055],{"class":4539},[4160,10565,5570],{"class":4543},[4160,10567,5573],{"class":4552},[4160,10569,4675],{"class":4539},[4160,10571,10572],{"class":4162,"line":6738},[4160,10573,5580],{"class":4539},[4160,10575,10576,10578,10581],{"class":4162,"line":6768},[4160,10577,5585],{"class":4543},[4160,10579,10580],{"class":4552}," 'Вийти'",[4160,10582,4690],{"class":4539},[4160,10584,10585,10587,10589],{"class":4162,"line":6803},[4160,10586,5595],{"class":4543},[4160,10588,5598],{"class":4552},[4160,10590,4690],{"class":4539},[4160,10592,10593,10595,10597,10599,10601,10603,10605,10607,10609,10611,10613,10615],{"class":4162,"line":6808},[4160,10594,5610],{"class":4593},[4160,10596,3821],{"class":4543},[4160,10598,5615],{"class":4539},[4160,10600,5514],{"class":4589},[4160,10602,5382],{"class":4543},[4160,10604,3840],{"class":4539},[4160,10606,5624],{"class":4593},[4160,10608,5411],{"class":4539},[4160,10610,5508],{"class":4543},[4160,10612,3840],{"class":4539},[4160,10614,5633],{"class":4543},[4160,10616,5636],{"class":4539},[4160,10618,10619],{"class":4162,"line":6813},[4160,10620,5641],{"class":4539},[4160,10622,10623],{"class":4162,"line":6847},[4160,10624,5646],{"class":4539},[4160,10626,10627],{"class":4162,"line":6861},[4160,10628,5651],{"class":4539},[4160,10630,10631],{"class":4162,"line":6881},[4160,10632,5656],{"class":4539},[4160,10634,10635],{"class":4162,"line":6901},[4160,10636,4185],{"emptyLinePlaceholder":4184},[4160,10638,10639,10641,10644,10646,10648],{"class":4162,"line":6916},[4160,10640,4602],{"class":4589},[4160,10642,10643],{"class":4593}," onSave",[4160,10645,6439],{"class":4539},[4160,10647,5514],{"class":4589},[4160,10649,5517],{"class":4539},[4160,10651,10652,10655,10657,10659,10661,10663,10666,10668,10670,10672],{"class":4162,"line":6929},[4160,10653,10654],{"class":4535},"    if",[4160,10656,5909],{"class":4539},[4160,10658,6825],{"class":4543},[4160,10660,3840],{"class":4539},[4160,10662,5473],{"class":4593},[4160,10664,10665],{"class":4539},"() && !",[4160,10667,6834],{"class":4543},[4160,10669,3840],{"class":4539},[4160,10671,5473],{"class":4593},[4160,10673,10674],{"class":4539},"()) {\n",[4160,10676,10677,10680,10682,10684,10686,10689,10691,10694],{"class":4162,"line":6935},[4160,10678,10679],{"class":4543},"      Alert",[4160,10681,3840],{"class":4539},[4160,10683,5532],{"class":4593},[4160,10685,5411],{"class":4539},[4160,10687,10688],{"class":4552},"'Порожньо'",[4160,10690,4055],{"class":4539},[4160,10692,10693],{"class":4552},"'Введіть заголовок або текст.'",[4160,10695,5417],{"class":4539},[4160,10697,10698,10701],{"class":4162,"line":6953},[4160,10699,10700],{"class":4535},"      return",[4160,10702,4556],{"class":4539},[4160,10704,10705],{"class":4162,"line":6961},[4160,10706,4221],{"class":4539},[4160,10708,10709,10712,10714,10716,10718,10720],{"class":4162,"line":6970},[4160,10710,10711],{"class":4593},"    addNote",[4160,10713,5411],{"class":4539},[4160,10715,6825],{"class":4543},[4160,10717,4055],{"class":4539},[4160,10719,6834],{"class":4543},[4160,10721,5417],{"class":4539},[4160,10723,10724,10727,10729,10731],{"class":4162,"line":6975},[4160,10725,10726],{"class":4593},"    setSaved",[4160,10728,5411],{"class":4539},[4160,10730,5693],{"class":4589},[4160,10732,5417],{"class":4539},[4160,10734,10735],{"class":4162,"line":6980},[4160,10736,10737],{"class":4763},"    \u002F\u002F після setState dirty стане false на наступному рендері;\n",[4160,10739,10740],{"class":4162,"line":7008},[4160,10741,10742],{"class":4763},"    \u002F\u002F back у requestAnimationFrame \u002F setTimeout(0) надійніше:\n",[4160,10744,10745,10748,10750,10752,10754,10756,10758,10761,10763],{"class":4162,"line":7024},[4160,10746,10747],{"class":4593},"    setTimeout",[4160,10749,8244],{"class":4539},[4160,10751,5514],{"class":4589},[4160,10753,8226],{"class":4543},[4160,10755,3840],{"class":4539},[4160,10757,9718],{"class":4593},[4160,10759,10760],{"class":4539},"(), ",[4160,10762,5486],{"class":5485},[4160,10764,5417],{"class":4539},[4160,10766,10767],{"class":4162,"line":7035},[4160,10768,6932],{"class":4539},[4160,10770,10771],{"class":4162,"line":7052},[4160,10772,4185],{"emptyLinePlaceholder":4184},[4160,10774,10775,10777],{"class":4162,"line":7057},[4160,10776,4625],{"class":4535},[4160,10778,4628],{"class":4539},[4160,10780,10781,10783],{"class":4162,"line":8928},[4160,10782,4634],{"class":4633},[4160,10784,10785],{"class":4637},"KeyboardAvoidingView\n",[4160,10787,10788,10791,10793,10795,10797,10799,10802],{"class":4162,"line":8937},[4160,10789,10790],{"class":4643},"      style",[4160,10792,4647],{"class":4539},[4160,10794,4650],{"class":4589},[4160,10796,8287],{"class":4543},[4160,10798,3840],{"class":4653},[4160,10800,10801],{"class":4543},"flex",[4160,10803,4251],{"class":4589},[4160,10805,10806,10809,10811,10813,10816,10818,10821,10824,10827,10830,10833,10836],{"class":4162,"line":8942},[4160,10807,10808],{"class":4643},"      behavior",[4160,10810,4647],{"class":4539},[4160,10812,4650],{"class":4589},[4160,10814,10815],{"class":4543},"Platform",[4160,10817,3840],{"class":4653},[4160,10819,10820],{"class":4607},"OS",[4160,10822,10823],{"class":4539}," ===",[4160,10825,10826],{"class":4552}," 'ios'",[4160,10828,10829],{"class":4539}," ?",[4160,10831,10832],{"class":4552}," 'padding'",[4160,10834,10835],{"class":4539}," :",[4160,10837,10838],{"class":4589}," undefined}\n",[4160,10840,10841],{"class":4162,"line":8947},[4160,10842,4755],{"class":4633},[4160,10844,10845,10847,10849,10851,10853,10855,10857,10859,10861,10863],{"class":4162,"line":8952},[4160,10846,4771],{"class":4633},[4160,10848,8320],{"class":4637},[4160,10850,7170],{"class":4643},[4160,10852,4647],{"class":4539},[4160,10854,4650],{"class":4589},[4160,10856,8287],{"class":4543},[4160,10858,3840],{"class":4653},[4160,10860,6834],{"class":4543},[4160,10862,4803],{"class":4589},[4160,10864,4890],{"class":4633},[4160,10866,10867,10869,10871,10873,10875,10877,10879,10881,10884,10886],{"class":4162,"line":8973},[4160,10868,7267],{"class":4633},[4160,10870,8344],{"class":4637},[4160,10872,7170],{"class":4643},[4160,10874,4647],{"class":4539},[4160,10876,4650],{"class":4589},[4160,10878,8287],{"class":4543},[4160,10880,3840],{"class":4653},[4160,10882,10883],{"class":4543},"hint",[4160,10885,4803],{"class":4589},[4160,10887,4890],{"class":4633},[4160,10889,10890],{"class":4162,"line":8995},[4160,10891,10892],{"class":4539},"          Якщо є текст і ви тиснете «назад» \u002F dismiss — з’явиться підтвердження\n",[4160,10894,10895],{"class":4162,"line":9003},[4160,10896,10897],{"class":4539},"          (usePreventRemove).\n",[4160,10899,10900,10902,10904],{"class":4162,"line":9014},[4160,10901,8414],{"class":4633},[4160,10903,8344],{"class":4637},[4160,10905,4890],{"class":4633},[4160,10907,10908,10910,10912,10914,10916,10918,10920,10922,10925,10927,10929,10932,10934,10936],{"class":4162,"line":9025},[4160,10909,7267],{"class":4633},[4160,10911,8344],{"class":4637},[4160,10913,7170],{"class":4643},[4160,10915,4647],{"class":4539},[4160,10917,4650],{"class":4589},[4160,10919,8287],{"class":4543},[4160,10921,3840],{"class":4653},[4160,10923,10924],{"class":4543},"label",[4160,10926,4803],{"class":4589},[4160,10928,8361],{"class":4633},[4160,10930,10931],{"class":4539},"Заголовок",[4160,10933,8367],{"class":4633},[4160,10935,8344],{"class":4637},[4160,10937,4890],{"class":4633},[4160,10939,10940,10942],{"class":4162,"line":9035},[4160,10941,7267],{"class":4633},[4160,10943,10944],{"class":4637},"TextInput\n",[4160,10946,10947,10949,10951,10953,10955,10957,10960],{"class":4162,"line":9045},[4160,10948,8832],{"class":4643},[4160,10950,4647],{"class":4539},[4160,10952,4650],{"class":4589},[4160,10954,8287],{"class":4543},[4160,10956,3840],{"class":4653},[4160,10958,10959],{"class":4543},"input",[4160,10961,4251],{"class":4589},[4160,10963,10964,10967,10969,10971,10973],{"class":4162,"line":9055},[4160,10965,10966],{"class":4643},"          value",[4160,10968,4647],{"class":4539},[4160,10970,4650],{"class":4589},[4160,10972,6825],{"class":4543},[4160,10974,4251],{"class":4589},[4160,10976,10977,10980,10982,10984,10986],{"class":4162,"line":9060},[4160,10978,10979],{"class":4643},"          onChangeText",[4160,10981,4647],{"class":4539},[4160,10983,4650],{"class":4589},[4160,10985,10382],{"class":4543},[4160,10987,4251],{"class":4589},[4160,10989,10990,10993,10995],{"class":4162,"line":9088},[4160,10991,10992],{"class":4643},"          placeholder",[4160,10994,4647],{"class":4539},[4160,10996,10997],{"class":4552},"\"Наприклад, Список речей\"\n",[4160,10999,11000],{"class":4162,"line":9117},[4160,11001,7361],{"class":4633},[4160,11003,11004,11006,11008,11010,11012,11014,11016,11018,11020,11022,11024,11027,11029,11031],{"class":4162,"line":9146},[4160,11005,7267],{"class":4633},[4160,11007,8344],{"class":4637},[4160,11009,7170],{"class":4643},[4160,11011,4647],{"class":4539},[4160,11013,4650],{"class":4589},[4160,11015,8287],{"class":4543},[4160,11017,3840],{"class":4653},[4160,11019,10924],{"class":4543},[4160,11021,4803],{"class":4589},[4160,11023,8361],{"class":4633},[4160,11025,11026],{"class":4539},"Текст",[4160,11028,8367],{"class":4633},[4160,11030,8344],{"class":4637},[4160,11032,4890],{"class":4633},[4160,11034,11035,11037],{"class":4162,"line":9154},[4160,11036,7267],{"class":4633},[4160,11038,10944],{"class":4637},[4160,11040,11041,11043,11045,11047,11049,11051,11053,11055,11057,11059,11061,11064,11066],{"class":4162,"line":9165},[4160,11042,8832],{"class":4643},[4160,11044,4647],{"class":4539},[4160,11046,4650],{"class":4589},[4160,11048,5859],{"class":4653},[4160,11050,8287],{"class":4543},[4160,11052,3840],{"class":4653},[4160,11054,10959],{"class":4543},[4160,11056,4055],{"class":4653},[4160,11058,8287],{"class":4543},[4160,11060,3840],{"class":4653},[4160,11062,11063],{"class":4543},"multi",[4160,11065,8309],{"class":4653},[4160,11067,4251],{"class":4589},[4160,11069,11070,11072,11074,11076,11078],{"class":4162,"line":9175},[4160,11071,10966],{"class":4643},[4160,11073,4647],{"class":4539},[4160,11075,4650],{"class":4589},[4160,11077,6834],{"class":4543},[4160,11079,4251],{"class":4589},[4160,11081,11082,11084,11086,11088,11090],{"class":4162,"line":9185},[4160,11083,10979],{"class":4643},[4160,11085,4647],{"class":4539},[4160,11087,4650],{"class":4589},[4160,11089,10405],{"class":4543},[4160,11091,4251],{"class":4589},[4160,11093,11094,11096,11098],{"class":4162,"line":9195},[4160,11095,10992],{"class":4643},[4160,11097,4647],{"class":4539},[4160,11099,11100],{"class":4552},"\"Нотатка…\"\n",[4160,11102,11103],{"class":4162,"line":9206},[4160,11104,11105],{"class":4643},"          multiline\n",[4160,11107,11108,11111,11113],{"class":4162,"line":9211},[4160,11109,11110],{"class":4643},"          textAlignVertical",[4160,11112,4647],{"class":4539},[4160,11114,11115],{"class":4552},"\"top\"\n",[4160,11117,11118],{"class":4162,"line":9239},[4160,11119,7361],{"class":4633},[4160,11121,11122,11124,11126,11128,11130,11132,11134,11136,11138,11140,11142,11144,11146,11149,11151],{"class":4162,"line":9266},[4160,11123,7267],{"class":4633},[4160,11125,8644],{"class":4637},[4160,11127,7170],{"class":4643},[4160,11129,4647],{"class":4539},[4160,11131,4650],{"class":4589},[4160,11133,8287],{"class":4543},[4160,11135,3840],{"class":4653},[4160,11137,8843],{"class":4543},[4160,11139,4803],{"class":4589},[4160,11141,9703],{"class":4643},[4160,11143,4647],{"class":4539},[4160,11145,4650],{"class":4589},[4160,11147,11148],{"class":4543},"onSave",[4160,11150,4803],{"class":4589},[4160,11152,4890],{"class":4633},[4160,11154,11155,11157,11159,11161,11163,11165,11167,11169,11171,11173,11175,11178,11180,11182],{"class":4162,"line":9274},[4160,11156,8549],{"class":4633},[4160,11158,8344],{"class":4637},[4160,11160,7170],{"class":4643},[4160,11162,4647],{"class":4539},[4160,11164,4650],{"class":4589},[4160,11166,8287],{"class":4543},[4160,11168,3840],{"class":4653},[4160,11170,8896],{"class":4543},[4160,11172,4803],{"class":4589},[4160,11174,8361],{"class":4633},[4160,11176,11177],{"class":4539},"Зберегти",[4160,11179,8367],{"class":4633},[4160,11181,8344],{"class":4637},[4160,11183,4890],{"class":4633},[4160,11185,11186,11188,11190],{"class":4162,"line":9283},[4160,11187,8414],{"class":4633},[4160,11189,8644],{"class":4637},[4160,11191,4890],{"class":4633},[4160,11193,11194,11196,11198],{"class":4162,"line":9293},[4160,11195,7366],{"class":4633},[4160,11197,8320],{"class":4637},[4160,11199,4890],{"class":4633},[4160,11201,11202,11204,11207],{"class":4162,"line":9303},[4160,11203,4885],{"class":4633},[4160,11205,11206],{"class":4637},"KeyboardAvoidingView",[4160,11208,4890],{"class":4633},[4160,11210,11211],{"class":4162,"line":9308},[4160,11212,4895],{"class":4539},[4160,11214,11215],{"class":4162,"line":9316},[4160,11216,4251],{"class":4539},[4160,11218,11219],{"class":4162,"line":9325},[4160,11220,4185],{"emptyLinePlaceholder":4184},[4160,11222,11223,11225,11227,11229,11231,11233,11235],{"class":4162,"line":9335},[4160,11224,6592],{"class":4589},[4160,11226,8957],{"class":4607},[4160,11228,5385],{"class":4539},[4160,11230,8962],{"class":4543},[4160,11232,3840],{"class":4539},[4160,11234,8967],{"class":4593},[4160,11236,8970],{"class":4539},[4160,11238,11239,11242,11244,11246,11248,11250,11252,11254],{"class":4162,"line":9344},[4160,11240,11241],{"class":4543},"  flex:",[4160,11243,4540],{"class":4539},[4160,11245,8981],{"class":4543},[4160,11247,8984],{"class":5485},[4160,11249,4055],{"class":4539},[4160,11251,4664],{"class":4543},[4160,11253,7206],{"class":4552},[4160,11255,4675],{"class":4539},[4160,11257,11258,11260,11262,11264,11266,11268,11270,11272,11274,11277,11279],{"class":4162,"line":9355},[4160,11259,9997],{"class":4543},[4160,11261,4540],{"class":4539},[4160,11263,8981],{"class":4543},[4160,11265,8984],{"class":5485},[4160,11267,4055],{"class":4539},[4160,11269,9125],{"class":4543},[4160,11271,9009],{"class":5485},[4160,11273,4055],{"class":4539},[4160,11275,11276],{"class":4543},"gap:",[4160,11278,9020],{"class":5485},[4160,11280,4675],{"class":4539},[4160,11282,11283,11286,11288,11290,11292,11294,11296,11298,11300,11303,11305],{"class":4162,"line":9360},[4160,11284,11285],{"class":4543},"  hint:",[4160,11287,4540],{"class":4539},[4160,11289,4700],{"class":4543},[4160,11291,7497],{"class":4552},[4160,11293,4055],{"class":4539},[4160,11295,7539],{"class":4543},[4160,11297,9112],{"class":5485},[4160,11299,4055],{"class":4539},[4160,11301,11302],{"class":4543},"marginBottom:",[4160,11304,9020],{"class":5485},[4160,11306,4675],{"class":4539},[4160,11308,11309,11312],{"class":4162,"line":9380},[4160,11310,11311],{"class":4543},"  label:",[4160,11313,5517],{"class":4539},[4160,11315,11317,11319,11321],{"class":4162,"line":11316},95,[4160,11318,10119],{"class":4543},[4160,11320,9020],{"class":5485},[4160,11322,4690],{"class":4539},[4160,11324,11326,11328,11330],{"class":4162,"line":11325},96,[4160,11327,10128],{"class":4543},[4160,11329,7542],{"class":5485},[4160,11331,4690],{"class":4539},[4160,11333,11335,11338,11340],{"class":4162,"line":11334},97,[4160,11336,11337],{"class":4543},"    fontWeight:",[4160,11339,9228],{"class":4552},[4160,11341,4690],{"class":4539},[4160,11343,11345,11347,11349],{"class":4162,"line":11344},98,[4160,11346,10146],{"class":4543},[4160,11348,7497],{"class":4552},[4160,11350,4690],{"class":4539},[4160,11352,11354,11357,11360],{"class":4162,"line":11353},99,[4160,11355,11356],{"class":4543},"    textTransform:",[4160,11358,11359],{"class":4552}," 'uppercase'",[4160,11361,4690],{"class":4539},[4160,11363,11365],{"class":4162,"line":11364},100,[4160,11366,6526],{"class":4539},[4160,11368,11370,11373],{"class":4162,"line":11369},101,[4160,11371,11372],{"class":4543},"  input:",[4160,11374,5517],{"class":4539},[4160,11376,11378,11380,11382],{"class":4162,"line":11377},102,[4160,11379,9178],{"class":4543},[4160,11381,8984],{"class":5485},[4160,11383,4690],{"class":4539},[4160,11385,11387,11389,11391],{"class":4162,"line":11386},103,[4160,11388,9188],{"class":4543},[4160,11390,7523],{"class":4552},[4160,11392,4690],{"class":4539},[4160,11394,11396,11398,11400],{"class":4162,"line":11395},104,[4160,11397,9157],{"class":4543},[4160,11399,9160],{"class":4552},[4160,11401,4690],{"class":4539},[4160,11403,11405,11407,11409],{"class":4162,"line":11404},105,[4160,11406,9168],{"class":4543},[4160,11408,7542],{"class":5485},[4160,11410,4690],{"class":4539},[4160,11412,11414,11416,11418],{"class":4162,"line":11413},106,[4160,11415,9006],{"class":4543},[4160,11417,9201],{"class":5485},[4160,11419,4690],{"class":4539},[4160,11421,11423,11425,11427],{"class":4162,"line":11422},107,[4160,11424,9328],{"class":4543},[4160,11426,7542],{"class":5485},[4160,11428,4690],{"class":4539},[4160,11430,11432,11434,11436],{"class":4162,"line":11431},108,[4160,11433,10128],{"class":4543},[4160,11435,9009],{"class":5485},[4160,11437,4690],{"class":4539},[4160,11439,11441,11443,11445],{"class":4162,"line":11440},109,[4160,11442,10146],{"class":4543},[4160,11444,7230],{"class":4552},[4160,11446,4690],{"class":4539},[4160,11448,11450],{"class":4162,"line":11449},110,[4160,11451,6526],{"class":4539},[4160,11453,11455,11458,11460,11463,11466],{"class":4162,"line":11454},111,[4160,11456,11457],{"class":4543},"  multi:",[4160,11459,4540],{"class":4539},[4160,11461,11462],{"class":4543},"minHeight:",[4160,11464,11465],{"class":5485}," 140",[4160,11467,4675],{"class":4539},[4160,11469,11471,11473],{"class":4162,"line":11470},112,[4160,11472,9311],{"class":4543},[4160,11474,5517],{"class":4539},[4160,11476,11478,11480,11483],{"class":4162,"line":11477},113,[4160,11479,10119],{"class":4543},[4160,11481,11482],{"class":5485}," 20",[4160,11484,4690],{"class":4539},[4160,11486,11488,11490,11492],{"class":4162,"line":11487},114,[4160,11489,9157],{"class":4543},[4160,11491,7216],{"class":4552},[4160,11493,4690],{"class":4539},[4160,11495,11497,11499,11501],{"class":4162,"line":11496},115,[4160,11498,9328],{"class":4543},[4160,11500,9201],{"class":5485},[4160,11502,4690],{"class":4539},[4160,11504,11506,11508,11510],{"class":4162,"line":11505},116,[4160,11507,9168],{"class":4543},[4160,11509,7542],{"class":5485},[4160,11511,4690],{"class":4539},[4160,11513,11515,11517,11519],{"class":4162,"line":11514},117,[4160,11516,9347],{"class":4543},[4160,11518,9350],{"class":4552},[4160,11520,4690],{"class":4539},[4160,11522,11524],{"class":4162,"line":11523},118,[4160,11525,6526],{"class":4539},[4160,11527,11529,11531,11533,11535,11537,11539,11541,11543],{"class":4162,"line":11528},119,[4160,11530,9363],{"class":4543},[4160,11532,4540],{"class":4539},[4160,11534,4700],{"class":4543},[4160,11536,9160],{"class":4552},[4160,11538,4055],{"class":4539},[4160,11540,4711],{"class":4543},[4160,11542,9077],{"class":4552},[4160,11544,4675],{"class":4539},[4160,11546,11548],{"class":4162,"line":11547},120,[4160,11549,9383],{"class":4539},[3872,11551,11553],{"id":11552},"крок-9-about","Крок 9. About",[6354,11555,11557],{"title":11556},"Повний app\u002F(tabs)\u002Fabout.tsx — розгорнути",[4003,11558,11560],{"className":4526,"code":11559,"language":4528,"meta":4011,"style":4011},"import { ScrollView, StyleSheet, Text } from 'react-native';\nimport { Link } from 'expo-router';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nexport default function AboutScreen() {\n  return (\n    \u003CSafeAreaView style={styles.safe} edges={['top']}>\n      \u003CScrollView contentContainerStyle={styles.body}>\n        \u003CText style={styles.title}>Про застосунок\u003C\u002FText>\n        \u003CText style={styles.p}>\n          Міні-проєкт статті про вкладені навігатори: Tabs → Stack нотаток →\n          деталі; окремо root modal створення з guard на back.\n        \u003C\u002FText>\n        \u003CLink href=\"\u002Fnotes\" style={styles.link}>\n          ← До нотаток\n        \u003C\u002FLink>\n      \u003C\u002FScrollView>\n    \u003C\u002FSafeAreaView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  safe: { flex: 1, backgroundColor: '#F8FAFC' },\n  body: { padding: 16, gap: 12 },\n  title: { fontSize: 24, fontWeight: '800', color: '#0F172A' },\n  p: { fontSize: 16, lineHeight: 24, color: '#334155' },\n  link: { marginTop: 8, color: '#2563EB', fontWeight: '700', fontSize: 16 },\n});\n",[3747,11561,11562,11586,11602,11618,11622,11635,11641,11677,11699,11730,11752,11757,11762,11770,11800,11805,11813,11821,11829,11833,11837,11841,11857,11875,11893,11917,11943,11974],{"__ignoreMap":4011},[4160,11563,11564,11566,11568,11570,11572,11574,11576,11578,11580,11582,11584],{"class":4162,"line":4163},[4160,11565,4536],{"class":4535},[4160,11567,4540],{"class":4539},[4160,11569,9407],{"class":4543},[4160,11571,4055],{"class":4539},[4160,11573,8962],{"class":4543},[4160,11575,4055],{"class":4539},[4160,11577,8344],{"class":4543},[4160,11579,4546],{"class":4539},[4160,11581,4549],{"class":4535},[4160,11583,5324],{"class":4552},[4160,11585,4556],{"class":4539},[4160,11587,11588,11590,11592,11594,11596,11598,11600],{"class":4162,"line":4169},[4160,11589,4536],{"class":4535},[4160,11591,4540],{"class":4539},[4160,11593,3769],{"class":4543},[4160,11595,4546],{"class":4539},[4160,11597,4549],{"class":4535},[4160,11599,4553],{"class":4552},[4160,11601,4556],{"class":4539},[4160,11603,11604,11606,11608,11610,11612,11614,11616],{"class":4162,"line":4175},[4160,11605,4536],{"class":4535},[4160,11607,4540],{"class":4539},[4160,11609,8130],{"class":4543},[4160,11611,4546],{"class":4539},[4160,11613,4549],{"class":4535},[4160,11615,8137],{"class":4552},[4160,11617,4556],{"class":4539},[4160,11619,11620],{"class":4162,"line":4181},[4160,11621,4185],{"emptyLinePlaceholder":4184},[4160,11623,11624,11626,11628,11630,11633],{"class":4162,"line":4188},[4160,11625,4583],{"class":4535},[4160,11627,4586],{"class":4535},[4160,11629,4590],{"class":4589},[4160,11631,11632],{"class":4593}," AboutScreen",[4160,11634,4597],{"class":4539},[4160,11636,11637,11639],{"class":4162,"line":4194},[4160,11638,4625],{"class":4535},[4160,11640,4628],{"class":4539},[4160,11642,11643,11645,11647,11649,11651,11653,11655,11657,11659,11661,11663,11665,11667,11669,11671,11673,11675],{"class":4162,"line":4200},[4160,11644,4634],{"class":4633},[4160,11646,8130],{"class":4637},[4160,11648,7170],{"class":4643},[4160,11650,4647],{"class":4539},[4160,11652,4650],{"class":4589},[4160,11654,8287],{"class":4543},[4160,11656,3840],{"class":4653},[4160,11658,8292],{"class":4543},[4160,11660,4803],{"class":4589},[4160,11662,8297],{"class":4643},[4160,11664,4647],{"class":4539},[4160,11666,4650],{"class":4589},[4160,11668,5859],{"class":4653},[4160,11670,8306],{"class":4552},[4160,11672,8309],{"class":4653},[4160,11674,4803],{"class":4589},[4160,11676,4890],{"class":4633},[4160,11678,11679,11681,11683,11685,11687,11689,11691,11693,11695,11697],{"class":4162,"line":4206},[4160,11680,4771],{"class":4633},[4160,11682,9407],{"class":4637},[4160,11684,9773],{"class":4643},[4160,11686,4647],{"class":4539},[4160,11688,4650],{"class":4589},[4160,11690,8287],{"class":4543},[4160,11692,3840],{"class":4653},[4160,11694,6834],{"class":4543},[4160,11696,4803],{"class":4589},[4160,11698,4890],{"class":4633},[4160,11700,11701,11703,11705,11707,11709,11711,11713,11715,11717,11719,11721,11724,11726,11728],{"class":4162,"line":4212},[4160,11702,7267],{"class":4633},[4160,11704,8344],{"class":4637},[4160,11706,7170],{"class":4643},[4160,11708,4647],{"class":4539},[4160,11710,4650],{"class":4589},[4160,11712,8287],{"class":4543},[4160,11714,3840],{"class":4653},[4160,11716,6825],{"class":4543},[4160,11718,4803],{"class":4589},[4160,11720,8361],{"class":4633},[4160,11722,11723],{"class":4539},"Про застосунок",[4160,11725,8367],{"class":4633},[4160,11727,8344],{"class":4637},[4160,11729,4890],{"class":4633},[4160,11731,11732,11734,11736,11738,11740,11742,11744,11746,11748,11750],{"class":4162,"line":4218},[4160,11733,7267],{"class":4633},[4160,11735,8344],{"class":4637},[4160,11737,7170],{"class":4643},[4160,11739,4647],{"class":4539},[4160,11741,4650],{"class":4589},[4160,11743,8287],{"class":4543},[4160,11745,3840],{"class":4653},[4160,11747,3743],{"class":4543},[4160,11749,4803],{"class":4589},[4160,11751,4890],{"class":4633},[4160,11753,11754],{"class":4162,"line":4224},[4160,11755,11756],{"class":4539},"          Міні-проєкт статті про вкладені навігатори: Tabs → Stack нотаток →\n",[4160,11758,11759],{"class":4162,"line":4230},[4160,11760,11761],{"class":4539},"          деталі; окремо root modal створення з guard на back.\n",[4160,11763,11764,11766,11768],{"class":4162,"line":4236},[4160,11765,8414],{"class":4633},[4160,11767,8344],{"class":4637},[4160,11769,4890],{"class":4633},[4160,11771,11772,11774,11776,11778,11780,11783,11785,11787,11789,11791,11793,11796,11798],{"class":4162,"line":4242},[4160,11773,7267],{"class":4633},[4160,11775,3769],{"class":4637},[4160,11777,8610],{"class":4643},[4160,11779,4647],{"class":4539},[4160,11781,11782],{"class":4552},"\"\u002Fnotes\"",[4160,11784,7170],{"class":4643},[4160,11786,4647],{"class":4539},[4160,11788,4650],{"class":4589},[4160,11790,8287],{"class":4543},[4160,11792,3840],{"class":4653},[4160,11794,11795],{"class":4543},"link",[4160,11797,4803],{"class":4589},[4160,11799,4890],{"class":4633},[4160,11801,11802],{"class":4162,"line":4248},[4160,11803,11804],{"class":4539},"          ← До нотаток\n",[4160,11806,11807,11809,11811],{"class":4162,"line":4254},[4160,11808,8414],{"class":4633},[4160,11810,3769],{"class":4637},[4160,11812,4890],{"class":4633},[4160,11814,11815,11817,11819],{"class":4162,"line":4259},[4160,11816,7366],{"class":4633},[4160,11818,9407],{"class":4637},[4160,11820,4890],{"class":4633},[4160,11822,11823,11825,11827],{"class":4162,"line":4265},[4160,11824,4885],{"class":4633},[4160,11826,8130],{"class":4637},[4160,11828,4890],{"class":4633},[4160,11830,11831],{"class":4162,"line":4271},[4160,11832,4895],{"class":4539},[4160,11834,11835],{"class":4162,"line":4276},[4160,11836,4251],{"class":4539},[4160,11838,11839],{"class":4162,"line":4282},[4160,11840,4185],{"emptyLinePlaceholder":4184},[4160,11842,11843,11845,11847,11849,11851,11853,11855],{"class":4162,"line":4288},[4160,11844,6592],{"class":4589},[4160,11846,8957],{"class":4607},[4160,11848,5385],{"class":4539},[4160,11850,8962],{"class":4543},[4160,11852,3840],{"class":4539},[4160,11854,8967],{"class":4593},[4160,11856,8970],{"class":4539},[4160,11858,11859,11861,11863,11865,11867,11869,11871,11873],{"class":4162,"line":4294},[4160,11860,8976],{"class":4543},[4160,11862,4540],{"class":4539},[4160,11864,8981],{"class":4543},[4160,11866,8984],{"class":5485},[4160,11868,4055],{"class":4539},[4160,11870,4664],{"class":4543},[4160,11872,7206],{"class":4552},[4160,11874,4675],{"class":4539},[4160,11876,11877,11879,11881,11883,11885,11887,11889,11891],{"class":4162,"line":4300},[4160,11878,9997],{"class":4543},[4160,11880,4540],{"class":4539},[4160,11882,9125],{"class":4543},[4160,11884,9009],{"class":5485},[4160,11886,4055],{"class":4539},[4160,11888,11276],{"class":4543},[4160,11890,7542],{"class":5485},[4160,11892,4675],{"class":4539},[4160,11894,11895,11897,11899,11901,11903,11905,11907,11909,11911,11913,11915],{"class":4162,"line":4305},[4160,11896,9063],{"class":4543},[4160,11898,4540],{"class":4539},[4160,11900,7539],{"class":4543},[4160,11902,9070],{"class":5485},[4160,11904,4055],{"class":4539},[4160,11906,4711],{"class":4543},[4160,11908,9077],{"class":4552},[4160,11910,4055],{"class":4539},[4160,11912,4700],{"class":4543},[4160,11914,7230],{"class":4552},[4160,11916,4675],{"class":4539},[4160,11918,11919,11922,11924,11926,11928,11930,11933,11935,11937,11939,11941],{"class":4162,"line":4311},[4160,11920,11921],{"class":4543},"  p:",[4160,11923,4540],{"class":4539},[4160,11925,7539],{"class":4543},[4160,11927,9009],{"class":5485},[4160,11929,4055],{"class":4539},[4160,11931,11932],{"class":4543},"lineHeight:",[4160,11934,9070],{"class":5485},[4160,11936,4055],{"class":4539},[4160,11938,4700],{"class":4543},[4160,11940,10149],{"class":4552},[4160,11942,4675],{"class":4539},[4160,11944,11945,11948,11950,11952,11954,11956,11958,11960,11962,11964,11966,11968,11970,11972],{"class":4162,"line":4317},[4160,11946,11947],{"class":4543},"  link:",[4160,11949,4540],{"class":4539},[4160,11951,9096],{"class":4543},[4160,11953,9020],{"class":5485},[4160,11955,4055],{"class":4539},[4160,11957,4700],{"class":4543},[4160,11959,7216],{"class":4552},[4160,11961,4055],{"class":4539},[4160,11963,4711],{"class":4543},[4160,11965,9228],{"class":4552},[4160,11967,4055],{"class":4539},[4160,11969,7539],{"class":4543},[4160,11971,9009],{"class":5485},[4160,11973,4675],{"class":4539},[4160,11975,11976],{"class":4162,"line":4323},[4160,11977,9383],{"class":4539},[3872,11979,11981],{"id":11980},"перевірка-міні-проєкту","Перевірка міні-проєкту",[3778,11983,11984,11987,11990,11993,11996],{},[3781,11985,11986],{},"Список нотаток + вкладка «Про застосунок».",[3781,11988,11989],{},"Тап по нотатці → деталі, tab bar лишається, back → список.",[3781,11991,11992],{},"«Нова нотатка» → modal.",[3781,11994,11995],{},"Ввести текст, натиснути back → діалог. «Лишитись» \u002F «Вийти».",[3781,11997,11998],{},"«Зберегти» → modal закривається, нотатка в списку.",[3872,12000,12002],{"id":12001},"критерій-готово","Критерій «готово»",[3823,12004,12007,12019,12028,12037,12043],{"className":12005},[12006],"contains-task-list",[3781,12008,12011,12014,12015,12018],{"className":12009},[12010],"task-list-item",[10959,12012],{"disabled":4184,"type":12013},"checkbox"," Усі файли з ",[3784,12016,12017],{},"повним"," кодом підставлено",[3781,12020,12022,12024,12025],{"className":12021},[12010],[10959,12023],{"disabled":4184,"type":12013}," Nested Stack у ",[3747,12026,12027],{},"notes\u002F",[3781,12029,12031,12033,12034],{"className":12030},[12010],[10959,12032],{"disabled":4184,"type":12013}," Modal ",[3747,12035,12036],{},"modal\u002Fnew",[3781,12038,12040,12042],{"className":12039},[12010],[10959,12041],{"disabled":4184,"type":12013}," Guard на dirty",[3781,12044,12046,12048,12049,12052],{"className":12045},[12010],[10959,12047],{"disabled":4184,"type":12013}," Немає ",[3747,12050,12051],{},"useState('screen')"," замість Router",[3989,12054],{},[3738,12056,12058],{"id":12057},"nomad-стек-деталей-поїздки-та-модалки","Nomad: стек деталей поїздки та модалки",[3743,12060,12061],{},[4143,12062],{"alt":12063,"className":12064,"src":6016},"Nomad: список → деталі (tabs) → modal",[4147],[3872,12066,12068],{"id":12067},"навіщо-користувачу","Навіщо користувачу",[3823,12070,12071,12078,12085,12092],{},[3781,12072,12073,12074,12077],{},"Тап по картці поїздки відкриває ",[3784,12075,12076],{},"деталі"," (опис, мітки, місця поїздки).",[3781,12079,12080,12081,12084],{},"Tab bar ",[3784,12082,12083],{},"лишається"," — можна перейти в «Місця» \u002F «Ще».",[3781,12086,12087,12088,12091],{},"«Нова поїздка» відкривається як ",[3784,12089,12090],{},"modal"," (з форми на home, з about Link, з деталей).",[3781,12093,12094],{},"Місця з вкладки «Місця» ведуть на деталі відповідної поїздки.",[3872,12096,12098],{"id":12097},"нитка","Нитка",[3743,12100,12101,12104],{},[3784,12102,12103],{},"Уже є:"," tabs Поїздки\u002FМісця\u002FЩе, форма RHF, TripsProvider, тема, FlashList.",[3743,12106,12107],{},[3784,12108,12109],{},"Додаємо:",[4347,12111,12112,12122],{},[4350,12113,12114],{},[4353,12115,12116,12119],{},[4356,12117,12118],{},"Зміна",[4356,12120,12121],{},"Навіщо",[4373,12123,12124,12137,12150,12162,12171],{},[4353,12125,12126,12132],{},[4378,12127,12128,12131],{},[3747,12129,12130],{},"(tabs)\u002Ftrips\u002F"," + nested Stack",[4378,12133,12134,12135],{},"список + ",[3747,12136,5730],{},[4353,12138,12139,12147],{},[4378,12140,12141,4055,12144],{},[3747,12142,12143],{},"getTrip",[3747,12145,12146],{},"getPlacesForTrip",[4378,12148,12149],{},"дані деталей",[4353,12151,12152,12159],{},[4378,12153,12154,12156,12157],{},[3747,12155,4041],{}," → ",[3747,12158,3852],{},[4378,12160,12161],{},"модальна форма",[4353,12163,12164,12168],{},[4378,12165,12166],{},[3747,12167,3909],{},[4378,12169,12170],{},"якір для modal",[4353,12172,12173,12176],{},[4378,12174,12175],{},"навігація з places \u002F chips",[4378,12177,12178],{},"у деталі поїздки",[3872,12180,12182],{"id":12181},"повний-знімок","Повний знімок",[12184,12185,12187,12578,12889,12989,13495,14064,14359,17493,19774,20802,22437,22749,23011,23324,23897,24484,25175,26001,26573,26681,31053,33233,34084,35686,36418,36784,37166,38058,38198,38790,39513,39811,40731],"code-tree",{"title":12186},"Nomad після nested stack + modal",[4003,12188,12193],{"className":12189,"code":12190,"filename":12191,"language":12192,"meta":4011,"style":4011},"language-json shiki shiki-themes light-plus dark-plus dark-plus","{\n  \"name\": \"nomad\",\n  \"version\": \"1.0.0\",\n  \"main\": \"expo-router\u002Fentry\",\n  \"scripts\": {\n    \"start\": \"expo start\",\n    \"android\": \"expo start --android\",\n    \"ios\": \"expo start --ios\",\n    \"web\": \"expo start --web\"\n  },\n  \"dependencies\": {\n    \"@expo\u002Fvector-icons\": \"^15.1.1\",\n    \"@hookform\u002Fresolvers\": \"^5.7.1\",\n    \"@react-native-community\u002Fcheckbox\": \"^0.6.0\",\n    \"@react-native-community\u002Fdatetimepicker\": \"8.4.4\",\n    \"@react-native-community\u002Fslider\": \"5.0.1\",\n    \"@react-native-picker\u002Fpicker\": \"2.11.1\",\n    \"@shopify\u002Fflash-list\": \"^2.3.2\",\n    \"expo\": \"~54.0.35\",\n    \"expo-constants\": \"~18.0.13\",\n    \"expo-linking\": \"~8.0.12\",\n    \"expo-router\": \"~6.0.24\",\n    \"expo-status-bar\": \"~3.0.9\",\n    \"react\": \"19.1.0\",\n    \"react-hook-form\": \"^7.84.0\",\n    \"react-native\": \"0.81.5\",\n    \"react-native-safe-area-context\": \"~5.6.0\",\n    \"react-native-screens\": \"~4.16.0\",\n    \"zod\": \"^4.4.3\"\n  },\n  \"devDependencies\": {\n    \"@expo\u002Fngrok\": \"^4.1.3\",\n    \"@types\u002Freact\": \"~19.1.0\",\n    \"typescript\": \"~5.9.2\"\n  },\n  \"private\": true\n}\n","package.json","json",[3747,12194,12195,12199,12212,12224,12236,12244,12256,12268,12280,12290,12294,12301,12313,12325,12337,12349,12361,12373,12385,12397,12409,12421,12433,12445,12457,12469,12481,12493,12505,12515,12519,12526,12538,12550,12560,12564,12574],{"__ignoreMap":4011},[4160,12196,12197],{"class":4162,"line":4163},[4160,12198,4654],{"class":4539},[4160,12200,12201,12205,12207,12210],{"class":4162,"line":4169},[4160,12202,12204],{"class":12203},"sLwNe","  \"name\"",[4160,12206,5814],{"class":4539},[4160,12208,12209],{"class":4552},"\"nomad\"",[4160,12211,4690],{"class":4539},[4160,12213,12214,12217,12219,12222],{"class":4162,"line":4175},[4160,12215,12216],{"class":12203},"  \"version\"",[4160,12218,5814],{"class":4539},[4160,12220,12221],{"class":4552},"\"1.0.0\"",[4160,12223,4690],{"class":4539},[4160,12225,12226,12229,12231,12234],{"class":4162,"line":4181},[4160,12227,12228],{"class":12203},"  \"main\"",[4160,12230,5814],{"class":4539},[4160,12232,12233],{"class":4552},"\"expo-router\u002Fentry\"",[4160,12235,4690],{"class":4539},[4160,12237,12238,12241],{"class":4162,"line":4188},[4160,12239,12240],{"class":12203},"  \"scripts\"",[4160,12242,12243],{"class":4539},": {\n",[4160,12245,12246,12249,12251,12254],{"class":4162,"line":4194},[4160,12247,12248],{"class":12203},"    \"start\"",[4160,12250,5814],{"class":4539},[4160,12252,12253],{"class":4552},"\"expo start\"",[4160,12255,4690],{"class":4539},[4160,12257,12258,12261,12263,12266],{"class":4162,"line":4200},[4160,12259,12260],{"class":12203},"    \"android\"",[4160,12262,5814],{"class":4539},[4160,12264,12265],{"class":4552},"\"expo start --android\"",[4160,12267,4690],{"class":4539},[4160,12269,12270,12273,12275,12278],{"class":4162,"line":4206},[4160,12271,12272],{"class":12203},"    \"ios\"",[4160,12274,5814],{"class":4539},[4160,12276,12277],{"class":4552},"\"expo start --ios\"",[4160,12279,4690],{"class":4539},[4160,12281,12282,12285,12287],{"class":4162,"line":4212},[4160,12283,12284],{"class":12203},"    \"web\"",[4160,12286,5814],{"class":4539},[4160,12288,12289],{"class":4552},"\"expo start --web\"\n",[4160,12291,12292],{"class":4162,"line":4218},[4160,12293,6526],{"class":4539},[4160,12295,12296,12299],{"class":4162,"line":4224},[4160,12297,12298],{"class":12203},"  \"dependencies\"",[4160,12300,12243],{"class":4539},[4160,12302,12303,12306,12308,12311],{"class":4162,"line":4230},[4160,12304,12305],{"class":12203},"    \"@expo\u002Fvector-icons\"",[4160,12307,5814],{"class":4539},[4160,12309,12310],{"class":4552},"\"^15.1.1\"",[4160,12312,4690],{"class":4539},[4160,12314,12315,12318,12320,12323],{"class":4162,"line":4236},[4160,12316,12317],{"class":12203},"    \"@hookform\u002Fresolvers\"",[4160,12319,5814],{"class":4539},[4160,12321,12322],{"class":4552},"\"^5.7.1\"",[4160,12324,4690],{"class":4539},[4160,12326,12327,12330,12332,12335],{"class":4162,"line":4242},[4160,12328,12329],{"class":12203},"    \"@react-native-community\u002Fcheckbox\"",[4160,12331,5814],{"class":4539},[4160,12333,12334],{"class":4552},"\"^0.6.0\"",[4160,12336,4690],{"class":4539},[4160,12338,12339,12342,12344,12347],{"class":4162,"line":4248},[4160,12340,12341],{"class":12203},"    \"@react-native-community\u002Fdatetimepicker\"",[4160,12343,5814],{"class":4539},[4160,12345,12346],{"class":4552},"\"8.4.4\"",[4160,12348,4690],{"class":4539},[4160,12350,12351,12354,12356,12359],{"class":4162,"line":4254},[4160,12352,12353],{"class":12203},"    \"@react-native-community\u002Fslider\"",[4160,12355,5814],{"class":4539},[4160,12357,12358],{"class":4552},"\"5.0.1\"",[4160,12360,4690],{"class":4539},[4160,12362,12363,12366,12368,12371],{"class":4162,"line":4259},[4160,12364,12365],{"class":12203},"    \"@react-native-picker\u002Fpicker\"",[4160,12367,5814],{"class":4539},[4160,12369,12370],{"class":4552},"\"2.11.1\"",[4160,12372,4690],{"class":4539},[4160,12374,12375,12378,12380,12383],{"class":4162,"line":4265},[4160,12376,12377],{"class":12203},"    \"@shopify\u002Fflash-list\"",[4160,12379,5814],{"class":4539},[4160,12381,12382],{"class":4552},"\"^2.3.2\"",[4160,12384,4690],{"class":4539},[4160,12386,12387,12390,12392,12395],{"class":4162,"line":4271},[4160,12388,12389],{"class":12203},"    \"expo\"",[4160,12391,5814],{"class":4539},[4160,12393,12394],{"class":4552},"\"~54.0.35\"",[4160,12396,4690],{"class":4539},[4160,12398,12399,12402,12404,12407],{"class":4162,"line":4276},[4160,12400,12401],{"class":12203},"    \"expo-constants\"",[4160,12403,5814],{"class":4539},[4160,12405,12406],{"class":4552},"\"~18.0.13\"",[4160,12408,4690],{"class":4539},[4160,12410,12411,12414,12416,12419],{"class":4162,"line":4282},[4160,12412,12413],{"class":12203},"    \"expo-linking\"",[4160,12415,5814],{"class":4539},[4160,12417,12418],{"class":4552},"\"~8.0.12\"",[4160,12420,4690],{"class":4539},[4160,12422,12423,12426,12428,12431],{"class":4162,"line":4288},[4160,12424,12425],{"class":12203},"    \"expo-router\"",[4160,12427,5814],{"class":4539},[4160,12429,12430],{"class":4552},"\"~6.0.24\"",[4160,12432,4690],{"class":4539},[4160,12434,12435,12438,12440,12443],{"class":4162,"line":4294},[4160,12436,12437],{"class":12203},"    \"expo-status-bar\"",[4160,12439,5814],{"class":4539},[4160,12441,12442],{"class":4552},"\"~3.0.9\"",[4160,12444,4690],{"class":4539},[4160,12446,12447,12450,12452,12455],{"class":4162,"line":4300},[4160,12448,12449],{"class":12203},"    \"react\"",[4160,12451,5814],{"class":4539},[4160,12453,12454],{"class":4552},"\"19.1.0\"",[4160,12456,4690],{"class":4539},[4160,12458,12459,12462,12464,12467],{"class":4162,"line":4305},[4160,12460,12461],{"class":12203},"    \"react-hook-form\"",[4160,12463,5814],{"class":4539},[4160,12465,12466],{"class":4552},"\"^7.84.0\"",[4160,12468,4690],{"class":4539},[4160,12470,12471,12474,12476,12479],{"class":4162,"line":4311},[4160,12472,12473],{"class":12203},"    \"react-native\"",[4160,12475,5814],{"class":4539},[4160,12477,12478],{"class":4552},"\"0.81.5\"",[4160,12480,4690],{"class":4539},[4160,12482,12483,12486,12488,12491],{"class":4162,"line":4317},[4160,12484,12485],{"class":12203},"    \"react-native-safe-area-context\"",[4160,12487,5814],{"class":4539},[4160,12489,12490],{"class":4552},"\"~5.6.0\"",[4160,12492,4690],{"class":4539},[4160,12494,12495,12498,12500,12503],{"class":4162,"line":4323},[4160,12496,12497],{"class":12203},"    \"react-native-screens\"",[4160,12499,5814],{"class":4539},[4160,12501,12502],{"class":4552},"\"~4.16.0\"",[4160,12504,4690],{"class":4539},[4160,12506,12507,12510,12512],{"class":4162,"line":4328},[4160,12508,12509],{"class":12203},"    \"zod\"",[4160,12511,5814],{"class":4539},[4160,12513,12514],{"class":4552},"\"^4.4.3\"\n",[4160,12516,12517],{"class":4162,"line":4333},[4160,12518,6526],{"class":4539},[4160,12520,12521,12524],{"class":4162,"line":5663},[4160,12522,12523],{"class":12203},"  \"devDependencies\"",[4160,12525,12243],{"class":4539},[4160,12527,12528,12531,12533,12536],{"class":4162,"line":5676},[4160,12529,12530],{"class":12203},"    \"@expo\u002Fngrok\"",[4160,12532,5814],{"class":4539},[4160,12534,12535],{"class":4552},"\"^4.1.3\"",[4160,12537,4690],{"class":4539},[4160,12539,12540,12543,12545,12548],{"class":4162,"line":6728},[4160,12541,12542],{"class":12203},"    \"@types\u002Freact\"",[4160,12544,5814],{"class":4539},[4160,12546,12547],{"class":4552},"\"~19.1.0\"",[4160,12549,4690],{"class":4539},[4160,12551,12552,12555,12557],{"class":4162,"line":6733},[4160,12553,12554],{"class":12203},"    \"typescript\"",[4160,12556,5814],{"class":4539},[4160,12558,12559],{"class":4552},"\"~5.9.2\"\n",[4160,12561,12562],{"class":4162,"line":6738},[4160,12563,6526],{"class":4539},[4160,12565,12566,12569,12571],{"class":4162,"line":6768},[4160,12567,12568],{"class":12203},"  \"private\"",[4160,12570,5814],{"class":4539},[4160,12572,12573],{"class":4589},"true\n",[4160,12575,12576],{"class":4162,"line":6803},[4160,12577,4251],{"class":4539},[4003,12579,12582],{"className":12189,"code":12580,"filename":12581,"language":12192,"meta":4011,"style":4011},"{\n  \"expo\": {\n    \"name\": \"Nomad\",\n    \"slug\": \"nomad\",\n    \"version\": \"1.0.0\",\n    \"orientation\": \"portrait\",\n    \"icon\": \".\u002Fassets\u002Ficon.png\",\n    \"userInterfaceStyle\": \"light\",\n    \"scheme\": \"nomad\",\n    \"newArchEnabled\": true,\n    \"splash\": {\n      \"image\": \".\u002Fassets\u002Fsplash-icon.png\",\n      \"resizeMode\": \"contain\",\n      \"backgroundColor\": \"#ffffff\"\n    },\n    \"ios\": {\n      \"supportsTablet\": true\n    },\n    \"android\": {\n      \"adaptiveIcon\": {\n        \"foregroundImage\": \".\u002Fassets\u002Fadaptive-icon.png\",\n        \"backgroundColor\": \"#ffffff\"\n      },\n      \"edgeToEdgeEnabled\": true,\n      \"predictiveBackGestureEnabled\": false\n    },\n    \"web\": {\n      \"favicon\": \".\u002Fassets\u002Ffavicon.png\"\n    },\n    \"plugins\": [\n      \"expo-router\",\n      \"@react-native-community\u002Fdatetimepicker\"\n    ],\n    \"experiments\": {\n      \"typedRoutes\": true\n    }\n  }\n}\n","app.json",[3747,12583,12584,12588,12595,12607,12618,12629,12641,12653,12665,12676,12687,12694,12706,12718,12728,12733,12739,12748,12752,12758,12765,12777,12786,12791,12802,12812,12816,12822,12832,12836,12844,12851,12856,12861,12868,12877,12881,12885],{"__ignoreMap":4011},[4160,12585,12586],{"class":4162,"line":4163},[4160,12587,4654],{"class":4539},[4160,12589,12590,12593],{"class":4162,"line":4169},[4160,12591,12592],{"class":12203},"  \"expo\"",[4160,12594,12243],{"class":4539},[4160,12596,12597,12600,12602,12605],{"class":4162,"line":4175},[4160,12598,12599],{"class":12203},"    \"name\"",[4160,12601,5814],{"class":4539},[4160,12603,12604],{"class":4552},"\"Nomad\"",[4160,12606,4690],{"class":4539},[4160,12608,12609,12612,12614,12616],{"class":4162,"line":4181},[4160,12610,12611],{"class":12203},"    \"slug\"",[4160,12613,5814],{"class":4539},[4160,12615,12209],{"class":4552},[4160,12617,4690],{"class":4539},[4160,12619,12620,12623,12625,12627],{"class":4162,"line":4188},[4160,12621,12622],{"class":12203},"    \"version\"",[4160,12624,5814],{"class":4539},[4160,12626,12221],{"class":4552},[4160,12628,4690],{"class":4539},[4160,12630,12631,12634,12636,12639],{"class":4162,"line":4194},[4160,12632,12633],{"class":12203},"    \"orientation\"",[4160,12635,5814],{"class":4539},[4160,12637,12638],{"class":4552},"\"portrait\"",[4160,12640,4690],{"class":4539},[4160,12642,12643,12646,12648,12651],{"class":4162,"line":4200},[4160,12644,12645],{"class":12203},"    \"icon\"",[4160,12647,5814],{"class":4539},[4160,12649,12650],{"class":4552},"\".\u002Fassets\u002Ficon.png\"",[4160,12652,4690],{"class":4539},[4160,12654,12655,12658,12660,12663],{"class":4162,"line":4206},[4160,12656,12657],{"class":12203},"    \"userInterfaceStyle\"",[4160,12659,5814],{"class":4539},[4160,12661,12662],{"class":4552},"\"light\"",[4160,12664,4690],{"class":4539},[4160,12666,12667,12670,12672,12674],{"class":4162,"line":4212},[4160,12668,12669],{"class":12203},"    \"scheme\"",[4160,12671,5814],{"class":4539},[4160,12673,12209],{"class":4552},[4160,12675,4690],{"class":4539},[4160,12677,12678,12681,12683,12685],{"class":4162,"line":4218},[4160,12679,12680],{"class":12203},"    \"newArchEnabled\"",[4160,12682,5814],{"class":4539},[4160,12684,5693],{"class":4589},[4160,12686,4690],{"class":4539},[4160,12688,12689,12692],{"class":4162,"line":4224},[4160,12690,12691],{"class":12203},"    \"splash\"",[4160,12693,12243],{"class":4539},[4160,12695,12696,12699,12701,12704],{"class":4162,"line":4230},[4160,12697,12698],{"class":12203},"      \"image\"",[4160,12700,5814],{"class":4539},[4160,12702,12703],{"class":4552},"\".\u002Fassets\u002Fsplash-icon.png\"",[4160,12705,4690],{"class":4539},[4160,12707,12708,12711,12713,12716],{"class":4162,"line":4236},[4160,12709,12710],{"class":12203},"      \"resizeMode\"",[4160,12712,5814],{"class":4539},[4160,12714,12715],{"class":4552},"\"contain\"",[4160,12717,4690],{"class":4539},[4160,12719,12720,12723,12725],{"class":4162,"line":4242},[4160,12721,12722],{"class":12203},"      \"backgroundColor\"",[4160,12724,5814],{"class":4539},[4160,12726,12727],{"class":4552},"\"#ffffff\"\n",[4160,12729,12730],{"class":4162,"line":4248},[4160,12731,12732],{"class":4539},"    },\n",[4160,12734,12735,12737],{"class":4162,"line":4254},[4160,12736,12272],{"class":12203},[4160,12738,12243],{"class":4539},[4160,12740,12741,12744,12746],{"class":4162,"line":4259},[4160,12742,12743],{"class":12203},"      \"supportsTablet\"",[4160,12745,5814],{"class":4539},[4160,12747,12573],{"class":4589},[4160,12749,12750],{"class":4162,"line":4265},[4160,12751,12732],{"class":4539},[4160,12753,12754,12756],{"class":4162,"line":4271},[4160,12755,12260],{"class":12203},[4160,12757,12243],{"class":4539},[4160,12759,12760,12763],{"class":4162,"line":4276},[4160,12761,12762],{"class":12203},"      \"adaptiveIcon\"",[4160,12764,12243],{"class":4539},[4160,12766,12767,12770,12772,12775],{"class":4162,"line":4282},[4160,12768,12769],{"class":12203},"        \"foregroundImage\"",[4160,12771,5814],{"class":4539},[4160,12773,12774],{"class":4552},"\".\u002Fassets\u002Fadaptive-icon.png\"",[4160,12776,4690],{"class":4539},[4160,12778,12779,12782,12784],{"class":4162,"line":4288},[4160,12780,12781],{"class":12203},"        \"backgroundColor\"",[4160,12783,5814],{"class":4539},[4160,12785,12727],{"class":4552},[4160,12787,12788],{"class":4162,"line":4294},[4160,12789,12790],{"class":4539},"      },\n",[4160,12792,12793,12796,12798,12800],{"class":4162,"line":4300},[4160,12794,12795],{"class":12203},"      \"edgeToEdgeEnabled\"",[4160,12797,5814],{"class":4539},[4160,12799,5693],{"class":4589},[4160,12801,4690],{"class":4539},[4160,12803,12804,12807,12809],{"class":4162,"line":4305},[4160,12805,12806],{"class":12203},"      \"predictiveBackGestureEnabled\"",[4160,12808,5814],{"class":4539},[4160,12810,12811],{"class":4589},"false\n",[4160,12813,12814],{"class":4162,"line":4311},[4160,12815,12732],{"class":4539},[4160,12817,12818,12820],{"class":4162,"line":4317},[4160,12819,12284],{"class":12203},[4160,12821,12243],{"class":4539},[4160,12823,12824,12827,12829],{"class":4162,"line":4323},[4160,12825,12826],{"class":12203},"      \"favicon\"",[4160,12828,5814],{"class":4539},[4160,12830,12831],{"class":4552},"\".\u002Fassets\u002Ffavicon.png\"\n",[4160,12833,12834],{"class":4162,"line":4328},[4160,12835,12732],{"class":4539},[4160,12837,12838,12841],{"class":4162,"line":4333},[4160,12839,12840],{"class":12203},"    \"plugins\"",[4160,12842,12843],{"class":4539},": [\n",[4160,12845,12846,12849],{"class":4162,"line":5663},[4160,12847,12848],{"class":4552},"      \"expo-router\"",[4160,12850,4690],{"class":4539},[4160,12852,12853],{"class":4162,"line":5676},[4160,12854,12855],{"class":4552},"      \"@react-native-community\u002Fdatetimepicker\"\n",[4160,12857,12858],{"class":4162,"line":6728},[4160,12859,12860],{"class":4539},"    ],\n",[4160,12862,12863,12866],{"class":4162,"line":6733},[4160,12864,12865],{"class":12203},"    \"experiments\"",[4160,12867,12243],{"class":4539},[4160,12869,12870,12873,12875],{"class":4162,"line":6738},[4160,12871,12872],{"class":12203},"      \"typedRoutes\"",[4160,12874,5814],{"class":4539},[4160,12876,12573],{"class":4589},[4160,12878,12879],{"class":4162,"line":6768},[4160,12880,4221],{"class":4539},[4160,12882,12883],{"class":4162,"line":6803},[4160,12884,4239],{"class":4539},[4160,12886,12887],{"class":4162,"line":6808},[4160,12888,4251],{"class":4539},[4003,12890,12893],{"className":12189,"code":12891,"filename":12892,"language":12192,"meta":4011,"style":4011},"{\n  \"extends\": \"expo\u002Ftsconfig.base\",\n  \"compilerOptions\": {\n    \"strict\": true,\n    \"paths\": {\n      \"@\u002F*\": [\n        \".\u002Fsrc\u002F*\"\n      ]\n    }\n  },\n  \"include\": [\n    \"**\u002F*.ts\",\n    \"**\u002F*.tsx\"\n  ]\n}\n","tsconfig.json",[3747,12894,12895,12899,12911,12918,12929,12936,12943,12948,12953,12957,12961,12968,12975,12980,12985],{"__ignoreMap":4011},[4160,12896,12897],{"class":4162,"line":4163},[4160,12898,4654],{"class":4539},[4160,12900,12901,12904,12906,12909],{"class":4162,"line":4169},[4160,12902,12903],{"class":12203},"  \"extends\"",[4160,12905,5814],{"class":4539},[4160,12907,12908],{"class":4552},"\"expo\u002Ftsconfig.base\"",[4160,12910,4690],{"class":4539},[4160,12912,12913,12916],{"class":4162,"line":4175},[4160,12914,12915],{"class":12203},"  \"compilerOptions\"",[4160,12917,12243],{"class":4539},[4160,12919,12920,12923,12925,12927],{"class":4162,"line":4181},[4160,12921,12922],{"class":12203},"    \"strict\"",[4160,12924,5814],{"class":4539},[4160,12926,5693],{"class":4589},[4160,12928,4690],{"class":4539},[4160,12930,12931,12934],{"class":4162,"line":4188},[4160,12932,12933],{"class":12203},"    \"paths\"",[4160,12935,12243],{"class":4539},[4160,12937,12938,12941],{"class":4162,"line":4194},[4160,12939,12940],{"class":12203},"      \"@\u002F*\"",[4160,12942,12843],{"class":4539},[4160,12944,12945],{"class":4162,"line":4200},[4160,12946,12947],{"class":4552},"        \".\u002Fsrc\u002F*\"\n",[4160,12949,12950],{"class":4162,"line":4206},[4160,12951,12952],{"class":4539},"      ]\n",[4160,12954,12955],{"class":4162,"line":4212},[4160,12956,4221],{"class":4539},[4160,12958,12959],{"class":4162,"line":4218},[4160,12960,6526],{"class":4539},[4160,12962,12963,12966],{"class":4162,"line":4224},[4160,12964,12965],{"class":12203},"  \"include\"",[4160,12967,12843],{"class":4539},[4160,12969,12970,12973],{"class":4162,"line":4230},[4160,12971,12972],{"class":4552},"    \"**\u002F*.ts\"",[4160,12974,4690],{"class":4539},[4160,12976,12977],{"class":4162,"line":4236},[4160,12978,12979],{"class":4552},"    \"**\u002F*.tsx\"\n",[4160,12981,12982],{"class":4162,"line":4242},[4160,12983,12984],{"class":4539},"  ]\n",[4160,12986,12987],{"class":4162,"line":4248},[4160,12988,4251],{"class":4539},[4003,12990,12992],{"className":4526,"code":12991,"filename":4099,"language":4528,"meta":4011,"style":4011},"import { Stack } from 'expo-router';\nimport { StatusBar } from 'expo-status-bar';\n\nimport { TripsProvider } from '@\u002Ffeatures\u002Ftrips';\nimport { ThemeProvider, useTheme } from '@\u002Fshared\u002Ftheme';\n\n\u002F**\n * Кореневий Stack:\n * - (tabs) — вкладки (всередині «Поїздки» ще один Stack)\n * - create-trip — modal поверх усього (вкладки ховаються)\n *\n * initialRouteName: щоб deep link \u002F reload на modal мав куди «спертись».\n *\u002F\nexport const unstable_settings = {\n  initialRouteName: '(tabs)',\n};\n\nfunction RootNavigator() {\n  const { colors, scheme } = useTheme();\n\n  return (\n    \u003C>\n      \u003CStatusBar style={scheme === 'dark' ? 'light' : 'dark'} \u002F>\n      \u003CStack\n        screenOptions={{\n          contentStyle: { backgroundColor: colors.background },\n          headerStyle: { backgroundColor: colors.background },\n          headerTintColor: colors.primary,\n          headerTitleStyle: { color: colors.text, fontWeight: '600' },\n          headerShadowVisible: false,\n        }}\n      >\n        \u003CStack.Screen name=\"(tabs)\" options={{ headerShown: false }} \u002F>\n        \u003CStack.Screen\n          name=\"create-trip\"\n          options={{\n            headerShown: true,\n            title: 'Нова поїздка',\n            presentation: 'modal',\n            headerBackTitle: 'Закрити',\n          }}\n        \u002F>\n      \u003C\u002FStack>\n    \u003C\u002F>\n  );\n}\n\nexport default function RootLayout() {\n  return (\n    \u003CThemeProvider>\n      \u003CTripsProvider>\n        \u003CRootNavigator \u002F>\n      \u003C\u002FTripsProvider>\n    \u003C\u002FThemeProvider>\n  );\n}\n",[3747,12993,12994,13010,13026,13030,13046,13067,13071,13076,13081,13086,13091,13096,13101,13106,13116,13124,13128,13132,13141,13160,13164,13170,13174,13206,13212,13222,13238,13254,13266,13288,13297,13303,13307,13337,13343,13351,13361,13370,13378,13386,13394,13400,13404,13412,13416,13420,13424,13428,13440,13446,13454,13462,13471,13479,13487,13491],{"__ignoreMap":4011},[4160,12995,12996,12998,13000,13002,13004,13006,13008],{"class":4162,"line":4163},[4160,12997,4536],{"class":4535},[4160,12999,4540],{"class":4539},[4160,13001,3757],{"class":4543},[4160,13003,4546],{"class":4539},[4160,13005,4549],{"class":4535},[4160,13007,4553],{"class":4552},[4160,13009,4556],{"class":4539},[4160,13011,13012,13014,13016,13018,13020,13022,13024],{"class":4162,"line":4169},[4160,13013,4536],{"class":4535},[4160,13015,4540],{"class":4539},[4160,13017,7098],{"class":4543},[4160,13019,4546],{"class":4539},[4160,13021,4549],{"class":4535},[4160,13023,7105],{"class":4552},[4160,13025,4556],{"class":4539},[4160,13027,13028],{"class":4162,"line":4175},[4160,13029,4185],{"emptyLinePlaceholder":4184},[4160,13031,13032,13034,13036,13038,13040,13042,13044],{"class":4162,"line":4181},[4160,13033,4536],{"class":4535},[4160,13035,4540],{"class":4539},[4160,13037,6086],{"class":4543},[4160,13039,4546],{"class":4539},[4160,13041,4549],{"class":4535},[4160,13043,5769],{"class":4552},[4160,13045,4556],{"class":4539},[4160,13047,13048,13050,13052,13055,13057,13059,13061,13063,13065],{"class":4162,"line":4188},[4160,13049,4536],{"class":4535},[4160,13051,4540],{"class":4539},[4160,13053,13054],{"class":4543},"ThemeProvider",[4160,13056,4055],{"class":4539},[4160,13058,4565],{"class":4543},[4160,13060,4546],{"class":4539},[4160,13062,4549],{"class":4535},[4160,13064,4572],{"class":4552},[4160,13066,4556],{"class":4539},[4160,13068,13069],{"class":4162,"line":4194},[4160,13070,4185],{"emptyLinePlaceholder":4184},[4160,13072,13073],{"class":4162,"line":4200},[4160,13074,13075],{"class":4763},"\u002F**\n",[4160,13077,13078],{"class":4162,"line":4206},[4160,13079,13080],{"class":4763}," * Кореневий Stack:\n",[4160,13082,13083],{"class":4162,"line":4212},[4160,13084,13085],{"class":4763}," * - (tabs) — вкладки (всередині «Поїздки» ще один Stack)\n",[4160,13087,13088],{"class":4162,"line":4218},[4160,13089,13090],{"class":4763}," * - create-trip — modal поверх усього (вкладки ховаються)\n",[4160,13092,13093],{"class":4162,"line":4224},[4160,13094,13095],{"class":4763}," *\n",[4160,13097,13098],{"class":4162,"line":4230},[4160,13099,13100],{"class":4763}," * initialRouteName: щоб deep link \u002F reload на modal мав куди «спертись».\n",[4160,13102,13103],{"class":4162,"line":4236},[4160,13104,13105],{"class":4763}," *\u002F\n",[4160,13107,13108,13110,13112,13114],{"class":4162,"line":4242},[4160,13109,4583],{"class":4535},[4160,13111,5150],{"class":4589},[4160,13113,5153],{"class":4607},[4160,13115,5156],{"class":4539},[4160,13117,13118,13120,13122],{"class":4162,"line":4248},[4160,13119,5161],{"class":4543},[4160,13121,5164],{"class":4552},[4160,13123,4690],{"class":4539},[4160,13125,13126],{"class":4162,"line":4254},[4160,13127,5171],{"class":4539},[4160,13129,13130],{"class":4162,"line":4259},[4160,13131,4185],{"emptyLinePlaceholder":4184},[4160,13133,13134,13136,13139],{"class":4162,"line":4265},[4160,13135,6620],{"class":4589},[4160,13137,13138],{"class":4593}," RootNavigator",[4160,13140,4597],{"class":4539},[4160,13142,13143,13145,13147,13149,13151,13154,13156,13158],{"class":4162,"line":4271},[4160,13144,4602],{"class":4589},[4160,13146,4540],{"class":4539},[4160,13148,4608],{"class":4607},[4160,13150,4055],{"class":4539},[4160,13152,13153],{"class":4607},"scheme",[4160,13155,4611],{"class":4539},[4160,13157,4565],{"class":4593},[4160,13159,4616],{"class":4539},[4160,13161,13162],{"class":4162,"line":4276},[4160,13163,4185],{"emptyLinePlaceholder":4184},[4160,13165,13166,13168],{"class":4162,"line":4282},[4160,13167,4625],{"class":4535},[4160,13169,4628],{"class":4539},[4160,13171,13172],{"class":4162,"line":4288},[4160,13173,7161],{"class":4633},[4160,13175,13176,13178,13180,13182,13184,13186,13188,13190,13193,13195,13198,13200,13202,13204],{"class":4162,"line":4294},[4160,13177,4771],{"class":4633},[4160,13179,7098],{"class":4637},[4160,13181,7170],{"class":4643},[4160,13183,4647],{"class":4539},[4160,13185,4650],{"class":4589},[4160,13187,13153],{"class":4543},[4160,13189,10823],{"class":4539},[4160,13191,13192],{"class":4552}," 'dark'",[4160,13194,10829],{"class":4539},[4160,13196,13197],{"class":4552}," 'light'",[4160,13199,10835],{"class":4539},[4160,13201,13192],{"class":4552},[4160,13203,4803],{"class":4589},[4160,13205,4806],{"class":4633},[4160,13207,13208,13210],{"class":4162,"line":4300},[4160,13209,4771],{"class":4633},[4160,13211,4638],{"class":4637},[4160,13213,13214,13216,13218,13220],{"class":4162,"line":4305},[4160,13215,7188],{"class":4643},[4160,13217,4647],{"class":4539},[4160,13219,4650],{"class":4589},[4160,13221,4654],{"class":4653},[4160,13223,13224,13226,13228,13230,13232,13234,13236],{"class":4162,"line":4311},[4160,13225,7243],{"class":4543},[4160,13227,4540],{"class":4653},[4160,13229,4664],{"class":4543},[4160,13231,4667],{"class":4543},[4160,13233,3840],{"class":4653},[4160,13235,4672],{"class":4543},[4160,13237,4675],{"class":4653},[4160,13239,13240,13242,13244,13246,13248,13250,13252],{"class":4162,"line":4317},[4160,13241,7199],{"class":4543},[4160,13243,4540],{"class":4653},[4160,13245,4664],{"class":4543},[4160,13247,4667],{"class":4543},[4160,13249,3840],{"class":4653},[4160,13251,4672],{"class":4543},[4160,13253,4675],{"class":4653},[4160,13255,13256,13258,13260,13262,13264],{"class":4162,"line":4323},[4160,13257,7213],{"class":4543},[4160,13259,4667],{"class":4543},[4160,13261,3840],{"class":4653},[4160,13263,4687],{"class":4543},[4160,13265,4690],{"class":4653},[4160,13267,13268,13270,13272,13274,13276,13278,13280,13282,13284,13286],{"class":4162,"line":4328},[4160,13269,7223],{"class":4543},[4160,13271,4540],{"class":4653},[4160,13273,4700],{"class":4543},[4160,13275,4667],{"class":4543},[4160,13277,3840],{"class":4653},[4160,13279,4008],{"class":4543},[4160,13281,4055],{"class":4653},[4160,13283,4711],{"class":4543},[4160,13285,4714],{"class":4552},[4160,13287,4675],{"class":4653},[4160,13289,13290,13293,13295],{"class":4162,"line":4333},[4160,13291,13292],{"class":4543},"          headerShadowVisible:",[4160,13294,4724],{"class":4589},[4160,13296,4690],{"class":4653},[4160,13298,13299,13301],{"class":4162,"line":5663},[4160,13300,4873],{"class":4653},[4160,13302,4251],{"class":4589},[4160,13304,13305],{"class":4162,"line":5676},[4160,13306,7262],{"class":4633},[4160,13308,13309,13311,13313,13315,13317,13319,13321,13323,13325,13327,13329,13331,13333,13335],{"class":4162,"line":6728},[4160,13310,7267],{"class":4633},[4160,13312,4774],{"class":4637},[4160,13314,4777],{"class":4643},[4160,13316,4647],{"class":4539},[4160,13318,7276],{"class":4552},[4160,13320,4785],{"class":4643},[4160,13322,4647],{"class":4539},[4160,13324,4650],{"class":4589},[4160,13326,4792],{"class":4653},[4160,13328,4795],{"class":4543},[4160,13330,4724],{"class":4589},[4160,13332,4800],{"class":4653},[4160,13334,4803],{"class":4589},[4160,13336,4806],{"class":4633},[4160,13338,13339,13341],{"class":4162,"line":6733},[4160,13340,7267],{"class":4633},[4160,13342,4827],{"class":4637},[4160,13344,13345,13347,13349],{"class":4162,"line":6738},[4160,13346,7305],{"class":4643},[4160,13348,4647],{"class":4539},[4160,13350,5030],{"class":4552},[4160,13352,13353,13355,13357,13359],{"class":4162,"line":6768},[4160,13354,7315],{"class":4643},[4160,13356,4647],{"class":4539},[4160,13358,4650],{"class":4589},[4160,13360,4654],{"class":4653},[4160,13362,13363,13366,13368],{"class":4162,"line":6803},[4160,13364,13365],{"class":4543},"            headerShown:",[4160,13367,5069],{"class":4589},[4160,13369,4690],{"class":4653},[4160,13371,13372,13374,13376],{"class":4162,"line":6808},[4160,13373,7335],{"class":4543},[4160,13375,5059],{"class":4552},[4160,13377,4690],{"class":4653},[4160,13379,13380,13382,13384],{"class":4162,"line":6813},[4160,13381,7326],{"class":4543},[4160,13383,5049],{"class":4552},[4160,13385,4690],{"class":4653},[4160,13387,13388,13390,13392],{"class":4162,"line":6847},[4160,13389,7345],{"class":4543},[4160,13391,5079],{"class":4552},[4160,13393,4690],{"class":4653},[4160,13395,13396,13398],{"class":4162,"line":6861},[4160,13397,7354],{"class":4653},[4160,13399,4251],{"class":4589},[4160,13401,13402],{"class":4162,"line":6881},[4160,13403,7361],{"class":4633},[4160,13405,13406,13408,13410],{"class":4162,"line":6901},[4160,13407,7366],{"class":4633},[4160,13409,3757],{"class":4637},[4160,13411,4890],{"class":4633},[4160,13413,13414],{"class":4162,"line":6916},[4160,13415,7375],{"class":4633},[4160,13417,13418],{"class":4162,"line":6929},[4160,13419,4895],{"class":4539},[4160,13421,13422],{"class":4162,"line":6935},[4160,13423,4251],{"class":4539},[4160,13425,13426],{"class":4162,"line":6953},[4160,13427,4185],{"emptyLinePlaceholder":4184},[4160,13429,13430,13432,13434,13436,13438],{"class":4162,"line":6961},[4160,13431,4583],{"class":4535},[4160,13433,4586],{"class":4535},[4160,13435,4590],{"class":4589},[4160,13437,7148],{"class":4593},[4160,13439,4597],{"class":4539},[4160,13441,13442,13444],{"class":4162,"line":6970},[4160,13443,4625],{"class":4535},[4160,13445,4628],{"class":4539},[4160,13447,13448,13450,13452],{"class":4162,"line":6975},[4160,13449,4634],{"class":4633},[4160,13451,13054],{"class":4637},[4160,13453,4890],{"class":4633},[4160,13455,13456,13458,13460],{"class":4162,"line":6980},[4160,13457,4771],{"class":4633},[4160,13459,6086],{"class":4637},[4160,13461,4890],{"class":4633},[4160,13463,13464,13466,13469],{"class":4162,"line":7008},[4160,13465,7267],{"class":4633},[4160,13467,13468],{"class":4637},"RootNavigator",[4160,13470,4806],{"class":4633},[4160,13472,13473,13475,13477],{"class":4162,"line":7024},[4160,13474,7366],{"class":4633},[4160,13476,6086],{"class":4637},[4160,13478,4890],{"class":4633},[4160,13480,13481,13483,13485],{"class":4162,"line":7035},[4160,13482,4885],{"class":4633},[4160,13484,13054],{"class":4637},[4160,13486,4890],{"class":4633},[4160,13488,13489],{"class":4162,"line":7052},[4160,13490,4895],{"class":4539},[4160,13492,13493],{"class":4162,"line":7057},[4160,13494,4251],{"class":4539},[4003,13496,13498],{"className":4526,"code":13497,"filename":4114,"language":4528,"meta":4011,"style":4011},"import { Tabs } from 'expo-router';\nimport { Ionicons } from '@expo\u002Fvector-icons';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\n\n\u002F**\n * Нижня панель вкладок.\n * «Поїздки» — вкладений Stack (список + деталі), не один index-файл.\n *\u002F\nexport default function TabsLayout() {\n  const { colors } = useTheme();\n\n  return (\n    \u003CTabs\n      screenOptions={{\n        headerShown: false,\n        tabBarActiveTintColor: colors.primary,\n        tabBarInactiveTintColor: colors.textSecondary,\n        tabBarStyle: {\n          backgroundColor: colors.background,\n          borderTopColor: colors.border,\n        },\n        tabBarLabelStyle: {\n          fontSize: 12,\n          fontWeight: '600',\n        },\n      }}\n    >\n      \u003CTabs.Screen\n        name=\"trips\"\n        options={{\n          title: 'Поїздки',\n          tabBarIcon: ({ color, size }) => (\n            \u003CIonicons name=\"map-outline\" size={size} color={color} \u002F>\n          ),\n        }}\n      \u002F>\n      \u003CTabs.Screen\n        name=\"places\"\n        options={{\n          title: 'Місця',\n          tabBarIcon: ({ color, size }) => (\n            \u003CIonicons name=\"location-outline\" size={size} color={color} \u002F>\n          ),\n        }}\n      \u002F>\n      \u003CTabs.Screen\n        name=\"about\"\n        options={{\n          title: 'Ще',\n          tabBarIcon: ({ color, size }) => (\n            \u003CIonicons\n              name=\"ellipsis-horizontal-circle-outline\"\n              size={size}\n              color={color}\n            \u002F>\n          ),\n        }}\n      \u002F>\n    \u003C\u002FTabs>\n  );\n}\n",[3747,13499,13500,13516,13532,13536,13552,13556,13560,13565,13570,13574,13586,13600,13604,13610,13616,13626,13634,13646,13659,13665,13677,13690,13694,13700,13709,13718,13722,13728,13732,13738,13747,13757,13766,13786,13821,13825,13831,13835,13841,13850,13860,13869,13889,13924,13928,13934,13938,13944,13952,13962,13971,13991,13997,14006,14018,14030,14034,14038,14044,14048,14056,14060],{"__ignoreMap":4011},[4160,13501,13502,13504,13506,13508,13510,13512,13514],{"class":4162,"line":4163},[4160,13503,4536],{"class":4535},[4160,13505,4540],{"class":4539},[4160,13507,3761],{"class":4543},[4160,13509,4546],{"class":4539},[4160,13511,4549],{"class":4535},[4160,13513,4553],{"class":4552},[4160,13515,4556],{"class":4539},[4160,13517,13518,13520,13522,13524,13526,13528,13530],{"class":4162,"line":4169},[4160,13519,4536],{"class":4535},[4160,13521,4540],{"class":4539},[4160,13523,7422],{"class":4543},[4160,13525,4546],{"class":4539},[4160,13527,4549],{"class":4535},[4160,13529,7429],{"class":4552},[4160,13531,4556],{"class":4539},[4160,13533,13534],{"class":4162,"line":4175},[4160,13535,4185],{"emptyLinePlaceholder":4184},[4160,13537,13538,13540,13542,13544,13546,13548,13550],{"class":4162,"line":4181},[4160,13539,4536],{"class":4535},[4160,13541,4540],{"class":4539},[4160,13543,4565],{"class":4543},[4160,13545,4546],{"class":4539},[4160,13547,4549],{"class":4535},[4160,13549,4572],{"class":4552},[4160,13551,4556],{"class":4539},[4160,13553,13554],{"class":4162,"line":4188},[4160,13555,4185],{"emptyLinePlaceholder":4184},[4160,13557,13558],{"class":4162,"line":4194},[4160,13559,13075],{"class":4763},[4160,13561,13562],{"class":4162,"line":4200},[4160,13563,13564],{"class":4763}," * Нижня панель вкладок.\n",[4160,13566,13567],{"class":4162,"line":4206},[4160,13568,13569],{"class":4763}," * «Поїздки» — вкладений Stack (список + деталі), не один index-файл.\n",[4160,13571,13572],{"class":4162,"line":4212},[4160,13573,13105],{"class":4763},[4160,13575,13576,13578,13580,13582,13584],{"class":4162,"line":4218},[4160,13577,4583],{"class":4535},[4160,13579,4586],{"class":4535},[4160,13581,4590],{"class":4589},[4160,13583,7446],{"class":4593},[4160,13585,4597],{"class":4539},[4160,13587,13588,13590,13592,13594,13596,13598],{"class":4162,"line":4224},[4160,13589,4602],{"class":4589},[4160,13591,4540],{"class":4539},[4160,13593,4608],{"class":4607},[4160,13595,4611],{"class":4539},[4160,13597,4565],{"class":4593},[4160,13599,4616],{"class":4539},[4160,13601,13602],{"class":4162,"line":4230},[4160,13603,4185],{"emptyLinePlaceholder":4184},[4160,13605,13606,13608],{"class":4162,"line":4236},[4160,13607,4625],{"class":4535},[4160,13609,4628],{"class":4539},[4160,13611,13612,13614],{"class":4162,"line":4242},[4160,13613,4634],{"class":4633},[4160,13615,7461],{"class":4637},[4160,13617,13618,13620,13622,13624],{"class":4162,"line":4248},[4160,13619,4644],{"class":4643},[4160,13621,4647],{"class":4539},[4160,13623,4650],{"class":4589},[4160,13625,4654],{"class":4653},[4160,13627,13628,13630,13632],{"class":4162,"line":4254},[4160,13629,7476],{"class":4543},[4160,13631,4724],{"class":4589},[4160,13633,4690],{"class":4653},[4160,13635,13636,13638,13640,13642,13644],{"class":4162,"line":4259},[4160,13637,7485],{"class":4543},[4160,13639,4667],{"class":4543},[4160,13641,3840],{"class":4653},[4160,13643,4687],{"class":4543},[4160,13645,4690],{"class":4653},[4160,13647,13648,13650,13652,13654,13657],{"class":4162,"line":4265},[4160,13649,7494],{"class":4543},[4160,13651,4667],{"class":4543},[4160,13653,3840],{"class":4653},[4160,13655,13656],{"class":4543},"textSecondary",[4160,13658,4690],{"class":4653},[4160,13660,13661,13663],{"class":4162,"line":4271},[4160,13662,7504],{"class":4543},[4160,13664,5517],{"class":4653},[4160,13666,13667,13669,13671,13673,13675],{"class":4162,"line":4276},[4160,13668,7511],{"class":4543},[4160,13670,4667],{"class":4543},[4160,13672,3840],{"class":4653},[4160,13674,4672],{"class":4543},[4160,13676,4690],{"class":4653},[4160,13678,13679,13681,13683,13685,13688],{"class":4162,"line":4282},[4160,13680,7520],{"class":4543},[4160,13682,4667],{"class":4543},[4160,13684,3840],{"class":4653},[4160,13686,13687],{"class":4543},"border",[4160,13689,4690],{"class":4653},[4160,13691,13692],{"class":4162,"line":4288},[4160,13693,5641],{"class":4653},[4160,13695,13696,13698],{"class":4162,"line":4294},[4160,13697,7534],{"class":4543},[4160,13699,5517],{"class":4653},[4160,13701,13702,13705,13707],{"class":4162,"line":4300},[4160,13703,13704],{"class":4543},"          fontSize:",[4160,13706,7542],{"class":5485},[4160,13708,4690],{"class":4653},[4160,13710,13711,13714,13716],{"class":4162,"line":4305},[4160,13712,13713],{"class":4543},"          fontWeight:",[4160,13715,4714],{"class":4552},[4160,13717,4690],{"class":4653},[4160,13719,13720],{"class":4162,"line":4311},[4160,13721,5641],{"class":4653},[4160,13723,13724,13726],{"class":4162,"line":4317},[4160,13725,4748],{"class":4653},[4160,13727,4251],{"class":4589},[4160,13729,13730],{"class":4162,"line":4323},[4160,13731,4755],{"class":4633},[4160,13733,13734,13736],{"class":4162,"line":4328},[4160,13735,4771],{"class":4633},[4160,13737,7567],{"class":4637},[4160,13739,13740,13742,13744],{"class":4162,"line":4333},[4160,13741,4832],{"class":4643},[4160,13743,4647],{"class":4539},[4160,13745,13746],{"class":4552},"\"trips\"\n",[4160,13748,13749,13751,13753,13755],{"class":4162,"line":5663},[4160,13750,4842],{"class":4643},[4160,13752,4647],{"class":4539},[4160,13754,4650],{"class":4589},[4160,13756,4654],{"class":4653},[4160,13758,13759,13761,13764],{"class":4162,"line":5676},[4160,13760,4853],{"class":4543},[4160,13762,13763],{"class":4552}," 'Поїздки'",[4160,13765,4690],{"class":4653},[4160,13767,13768,13770,13772,13774,13776,13778,13780,13782,13784],{"class":4162,"line":6728},[4160,13769,7600],{"class":4593},[4160,13771,3821],{"class":4543},[4160,13773,7605],{"class":4653},[4160,13775,7608],{"class":4543},[4160,13777,4055],{"class":4653},[4160,13779,7613],{"class":4543},[4160,13781,5511],{"class":4653},[4160,13783,5514],{"class":4589},[4160,13785,4628],{"class":4653},[4160,13787,13788,13790,13792,13794,13796,13799,13801,13803,13805,13807,13809,13811,13813,13815,13817,13819],{"class":4162,"line":6733},[4160,13789,7624],{"class":4633},[4160,13791,7422],{"class":4637},[4160,13793,4777],{"class":4643},[4160,13795,4647],{"class":4539},[4160,13797,13798],{"class":4552},"\"map-outline\"",[4160,13800,7636],{"class":4643},[4160,13802,4647],{"class":4539},[4160,13804,4650],{"class":4589},[4160,13806,7613],{"class":4543},[4160,13808,4803],{"class":4589},[4160,13810,7647],{"class":4643},[4160,13812,4647],{"class":4539},[4160,13814,4650],{"class":4589},[4160,13816,7608],{"class":4543},[4160,13818,4803],{"class":4589},[4160,13820,4806],{"class":4633},[4160,13822,13823],{"class":4162,"line":6738},[4160,13824,7662],{"class":4653},[4160,13826,13827,13829],{"class":4162,"line":6768},[4160,13828,4873],{"class":4653},[4160,13830,4251],{"class":4589},[4160,13832,13833],{"class":4162,"line":6803},[4160,13834,4880],{"class":4633},[4160,13836,13837,13839],{"class":4162,"line":6808},[4160,13838,4771],{"class":4633},[4160,13840,7567],{"class":4637},[4160,13842,13843,13845,13847],{"class":4162,"line":6813},[4160,13844,4832],{"class":4643},[4160,13846,4647],{"class":4539},[4160,13848,13849],{"class":4552},"\"places\"\n",[4160,13851,13852,13854,13856,13858],{"class":4162,"line":6847},[4160,13853,4842],{"class":4643},[4160,13855,4647],{"class":4539},[4160,13857,4650],{"class":4589},[4160,13859,4654],{"class":4653},[4160,13861,13862,13864,13867],{"class":4162,"line":6861},[4160,13863,4853],{"class":4543},[4160,13865,13866],{"class":4552}," 'Місця'",[4160,13868,4690],{"class":4653},[4160,13870,13871,13873,13875,13877,13879,13881,13883,13885,13887],{"class":4162,"line":6881},[4160,13872,7600],{"class":4593},[4160,13874,3821],{"class":4543},[4160,13876,7605],{"class":4653},[4160,13878,7608],{"class":4543},[4160,13880,4055],{"class":4653},[4160,13882,7613],{"class":4543},[4160,13884,5511],{"class":4653},[4160,13886,5514],{"class":4589},[4160,13888,4628],{"class":4653},[4160,13890,13891,13893,13895,13897,13899,13902,13904,13906,13908,13910,13912,13914,13916,13918,13920,13922],{"class":4162,"line":6901},[4160,13892,7624],{"class":4633},[4160,13894,7422],{"class":4637},[4160,13896,4777],{"class":4643},[4160,13898,4647],{"class":4539},[4160,13900,13901],{"class":4552},"\"location-outline\"",[4160,13903,7636],{"class":4643},[4160,13905,4647],{"class":4539},[4160,13907,4650],{"class":4589},[4160,13909,7613],{"class":4543},[4160,13911,4803],{"class":4589},[4160,13913,7647],{"class":4643},[4160,13915,4647],{"class":4539},[4160,13917,4650],{"class":4589},[4160,13919,7608],{"class":4543},[4160,13921,4803],{"class":4589},[4160,13923,4806],{"class":4633},[4160,13925,13926],{"class":4162,"line":6916},[4160,13927,7662],{"class":4653},[4160,13929,13930,13932],{"class":4162,"line":6929},[4160,13931,4873],{"class":4653},[4160,13933,4251],{"class":4589},[4160,13935,13936],{"class":4162,"line":6935},[4160,13937,4880],{"class":4633},[4160,13939,13940,13942],{"class":4162,"line":6953},[4160,13941,4771],{"class":4633},[4160,13943,7567],{"class":4637},[4160,13945,13946,13948,13950],{"class":4162,"line":6961},[4160,13947,4832],{"class":4643},[4160,13949,4647],{"class":4539},[4160,13951,7687],{"class":4552},[4160,13953,13954,13956,13958,13960],{"class":4162,"line":6970},[4160,13955,4842],{"class":4643},[4160,13957,4647],{"class":4539},[4160,13959,4650],{"class":4589},[4160,13961,4654],{"class":4653},[4160,13963,13964,13966,13969],{"class":4162,"line":6975},[4160,13965,4853],{"class":4543},[4160,13967,13968],{"class":4552}," 'Ще'",[4160,13970,4690],{"class":4653},[4160,13972,13973,13975,13977,13979,13981,13983,13985,13987,13989],{"class":4162,"line":6980},[4160,13974,7600],{"class":4593},[4160,13976,3821],{"class":4543},[4160,13978,7605],{"class":4653},[4160,13980,7608],{"class":4543},[4160,13982,4055],{"class":4653},[4160,13984,7613],{"class":4543},[4160,13986,5511],{"class":4653},[4160,13988,5514],{"class":4589},[4160,13990,4628],{"class":4653},[4160,13992,13993,13995],{"class":4162,"line":7008},[4160,13994,7624],{"class":4633},[4160,13996,7733],{"class":4637},[4160,13998,13999,14001,14003],{"class":4162,"line":7024},[4160,14000,7738],{"class":4643},[4160,14002,4647],{"class":4539},[4160,14004,14005],{"class":4552},"\"ellipsis-horizontal-circle-outline\"\n",[4160,14007,14008,14010,14012,14014,14016],{"class":4162,"line":7035},[4160,14009,7748],{"class":4643},[4160,14011,4647],{"class":4539},[4160,14013,4650],{"class":4589},[4160,14015,7613],{"class":4543},[4160,14017,4251],{"class":4589},[4160,14019,14020,14022,14024,14026,14028],{"class":4162,"line":7052},[4160,14021,7761],{"class":4643},[4160,14023,4647],{"class":4539},[4160,14025,4650],{"class":4589},[4160,14027,7608],{"class":4543},[4160,14029,4251],{"class":4589},[4160,14031,14032],{"class":4162,"line":7057},[4160,14033,7774],{"class":4633},[4160,14035,14036],{"class":4162,"line":8928},[4160,14037,7662],{"class":4653},[4160,14039,14040,14042],{"class":4162,"line":8937},[4160,14041,4873],{"class":4653},[4160,14043,4251],{"class":4589},[4160,14045,14046],{"class":4162,"line":8942},[4160,14047,4880],{"class":4633},[4160,14049,14050,14052,14054],{"class":4162,"line":8947},[4160,14051,4885],{"class":4633},[4160,14053,3761],{"class":4637},[4160,14055,4890],{"class":4633},[4160,14057,14058],{"class":4162,"line":8952},[4160,14059,4895],{"class":4539},[4160,14061,14062],{"class":4162,"line":8973},[4160,14063,4251],{"class":4539},[4003,14065,14067],{"className":4526,"code":14066,"filename":4132,"language":4528,"meta":4011,"style":4011},"import { Stack } from 'expo-router';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\n\n\u002F**\n * Вкладений Stack усередині вкладки «Поїздки».\n * Список (index) → деталі ([id]); tab bar лишається видимим.\n *\u002F\nexport default function TripsStackLayout() {\n  const { colors } = useTheme();\n\n  return (\n    \u003CStack\n      screenOptions={{\n        headerStyle: { backgroundColor: colors.background },\n        headerTintColor: colors.primary,\n        headerTitleStyle: { color: colors.text, fontWeight: '600' },\n        headerShadowVisible: false,\n        contentStyle: { backgroundColor: colors.background },\n      }}\n    >\n      \u003CStack.Screen name=\"index\" options={{ headerShown: false }} \u002F>\n      \u003CStack.Screen\n        name=\"[id]\"\n        options={{\n          title: 'Поїздка',\n          headerBackTitle: 'Список',\n        }}\n      \u002F>\n    \u003C\u002FStack>\n  );\n}\n",[3747,14068,14069,14085,14089,14105,14109,14113,14118,14123,14127,14139,14153,14157,14163,14169,14179,14195,14207,14229,14237,14253,14259,14263,14293,14299,14307,14317,14325,14333,14339,14343,14351,14355],{"__ignoreMap":4011},[4160,14070,14071,14073,14075,14077,14079,14081,14083],{"class":4162,"line":4163},[4160,14072,4536],{"class":4535},[4160,14074,4540],{"class":4539},[4160,14076,3757],{"class":4543},[4160,14078,4546],{"class":4539},[4160,14080,4549],{"class":4535},[4160,14082,4553],{"class":4552},[4160,14084,4556],{"class":4539},[4160,14086,14087],{"class":4162,"line":4169},[4160,14088,4185],{"emptyLinePlaceholder":4184},[4160,14090,14091,14093,14095,14097,14099,14101,14103],{"class":4162,"line":4175},[4160,14092,4536],{"class":4535},[4160,14094,4540],{"class":4539},[4160,14096,4565],{"class":4543},[4160,14098,4546],{"class":4539},[4160,14100,4549],{"class":4535},[4160,14102,4572],{"class":4552},[4160,14104,4556],{"class":4539},[4160,14106,14107],{"class":4162,"line":4181},[4160,14108,4185],{"emptyLinePlaceholder":4184},[4160,14110,14111],{"class":4162,"line":4188},[4160,14112,13075],{"class":4763},[4160,14114,14115],{"class":4162,"line":4194},[4160,14116,14117],{"class":4763}," * Вкладений Stack усередині вкладки «Поїздки».\n",[4160,14119,14120],{"class":4162,"line":4200},[4160,14121,14122],{"class":4763}," * Список (index) → деталі ([id]); tab bar лишається видимим.\n",[4160,14124,14125],{"class":4162,"line":4206},[4160,14126,13105],{"class":4763},[4160,14128,14129,14131,14133,14135,14137],{"class":4162,"line":4212},[4160,14130,4583],{"class":4535},[4160,14132,4586],{"class":4535},[4160,14134,4590],{"class":4589},[4160,14136,4594],{"class":4593},[4160,14138,4597],{"class":4539},[4160,14140,14141,14143,14145,14147,14149,14151],{"class":4162,"line":4218},[4160,14142,4602],{"class":4589},[4160,14144,4540],{"class":4539},[4160,14146,4608],{"class":4607},[4160,14148,4611],{"class":4539},[4160,14150,4565],{"class":4593},[4160,14152,4616],{"class":4539},[4160,14154,14155],{"class":4162,"line":4224},[4160,14156,4185],{"emptyLinePlaceholder":4184},[4160,14158,14159,14161],{"class":4162,"line":4230},[4160,14160,4625],{"class":4535},[4160,14162,4628],{"class":4539},[4160,14164,14165,14167],{"class":4162,"line":4236},[4160,14166,4634],{"class":4633},[4160,14168,4638],{"class":4637},[4160,14170,14171,14173,14175,14177],{"class":4162,"line":4242},[4160,14172,4644],{"class":4643},[4160,14174,4647],{"class":4539},[4160,14176,4650],{"class":4589},[4160,14178,4654],{"class":4653},[4160,14180,14181,14183,14185,14187,14189,14191,14193],{"class":4162,"line":4248},[4160,14182,4659],{"class":4543},[4160,14184,4540],{"class":4653},[4160,14186,4664],{"class":4543},[4160,14188,4667],{"class":4543},[4160,14190,3840],{"class":4653},[4160,14192,4672],{"class":4543},[4160,14194,4675],{"class":4653},[4160,14196,14197,14199,14201,14203,14205],{"class":4162,"line":4254},[4160,14198,4680],{"class":4543},[4160,14200,4667],{"class":4543},[4160,14202,3840],{"class":4653},[4160,14204,4687],{"class":4543},[4160,14206,4690],{"class":4653},[4160,14208,14209,14211,14213,14215,14217,14219,14221,14223,14225,14227],{"class":4162,"line":4259},[4160,14210,4695],{"class":4543},[4160,14212,4540],{"class":4653},[4160,14214,4700],{"class":4543},[4160,14216,4667],{"class":4543},[4160,14218,3840],{"class":4653},[4160,14220,4008],{"class":4543},[4160,14222,4055],{"class":4653},[4160,14224,4711],{"class":4543},[4160,14226,4714],{"class":4552},[4160,14228,4675],{"class":4653},[4160,14230,14231,14233,14235],{"class":4162,"line":4265},[4160,14232,4721],{"class":4543},[4160,14234,4724],{"class":4589},[4160,14236,4690],{"class":4653},[4160,14238,14239,14241,14243,14245,14247,14249,14251],{"class":4162,"line":4271},[4160,14240,4731],{"class":4543},[4160,14242,4540],{"class":4653},[4160,14244,4664],{"class":4543},[4160,14246,4667],{"class":4543},[4160,14248,3840],{"class":4653},[4160,14250,4672],{"class":4543},[4160,14252,4675],{"class":4653},[4160,14254,14255,14257],{"class":4162,"line":4276},[4160,14256,4748],{"class":4653},[4160,14258,4251],{"class":4589},[4160,14260,14261],{"class":4162,"line":4282},[4160,14262,4755],{"class":4633},[4160,14264,14265,14267,14269,14271,14273,14275,14277,14279,14281,14283,14285,14287,14289,14291],{"class":4162,"line":4288},[4160,14266,4771],{"class":4633},[4160,14268,4774],{"class":4637},[4160,14270,4777],{"class":4643},[4160,14272,4647],{"class":4539},[4160,14274,4782],{"class":4552},[4160,14276,4785],{"class":4643},[4160,14278,4647],{"class":4539},[4160,14280,4650],{"class":4589},[4160,14282,4792],{"class":4653},[4160,14284,4795],{"class":4543},[4160,14286,4724],{"class":4589},[4160,14288,4800],{"class":4653},[4160,14290,4803],{"class":4589},[4160,14292,4806],{"class":4633},[4160,14294,14295,14297],{"class":4162,"line":4294},[4160,14296,4771],{"class":4633},[4160,14298,4827],{"class":4637},[4160,14300,14301,14303,14305],{"class":4162,"line":4300},[4160,14302,4832],{"class":4643},[4160,14304,4647],{"class":4539},[4160,14306,4837],{"class":4552},[4160,14308,14309,14311,14313,14315],{"class":4162,"line":4305},[4160,14310,4842],{"class":4643},[4160,14312,4647],{"class":4539},[4160,14314,4650],{"class":4589},[4160,14316,4654],{"class":4653},[4160,14318,14319,14321,14323],{"class":4162,"line":4311},[4160,14320,4853],{"class":4543},[4160,14322,4856],{"class":4552},[4160,14324,4690],{"class":4653},[4160,14326,14327,14329,14331],{"class":4162,"line":4317},[4160,14328,4863],{"class":4543},[4160,14330,4866],{"class":4552},[4160,14332,4690],{"class":4653},[4160,14334,14335,14337],{"class":4162,"line":4323},[4160,14336,4873],{"class":4653},[4160,14338,4251],{"class":4589},[4160,14340,14341],{"class":4162,"line":4328},[4160,14342,4880],{"class":4633},[4160,14344,14345,14347,14349],{"class":4162,"line":4333},[4160,14346,4885],{"class":4633},[4160,14348,3757],{"class":4637},[4160,14350,4890],{"class":4633},[4160,14352,14353],{"class":4162,"line":5663},[4160,14354,4895],{"class":4539},[4160,14356,14357],{"class":4162,"line":5676},[4160,14358,4251],{"class":4539},[4003,14360,14363],{"className":4526,"code":14361,"filename":14362,"language":4528,"meta":4011,"style":4011},"import { useCallback, useState } from 'react';\nimport {\n  FlatList,\n  Pressable,\n  RefreshControl,\n  StyleSheet,\n  View,\n} from 'react-native';\nimport { FlashList } from '@shopify\u002Fflash-list';\nimport { useRouter } from 'expo-router';\n\nimport {\n  mockPlaces,\n  PlaceChip,\n  TripCard,\n  useTrips,\n  type Place,\n  type Trip,\n} from '@\u002Ffeatures\u002Ftrips';\nimport { useTheme, type ThemePreference } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Button, Screen } from '@\u002Fshared\u002Fui';\n\nconst PREFS: { id: ThemePreference; label: string }[] = [\n  { id: 'system', label: 'Система' },\n  { id: 'light', label: 'Світла' },\n  { id: 'dark', label: 'Темна' },\n];\n\nexport default function HomeScreen() {\n  const router = useRouter();\n  const { trips, resetToMock } = useTrips();\n  const { colors, spacing, preference, setPreference, scheme } = useTheme();\n  const [places] = useState\u003CPlace[]>(mockPlaces);\n  const [refreshing, setRefreshing] = useState(false);\n\n  const handleOpenTrip = useCallback(\n    (trip: Trip) => {\n      router.push(`\u002Ftrips\u002F${trip.id}`);\n    },\n    [router],\n  );\n\n  const handleOpenPlace = useCallback(\n    (place: Place) => {\n      \u002F\u002F Місце належить поїздці — відкриваємо її деталі у вкладеному Stack.\n      router.push(`\u002Ftrips\u002F${place.tripId}`);\n    },\n    [router],\n  );\n\n  const onRefresh = useCallback(() => {\n    setRefreshing(true);\n    \u002F\u002F Mock pull-to-refresh: повертаємо seed mock (локально створені зникають).\n    setTimeout(() => {\n      resetToMock();\n      setRefreshing(false);\n    }, 900);\n  }, [resetToMock]);\n\n  const renderTrip = useCallback(\n    ({ item }: { item: Trip }) => (\n      \u003CTripCard trip={item} onPress={handleOpenTrip} \u002F>\n    ),\n    [handleOpenTrip],\n  );\n\n  const keyExtractor = useCallback((item: Trip) => item.id, []);\n\n  const listHeader = (\n    \u003CView style={{ gap: spacing.md, marginBottom: spacing.md }}>\n      {places.length > 0 ? (\n        \u003CView style={{ gap: spacing.sm }}>\n          \u003CAppText style={{ fontWeight: '600' }}>Останні місця\u003C\u002FAppText>\n          \u003CFlatList\n            horizontal\n            data={places}\n            keyExtractor={(item) => item.id}\n            renderItem={({ item }) => (\n              \u003CPlaceChip place={item} onPress={handleOpenPlace} \u002F>\n            )}\n            showsHorizontalScrollIndicator={false}\n            ItemSeparatorComponent={() => \u003CView style={{ width: spacing.sm }} \u002F>}\n            contentContainerStyle={{ paddingVertical: 2 }}\n          \u002F>\n        \u003C\u002FView>\n      ) : null}\n\n      \u003CAppText style={{ fontWeight: '600' }}>Ваші поїздки\u003C\u002FAppText>\n    \u003C\u002FView>\n  );\n\n  const listEmpty = (\n    \u003CView\n      style={[\n        styles.empty,\n        {\n          paddingHorizontal: spacing.sm,\n          paddingVertical: spacing.xl,\n          gap: spacing.sm,\n        },\n      ]}\n    >\n      \u003CAppText variant=\"subtitle\" style={styles.emptyTitle}>\n        Поки немає поїздок\n      \u003C\u002FAppText>\n      \u003CAppText\n        variant=\"caption\"\n        color={colors.textSecondary}\n        style={styles.emptyDesc}\n      >\n        Потягніть список униз, щоб «оновити», або натисніть «Нова поїздка».\n      \u003C\u002FAppText>\n    \u003C\u002FView>\n  );\n\n  return (\n    \u003CScreen style={styles.screen}>\n      \u003CView\n        style={[\n          styles.header,\n          {\n            paddingHorizontal: spacing.md,\n            paddingTop: spacing.sm,\n            paddingBottom: spacing.md,\n            gap: spacing.xs,\n            borderBottomColor: colors.border,\n          },\n        ]}\n      >\n        \u003CAppText variant=\"title\">Мандрівник\u003C\u002FAppText>\n        \u003CAppText variant=\"caption\" style={{ marginTop: spacing.xs }}>\n          Щоденник подорожей · тема: {scheme === 'dark' ? 'темна' : 'світла'}\n        \u003C\u002FAppText>\n        \u003CAppText\n          variant=\"caption\"\n          style={{\n            marginTop: spacing.xs,\n            color: colors.primary,\n            fontWeight: '600',\n          }}\n        >\n          {trips.length > 0\n            ? `${trips.length} поїздок · ${places.length} місць`\n            : 'Список порожній'}\n        \u003C\u002FAppText>\n\n        \u003CView style={[styles.themeRow, { gap: spacing.sm, marginTop: spacing.sm }]}>\n          {PREFS.map((p) => {\n            const active = preference === p.id;\n            return (\n              \u003CPressable\n                key={p.id}\n                onPress={() => setPreference(p.id)}\n                style={[\n                  styles.themeChip,\n                  {\n                    backgroundColor: active ? colors.primary : colors.surface,\n                    borderColor: colors.border,\n                  },\n                ]}\n                accessibilityRole=\"button\"\n                accessibilityState={{ selected: active }}\n                accessibilityLabel={`Тема: ${p.label}`}\n              >\n                \u003CAppText\n                  variant=\"caption\"\n                  color={active ? colors.onPrimary : colors.text}\n                  style={styles.themeChipText}\n                >\n                  {p.label}\n                \u003C\u002FAppText>\n              \u003C\u002FPressable>\n            );\n          })}\n        \u003C\u002FView>\n      \u003C\u002FView>\n\n      \u003CView style={styles.listWrap}>\n        \u003CFlashList\n          data={trips}\n          renderItem={renderTrip}\n          keyExtractor={keyExtractor}\n          ListHeaderComponent={listHeader}\n          ListEmptyComponent={listEmpty}\n          contentContainerStyle={{\n            paddingHorizontal: spacing.md,\n            paddingTop: spacing.md,\n            paddingBottom: spacing.md,\n          }}\n          ItemSeparatorComponent={() => \u003CView style={{ height: spacing.md }} \u002F>}\n          refreshControl={\n            \u003CRefreshControl\n              refreshing={refreshing}\n              onRefresh={onRefresh}\n              tintColor={colors.primary}\n              colors={[colors.primary]}\n            \u002F>\n          }\n          showsVerticalScrollIndicator={false}\n        \u002F>\n      \u003C\u002FView>\n\n      \u003CView\n        style={[\n          styles.footer,\n          {\n            paddingHorizontal: spacing.md,\n            paddingTop: spacing.sm,\n            paddingBottom: spacing.md,\n            borderTopColor: colors.border,\n            backgroundColor: colors.background,\n          },\n        ]}\n      >\n        \u003CButton\n          label=\"Нова поїздка\"\n          onPress={() => {\n            router.push('\u002Fcreate-trip');\n          }}\n        \u002F>\n      \u003C\u002FView>\n    \u003C\u002FScreen>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: {\n    paddingHorizontal: 0,\n  },\n  header: {\n    borderBottomWidth: 1,\n  },\n  themeRow: {\n    flexDirection: 'row',\n    flexWrap: 'wrap',\n  },\n  themeChip: {\n    paddingHorizontal: 12,\n    paddingVertical: 8,\n    borderRadius: 8,\n    borderWidth: 1,\n  },\n  themeChipText: {\n    fontWeight: '600',\n  },\n  listWrap: {\n    flex: 1,\n  },\n  empty: {\n    alignItems: 'center',\n    justifyContent: 'center',\n  },\n  emptyTitle: {\n    textAlign: 'center',\n  },\n  emptyDesc: {\n    textAlign: 'center',\n  },\n  footer: {\n    borderTopWidth: 1,\n  },\n});\n","app\u002F(tabs)\u002Ftrips\u002Findex.tsx",[3747,14364,14365,14386,14392,14398,14404,14411,14417,14423,14433,14451,14467,14471,14477,14484,14491,14498,14505,14515,14524,14534,14557,14585,14589,14618,14639,14656,14673,14677,14681,14694,14706,14726,14759,14784,14808,14812,14825,14843,14871,14875,14886,14890,14894,14907,14924,14929,14955,14959,14967,14971,14975,14992,15003,15008,15018,15025,15036,15046,15056,15060,15073,15095,15125,15130,15138,15142,15146,15178,15182,15192,15232,15252,15281,15314,15320,15325,15338,15363,15382,15413,15420,15430,15472,15493,15498,15506,15516,15520,15553,15561,15565,15569,15578,15585,15596,15608,15612,15625,15639,15652,15656,15663,15667,15698,15703,15711,15718,15728,15745,15763,15767,15772,15780,15788,15792,15796,15802,15825,15831,15841,15852,15858,15872,15886,15900,15915,15929,15935,15943,15948,15973,16009,16035,16044,16051,16061,16072,16086,16100,16110,16117,16122,16139,16174,16185,16194,16199,16249,16272,16298,16306,16313,16331,16360,16372,16385,16391,16418,16432,16438,16446,16457,16478,16505,16511,16519,16529,16561,16580,16586,16600,16610,16619,16625,16633,16642,16651,16656,16680,16688,16702,16717,16732,16747,16762,16774,16787,16800,16813,16820,16862,16872,16880,16894,16909,16927,16949,16954,16960,16970,16975,16984,16989,16996,17007,17018,17023,17036,17049,17062,17076,17090,17095,17102,17107,17115,17126,17141,17158,17165,17170,17179,17188,17193,17198,17203,17220,17228,17237,17242,17249,17258,17263,17271,17282,17293,17298,17306,17315,17324,17333,17342,17347,17355,17364,17369,17377,17386,17391,17399,17408,17417,17422,17430,17440,17445,17453,17462,17467,17474,17483,17488],{"__ignoreMap":4011},[4160,14366,14367,14369,14371,14374,14376,14378,14380,14382,14384],{"class":4162,"line":4163},[4160,14368,4536],{"class":4535},[4160,14370,4540],{"class":4539},[4160,14372,14373],{"class":4543},"useCallback",[4160,14375,4055],{"class":4539},[4160,14377,5300],{"class":4543},[4160,14379,4546],{"class":4539},[4160,14381,4549],{"class":4535},[4160,14383,5307],{"class":4552},[4160,14385,4556],{"class":4539},[4160,14387,14388,14390],{"class":4162,"line":4169},[4160,14389,4536],{"class":4535},[4160,14391,5517],{"class":4539},[4160,14393,14394,14396],{"class":4162,"line":4175},[4160,14395,8060],{"class":4543},[4160,14397,4690],{"class":4539},[4160,14399,14400,14402],{"class":4162,"line":4181},[4160,14401,8067],{"class":4543},[4160,14403,4690],{"class":4539},[4160,14405,14406,14409],{"class":4162,"line":4188},[4160,14407,14408],{"class":4543},"  RefreshControl",[4160,14410,4690],{"class":4539},[4160,14412,14413,14415],{"class":4162,"line":4194},[4160,14414,8074],{"class":4543},[4160,14416,4690],{"class":4539},[4160,14418,14419,14421],{"class":4162,"line":4200},[4160,14420,8088],{"class":4543},[4160,14422,4690],{"class":4539},[4160,14424,14425,14427,14429,14431],{"class":4162,"line":4206},[4160,14426,8095],{"class":4539},[4160,14428,4549],{"class":4535},[4160,14430,5324],{"class":4552},[4160,14432,4556],{"class":4539},[4160,14434,14435,14437,14439,14442,14444,14446,14449],{"class":4162,"line":4212},[4160,14436,4536],{"class":4535},[4160,14438,4540],{"class":4539},[4160,14440,14441],{"class":4543},"FlashList",[4160,14443,4546],{"class":4539},[4160,14445,4549],{"class":4535},[4160,14447,14448],{"class":4552}," '@shopify\u002Fflash-list'",[4160,14450,4556],{"class":4539},[4160,14452,14453,14455,14457,14459,14461,14463,14465],{"class":4162,"line":4218},[4160,14454,4536],{"class":4535},[4160,14456,4540],{"class":4539},[4160,14458,3772],{"class":4543},[4160,14460,4546],{"class":4539},[4160,14462,4549],{"class":4535},[4160,14464,4553],{"class":4552},[4160,14466,4556],{"class":4539},[4160,14468,14469],{"class":4162,"line":4224},[4160,14470,4185],{"emptyLinePlaceholder":4184},[4160,14472,14473,14475],{"class":4162,"line":4230},[4160,14474,4536],{"class":4535},[4160,14476,5517],{"class":4539},[4160,14478,14479,14482],{"class":4162,"line":4236},[4160,14480,14481],{"class":4543},"  mockPlaces",[4160,14483,4690],{"class":4539},[4160,14485,14486,14489],{"class":4162,"line":4242},[4160,14487,14488],{"class":4543},"  PlaceChip",[4160,14490,4690],{"class":4539},[4160,14492,14493,14496],{"class":4162,"line":4248},[4160,14494,14495],{"class":4543},"  TripCard",[4160,14497,4690],{"class":4539},[4160,14499,14500,14503],{"class":4162,"line":4254},[4160,14501,14502],{"class":4543},"  useTrips",[4160,14504,4690],{"class":4539},[4160,14506,14507,14510,14513],{"class":4162,"line":4259},[4160,14508,14509],{"class":4535},"  type",[4160,14511,14512],{"class":4543}," Place",[4160,14514,4690],{"class":4539},[4160,14516,14517,14519,14522],{"class":4162,"line":4265},[4160,14518,14509],{"class":4535},[4160,14520,14521],{"class":4543}," Trip",[4160,14523,4690],{"class":4539},[4160,14525,14526,14528,14530,14532],{"class":4162,"line":4271},[4160,14527,8095],{"class":4539},[4160,14529,4549],{"class":4535},[4160,14531,5769],{"class":4552},[4160,14533,4556],{"class":4539},[4160,14535,14536,14538,14540,14542,14544,14546,14549,14551,14553,14555],{"class":4162,"line":4276},[4160,14537,4536],{"class":4535},[4160,14539,4540],{"class":4539},[4160,14541,4565],{"class":4543},[4160,14543,4055],{"class":4539},[4160,14545,6433],{"class":4535},[4160,14547,14548],{"class":4543}," ThemePreference",[4160,14550,4546],{"class":4539},[4160,14552,4549],{"class":4535},[4160,14554,4572],{"class":4552},[4160,14556,4556],{"class":4539},[4160,14558,14559,14561,14563,14566,14568,14571,14573,14576,14578,14580,14583],{"class":4162,"line":4282},[4160,14560,4536],{"class":4535},[4160,14562,4540],{"class":4539},[4160,14564,14565],{"class":4543},"AppText",[4160,14567,4055],{"class":4539},[4160,14569,14570],{"class":4543},"Button",[4160,14572,4055],{"class":4539},[4160,14574,14575],{"class":4543},"Screen",[4160,14577,4546],{"class":4539},[4160,14579,4549],{"class":4535},[4160,14581,14582],{"class":4552}," '@\u002Fshared\u002Fui'",[4160,14584,4556],{"class":4539},[4160,14586,14587],{"class":4162,"line":4288},[4160,14588,4185],{"emptyLinePlaceholder":4184},[4160,14590,14591,14593,14596,14599,14601,14603,14606,14609,14611,14613,14615],{"class":4162,"line":4294},[4160,14592,6592],{"class":4589},[4160,14594,14595],{"class":4607}," PREFS",[4160,14597,14598],{"class":4539},": { ",[4160,14600,5802],{"class":4543},[4160,14602,5814],{"class":4539},[4160,14604,14605],{"class":4637},"ThemePreference",[4160,14607,14608],{"class":4539},"; ",[4160,14610,10924],{"class":4543},[4160,14612,5814],{"class":4539},[4160,14614,5817],{"class":4637},[4160,14616,14617],{"class":4539}," }[] = [\n",[4160,14619,14620,14623,14626,14629,14631,14634,14637],{"class":4162,"line":4300},[4160,14621,14622],{"class":4539},"  { ",[4160,14624,14625],{"class":4543},"id:",[4160,14627,14628],{"class":4552}," 'system'",[4160,14630,4055],{"class":4539},[4160,14632,14633],{"class":4543},"label:",[4160,14635,14636],{"class":4552}," 'Система'",[4160,14638,4675],{"class":4539},[4160,14640,14641,14643,14645,14647,14649,14651,14654],{"class":4162,"line":4305},[4160,14642,14622],{"class":4539},[4160,14644,14625],{"class":4543},[4160,14646,13197],{"class":4552},[4160,14648,4055],{"class":4539},[4160,14650,14633],{"class":4543},[4160,14652,14653],{"class":4552}," 'Світла'",[4160,14655,4675],{"class":4539},[4160,14657,14658,14660,14662,14664,14666,14668,14671],{"class":4162,"line":4311},[4160,14659,14622],{"class":4539},[4160,14661,14625],{"class":4543},[4160,14663,13192],{"class":4552},[4160,14665,4055],{"class":4539},[4160,14667,14633],{"class":4543},[4160,14669,14670],{"class":4552}," 'Темна'",[4160,14672,4675],{"class":4539},[4160,14674,14675],{"class":4162,"line":4317},[4160,14676,6583],{"class":4539},[4160,14678,14679],{"class":4162,"line":4323},[4160,14680,4185],{"emptyLinePlaceholder":4184},[4160,14682,14683,14685,14687,14689,14692],{"class":4162,"line":4328},[4160,14684,4583],{"class":4535},[4160,14686,4586],{"class":4535},[4160,14688,4590],{"class":4589},[4160,14690,14691],{"class":4593}," HomeScreen",[4160,14693,4597],{"class":4539},[4160,14695,14696,14698,14700,14702,14704],{"class":4162,"line":4333},[4160,14697,4602],{"class":4589},[4160,14699,8226],{"class":4607},[4160,14701,5385],{"class":4539},[4160,14703,3772],{"class":4593},[4160,14705,4616],{"class":4539},[4160,14707,14708,14710,14712,14714,14716,14719,14721,14724],{"class":4162,"line":5663},[4160,14709,4602],{"class":4589},[4160,14711,4540],{"class":4539},[4160,14713,4118],{"class":4607},[4160,14715,4055],{"class":4539},[4160,14717,14718],{"class":4607},"resetToMock",[4160,14720,4611],{"class":4539},[4160,14722,14723],{"class":4593},"useTrips",[4160,14725,4616],{"class":4539},[4160,14727,14728,14730,14732,14734,14736,14739,14741,14744,14746,14749,14751,14753,14755,14757],{"class":4162,"line":5676},[4160,14729,4602],{"class":4589},[4160,14731,4540],{"class":4539},[4160,14733,4608],{"class":4607},[4160,14735,4055],{"class":4539},[4160,14737,14738],{"class":4607},"spacing",[4160,14740,4055],{"class":4539},[4160,14742,14743],{"class":4607},"preference",[4160,14745,4055],{"class":4539},[4160,14747,14748],{"class":4607},"setPreference",[4160,14750,4055],{"class":4539},[4160,14752,13153],{"class":4607},[4160,14754,4611],{"class":4539},[4160,14756,4565],{"class":4593},[4160,14758,4616],{"class":4539},[4160,14760,14761,14763,14765,14767,14769,14771,14773,14776,14779,14782],{"class":4162,"line":6728},[4160,14762,4602],{"class":4589},[4160,14764,5396],{"class":4539},[4160,14766,4121],{"class":4607},[4160,14768,5406],{"class":4539},[4160,14770,5300],{"class":4593},[4160,14772,5018],{"class":4539},[4160,14774,14775],{"class":4637},"Place",[4160,14777,14778],{"class":4539},"[]>(",[4160,14780,14781],{"class":4543},"mockPlaces",[4160,14783,5417],{"class":4539},[4160,14785,14786,14788,14790,14793,14795,14798,14800,14802,14804,14806],{"class":4162,"line":6733},[4160,14787,4602],{"class":4589},[4160,14789,5396],{"class":4539},[4160,14791,14792],{"class":4607},"refreshing",[4160,14794,4055],{"class":4539},[4160,14796,14797],{"class":4607},"setRefreshing",[4160,14799,5406],{"class":4539},[4160,14801,5300],{"class":4593},[4160,14803,5411],{"class":4539},[4160,14805,5440],{"class":4589},[4160,14807,5417],{"class":4539},[4160,14809,14810],{"class":4162,"line":6738},[4160,14811,4185],{"emptyLinePlaceholder":4184},[4160,14813,14814,14816,14819,14821,14823],{"class":4162,"line":6768},[4160,14815,4602],{"class":4589},[4160,14817,14818],{"class":4607}," handleOpenTrip",[4160,14820,5385],{"class":4539},[4160,14822,14373],{"class":4593},[4160,14824,5535],{"class":4539},[4160,14826,14827,14830,14832,14834,14837,14839,14841],{"class":4162,"line":6803},[4160,14828,14829],{"class":4539},"    (",[4160,14831,5912],{"class":4543},[4160,14833,5814],{"class":4539},[4160,14835,14836],{"class":4637},"Trip",[4160,14838,6644],{"class":4539},[4160,14840,5514],{"class":4589},[4160,14842,5517],{"class":4539},[4160,14844,14845,14848,14850,14852,14854,14857,14859,14861,14863,14865,14867,14869],{"class":4162,"line":6808},[4160,14846,14847],{"class":4543},"      router",[4160,14849,3840],{"class":4539},[4160,14851,6047],{"class":4593},[4160,14853,5411],{"class":4539},[4160,14855,14856],{"class":4552},"`\u002Ftrips\u002F",[4160,14858,5939],{"class":4589},[4160,14860,5912],{"class":4543},[4160,14862,3840],{"class":4653},[4160,14864,5802],{"class":4543},[4160,14866,4803],{"class":4589},[4160,14868,8630],{"class":4552},[4160,14870,5417],{"class":4539},[4160,14872,14873],{"class":4162,"line":6813},[4160,14874,12732],{"class":4539},[4160,14876,14877,14880,14883],{"class":4162,"line":6847},[4160,14878,14879],{"class":4539},"    [",[4160,14881,14882],{"class":4543},"router",[4160,14884,14885],{"class":4539},"],\n",[4160,14887,14888],{"class":4162,"line":6861},[4160,14889,4895],{"class":4539},[4160,14891,14892],{"class":4162,"line":6881},[4160,14893,4185],{"emptyLinePlaceholder":4184},[4160,14895,14896,14898,14901,14903,14905],{"class":4162,"line":6901},[4160,14897,4602],{"class":4589},[4160,14899,14900],{"class":4607}," handleOpenPlace",[4160,14902,5385],{"class":4539},[4160,14904,14373],{"class":4593},[4160,14906,5535],{"class":4539},[4160,14908,14909,14911,14914,14916,14918,14920,14922],{"class":4162,"line":6916},[4160,14910,14829],{"class":4539},[4160,14912,14913],{"class":4543},"place",[4160,14915,5814],{"class":4539},[4160,14917,14775],{"class":4637},[4160,14919,6644],{"class":4539},[4160,14921,5514],{"class":4589},[4160,14923,5517],{"class":4539},[4160,14925,14926],{"class":4162,"line":6929},[4160,14927,14928],{"class":4763},"      \u002F\u002F Місце належить поїздці — відкриваємо її деталі у вкладеному Stack.\n",[4160,14930,14931,14933,14935,14937,14939,14941,14943,14945,14947,14949,14951,14953],{"class":4162,"line":6935},[4160,14932,14847],{"class":4543},[4160,14934,3840],{"class":4539},[4160,14936,6047],{"class":4593},[4160,14938,5411],{"class":4539},[4160,14940,14856],{"class":4552},[4160,14942,5939],{"class":4589},[4160,14944,14913],{"class":4543},[4160,14946,3840],{"class":4653},[4160,14948,5880],{"class":4543},[4160,14950,4803],{"class":4589},[4160,14952,8630],{"class":4552},[4160,14954,5417],{"class":4539},[4160,14956,14957],{"class":4162,"line":6953},[4160,14958,12732],{"class":4539},[4160,14960,14961,14963,14965],{"class":4162,"line":6961},[4160,14962,14879],{"class":4539},[4160,14964,14882],{"class":4543},[4160,14966,14885],{"class":4539},[4160,14968,14969],{"class":4162,"line":6970},[4160,14970,4895],{"class":4539},[4160,14972,14973],{"class":4162,"line":6975},[4160,14974,4185],{"emptyLinePlaceholder":4184},[4160,14976,14977,14979,14982,14984,14986,14988,14990],{"class":4162,"line":6980},[4160,14978,4602],{"class":4589},[4160,14980,14981],{"class":4607}," onRefresh",[4160,14983,5385],{"class":4539},[4160,14985,14373],{"class":4593},[4160,14987,8244],{"class":4539},[4160,14989,5514],{"class":4589},[4160,14991,5517],{"class":4539},[4160,14993,14994,14997,14999,15001],{"class":4162,"line":7008},[4160,14995,14996],{"class":4593},"    setRefreshing",[4160,14998,5411],{"class":4539},[4160,15000,5693],{"class":4589},[4160,15002,5417],{"class":4539},[4160,15004,15005],{"class":4162,"line":7024},[4160,15006,15007],{"class":4763},"    \u002F\u002F Mock pull-to-refresh: повертаємо seed mock (локально створені зникають).\n",[4160,15009,15010,15012,15014,15016],{"class":4162,"line":7035},[4160,15011,10747],{"class":4593},[4160,15013,8244],{"class":4539},[4160,15015,5514],{"class":4589},[4160,15017,5517],{"class":4539},[4160,15019,15020,15023],{"class":4162,"line":7052},[4160,15021,15022],{"class":4593},"      resetToMock",[4160,15024,4616],{"class":4539},[4160,15026,15027,15030,15032,15034],{"class":4162,"line":7057},[4160,15028,15029],{"class":4593},"      setRefreshing",[4160,15031,5411],{"class":4539},[4160,15033,5440],{"class":4589},[4160,15035,5417],{"class":4539},[4160,15037,15038,15041,15044],{"class":4162,"line":8928},[4160,15039,15040],{"class":4539},"    }, ",[4160,15042,15043],{"class":5485},"900",[4160,15045,5417],{"class":4539},[4160,15047,15048,15051,15053],{"class":4162,"line":8937},[4160,15049,15050],{"class":4539},"  }, [",[4160,15052,14718],{"class":4543},[4160,15054,15055],{"class":4539},"]);\n",[4160,15057,15058],{"class":4162,"line":8942},[4160,15059,4185],{"emptyLinePlaceholder":4184},[4160,15061,15062,15064,15067,15069,15071],{"class":4162,"line":8947},[4160,15063,4602],{"class":4589},[4160,15065,15066],{"class":4607}," renderTrip",[4160,15068,5385],{"class":4539},[4160,15070,14373],{"class":4593},[4160,15072,5535],{"class":4539},[4160,15074,15075,15078,15080,15083,15085,15087,15089,15091,15093],{"class":4162,"line":8952},[4160,15076,15077],{"class":4539},"    ({ ",[4160,15079,8464],{"class":4543},[4160,15081,15082],{"class":4539}," }: { ",[4160,15084,8464],{"class":4543},[4160,15086,5814],{"class":4539},[4160,15088,14836],{"class":4637},[4160,15090,5511],{"class":4539},[4160,15092,5514],{"class":4589},[4160,15094,4628],{"class":4539},[4160,15096,15097,15099,15102,15104,15106,15108,15110,15112,15114,15116,15118,15121,15123],{"class":4162,"line":8973},[4160,15098,4771],{"class":4633},[4160,15100,15101],{"class":4637},"TripCard",[4160,15103,5875],{"class":4643},[4160,15105,4647],{"class":4539},[4160,15107,4650],{"class":4589},[4160,15109,8464],{"class":4543},[4160,15111,4803],{"class":4589},[4160,15113,9703],{"class":4643},[4160,15115,4647],{"class":4539},[4160,15117,4650],{"class":4589},[4160,15119,15120],{"class":4543},"handleOpenTrip",[4160,15122,4803],{"class":4589},[4160,15124,4806],{"class":4633},[4160,15126,15127],{"class":4162,"line":8995},[4160,15128,15129],{"class":4539},"    ),\n",[4160,15131,15132,15134,15136],{"class":4162,"line":9003},[4160,15133,14879],{"class":4539},[4160,15135,15120],{"class":4543},[4160,15137,14885],{"class":4539},[4160,15139,15140],{"class":4162,"line":9014},[4160,15141,4895],{"class":4539},[4160,15143,15144],{"class":4162,"line":9025},[4160,15145,4185],{"emptyLinePlaceholder":4184},[4160,15147,15148,15150,15153,15155,15157,15159,15161,15163,15165,15167,15169,15171,15173,15175],{"class":4162,"line":9035},[4160,15149,4602],{"class":4589},[4160,15151,15152],{"class":4607}," keyExtractor",[4160,15154,5385],{"class":4539},[4160,15156,14373],{"class":4593},[4160,15158,6638],{"class":4539},[4160,15160,8464],{"class":4543},[4160,15162,5814],{"class":4539},[4160,15164,14836],{"class":4637},[4160,15166,6644],{"class":4539},[4160,15168,5514],{"class":4589},[4160,15170,8471],{"class":4543},[4160,15172,3840],{"class":4539},[4160,15174,5802],{"class":4543},[4160,15176,15177],{"class":4539},", []);\n",[4160,15179,15180],{"class":4162,"line":9045},[4160,15181,4185],{"emptyLinePlaceholder":4184},[4160,15183,15184,15186,15189],{"class":4162,"line":9055},[4160,15185,4602],{"class":4589},[4160,15187,15188],{"class":4593}," listHeader",[4160,15190,15191],{"class":4539}," = (\n",[4160,15193,15194,15196,15198,15200,15202,15204,15206,15208,15211,15213,15216,15218,15220,15222,15224,15226,15228,15230],{"class":4162,"line":9060},[4160,15195,4634],{"class":4633},[4160,15197,8320],{"class":4637},[4160,15199,7170],{"class":4643},[4160,15201,4647],{"class":4539},[4160,15203,4650],{"class":4589},[4160,15205,4792],{"class":4653},[4160,15207,11276],{"class":4543},[4160,15209,15210],{"class":4543}," spacing",[4160,15212,3840],{"class":4653},[4160,15214,15215],{"class":4543},"md",[4160,15217,4055],{"class":4653},[4160,15219,11302],{"class":4543},[4160,15221,15210],{"class":4543},[4160,15223,3840],{"class":4653},[4160,15225,15215],{"class":4543},[4160,15227,4800],{"class":4653},[4160,15229,4803],{"class":4589},[4160,15231,4890],{"class":4633},[4160,15233,15234,15236,15238,15240,15242,15245,15248,15250],{"class":4162,"line":9088},[4160,15235,4760],{"class":4589},[4160,15237,4121],{"class":4543},[4160,15239,3840],{"class":4653},[4160,15241,5479],{"class":4543},[4160,15243,15244],{"class":4539}," >",[4160,15246,15247],{"class":5485}," 0",[4160,15249,10829],{"class":4539},[4160,15251,4628],{"class":4653},[4160,15253,15254,15256,15258,15260,15262,15264,15266,15268,15270,15272,15275,15277,15279],{"class":4162,"line":9117},[4160,15255,7267],{"class":4633},[4160,15257,8320],{"class":4637},[4160,15259,7170],{"class":4643},[4160,15261,4647],{"class":4539},[4160,15263,4650],{"class":4589},[4160,15265,4792],{"class":4653},[4160,15267,11276],{"class":4543},[4160,15269,15210],{"class":4543},[4160,15271,3840],{"class":4653},[4160,15273,15274],{"class":4543},"sm",[4160,15276,4800],{"class":4653},[4160,15278,4803],{"class":4589},[4160,15280,4890],{"class":4633},[4160,15282,15283,15285,15287,15289,15291,15293,15295,15297,15299,15301,15303,15305,15308,15310,15312],{"class":4162,"line":9146},[4160,15284,8549],{"class":4633},[4160,15286,14565],{"class":4637},[4160,15288,7170],{"class":4643},[4160,15290,4647],{"class":4539},[4160,15292,4650],{"class":4589},[4160,15294,4792],{"class":4653},[4160,15296,4711],{"class":4543},[4160,15298,4714],{"class":4552},[4160,15300,4800],{"class":4653},[4160,15302,4803],{"class":4589},[4160,15304,8361],{"class":4633},[4160,15306,15307],{"class":4653},"Останні місця",[4160,15309,8367],{"class":4633},[4160,15311,14565],{"class":4637},[4160,15313,4890],{"class":4633},[4160,15315,15316,15318],{"class":4162,"line":9154},[4160,15317,8549],{"class":4633},[4160,15319,8437],{"class":4637},[4160,15321,15322],{"class":4162,"line":9165},[4160,15323,15324],{"class":4643},"            horizontal\n",[4160,15326,15327,15330,15332,15334,15336],{"class":4162,"line":9175},[4160,15328,15329],{"class":4643},"            data",[4160,15331,4647],{"class":4539},[4160,15333,4650],{"class":4589},[4160,15335,4121],{"class":4543},[4160,15337,4251],{"class":4589},[4160,15339,15340,15343,15345,15347,15349,15351,15353,15355,15357,15359,15361],{"class":4162,"line":9185},[4160,15341,15342],{"class":4643},"            keyExtractor",[4160,15344,4647],{"class":4539},[4160,15346,4650],{"class":4589},[4160,15348,5411],{"class":4653},[4160,15350,8464],{"class":4543},[4160,15352,6644],{"class":4653},[4160,15354,5514],{"class":4589},[4160,15356,8471],{"class":4543},[4160,15358,3840],{"class":4653},[4160,15360,5802],{"class":4543},[4160,15362,4251],{"class":4589},[4160,15364,15365,15368,15370,15372,15374,15376,15378,15380],{"class":4162,"line":9195},[4160,15366,15367],{"class":4643},"            renderItem",[4160,15369,4647],{"class":4539},[4160,15371,4650],{"class":4589},[4160,15373,8593],{"class":4653},[4160,15375,8464],{"class":4543},[4160,15377,5511],{"class":4653},[4160,15379,5514],{"class":4589},[4160,15381,4628],{"class":4653},[4160,15383,15384,15386,15389,15392,15394,15396,15398,15400,15402,15404,15406,15409,15411],{"class":4162,"line":9206},[4160,15385,8666],{"class":4633},[4160,15387,15388],{"class":4637},"PlaceChip",[4160,15390,15391],{"class":4643}," place",[4160,15393,4647],{"class":4539},[4160,15395,4650],{"class":4589},[4160,15397,8464],{"class":4543},[4160,15399,4803],{"class":4589},[4160,15401,9703],{"class":4643},[4160,15403,4647],{"class":4539},[4160,15405,4650],{"class":4589},[4160,15407,15408],{"class":4543},"handleOpenPlace",[4160,15410,4803],{"class":4589},[4160,15412,4806],{"class":4633},[4160,15414,15415,15418],{"class":4162,"line":9211},[4160,15416,15417],{"class":4653},"            )",[4160,15419,4251],{"class":4589},[4160,15421,15422,15425,15427],{"class":4162,"line":9239},[4160,15423,15424],{"class":4643},"            showsHorizontalScrollIndicator",[4160,15426,4647],{"class":4539},[4160,15428,15429],{"class":4589},"{false}\n",[4160,15431,15432,15435,15437,15439,15441,15443,15445,15447,15449,15451,15453,15455,15458,15460,15462,15464,15466,15468,15470],{"class":4162,"line":9266},[4160,15433,15434],{"class":4643},"            ItemSeparatorComponent",[4160,15436,4647],{"class":4539},[4160,15438,4650],{"class":4589},[4160,15440,8507],{"class":4653},[4160,15442,5514],{"class":4589},[4160,15444,5923],{"class":4633},[4160,15446,8320],{"class":4637},[4160,15448,7170],{"class":4643},[4160,15450,4647],{"class":4539},[4160,15452,4650],{"class":4589},[4160,15454,4792],{"class":4653},[4160,15456,15457],{"class":4543},"width:",[4160,15459,15210],{"class":4543},[4160,15461,3840],{"class":4653},[4160,15463,15274],{"class":4543},[4160,15465,4800],{"class":4653},[4160,15467,4803],{"class":4589},[4160,15469,5951],{"class":4633},[4160,15471,4251],{"class":4589},[4160,15473,15474,15477,15479,15481,15483,15486,15489,15491],{"class":4162,"line":9274},[4160,15475,15476],{"class":4643},"            contentContainerStyle",[4160,15478,4647],{"class":4539},[4160,15480,4650],{"class":4589},[4160,15482,4792],{"class":4653},[4160,15484,15485],{"class":4543},"paddingVertical:",[4160,15487,15488],{"class":5485}," 2",[4160,15490,4800],{"class":4653},[4160,15492,4251],{"class":4589},[4160,15494,15495],{"class":4162,"line":9283},[4160,15496,15497],{"class":4633},"          \u002F>\n",[4160,15499,15500,15502,15504],{"class":4162,"line":9293},[4160,15501,8414],{"class":4633},[4160,15503,8320],{"class":4637},[4160,15505,4890],{"class":4633},[4160,15507,15508,15511,15513],{"class":4162,"line":9303},[4160,15509,15510],{"class":4653},"      ) ",[4160,15512,3821],{"class":4539},[4160,15514,15515],{"class":4589}," null}\n",[4160,15517,15518],{"class":4162,"line":9308},[4160,15519,4185],{"emptyLinePlaceholder":4184},[4160,15521,15522,15524,15526,15528,15530,15532,15534,15536,15538,15540,15542,15544,15547,15549,15551],{"class":4162,"line":9316},[4160,15523,4771],{"class":4633},[4160,15525,14565],{"class":4637},[4160,15527,7170],{"class":4643},[4160,15529,4647],{"class":4539},[4160,15531,4650],{"class":4589},[4160,15533,4792],{"class":4653},[4160,15535,4711],{"class":4543},[4160,15537,4714],{"class":4552},[4160,15539,4800],{"class":4653},[4160,15541,4803],{"class":4589},[4160,15543,8361],{"class":4633},[4160,15545,15546],{"class":4539},"Ваші поїздки",[4160,15548,8367],{"class":4633},[4160,15550,14565],{"class":4637},[4160,15552,4890],{"class":4633},[4160,15554,15555,15557,15559],{"class":4162,"line":9325},[4160,15556,4885],{"class":4633},[4160,15558,8320],{"class":4637},[4160,15560,4890],{"class":4633},[4160,15562,15563],{"class":4162,"line":9335},[4160,15564,4895],{"class":4539},[4160,15566,15567],{"class":4162,"line":9344},[4160,15568,4185],{"emptyLinePlaceholder":4184},[4160,15570,15571,15573,15576],{"class":4162,"line":9355},[4160,15572,4602],{"class":4589},[4160,15574,15575],{"class":4593}," listEmpty",[4160,15577,15191],{"class":4539},[4160,15579,15580,15582],{"class":4162,"line":9360},[4160,15581,4634],{"class":4633},[4160,15583,15584],{"class":4637},"View\n",[4160,15586,15587,15589,15591,15593],{"class":4162,"line":9380},[4160,15588,10790],{"class":4643},[4160,15590,4647],{"class":4539},[4160,15592,4650],{"class":4589},[4160,15594,15595],{"class":4653},"[\n",[4160,15597,15598,15601,15603,15606],{"class":4162,"line":11316},[4160,15599,15600],{"class":4543},"        styles",[4160,15602,3840],{"class":4653},[4160,15604,15605],{"class":4543},"empty",[4160,15607,4690],{"class":4653},[4160,15609,15610],{"class":4162,"line":11325},[4160,15611,5580],{"class":4653},[4160,15613,15614,15617,15619,15621,15623],{"class":4162,"line":11334},[4160,15615,15616],{"class":4543},"          paddingHorizontal:",[4160,15618,15210],{"class":4543},[4160,15620,3840],{"class":4653},[4160,15622,15274],{"class":4543},[4160,15624,4690],{"class":4653},[4160,15626,15627,15630,15632,15634,15637],{"class":4162,"line":11344},[4160,15628,15629],{"class":4543},"          paddingVertical:",[4160,15631,15210],{"class":4543},[4160,15633,3840],{"class":4653},[4160,15635,15636],{"class":4543},"xl",[4160,15638,4690],{"class":4653},[4160,15640,15641,15644,15646,15648,15650],{"class":4162,"line":11353},[4160,15642,15643],{"class":4543},"          gap:",[4160,15645,15210],{"class":4543},[4160,15647,3840],{"class":4653},[4160,15649,15274],{"class":4543},[4160,15651,4690],{"class":4653},[4160,15653,15654],{"class":4162,"line":11364},[4160,15655,5641],{"class":4653},[4160,15657,15658,15661],{"class":4162,"line":11369},[4160,15659,15660],{"class":4653},"      ]",[4160,15662,4251],{"class":4589},[4160,15664,15665],{"class":4162,"line":11377},[4160,15666,4755],{"class":4633},[4160,15668,15669,15671,15673,15676,15678,15681,15683,15685,15687,15689,15691,15694,15696],{"class":4162,"line":11386},[4160,15670,4771],{"class":4633},[4160,15672,14565],{"class":4637},[4160,15674,15675],{"class":4643}," variant",[4160,15677,4647],{"class":4539},[4160,15679,15680],{"class":4552},"\"subtitle\"",[4160,15682,7170],{"class":4643},[4160,15684,4647],{"class":4539},[4160,15686,4650],{"class":4589},[4160,15688,8287],{"class":4543},[4160,15690,3840],{"class":4653},[4160,15692,15693],{"class":4543},"emptyTitle",[4160,15695,4803],{"class":4589},[4160,15697,4890],{"class":4633},[4160,15699,15700],{"class":4162,"line":11395},[4160,15701,15702],{"class":4539},"        Поки немає поїздок\n",[4160,15704,15705,15707,15709],{"class":4162,"line":11404},[4160,15706,7366],{"class":4633},[4160,15708,14565],{"class":4637},[4160,15710,4890],{"class":4633},[4160,15712,15713,15715],{"class":4162,"line":11413},[4160,15714,4771],{"class":4633},[4160,15716,15717],{"class":4637},"AppText\n",[4160,15719,15720,15723,15725],{"class":4162,"line":11422},[4160,15721,15722],{"class":4643},"        variant",[4160,15724,4647],{"class":4539},[4160,15726,15727],{"class":4552},"\"caption\"\n",[4160,15729,15730,15733,15735,15737,15739,15741,15743],{"class":4162,"line":11431},[4160,15731,15732],{"class":4643},"        color",[4160,15734,4647],{"class":4539},[4160,15736,4650],{"class":4589},[4160,15738,4608],{"class":4543},[4160,15740,3840],{"class":4653},[4160,15742,13656],{"class":4543},[4160,15744,4251],{"class":4589},[4160,15746,15747,15750,15752,15754,15756,15758,15761],{"class":4162,"line":11440},[4160,15748,15749],{"class":4643},"        style",[4160,15751,4647],{"class":4539},[4160,15753,4650],{"class":4589},[4160,15755,8287],{"class":4543},[4160,15757,3840],{"class":4653},[4160,15759,15760],{"class":4543},"emptyDesc",[4160,15762,4251],{"class":4589},[4160,15764,15765],{"class":4162,"line":11449},[4160,15766,7262],{"class":4633},[4160,15768,15769],{"class":4162,"line":11454},[4160,15770,15771],{"class":4539},"        Потягніть список униз, щоб «оновити», або натисніть «Нова поїздка».\n",[4160,15773,15774,15776,15778],{"class":4162,"line":11470},[4160,15775,7366],{"class":4633},[4160,15777,14565],{"class":4637},[4160,15779,4890],{"class":4633},[4160,15781,15782,15784,15786],{"class":4162,"line":11477},[4160,15783,4885],{"class":4633},[4160,15785,8320],{"class":4637},[4160,15787,4890],{"class":4633},[4160,15789,15790],{"class":4162,"line":11487},[4160,15791,4895],{"class":4539},[4160,15793,15794],{"class":4162,"line":11496},[4160,15795,4185],{"emptyLinePlaceholder":4184},[4160,15797,15798,15800],{"class":4162,"line":11505},[4160,15799,4625],{"class":4535},[4160,15801,4628],{"class":4539},[4160,15803,15804,15806,15808,15810,15812,15814,15816,15818,15821,15823],{"class":4162,"line":11514},[4160,15805,4634],{"class":4633},[4160,15807,14575],{"class":4637},[4160,15809,7170],{"class":4643},[4160,15811,4647],{"class":4539},[4160,15813,4650],{"class":4589},[4160,15815,8287],{"class":4543},[4160,15817,3840],{"class":4653},[4160,15819,15820],{"class":4543},"screen",[4160,15822,4803],{"class":4589},[4160,15824,4890],{"class":4633},[4160,15826,15827,15829],{"class":4162,"line":11523},[4160,15828,4771],{"class":4633},[4160,15830,15584],{"class":4637},[4160,15832,15833,15835,15837,15839],{"class":4162,"line":11528},[4160,15834,15749],{"class":4643},[4160,15836,4647],{"class":4539},[4160,15838,4650],{"class":4589},[4160,15840,15595],{"class":4653},[4160,15842,15843,15846,15848,15850],{"class":4162,"line":11547},[4160,15844,15845],{"class":4543},"          styles",[4160,15847,3840],{"class":4653},[4160,15849,8333],{"class":4543},[4160,15851,4690],{"class":4653},[4160,15853,15855],{"class":4162,"line":15854},121,[4160,15856,15857],{"class":4653},"          {\n",[4160,15859,15861,15864,15866,15868,15870],{"class":4162,"line":15860},122,[4160,15862,15863],{"class":4543},"            paddingHorizontal:",[4160,15865,15210],{"class":4543},[4160,15867,3840],{"class":4653},[4160,15869,15215],{"class":4543},[4160,15871,4690],{"class":4653},[4160,15873,15875,15878,15880,15882,15884],{"class":4162,"line":15874},123,[4160,15876,15877],{"class":4543},"            paddingTop:",[4160,15879,15210],{"class":4543},[4160,15881,3840],{"class":4653},[4160,15883,15274],{"class":4543},[4160,15885,4690],{"class":4653},[4160,15887,15889,15892,15894,15896,15898],{"class":4162,"line":15888},124,[4160,15890,15891],{"class":4543},"            paddingBottom:",[4160,15893,15210],{"class":4543},[4160,15895,3840],{"class":4653},[4160,15897,15215],{"class":4543},[4160,15899,4690],{"class":4653},[4160,15901,15903,15906,15908,15910,15913],{"class":4162,"line":15902},125,[4160,15904,15905],{"class":4543},"            gap:",[4160,15907,15210],{"class":4543},[4160,15909,3840],{"class":4653},[4160,15911,15912],{"class":4543},"xs",[4160,15914,4690],{"class":4653},[4160,15916,15918,15921,15923,15925,15927],{"class":4162,"line":15917},126,[4160,15919,15920],{"class":4543},"            borderBottomColor:",[4160,15922,4667],{"class":4543},[4160,15924,3840],{"class":4653},[4160,15926,13687],{"class":4543},[4160,15928,4690],{"class":4653},[4160,15930,15932],{"class":4162,"line":15931},127,[4160,15933,15934],{"class":4653},"          },\n",[4160,15936,15938,15941],{"class":4162,"line":15937},128,[4160,15939,15940],{"class":4653},"        ]",[4160,15942,4251],{"class":4589},[4160,15944,15946],{"class":4162,"line":15945},129,[4160,15947,7262],{"class":4633},[4160,15949,15951,15953,15955,15957,15959,15962,15964,15967,15969,15971],{"class":4162,"line":15950},130,[4160,15952,7267],{"class":4633},[4160,15954,14565],{"class":4637},[4160,15956,15675],{"class":4643},[4160,15958,4647],{"class":4539},[4160,15960,15961],{"class":4552},"\"title\"",[4160,15963,8361],{"class":4633},[4160,15965,15966],{"class":4539},"Мандрівник",[4160,15968,8367],{"class":4633},[4160,15970,14565],{"class":4637},[4160,15972,4890],{"class":4633},[4160,15974,15976,15978,15980,15982,15984,15987,15989,15991,15993,15995,15997,15999,16001,16003,16005,16007],{"class":4162,"line":15975},131,[4160,15977,7267],{"class":4633},[4160,15979,14565],{"class":4637},[4160,15981,15675],{"class":4643},[4160,15983,4647],{"class":4539},[4160,15985,15986],{"class":4552},"\"caption\"",[4160,15988,7170],{"class":4643},[4160,15990,4647],{"class":4539},[4160,15992,4650],{"class":4589},[4160,15994,4792],{"class":4653},[4160,15996,9096],{"class":4543},[4160,15998,15210],{"class":4543},[4160,16000,3840],{"class":4653},[4160,16002,15912],{"class":4543},[4160,16004,4800],{"class":4653},[4160,16006,4803],{"class":4589},[4160,16008,4890],{"class":4633},[4160,16010,16012,16015,16017,16019,16021,16023,16025,16028,16030,16033],{"class":4162,"line":16011},132,[4160,16013,16014],{"class":4539},"          Щоденник подорожей · тема: ",[4160,16016,4650],{"class":4589},[4160,16018,13153],{"class":4543},[4160,16020,10823],{"class":4539},[4160,16022,13192],{"class":4552},[4160,16024,10829],{"class":4539},[4160,16026,16027],{"class":4552}," 'темна'",[4160,16029,10835],{"class":4539},[4160,16031,16032],{"class":4552}," 'світла'",[4160,16034,4251],{"class":4589},[4160,16036,16038,16040,16042],{"class":4162,"line":16037},133,[4160,16039,8414],{"class":4633},[4160,16041,14565],{"class":4637},[4160,16043,4890],{"class":4633},[4160,16045,16047,16049],{"class":4162,"line":16046},134,[4160,16048,7267],{"class":4633},[4160,16050,15717],{"class":4637},[4160,16052,16054,16057,16059],{"class":4162,"line":16053},135,[4160,16055,16056],{"class":4643},"          variant",[4160,16058,4647],{"class":4539},[4160,16060,15727],{"class":4552},[4160,16062,16064,16066,16068,16070],{"class":4162,"line":16063},136,[4160,16065,8832],{"class":4643},[4160,16067,4647],{"class":4539},[4160,16069,4650],{"class":4589},[4160,16071,4654],{"class":4653},[4160,16073,16075,16078,16080,16082,16084],{"class":4162,"line":16074},137,[4160,16076,16077],{"class":4543},"            marginTop:",[4160,16079,15210],{"class":4543},[4160,16081,3840],{"class":4653},[4160,16083,15912],{"class":4543},[4160,16085,4690],{"class":4653},[4160,16087,16089,16092,16094,16096,16098],{"class":4162,"line":16088},138,[4160,16090,16091],{"class":4543},"            color:",[4160,16093,4667],{"class":4543},[4160,16095,3840],{"class":4653},[4160,16097,4687],{"class":4543},[4160,16099,4690],{"class":4653},[4160,16101,16103,16106,16108],{"class":4162,"line":16102},139,[4160,16104,16105],{"class":4543},"            fontWeight:",[4160,16107,4714],{"class":4552},[4160,16109,4690],{"class":4653},[4160,16111,16113,16115],{"class":4162,"line":16112},140,[4160,16114,7354],{"class":4653},[4160,16116,4251],{"class":4589},[4160,16118,16120],{"class":4162,"line":16119},141,[4160,16121,8877],{"class":4633},[4160,16123,16125,16128,16130,16132,16134,16136],{"class":4162,"line":16124},142,[4160,16126,16127],{"class":4589},"          {",[4160,16129,4118],{"class":4543},[4160,16131,3840],{"class":4653},[4160,16133,5479],{"class":4543},[4160,16135,15244],{"class":4539},[4160,16137,16138],{"class":5485}," 0\n",[4160,16140,16142,16145,16148,16150,16152,16154,16156,16158,16161,16163,16165,16167,16169,16171],{"class":4162,"line":16141},143,[4160,16143,16144],{"class":4539},"            ?",[4160,16146,16147],{"class":4552}," `",[4160,16149,5939],{"class":4589},[4160,16151,4118],{"class":4543},[4160,16153,3840],{"class":4653},[4160,16155,5479],{"class":4543},[4160,16157,4803],{"class":4589},[4160,16159,16160],{"class":4552}," поїздок · ",[4160,16162,5939],{"class":4589},[4160,16164,4121],{"class":4543},[4160,16166,3840],{"class":4653},[4160,16168,5479],{"class":4543},[4160,16170,4803],{"class":4589},[4160,16172,16173],{"class":4552}," місць`\n",[4160,16175,16177,16180,16183],{"class":4162,"line":16176},144,[4160,16178,16179],{"class":4539},"            :",[4160,16181,16182],{"class":4552}," 'Список порожній'",[4160,16184,4251],{"class":4589},[4160,16186,16188,16190,16192],{"class":4162,"line":16187},145,[4160,16189,8414],{"class":4633},[4160,16191,14565],{"class":4637},[4160,16193,4890],{"class":4633},[4160,16195,16197],{"class":4162,"line":16196},146,[4160,16198,4185],{"emptyLinePlaceholder":4184},[4160,16200,16202,16204,16206,16208,16210,16212,16214,16216,16218,16221,16224,16226,16228,16230,16232,16234,16236,16238,16240,16242,16245,16247],{"class":4162,"line":16201},147,[4160,16203,7267],{"class":4633},[4160,16205,8320],{"class":4637},[4160,16207,7170],{"class":4643},[4160,16209,4647],{"class":4539},[4160,16211,4650],{"class":4589},[4160,16213,5859],{"class":4653},[4160,16215,8287],{"class":4543},[4160,16217,3840],{"class":4653},[4160,16219,16220],{"class":4543},"themeRow",[4160,16222,16223],{"class":4653},", { ",[4160,16225,11276],{"class":4543},[4160,16227,15210],{"class":4543},[4160,16229,3840],{"class":4653},[4160,16231,15274],{"class":4543},[4160,16233,4055],{"class":4653},[4160,16235,9096],{"class":4543},[4160,16237,15210],{"class":4543},[4160,16239,3840],{"class":4653},[4160,16241,15274],{"class":4543},[4160,16243,16244],{"class":4653}," }]",[4160,16246,4803],{"class":4589},[4160,16248,4890],{"class":4633},[4160,16250,16252,16254,16257,16259,16262,16264,16266,16268,16270],{"class":4162,"line":16251},148,[4160,16253,16127],{"class":4589},[4160,16255,16256],{"class":4607},"PREFS",[4160,16258,3840],{"class":4653},[4160,16260,16261],{"class":4593},"map",[4160,16263,6638],{"class":4653},[4160,16265,3743],{"class":4543},[4160,16267,6644],{"class":4653},[4160,16269,5514],{"class":4589},[4160,16271,5517],{"class":4653},[4160,16273,16275,16278,16281,16284,16287,16289,16292,16294,16296],{"class":4162,"line":16274},149,[4160,16276,16277],{"class":4589},"            const",[4160,16279,16280],{"class":4607}," active",[4160,16282,16283],{"class":4539}," =",[4160,16285,16286],{"class":4543}," preference",[4160,16288,10823],{"class":4539},[4160,16290,16291],{"class":4543}," p",[4160,16293,3840],{"class":4653},[4160,16295,5802],{"class":4543},[4160,16297,4556],{"class":4653},[4160,16299,16301,16304],{"class":4162,"line":16300},150,[4160,16302,16303],{"class":4535},"            return",[4160,16305,4628],{"class":4653},[4160,16307,16309,16311],{"class":4162,"line":16308},151,[4160,16310,8666],{"class":4633},[4160,16312,8827],{"class":4637},[4160,16314,16316,16319,16321,16323,16325,16327,16329],{"class":4162,"line":16315},152,[4160,16317,16318],{"class":4643},"                key",[4160,16320,4647],{"class":4539},[4160,16322,4650],{"class":4589},[4160,16324,3743],{"class":4543},[4160,16326,3840],{"class":4653},[4160,16328,5802],{"class":4543},[4160,16330,4251],{"class":4589},[4160,16332,16334,16337,16339,16341,16343,16345,16348,16350,16352,16354,16356,16358],{"class":4162,"line":16333},153,[4160,16335,16336],{"class":4643},"                onPress",[4160,16338,4647],{"class":4539},[4160,16340,4650],{"class":4589},[4160,16342,8507],{"class":4653},[4160,16344,5514],{"class":4589},[4160,16346,16347],{"class":4593}," setPreference",[4160,16349,5411],{"class":4653},[4160,16351,3743],{"class":4543},[4160,16353,3840],{"class":4653},[4160,16355,5802],{"class":4543},[4160,16357,5128],{"class":4653},[4160,16359,4251],{"class":4589},[4160,16361,16363,16366,16368,16370],{"class":4162,"line":16362},154,[4160,16364,16365],{"class":4643},"                style",[4160,16367,4647],{"class":4539},[4160,16369,4650],{"class":4589},[4160,16371,15595],{"class":4653},[4160,16373,16375,16378,16380,16383],{"class":4162,"line":16374},155,[4160,16376,16377],{"class":4543},"                  styles",[4160,16379,3840],{"class":4653},[4160,16381,16382],{"class":4543},"themeChip",[4160,16384,4690],{"class":4653},[4160,16386,16388],{"class":4162,"line":16387},156,[4160,16389,16390],{"class":4653},"                  {\n",[4160,16392,16394,16397,16399,16401,16403,16405,16407,16409,16411,16413,16416],{"class":4162,"line":16393},157,[4160,16395,16396],{"class":4543},"                    backgroundColor:",[4160,16398,16280],{"class":4543},[4160,16400,10829],{"class":4539},[4160,16402,4667],{"class":4543},[4160,16404,3840],{"class":4653},[4160,16406,4687],{"class":4543},[4160,16408,10835],{"class":4539},[4160,16410,4667],{"class":4543},[4160,16412,3840],{"class":4653},[4160,16414,16415],{"class":4543},"surface",[4160,16417,4690],{"class":4653},[4160,16419,16421,16424,16426,16428,16430],{"class":4162,"line":16420},158,[4160,16422,16423],{"class":4543},"                    borderColor:",[4160,16425,4667],{"class":4543},[4160,16427,3840],{"class":4653},[4160,16429,13687],{"class":4543},[4160,16431,4690],{"class":4653},[4160,16433,16435],{"class":4162,"line":16434},159,[4160,16436,16437],{"class":4653},"                  },\n",[4160,16439,16441,16444],{"class":4162,"line":16440},160,[4160,16442,16443],{"class":4653},"                ]",[4160,16445,4251],{"class":4589},[4160,16447,16449,16452,16454],{"class":4162,"line":16448},161,[4160,16450,16451],{"class":4643},"                accessibilityRole",[4160,16453,4647],{"class":4539},[4160,16455,16456],{"class":4552},"\"button\"\n",[4160,16458,16460,16463,16465,16467,16469,16472,16474,16476],{"class":4162,"line":16459},162,[4160,16461,16462],{"class":4643},"                accessibilityState",[4160,16464,4647],{"class":4539},[4160,16466,4650],{"class":4589},[4160,16468,4792],{"class":4653},[4160,16470,16471],{"class":4543},"selected:",[4160,16473,16280],{"class":4543},[4160,16475,4800],{"class":4653},[4160,16477,4251],{"class":4589},[4160,16479,16481,16484,16486,16488,16491,16493,16495,16497,16499,16501,16503],{"class":4162,"line":16480},163,[4160,16482,16483],{"class":4643},"                accessibilityLabel",[4160,16485,4647],{"class":4539},[4160,16487,4650],{"class":4589},[4160,16489,16490],{"class":4552},"`Тема: ",[4160,16492,5939],{"class":4589},[4160,16494,3743],{"class":4543},[4160,16496,3840],{"class":4653},[4160,16498,10924],{"class":4543},[4160,16500,4803],{"class":4589},[4160,16502,8630],{"class":4552},[4160,16504,4251],{"class":4589},[4160,16506,16508],{"class":4162,"line":16507},164,[4160,16509,16510],{"class":4633},"              >\n",[4160,16512,16514,16517],{"class":4162,"line":16513},165,[4160,16515,16516],{"class":4633},"                \u003C",[4160,16518,15717],{"class":4637},[4160,16520,16522,16525,16527],{"class":4162,"line":16521},166,[4160,16523,16524],{"class":4643},"                  variant",[4160,16526,4647],{"class":4539},[4160,16528,15727],{"class":4552},[4160,16530,16532,16535,16537,16539,16542,16544,16546,16548,16551,16553,16555,16557,16559],{"class":4162,"line":16531},167,[4160,16533,16534],{"class":4643},"                  color",[4160,16536,4647],{"class":4539},[4160,16538,4650],{"class":4589},[4160,16540,16541],{"class":4543},"active",[4160,16543,10829],{"class":4539},[4160,16545,4667],{"class":4543},[4160,16547,3840],{"class":4653},[4160,16549,16550],{"class":4543},"onPrimary",[4160,16552,10835],{"class":4539},[4160,16554,4667],{"class":4543},[4160,16556,3840],{"class":4653},[4160,16558,4008],{"class":4543},[4160,16560,4251],{"class":4589},[4160,16562,16564,16567,16569,16571,16573,16575,16578],{"class":4162,"line":16563},168,[4160,16565,16566],{"class":4643},"                  style",[4160,16568,4647],{"class":4539},[4160,16570,4650],{"class":4589},[4160,16572,8287],{"class":4543},[4160,16574,3840],{"class":4653},[4160,16576,16577],{"class":4543},"themeChipText",[4160,16579,4251],{"class":4589},[4160,16581,16583],{"class":4162,"line":16582},169,[4160,16584,16585],{"class":4633},"                >\n",[4160,16587,16589,16592,16594,16596,16598],{"class":4162,"line":16588},170,[4160,16590,16591],{"class":4589},"                  {",[4160,16593,3743],{"class":4543},[4160,16595,3840],{"class":4653},[4160,16597,10924],{"class":4543},[4160,16599,4251],{"class":4589},[4160,16601,16603,16606,16608],{"class":4162,"line":16602},171,[4160,16604,16605],{"class":4633},"                \u003C\u002F",[4160,16607,14565],{"class":4637},[4160,16609,4890],{"class":4633},[4160,16611,16613,16615,16617],{"class":4162,"line":16612},172,[4160,16614,8760],{"class":4633},[4160,16616,8644],{"class":4637},[4160,16618,4890],{"class":4633},[4160,16620,16622],{"class":4162,"line":16621},173,[4160,16623,16624],{"class":4653},"            );\n",[4160,16626,16628,16631],{"class":4162,"line":16627},174,[4160,16629,16630],{"class":4653},"          })",[4160,16632,4251],{"class":4589},[4160,16634,16636,16638,16640],{"class":4162,"line":16635},175,[4160,16637,8414],{"class":4633},[4160,16639,8320],{"class":4637},[4160,16641,4890],{"class":4633},[4160,16643,16645,16647,16649],{"class":4162,"line":16644},176,[4160,16646,7366],{"class":4633},[4160,16648,8320],{"class":4637},[4160,16650,4890],{"class":4633},[4160,16652,16654],{"class":4162,"line":16653},177,[4160,16655,4185],{"emptyLinePlaceholder":4184},[4160,16657,16659,16661,16663,16665,16667,16669,16671,16673,16676,16678],{"class":4162,"line":16658},178,[4160,16660,4771],{"class":4633},[4160,16662,8320],{"class":4637},[4160,16664,7170],{"class":4643},[4160,16666,4647],{"class":4539},[4160,16668,4650],{"class":4589},[4160,16670,8287],{"class":4543},[4160,16672,3840],{"class":4653},[4160,16674,16675],{"class":4543},"listWrap",[4160,16677,4803],{"class":4589},[4160,16679,4890],{"class":4633},[4160,16681,16683,16685],{"class":4162,"line":16682},179,[4160,16684,7267],{"class":4633},[4160,16686,16687],{"class":4637},"FlashList\n",[4160,16689,16691,16694,16696,16698,16700],{"class":4162,"line":16690},180,[4160,16692,16693],{"class":4643},"          data",[4160,16695,4647],{"class":4539},[4160,16697,4650],{"class":4589},[4160,16699,4118],{"class":4543},[4160,16701,4251],{"class":4589},[4160,16703,16705,16708,16710,16712,16715],{"class":4162,"line":16704},181,[4160,16706,16707],{"class":4643},"          renderItem",[4160,16709,4647],{"class":4539},[4160,16711,4650],{"class":4589},[4160,16713,16714],{"class":4543},"renderTrip",[4160,16716,4251],{"class":4589},[4160,16718,16720,16723,16725,16727,16730],{"class":4162,"line":16719},182,[4160,16721,16722],{"class":4643},"          keyExtractor",[4160,16724,4647],{"class":4539},[4160,16726,4650],{"class":4589},[4160,16728,16729],{"class":4543},"keyExtractor",[4160,16731,4251],{"class":4589},[4160,16733,16735,16738,16740,16742,16745],{"class":4162,"line":16734},183,[4160,16736,16737],{"class":4643},"          ListHeaderComponent",[4160,16739,4647],{"class":4539},[4160,16741,4650],{"class":4589},[4160,16743,16744],{"class":4543},"listHeader",[4160,16746,4251],{"class":4589},[4160,16748,16750,16753,16755,16757,16760],{"class":4162,"line":16749},184,[4160,16751,16752],{"class":4643},"          ListEmptyComponent",[4160,16754,4647],{"class":4539},[4160,16756,4650],{"class":4589},[4160,16758,16759],{"class":4543},"listEmpty",[4160,16761,4251],{"class":4589},[4160,16763,16765,16768,16770,16772],{"class":4162,"line":16764},185,[4160,16766,16767],{"class":4643},"          contentContainerStyle",[4160,16769,4647],{"class":4539},[4160,16771,4650],{"class":4589},[4160,16773,4654],{"class":4653},[4160,16775,16777,16779,16781,16783,16785],{"class":4162,"line":16776},186,[4160,16778,15863],{"class":4543},[4160,16780,15210],{"class":4543},[4160,16782,3840],{"class":4653},[4160,16784,15215],{"class":4543},[4160,16786,4690],{"class":4653},[4160,16788,16790,16792,16794,16796,16798],{"class":4162,"line":16789},187,[4160,16791,15877],{"class":4543},[4160,16793,15210],{"class":4543},[4160,16795,3840],{"class":4653},[4160,16797,15215],{"class":4543},[4160,16799,4690],{"class":4653},[4160,16801,16803,16805,16807,16809,16811],{"class":4162,"line":16802},188,[4160,16804,15891],{"class":4543},[4160,16806,15210],{"class":4543},[4160,16808,3840],{"class":4653},[4160,16810,15215],{"class":4543},[4160,16812,4690],{"class":4653},[4160,16814,16816,16818],{"class":4162,"line":16815},189,[4160,16817,7354],{"class":4653},[4160,16819,4251],{"class":4589},[4160,16821,16823,16826,16828,16830,16832,16834,16836,16838,16840,16842,16844,16846,16848,16850,16852,16854,16856,16858,16860],{"class":4162,"line":16822},190,[4160,16824,16825],{"class":4643},"          ItemSeparatorComponent",[4160,16827,4647],{"class":4539},[4160,16829,4650],{"class":4589},[4160,16831,8507],{"class":4653},[4160,16833,5514],{"class":4589},[4160,16835,5923],{"class":4633},[4160,16837,8320],{"class":4637},[4160,16839,7170],{"class":4643},[4160,16841,4647],{"class":4539},[4160,16843,4650],{"class":4589},[4160,16845,4792],{"class":4653},[4160,16847,8524],{"class":4543},[4160,16849,15210],{"class":4543},[4160,16851,3840],{"class":4653},[4160,16853,15215],{"class":4543},[4160,16855,4800],{"class":4653},[4160,16857,4803],{"class":4589},[4160,16859,5951],{"class":4633},[4160,16861,4251],{"class":4589},[4160,16863,16865,16868,16870],{"class":4162,"line":16864},191,[4160,16866,16867],{"class":4643},"          refreshControl",[4160,16869,4647],{"class":4539},[4160,16871,4654],{"class":4589},[4160,16873,16875,16877],{"class":4162,"line":16874},192,[4160,16876,7624],{"class":4633},[4160,16878,16879],{"class":4637},"RefreshControl\n",[4160,16881,16883,16886,16888,16890,16892],{"class":4162,"line":16882},193,[4160,16884,16885],{"class":4643},"              refreshing",[4160,16887,4647],{"class":4539},[4160,16889,4650],{"class":4589},[4160,16891,14792],{"class":4543},[4160,16893,4251],{"class":4589},[4160,16895,16897,16900,16902,16904,16907],{"class":4162,"line":16896},194,[4160,16898,16899],{"class":4643},"              onRefresh",[4160,16901,4647],{"class":4539},[4160,16903,4650],{"class":4589},[4160,16905,16906],{"class":4543},"onRefresh",[4160,16908,4251],{"class":4589},[4160,16910,16912,16915,16917,16919,16921,16923,16925],{"class":4162,"line":16911},195,[4160,16913,16914],{"class":4643},"              tintColor",[4160,16916,4647],{"class":4539},[4160,16918,4650],{"class":4589},[4160,16920,4608],{"class":4543},[4160,16922,3840],{"class":4653},[4160,16924,4687],{"class":4543},[4160,16926,4251],{"class":4589},[4160,16928,16930,16933,16935,16937,16939,16941,16943,16945,16947],{"class":4162,"line":16929},196,[4160,16931,16932],{"class":4643},"              colors",[4160,16934,4647],{"class":4539},[4160,16936,4650],{"class":4589},[4160,16938,5859],{"class":4653},[4160,16940,4608],{"class":4543},[4160,16942,3840],{"class":4653},[4160,16944,4687],{"class":4543},[4160,16946,8309],{"class":4653},[4160,16948,4251],{"class":4589},[4160,16950,16952],{"class":4162,"line":16951},197,[4160,16953,7774],{"class":4633},[4160,16955,16957],{"class":4162,"line":16956},198,[4160,16958,16959],{"class":4589},"          }\n",[4160,16961,16963,16966,16968],{"class":4162,"line":16962},199,[4160,16964,16965],{"class":4643},"          showsVerticalScrollIndicator",[4160,16967,4647],{"class":4539},[4160,16969,15429],{"class":4589},[4160,16971,16973],{"class":4162,"line":16972},200,[4160,16974,7361],{"class":4633},[4160,16976,16978,16980,16982],{"class":4162,"line":16977},201,[4160,16979,7366],{"class":4633},[4160,16981,8320],{"class":4637},[4160,16983,4890],{"class":4633},[4160,16985,16987],{"class":4162,"line":16986},202,[4160,16988,4185],{"emptyLinePlaceholder":4184},[4160,16990,16992,16994],{"class":4162,"line":16991},203,[4160,16993,4771],{"class":4633},[4160,16995,15584],{"class":4637},[4160,16997,16999,17001,17003,17005],{"class":4162,"line":16998},204,[4160,17000,15749],{"class":4643},[4160,17002,4647],{"class":4539},[4160,17004,4650],{"class":4589},[4160,17006,15595],{"class":4653},[4160,17008,17010,17012,17014,17016],{"class":4162,"line":17009},205,[4160,17011,15845],{"class":4543},[4160,17013,3840],{"class":4653},[4160,17015,8816],{"class":4543},[4160,17017,4690],{"class":4653},[4160,17019,17021],{"class":4162,"line":17020},206,[4160,17022,15857],{"class":4653},[4160,17024,17026,17028,17030,17032,17034],{"class":4162,"line":17025},207,[4160,17027,15863],{"class":4543},[4160,17029,15210],{"class":4543},[4160,17031,3840],{"class":4653},[4160,17033,15215],{"class":4543},[4160,17035,4690],{"class":4653},[4160,17037,17039,17041,17043,17045,17047],{"class":4162,"line":17038},208,[4160,17040,15877],{"class":4543},[4160,17042,15210],{"class":4543},[4160,17044,3840],{"class":4653},[4160,17046,15274],{"class":4543},[4160,17048,4690],{"class":4653},[4160,17050,17052,17054,17056,17058,17060],{"class":4162,"line":17051},209,[4160,17053,15891],{"class":4543},[4160,17055,15210],{"class":4543},[4160,17057,3840],{"class":4653},[4160,17059,15215],{"class":4543},[4160,17061,4690],{"class":4653},[4160,17063,17065,17068,17070,17072,17074],{"class":4162,"line":17064},210,[4160,17066,17067],{"class":4543},"            borderTopColor:",[4160,17069,4667],{"class":4543},[4160,17071,3840],{"class":4653},[4160,17073,13687],{"class":4543},[4160,17075,4690],{"class":4653},[4160,17077,17079,17082,17084,17086,17088],{"class":4162,"line":17078},211,[4160,17080,17081],{"class":4543},"            backgroundColor:",[4160,17083,4667],{"class":4543},[4160,17085,3840],{"class":4653},[4160,17087,4672],{"class":4543},[4160,17089,4690],{"class":4653},[4160,17091,17093],{"class":4162,"line":17092},212,[4160,17094,15934],{"class":4653},[4160,17096,17098,17100],{"class":4162,"line":17097},213,[4160,17099,15940],{"class":4653},[4160,17101,4251],{"class":4589},[4160,17103,17105],{"class":4162,"line":17104},214,[4160,17106,7262],{"class":4633},[4160,17108,17110,17112],{"class":4162,"line":17109},215,[4160,17111,7267],{"class":4633},[4160,17113,17114],{"class":4637},"Button\n",[4160,17116,17118,17121,17123],{"class":4162,"line":17117},216,[4160,17119,17120],{"class":4643},"          label",[4160,17122,4647],{"class":4539},[4160,17124,17125],{"class":4552},"\"Нова поїздка\"\n",[4160,17127,17129,17131,17133,17135,17137,17139],{"class":4162,"line":17128},217,[4160,17130,5610],{"class":4643},[4160,17132,4647],{"class":4539},[4160,17134,4650],{"class":4589},[4160,17136,8507],{"class":4653},[4160,17138,5514],{"class":4589},[4160,17140,5517],{"class":4653},[4160,17142,17144,17147,17149,17151,17153,17156],{"class":4162,"line":17143},218,[4160,17145,17146],{"class":4543},"            router",[4160,17148,3840],{"class":4653},[4160,17150,6047],{"class":4593},[4160,17152,5411],{"class":4653},[4160,17154,17155],{"class":4552},"'\u002Fcreate-trip'",[4160,17157,5417],{"class":4653},[4160,17159,17161,17163],{"class":4162,"line":17160},219,[4160,17162,7354],{"class":4653},[4160,17164,4251],{"class":4589},[4160,17166,17168],{"class":4162,"line":17167},220,[4160,17169,7361],{"class":4633},[4160,17171,17173,17175,17177],{"class":4162,"line":17172},221,[4160,17174,7366],{"class":4633},[4160,17176,8320],{"class":4637},[4160,17178,4890],{"class":4633},[4160,17180,17182,17184,17186],{"class":4162,"line":17181},222,[4160,17183,4885],{"class":4633},[4160,17185,14575],{"class":4637},[4160,17187,4890],{"class":4633},[4160,17189,17191],{"class":4162,"line":17190},223,[4160,17192,4895],{"class":4539},[4160,17194,17196],{"class":4162,"line":17195},224,[4160,17197,4251],{"class":4539},[4160,17199,17201],{"class":4162,"line":17200},225,[4160,17202,4185],{"emptyLinePlaceholder":4184},[4160,17204,17206,17208,17210,17212,17214,17216,17218],{"class":4162,"line":17205},226,[4160,17207,6592],{"class":4589},[4160,17209,8957],{"class":4607},[4160,17211,5385],{"class":4539},[4160,17213,8962],{"class":4543},[4160,17215,3840],{"class":4539},[4160,17217,8967],{"class":4593},[4160,17219,8970],{"class":4539},[4160,17221,17223,17226],{"class":4162,"line":17222},227,[4160,17224,17225],{"class":4543},"  screen:",[4160,17227,5517],{"class":4539},[4160,17229,17231,17233,17235],{"class":4162,"line":17230},228,[4160,17232,9006],{"class":4543},[4160,17234,15247],{"class":5485},[4160,17236,4690],{"class":4539},[4160,17238,17240],{"class":4162,"line":17239},229,[4160,17241,6526],{"class":4539},[4160,17243,17245,17247],{"class":4162,"line":17244},230,[4160,17246,8998],{"class":4543},[4160,17248,5517],{"class":4539},[4160,17250,17252,17254,17256],{"class":4162,"line":17251},231,[4160,17253,9038],{"class":4543},[4160,17255,8984],{"class":5485},[4160,17257,4690],{"class":4539},[4160,17259,17261],{"class":4162,"line":17260},232,[4160,17262,6526],{"class":4539},[4160,17264,17266,17269],{"class":4162,"line":17265},233,[4160,17267,17268],{"class":4543},"  themeRow:",[4160,17270,5517],{"class":4539},[4160,17272,17274,17277,17280],{"class":4162,"line":17273},234,[4160,17275,17276],{"class":4543},"    flexDirection:",[4160,17278,17279],{"class":4552}," 'row'",[4160,17281,4690],{"class":4539},[4160,17283,17285,17288,17291],{"class":4162,"line":17284},235,[4160,17286,17287],{"class":4543},"    flexWrap:",[4160,17289,17290],{"class":4552}," 'wrap'",[4160,17292,4690],{"class":4539},[4160,17294,17296],{"class":4162,"line":17295},236,[4160,17297,6526],{"class":4539},[4160,17299,17301,17304],{"class":4162,"line":17300},237,[4160,17302,17303],{"class":4543},"  themeChip:",[4160,17305,5517],{"class":4539},[4160,17307,17309,17311,17313],{"class":4162,"line":17308},238,[4160,17310,9006],{"class":4543},[4160,17312,7542],{"class":5485},[4160,17314,4690],{"class":4539},[4160,17316,17318,17320,17322],{"class":4162,"line":17317},239,[4160,17319,9328],{"class":4543},[4160,17321,9020],{"class":5485},[4160,17323,4690],{"class":4539},[4160,17325,17327,17329,17331],{"class":4162,"line":17326},240,[4160,17328,9168],{"class":4543},[4160,17330,9020],{"class":5485},[4160,17332,4690],{"class":4539},[4160,17334,17336,17338,17340],{"class":4162,"line":17335},241,[4160,17337,9178],{"class":4543},[4160,17339,8984],{"class":5485},[4160,17341,4690],{"class":4539},[4160,17343,17345],{"class":4162,"line":17344},242,[4160,17346,6526],{"class":4539},[4160,17348,17350,17353],{"class":4162,"line":17349},243,[4160,17351,17352],{"class":4543},"  themeChipText:",[4160,17354,5517],{"class":4539},[4160,17356,17358,17360,17362],{"class":4162,"line":17357},244,[4160,17359,11337],{"class":4543},[4160,17361,4714],{"class":4552},[4160,17363,4690],{"class":4539},[4160,17365,17367],{"class":4162,"line":17366},245,[4160,17368,6526],{"class":4539},[4160,17370,17372,17375],{"class":4162,"line":17371},246,[4160,17373,17374],{"class":4543},"  listWrap:",[4160,17376,5517],{"class":4539},[4160,17378,17380,17382,17384],{"class":4162,"line":17379},247,[4160,17381,10024],{"class":4543},[4160,17383,8984],{"class":5485},[4160,17385,4690],{"class":4539},[4160,17387,17389],{"class":4162,"line":17388},248,[4160,17390,6526],{"class":4539},[4160,17392,17394,17397],{"class":4162,"line":17393},249,[4160,17395,17396],{"class":4543},"  empty:",[4160,17398,5517],{"class":4539},[4160,17400,17402,17404,17406],{"class":4162,"line":17401},250,[4160,17403,9347],{"class":4543},[4160,17405,9350],{"class":4552},[4160,17407,4690],{"class":4539},[4160,17409,17411,17413,17415],{"class":4162,"line":17410},251,[4160,17412,10041],{"class":4543},[4160,17414,9350],{"class":4552},[4160,17416,4690],{"class":4539},[4160,17418,17420],{"class":4162,"line":17419},252,[4160,17421,6526],{"class":4539},[4160,17423,17425,17428],{"class":4162,"line":17424},253,[4160,17426,17427],{"class":4543},"  emptyTitle:",[4160,17429,5517],{"class":4539},[4160,17431,17433,17436,17438],{"class":4162,"line":17432},254,[4160,17434,17435],{"class":4543},"    textAlign:",[4160,17437,9350],{"class":4552},[4160,17439,4690],{"class":4539},[4160,17441,17443],{"class":4162,"line":17442},255,[4160,17444,6526],{"class":4539},[4160,17446,17448,17451],{"class":4162,"line":17447},256,[4160,17449,17450],{"class":4543},"  emptyDesc:",[4160,17452,5517],{"class":4539},[4160,17454,17456,17458,17460],{"class":4162,"line":17455},257,[4160,17457,17435],{"class":4543},[4160,17459,9350],{"class":4552},[4160,17461,4690],{"class":4539},[4160,17463,17465],{"class":4162,"line":17464},258,[4160,17466,6526],{"class":4539},[4160,17468,17470,17472],{"class":4162,"line":17469},259,[4160,17471,9269],{"class":4543},[4160,17473,5517],{"class":4539},[4160,17475,17477,17479,17481],{"class":4162,"line":17476},260,[4160,17478,9286],{"class":4543},[4160,17480,8984],{"class":5485},[4160,17482,4690],{"class":4539},[4160,17484,17486],{"class":4162,"line":17485},261,[4160,17487,6526],{"class":4539},[4160,17489,17491],{"class":4162,"line":17490},262,[4160,17492,9383],{"class":4539},[4003,17494,17496],{"className":4526,"code":17495,"filename":4365,"language":4528,"meta":4011,"style":4011},"import { useCallback, useMemo } from 'react';\nimport {\n  Image,\n  Platform,\n  ScrollView,\n  StyleSheet,\n  View,\n} from 'react-native';\nimport { Stack, useLocalSearchParams, useRouter } from 'expo-router';\n\nimport {\n  getPlacesForTrip,\n  useTrips,\n  type Place,\n} from '@\u002Ffeatures\u002Ftrips';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Button, Screen } from '@\u002Fshared\u002Fui';\n\n\u002F**\n * Деталі поїздки — вкладений Stack у вкладці «Поїздки».\n * Tab bar знизу лишається (на відміну від root-modal create-trip).\n *\u002F\nexport default function TripDetailsScreen() {\n  const { id } = useLocalSearchParams\u003C{ id: string }>();\n  const tripId = Array.isArray(id) ? id[0] : id;\n  const { getTrip } = useTrips();\n  const trip = tripId ? getTrip(tripId) : undefined;\n  const places = useMemo(\n    () => (tripId ? getPlacesForTrip(tripId) : []),\n    [tripId],\n  );\n  const { colors, spacing, radius } = useTheme();\n  const router = useRouter();\n\n  const openCreateModal = useCallback(() => {\n    router.push('\u002Fcreate-trip');\n  }, [router]);\n\n  if (!trip) {\n    return (\n      \u003CScreen>\n        \u003CStack.Screen options={{ title: 'Не знайдено' }} \u002F>\n        \u003CView style={[styles.center, { padding: spacing.lg }]}>\n          \u003CAppText variant=\"subtitle\">Поїздку не знайдено\u003C\u002FAppText>\n          \u003CAppText\n            variant=\"caption\"\n            color={colors.textSecondary}\n            style={{ marginTop: spacing.sm, textAlign: 'center' }}\n          >\n            Немає запису з id: {String(tripId)}. Можливо, список скинули\n            pull-to-refresh.\n          \u003C\u002FAppText>\n          \u003CButton\n            label=\"До списку\"\n            onPress={() => router.back()}\n            style={{ marginTop: spacing.md }}\n          \u002F>\n        \u003C\u002FView>\n      \u003C\u002FScreen>\n    );\n  }\n\n  return (\n    \u003CScreen style={styles.screen}>\n      \u003CStack.Screen options={{ title: trip.title }} \u002F>\n      \u003CScrollView\n        contentContainerStyle={{\n          paddingBottom: spacing.xl,\n        }}\n        showsVerticalScrollIndicator={false}\n      >\n        \u003CImage\n          source={{ uri: trip.coverUri }}\n          style={[styles.cover, { backgroundColor: colors.border }]}\n          resizeMode=\"cover\"\n        \u002F>\n        \u003CView style={{ padding: spacing.md, gap: spacing.sm }}>\n          \u003CAppText variant=\"title\">{trip.title}\u003C\u002FAppText>\n          \u003CAppText variant=\"caption\" color={colors.primary} style={styles.meta}>\n            {trip.dateLabel} · {trip.region}\n            {trip.plannedDays\n              ? ` · ${trip.plannedDays} дн.`\n              : ''}\n          \u003C\u002FAppText>\n\n          \u003CView style={[styles.badges, { gap: spacing.sm }]}>\n            {trip.isPrivate ? (\n              \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n                приватна\n              \u003C\u002FAppText>\n            ) : null}\n            {trip.hasItinerary ? (\n              \u003CAppText variant=\"caption\" color={colors.primary}>\n                є план маршруту\n              \u003C\u002FAppText>\n            ) : null}\n          \u003C\u002FView>\n\n          \u003CAppText style={{ marginTop: spacing.sm, lineHeight: 24 }}>\n            {trip.description}\n          \u003C\u002FAppText>\n\n          \u003CAppText\n            style={{ fontWeight: '700', marginTop: spacing.md }}\n          >\n            Місця в цій поїздці\n          \u003C\u002FAppText>\n          {places.length === 0 ? (\n            \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n              Поки немає точок у mock-даних для цієї поїздки.\n            \u003C\u002FAppText>\n          ) : (\n            places.map((place) => (\n              \u003CPlaceRow key={place.id} place={place} \u002F>\n            ))\n          )}\n\n          \u003CView style={{ gap: spacing.sm, marginTop: spacing.lg }}>\n            \u003CButton\n              label=\"Нова поїздка (modal)\"\n              onPress={openCreateModal}\n            \u002F>\n            \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n              Кнопка відкриває create-trip як modal на кореневому Stack —\n              вкладки ховаються під модалкою.\n            \u003C\u002FAppText>\n          \u003C\u002FView>\n        \u003C\u002FView>\n      \u003C\u002FScrollView>\n    \u003C\u002FScreen>\n  );\n}\n\nfunction PlaceRow({ place }: { place: Place }) {\n  const { colors, spacing, radius } = useTheme();\n  return (\n    \u003CView\n      style={[\n        styles.place,\n        {\n          backgroundColor: colors.surface,\n          borderColor: colors.border,\n          borderRadius: radius.md,\n          padding: spacing.sm,\n        },\n      ]}\n    >\n      \u003CAppText style={{ fontWeight: '700' }}>{place.name}\u003C\u002FAppText>\n      \u003CAppText variant=\"caption\" color={colors.primary}>\n        {place.city}\n      \u003C\u002FAppText>\n      \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n        {place.note}\n      \u003C\u002FAppText>\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: {\n    paddingHorizontal: 0,\n  },\n  center: {\n    flex: 1,\n    alignItems: 'center',\n    justifyContent: 'center',\n  },\n  cover: {\n    width: '100%',\n    height: 200,\n  },\n  meta: {\n    fontWeight: '600',\n  },\n  badges: {\n    flexDirection: 'row',\n    flexWrap: 'wrap',\n  },\n  place: {\n    borderWidth: 1,\n    marginTop: 8,\n    ...Platform.select({\n      ios: {\n        shadowColor: '#000',\n        shadowOpacity: 0.04,\n        shadowRadius: 6,\n        shadowOffset: { width: 0, height: 2 },\n      },\n      android: { elevation: 1 },\n      default: {},\n    }),\n  },\n});\n",[3747,17497,17498,17519,17525,17532,17538,17545,17551,17557,17567,17591,17595,17601,17608,17614,17622,17632,17648,17672,17676,17680,17685,17690,17694,17706,17728,17760,17774,17798,17811,17833,17841,17845,17868,17880,17884,17901,17916,17924,17928,17938,17944,17952,17976,18013,18036,18042,18051,18068,18098,18103,18124,18129,18137,18143,18153,18176,18198,18202,18210,18218,18222,18226,18230,18236,18258,18286,18293,18303,18316,18322,18331,18335,18342,18367,18398,18408,18412,18450,18480,18523,18551,18562,18584,18594,18602,18606,18643,18658,18686,18691,18699,18708,18723,18751,18756,18764,18772,18780,18784,18818,18831,18839,18843,18849,18877,18881,18886,18894,18912,18940,18945,18953,18962,18981,19015,19020,19027,19031,19069,19075,19085,19099,19103,19131,19136,19141,19149,19157,19165,19173,19181,19185,19189,19193,19215,19237,19243,19249,19259,19269,19273,19285,19298,19312,19325,19329,19335,19339,19380,19408,19422,19430,19458,19470,19478,19486,19490,19494,19498,19514,19520,19528,19532,19538,19546,19554,19562,19566,19573,19583,19593,19597,19604,19612,19616,19623,19631,19639,19643,19650,19658,19666,19680,19687,19697,19707,19716,19735,19739,19753,19761,19766,19770],{"__ignoreMap":4011},[4160,17499,17500,17502,17504,17506,17508,17511,17513,17515,17517],{"class":4162,"line":4163},[4160,17501,4536],{"class":4535},[4160,17503,4540],{"class":4539},[4160,17505,14373],{"class":4543},[4160,17507,4055],{"class":4539},[4160,17509,17510],{"class":4543},"useMemo",[4160,17512,4546],{"class":4539},[4160,17514,4549],{"class":4535},[4160,17516,5307],{"class":4552},[4160,17518,4556],{"class":4539},[4160,17520,17521,17523],{"class":4162,"line":4169},[4160,17522,4536],{"class":4535},[4160,17524,5517],{"class":4539},[4160,17526,17527,17530],{"class":4162,"line":4175},[4160,17528,17529],{"class":4543},"  Image",[4160,17531,4690],{"class":4539},[4160,17533,17534,17536],{"class":4162,"line":4181},[4160,17535,10215],{"class":4543},[4160,17537,4690],{"class":4539},[4160,17539,17540,17543],{"class":4162,"line":4188},[4160,17541,17542],{"class":4543},"  ScrollView",[4160,17544,4690],{"class":4539},[4160,17546,17547,17549],{"class":4162,"line":4194},[4160,17548,8074],{"class":4543},[4160,17550,4690],{"class":4539},[4160,17552,17553,17555],{"class":4162,"line":4200},[4160,17554,8088],{"class":4543},[4160,17556,4690],{"class":4539},[4160,17558,17559,17561,17563,17565],{"class":4162,"line":4206},[4160,17560,8095],{"class":4539},[4160,17562,4549],{"class":4535},[4160,17564,5324],{"class":4552},[4160,17566,4556],{"class":4539},[4160,17568,17569,17571,17573,17575,17577,17579,17581,17583,17585,17587,17589],{"class":4162,"line":4212},[4160,17570,4536],{"class":4535},[4160,17572,4540],{"class":4539},[4160,17574,3757],{"class":4543},[4160,17576,4055],{"class":4539},[4160,17578,5745],{"class":4543},[4160,17580,4055],{"class":4539},[4160,17582,3772],{"class":4543},[4160,17584,4546],{"class":4539},[4160,17586,4549],{"class":4535},[4160,17588,4553],{"class":4552},[4160,17590,4556],{"class":4539},[4160,17592,17593],{"class":4162,"line":4218},[4160,17594,4185],{"emptyLinePlaceholder":4184},[4160,17596,17597,17599],{"class":4162,"line":4224},[4160,17598,4536],{"class":4535},[4160,17600,5517],{"class":4539},[4160,17602,17603,17606],{"class":4162,"line":4230},[4160,17604,17605],{"class":4543},"  getPlacesForTrip",[4160,17607,4690],{"class":4539},[4160,17609,17610,17612],{"class":4162,"line":4236},[4160,17611,14502],{"class":4543},[4160,17613,4690],{"class":4539},[4160,17615,17616,17618,17620],{"class":4162,"line":4242},[4160,17617,14509],{"class":4535},[4160,17619,14512],{"class":4543},[4160,17621,4690],{"class":4539},[4160,17623,17624,17626,17628,17630],{"class":4162,"line":4248},[4160,17625,8095],{"class":4539},[4160,17627,4549],{"class":4535},[4160,17629,5769],{"class":4552},[4160,17631,4556],{"class":4539},[4160,17633,17634,17636,17638,17640,17642,17644,17646],{"class":4162,"line":4254},[4160,17635,4536],{"class":4535},[4160,17637,4540],{"class":4539},[4160,17639,4565],{"class":4543},[4160,17641,4546],{"class":4539},[4160,17643,4549],{"class":4535},[4160,17645,4572],{"class":4552},[4160,17647,4556],{"class":4539},[4160,17649,17650,17652,17654,17656,17658,17660,17662,17664,17666,17668,17670],{"class":4162,"line":4259},[4160,17651,4536],{"class":4535},[4160,17653,4540],{"class":4539},[4160,17655,14565],{"class":4543},[4160,17657,4055],{"class":4539},[4160,17659,14570],{"class":4543},[4160,17661,4055],{"class":4539},[4160,17663,14575],{"class":4543},[4160,17665,4546],{"class":4539},[4160,17667,4549],{"class":4535},[4160,17669,14582],{"class":4552},[4160,17671,4556],{"class":4539},[4160,17673,17674],{"class":4162,"line":4265},[4160,17675,4185],{"emptyLinePlaceholder":4184},[4160,17677,17678],{"class":4162,"line":4271},[4160,17679,13075],{"class":4763},[4160,17681,17682],{"class":4162,"line":4276},[4160,17683,17684],{"class":4763}," * Деталі поїздки — вкладений Stack у вкладці «Поїздки».\n",[4160,17686,17687],{"class":4162,"line":4282},[4160,17688,17689],{"class":4763}," * Tab bar знизу лишається (на відміну від root-modal create-trip).\n",[4160,17691,17692],{"class":4162,"line":4288},[4160,17693,13105],{"class":4763},[4160,17695,17696,17698,17700,17702,17704],{"class":4162,"line":4294},[4160,17697,4583],{"class":4535},[4160,17699,4586],{"class":4535},[4160,17701,4590],{"class":4589},[4160,17703,5786],{"class":4593},[4160,17705,4597],{"class":4539},[4160,17707,17708,17710,17712,17714,17716,17718,17720,17722,17724,17726],{"class":4162,"line":4300},[4160,17709,4602],{"class":4589},[4160,17711,4540],{"class":4539},[4160,17713,5802],{"class":4607},[4160,17715,4611],{"class":4539},[4160,17717,5745],{"class":4593},[4160,17719,5809],{"class":4539},[4160,17721,5802],{"class":4543},[4160,17723,5814],{"class":4539},[4160,17725,5817],{"class":4637},[4160,17727,5820],{"class":4539},[4160,17729,17730,17732,17734,17736,17738,17740,17742,17744,17746,17748,17750,17752,17754,17756,17758],{"class":4162,"line":4305},[4160,17731,4602],{"class":4589},[4160,17733,5837],{"class":4607},[4160,17735,5385],{"class":4539},[4160,17737,5842],{"class":4543},[4160,17739,3840],{"class":4539},[4160,17741,5847],{"class":4593},[4160,17743,5411],{"class":4539},[4160,17745,5802],{"class":4543},[4160,17747,5854],{"class":4539},[4160,17749,5802],{"class":4543},[4160,17751,5859],{"class":4539},[4160,17753,5486],{"class":5485},[4160,17755,5864],{"class":4539},[4160,17757,5802],{"class":4543},[4160,17759,4556],{"class":4539},[4160,17761,17762,17764,17766,17768,17770,17772],{"class":4162,"line":4311},[4160,17763,4602],{"class":4589},[4160,17765,4540],{"class":4539},[4160,17767,12143],{"class":4607},[4160,17769,4611],{"class":4539},[4160,17771,14723],{"class":4593},[4160,17773,4616],{"class":4539},[4160,17775,17776,17778,17780,17782,17784,17786,17788,17790,17792,17794,17796],{"class":4162,"line":4317},[4160,17777,4602],{"class":4589},[4160,17779,5875],{"class":4607},[4160,17781,5385],{"class":4539},[4160,17783,5880],{"class":4543},[4160,17785,5883],{"class":4539},[4160,17787,12143],{"class":4593},[4160,17789,5411],{"class":4539},[4160,17791,5880],{"class":4543},[4160,17793,5892],{"class":4539},[4160,17795,5895],{"class":4589},[4160,17797,4556],{"class":4539},[4160,17799,17800,17802,17805,17807,17809],{"class":4162,"line":4323},[4160,17801,4602],{"class":4589},[4160,17803,17804],{"class":4607}," places",[4160,17806,5385],{"class":4539},[4160,17808,17510],{"class":4593},[4160,17810,5535],{"class":4539},[4160,17812,17813,17816,17818,17820,17822,17824,17826,17828,17830],{"class":4162,"line":4328},[4160,17814,17815],{"class":4539},"    () ",[4160,17817,5514],{"class":4589},[4160,17819,5668],{"class":4539},[4160,17821,5880],{"class":4543},[4160,17823,5883],{"class":4539},[4160,17825,12146],{"class":4593},[4160,17827,5411],{"class":4539},[4160,17829,5880],{"class":4543},[4160,17831,17832],{"class":4539},") : []),\n",[4160,17834,17835,17837,17839],{"class":4162,"line":4333},[4160,17836,14879],{"class":4539},[4160,17838,5880],{"class":4543},[4160,17840,14885],{"class":4539},[4160,17842,17843],{"class":4162,"line":5663},[4160,17844,4895],{"class":4539},[4160,17846,17847,17849,17851,17853,17855,17857,17859,17862,17864,17866],{"class":4162,"line":5676},[4160,17848,4602],{"class":4589},[4160,17850,4540],{"class":4539},[4160,17852,4608],{"class":4607},[4160,17854,4055],{"class":4539},[4160,17856,14738],{"class":4607},[4160,17858,4055],{"class":4539},[4160,17860,17861],{"class":4607},"radius",[4160,17863,4611],{"class":4539},[4160,17865,4565],{"class":4593},[4160,17867,4616],{"class":4539},[4160,17869,17870,17872,17874,17876,17878],{"class":4162,"line":6728},[4160,17871,4602],{"class":4589},[4160,17873,8226],{"class":4607},[4160,17875,5385],{"class":4539},[4160,17877,3772],{"class":4593},[4160,17879,4616],{"class":4539},[4160,17881,17882],{"class":4162,"line":6733},[4160,17883,4185],{"emptyLinePlaceholder":4184},[4160,17885,17886,17888,17891,17893,17895,17897,17899],{"class":4162,"line":6738},[4160,17887,4602],{"class":4589},[4160,17889,17890],{"class":4607}," openCreateModal",[4160,17892,5385],{"class":4539},[4160,17894,14373],{"class":4593},[4160,17896,8244],{"class":4539},[4160,17898,5514],{"class":4589},[4160,17900,5517],{"class":4539},[4160,17902,17903,17906,17908,17910,17912,17914],{"class":4162,"line":6768},[4160,17904,17905],{"class":4543},"    router",[4160,17907,3840],{"class":4539},[4160,17909,6047],{"class":4593},[4160,17911,5411],{"class":4539},[4160,17913,17155],{"class":4552},[4160,17915,5417],{"class":4539},[4160,17917,17918,17920,17922],{"class":4162,"line":6803},[4160,17919,15050],{"class":4539},[4160,17921,14882],{"class":4543},[4160,17923,15055],{"class":4539},[4160,17925,17926],{"class":4162,"line":6808},[4160,17927,4185],{"emptyLinePlaceholder":4184},[4160,17929,17930,17932,17934,17936],{"class":4162,"line":6813},[4160,17931,5906],{"class":4535},[4160,17933,5909],{"class":4539},[4160,17935,5912],{"class":4543},[4160,17937,5915],{"class":4539},[4160,17939,17940,17942],{"class":4162,"line":6847},[4160,17941,5920],{"class":4535},[4160,17943,4628],{"class":4539},[4160,17945,17946,17948,17950],{"class":4162,"line":6861},[4160,17947,4771],{"class":4633},[4160,17949,14575],{"class":4637},[4160,17951,4890],{"class":4633},[4160,17953,17954,17956,17958,17960,17962,17964,17966,17968,17970,17972,17974],{"class":4162,"line":6881},[4160,17955,7267],{"class":4633},[4160,17957,4774],{"class":4637},[4160,17959,4785],{"class":4643},[4160,17961,4647],{"class":4539},[4160,17963,4650],{"class":4589},[4160,17965,4792],{"class":4653},[4160,17967,7979],{"class":4543},[4160,17969,9643],{"class":4552},[4160,17971,4800],{"class":4653},[4160,17973,4803],{"class":4589},[4160,17975,4806],{"class":4633},[4160,17977,17978,17980,17982,17984,17986,17988,17990,17992,17994,17996,17998,18000,18002,18004,18007,18009,18011],{"class":4162,"line":6901},[4160,17979,7267],{"class":4633},[4160,17981,8320],{"class":4637},[4160,17983,7170],{"class":4643},[4160,17985,4647],{"class":4539},[4160,17987,4650],{"class":4589},[4160,17989,5859],{"class":4653},[4160,17991,8287],{"class":4543},[4160,17993,3840],{"class":4653},[4160,17995,9620],{"class":4543},[4160,17997,16223],{"class":4653},[4160,17999,9125],{"class":4543},[4160,18001,15210],{"class":4543},[4160,18003,3840],{"class":4653},[4160,18005,18006],{"class":4543},"lg",[4160,18008,16244],{"class":4653},[4160,18010,4803],{"class":4589},[4160,18012,4890],{"class":4633},[4160,18014,18015,18017,18019,18021,18023,18025,18027,18030,18032,18034],{"class":4162,"line":6916},[4160,18016,8549],{"class":4633},[4160,18018,14565],{"class":4637},[4160,18020,15675],{"class":4643},[4160,18022,4647],{"class":4539},[4160,18024,15680],{"class":4552},[4160,18026,8361],{"class":4633},[4160,18028,18029],{"class":4539},"Поїздку не знайдено",[4160,18031,8367],{"class":4633},[4160,18033,14565],{"class":4637},[4160,18035,4890],{"class":4633},[4160,18037,18038,18040],{"class":4162,"line":6929},[4160,18039,8549],{"class":4633},[4160,18041,15717],{"class":4637},[4160,18043,18044,18047,18049],{"class":4162,"line":6935},[4160,18045,18046],{"class":4643},"            variant",[4160,18048,4647],{"class":4539},[4160,18050,15727],{"class":4552},[4160,18052,18053,18056,18058,18060,18062,18064,18066],{"class":4162,"line":6953},[4160,18054,18055],{"class":4643},"            color",[4160,18057,4647],{"class":4539},[4160,18059,4650],{"class":4589},[4160,18061,4608],{"class":4543},[4160,18063,3840],{"class":4653},[4160,18065,13656],{"class":4543},[4160,18067,4251],{"class":4589},[4160,18069,18070,18073,18075,18077,18079,18081,18083,18085,18087,18089,18092,18094,18096],{"class":4162,"line":6961},[4160,18071,18072],{"class":4643},"            style",[4160,18074,4647],{"class":4539},[4160,18076,4650],{"class":4589},[4160,18078,4792],{"class":4653},[4160,18080,9096],{"class":4543},[4160,18082,15210],{"class":4543},[4160,18084,3840],{"class":4653},[4160,18086,15274],{"class":4543},[4160,18088,4055],{"class":4653},[4160,18090,18091],{"class":4543},"textAlign:",[4160,18093,9350],{"class":4552},[4160,18095,4800],{"class":4653},[4160,18097,4251],{"class":4589},[4160,18099,18100],{"class":4162,"line":6970},[4160,18101,18102],{"class":4633},"          >\n",[4160,18104,18105,18108,18110,18113,18115,18117,18119,18121],{"class":4162,"line":6975},[4160,18106,18107],{"class":4539},"            Немає запису з id: ",[4160,18109,4650],{"class":4589},[4160,18111,18112],{"class":4593},"String",[4160,18114,5411],{"class":4653},[4160,18116,5880],{"class":4543},[4160,18118,5128],{"class":4653},[4160,18120,4803],{"class":4589},[4160,18122,18123],{"class":4539},". Можливо, список скинули\n",[4160,18125,18126],{"class":4162,"line":6980},[4160,18127,18128],{"class":4539},"            pull-to-refresh.\n",[4160,18130,18131,18133,18135],{"class":4162,"line":7008},[4160,18132,8778],{"class":4633},[4160,18134,14565],{"class":4637},[4160,18136,4890],{"class":4633},[4160,18138,18139,18141],{"class":4162,"line":7024},[4160,18140,8549],{"class":4633},[4160,18142,17114],{"class":4637},[4160,18144,18145,18148,18150],{"class":4162,"line":7035},[4160,18146,18147],{"class":4643},"            label",[4160,18149,4647],{"class":4539},[4160,18151,18152],{"class":4552},"\"До списку\"\n",[4160,18154,18155,18158,18160,18162,18164,18166,18168,18170,18172,18174],{"class":4162,"line":7052},[4160,18156,18157],{"class":4643},"            onPress",[4160,18159,4647],{"class":4539},[4160,18161,4650],{"class":4589},[4160,18163,8507],{"class":4653},[4160,18165,5514],{"class":4589},[4160,18167,8226],{"class":4543},[4160,18169,3840],{"class":4653},[4160,18171,9718],{"class":4593},[4160,18173,9721],{"class":4653},[4160,18175,4251],{"class":4589},[4160,18177,18178,18180,18182,18184,18186,18188,18190,18192,18194,18196],{"class":4162,"line":7057},[4160,18179,18072],{"class":4643},[4160,18181,4647],{"class":4539},[4160,18183,4650],{"class":4589},[4160,18185,4792],{"class":4653},[4160,18187,9096],{"class":4543},[4160,18189,15210],{"class":4543},[4160,18191,3840],{"class":4653},[4160,18193,15215],{"class":4543},[4160,18195,4800],{"class":4653},[4160,18197,4251],{"class":4589},[4160,18199,18200],{"class":4162,"line":8928},[4160,18201,15497],{"class":4633},[4160,18203,18204,18206,18208],{"class":4162,"line":8937},[4160,18205,8414],{"class":4633},[4160,18207,8320],{"class":4637},[4160,18209,4890],{"class":4633},[4160,18211,18212,18214,18216],{"class":4162,"line":8942},[4160,18213,7366],{"class":4633},[4160,18215,14575],{"class":4637},[4160,18217,4890],{"class":4633},[4160,18219,18220],{"class":4162,"line":8947},[4160,18221,5651],{"class":4539},[4160,18223,18224],{"class":4162,"line":8952},[4160,18225,4239],{"class":4539},[4160,18227,18228],{"class":4162,"line":8973},[4160,18229,4185],{"emptyLinePlaceholder":4184},[4160,18231,18232,18234],{"class":4162,"line":8995},[4160,18233,4625],{"class":4535},[4160,18235,4628],{"class":4539},[4160,18237,18238,18240,18242,18244,18246,18248,18250,18252,18254,18256],{"class":4162,"line":9003},[4160,18239,4634],{"class":4633},[4160,18241,14575],{"class":4637},[4160,18243,7170],{"class":4643},[4160,18245,4647],{"class":4539},[4160,18247,4650],{"class":4589},[4160,18249,8287],{"class":4543},[4160,18251,3840],{"class":4653},[4160,18253,15820],{"class":4543},[4160,18255,4803],{"class":4589},[4160,18257,4890],{"class":4633},[4160,18259,18260,18262,18264,18266,18268,18270,18272,18274,18276,18278,18280,18282,18284],{"class":4162,"line":9014},[4160,18261,4771],{"class":4633},[4160,18263,4774],{"class":4637},[4160,18265,4785],{"class":4643},[4160,18267,4647],{"class":4539},[4160,18269,4650],{"class":4589},[4160,18271,4792],{"class":4653},[4160,18273,7979],{"class":4543},[4160,18275,5875],{"class":4543},[4160,18277,3840],{"class":4653},[4160,18279,6825],{"class":4543},[4160,18281,4800],{"class":4653},[4160,18283,4803],{"class":4589},[4160,18285,4806],{"class":4633},[4160,18287,18288,18290],{"class":4162,"line":9025},[4160,18289,4771],{"class":4633},[4160,18291,18292],{"class":4637},"ScrollView\n",[4160,18294,18295,18297,18299,18301],{"class":4162,"line":9035},[4160,18296,8482],{"class":4643},[4160,18298,4647],{"class":4539},[4160,18300,4650],{"class":4589},[4160,18302,4654],{"class":4653},[4160,18304,18305,18308,18310,18312,18314],{"class":4162,"line":9045},[4160,18306,18307],{"class":4543},"          paddingBottom:",[4160,18309,15210],{"class":4543},[4160,18311,3840],{"class":4653},[4160,18313,15636],{"class":4543},[4160,18315,4690],{"class":4653},[4160,18317,18318,18320],{"class":4162,"line":9055},[4160,18319,4873],{"class":4653},[4160,18321,4251],{"class":4589},[4160,18323,18324,18327,18329],{"class":4162,"line":9060},[4160,18325,18326],{"class":4643},"        showsVerticalScrollIndicator",[4160,18328,4647],{"class":4539},[4160,18330,15429],{"class":4589},[4160,18332,18333],{"class":4162,"line":9088},[4160,18334,7262],{"class":4633},[4160,18336,18337,18339],{"class":4162,"line":9117},[4160,18338,7267],{"class":4633},[4160,18340,18341],{"class":4637},"Image\n",[4160,18343,18344,18347,18349,18351,18353,18356,18358,18360,18363,18365],{"class":4162,"line":9146},[4160,18345,18346],{"class":4643},"          source",[4160,18348,4647],{"class":4539},[4160,18350,4650],{"class":4589},[4160,18352,4792],{"class":4653},[4160,18354,18355],{"class":4543},"uri:",[4160,18357,5875],{"class":4543},[4160,18359,3840],{"class":4653},[4160,18361,18362],{"class":4543},"coverUri",[4160,18364,4800],{"class":4653},[4160,18366,4251],{"class":4589},[4160,18368,18369,18371,18373,18375,18377,18379,18381,18384,18386,18388,18390,18392,18394,18396],{"class":4162,"line":9154},[4160,18370,8832],{"class":4643},[4160,18372,4647],{"class":4539},[4160,18374,4650],{"class":4589},[4160,18376,5859],{"class":4653},[4160,18378,8287],{"class":4543},[4160,18380,3840],{"class":4653},[4160,18382,18383],{"class":4543},"cover",[4160,18385,16223],{"class":4653},[4160,18387,4664],{"class":4543},[4160,18389,4667],{"class":4543},[4160,18391,3840],{"class":4653},[4160,18393,13687],{"class":4543},[4160,18395,16244],{"class":4653},[4160,18397,4251],{"class":4589},[4160,18399,18400,18403,18405],{"class":4162,"line":9165},[4160,18401,18402],{"class":4643},"          resizeMode",[4160,18404,4647],{"class":4539},[4160,18406,18407],{"class":4552},"\"cover\"\n",[4160,18409,18410],{"class":4162,"line":9175},[4160,18411,7361],{"class":4633},[4160,18413,18414,18416,18418,18420,18422,18424,18426,18428,18430,18432,18434,18436,18438,18440,18442,18444,18446,18448],{"class":4162,"line":9185},[4160,18415,7267],{"class":4633},[4160,18417,8320],{"class":4637},[4160,18419,7170],{"class":4643},[4160,18421,4647],{"class":4539},[4160,18423,4650],{"class":4589},[4160,18425,4792],{"class":4653},[4160,18427,9125],{"class":4543},[4160,18429,15210],{"class":4543},[4160,18431,3840],{"class":4653},[4160,18433,15215],{"class":4543},[4160,18435,4055],{"class":4653},[4160,18437,11276],{"class":4543},[4160,18439,15210],{"class":4543},[4160,18441,3840],{"class":4653},[4160,18443,15274],{"class":4543},[4160,18445,4800],{"class":4653},[4160,18447,4803],{"class":4589},[4160,18449,4890],{"class":4633},[4160,18451,18452,18454,18456,18458,18460,18462,18464,18466,18468,18470,18472,18474,18476,18478],{"class":4162,"line":9195},[4160,18453,8549],{"class":4633},[4160,18455,14565],{"class":4637},[4160,18457,15675],{"class":4643},[4160,18459,4647],{"class":4539},[4160,18461,15961],{"class":4552},[4160,18463,8361],{"class":4633},[4160,18465,4650],{"class":4589},[4160,18467,5912],{"class":4543},[4160,18469,3840],{"class":4653},[4160,18471,6825],{"class":4543},[4160,18473,4803],{"class":4589},[4160,18475,8367],{"class":4633},[4160,18477,14565],{"class":4637},[4160,18479,4890],{"class":4633},[4160,18481,18482,18484,18486,18488,18490,18492,18494,18496,18498,18500,18502,18504,18506,18508,18510,18512,18514,18516,18519,18521],{"class":4162,"line":9206},[4160,18483,8549],{"class":4633},[4160,18485,14565],{"class":4637},[4160,18487,15675],{"class":4643},[4160,18489,4647],{"class":4539},[4160,18491,15986],{"class":4552},[4160,18493,7647],{"class":4643},[4160,18495,4647],{"class":4539},[4160,18497,4650],{"class":4589},[4160,18499,4608],{"class":4543},[4160,18501,3840],{"class":4653},[4160,18503,4687],{"class":4543},[4160,18505,4803],{"class":4589},[4160,18507,7170],{"class":4643},[4160,18509,4647],{"class":4539},[4160,18511,4650],{"class":4589},[4160,18513,8287],{"class":4543},[4160,18515,3840],{"class":4653},[4160,18517,18518],{"class":4543},"meta",[4160,18520,4803],{"class":4589},[4160,18522,4890],{"class":4633},[4160,18524,18525,18528,18530,18532,18535,18537,18540,18542,18544,18546,18549],{"class":4162,"line":9211},[4160,18526,18527],{"class":4589},"            {",[4160,18529,5912],{"class":4543},[4160,18531,3840],{"class":4653},[4160,18533,18534],{"class":4543},"dateLabel",[4160,18536,4803],{"class":4589},[4160,18538,18539],{"class":4539}," · ",[4160,18541,4650],{"class":4589},[4160,18543,5912],{"class":4543},[4160,18545,3840],{"class":4653},[4160,18547,18548],{"class":4543},"region",[4160,18550,4251],{"class":4589},[4160,18552,18553,18555,18557,18559],{"class":4162,"line":9239},[4160,18554,18527],{"class":4589},[4160,18556,5912],{"class":4543},[4160,18558,3840],{"class":4653},[4160,18560,18561],{"class":4543},"plannedDays\n",[4160,18563,18564,18567,18570,18572,18574,18576,18579,18581],{"class":4162,"line":9266},[4160,18565,18566],{"class":4539},"              ?",[4160,18568,18569],{"class":4552}," ` · ",[4160,18571,5939],{"class":4589},[4160,18573,5912],{"class":4543},[4160,18575,3840],{"class":4653},[4160,18577,18578],{"class":4543},"plannedDays",[4160,18580,4803],{"class":4589},[4160,18582,18583],{"class":4552}," дн.`\n",[4160,18585,18586,18589,18592],{"class":4162,"line":9274},[4160,18587,18588],{"class":4539},"              :",[4160,18590,18591],{"class":4552}," ''",[4160,18593,4251],{"class":4589},[4160,18595,18596,18598,18600],{"class":4162,"line":9283},[4160,18597,8778],{"class":4633},[4160,18599,14565],{"class":4637},[4160,18601,4890],{"class":4633},[4160,18603,18604],{"class":4162,"line":9293},[4160,18605,4185],{"emptyLinePlaceholder":4184},[4160,18607,18608,18610,18612,18614,18616,18618,18620,18622,18624,18627,18629,18631,18633,18635,18637,18639,18641],{"class":4162,"line":9303},[4160,18609,8549],{"class":4633},[4160,18611,8320],{"class":4637},[4160,18613,7170],{"class":4643},[4160,18615,4647],{"class":4539},[4160,18617,4650],{"class":4589},[4160,18619,5859],{"class":4653},[4160,18621,8287],{"class":4543},[4160,18623,3840],{"class":4653},[4160,18625,18626],{"class":4543},"badges",[4160,18628,16223],{"class":4653},[4160,18630,11276],{"class":4543},[4160,18632,15210],{"class":4543},[4160,18634,3840],{"class":4653},[4160,18636,15274],{"class":4543},[4160,18638,16244],{"class":4653},[4160,18640,4803],{"class":4589},[4160,18642,4890],{"class":4633},[4160,18644,18645,18647,18649,18651,18654,18656],{"class":4162,"line":9308},[4160,18646,18527],{"class":4589},[4160,18648,5912],{"class":4543},[4160,18650,3840],{"class":4653},[4160,18652,18653],{"class":4543},"isPrivate",[4160,18655,10829],{"class":4539},[4160,18657,4628],{"class":4653},[4160,18659,18660,18662,18664,18666,18668,18670,18672,18674,18676,18678,18680,18682,18684],{"class":4162,"line":9316},[4160,18661,8666],{"class":4633},[4160,18663,14565],{"class":4637},[4160,18665,15675],{"class":4643},[4160,18667,4647],{"class":4539},[4160,18669,15986],{"class":4552},[4160,18671,7647],{"class":4643},[4160,18673,4647],{"class":4539},[4160,18675,4650],{"class":4589},[4160,18677,4608],{"class":4543},[4160,18679,3840],{"class":4653},[4160,18681,13656],{"class":4543},[4160,18683,4803],{"class":4589},[4160,18685,4890],{"class":4633},[4160,18687,18688],{"class":4162,"line":9325},[4160,18689,18690],{"class":4653},"                приватна\n",[4160,18692,18693,18695,18697],{"class":4162,"line":9335},[4160,18694,8760],{"class":4633},[4160,18696,14565],{"class":4637},[4160,18698,4890],{"class":4633},[4160,18700,18701,18704,18706],{"class":4162,"line":9344},[4160,18702,18703],{"class":4653},"            ) ",[4160,18705,3821],{"class":4539},[4160,18707,15515],{"class":4589},[4160,18709,18710,18712,18714,18716,18719,18721],{"class":4162,"line":9355},[4160,18711,18527],{"class":4589},[4160,18713,5912],{"class":4543},[4160,18715,3840],{"class":4653},[4160,18717,18718],{"class":4543},"hasItinerary",[4160,18720,10829],{"class":4539},[4160,18722,4628],{"class":4653},[4160,18724,18725,18727,18729,18731,18733,18735,18737,18739,18741,18743,18745,18747,18749],{"class":4162,"line":9360},[4160,18726,8666],{"class":4633},[4160,18728,14565],{"class":4637},[4160,18730,15675],{"class":4643},[4160,18732,4647],{"class":4539},[4160,18734,15986],{"class":4552},[4160,18736,7647],{"class":4643},[4160,18738,4647],{"class":4539},[4160,18740,4650],{"class":4589},[4160,18742,4608],{"class":4543},[4160,18744,3840],{"class":4653},[4160,18746,4687],{"class":4543},[4160,18748,4803],{"class":4589},[4160,18750,4890],{"class":4633},[4160,18752,18753],{"class":4162,"line":9380},[4160,18754,18755],{"class":4653},"                є план маршруту\n",[4160,18757,18758,18760,18762],{"class":4162,"line":11316},[4160,18759,8760],{"class":4633},[4160,18761,14565],{"class":4637},[4160,18763,4890],{"class":4633},[4160,18765,18766,18768,18770],{"class":4162,"line":11325},[4160,18767,18703],{"class":4653},[4160,18769,3821],{"class":4539},[4160,18771,15515],{"class":4589},[4160,18773,18774,18776,18778],{"class":4162,"line":11334},[4160,18775,8778],{"class":4633},[4160,18777,8320],{"class":4637},[4160,18779,4890],{"class":4633},[4160,18781,18782],{"class":4162,"line":11344},[4160,18783,4185],{"emptyLinePlaceholder":4184},[4160,18785,18786,18788,18790,18792,18794,18796,18798,18800,18802,18804,18806,18808,18810,18812,18814,18816],{"class":4162,"line":11353},[4160,18787,8549],{"class":4633},[4160,18789,14565],{"class":4637},[4160,18791,7170],{"class":4643},[4160,18793,4647],{"class":4539},[4160,18795,4650],{"class":4589},[4160,18797,4792],{"class":4653},[4160,18799,9096],{"class":4543},[4160,18801,15210],{"class":4543},[4160,18803,3840],{"class":4653},[4160,18805,15274],{"class":4543},[4160,18807,4055],{"class":4653},[4160,18809,11932],{"class":4543},[4160,18811,9070],{"class":5485},[4160,18813,4800],{"class":4653},[4160,18815,4803],{"class":4589},[4160,18817,4890],{"class":4633},[4160,18819,18820,18822,18824,18826,18829],{"class":4162,"line":11364},[4160,18821,18527],{"class":4589},[4160,18823,5912],{"class":4543},[4160,18825,3840],{"class":4653},[4160,18827,18828],{"class":4543},"description",[4160,18830,4251],{"class":4589},[4160,18832,18833,18835,18837],{"class":4162,"line":11369},[4160,18834,8778],{"class":4633},[4160,18836,14565],{"class":4637},[4160,18838,4890],{"class":4633},[4160,18840,18841],{"class":4162,"line":11377},[4160,18842,4185],{"emptyLinePlaceholder":4184},[4160,18844,18845,18847],{"class":4162,"line":11386},[4160,18846,8549],{"class":4633},[4160,18848,15717],{"class":4637},[4160,18850,18851,18853,18855,18857,18859,18861,18863,18865,18867,18869,18871,18873,18875],{"class":4162,"line":11395},[4160,18852,18072],{"class":4643},[4160,18854,4647],{"class":4539},[4160,18856,4650],{"class":4589},[4160,18858,4792],{"class":4653},[4160,18860,4711],{"class":4543},[4160,18862,9228],{"class":4552},[4160,18864,4055],{"class":4653},[4160,18866,9096],{"class":4543},[4160,18868,15210],{"class":4543},[4160,18870,3840],{"class":4653},[4160,18872,15215],{"class":4543},[4160,18874,4800],{"class":4653},[4160,18876,4251],{"class":4589},[4160,18878,18879],{"class":4162,"line":11404},[4160,18880,18102],{"class":4633},[4160,18882,18883],{"class":4162,"line":11413},[4160,18884,18885],{"class":4539},"            Місця в цій поїздці\n",[4160,18887,18888,18890,18892],{"class":4162,"line":11422},[4160,18889,8778],{"class":4633},[4160,18891,14565],{"class":4637},[4160,18893,4890],{"class":4633},[4160,18895,18896,18898,18900,18902,18904,18906,18908,18910],{"class":4162,"line":11431},[4160,18897,16127],{"class":4589},[4160,18899,4121],{"class":4543},[4160,18901,3840],{"class":4653},[4160,18903,5479],{"class":4543},[4160,18905,10823],{"class":4539},[4160,18907,15247],{"class":5485},[4160,18909,10829],{"class":4539},[4160,18911,4628],{"class":4653},[4160,18913,18914,18916,18918,18920,18922,18924,18926,18928,18930,18932,18934,18936,18938],{"class":4162,"line":11440},[4160,18915,7624],{"class":4633},[4160,18917,14565],{"class":4637},[4160,18919,15675],{"class":4643},[4160,18921,4647],{"class":4539},[4160,18923,15986],{"class":4552},[4160,18925,7647],{"class":4643},[4160,18927,4647],{"class":4539},[4160,18929,4650],{"class":4589},[4160,18931,4608],{"class":4543},[4160,18933,3840],{"class":4653},[4160,18935,13656],{"class":4543},[4160,18937,4803],{"class":4589},[4160,18939,4890],{"class":4633},[4160,18941,18942],{"class":4162,"line":11449},[4160,18943,18944],{"class":4653},"              Поки немає точок у mock-даних для цієї поїздки.\n",[4160,18946,18947,18949,18951],{"class":4162,"line":11454},[4160,18948,8769],{"class":4633},[4160,18950,14565],{"class":4637},[4160,18952,4890],{"class":4633},[4160,18954,18955,18958,18960],{"class":4162,"line":11470},[4160,18956,18957],{"class":4653},"          ) ",[4160,18959,3821],{"class":4539},[4160,18961,4628],{"class":4653},[4160,18963,18964,18967,18969,18971,18973,18975,18977,18979],{"class":4162,"line":11477},[4160,18965,18966],{"class":4543},"            places",[4160,18968,3840],{"class":4653},[4160,18970,16261],{"class":4593},[4160,18972,6638],{"class":4653},[4160,18974,14913],{"class":4543},[4160,18976,6644],{"class":4653},[4160,18978,5514],{"class":4589},[4160,18980,4628],{"class":4653},[4160,18982,18983,18985,18988,18991,18993,18995,18997,18999,19001,19003,19005,19007,19009,19011,19013],{"class":4162,"line":11487},[4160,18984,8666],{"class":4633},[4160,18986,18987],{"class":4637},"PlaceRow",[4160,18989,18990],{"class":4643}," key",[4160,18992,4647],{"class":4539},[4160,18994,4650],{"class":4589},[4160,18996,14913],{"class":4543},[4160,18998,3840],{"class":4653},[4160,19000,5802],{"class":4543},[4160,19002,4803],{"class":4589},[4160,19004,15391],{"class":4643},[4160,19006,4647],{"class":4539},[4160,19008,4650],{"class":4589},[4160,19010,14913],{"class":4543},[4160,19012,4803],{"class":4589},[4160,19014,4806],{"class":4633},[4160,19016,19017],{"class":4162,"line":11496},[4160,19018,19019],{"class":4653},"            ))\n",[4160,19021,19022,19025],{"class":4162,"line":11505},[4160,19023,19024],{"class":4653},"          )",[4160,19026,4251],{"class":4589},[4160,19028,19029],{"class":4162,"line":11514},[4160,19030,4185],{"emptyLinePlaceholder":4184},[4160,19032,19033,19035,19037,19039,19041,19043,19045,19047,19049,19051,19053,19055,19057,19059,19061,19063,19065,19067],{"class":4162,"line":11523},[4160,19034,8549],{"class":4633},[4160,19036,8320],{"class":4637},[4160,19038,7170],{"class":4643},[4160,19040,4647],{"class":4539},[4160,19042,4650],{"class":4589},[4160,19044,4792],{"class":4653},[4160,19046,11276],{"class":4543},[4160,19048,15210],{"class":4543},[4160,19050,3840],{"class":4653},[4160,19052,15274],{"class":4543},[4160,19054,4055],{"class":4653},[4160,19056,9096],{"class":4543},[4160,19058,15210],{"class":4543},[4160,19060,3840],{"class":4653},[4160,19062,18006],{"class":4543},[4160,19064,4800],{"class":4653},[4160,19066,4803],{"class":4589},[4160,19068,4890],{"class":4633},[4160,19070,19071,19073],{"class":4162,"line":11528},[4160,19072,7624],{"class":4633},[4160,19074,17114],{"class":4637},[4160,19076,19077,19080,19082],{"class":4162,"line":11547},[4160,19078,19079],{"class":4643},"              label",[4160,19081,4647],{"class":4539},[4160,19083,19084],{"class":4552},"\"Нова поїздка (modal)\"\n",[4160,19086,19087,19090,19092,19094,19097],{"class":4162,"line":15854},[4160,19088,19089],{"class":4643},"              onPress",[4160,19091,4647],{"class":4539},[4160,19093,4650],{"class":4589},[4160,19095,19096],{"class":4543},"openCreateModal",[4160,19098,4251],{"class":4589},[4160,19100,19101],{"class":4162,"line":15860},[4160,19102,7774],{"class":4633},[4160,19104,19105,19107,19109,19111,19113,19115,19117,19119,19121,19123,19125,19127,19129],{"class":4162,"line":15874},[4160,19106,7624],{"class":4633},[4160,19108,14565],{"class":4637},[4160,19110,15675],{"class":4643},[4160,19112,4647],{"class":4539},[4160,19114,15986],{"class":4552},[4160,19116,7647],{"class":4643},[4160,19118,4647],{"class":4539},[4160,19120,4650],{"class":4589},[4160,19122,4608],{"class":4543},[4160,19124,3840],{"class":4653},[4160,19126,13656],{"class":4543},[4160,19128,4803],{"class":4589},[4160,19130,4890],{"class":4633},[4160,19132,19133],{"class":4162,"line":15888},[4160,19134,19135],{"class":4539},"              Кнопка відкриває create-trip як modal на кореневому Stack —\n",[4160,19137,19138],{"class":4162,"line":15902},[4160,19139,19140],{"class":4539},"              вкладки ховаються під модалкою.\n",[4160,19142,19143,19145,19147],{"class":4162,"line":15917},[4160,19144,8769],{"class":4633},[4160,19146,14565],{"class":4637},[4160,19148,4890],{"class":4633},[4160,19150,19151,19153,19155],{"class":4162,"line":15931},[4160,19152,8778],{"class":4633},[4160,19154,8320],{"class":4637},[4160,19156,4890],{"class":4633},[4160,19158,19159,19161,19163],{"class":4162,"line":15937},[4160,19160,8414],{"class":4633},[4160,19162,8320],{"class":4637},[4160,19164,4890],{"class":4633},[4160,19166,19167,19169,19171],{"class":4162,"line":15945},[4160,19168,7366],{"class":4633},[4160,19170,9407],{"class":4637},[4160,19172,4890],{"class":4633},[4160,19174,19175,19177,19179],{"class":4162,"line":15950},[4160,19176,4885],{"class":4633},[4160,19178,14575],{"class":4637},[4160,19180,4890],{"class":4633},[4160,19182,19183],{"class":4162,"line":15975},[4160,19184,4895],{"class":4539},[4160,19186,19187],{"class":4162,"line":16011},[4160,19188,4251],{"class":4539},[4160,19190,19191],{"class":4162,"line":16037},[4160,19192,4185],{"emptyLinePlaceholder":4184},[4160,19194,19195,19197,19200,19202,19204,19206,19208,19210,19212],{"class":4162,"line":16046},[4160,19196,6620],{"class":4589},[4160,19198,19199],{"class":4593}," PlaceRow",[4160,19201,8593],{"class":4539},[4160,19203,14913],{"class":4543},[4160,19205,15082],{"class":4539},[4160,19207,14913],{"class":4543},[4160,19209,5814],{"class":4539},[4160,19211,14775],{"class":4637},[4160,19213,19214],{"class":4539}," }) {\n",[4160,19216,19217,19219,19221,19223,19225,19227,19229,19231,19233,19235],{"class":4162,"line":16053},[4160,19218,4602],{"class":4589},[4160,19220,4540],{"class":4539},[4160,19222,4608],{"class":4607},[4160,19224,4055],{"class":4539},[4160,19226,14738],{"class":4607},[4160,19228,4055],{"class":4539},[4160,19230,17861],{"class":4607},[4160,19232,4611],{"class":4539},[4160,19234,4565],{"class":4593},[4160,19236,4616],{"class":4539},[4160,19238,19239,19241],{"class":4162,"line":16063},[4160,19240,4625],{"class":4535},[4160,19242,4628],{"class":4539},[4160,19244,19245,19247],{"class":4162,"line":16074},[4160,19246,4634],{"class":4633},[4160,19248,15584],{"class":4637},[4160,19250,19251,19253,19255,19257],{"class":4162,"line":16088},[4160,19252,10790],{"class":4643},[4160,19254,4647],{"class":4539},[4160,19256,4650],{"class":4589},[4160,19258,15595],{"class":4653},[4160,19260,19261,19263,19265,19267],{"class":4162,"line":16102},[4160,19262,15600],{"class":4543},[4160,19264,3840],{"class":4653},[4160,19266,14913],{"class":4543},[4160,19268,4690],{"class":4653},[4160,19270,19271],{"class":4162,"line":16112},[4160,19272,5580],{"class":4653},[4160,19274,19275,19277,19279,19281,19283],{"class":4162,"line":16119},[4160,19276,7511],{"class":4543},[4160,19278,4667],{"class":4543},[4160,19280,3840],{"class":4653},[4160,19282,16415],{"class":4543},[4160,19284,4690],{"class":4653},[4160,19286,19287,19290,19292,19294,19296],{"class":4162,"line":16124},[4160,19288,19289],{"class":4543},"          borderColor:",[4160,19291,4667],{"class":4543},[4160,19293,3840],{"class":4653},[4160,19295,13687],{"class":4543},[4160,19297,4690],{"class":4653},[4160,19299,19300,19303,19306,19308,19310],{"class":4162,"line":16141},[4160,19301,19302],{"class":4543},"          borderRadius:",[4160,19304,19305],{"class":4543}," radius",[4160,19307,3840],{"class":4653},[4160,19309,15215],{"class":4543},[4160,19311,4690],{"class":4653},[4160,19313,19314,19317,19319,19321,19323],{"class":4162,"line":16176},[4160,19315,19316],{"class":4543},"          padding:",[4160,19318,15210],{"class":4543},[4160,19320,3840],{"class":4653},[4160,19322,15274],{"class":4543},[4160,19324,4690],{"class":4653},[4160,19326,19327],{"class":4162,"line":16187},[4160,19328,5641],{"class":4653},[4160,19330,19331,19333],{"class":4162,"line":16196},[4160,19332,15660],{"class":4653},[4160,19334,4251],{"class":4589},[4160,19336,19337],{"class":4162,"line":16201},[4160,19338,4755],{"class":4633},[4160,19340,19341,19343,19345,19347,19349,19351,19353,19355,19357,19359,19361,19363,19365,19367,19369,19372,19374,19376,19378],{"class":4162,"line":16251},[4160,19342,4771],{"class":4633},[4160,19344,14565],{"class":4637},[4160,19346,7170],{"class":4643},[4160,19348,4647],{"class":4539},[4160,19350,4650],{"class":4589},[4160,19352,4792],{"class":4653},[4160,19354,4711],{"class":4543},[4160,19356,9228],{"class":4552},[4160,19358,4800],{"class":4653},[4160,19360,4803],{"class":4589},[4160,19362,8361],{"class":4633},[4160,19364,4650],{"class":4589},[4160,19366,14913],{"class":4543},[4160,19368,3840],{"class":4653},[4160,19370,19371],{"class":4543},"name",[4160,19373,4803],{"class":4589},[4160,19375,8367],{"class":4633},[4160,19377,14565],{"class":4637},[4160,19379,4890],{"class":4633},[4160,19381,19382,19384,19386,19388,19390,19392,19394,19396,19398,19400,19402,19404,19406],{"class":4162,"line":16274},[4160,19383,4771],{"class":4633},[4160,19385,14565],{"class":4637},[4160,19387,15675],{"class":4643},[4160,19389,4647],{"class":4539},[4160,19391,15986],{"class":4552},[4160,19393,7647],{"class":4643},[4160,19395,4647],{"class":4539},[4160,19397,4650],{"class":4589},[4160,19399,4608],{"class":4543},[4160,19401,3840],{"class":4653},[4160,19403,4687],{"class":4543},[4160,19405,4803],{"class":4589},[4160,19407,4890],{"class":4633},[4160,19409,19410,19413,19415,19417,19420],{"class":4162,"line":16300},[4160,19411,19412],{"class":4589},"        {",[4160,19414,14913],{"class":4543},[4160,19416,3840],{"class":4653},[4160,19418,19419],{"class":4543},"city",[4160,19421,4251],{"class":4589},[4160,19423,19424,19426,19428],{"class":4162,"line":16308},[4160,19425,7366],{"class":4633},[4160,19427,14565],{"class":4637},[4160,19429,4890],{"class":4633},[4160,19431,19432,19434,19436,19438,19440,19442,19444,19446,19448,19450,19452,19454,19456],{"class":4162,"line":16315},[4160,19433,4771],{"class":4633},[4160,19435,14565],{"class":4637},[4160,19437,15675],{"class":4643},[4160,19439,4647],{"class":4539},[4160,19441,15986],{"class":4552},[4160,19443,7647],{"class":4643},[4160,19445,4647],{"class":4539},[4160,19447,4650],{"class":4589},[4160,19449,4608],{"class":4543},[4160,19451,3840],{"class":4653},[4160,19453,13656],{"class":4543},[4160,19455,4803],{"class":4589},[4160,19457,4890],{"class":4633},[4160,19459,19460,19462,19464,19466,19468],{"class":4162,"line":16333},[4160,19461,19412],{"class":4589},[4160,19463,14913],{"class":4543},[4160,19465,3840],{"class":4653},[4160,19467,3938],{"class":4543},[4160,19469,4251],{"class":4589},[4160,19471,19472,19474,19476],{"class":4162,"line":16362},[4160,19473,7366],{"class":4633},[4160,19475,14565],{"class":4637},[4160,19477,4890],{"class":4633},[4160,19479,19480,19482,19484],{"class":4162,"line":16374},[4160,19481,4885],{"class":4633},[4160,19483,8320],{"class":4637},[4160,19485,4890],{"class":4633},[4160,19487,19488],{"class":4162,"line":16387},[4160,19489,4895],{"class":4539},[4160,19491,19492],{"class":4162,"line":16393},[4160,19493,4251],{"class":4539},[4160,19495,19496],{"class":4162,"line":16420},[4160,19497,4185],{"emptyLinePlaceholder":4184},[4160,19499,19500,19502,19504,19506,19508,19510,19512],{"class":4162,"line":16434},[4160,19501,6592],{"class":4589},[4160,19503,8957],{"class":4607},[4160,19505,5385],{"class":4539},[4160,19507,8962],{"class":4543},[4160,19509,3840],{"class":4539},[4160,19511,8967],{"class":4593},[4160,19513,8970],{"class":4539},[4160,19515,19516,19518],{"class":4162,"line":16440},[4160,19517,17225],{"class":4543},[4160,19519,5517],{"class":4539},[4160,19521,19522,19524,19526],{"class":4162,"line":16448},[4160,19523,9006],{"class":4543},[4160,19525,15247],{"class":5485},[4160,19527,4690],{"class":4539},[4160,19529,19530],{"class":4162,"line":16459},[4160,19531,6526],{"class":4539},[4160,19533,19534,19536],{"class":4162,"line":16480},[4160,19535,10017],{"class":4543},[4160,19537,5517],{"class":4539},[4160,19539,19540,19542,19544],{"class":4162,"line":16507},[4160,19541,10024],{"class":4543},[4160,19543,8984],{"class":5485},[4160,19545,4690],{"class":4539},[4160,19547,19548,19550,19552],{"class":4162,"line":16513},[4160,19549,9347],{"class":4543},[4160,19551,9350],{"class":4552},[4160,19553,4690],{"class":4539},[4160,19555,19556,19558,19560],{"class":4162,"line":16521},[4160,19557,10041],{"class":4543},[4160,19559,9350],{"class":4552},[4160,19561,4690],{"class":4539},[4160,19563,19564],{"class":4162,"line":16531},[4160,19565,6526],{"class":4539},[4160,19567,19568,19571],{"class":4162,"line":16563},[4160,19569,19570],{"class":4543},"  cover:",[4160,19572,5517],{"class":4539},[4160,19574,19575,19578,19581],{"class":4162,"line":16582},[4160,19576,19577],{"class":4543},"    width:",[4160,19579,19580],{"class":4552}," '100%'",[4160,19582,4690],{"class":4539},[4160,19584,19585,19588,19591],{"class":4162,"line":16588},[4160,19586,19587],{"class":4543},"    height:",[4160,19589,19590],{"class":5485}," 200",[4160,19592,4690],{"class":4539},[4160,19594,19595],{"class":4162,"line":16602},[4160,19596,6526],{"class":4539},[4160,19598,19599,19602],{"class":4162,"line":16612},[4160,19600,19601],{"class":4543},"  meta:",[4160,19603,5517],{"class":4539},[4160,19605,19606,19608,19610],{"class":4162,"line":16621},[4160,19607,11337],{"class":4543},[4160,19609,4714],{"class":4552},[4160,19611,4690],{"class":4539},[4160,19613,19614],{"class":4162,"line":16627},[4160,19615,6526],{"class":4539},[4160,19617,19618,19621],{"class":4162,"line":16635},[4160,19619,19620],{"class":4543},"  badges:",[4160,19622,5517],{"class":4539},[4160,19624,19625,19627,19629],{"class":4162,"line":16644},[4160,19626,17276],{"class":4543},[4160,19628,17279],{"class":4552},[4160,19630,4690],{"class":4539},[4160,19632,19633,19635,19637],{"class":4162,"line":16653},[4160,19634,17287],{"class":4543},[4160,19636,17290],{"class":4552},[4160,19638,4690],{"class":4539},[4160,19640,19641],{"class":4162,"line":16658},[4160,19642,6526],{"class":4539},[4160,19644,19645,19648],{"class":4162,"line":16682},[4160,19646,19647],{"class":4543},"  place:",[4160,19649,5517],{"class":4539},[4160,19651,19652,19654,19656],{"class":4162,"line":16690},[4160,19653,9178],{"class":4543},[4160,19655,8984],{"class":5485},[4160,19657,4690],{"class":4539},[4160,19659,19660,19662,19664],{"class":4162,"line":16704},[4160,19661,10119],{"class":4543},[4160,19663,9020],{"class":5485},[4160,19665,4690],{"class":4539},[4160,19667,19668,19671,19673,19675,19678],{"class":4162,"line":16719},[4160,19669,19670],{"class":4539},"    ...",[4160,19672,10815],{"class":4543},[4160,19674,3840],{"class":4539},[4160,19676,19677],{"class":4593},"select",[4160,19679,8970],{"class":4539},[4160,19681,19682,19685],{"class":4162,"line":16734},[4160,19683,19684],{"class":4543},"      ios:",[4160,19686,5517],{"class":4539},[4160,19688,19689,19692,19695],{"class":4162,"line":16749},[4160,19690,19691],{"class":4543},"        shadowColor:",[4160,19693,19694],{"class":4552}," '#000'",[4160,19696,4690],{"class":4539},[4160,19698,19699,19702,19705],{"class":4162,"line":16764},[4160,19700,19701],{"class":4543},"        shadowOpacity:",[4160,19703,19704],{"class":5485}," 0.04",[4160,19706,4690],{"class":4539},[4160,19708,19709,19712,19714],{"class":4162,"line":16776},[4160,19710,19711],{"class":4543},"        shadowRadius:",[4160,19713,9249],{"class":5485},[4160,19715,4690],{"class":4539},[4160,19717,19718,19721,19723,19725,19727,19729,19731,19733],{"class":4162,"line":16789},[4160,19719,19720],{"class":4543},"        shadowOffset:",[4160,19722,4540],{"class":4539},[4160,19724,15457],{"class":4543},[4160,19726,15247],{"class":5485},[4160,19728,4055],{"class":4539},[4160,19730,8524],{"class":4543},[4160,19732,15488],{"class":5485},[4160,19734,4675],{"class":4539},[4160,19736,19737],{"class":4162,"line":16802},[4160,19738,12790],{"class":4539},[4160,19740,19741,19744,19746,19749,19751],{"class":4162,"line":16815},[4160,19742,19743],{"class":4543},"      android:",[4160,19745,4540],{"class":4539},[4160,19747,19748],{"class":4543},"elevation:",[4160,19750,8984],{"class":5485},[4160,19752,4675],{"class":4539},[4160,19754,19755,19758],{"class":4162,"line":16822},[4160,19756,19757],{"class":4543},"      default:",[4160,19759,19760],{"class":4539}," {},\n",[4160,19762,19763],{"class":4162,"line":16864},[4160,19764,19765],{"class":4539},"    }),\n",[4160,19767,19768],{"class":4162,"line":16874},[4160,19769,6526],{"class":4539},[4160,19771,19772],{"class":4162,"line":16882},[4160,19773,9383],{"class":4539},[4003,19775,19778],{"className":4526,"code":19776,"filename":19777,"language":4528,"meta":4011,"style":4011},"import { useCallback, useState } from 'react';\nimport { FlatList, StyleSheet, View } from 'react-native';\nimport { useRouter } from 'expo-router';\n\nimport { mockPlaces, PlaceChip, type Place } from '@\u002Ffeatures\u002Ftrips';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Screen } from '@\u002Fshared\u002Fui';\n\n\u002F**\n * Вкладка «Місця» — повний список місць (раніше лише горизонтальна стрічка на home).\n *\u002F\nexport default function PlacesScreen() {\n  const router = useRouter();\n  const { colors, spacing } = useTheme();\n  const [places] = useState\u003CPlace[]>(mockPlaces);\n\n  const handleOpenPlace = useCallback(\n    (place: Place) => {\n      router.push(`\u002Ftrips\u002F${place.tripId}`);\n    },\n    [router],\n  );\n\n  return (\n    \u003CScreen style={styles.screen}>\n      \u003CView\n        style={[\n          styles.header,\n          {\n            paddingHorizontal: spacing.md,\n            paddingTop: spacing.sm,\n            paddingBottom: spacing.md,\n            borderBottomColor: colors.border,\n          },\n        ]}\n      >\n        \u003CAppText variant=\"title\">Місця\u003C\u002FAppText>\n        \u003CAppText variant=\"caption\" style={{ marginTop: spacing.xs }}>\n          Усі збережені точки з mock-даних · {places.length}\n        \u003C\u002FAppText>\n      \u003C\u002FView>\n\n      \u003CFlatList\n        data={places}\n        keyExtractor={(item) => item.id}\n        numColumns={2}\n        columnWrapperStyle={{\n          gap: spacing.sm,\n          paddingHorizontal: spacing.md,\n        }}\n        contentContainerStyle={{\n          paddingTop: spacing.md,\n          paddingBottom: spacing.xl,\n          gap: spacing.sm,\n        }}\n        renderItem={({ item }) => (\n          \u003CView style={styles.cell}>\n            \u003CPlaceChip place={item} onPress={handleOpenPlace} \u002F>\n          \u003C\u002FView>\n        )}\n        ListEmptyComponent={\n          \u003CView style={styles.empty}>\n            \u003CAppText variant=\"subtitle\" style={styles.center}>\n              Місць поки немає\n            \u003C\u002FAppText>\n            \u003CAppText variant=\"caption\" color={colors.textSecondary} style={styles.center}>\n              Вони з’являться разом із поїздками.\n            \u003C\u002FAppText>\n          \u003C\u002FView>\n        }\n        showsVerticalScrollIndicator={false}\n      \u002F>\n    \u003C\u002FScreen>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: {\n    paddingHorizontal: 0,\n  },\n  header: {\n    borderBottomWidth: 1,\n  },\n  cell: {\n    flex: 1,\n  },\n  empty: {\n    padding: 32,\n    gap: 8,\n  },\n  center: {\n    textAlign: 'center',\n  },\n});\n","app\u002F(tabs)\u002Fplaces.tsx",[3747,19779,19780,19800,19825,19841,19845,19871,19887,19907,19911,19915,19920,19924,19937,19949,19967,19989,19993,20005,20021,20047,20051,20059,20063,20067,20073,20095,20101,20111,20121,20125,20137,20149,20161,20173,20177,20183,20187,20210,20244,20259,20267,20275,20279,20285,20297,20321,20334,20345,20357,20369,20375,20385,20398,20410,20422,20428,20446,20469,20497,20505,20511,20519,20541,20569,20574,20582,20624,20629,20637,20645,20649,20657,20661,20669,20673,20677,20681,20697,20703,20711,20715,20721,20729,20733,20740,20748,20752,20758,20767,20776,20780,20786,20794,20798],{"__ignoreMap":4011},[4160,19781,19782,19784,19786,19788,19790,19792,19794,19796,19798],{"class":4162,"line":4163},[4160,19783,4536],{"class":4535},[4160,19785,4540],{"class":4539},[4160,19787,14373],{"class":4543},[4160,19789,4055],{"class":4539},[4160,19791,5300],{"class":4543},[4160,19793,4546],{"class":4539},[4160,19795,4549],{"class":4535},[4160,19797,5307],{"class":4552},[4160,19799,4556],{"class":4539},[4160,19801,19802,19804,19806,19809,19811,19813,19815,19817,19819,19821,19823],{"class":4162,"line":4169},[4160,19803,4536],{"class":4535},[4160,19805,4540],{"class":4539},[4160,19807,19808],{"class":4543},"FlatList",[4160,19810,4055],{"class":4539},[4160,19812,8962],{"class":4543},[4160,19814,4055],{"class":4539},[4160,19816,8320],{"class":4543},[4160,19818,4546],{"class":4539},[4160,19820,4549],{"class":4535},[4160,19822,5324],{"class":4552},[4160,19824,4556],{"class":4539},[4160,19826,19827,19829,19831,19833,19835,19837,19839],{"class":4162,"line":4175},[4160,19828,4536],{"class":4535},[4160,19830,4540],{"class":4539},[4160,19832,3772],{"class":4543},[4160,19834,4546],{"class":4539},[4160,19836,4549],{"class":4535},[4160,19838,4553],{"class":4552},[4160,19840,4556],{"class":4539},[4160,19842,19843],{"class":4162,"line":4181},[4160,19844,4185],{"emptyLinePlaceholder":4184},[4160,19846,19847,19849,19851,19853,19855,19857,19859,19861,19863,19865,19867,19869],{"class":4162,"line":4188},[4160,19848,4536],{"class":4535},[4160,19850,4540],{"class":4539},[4160,19852,14781],{"class":4543},[4160,19854,4055],{"class":4539},[4160,19856,15388],{"class":4543},[4160,19858,4055],{"class":4539},[4160,19860,6433],{"class":4535},[4160,19862,14512],{"class":4543},[4160,19864,4546],{"class":4539},[4160,19866,4549],{"class":4535},[4160,19868,5769],{"class":4552},[4160,19870,4556],{"class":4539},[4160,19872,19873,19875,19877,19879,19881,19883,19885],{"class":4162,"line":4194},[4160,19874,4536],{"class":4535},[4160,19876,4540],{"class":4539},[4160,19878,4565],{"class":4543},[4160,19880,4546],{"class":4539},[4160,19882,4549],{"class":4535},[4160,19884,4572],{"class":4552},[4160,19886,4556],{"class":4539},[4160,19888,19889,19891,19893,19895,19897,19899,19901,19903,19905],{"class":4162,"line":4200},[4160,19890,4536],{"class":4535},[4160,19892,4540],{"class":4539},[4160,19894,14565],{"class":4543},[4160,19896,4055],{"class":4539},[4160,19898,14575],{"class":4543},[4160,19900,4546],{"class":4539},[4160,19902,4549],{"class":4535},[4160,19904,14582],{"class":4552},[4160,19906,4556],{"class":4539},[4160,19908,19909],{"class":4162,"line":4206},[4160,19910,4185],{"emptyLinePlaceholder":4184},[4160,19912,19913],{"class":4162,"line":4212},[4160,19914,13075],{"class":4763},[4160,19916,19917],{"class":4162,"line":4218},[4160,19918,19919],{"class":4763}," * Вкладка «Місця» — повний список місць (раніше лише горизонтальна стрічка на home).\n",[4160,19921,19922],{"class":4162,"line":4224},[4160,19923,13105],{"class":4763},[4160,19925,19926,19928,19930,19932,19935],{"class":4162,"line":4230},[4160,19927,4583],{"class":4535},[4160,19929,4586],{"class":4535},[4160,19931,4590],{"class":4589},[4160,19933,19934],{"class":4593}," PlacesScreen",[4160,19936,4597],{"class":4539},[4160,19938,19939,19941,19943,19945,19947],{"class":4162,"line":4236},[4160,19940,4602],{"class":4589},[4160,19942,8226],{"class":4607},[4160,19944,5385],{"class":4539},[4160,19946,3772],{"class":4593},[4160,19948,4616],{"class":4539},[4160,19950,19951,19953,19955,19957,19959,19961,19963,19965],{"class":4162,"line":4242},[4160,19952,4602],{"class":4589},[4160,19954,4540],{"class":4539},[4160,19956,4608],{"class":4607},[4160,19958,4055],{"class":4539},[4160,19960,14738],{"class":4607},[4160,19962,4611],{"class":4539},[4160,19964,4565],{"class":4593},[4160,19966,4616],{"class":4539},[4160,19968,19969,19971,19973,19975,19977,19979,19981,19983,19985,19987],{"class":4162,"line":4248},[4160,19970,4602],{"class":4589},[4160,19972,5396],{"class":4539},[4160,19974,4121],{"class":4607},[4160,19976,5406],{"class":4539},[4160,19978,5300],{"class":4593},[4160,19980,5018],{"class":4539},[4160,19982,14775],{"class":4637},[4160,19984,14778],{"class":4539},[4160,19986,14781],{"class":4543},[4160,19988,5417],{"class":4539},[4160,19990,19991],{"class":4162,"line":4254},[4160,19992,4185],{"emptyLinePlaceholder":4184},[4160,19994,19995,19997,19999,20001,20003],{"class":4162,"line":4259},[4160,19996,4602],{"class":4589},[4160,19998,14900],{"class":4607},[4160,20000,5385],{"class":4539},[4160,20002,14373],{"class":4593},[4160,20004,5535],{"class":4539},[4160,20006,20007,20009,20011,20013,20015,20017,20019],{"class":4162,"line":4265},[4160,20008,14829],{"class":4539},[4160,20010,14913],{"class":4543},[4160,20012,5814],{"class":4539},[4160,20014,14775],{"class":4637},[4160,20016,6644],{"class":4539},[4160,20018,5514],{"class":4589},[4160,20020,5517],{"class":4539},[4160,20022,20023,20025,20027,20029,20031,20033,20035,20037,20039,20041,20043,20045],{"class":4162,"line":4271},[4160,20024,14847],{"class":4543},[4160,20026,3840],{"class":4539},[4160,20028,6047],{"class":4593},[4160,20030,5411],{"class":4539},[4160,20032,14856],{"class":4552},[4160,20034,5939],{"class":4589},[4160,20036,14913],{"class":4543},[4160,20038,3840],{"class":4653},[4160,20040,5880],{"class":4543},[4160,20042,4803],{"class":4589},[4160,20044,8630],{"class":4552},[4160,20046,5417],{"class":4539},[4160,20048,20049],{"class":4162,"line":4276},[4160,20050,12732],{"class":4539},[4160,20052,20053,20055,20057],{"class":4162,"line":4282},[4160,20054,14879],{"class":4539},[4160,20056,14882],{"class":4543},[4160,20058,14885],{"class":4539},[4160,20060,20061],{"class":4162,"line":4288},[4160,20062,4895],{"class":4539},[4160,20064,20065],{"class":4162,"line":4294},[4160,20066,4185],{"emptyLinePlaceholder":4184},[4160,20068,20069,20071],{"class":4162,"line":4300},[4160,20070,4625],{"class":4535},[4160,20072,4628],{"class":4539},[4160,20074,20075,20077,20079,20081,20083,20085,20087,20089,20091,20093],{"class":4162,"line":4305},[4160,20076,4634],{"class":4633},[4160,20078,14575],{"class":4637},[4160,20080,7170],{"class":4643},[4160,20082,4647],{"class":4539},[4160,20084,4650],{"class":4589},[4160,20086,8287],{"class":4543},[4160,20088,3840],{"class":4653},[4160,20090,15820],{"class":4543},[4160,20092,4803],{"class":4589},[4160,20094,4890],{"class":4633},[4160,20096,20097,20099],{"class":4162,"line":4311},[4160,20098,4771],{"class":4633},[4160,20100,15584],{"class":4637},[4160,20102,20103,20105,20107,20109],{"class":4162,"line":4317},[4160,20104,15749],{"class":4643},[4160,20106,4647],{"class":4539},[4160,20108,4650],{"class":4589},[4160,20110,15595],{"class":4653},[4160,20112,20113,20115,20117,20119],{"class":4162,"line":4323},[4160,20114,15845],{"class":4543},[4160,20116,3840],{"class":4653},[4160,20118,8333],{"class":4543},[4160,20120,4690],{"class":4653},[4160,20122,20123],{"class":4162,"line":4328},[4160,20124,15857],{"class":4653},[4160,20126,20127,20129,20131,20133,20135],{"class":4162,"line":4333},[4160,20128,15863],{"class":4543},[4160,20130,15210],{"class":4543},[4160,20132,3840],{"class":4653},[4160,20134,15215],{"class":4543},[4160,20136,4690],{"class":4653},[4160,20138,20139,20141,20143,20145,20147],{"class":4162,"line":5663},[4160,20140,15877],{"class":4543},[4160,20142,15210],{"class":4543},[4160,20144,3840],{"class":4653},[4160,20146,15274],{"class":4543},[4160,20148,4690],{"class":4653},[4160,20150,20151,20153,20155,20157,20159],{"class":4162,"line":5676},[4160,20152,15891],{"class":4543},[4160,20154,15210],{"class":4543},[4160,20156,3840],{"class":4653},[4160,20158,15215],{"class":4543},[4160,20160,4690],{"class":4653},[4160,20162,20163,20165,20167,20169,20171],{"class":4162,"line":6728},[4160,20164,15920],{"class":4543},[4160,20166,4667],{"class":4543},[4160,20168,3840],{"class":4653},[4160,20170,13687],{"class":4543},[4160,20172,4690],{"class":4653},[4160,20174,20175],{"class":4162,"line":6733},[4160,20176,15934],{"class":4653},[4160,20178,20179,20181],{"class":4162,"line":6738},[4160,20180,15940],{"class":4653},[4160,20182,4251],{"class":4589},[4160,20184,20185],{"class":4162,"line":6768},[4160,20186,7262],{"class":4633},[4160,20188,20189,20191,20193,20195,20197,20199,20201,20204,20206,20208],{"class":4162,"line":6803},[4160,20190,7267],{"class":4633},[4160,20192,14565],{"class":4637},[4160,20194,15675],{"class":4643},[4160,20196,4647],{"class":4539},[4160,20198,15961],{"class":4552},[4160,20200,8361],{"class":4633},[4160,20202,20203],{"class":4539},"Місця",[4160,20205,8367],{"class":4633},[4160,20207,14565],{"class":4637},[4160,20209,4890],{"class":4633},[4160,20211,20212,20214,20216,20218,20220,20222,20224,20226,20228,20230,20232,20234,20236,20238,20240,20242],{"class":4162,"line":6808},[4160,20213,7267],{"class":4633},[4160,20215,14565],{"class":4637},[4160,20217,15675],{"class":4643},[4160,20219,4647],{"class":4539},[4160,20221,15986],{"class":4552},[4160,20223,7170],{"class":4643},[4160,20225,4647],{"class":4539},[4160,20227,4650],{"class":4589},[4160,20229,4792],{"class":4653},[4160,20231,9096],{"class":4543},[4160,20233,15210],{"class":4543},[4160,20235,3840],{"class":4653},[4160,20237,15912],{"class":4543},[4160,20239,4800],{"class":4653},[4160,20241,4803],{"class":4589},[4160,20243,4890],{"class":4633},[4160,20245,20246,20249,20251,20253,20255,20257],{"class":4162,"line":6813},[4160,20247,20248],{"class":4539},"          Усі збережені точки з mock-даних · ",[4160,20250,4650],{"class":4589},[4160,20252,4121],{"class":4543},[4160,20254,3840],{"class":4653},[4160,20256,5479],{"class":4543},[4160,20258,4251],{"class":4589},[4160,20260,20261,20263,20265],{"class":4162,"line":6847},[4160,20262,8414],{"class":4633},[4160,20264,14565],{"class":4637},[4160,20266,4890],{"class":4633},[4160,20268,20269,20271,20273],{"class":4162,"line":6861},[4160,20270,7366],{"class":4633},[4160,20272,8320],{"class":4637},[4160,20274,4890],{"class":4633},[4160,20276,20277],{"class":4162,"line":6881},[4160,20278,4185],{"emptyLinePlaceholder":4184},[4160,20280,20281,20283],{"class":4162,"line":6901},[4160,20282,4771],{"class":4633},[4160,20284,8437],{"class":4637},[4160,20286,20287,20289,20291,20293,20295],{"class":4162,"line":6916},[4160,20288,8442],{"class":4643},[4160,20290,4647],{"class":4539},[4160,20292,4650],{"class":4589},[4160,20294,4121],{"class":4543},[4160,20296,4251],{"class":4589},[4160,20298,20299,20301,20303,20305,20307,20309,20311,20313,20315,20317,20319],{"class":4162,"line":6929},[4160,20300,8455],{"class":4643},[4160,20302,4647],{"class":4539},[4160,20304,4650],{"class":4589},[4160,20306,5411],{"class":4653},[4160,20308,8464],{"class":4543},[4160,20310,6644],{"class":4653},[4160,20312,5514],{"class":4589},[4160,20314,8471],{"class":4543},[4160,20316,3840],{"class":4653},[4160,20318,5802],{"class":4543},[4160,20320,4251],{"class":4589},[4160,20322,20323,20326,20328,20330,20332],{"class":4162,"line":6935},[4160,20324,20325],{"class":4643},"        numColumns",[4160,20327,4647],{"class":4539},[4160,20329,4650],{"class":4589},[4160,20331,8732],{"class":5485},[4160,20333,4251],{"class":4589},[4160,20335,20336,20339,20341,20343],{"class":4162,"line":6953},[4160,20337,20338],{"class":4643},"        columnWrapperStyle",[4160,20340,4647],{"class":4539},[4160,20342,4650],{"class":4589},[4160,20344,4654],{"class":4653},[4160,20346,20347,20349,20351,20353,20355],{"class":4162,"line":6961},[4160,20348,15643],{"class":4543},[4160,20350,15210],{"class":4543},[4160,20352,3840],{"class":4653},[4160,20354,15274],{"class":4543},[4160,20356,4690],{"class":4653},[4160,20358,20359,20361,20363,20365,20367],{"class":4162,"line":6970},[4160,20360,15616],{"class":4543},[4160,20362,15210],{"class":4543},[4160,20364,3840],{"class":4653},[4160,20366,15215],{"class":4543},[4160,20368,4690],{"class":4653},[4160,20370,20371,20373],{"class":4162,"line":6975},[4160,20372,4873],{"class":4653},[4160,20374,4251],{"class":4589},[4160,20376,20377,20379,20381,20383],{"class":4162,"line":6980},[4160,20378,8482],{"class":4643},[4160,20380,4647],{"class":4539},[4160,20382,4650],{"class":4589},[4160,20384,4654],{"class":4653},[4160,20386,20387,20390,20392,20394,20396],{"class":4162,"line":7008},[4160,20388,20389],{"class":4543},"          paddingTop:",[4160,20391,15210],{"class":4543},[4160,20393,3840],{"class":4653},[4160,20395,15215],{"class":4543},[4160,20397,4690],{"class":4653},[4160,20399,20400,20402,20404,20406,20408],{"class":4162,"line":7024},[4160,20401,18307],{"class":4543},[4160,20403,15210],{"class":4543},[4160,20405,3840],{"class":4653},[4160,20407,15636],{"class":4543},[4160,20409,4690],{"class":4653},[4160,20411,20412,20414,20416,20418,20420],{"class":4162,"line":7035},[4160,20413,15643],{"class":4543},[4160,20415,15210],{"class":4543},[4160,20417,3840],{"class":4653},[4160,20419,15274],{"class":4543},[4160,20421,4690],{"class":4653},[4160,20423,20424,20426],{"class":4162,"line":7052},[4160,20425,4873],{"class":4653},[4160,20427,4251],{"class":4589},[4160,20429,20430,20432,20434,20436,20438,20440,20442,20444],{"class":4162,"line":7057},[4160,20431,8586],{"class":4643},[4160,20433,4647],{"class":4539},[4160,20435,4650],{"class":4589},[4160,20437,8593],{"class":4653},[4160,20439,8464],{"class":4543},[4160,20441,5511],{"class":4653},[4160,20443,5514],{"class":4589},[4160,20445,4628],{"class":4653},[4160,20447,20448,20450,20452,20454,20456,20458,20460,20462,20465,20467],{"class":4162,"line":8928},[4160,20449,8549],{"class":4633},[4160,20451,8320],{"class":4637},[4160,20453,7170],{"class":4643},[4160,20455,4647],{"class":4539},[4160,20457,4650],{"class":4589},[4160,20459,8287],{"class":4543},[4160,20461,3840],{"class":4653},[4160,20463,20464],{"class":4543},"cell",[4160,20466,4803],{"class":4589},[4160,20468,4890],{"class":4633},[4160,20470,20471,20473,20475,20477,20479,20481,20483,20485,20487,20489,20491,20493,20495],{"class":4162,"line":8937},[4160,20472,7624],{"class":4633},[4160,20474,15388],{"class":4637},[4160,20476,15391],{"class":4643},[4160,20478,4647],{"class":4539},[4160,20480,4650],{"class":4589},[4160,20482,8464],{"class":4543},[4160,20484,4803],{"class":4589},[4160,20486,9703],{"class":4643},[4160,20488,4647],{"class":4539},[4160,20490,4650],{"class":4589},[4160,20492,15408],{"class":4543},[4160,20494,4803],{"class":4589},[4160,20496,4806],{"class":4633},[4160,20498,20499,20501,20503],{"class":4162,"line":8942},[4160,20500,8778],{"class":4633},[4160,20502,8320],{"class":4637},[4160,20504,4890],{"class":4633},[4160,20506,20507,20509],{"class":4162,"line":8947},[4160,20508,8787],{"class":4653},[4160,20510,4251],{"class":4589},[4160,20512,20513,20515,20517],{"class":4162,"line":8952},[4160,20514,8540],{"class":4643},[4160,20516,4647],{"class":4539},[4160,20518,4654],{"class":4589},[4160,20520,20521,20523,20525,20527,20529,20531,20533,20535,20537,20539],{"class":4162,"line":8973},[4160,20522,8549],{"class":4633},[4160,20524,8320],{"class":4637},[4160,20526,7170],{"class":4643},[4160,20528,4647],{"class":4539},[4160,20530,4650],{"class":4589},[4160,20532,8287],{"class":4543},[4160,20534,3840],{"class":4653},[4160,20536,15605],{"class":4543},[4160,20538,4803],{"class":4589},[4160,20540,4890],{"class":4633},[4160,20542,20543,20545,20547,20549,20551,20553,20555,20557,20559,20561,20563,20565,20567],{"class":4162,"line":8995},[4160,20544,7624],{"class":4633},[4160,20546,14565],{"class":4637},[4160,20548,15675],{"class":4643},[4160,20550,4647],{"class":4539},[4160,20552,15680],{"class":4552},[4160,20554,7170],{"class":4643},[4160,20556,4647],{"class":4539},[4160,20558,4650],{"class":4589},[4160,20560,8287],{"class":4543},[4160,20562,3840],{"class":4653},[4160,20564,9620],{"class":4543},[4160,20566,4803],{"class":4589},[4160,20568,4890],{"class":4633},[4160,20570,20571],{"class":4162,"line":9003},[4160,20572,20573],{"class":4653},"              Місць поки немає\n",[4160,20575,20576,20578,20580],{"class":4162,"line":9014},[4160,20577,8769],{"class":4633},[4160,20579,14565],{"class":4637},[4160,20581,4890],{"class":4633},[4160,20583,20584,20586,20588,20590,20592,20594,20596,20598,20600,20602,20604,20606,20608,20610,20612,20614,20616,20618,20620,20622],{"class":4162,"line":9025},[4160,20585,7624],{"class":4633},[4160,20587,14565],{"class":4637},[4160,20589,15675],{"class":4643},[4160,20591,4647],{"class":4539},[4160,20593,15986],{"class":4552},[4160,20595,7647],{"class":4643},[4160,20597,4647],{"class":4539},[4160,20599,4650],{"class":4589},[4160,20601,4608],{"class":4543},[4160,20603,3840],{"class":4653},[4160,20605,13656],{"class":4543},[4160,20607,4803],{"class":4589},[4160,20609,7170],{"class":4643},[4160,20611,4647],{"class":4539},[4160,20613,4650],{"class":4589},[4160,20615,8287],{"class":4543},[4160,20617,3840],{"class":4653},[4160,20619,9620],{"class":4543},[4160,20621,4803],{"class":4589},[4160,20623,4890],{"class":4633},[4160,20625,20626],{"class":4162,"line":9035},[4160,20627,20628],{"class":4653},"              Вони з’являться разом із поїздками.\n",[4160,20630,20631,20633,20635],{"class":4162,"line":9045},[4160,20632,8769],{"class":4633},[4160,20634,14565],{"class":4637},[4160,20636,4890],{"class":4633},[4160,20638,20639,20641,20643],{"class":4162,"line":9055},[4160,20640,8778],{"class":4633},[4160,20642,8320],{"class":4637},[4160,20644,4890],{"class":4633},[4160,20646,20647],{"class":4162,"line":9060},[4160,20648,8581],{"class":4589},[4160,20650,20651,20653,20655],{"class":4162,"line":9088},[4160,20652,18326],{"class":4643},[4160,20654,4647],{"class":4539},[4160,20656,15429],{"class":4589},[4160,20658,20659],{"class":4162,"line":9117},[4160,20660,4880],{"class":4633},[4160,20662,20663,20665,20667],{"class":4162,"line":9146},[4160,20664,4885],{"class":4633},[4160,20666,14575],{"class":4637},[4160,20668,4890],{"class":4633},[4160,20670,20671],{"class":4162,"line":9154},[4160,20672,4895],{"class":4539},[4160,20674,20675],{"class":4162,"line":9165},[4160,20676,4251],{"class":4539},[4160,20678,20679],{"class":4162,"line":9175},[4160,20680,4185],{"emptyLinePlaceholder":4184},[4160,20682,20683,20685,20687,20689,20691,20693,20695],{"class":4162,"line":9185},[4160,20684,6592],{"class":4589},[4160,20686,8957],{"class":4607},[4160,20688,5385],{"class":4539},[4160,20690,8962],{"class":4543},[4160,20692,3840],{"class":4539},[4160,20694,8967],{"class":4593},[4160,20696,8970],{"class":4539},[4160,20698,20699,20701],{"class":4162,"line":9195},[4160,20700,17225],{"class":4543},[4160,20702,5517],{"class":4539},[4160,20704,20705,20707,20709],{"class":4162,"line":9206},[4160,20706,9006],{"class":4543},[4160,20708,15247],{"class":5485},[4160,20710,4690],{"class":4539},[4160,20712,20713],{"class":4162,"line":9211},[4160,20714,6526],{"class":4539},[4160,20716,20717,20719],{"class":4162,"line":9239},[4160,20718,8998],{"class":4543},[4160,20720,5517],{"class":4539},[4160,20722,20723,20725,20727],{"class":4162,"line":9266},[4160,20724,9038],{"class":4543},[4160,20726,8984],{"class":5485},[4160,20728,4690],{"class":4539},[4160,20730,20731],{"class":4162,"line":9274},[4160,20732,6526],{"class":4539},[4160,20734,20735,20738],{"class":4162,"line":9283},[4160,20736,20737],{"class":4543},"  cell:",[4160,20739,5517],{"class":4539},[4160,20741,20742,20744,20746],{"class":4162,"line":9293},[4160,20743,10024],{"class":4543},[4160,20745,8984],{"class":5485},[4160,20747,4690],{"class":4539},[4160,20749,20750],{"class":4162,"line":9303},[4160,20751,6526],{"class":4539},[4160,20753,20754,20756],{"class":4162,"line":9308},[4160,20755,17396],{"class":4543},[4160,20757,5517],{"class":4539},[4160,20759,20760,20762,20765],{"class":4162,"line":9316},[4160,20761,9198],{"class":4543},[4160,20763,20764],{"class":5485}," 32",[4160,20766,4690],{"class":4539},[4160,20768,20769,20772,20774],{"class":4162,"line":9325},[4160,20770,20771],{"class":4543},"    gap:",[4160,20773,9020],{"class":5485},[4160,20775,4690],{"class":4539},[4160,20777,20778],{"class":4162,"line":9335},[4160,20779,6526],{"class":4539},[4160,20781,20782,20784],{"class":4162,"line":9344},[4160,20783,10017],{"class":4543},[4160,20785,5517],{"class":4539},[4160,20787,20788,20790,20792],{"class":4162,"line":9355},[4160,20789,17435],{"class":4543},[4160,20791,9350],{"class":4552},[4160,20793,4690],{"class":4539},[4160,20795,20796],{"class":4162,"line":9360},[4160,20797,6526],{"class":4539},[4160,20799,20800],{"class":4162,"line":9380},[4160,20801,9383],{"class":4539},[4003,20803,20806],{"className":4526,"code":20804,"filename":20805,"language":4528,"meta":4011,"style":4011},"import { Pressable, ScrollView, StyleSheet, View } from 'react-native';\nimport { Link } from 'expo-router';\n\nimport { useTheme, type ThemePreference } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Screen } from '@\u002Fshared\u002Fui';\n\nconst PREFS: { id: ThemePreference; label: string }[] = [\n  { id: 'system', label: 'Система' },\n  { id: 'light', label: 'Світла' },\n  { id: 'dark', label: 'Темна' },\n];\n\n\u002F**\n * Вкладка «Ще» — про застосунок, тема, посилання на створення поїздки (Link).\n *\u002F\nexport default function AboutScreen() {\n  const { colors, spacing, preference, setPreference, scheme } = useTheme();\n\n  return (\n    \u003CScreen style={styles.screen}>\n      \u003CScrollView\n        contentContainerStyle={{\n          paddingHorizontal: spacing.md,\n          paddingTop: spacing.sm,\n          paddingBottom: spacing.xl,\n          gap: spacing.md,\n        }}\n        showsVerticalScrollIndicator={false}\n      >\n        \u003CAppText variant=\"title\">Мандрівник\u003C\u002FAppText>\n        \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n          Навчальний щоденник подорожей курсу React Native (Nomad). Тема зараз:{' '}\n          {scheme === 'dark' ? 'темна' : 'світла'}.\n        \u003C\u002FAppText>\n\n        \u003CView\n          style={[\n            styles.card,\n            {\n              backgroundColor: colors.surface,\n              borderColor: colors.border,\n              padding: spacing.md,\n              gap: spacing.sm,\n            },\n          ]}\n        >\n          \u003CAppText style={{ fontWeight: '700' }}>Тема оформлення\u003C\u002FAppText>\n          \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n            Ті самі чіпи, що були на головному екрані — винесені також сюди, щоб\n            налаштування жили на окремій вкладці.\n          \u003C\u002FAppText>\n          \u003CView style={[styles.themeRow, { gap: spacing.sm }]}>\n            {PREFS.map((p) => {\n              const active = preference === p.id;\n              return (\n                \u003CPressable\n                  key={p.id}\n                  onPress={() => setPreference(p.id)}\n                  style={[\n                    styles.themeChip,\n                    {\n                      backgroundColor: active ? colors.primary : colors.surface,\n                      borderColor: colors.border,\n                    },\n                  ]}\n                  accessibilityRole=\"button\"\n                  accessibilityState={{ selected: active }}\n                  accessibilityLabel={`Тема: ${p.label}`}\n                >\n                  \u003CAppText\n                    variant=\"caption\"\n                    color={active ? colors.onPrimary : colors.text}\n                    style={styles.themeChipText}\n                  >\n                    {p.label}\n                  \u003C\u002FAppText>\n                \u003C\u002FPressable>\n              );\n            })}\n          \u003C\u002FView>\n        \u003C\u002FView>\n\n        \u003CView\n          style={[\n            styles.card,\n            {\n              backgroundColor: colors.surface,\n              borderColor: colors.border,\n              padding: spacing.md,\n              gap: spacing.sm,\n            },\n          ]}\n        >\n          \u003CAppText style={{ fontWeight: '700' }}>Навігація (Expo Router)\u003C\u002FAppText>\n          \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n            Нижні вкладки — група маршрутів (tabs). «Нова поїздка» відкривається\n            поверх вкладок у Stack. Нижче — приклад компонента Link (як якір на\n            вебі).\n          \u003C\u002FAppText>\n          \u003CLink href=\"\u002Fcreate-trip\" asChild>\n            {\u002F* presentation: modal задано в кореневому Stack *\u002F}\n\n            \u003CPressable\n              style={[\n                styles.linkBtn,\n                {\n                  backgroundColor: colors.primary,\n                  paddingVertical: spacing.sm + 4,\n                  borderRadius: 12,\n                },\n              ]}\n            >\n              \u003CAppText color={colors.onPrimary} style={{ fontWeight: '700' }}>\n                Відкрити форму (Link)\n              \u003C\u002FAppText>\n            \u003C\u002FPressable>\n          \u003C\u002FLink>\n        \u003C\u002FView>\n\n        \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n          Репозиторій: github.com\u002Farakviel\u002Fnomad\n        \u003C\u002FAppText>\n      \u003C\u002FScrollView>\n    \u003C\u002FScreen>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: {\n    paddingHorizontal: 0,\n  },\n  card: {\n    borderWidth: 1,\n    borderRadius: 12,\n  },\n  themeRow: {\n    flexDirection: 'row',\n    flexWrap: 'wrap',\n  },\n  themeChip: {\n    paddingHorizontal: 12,\n    paddingVertical: 8,\n    borderRadius: 8,\n    borderWidth: 1,\n  },\n  themeChipText: {\n    fontWeight: '600',\n  },\n  linkBtn: {\n    alignItems: 'center',\n  },\n});\n","app\u002F(tabs)\u002Fabout.tsx",[3747,20807,20808,20836,20852,20856,20878,20898,20902,20926,20942,20958,20974,20978,20982,20986,20991,20995,21007,21037,21041,21047,21069,21075,21085,21097,21109,21121,21133,21139,21147,21151,21173,21201,21213,21236,21244,21248,21254,21264,21275,21280,21293,21306,21319,21332,21337,21344,21348,21381,21409,21414,21419,21427,21463,21483,21504,21511,21517,21534,21561,21571,21582,21587,21612,21625,21630,21637,21646,21665,21690,21694,21701,21710,21739,21756,21761,21774,21783,21791,21796,21803,21811,21819,21823,21829,21839,21849,21853,21865,21877,21889,21901,21905,21911,21915,21948,21976,21981,21986,21991,21999,22016,22025,22029,22035,22046,22058,22063,22076,22094,22103,22108,22115,22120,22158,22163,22171,22179,22187,22195,22199,22227,22232,22240,22248,22256,22260,22264,22268,22284,22290,22298,22302,22308,22316,22324,22328,22334,22342,22350,22354,22360,22368,22376,22384,22392,22396,22402,22410,22414,22421,22429,22433],{"__ignoreMap":4011},[4160,20809,20810,20812,20814,20816,20818,20820,20822,20824,20826,20828,20830,20832,20834],{"class":4162,"line":4163},[4160,20811,4536],{"class":4535},[4160,20813,4540],{"class":4539},[4160,20815,8644],{"class":4543},[4160,20817,4055],{"class":4539},[4160,20819,9407],{"class":4543},[4160,20821,4055],{"class":4539},[4160,20823,8962],{"class":4543},[4160,20825,4055],{"class":4539},[4160,20827,8320],{"class":4543},[4160,20829,4546],{"class":4539},[4160,20831,4549],{"class":4535},[4160,20833,5324],{"class":4552},[4160,20835,4556],{"class":4539},[4160,20837,20838,20840,20842,20844,20846,20848,20850],{"class":4162,"line":4169},[4160,20839,4536],{"class":4535},[4160,20841,4540],{"class":4539},[4160,20843,3769],{"class":4543},[4160,20845,4546],{"class":4539},[4160,20847,4549],{"class":4535},[4160,20849,4553],{"class":4552},[4160,20851,4556],{"class":4539},[4160,20853,20854],{"class":4162,"line":4175},[4160,20855,4185],{"emptyLinePlaceholder":4184},[4160,20857,20858,20860,20862,20864,20866,20868,20870,20872,20874,20876],{"class":4162,"line":4181},[4160,20859,4536],{"class":4535},[4160,20861,4540],{"class":4539},[4160,20863,4565],{"class":4543},[4160,20865,4055],{"class":4539},[4160,20867,6433],{"class":4535},[4160,20869,14548],{"class":4543},[4160,20871,4546],{"class":4539},[4160,20873,4549],{"class":4535},[4160,20875,4572],{"class":4552},[4160,20877,4556],{"class":4539},[4160,20879,20880,20882,20884,20886,20888,20890,20892,20894,20896],{"class":4162,"line":4188},[4160,20881,4536],{"class":4535},[4160,20883,4540],{"class":4539},[4160,20885,14565],{"class":4543},[4160,20887,4055],{"class":4539},[4160,20889,14575],{"class":4543},[4160,20891,4546],{"class":4539},[4160,20893,4549],{"class":4535},[4160,20895,14582],{"class":4552},[4160,20897,4556],{"class":4539},[4160,20899,20900],{"class":4162,"line":4194},[4160,20901,4185],{"emptyLinePlaceholder":4184},[4160,20903,20904,20906,20908,20910,20912,20914,20916,20918,20920,20922,20924],{"class":4162,"line":4200},[4160,20905,6592],{"class":4589},[4160,20907,14595],{"class":4607},[4160,20909,14598],{"class":4539},[4160,20911,5802],{"class":4543},[4160,20913,5814],{"class":4539},[4160,20915,14605],{"class":4637},[4160,20917,14608],{"class":4539},[4160,20919,10924],{"class":4543},[4160,20921,5814],{"class":4539},[4160,20923,5817],{"class":4637},[4160,20925,14617],{"class":4539},[4160,20927,20928,20930,20932,20934,20936,20938,20940],{"class":4162,"line":4206},[4160,20929,14622],{"class":4539},[4160,20931,14625],{"class":4543},[4160,20933,14628],{"class":4552},[4160,20935,4055],{"class":4539},[4160,20937,14633],{"class":4543},[4160,20939,14636],{"class":4552},[4160,20941,4675],{"class":4539},[4160,20943,20944,20946,20948,20950,20952,20954,20956],{"class":4162,"line":4212},[4160,20945,14622],{"class":4539},[4160,20947,14625],{"class":4543},[4160,20949,13197],{"class":4552},[4160,20951,4055],{"class":4539},[4160,20953,14633],{"class":4543},[4160,20955,14653],{"class":4552},[4160,20957,4675],{"class":4539},[4160,20959,20960,20962,20964,20966,20968,20970,20972],{"class":4162,"line":4218},[4160,20961,14622],{"class":4539},[4160,20963,14625],{"class":4543},[4160,20965,13192],{"class":4552},[4160,20967,4055],{"class":4539},[4160,20969,14633],{"class":4543},[4160,20971,14670],{"class":4552},[4160,20973,4675],{"class":4539},[4160,20975,20976],{"class":4162,"line":4224},[4160,20977,6583],{"class":4539},[4160,20979,20980],{"class":4162,"line":4230},[4160,20981,4185],{"emptyLinePlaceholder":4184},[4160,20983,20984],{"class":4162,"line":4236},[4160,20985,13075],{"class":4763},[4160,20987,20988],{"class":4162,"line":4242},[4160,20989,20990],{"class":4763}," * Вкладка «Ще» — про застосунок, тема, посилання на створення поїздки (Link).\n",[4160,20992,20993],{"class":4162,"line":4248},[4160,20994,13105],{"class":4763},[4160,20996,20997,20999,21001,21003,21005],{"class":4162,"line":4254},[4160,20998,4583],{"class":4535},[4160,21000,4586],{"class":4535},[4160,21002,4590],{"class":4589},[4160,21004,11632],{"class":4593},[4160,21006,4597],{"class":4539},[4160,21008,21009,21011,21013,21015,21017,21019,21021,21023,21025,21027,21029,21031,21033,21035],{"class":4162,"line":4259},[4160,21010,4602],{"class":4589},[4160,21012,4540],{"class":4539},[4160,21014,4608],{"class":4607},[4160,21016,4055],{"class":4539},[4160,21018,14738],{"class":4607},[4160,21020,4055],{"class":4539},[4160,21022,14743],{"class":4607},[4160,21024,4055],{"class":4539},[4160,21026,14748],{"class":4607},[4160,21028,4055],{"class":4539},[4160,21030,13153],{"class":4607},[4160,21032,4611],{"class":4539},[4160,21034,4565],{"class":4593},[4160,21036,4616],{"class":4539},[4160,21038,21039],{"class":4162,"line":4265},[4160,21040,4185],{"emptyLinePlaceholder":4184},[4160,21042,21043,21045],{"class":4162,"line":4271},[4160,21044,4625],{"class":4535},[4160,21046,4628],{"class":4539},[4160,21048,21049,21051,21053,21055,21057,21059,21061,21063,21065,21067],{"class":4162,"line":4276},[4160,21050,4634],{"class":4633},[4160,21052,14575],{"class":4637},[4160,21054,7170],{"class":4643},[4160,21056,4647],{"class":4539},[4160,21058,4650],{"class":4589},[4160,21060,8287],{"class":4543},[4160,21062,3840],{"class":4653},[4160,21064,15820],{"class":4543},[4160,21066,4803],{"class":4589},[4160,21068,4890],{"class":4633},[4160,21070,21071,21073],{"class":4162,"line":4282},[4160,21072,4771],{"class":4633},[4160,21074,18292],{"class":4637},[4160,21076,21077,21079,21081,21083],{"class":4162,"line":4288},[4160,21078,8482],{"class":4643},[4160,21080,4647],{"class":4539},[4160,21082,4650],{"class":4589},[4160,21084,4654],{"class":4653},[4160,21086,21087,21089,21091,21093,21095],{"class":4162,"line":4294},[4160,21088,15616],{"class":4543},[4160,21090,15210],{"class":4543},[4160,21092,3840],{"class":4653},[4160,21094,15215],{"class":4543},[4160,21096,4690],{"class":4653},[4160,21098,21099,21101,21103,21105,21107],{"class":4162,"line":4300},[4160,21100,20389],{"class":4543},[4160,21102,15210],{"class":4543},[4160,21104,3840],{"class":4653},[4160,21106,15274],{"class":4543},[4160,21108,4690],{"class":4653},[4160,21110,21111,21113,21115,21117,21119],{"class":4162,"line":4305},[4160,21112,18307],{"class":4543},[4160,21114,15210],{"class":4543},[4160,21116,3840],{"class":4653},[4160,21118,15636],{"class":4543},[4160,21120,4690],{"class":4653},[4160,21122,21123,21125,21127,21129,21131],{"class":4162,"line":4311},[4160,21124,15643],{"class":4543},[4160,21126,15210],{"class":4543},[4160,21128,3840],{"class":4653},[4160,21130,15215],{"class":4543},[4160,21132,4690],{"class":4653},[4160,21134,21135,21137],{"class":4162,"line":4317},[4160,21136,4873],{"class":4653},[4160,21138,4251],{"class":4589},[4160,21140,21141,21143,21145],{"class":4162,"line":4323},[4160,21142,18326],{"class":4643},[4160,21144,4647],{"class":4539},[4160,21146,15429],{"class":4589},[4160,21148,21149],{"class":4162,"line":4328},[4160,21150,7262],{"class":4633},[4160,21152,21153,21155,21157,21159,21161,21163,21165,21167,21169,21171],{"class":4162,"line":4333},[4160,21154,7267],{"class":4633},[4160,21156,14565],{"class":4637},[4160,21158,15675],{"class":4643},[4160,21160,4647],{"class":4539},[4160,21162,15961],{"class":4552},[4160,21164,8361],{"class":4633},[4160,21166,15966],{"class":4539},[4160,21168,8367],{"class":4633},[4160,21170,14565],{"class":4637},[4160,21172,4890],{"class":4633},[4160,21174,21175,21177,21179,21181,21183,21185,21187,21189,21191,21193,21195,21197,21199],{"class":4162,"line":5663},[4160,21176,7267],{"class":4633},[4160,21178,14565],{"class":4637},[4160,21180,15675],{"class":4643},[4160,21182,4647],{"class":4539},[4160,21184,15986],{"class":4552},[4160,21186,7647],{"class":4643},[4160,21188,4647],{"class":4539},[4160,21190,4650],{"class":4589},[4160,21192,4608],{"class":4543},[4160,21194,3840],{"class":4653},[4160,21196,13656],{"class":4543},[4160,21198,4803],{"class":4589},[4160,21200,4890],{"class":4633},[4160,21202,21203,21206,21208,21211],{"class":4162,"line":5676},[4160,21204,21205],{"class":4539},"          Навчальний щоденник подорожей курсу React Native (Nomad). Тема зараз:",[4160,21207,4650],{"class":4589},[4160,21209,21210],{"class":4552},"' '",[4160,21212,4251],{"class":4589},[4160,21214,21215,21217,21219,21221,21223,21225,21227,21229,21231,21233],{"class":4162,"line":6728},[4160,21216,16127],{"class":4589},[4160,21218,13153],{"class":4543},[4160,21220,10823],{"class":4539},[4160,21222,13192],{"class":4552},[4160,21224,10829],{"class":4539},[4160,21226,16027],{"class":4552},[4160,21228,10835],{"class":4539},[4160,21230,16032],{"class":4552},[4160,21232,4803],{"class":4589},[4160,21234,21235],{"class":4539},".\n",[4160,21237,21238,21240,21242],{"class":4162,"line":6733},[4160,21239,8414],{"class":4633},[4160,21241,14565],{"class":4637},[4160,21243,4890],{"class":4633},[4160,21245,21246],{"class":4162,"line":6738},[4160,21247,4185],{"emptyLinePlaceholder":4184},[4160,21249,21250,21252],{"class":4162,"line":6768},[4160,21251,7267],{"class":4633},[4160,21253,15584],{"class":4637},[4160,21255,21256,21258,21260,21262],{"class":4162,"line":6803},[4160,21257,8832],{"class":4643},[4160,21259,4647],{"class":4539},[4160,21261,4650],{"class":4589},[4160,21263,15595],{"class":4653},[4160,21265,21266,21269,21271,21273],{"class":4162,"line":6808},[4160,21267,21268],{"class":4543},"            styles",[4160,21270,3840],{"class":4653},[4160,21272,8657],{"class":4543},[4160,21274,4690],{"class":4653},[4160,21276,21277],{"class":4162,"line":6813},[4160,21278,21279],{"class":4653},"            {\n",[4160,21281,21282,21285,21287,21289,21291],{"class":4162,"line":6847},[4160,21283,21284],{"class":4543},"              backgroundColor:",[4160,21286,4667],{"class":4543},[4160,21288,3840],{"class":4653},[4160,21290,16415],{"class":4543},[4160,21292,4690],{"class":4653},[4160,21294,21295,21298,21300,21302,21304],{"class":4162,"line":6861},[4160,21296,21297],{"class":4543},"              borderColor:",[4160,21299,4667],{"class":4543},[4160,21301,3840],{"class":4653},[4160,21303,13687],{"class":4543},[4160,21305,4690],{"class":4653},[4160,21307,21308,21311,21313,21315,21317],{"class":4162,"line":6881},[4160,21309,21310],{"class":4543},"              padding:",[4160,21312,15210],{"class":4543},[4160,21314,3840],{"class":4653},[4160,21316,15215],{"class":4543},[4160,21318,4690],{"class":4653},[4160,21320,21321,21324,21326,21328,21330],{"class":4162,"line":6901},[4160,21322,21323],{"class":4543},"              gap:",[4160,21325,15210],{"class":4543},[4160,21327,3840],{"class":4653},[4160,21329,15274],{"class":4543},[4160,21331,4690],{"class":4653},[4160,21333,21334],{"class":4162,"line":6916},[4160,21335,21336],{"class":4653},"            },\n",[4160,21338,21339,21342],{"class":4162,"line":6929},[4160,21340,21341],{"class":4653},"          ]",[4160,21343,4251],{"class":4589},[4160,21345,21346],{"class":4162,"line":6935},[4160,21347,8877],{"class":4633},[4160,21349,21350,21352,21354,21356,21358,21360,21362,21364,21366,21368,21370,21372,21375,21377,21379],{"class":4162,"line":6953},[4160,21351,8549],{"class":4633},[4160,21353,14565],{"class":4637},[4160,21355,7170],{"class":4643},[4160,21357,4647],{"class":4539},[4160,21359,4650],{"class":4589},[4160,21361,4792],{"class":4653},[4160,21363,4711],{"class":4543},[4160,21365,9228],{"class":4552},[4160,21367,4800],{"class":4653},[4160,21369,4803],{"class":4589},[4160,21371,8361],{"class":4633},[4160,21373,21374],{"class":4539},"Тема оформлення",[4160,21376,8367],{"class":4633},[4160,21378,14565],{"class":4637},[4160,21380,4890],{"class":4633},[4160,21382,21383,21385,21387,21389,21391,21393,21395,21397,21399,21401,21403,21405,21407],{"class":4162,"line":6961},[4160,21384,8549],{"class":4633},[4160,21386,14565],{"class":4637},[4160,21388,15675],{"class":4643},[4160,21390,4647],{"class":4539},[4160,21392,15986],{"class":4552},[4160,21394,7647],{"class":4643},[4160,21396,4647],{"class":4539},[4160,21398,4650],{"class":4589},[4160,21400,4608],{"class":4543},[4160,21402,3840],{"class":4653},[4160,21404,13656],{"class":4543},[4160,21406,4803],{"class":4589},[4160,21408,4890],{"class":4633},[4160,21410,21411],{"class":4162,"line":6970},[4160,21412,21413],{"class":4539},"            Ті самі чіпи, що були на головному екрані — винесені також сюди, щоб\n",[4160,21415,21416],{"class":4162,"line":6975},[4160,21417,21418],{"class":4539},"            налаштування жили на окремій вкладці.\n",[4160,21420,21421,21423,21425],{"class":4162,"line":6980},[4160,21422,8778],{"class":4633},[4160,21424,14565],{"class":4637},[4160,21426,4890],{"class":4633},[4160,21428,21429,21431,21433,21435,21437,21439,21441,21443,21445,21447,21449,21451,21453,21455,21457,21459,21461],{"class":4162,"line":7008},[4160,21430,8549],{"class":4633},[4160,21432,8320],{"class":4637},[4160,21434,7170],{"class":4643},[4160,21436,4647],{"class":4539},[4160,21438,4650],{"class":4589},[4160,21440,5859],{"class":4653},[4160,21442,8287],{"class":4543},[4160,21444,3840],{"class":4653},[4160,21446,16220],{"class":4543},[4160,21448,16223],{"class":4653},[4160,21450,11276],{"class":4543},[4160,21452,15210],{"class":4543},[4160,21454,3840],{"class":4653},[4160,21456,15274],{"class":4543},[4160,21458,16244],{"class":4653},[4160,21460,4803],{"class":4589},[4160,21462,4890],{"class":4633},[4160,21464,21465,21467,21469,21471,21473,21475,21477,21479,21481],{"class":4162,"line":7024},[4160,21466,18527],{"class":4589},[4160,21468,16256],{"class":4607},[4160,21470,3840],{"class":4653},[4160,21472,16261],{"class":4593},[4160,21474,6638],{"class":4653},[4160,21476,3743],{"class":4543},[4160,21478,6644],{"class":4653},[4160,21480,5514],{"class":4589},[4160,21482,5517],{"class":4653},[4160,21484,21485,21488,21490,21492,21494,21496,21498,21500,21502],{"class":4162,"line":7035},[4160,21486,21487],{"class":4589},"              const",[4160,21489,16280],{"class":4607},[4160,21491,16283],{"class":4539},[4160,21493,16286],{"class":4543},[4160,21495,10823],{"class":4539},[4160,21497,16291],{"class":4543},[4160,21499,3840],{"class":4653},[4160,21501,5802],{"class":4543},[4160,21503,4556],{"class":4653},[4160,21505,21506,21509],{"class":4162,"line":7052},[4160,21507,21508],{"class":4535},"              return",[4160,21510,4628],{"class":4653},[4160,21512,21513,21515],{"class":4162,"line":7057},[4160,21514,16516],{"class":4633},[4160,21516,8827],{"class":4637},[4160,21518,21519,21522,21524,21526,21528,21530,21532],{"class":4162,"line":8928},[4160,21520,21521],{"class":4643},"                  key",[4160,21523,4647],{"class":4539},[4160,21525,4650],{"class":4589},[4160,21527,3743],{"class":4543},[4160,21529,3840],{"class":4653},[4160,21531,5802],{"class":4543},[4160,21533,4251],{"class":4589},[4160,21535,21536,21539,21541,21543,21545,21547,21549,21551,21553,21555,21557,21559],{"class":4162,"line":8937},[4160,21537,21538],{"class":4643},"                  onPress",[4160,21540,4647],{"class":4539},[4160,21542,4650],{"class":4589},[4160,21544,8507],{"class":4653},[4160,21546,5514],{"class":4589},[4160,21548,16347],{"class":4593},[4160,21550,5411],{"class":4653},[4160,21552,3743],{"class":4543},[4160,21554,3840],{"class":4653},[4160,21556,5802],{"class":4543},[4160,21558,5128],{"class":4653},[4160,21560,4251],{"class":4589},[4160,21562,21563,21565,21567,21569],{"class":4162,"line":8942},[4160,21564,16566],{"class":4643},[4160,21566,4647],{"class":4539},[4160,21568,4650],{"class":4589},[4160,21570,15595],{"class":4653},[4160,21572,21573,21576,21578,21580],{"class":4162,"line":8947},[4160,21574,21575],{"class":4543},"                    styles",[4160,21577,3840],{"class":4653},[4160,21579,16382],{"class":4543},[4160,21581,4690],{"class":4653},[4160,21583,21584],{"class":4162,"line":8952},[4160,21585,21586],{"class":4653},"                    {\n",[4160,21588,21589,21592,21594,21596,21598,21600,21602,21604,21606,21608,21610],{"class":4162,"line":8973},[4160,21590,21591],{"class":4543},"                      backgroundColor:",[4160,21593,16280],{"class":4543},[4160,21595,10829],{"class":4539},[4160,21597,4667],{"class":4543},[4160,21599,3840],{"class":4653},[4160,21601,4687],{"class":4543},[4160,21603,10835],{"class":4539},[4160,21605,4667],{"class":4543},[4160,21607,3840],{"class":4653},[4160,21609,16415],{"class":4543},[4160,21611,4690],{"class":4653},[4160,21613,21614,21617,21619,21621,21623],{"class":4162,"line":8995},[4160,21615,21616],{"class":4543},"                      borderColor:",[4160,21618,4667],{"class":4543},[4160,21620,3840],{"class":4653},[4160,21622,13687],{"class":4543},[4160,21624,4690],{"class":4653},[4160,21626,21627],{"class":4162,"line":9003},[4160,21628,21629],{"class":4653},"                    },\n",[4160,21631,21632,21635],{"class":4162,"line":9014},[4160,21633,21634],{"class":4653},"                  ]",[4160,21636,4251],{"class":4589},[4160,21638,21639,21642,21644],{"class":4162,"line":9025},[4160,21640,21641],{"class":4643},"                  accessibilityRole",[4160,21643,4647],{"class":4539},[4160,21645,16456],{"class":4552},[4160,21647,21648,21651,21653,21655,21657,21659,21661,21663],{"class":4162,"line":9035},[4160,21649,21650],{"class":4643},"                  accessibilityState",[4160,21652,4647],{"class":4539},[4160,21654,4650],{"class":4589},[4160,21656,4792],{"class":4653},[4160,21658,16471],{"class":4543},[4160,21660,16280],{"class":4543},[4160,21662,4800],{"class":4653},[4160,21664,4251],{"class":4589},[4160,21666,21667,21670,21672,21674,21676,21678,21680,21682,21684,21686,21688],{"class":4162,"line":9045},[4160,21668,21669],{"class":4643},"                  accessibilityLabel",[4160,21671,4647],{"class":4539},[4160,21673,4650],{"class":4589},[4160,21675,16490],{"class":4552},[4160,21677,5939],{"class":4589},[4160,21679,3743],{"class":4543},[4160,21681,3840],{"class":4653},[4160,21683,10924],{"class":4543},[4160,21685,4803],{"class":4589},[4160,21687,8630],{"class":4552},[4160,21689,4251],{"class":4589},[4160,21691,21692],{"class":4162,"line":9055},[4160,21693,16585],{"class":4633},[4160,21695,21696,21699],{"class":4162,"line":9060},[4160,21697,21698],{"class":4633},"                  \u003C",[4160,21700,15717],{"class":4637},[4160,21702,21703,21706,21708],{"class":4162,"line":9088},[4160,21704,21705],{"class":4643},"                    variant",[4160,21707,4647],{"class":4539},[4160,21709,15727],{"class":4552},[4160,21711,21712,21715,21717,21719,21721,21723,21725,21727,21729,21731,21733,21735,21737],{"class":4162,"line":9117},[4160,21713,21714],{"class":4643},"                    color",[4160,21716,4647],{"class":4539},[4160,21718,4650],{"class":4589},[4160,21720,16541],{"class":4543},[4160,21722,10829],{"class":4539},[4160,21724,4667],{"class":4543},[4160,21726,3840],{"class":4653},[4160,21728,16550],{"class":4543},[4160,21730,10835],{"class":4539},[4160,21732,4667],{"class":4543},[4160,21734,3840],{"class":4653},[4160,21736,4008],{"class":4543},[4160,21738,4251],{"class":4589},[4160,21740,21741,21744,21746,21748,21750,21752,21754],{"class":4162,"line":9146},[4160,21742,21743],{"class":4643},"                    style",[4160,21745,4647],{"class":4539},[4160,21747,4650],{"class":4589},[4160,21749,8287],{"class":4543},[4160,21751,3840],{"class":4653},[4160,21753,16577],{"class":4543},[4160,21755,4251],{"class":4589},[4160,21757,21758],{"class":4162,"line":9154},[4160,21759,21760],{"class":4633},"                  >\n",[4160,21762,21763,21766,21768,21770,21772],{"class":4162,"line":9165},[4160,21764,21765],{"class":4589},"                    {",[4160,21767,3743],{"class":4543},[4160,21769,3840],{"class":4653},[4160,21771,10924],{"class":4543},[4160,21773,4251],{"class":4589},[4160,21775,21776,21779,21781],{"class":4162,"line":9175},[4160,21777,21778],{"class":4633},"                  \u003C\u002F",[4160,21780,14565],{"class":4637},[4160,21782,4890],{"class":4633},[4160,21784,21785,21787,21789],{"class":4162,"line":9185},[4160,21786,16605],{"class":4633},[4160,21788,8644],{"class":4637},[4160,21790,4890],{"class":4633},[4160,21792,21793],{"class":4162,"line":9195},[4160,21794,21795],{"class":4653},"              );\n",[4160,21797,21798,21801],{"class":4162,"line":9206},[4160,21799,21800],{"class":4653},"            })",[4160,21802,4251],{"class":4589},[4160,21804,21805,21807,21809],{"class":4162,"line":9211},[4160,21806,8778],{"class":4633},[4160,21808,8320],{"class":4637},[4160,21810,4890],{"class":4633},[4160,21812,21813,21815,21817],{"class":4162,"line":9239},[4160,21814,8414],{"class":4633},[4160,21816,8320],{"class":4637},[4160,21818,4890],{"class":4633},[4160,21820,21821],{"class":4162,"line":9266},[4160,21822,4185],{"emptyLinePlaceholder":4184},[4160,21824,21825,21827],{"class":4162,"line":9274},[4160,21826,7267],{"class":4633},[4160,21828,15584],{"class":4637},[4160,21830,21831,21833,21835,21837],{"class":4162,"line":9283},[4160,21832,8832],{"class":4643},[4160,21834,4647],{"class":4539},[4160,21836,4650],{"class":4589},[4160,21838,15595],{"class":4653},[4160,21840,21841,21843,21845,21847],{"class":4162,"line":9293},[4160,21842,21268],{"class":4543},[4160,21844,3840],{"class":4653},[4160,21846,8657],{"class":4543},[4160,21848,4690],{"class":4653},[4160,21850,21851],{"class":4162,"line":9303},[4160,21852,21279],{"class":4653},[4160,21854,21855,21857,21859,21861,21863],{"class":4162,"line":9308},[4160,21856,21284],{"class":4543},[4160,21858,4667],{"class":4543},[4160,21860,3840],{"class":4653},[4160,21862,16415],{"class":4543},[4160,21864,4690],{"class":4653},[4160,21866,21867,21869,21871,21873,21875],{"class":4162,"line":9316},[4160,21868,21297],{"class":4543},[4160,21870,4667],{"class":4543},[4160,21872,3840],{"class":4653},[4160,21874,13687],{"class":4543},[4160,21876,4690],{"class":4653},[4160,21878,21879,21881,21883,21885,21887],{"class":4162,"line":9325},[4160,21880,21310],{"class":4543},[4160,21882,15210],{"class":4543},[4160,21884,3840],{"class":4653},[4160,21886,15215],{"class":4543},[4160,21888,4690],{"class":4653},[4160,21890,21891,21893,21895,21897,21899],{"class":4162,"line":9335},[4160,21892,21323],{"class":4543},[4160,21894,15210],{"class":4543},[4160,21896,3840],{"class":4653},[4160,21898,15274],{"class":4543},[4160,21900,4690],{"class":4653},[4160,21902,21903],{"class":4162,"line":9344},[4160,21904,21336],{"class":4653},[4160,21906,21907,21909],{"class":4162,"line":9355},[4160,21908,21341],{"class":4653},[4160,21910,4251],{"class":4589},[4160,21912,21913],{"class":4162,"line":9360},[4160,21914,8877],{"class":4633},[4160,21916,21917,21919,21921,21923,21925,21927,21929,21931,21933,21935,21937,21939,21942,21944,21946],{"class":4162,"line":9380},[4160,21918,8549],{"class":4633},[4160,21920,14565],{"class":4637},[4160,21922,7170],{"class":4643},[4160,21924,4647],{"class":4539},[4160,21926,4650],{"class":4589},[4160,21928,4792],{"class":4653},[4160,21930,4711],{"class":4543},[4160,21932,9228],{"class":4552},[4160,21934,4800],{"class":4653},[4160,21936,4803],{"class":4589},[4160,21938,8361],{"class":4633},[4160,21940,21941],{"class":4539},"Навігація (Expo Router)",[4160,21943,8367],{"class":4633},[4160,21945,14565],{"class":4637},[4160,21947,4890],{"class":4633},[4160,21949,21950,21952,21954,21956,21958,21960,21962,21964,21966,21968,21970,21972,21974],{"class":4162,"line":11316},[4160,21951,8549],{"class":4633},[4160,21953,14565],{"class":4637},[4160,21955,15675],{"class":4643},[4160,21957,4647],{"class":4539},[4160,21959,15986],{"class":4552},[4160,21961,7647],{"class":4643},[4160,21963,4647],{"class":4539},[4160,21965,4650],{"class":4589},[4160,21967,4608],{"class":4543},[4160,21969,3840],{"class":4653},[4160,21971,13656],{"class":4543},[4160,21973,4803],{"class":4589},[4160,21975,4890],{"class":4633},[4160,21977,21978],{"class":4162,"line":11325},[4160,21979,21980],{"class":4539},"            Нижні вкладки — група маршрутів (tabs). «Нова поїздка» відкривається\n",[4160,21982,21983],{"class":4162,"line":11334},[4160,21984,21985],{"class":4539},"            поверх вкладок у Stack. Нижче — приклад компонента Link (як якір на\n",[4160,21987,21988],{"class":4162,"line":11344},[4160,21989,21990],{"class":4539},"            вебі).\n",[4160,21992,21993,21995,21997],{"class":4162,"line":11353},[4160,21994,8778],{"class":4633},[4160,21996,14565],{"class":4637},[4160,21998,4890],{"class":4633},[4160,22000,22001,22003,22005,22007,22009,22012,22014],{"class":4162,"line":11364},[4160,22002,8549],{"class":4633},[4160,22004,3769],{"class":4637},[4160,22006,8610],{"class":4643},[4160,22008,4647],{"class":4539},[4160,22010,22011],{"class":4552},"\"\u002Fcreate-trip\"",[4160,22013,8635],{"class":4643},[4160,22015,4890],{"class":4633},[4160,22017,22018,22020,22023],{"class":4162,"line":11369},[4160,22019,18527],{"class":4589},[4160,22021,22022],{"class":4763},"\u002F* presentation: modal задано в кореневому Stack *\u002F",[4160,22024,4251],{"class":4589},[4160,22026,22027],{"class":4162,"line":11377},[4160,22028,4185],{"emptyLinePlaceholder":4184},[4160,22030,22031,22033],{"class":4162,"line":11386},[4160,22032,7624],{"class":4633},[4160,22034,8827],{"class":4637},[4160,22036,22037,22040,22042,22044],{"class":4162,"line":11395},[4160,22038,22039],{"class":4643},"              style",[4160,22041,4647],{"class":4539},[4160,22043,4650],{"class":4589},[4160,22045,15595],{"class":4653},[4160,22047,22048,22051,22053,22056],{"class":4162,"line":11404},[4160,22049,22050],{"class":4543},"                styles",[4160,22052,3840],{"class":4653},[4160,22054,22055],{"class":4543},"linkBtn",[4160,22057,4690],{"class":4653},[4160,22059,22060],{"class":4162,"line":11413},[4160,22061,22062],{"class":4653},"                {\n",[4160,22064,22065,22068,22070,22072,22074],{"class":4162,"line":11422},[4160,22066,22067],{"class":4543},"                  backgroundColor:",[4160,22069,4667],{"class":4543},[4160,22071,3840],{"class":4653},[4160,22073,4687],{"class":4543},[4160,22075,4690],{"class":4653},[4160,22077,22078,22081,22083,22085,22087,22090,22092],{"class":4162,"line":11431},[4160,22079,22080],{"class":4543},"                  paddingVertical:",[4160,22082,15210],{"class":4543},[4160,22084,3840],{"class":4653},[4160,22086,15274],{"class":4543},[4160,22088,22089],{"class":4539}," +",[4160,22091,9099],{"class":5485},[4160,22093,4690],{"class":4653},[4160,22095,22096,22099,22101],{"class":4162,"line":11440},[4160,22097,22098],{"class":4543},"                  borderRadius:",[4160,22100,7542],{"class":5485},[4160,22102,4690],{"class":4653},[4160,22104,22105],{"class":4162,"line":11449},[4160,22106,22107],{"class":4653},"                },\n",[4160,22109,22110,22113],{"class":4162,"line":11454},[4160,22111,22112],{"class":4653},"              ]",[4160,22114,4251],{"class":4589},[4160,22116,22117],{"class":4162,"line":11470},[4160,22118,22119],{"class":4633},"            >\n",[4160,22121,22122,22124,22126,22128,22130,22132,22134,22136,22138,22140,22142,22144,22146,22148,22150,22152,22154,22156],{"class":4162,"line":11477},[4160,22123,8666],{"class":4633},[4160,22125,14565],{"class":4637},[4160,22127,7647],{"class":4643},[4160,22129,4647],{"class":4539},[4160,22131,4650],{"class":4589},[4160,22133,4608],{"class":4543},[4160,22135,3840],{"class":4653},[4160,22137,16550],{"class":4543},[4160,22139,4803],{"class":4589},[4160,22141,7170],{"class":4643},[4160,22143,4647],{"class":4539},[4160,22145,4650],{"class":4589},[4160,22147,4792],{"class":4653},[4160,22149,4711],{"class":4543},[4160,22151,9228],{"class":4552},[4160,22153,4800],{"class":4653},[4160,22155,4803],{"class":4589},[4160,22157,4890],{"class":4633},[4160,22159,22160],{"class":4162,"line":11487},[4160,22161,22162],{"class":4539},"                Відкрити форму (Link)\n",[4160,22164,22165,22167,22169],{"class":4162,"line":11496},[4160,22166,8760],{"class":4633},[4160,22168,14565],{"class":4637},[4160,22170,4890],{"class":4633},[4160,22172,22173,22175,22177],{"class":4162,"line":11505},[4160,22174,8769],{"class":4633},[4160,22176,8644],{"class":4637},[4160,22178,4890],{"class":4633},[4160,22180,22181,22183,22185],{"class":4162,"line":11514},[4160,22182,8778],{"class":4633},[4160,22184,3769],{"class":4637},[4160,22186,4890],{"class":4633},[4160,22188,22189,22191,22193],{"class":4162,"line":11523},[4160,22190,8414],{"class":4633},[4160,22192,8320],{"class":4637},[4160,22194,4890],{"class":4633},[4160,22196,22197],{"class":4162,"line":11528},[4160,22198,4185],{"emptyLinePlaceholder":4184},[4160,22200,22201,22203,22205,22207,22209,22211,22213,22215,22217,22219,22221,22223,22225],{"class":4162,"line":11547},[4160,22202,7267],{"class":4633},[4160,22204,14565],{"class":4637},[4160,22206,15675],{"class":4643},[4160,22208,4647],{"class":4539},[4160,22210,15986],{"class":4552},[4160,22212,7647],{"class":4643},[4160,22214,4647],{"class":4539},[4160,22216,4650],{"class":4589},[4160,22218,4608],{"class":4543},[4160,22220,3840],{"class":4653},[4160,22222,13656],{"class":4543},[4160,22224,4803],{"class":4589},[4160,22226,4890],{"class":4633},[4160,22228,22229],{"class":4162,"line":15854},[4160,22230,22231],{"class":4539},"          Репозиторій: github.com\u002Farakviel\u002Fnomad\n",[4160,22233,22234,22236,22238],{"class":4162,"line":15860},[4160,22235,8414],{"class":4633},[4160,22237,14565],{"class":4637},[4160,22239,4890],{"class":4633},[4160,22241,22242,22244,22246],{"class":4162,"line":15874},[4160,22243,7366],{"class":4633},[4160,22245,9407],{"class":4637},[4160,22247,4890],{"class":4633},[4160,22249,22250,22252,22254],{"class":4162,"line":15888},[4160,22251,4885],{"class":4633},[4160,22253,14575],{"class":4637},[4160,22255,4890],{"class":4633},[4160,22257,22258],{"class":4162,"line":15902},[4160,22259,4895],{"class":4539},[4160,22261,22262],{"class":4162,"line":15917},[4160,22263,4251],{"class":4539},[4160,22265,22266],{"class":4162,"line":15931},[4160,22267,4185],{"emptyLinePlaceholder":4184},[4160,22269,22270,22272,22274,22276,22278,22280,22282],{"class":4162,"line":15937},[4160,22271,6592],{"class":4589},[4160,22273,8957],{"class":4607},[4160,22275,5385],{"class":4539},[4160,22277,8962],{"class":4543},[4160,22279,3840],{"class":4539},[4160,22281,8967],{"class":4593},[4160,22283,8970],{"class":4539},[4160,22285,22286,22288],{"class":4162,"line":15945},[4160,22287,17225],{"class":4543},[4160,22289,5517],{"class":4539},[4160,22291,22292,22294,22296],{"class":4162,"line":15950},[4160,22293,9006],{"class":4543},[4160,22295,15247],{"class":5485},[4160,22297,4690],{"class":4539},[4160,22299,22300],{"class":4162,"line":15975},[4160,22301,6526],{"class":4539},[4160,22303,22304,22306],{"class":4162,"line":16011},[4160,22305,9149],{"class":4543},[4160,22307,5517],{"class":4539},[4160,22309,22310,22312,22314],{"class":4162,"line":16037},[4160,22311,9178],{"class":4543},[4160,22313,8984],{"class":5485},[4160,22315,4690],{"class":4539},[4160,22317,22318,22320,22322],{"class":4162,"line":16046},[4160,22319,9168],{"class":4543},[4160,22321,7542],{"class":5485},[4160,22323,4690],{"class":4539},[4160,22325,22326],{"class":4162,"line":16053},[4160,22327,6526],{"class":4539},[4160,22329,22330,22332],{"class":4162,"line":16063},[4160,22331,17268],{"class":4543},[4160,22333,5517],{"class":4539},[4160,22335,22336,22338,22340],{"class":4162,"line":16074},[4160,22337,17276],{"class":4543},[4160,22339,17279],{"class":4552},[4160,22341,4690],{"class":4539},[4160,22343,22344,22346,22348],{"class":4162,"line":16088},[4160,22345,17287],{"class":4543},[4160,22347,17290],{"class":4552},[4160,22349,4690],{"class":4539},[4160,22351,22352],{"class":4162,"line":16102},[4160,22353,6526],{"class":4539},[4160,22355,22356,22358],{"class":4162,"line":16112},[4160,22357,17303],{"class":4543},[4160,22359,5517],{"class":4539},[4160,22361,22362,22364,22366],{"class":4162,"line":16119},[4160,22363,9006],{"class":4543},[4160,22365,7542],{"class":5485},[4160,22367,4690],{"class":4539},[4160,22369,22370,22372,22374],{"class":4162,"line":16124},[4160,22371,9328],{"class":4543},[4160,22373,9020],{"class":5485},[4160,22375,4690],{"class":4539},[4160,22377,22378,22380,22382],{"class":4162,"line":16141},[4160,22379,9168],{"class":4543},[4160,22381,9020],{"class":5485},[4160,22383,4690],{"class":4539},[4160,22385,22386,22388,22390],{"class":4162,"line":16176},[4160,22387,9178],{"class":4543},[4160,22389,8984],{"class":5485},[4160,22391,4690],{"class":4539},[4160,22393,22394],{"class":4162,"line":16187},[4160,22395,6526],{"class":4539},[4160,22397,22398,22400],{"class":4162,"line":16196},[4160,22399,17352],{"class":4543},[4160,22401,5517],{"class":4539},[4160,22403,22404,22406,22408],{"class":4162,"line":16201},[4160,22405,11337],{"class":4543},[4160,22407,4714],{"class":4552},[4160,22409,4690],{"class":4539},[4160,22411,22412],{"class":4162,"line":16251},[4160,22413,6526],{"class":4539},[4160,22415,22416,22419],{"class":4162,"line":16274},[4160,22417,22418],{"class":4543},"  linkBtn:",[4160,22420,5517],{"class":4539},[4160,22422,22423,22425,22427],{"class":4162,"line":16300},[4160,22424,9347],{"class":4543},[4160,22426,9350],{"class":4552},[4160,22428,4690],{"class":4539},[4160,22430,22431],{"class":4162,"line":16308},[4160,22432,6526],{"class":4539},[4160,22434,22435],{"class":4162,"line":16315},[4160,22436,9383],{"class":4539},[4003,22438,22441],{"className":4526,"code":22439,"filename":22440,"language":4528,"meta":4011,"style":4011},"import { StyleSheet } from 'react-native';\nimport { useRouter } from 'expo-router';\n\nimport { CreateTripForm, useTrips } from '@\u002Ffeatures\u002Ftrips';\nimport { Screen } from '@\u002Fshared\u002Fui';\n\n\u002F**\n * Екран створення поїздки — Stack-екран поза Tabs.\n * Заголовок і системна кнопка «назад» задаються в app\u002F_layout.tsx (Stack.Screen options).\n *\u002F\nexport default function CreateTripScreen() {\n  const router = useRouter();\n  const { addTrip } = useTrips();\n\n  return (\n    \u003CScreen style={styles.screen}>\n      \u003CCreateTripForm\n        onSubmitSuccess={(trip) => {\n          addTrip(trip);\n          router.back();\n        }}\n        onCancel={() => router.back()}\n      \u002F>\n    \u003C\u002FScreen>\n  );\n}\n\nconst styles = StyleSheet.create({\n  screen: {\n    paddingHorizontal: 0,\n  },\n});\n","app\u002Fcreate-trip.tsx",[3747,22442,22443,22459,22475,22479,22500,22516,22520,22524,22529,22534,22538,22551,22563,22578,22582,22588,22610,22617,22636,22647,22658,22664,22687,22691,22699,22703,22707,22711,22727,22733,22741,22745],{"__ignoreMap":4011},[4160,22444,22445,22447,22449,22451,22453,22455,22457],{"class":4162,"line":4163},[4160,22446,4536],{"class":4535},[4160,22448,4540],{"class":4539},[4160,22450,8962],{"class":4543},[4160,22452,4546],{"class":4539},[4160,22454,4549],{"class":4535},[4160,22456,5324],{"class":4552},[4160,22458,4556],{"class":4539},[4160,22460,22461,22463,22465,22467,22469,22471,22473],{"class":4162,"line":4169},[4160,22462,4536],{"class":4535},[4160,22464,4540],{"class":4539},[4160,22466,3772],{"class":4543},[4160,22468,4546],{"class":4539},[4160,22470,4549],{"class":4535},[4160,22472,4553],{"class":4552},[4160,22474,4556],{"class":4539},[4160,22476,22477],{"class":4162,"line":4175},[4160,22478,4185],{"emptyLinePlaceholder":4184},[4160,22480,22481,22483,22485,22488,22490,22492,22494,22496,22498],{"class":4162,"line":4181},[4160,22482,4536],{"class":4535},[4160,22484,4540],{"class":4539},[4160,22486,22487],{"class":4543},"CreateTripForm",[4160,22489,4055],{"class":4539},[4160,22491,14723],{"class":4543},[4160,22493,4546],{"class":4539},[4160,22495,4549],{"class":4535},[4160,22497,5769],{"class":4552},[4160,22499,4556],{"class":4539},[4160,22501,22502,22504,22506,22508,22510,22512,22514],{"class":4162,"line":4188},[4160,22503,4536],{"class":4535},[4160,22505,4540],{"class":4539},[4160,22507,14575],{"class":4543},[4160,22509,4546],{"class":4539},[4160,22511,4549],{"class":4535},[4160,22513,14582],{"class":4552},[4160,22515,4556],{"class":4539},[4160,22517,22518],{"class":4162,"line":4194},[4160,22519,4185],{"emptyLinePlaceholder":4184},[4160,22521,22522],{"class":4162,"line":4200},[4160,22523,13075],{"class":4763},[4160,22525,22526],{"class":4162,"line":4206},[4160,22527,22528],{"class":4763}," * Екран створення поїздки — Stack-екран поза Tabs.\n",[4160,22530,22531],{"class":4162,"line":4212},[4160,22532,22533],{"class":4763}," * Заголовок і системна кнопка «назад» задаються в app\u002F_layout.tsx (Stack.Screen options).\n",[4160,22535,22536],{"class":4162,"line":4218},[4160,22537,13105],{"class":4763},[4160,22539,22540,22542,22544,22546,22549],{"class":4162,"line":4224},[4160,22541,4583],{"class":4535},[4160,22543,4586],{"class":4535},[4160,22545,4590],{"class":4589},[4160,22547,22548],{"class":4593}," CreateTripScreen",[4160,22550,4597],{"class":4539},[4160,22552,22553,22555,22557,22559,22561],{"class":4162,"line":4230},[4160,22554,4602],{"class":4589},[4160,22556,8226],{"class":4607},[4160,22558,5385],{"class":4539},[4160,22560,3772],{"class":4593},[4160,22562,4616],{"class":4539},[4160,22564,22565,22567,22569,22572,22574,22576],{"class":4162,"line":4236},[4160,22566,4602],{"class":4589},[4160,22568,4540],{"class":4539},[4160,22570,22571],{"class":4607},"addTrip",[4160,22573,4611],{"class":4539},[4160,22575,14723],{"class":4593},[4160,22577,4616],{"class":4539},[4160,22579,22580],{"class":4162,"line":4242},[4160,22581,4185],{"emptyLinePlaceholder":4184},[4160,22583,22584,22586],{"class":4162,"line":4248},[4160,22585,4625],{"class":4535},[4160,22587,4628],{"class":4539},[4160,22589,22590,22592,22594,22596,22598,22600,22602,22604,22606,22608],{"class":4162,"line":4254},[4160,22591,4634],{"class":4633},[4160,22593,14575],{"class":4637},[4160,22595,7170],{"class":4643},[4160,22597,4647],{"class":4539},[4160,22599,4650],{"class":4589},[4160,22601,8287],{"class":4543},[4160,22603,3840],{"class":4653},[4160,22605,15820],{"class":4543},[4160,22607,4803],{"class":4589},[4160,22609,4890],{"class":4633},[4160,22611,22612,22614],{"class":4162,"line":4259},[4160,22613,4771],{"class":4633},[4160,22615,22616],{"class":4637},"CreateTripForm\n",[4160,22618,22619,22622,22624,22626,22628,22630,22632,22634],{"class":4162,"line":4265},[4160,22620,22621],{"class":4643},"        onSubmitSuccess",[4160,22623,4647],{"class":4539},[4160,22625,4650],{"class":4589},[4160,22627,5411],{"class":4653},[4160,22629,5912],{"class":4543},[4160,22631,6644],{"class":4653},[4160,22633,5514],{"class":4589},[4160,22635,5517],{"class":4653},[4160,22637,22638,22641,22643,22645],{"class":4162,"line":4271},[4160,22639,22640],{"class":4593},"          addTrip",[4160,22642,5411],{"class":4653},[4160,22644,5912],{"class":4543},[4160,22646,5417],{"class":4653},[4160,22648,22649,22652,22654,22656],{"class":4162,"line":4276},[4160,22650,22651],{"class":4543},"          router",[4160,22653,3840],{"class":4653},[4160,22655,9718],{"class":4593},[4160,22657,4616],{"class":4653},[4160,22659,22660,22662],{"class":4162,"line":4282},[4160,22661,4873],{"class":4653},[4160,22663,4251],{"class":4589},[4160,22665,22666,22669,22671,22673,22675,22677,22679,22681,22683,22685],{"class":4162,"line":4288},[4160,22667,22668],{"class":4643},"        onCancel",[4160,22670,4647],{"class":4539},[4160,22672,4650],{"class":4589},[4160,22674,8507],{"class":4653},[4160,22676,5514],{"class":4589},[4160,22678,8226],{"class":4543},[4160,22680,3840],{"class":4653},[4160,22682,9718],{"class":4593},[4160,22684,9721],{"class":4653},[4160,22686,4251],{"class":4589},[4160,22688,22689],{"class":4162,"line":4294},[4160,22690,4880],{"class":4633},[4160,22692,22693,22695,22697],{"class":4162,"line":4300},[4160,22694,4885],{"class":4633},[4160,22696,14575],{"class":4637},[4160,22698,4890],{"class":4633},[4160,22700,22701],{"class":4162,"line":4305},[4160,22702,4895],{"class":4539},[4160,22704,22705],{"class":4162,"line":4311},[4160,22706,4251],{"class":4539},[4160,22708,22709],{"class":4162,"line":4317},[4160,22710,4185],{"emptyLinePlaceholder":4184},[4160,22712,22713,22715,22717,22719,22721,22723,22725],{"class":4162,"line":4323},[4160,22714,6592],{"class":4589},[4160,22716,8957],{"class":4607},[4160,22718,5385],{"class":4539},[4160,22720,8962],{"class":4543},[4160,22722,3840],{"class":4539},[4160,22724,8967],{"class":4593},[4160,22726,8970],{"class":4539},[4160,22728,22729,22731],{"class":4162,"line":4328},[4160,22730,17225],{"class":4543},[4160,22732,5517],{"class":4539},[4160,22734,22735,22737,22739],{"class":4162,"line":4333},[4160,22736,9006],{"class":4543},[4160,22738,15247],{"class":5485},[4160,22740,4690],{"class":4539},[4160,22742,22743],{"class":4162,"line":5663},[4160,22744,6526],{"class":4539},[4160,22746,22747],{"class":4162,"line":5676},[4160,22748,9383],{"class":4539},[4003,22750,22753],{"className":6359,"code":22751,"filename":22752,"language":6361,"meta":4011,"style":4011},"export { mockTrips } from '.\u002Fmodel\u002FmockTrips';\nexport { mockPlaces } from '.\u002Fmodel\u002FmockPlaces';\nexport { getPlacesForTrip } from '.\u002Fmodel\u002FplacesHelpers';\nexport type { Trip, Place, TripRegion } from '.\u002Fmodel\u002Ftypes';\nexport { TRIP_REGIONS } from '.\u002Fmodel\u002Ftypes';\nexport { TripCard } from '.\u002Fui\u002FTripCard';\nexport { PlaceChip } from '.\u002Fui\u002FPlaceChip';\nexport { CreateTripForm } from '.\u002Fui\u002FCreateTripForm';\nexport { DateField } from '.\u002Fui\u002FDateField';\nexport { FormRow } from '.\u002Fui\u002FFormRow';\nexport { TripsProvider, useTrips } from '.\u002Fmodel\u002FTripsProvider';\nexport {\n  createTripSchema,\n  type CreateTripFormValues,\n} from '.\u002Fmodel\u002FcreateTripSchema';\nexport { formatTripDateLabel } from '.\u002Fmodel\u002FformatTripDates';\n","src\u002Ffeatures\u002Ftrips\u002Findex.ts",[3747,22754,22755,22773,22790,22807,22835,22852,22869,22886,22903,22921,22939,22960,22966,22973,22982,22993],{"__ignoreMap":4011},[4160,22756,22757,22759,22761,22764,22766,22768,22771],{"class":4162,"line":4163},[4160,22758,4583],{"class":4535},[4160,22760,4540],{"class":4539},[4160,22762,22763],{"class":4543},"mockTrips",[4160,22765,4546],{"class":4539},[4160,22767,4549],{"class":4535},[4160,22769,22770],{"class":4552}," '.\u002Fmodel\u002FmockTrips'",[4160,22772,4556],{"class":4539},[4160,22774,22775,22777,22779,22781,22783,22785,22788],{"class":4162,"line":4169},[4160,22776,4583],{"class":4535},[4160,22778,4540],{"class":4539},[4160,22780,14781],{"class":4543},[4160,22782,4546],{"class":4539},[4160,22784,4549],{"class":4535},[4160,22786,22787],{"class":4552}," '.\u002Fmodel\u002FmockPlaces'",[4160,22789,4556],{"class":4539},[4160,22791,22792,22794,22796,22798,22800,22802,22805],{"class":4162,"line":4175},[4160,22793,4583],{"class":4535},[4160,22795,4540],{"class":4539},[4160,22797,12146],{"class":4543},[4160,22799,4546],{"class":4539},[4160,22801,4549],{"class":4535},[4160,22803,22804],{"class":4552}," '.\u002Fmodel\u002FplacesHelpers'",[4160,22806,4556],{"class":4539},[4160,22808,22809,22811,22813,22815,22817,22819,22821,22823,22826,22828,22830,22833],{"class":4162,"line":4181},[4160,22810,4583],{"class":4535},[4160,22812,6370],{"class":4535},[4160,22814,4540],{"class":4539},[4160,22816,14836],{"class":4543},[4160,22818,4055],{"class":4539},[4160,22820,14775],{"class":4543},[4160,22822,4055],{"class":4539},[4160,22824,22825],{"class":4543},"TripRegion",[4160,22827,4546],{"class":4539},[4160,22829,4549],{"class":4535},[4160,22831,22832],{"class":4552}," '.\u002Fmodel\u002Ftypes'",[4160,22834,4556],{"class":4539},[4160,22836,22837,22839,22841,22844,22846,22848,22850],{"class":4162,"line":4188},[4160,22838,4583],{"class":4535},[4160,22840,4540],{"class":4539},[4160,22842,22843],{"class":4543},"TRIP_REGIONS",[4160,22845,4546],{"class":4539},[4160,22847,4549],{"class":4535},[4160,22849,22832],{"class":4552},[4160,22851,4556],{"class":4539},[4160,22853,22854,22856,22858,22860,22862,22864,22867],{"class":4162,"line":4194},[4160,22855,4583],{"class":4535},[4160,22857,4540],{"class":4539},[4160,22859,15101],{"class":4543},[4160,22861,4546],{"class":4539},[4160,22863,4549],{"class":4535},[4160,22865,22866],{"class":4552}," '.\u002Fui\u002FTripCard'",[4160,22868,4556],{"class":4539},[4160,22870,22871,22873,22875,22877,22879,22881,22884],{"class":4162,"line":4200},[4160,22872,4583],{"class":4535},[4160,22874,4540],{"class":4539},[4160,22876,15388],{"class":4543},[4160,22878,4546],{"class":4539},[4160,22880,4549],{"class":4535},[4160,22882,22883],{"class":4552}," '.\u002Fui\u002FPlaceChip'",[4160,22885,4556],{"class":4539},[4160,22887,22888,22890,22892,22894,22896,22898,22901],{"class":4162,"line":4206},[4160,22889,4583],{"class":4535},[4160,22891,4540],{"class":4539},[4160,22893,22487],{"class":4543},[4160,22895,4546],{"class":4539},[4160,22897,4549],{"class":4535},[4160,22899,22900],{"class":4552}," '.\u002Fui\u002FCreateTripForm'",[4160,22902,4556],{"class":4539},[4160,22904,22905,22907,22909,22912,22914,22916,22919],{"class":4162,"line":4212},[4160,22906,4583],{"class":4535},[4160,22908,4540],{"class":4539},[4160,22910,22911],{"class":4543},"DateField",[4160,22913,4546],{"class":4539},[4160,22915,4549],{"class":4535},[4160,22917,22918],{"class":4552}," '.\u002Fui\u002FDateField'",[4160,22920,4556],{"class":4539},[4160,22922,22923,22925,22927,22930,22932,22934,22937],{"class":4162,"line":4218},[4160,22924,4583],{"class":4535},[4160,22926,4540],{"class":4539},[4160,22928,22929],{"class":4543},"FormRow",[4160,22931,4546],{"class":4539},[4160,22933,4549],{"class":4535},[4160,22935,22936],{"class":4552}," '.\u002Fui\u002FFormRow'",[4160,22938,4556],{"class":4539},[4160,22940,22941,22943,22945,22947,22949,22951,22953,22955,22958],{"class":4162,"line":4224},[4160,22942,4583],{"class":4535},[4160,22944,4540],{"class":4539},[4160,22946,6086],{"class":4543},[4160,22948,4055],{"class":4539},[4160,22950,14723],{"class":4543},[4160,22952,4546],{"class":4539},[4160,22954,4549],{"class":4535},[4160,22956,22957],{"class":4552}," '.\u002Fmodel\u002FTripsProvider'",[4160,22959,4556],{"class":4539},[4160,22961,22962,22964],{"class":4162,"line":4230},[4160,22963,4583],{"class":4535},[4160,22965,5517],{"class":4539},[4160,22967,22968,22971],{"class":4162,"line":4236},[4160,22969,22970],{"class":4543},"  createTripSchema",[4160,22972,4690],{"class":4539},[4160,22974,22975,22977,22980],{"class":4162,"line":4242},[4160,22976,14509],{"class":4535},[4160,22978,22979],{"class":4543}," CreateTripFormValues",[4160,22981,4690],{"class":4539},[4160,22983,22984,22986,22988,22991],{"class":4162,"line":4248},[4160,22985,8095],{"class":4539},[4160,22987,4549],{"class":4535},[4160,22989,22990],{"class":4552}," '.\u002Fmodel\u002FcreateTripSchema'",[4160,22992,4556],{"class":4539},[4160,22994,22995,22997,22999,23002,23004,23006,23009],{"class":4162,"line":4254},[4160,22996,4583],{"class":4535},[4160,22998,4540],{"class":4539},[4160,23000,23001],{"class":4543},"formatTripDateLabel",[4160,23003,4546],{"class":4539},[4160,23005,4549],{"class":4535},[4160,23007,23008],{"class":4552}," '.\u002Fmodel\u002FformatTripDates'",[4160,23010,4556],{"class":4539},[4003,23012,23015],{"className":6359,"code":23013,"filename":23014,"language":6361,"meta":4011,"style":4011},"export type Trip = {\n  id: string;\n  title: string;\n  dateLabel: string;\n  description: string;\n  coverUri: string;\n  \u002F** Регіон \u002F макрозона (з Picker у формі створення). *\u002F\n  region: string;\n  \u002F** Приватна поїздка (Switch) — навчальна мітка на картці. *\u002F\n  isPrivate?: boolean;\n  \u002F** Скільки днів плануємо (Slider 1–14). *\u002F\n  plannedDays?: number;\n  \u002F** Є попередній план маршруту (Checkbox). *\u002F\n  hasItinerary?: boolean;\n};\n\nexport type Place = {\n  id: string;\n  tripId: string;\n  name: string;\n  city: string;\n  note: string;\n};\n\n\u002F** Варіанти регіону для Picker — ті самі рядки, що в mock-стрічці. *\u002F\nexport const TRIP_REGIONS = [\n  'Карпати',\n  'Захід',\n  'Південь',\n  'Центр',\n  'Схід',\n  'Інше',\n] as const;\n\nexport type TripRegion = (typeof TRIP_REGIONS)[number];\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes.ts",[3747,23016,23017,23027,23037,23047,23058,23069,23080,23085,23096,23101,23114,23119,23130,23135,23146,23150,23154,23164,23174,23185,23195,23206,23217,23221,23225,23230,23242,23249,23256,23263,23270,23277,23284,23296,23300],{"__ignoreMap":4011},[4160,23018,23019,23021,23023,23025],{"class":4162,"line":4163},[4160,23020,4583],{"class":4535},[4160,23022,6370],{"class":4589},[4160,23024,14521],{"class":4637},[4160,23026,5156],{"class":4539},[4160,23028,23029,23031,23033,23035],{"class":4162,"line":4169},[4160,23030,6380],{"class":4543},[4160,23032,5814],{"class":4539},[4160,23034,5817],{"class":4637},[4160,23036,4556],{"class":4539},[4160,23038,23039,23041,23043,23045],{"class":4162,"line":4175},[4160,23040,6391],{"class":4543},[4160,23042,5814],{"class":4539},[4160,23044,5817],{"class":4637},[4160,23046,4556],{"class":4539},[4160,23048,23049,23052,23054,23056],{"class":4162,"line":4181},[4160,23050,23051],{"class":4543},"  dateLabel",[4160,23053,5814],{"class":4539},[4160,23055,5817],{"class":4637},[4160,23057,4556],{"class":4539},[4160,23059,23060,23063,23065,23067],{"class":4162,"line":4188},[4160,23061,23062],{"class":4543},"  description",[4160,23064,5814],{"class":4539},[4160,23066,5817],{"class":4637},[4160,23068,4556],{"class":4539},[4160,23070,23071,23074,23076,23078],{"class":4162,"line":4194},[4160,23072,23073],{"class":4543},"  coverUri",[4160,23075,5814],{"class":4539},[4160,23077,5817],{"class":4637},[4160,23079,4556],{"class":4539},[4160,23081,23082],{"class":4162,"line":4200},[4160,23083,23084],{"class":4763},"  \u002F** Регіон \u002F макрозона (з Picker у формі створення). *\u002F\n",[4160,23086,23087,23090,23092,23094],{"class":4162,"line":4206},[4160,23088,23089],{"class":4543},"  region",[4160,23091,5814],{"class":4539},[4160,23093,5817],{"class":4637},[4160,23095,4556],{"class":4539},[4160,23097,23098],{"class":4162,"line":4212},[4160,23099,23100],{"class":4763},"  \u002F** Приватна поїздка (Switch) — навчальна мітка на картці. *\u002F\n",[4160,23102,23103,23106,23109,23112],{"class":4162,"line":4218},[4160,23104,23105],{"class":4543},"  isPrivate",[4160,23107,23108],{"class":4539},"?: ",[4160,23110,23111],{"class":4637},"boolean",[4160,23113,4556],{"class":4539},[4160,23115,23116],{"class":4162,"line":4224},[4160,23117,23118],{"class":4763},"  \u002F** Скільки днів плануємо (Slider 1–14). *\u002F\n",[4160,23120,23121,23124,23126,23128],{"class":4162,"line":4230},[4160,23122,23123],{"class":4543},"  plannedDays",[4160,23125,23108],{"class":4539},[4160,23127,6418],{"class":4637},[4160,23129,4556],{"class":4539},[4160,23131,23132],{"class":4162,"line":4236},[4160,23133,23134],{"class":4763},"  \u002F** Є попередній план маршруту (Checkbox). *\u002F\n",[4160,23136,23137,23140,23142,23144],{"class":4162,"line":4242},[4160,23138,23139],{"class":4543},"  hasItinerary",[4160,23141,23108],{"class":4539},[4160,23143,23111],{"class":4637},[4160,23145,4556],{"class":4539},[4160,23147,23148],{"class":4162,"line":4248},[4160,23149,5171],{"class":4539},[4160,23151,23152],{"class":4162,"line":4254},[4160,23153,4185],{"emptyLinePlaceholder":4184},[4160,23155,23156,23158,23160,23162],{"class":4162,"line":4259},[4160,23157,4583],{"class":4535},[4160,23159,6370],{"class":4589},[4160,23161,14512],{"class":4637},[4160,23163,5156],{"class":4539},[4160,23165,23166,23168,23170,23172],{"class":4162,"line":4265},[4160,23167,6380],{"class":4543},[4160,23169,5814],{"class":4539},[4160,23171,5817],{"class":4637},[4160,23173,4556],{"class":4539},[4160,23175,23176,23179,23181,23183],{"class":4162,"line":4271},[4160,23177,23178],{"class":4543},"  tripId",[4160,23180,5814],{"class":4539},[4160,23182,5817],{"class":4637},[4160,23184,4556],{"class":4539},[4160,23186,23187,23189,23191,23193],{"class":4162,"line":4276},[4160,23188,5025],{"class":4543},[4160,23190,5814],{"class":4539},[4160,23192,5817],{"class":4637},[4160,23194,4556],{"class":4539},[4160,23196,23197,23200,23202,23204],{"class":4162,"line":4282},[4160,23198,23199],{"class":4543},"  city",[4160,23201,5814],{"class":4539},[4160,23203,5817],{"class":4637},[4160,23205,4556],{"class":4539},[4160,23207,23208,23211,23213,23215],{"class":4162,"line":4288},[4160,23209,23210],{"class":4543},"  note",[4160,23212,5814],{"class":4539},[4160,23214,5817],{"class":4637},[4160,23216,4556],{"class":4539},[4160,23218,23219],{"class":4162,"line":4294},[4160,23220,5171],{"class":4539},[4160,23222,23223],{"class":4162,"line":4300},[4160,23224,4185],{"emptyLinePlaceholder":4184},[4160,23226,23227],{"class":4162,"line":4305},[4160,23228,23229],{"class":4763},"\u002F** Варіанти регіону для Picker — ті самі рядки, що в mock-стрічці. *\u002F\n",[4160,23231,23232,23234,23236,23239],{"class":4162,"line":4311},[4160,23233,4583],{"class":4535},[4160,23235,5150],{"class":4589},[4160,23237,23238],{"class":4607}," TRIP_REGIONS",[4160,23240,23241],{"class":4539}," = [\n",[4160,23243,23244,23247],{"class":4162,"line":4317},[4160,23245,23246],{"class":4552},"  'Карпати'",[4160,23248,4690],{"class":4539},[4160,23250,23251,23254],{"class":4162,"line":4323},[4160,23252,23253],{"class":4552},"  'Захід'",[4160,23255,4690],{"class":4539},[4160,23257,23258,23261],{"class":4162,"line":4328},[4160,23259,23260],{"class":4552},"  'Південь'",[4160,23262,4690],{"class":4539},[4160,23264,23265,23268],{"class":4162,"line":4333},[4160,23266,23267],{"class":4552},"  'Центр'",[4160,23269,4690],{"class":4539},[4160,23271,23272,23275],{"class":4162,"line":5663},[4160,23273,23274],{"class":4552},"  'Схід'",[4160,23276,4690],{"class":4539},[4160,23278,23279,23282],{"class":4162,"line":5676},[4160,23280,23281],{"class":4552},"  'Інше'",[4160,23283,4690],{"class":4539},[4160,23285,23286,23289,23292,23294],{"class":4162,"line":6728},[4160,23287,23288],{"class":4539},"] ",[4160,23290,23291],{"class":4535},"as",[4160,23293,5150],{"class":4589},[4160,23295,4556],{"class":4539},[4160,23297,23298],{"class":4162,"line":6733},[4160,23299,4185],{"emptyLinePlaceholder":4184},[4160,23301,23302,23304,23306,23309,23312,23315,23317,23320,23322],{"class":4162,"line":6738},[4160,23303,4583],{"class":4535},[4160,23305,6370],{"class":4589},[4160,23307,23308],{"class":4637}," TripRegion",[4160,23310,23311],{"class":4539}," = (",[4160,23313,23314],{"class":4589},"typeof",[4160,23316,23238],{"class":4607},[4160,23318,23319],{"class":4539},")[",[4160,23321,6418],{"class":4637},[4160,23323,6583],{"class":4539},[4003,23325,23328],{"className":6359,"code":23326,"filename":23327,"language":6361,"meta":4011,"style":4011},"import { z } from 'zod';\n\nimport { TRIP_REGIONS } from '.\u002Ftypes';\n\n\u002F**\n * Схема створення поїздки (Zod).\n * Повідомлення — українською: саме їх побачить користувач під полем.\n *\n * Покриває різні типи контролів:\n * - string → TextInput\n * - enum → Picker\n * - date → DateTimePicker\n * - boolean → Switch \u002F Checkbox\n * - number → Slider\n *\u002F\nexport const createTripSchema = z\n  .object({\n    title: z\n      .string()\n      .trim()\n      .min(2, 'Назва має містити щонайменше 2 символи')\n      .max(80, 'Назва занадто довга (макс. 80)'),\n    region: z.enum(TRIP_REGIONS, {\n      error: 'Оберіть регіон зі списку',\n    }),\n    description: z\n      .string()\n      .trim()\n      .min(10, 'Опис — щонайменше 10 символів')\n      .max(500, 'Опис занадто довгий (макс. 500)'),\n    startDate: z.date({ error: 'Оберіть дату початку' }),\n    endDate: z.date({ error: 'Оберіть дату завершення' }),\n    \u002F** Switch: чи ховати поїздку з «публічної» стрічки (навчальна семантика). *\u002F\n    isPrivate: z.boolean(),\n    \u002F** Slider: орієнтовна тривалість у днях. *\u002F\n    plannedDays: z\n      .number()\n      .min(1, 'Мінімум 1 день')\n      .max(14, 'У формі максимум 14 днів'),\n    \u002F** Checkbox: чи є план маршруту. *\u002F\n    hasItinerary: z.boolean(),\n    \u002F**\n     * Checkbox з обов’язковою згодою.\n     * `true` — єдине прийнятне значення (як «прийняти умови»).\n     *\u002F\n    acceptedLocalSave: z.literal(true, {\n      error: 'Підтвердіть, що дані поки зберігаються лише на пристрої',\n    }),\n  })\n  .refine((data) => data.endDate.getTime() >= data.startDate.getTime(), {\n    message: 'Дата завершення не може бути раніше початку',\n    path: ['endDate'],\n  });\n\nexport type CreateTripFormValues = z.infer\u003Ctypeof createTripSchema>;\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FcreateTripSchema.ts",[3747,23329,23330,23348,23352,23369,23373,23377,23382,23387,23391,23396,23401,23406,23411,23416,23421,23425,23439,23449,23456,23466,23474,23493,23512,23532,23542,23546,23553,23561,23569,23587,23605,23628,23648,23653,23666,23671,23678,23686,23704,23722,23727,23740,23745,23750,23755,23760,23778,23787,23791,23796,23841,23851,23863,23867,23871],{"__ignoreMap":4011},[4160,23331,23332,23334,23336,23339,23341,23343,23346],{"class":4162,"line":4163},[4160,23333,4536],{"class":4535},[4160,23335,4540],{"class":4539},[4160,23337,23338],{"class":4543},"z",[4160,23340,4546],{"class":4539},[4160,23342,4549],{"class":4535},[4160,23344,23345],{"class":4552}," 'zod'",[4160,23347,4556],{"class":4539},[4160,23349,23350],{"class":4162,"line":4169},[4160,23351,4185],{"emptyLinePlaceholder":4184},[4160,23353,23354,23356,23358,23360,23362,23364,23367],{"class":4162,"line":4175},[4160,23355,4536],{"class":4535},[4160,23357,4540],{"class":4539},[4160,23359,22843],{"class":4543},[4160,23361,4546],{"class":4539},[4160,23363,4549],{"class":4535},[4160,23365,23366],{"class":4552}," '.\u002Ftypes'",[4160,23368,4556],{"class":4539},[4160,23370,23371],{"class":4162,"line":4181},[4160,23372,4185],{"emptyLinePlaceholder":4184},[4160,23374,23375],{"class":4162,"line":4188},[4160,23376,13075],{"class":4763},[4160,23378,23379],{"class":4162,"line":4194},[4160,23380,23381],{"class":4763}," * Схема створення поїздки (Zod).\n",[4160,23383,23384],{"class":4162,"line":4200},[4160,23385,23386],{"class":4763}," * Повідомлення — українською: саме їх побачить користувач під полем.\n",[4160,23388,23389],{"class":4162,"line":4206},[4160,23390,13095],{"class":4763},[4160,23392,23393],{"class":4162,"line":4212},[4160,23394,23395],{"class":4763}," * Покриває різні типи контролів:\n",[4160,23397,23398],{"class":4162,"line":4218},[4160,23399,23400],{"class":4763}," * - string → TextInput\n",[4160,23402,23403],{"class":4162,"line":4224},[4160,23404,23405],{"class":4763}," * - enum → Picker\n",[4160,23407,23408],{"class":4162,"line":4230},[4160,23409,23410],{"class":4763}," * - date → DateTimePicker\n",[4160,23412,23413],{"class":4162,"line":4236},[4160,23414,23415],{"class":4763}," * - boolean → Switch \u002F Checkbox\n",[4160,23417,23418],{"class":4162,"line":4242},[4160,23419,23420],{"class":4763}," * - number → Slider\n",[4160,23422,23423],{"class":4162,"line":4248},[4160,23424,13105],{"class":4763},[4160,23426,23427,23429,23431,23434,23436],{"class":4162,"line":4254},[4160,23428,4583],{"class":4535},[4160,23430,5150],{"class":4589},[4160,23432,23433],{"class":4607}," createTripSchema",[4160,23435,5385],{"class":4539},[4160,23437,23438],{"class":4543},"z\n",[4160,23440,23441,23444,23447],{"class":4162,"line":4259},[4160,23442,23443],{"class":4539},"  .",[4160,23445,23446],{"class":4593},"object",[4160,23448,8970],{"class":4539},[4160,23450,23451,23453],{"class":4162,"line":4265},[4160,23452,5056],{"class":4543},[4160,23454,23455],{"class":4543}," z\n",[4160,23457,23458,23461,23463],{"class":4162,"line":4271},[4160,23459,23460],{"class":4539},"      .",[4160,23462,5817],{"class":4593},[4160,23464,23465],{"class":4539},"()\n",[4160,23467,23468,23470,23472],{"class":4162,"line":4276},[4160,23469,23460],{"class":4539},[4160,23471,5473],{"class":4593},[4160,23473,23465],{"class":4539},[4160,23475,23476,23478,23481,23483,23485,23487,23490],{"class":4162,"line":4282},[4160,23477,23460],{"class":4539},[4160,23479,23480],{"class":4593},"min",[4160,23482,5411],{"class":4539},[4160,23484,8732],{"class":5485},[4160,23486,4055],{"class":4539},[4160,23488,23489],{"class":4552},"'Назва має містити щонайменше 2 символи'",[4160,23491,23492],{"class":4539},")\n",[4160,23494,23495,23497,23500,23502,23505,23507,23510],{"class":4162,"line":4288},[4160,23496,23460],{"class":4539},[4160,23498,23499],{"class":4593},"max",[4160,23501,5411],{"class":4539},[4160,23503,23504],{"class":5485},"80",[4160,23506,4055],{"class":4539},[4160,23508,23509],{"class":4552},"'Назва занадто довга (макс. 80)'",[4160,23511,5636],{"class":4539},[4160,23513,23514,23517,23520,23522,23525,23527,23529],{"class":4162,"line":4294},[4160,23515,23516],{"class":4543},"    region:",[4160,23518,23519],{"class":4543}," z",[4160,23521,3840],{"class":4539},[4160,23523,23524],{"class":4593},"enum",[4160,23526,5411],{"class":4539},[4160,23528,22843],{"class":4607},[4160,23530,23531],{"class":4539},", {\n",[4160,23533,23534,23537,23540],{"class":4162,"line":4300},[4160,23535,23536],{"class":4543},"      error:",[4160,23538,23539],{"class":4552}," 'Оберіть регіон зі списку'",[4160,23541,4690],{"class":4539},[4160,23543,23544],{"class":4162,"line":4305},[4160,23545,19765],{"class":4539},[4160,23547,23548,23551],{"class":4162,"line":4311},[4160,23549,23550],{"class":4543},"    description:",[4160,23552,23455],{"class":4543},[4160,23554,23555,23557,23559],{"class":4162,"line":4317},[4160,23556,23460],{"class":4539},[4160,23558,5817],{"class":4593},[4160,23560,23465],{"class":4539},[4160,23562,23563,23565,23567],{"class":4162,"line":4323},[4160,23564,23460],{"class":4539},[4160,23566,5473],{"class":4593},[4160,23568,23465],{"class":4539},[4160,23570,23571,23573,23575,23577,23580,23582,23585],{"class":4162,"line":4328},[4160,23572,23460],{"class":4539},[4160,23574,23480],{"class":4593},[4160,23576,5411],{"class":4539},[4160,23578,23579],{"class":5485},"10",[4160,23581,4055],{"class":4539},[4160,23583,23584],{"class":4552},"'Опис — щонайменше 10 символів'",[4160,23586,23492],{"class":4539},[4160,23588,23589,23591,23593,23595,23598,23600,23603],{"class":4162,"line":4333},[4160,23590,23460],{"class":4539},[4160,23592,23499],{"class":4593},[4160,23594,5411],{"class":4539},[4160,23596,23597],{"class":5485},"500",[4160,23599,4055],{"class":4539},[4160,23601,23602],{"class":4552},"'Опис занадто довгий (макс. 500)'",[4160,23604,5636],{"class":4539},[4160,23606,23607,23610,23612,23614,23617,23619,23622,23625],{"class":4162,"line":5663},[4160,23608,23609],{"class":4543},"    startDate:",[4160,23611,23519],{"class":4543},[4160,23613,3840],{"class":4539},[4160,23615,23616],{"class":4593},"date",[4160,23618,8593],{"class":4539},[4160,23620,23621],{"class":4543},"error:",[4160,23623,23624],{"class":4552}," 'Оберіть дату початку'",[4160,23626,23627],{"class":4539}," }),\n",[4160,23629,23630,23633,23635,23637,23639,23641,23643,23646],{"class":4162,"line":5676},[4160,23631,23632],{"class":4543},"    endDate:",[4160,23634,23519],{"class":4543},[4160,23636,3840],{"class":4539},[4160,23638,23616],{"class":4593},[4160,23640,8593],{"class":4539},[4160,23642,23621],{"class":4543},[4160,23644,23645],{"class":4552}," 'Оберіть дату завершення'",[4160,23647,23627],{"class":4539},[4160,23649,23650],{"class":4162,"line":6728},[4160,23651,23652],{"class":4763},"    \u002F** Switch: чи ховати поїздку з «публічної» стрічки (навчальна семантика). *\u002F\n",[4160,23654,23655,23658,23660,23662,23664],{"class":4162,"line":6733},[4160,23656,23657],{"class":4543},"    isPrivate:",[4160,23659,23519],{"class":4543},[4160,23661,3840],{"class":4539},[4160,23663,23111],{"class":4593},[4160,23665,6913],{"class":4539},[4160,23667,23668],{"class":4162,"line":6738},[4160,23669,23670],{"class":4763},"    \u002F** Slider: орієнтовна тривалість у днях. *\u002F\n",[4160,23672,23673,23676],{"class":4162,"line":6768},[4160,23674,23675],{"class":4543},"    plannedDays:",[4160,23677,23455],{"class":4543},[4160,23679,23680,23682,23684],{"class":4162,"line":6803},[4160,23681,23460],{"class":4539},[4160,23683,6418],{"class":4593},[4160,23685,23465],{"class":4539},[4160,23687,23688,23690,23692,23694,23697,23699,23702],{"class":4162,"line":6808},[4160,23689,23460],{"class":4539},[4160,23691,23480],{"class":4593},[4160,23693,5411],{"class":4539},[4160,23695,23696],{"class":5485},"1",[4160,23698,4055],{"class":4539},[4160,23700,23701],{"class":4552},"'Мінімум 1 день'",[4160,23703,23492],{"class":4539},[4160,23705,23706,23708,23710,23712,23715,23717,23720],{"class":4162,"line":6813},[4160,23707,23460],{"class":4539},[4160,23709,23499],{"class":4593},[4160,23711,5411],{"class":4539},[4160,23713,23714],{"class":5485},"14",[4160,23716,4055],{"class":4539},[4160,23718,23719],{"class":4552},"'У формі максимум 14 днів'",[4160,23721,5636],{"class":4539},[4160,23723,23724],{"class":4162,"line":6847},[4160,23725,23726],{"class":4763},"    \u002F** Checkbox: чи є план маршруту. *\u002F\n",[4160,23728,23729,23732,23734,23736,23738],{"class":4162,"line":6861},[4160,23730,23731],{"class":4543},"    hasItinerary:",[4160,23733,23519],{"class":4543},[4160,23735,3840],{"class":4539},[4160,23737,23111],{"class":4593},[4160,23739,6913],{"class":4539},[4160,23741,23742],{"class":4162,"line":6881},[4160,23743,23744],{"class":4763},"    \u002F**\n",[4160,23746,23747],{"class":4162,"line":6901},[4160,23748,23749],{"class":4763},"     * Checkbox з обов’язковою згодою.\n",[4160,23751,23752],{"class":4162,"line":6916},[4160,23753,23754],{"class":4763},"     * `true` — єдине прийнятне значення (як «прийняти умови»).\n",[4160,23756,23757],{"class":4162,"line":6929},[4160,23758,23759],{"class":4763},"     *\u002F\n",[4160,23761,23762,23765,23767,23769,23772,23774,23776],{"class":4162,"line":6935},[4160,23763,23764],{"class":4543},"    acceptedLocalSave:",[4160,23766,23519],{"class":4543},[4160,23768,3840],{"class":4539},[4160,23770,23771],{"class":4593},"literal",[4160,23773,5411],{"class":4539},[4160,23775,5693],{"class":4589},[4160,23777,23531],{"class":4539},[4160,23779,23780,23782,23785],{"class":4162,"line":6953},[4160,23781,23536],{"class":4543},[4160,23783,23784],{"class":4552}," 'Підтвердіть, що дані поки зберігаються лише на пристрої'",[4160,23786,4690],{"class":4539},[4160,23788,23789],{"class":4162,"line":6961},[4160,23790,19765],{"class":4539},[4160,23792,23793],{"class":4162,"line":6970},[4160,23794,23795],{"class":4539},"  })\n",[4160,23797,23798,23800,23803,23805,23807,23809,23811,23814,23816,23819,23821,23824,23827,23829,23831,23834,23836,23838],{"class":4162,"line":6975},[4160,23799,23443],{"class":4539},[4160,23801,23802],{"class":4593},"refine",[4160,23804,6638],{"class":4539},[4160,23806,5508],{"class":4543},[4160,23808,6644],{"class":4539},[4160,23810,5514],{"class":4589},[4160,23812,23813],{"class":4543}," data",[4160,23815,3840],{"class":4539},[4160,23817,23818],{"class":4543},"endDate",[4160,23820,3840],{"class":4539},[4160,23822,23823],{"class":4593},"getTime",[4160,23825,23826],{"class":4539},"() >= ",[4160,23828,5508],{"class":4543},[4160,23830,3840],{"class":4539},[4160,23832,23833],{"class":4543},"startDate",[4160,23835,3840],{"class":4539},[4160,23837,23823],{"class":4593},[4160,23839,23840],{"class":4539},"(), {\n",[4160,23842,23843,23846,23849],{"class":4162,"line":6980},[4160,23844,23845],{"class":4543},"    message:",[4160,23847,23848],{"class":4552}," 'Дата завершення не може бути раніше початку'",[4160,23850,4690],{"class":4539},[4160,23852,23853,23856,23858,23861],{"class":4162,"line":7008},[4160,23854,23855],{"class":4543},"    path:",[4160,23857,5396],{"class":4539},[4160,23859,23860],{"class":4552},"'endDate'",[4160,23862,14885],{"class":4539},[4160,23864,23865],{"class":4162,"line":7024},[4160,23866,5656],{"class":4539},[4160,23868,23869],{"class":4162,"line":7035},[4160,23870,4185],{"emptyLinePlaceholder":4184},[4160,23872,23873,23875,23877,23879,23881,23883,23885,23888,23890,23892,23894],{"class":4162,"line":7052},[4160,23874,4583],{"class":4535},[4160,23876,6370],{"class":4589},[4160,23878,22979],{"class":4637},[4160,23880,5385],{"class":4539},[4160,23882,23338],{"class":4637},[4160,23884,3840],{"class":4539},[4160,23886,23887],{"class":4637},"infer",[4160,23889,5018],{"class":4539},[4160,23891,23314],{"class":4589},[4160,23893,23433],{"class":4543},[4160,23895,23896],{"class":4539},">;\n",[4003,23898,23901],{"className":6359,"code":23899,"filename":23900,"language":6361,"meta":4011,"style":4011},"const MONTHS_UK_SHORT = [\n  'січ.',\n  'лют.',\n  'бер.',\n  'квіт.',\n  'трав.',\n  'черв.',\n  'лип.',\n  'серп.',\n  'вер.',\n  'жовт.',\n  'лист.',\n  'груд.',\n] as const;\n\nfunction dayMonth(d: Date): string {\n  return `${d.getDate()} ${MONTHS_UK_SHORT[d.getMonth()]}`;\n}\n\n\u002F**\n * Людський підпис періоду, як у mock-стрічці:\n * «12–14 бер. 2026» або «28 бер. – 2 квіт. 2026».\n *\u002F\nexport function formatTripDateLabel(start: Date, end: Date): string {\n  const y1 = start.getFullYear();\n  const y2 = end.getFullYear();\n  const m1 = start.getMonth();\n  const m2 = end.getMonth();\n  const d1 = start.getDate();\n  const d2 = end.getDate();\n\n  if (y1 === y2 && m1 === m2) {\n    if (d1 === d2) {\n      return `${dayMonth(start)} ${y1}`;\n    }\n    return `${d1}–${d2} ${MONTHS_UK_SHORT[m1]} ${y1}`;\n  }\n\n  if (y1 === y2) {\n    return `${dayMonth(start)} – ${dayMonth(end)} ${y1}`;\n  }\n\n  return `${dayMonth(start)} ${y1} – ${dayMonth(end)} ${y2}`;\n}\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FformatTripDates.ts",[3747,23902,23903,23912,23919,23926,23933,23940,23947,23954,23961,23968,23975,23982,23989,23996,24006,24010,24032,24075,24079,24083,24087,24092,24097,24101,24134,24152,24169,24186,24203,24220,24237,24241,24267,24283,24312,24316,24359,24363,24367,24381,24424,24428,24432,24480],{"__ignoreMap":4011},[4160,23904,23905,23907,23910],{"class":4162,"line":4163},[4160,23906,6592],{"class":4589},[4160,23908,23909],{"class":4607}," MONTHS_UK_SHORT",[4160,23911,23241],{"class":4539},[4160,23913,23914,23917],{"class":4162,"line":4169},[4160,23915,23916],{"class":4552},"  'січ.'",[4160,23918,4690],{"class":4539},[4160,23920,23921,23924],{"class":4162,"line":4175},[4160,23922,23923],{"class":4552},"  'лют.'",[4160,23925,4690],{"class":4539},[4160,23927,23928,23931],{"class":4162,"line":4181},[4160,23929,23930],{"class":4552},"  'бер.'",[4160,23932,4690],{"class":4539},[4160,23934,23935,23938],{"class":4162,"line":4188},[4160,23936,23937],{"class":4552},"  'квіт.'",[4160,23939,4690],{"class":4539},[4160,23941,23942,23945],{"class":4162,"line":4194},[4160,23943,23944],{"class":4552},"  'трав.'",[4160,23946,4690],{"class":4539},[4160,23948,23949,23952],{"class":4162,"line":4200},[4160,23950,23951],{"class":4552},"  'черв.'",[4160,23953,4690],{"class":4539},[4160,23955,23956,23959],{"class":4162,"line":4206},[4160,23957,23958],{"class":4552},"  'лип.'",[4160,23960,4690],{"class":4539},[4160,23962,23963,23966],{"class":4162,"line":4212},[4160,23964,23965],{"class":4552},"  'серп.'",[4160,23967,4690],{"class":4539},[4160,23969,23970,23973],{"class":4162,"line":4218},[4160,23971,23972],{"class":4552},"  'вер.'",[4160,23974,4690],{"class":4539},[4160,23976,23977,23980],{"class":4162,"line":4224},[4160,23978,23979],{"class":4552},"  'жовт.'",[4160,23981,4690],{"class":4539},[4160,23983,23984,23987],{"class":4162,"line":4230},[4160,23985,23986],{"class":4552},"  'лист.'",[4160,23988,4690],{"class":4539},[4160,23990,23991,23994],{"class":4162,"line":4236},[4160,23992,23993],{"class":4552},"  'груд.'",[4160,23995,4690],{"class":4539},[4160,23997,23998,24000,24002,24004],{"class":4162,"line":4242},[4160,23999,23288],{"class":4539},[4160,24001,23291],{"class":4535},[4160,24003,5150],{"class":4589},[4160,24005,4556],{"class":4539},[4160,24007,24008],{"class":4162,"line":4248},[4160,24009,4185],{"emptyLinePlaceholder":4184},[4160,24011,24012,24014,24017,24019,24022,24024,24026,24028,24030],{"class":4162,"line":4254},[4160,24013,6620],{"class":4589},[4160,24015,24016],{"class":4593}," dayMonth",[4160,24018,5411],{"class":4539},[4160,24020,24021],{"class":4543},"d",[4160,24023,5814],{"class":4539},[4160,24025,6871],{"class":4637},[4160,24027,6756],{"class":4539},[4160,24029,5817],{"class":4637},[4160,24031,5517],{"class":4539},[4160,24033,24034,24036,24038,24040,24042,24044,24047,24049,24051,24054,24057,24059,24061,24063,24066,24069,24071,24073],{"class":4162,"line":4259},[4160,24035,4625],{"class":4535},[4160,24037,16147],{"class":4552},[4160,24039,5939],{"class":4589},[4160,24041,24021],{"class":4543},[4160,24043,3840],{"class":4653},[4160,24045,24046],{"class":4593},"getDate",[4160,24048,9721],{"class":4653},[4160,24050,4803],{"class":4589},[4160,24052,24053],{"class":4589}," ${",[4160,24055,24056],{"class":4607},"MONTHS_UK_SHORT",[4160,24058,5859],{"class":4653},[4160,24060,24021],{"class":4543},[4160,24062,3840],{"class":4653},[4160,24064,24065],{"class":4593},"getMonth",[4160,24067,24068],{"class":4653},"()]",[4160,24070,4803],{"class":4589},[4160,24072,8630],{"class":4552},[4160,24074,4556],{"class":4539},[4160,24076,24077],{"class":4162,"line":4265},[4160,24078,4251],{"class":4539},[4160,24080,24081],{"class":4162,"line":4271},[4160,24082,4185],{"emptyLinePlaceholder":4184},[4160,24084,24085],{"class":4162,"line":4276},[4160,24086,13075],{"class":4763},[4160,24088,24089],{"class":4162,"line":4282},[4160,24090,24091],{"class":4763}," * Людський підпис періоду, як у mock-стрічці:\n",[4160,24093,24094],{"class":4162,"line":4288},[4160,24095,24096],{"class":4763}," * «12–14 бер. 2026» або «28 бер. – 2 квіт. 2026».\n",[4160,24098,24099],{"class":4162,"line":4294},[4160,24100,13105],{"class":4763},[4160,24102,24103,24105,24107,24110,24112,24115,24117,24119,24121,24124,24126,24128,24130,24132],{"class":4162,"line":4300},[4160,24104,4583],{"class":4535},[4160,24106,4590],{"class":4589},[4160,24108,24109],{"class":4593}," formatTripDateLabel",[4160,24111,5411],{"class":4539},[4160,24113,24114],{"class":4543},"start",[4160,24116,5814],{"class":4539},[4160,24118,6871],{"class":4637},[4160,24120,4055],{"class":4539},[4160,24122,24123],{"class":4543},"end",[4160,24125,5814],{"class":4539},[4160,24127,6871],{"class":4637},[4160,24129,6756],{"class":4539},[4160,24131,5817],{"class":4637},[4160,24133,5517],{"class":4539},[4160,24135,24136,24138,24141,24143,24145,24147,24150],{"class":4162,"line":4305},[4160,24137,4602],{"class":4589},[4160,24139,24140],{"class":4607}," y1",[4160,24142,5385],{"class":4539},[4160,24144,24114],{"class":4543},[4160,24146,3840],{"class":4539},[4160,24148,24149],{"class":4593},"getFullYear",[4160,24151,4616],{"class":4539},[4160,24153,24154,24156,24159,24161,24163,24165,24167],{"class":4162,"line":4311},[4160,24155,4602],{"class":4589},[4160,24157,24158],{"class":4607}," y2",[4160,24160,5385],{"class":4539},[4160,24162,24123],{"class":4543},[4160,24164,3840],{"class":4539},[4160,24166,24149],{"class":4593},[4160,24168,4616],{"class":4539},[4160,24170,24171,24173,24176,24178,24180,24182,24184],{"class":4162,"line":4317},[4160,24172,4602],{"class":4589},[4160,24174,24175],{"class":4607}," m1",[4160,24177,5385],{"class":4539},[4160,24179,24114],{"class":4543},[4160,24181,3840],{"class":4539},[4160,24183,24065],{"class":4593},[4160,24185,4616],{"class":4539},[4160,24187,24188,24190,24193,24195,24197,24199,24201],{"class":4162,"line":4323},[4160,24189,4602],{"class":4589},[4160,24191,24192],{"class":4607}," m2",[4160,24194,5385],{"class":4539},[4160,24196,24123],{"class":4543},[4160,24198,3840],{"class":4539},[4160,24200,24065],{"class":4593},[4160,24202,4616],{"class":4539},[4160,24204,24205,24207,24210,24212,24214,24216,24218],{"class":4162,"line":4328},[4160,24206,4602],{"class":4589},[4160,24208,24209],{"class":4607}," d1",[4160,24211,5385],{"class":4539},[4160,24213,24114],{"class":4543},[4160,24215,3840],{"class":4539},[4160,24217,24046],{"class":4593},[4160,24219,4616],{"class":4539},[4160,24221,24222,24224,24227,24229,24231,24233,24235],{"class":4162,"line":4333},[4160,24223,4602],{"class":4589},[4160,24225,24226],{"class":4607}," d2",[4160,24228,5385],{"class":4539},[4160,24230,24123],{"class":4543},[4160,24232,3840],{"class":4539},[4160,24234,24046],{"class":4593},[4160,24236,4616],{"class":4539},[4160,24238,24239],{"class":4162,"line":5663},[4160,24240,4185],{"emptyLinePlaceholder":4184},[4160,24242,24243,24245,24247,24250,24252,24255,24257,24260,24262,24265],{"class":4162,"line":5676},[4160,24244,5906],{"class":4535},[4160,24246,5668],{"class":4539},[4160,24248,24249],{"class":4543},"y1",[4160,24251,6796],{"class":4539},[4160,24253,24254],{"class":4543},"y2",[4160,24256,5466],{"class":4539},[4160,24258,24259],{"class":4543},"m1",[4160,24261,6796],{"class":4539},[4160,24263,24264],{"class":4543},"m2",[4160,24266,5915],{"class":4539},[4160,24268,24269,24271,24273,24276,24278,24281],{"class":4162,"line":6728},[4160,24270,10654],{"class":4535},[4160,24272,5668],{"class":4539},[4160,24274,24275],{"class":4543},"d1",[4160,24277,6796],{"class":4539},[4160,24279,24280],{"class":4543},"d2",[4160,24282,5915],{"class":4539},[4160,24284,24285,24287,24289,24291,24294,24296,24298,24300,24302,24304,24306,24308,24310],{"class":4162,"line":6733},[4160,24286,10700],{"class":4535},[4160,24288,16147],{"class":4552},[4160,24290,5939],{"class":4589},[4160,24292,24293],{"class":4593},"dayMonth",[4160,24295,5411],{"class":4653},[4160,24297,24114],{"class":4543},[4160,24299,5128],{"class":4653},[4160,24301,4803],{"class":4589},[4160,24303,24053],{"class":4589},[4160,24305,24249],{"class":4543},[4160,24307,4803],{"class":4589},[4160,24309,8630],{"class":4552},[4160,24311,4556],{"class":4539},[4160,24313,24314],{"class":4162,"line":6738},[4160,24315,4221],{"class":4539},[4160,24317,24318,24320,24322,24324,24326,24328,24331,24333,24335,24337,24339,24341,24343,24345,24347,24349,24351,24353,24355,24357],{"class":4162,"line":6768},[4160,24319,5920],{"class":4535},[4160,24321,16147],{"class":4552},[4160,24323,5939],{"class":4589},[4160,24325,24275],{"class":4543},[4160,24327,4803],{"class":4589},[4160,24329,24330],{"class":4552},"–",[4160,24332,5939],{"class":4589},[4160,24334,24280],{"class":4543},[4160,24336,4803],{"class":4589},[4160,24338,24053],{"class":4589},[4160,24340,24056],{"class":4607},[4160,24342,5859],{"class":4653},[4160,24344,24259],{"class":4543},[4160,24346,8309],{"class":4653},[4160,24348,4803],{"class":4589},[4160,24350,24053],{"class":4589},[4160,24352,24249],{"class":4543},[4160,24354,4803],{"class":4589},[4160,24356,8630],{"class":4552},[4160,24358,4556],{"class":4539},[4160,24360,24361],{"class":4162,"line":6803},[4160,24362,4239],{"class":4539},[4160,24364,24365],{"class":4162,"line":6808},[4160,24366,4185],{"emptyLinePlaceholder":4184},[4160,24368,24369,24371,24373,24375,24377,24379],{"class":4162,"line":6813},[4160,24370,5906],{"class":4535},[4160,24372,5668],{"class":4539},[4160,24374,24249],{"class":4543},[4160,24376,6796],{"class":4539},[4160,24378,24254],{"class":4543},[4160,24380,5915],{"class":4539},[4160,24382,24383,24385,24387,24389,24391,24393,24395,24397,24399,24402,24404,24406,24408,24410,24412,24414,24416,24418,24420,24422],{"class":4162,"line":6847},[4160,24384,5920],{"class":4535},[4160,24386,16147],{"class":4552},[4160,24388,5939],{"class":4589},[4160,24390,24293],{"class":4593},[4160,24392,5411],{"class":4653},[4160,24394,24114],{"class":4543},[4160,24396,5128],{"class":4653},[4160,24398,4803],{"class":4589},[4160,24400,24401],{"class":4552}," – ",[4160,24403,5939],{"class":4589},[4160,24405,24293],{"class":4593},[4160,24407,5411],{"class":4653},[4160,24409,24123],{"class":4543},[4160,24411,5128],{"class":4653},[4160,24413,4803],{"class":4589},[4160,24415,24053],{"class":4589},[4160,24417,24249],{"class":4543},[4160,24419,4803],{"class":4589},[4160,24421,8630],{"class":4552},[4160,24423,4556],{"class":4539},[4160,24425,24426],{"class":4162,"line":6861},[4160,24427,4239],{"class":4539},[4160,24429,24430],{"class":4162,"line":6881},[4160,24431,4185],{"emptyLinePlaceholder":4184},[4160,24433,24434,24436,24438,24440,24442,24444,24446,24448,24450,24452,24454,24456,24458,24460,24462,24464,24466,24468,24470,24472,24474,24476,24478],{"class":4162,"line":6901},[4160,24435,4625],{"class":4535},[4160,24437,16147],{"class":4552},[4160,24439,5939],{"class":4589},[4160,24441,24293],{"class":4593},[4160,24443,5411],{"class":4653},[4160,24445,24114],{"class":4543},[4160,24447,5128],{"class":4653},[4160,24449,4803],{"class":4589},[4160,24451,24053],{"class":4589},[4160,24453,24249],{"class":4543},[4160,24455,4803],{"class":4589},[4160,24457,24401],{"class":4552},[4160,24459,5939],{"class":4589},[4160,24461,24293],{"class":4593},[4160,24463,5411],{"class":4653},[4160,24465,24123],{"class":4543},[4160,24467,5128],{"class":4653},[4160,24469,4803],{"class":4589},[4160,24471,24053],{"class":4589},[4160,24473,24254],{"class":4543},[4160,24475,4803],{"class":4589},[4160,24477,8630],{"class":4552},[4160,24479,4556],{"class":4539},[4160,24481,24482],{"class":4162,"line":6916},[4160,24483,4251],{"class":4539},[4003,24485,24488],{"className":4526,"code":24486,"filename":24487,"language":4528,"meta":4011,"style":4011},"import {\n  createContext,\n  ReactNode,\n  useCallback,\n  useContext,\n  useMemo,\n  useState,\n} from 'react';\n\nimport { mockTrips } from '.\u002FmockTrips';\nimport type { Trip } from '.\u002Ftypes';\n\ntype TripsContextValue = {\n  trips: Trip[];\n  \u002F** Знайти поїздку за id (екран деталей). *\u002F\n  getTrip: (id: string) => Trip | undefined;\n  \u002F** Додати нову поїздку на початок стрічки (найсвіжіша зверху). *\u002F\n  addTrip: (trip: Trip) => void;\n  \u002F** Mock «оновити з сервера» — повертає seed mockTrips (без локально створених). *\u002F\n  resetToMock: () => void;\n};\n\nconst TripsContext = createContext\u003CTripsContextValue | null>(null);\n\ntype TripsProviderProps = {\n  children: ReactNode;\n};\n\nexport function TripsProvider({ children }: TripsProviderProps) {\n  const [trips, setTrips] = useState\u003CTrip[]>(() => [...mockTrips]);\n\n  const getTrip = useCallback(\n    (id: string) => trips.find((t) => t.id === id),\n    [trips],\n  );\n\n  const addTrip = useCallback((trip: Trip) => {\n    setTrips((prev) => [trip, ...prev]);\n  }, []);\n\n  const resetToMock = useCallback(() => {\n    setTrips([...mockTrips]);\n  }, []);\n\n  const value = useMemo(\n    () => ({ trips, getTrip, addTrip, resetToMock }),\n    [trips, getTrip, addTrip, resetToMock],\n  );\n\n  return (\n    \u003CTripsContext.Provider value={value}>{children}\u003C\u002FTripsContext.Provider>\n  );\n}\n\nexport function useTrips(): TripsContextValue {\n  const ctx = useContext(TripsContext);\n  if (!ctx) {\n    throw new Error('useTrips треба викликати всередині TripsProvider');\n  }\n  return ctx;\n}\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FTripsProvider.tsx",[3747,24489,24490,24496,24503,24510,24517,24524,24531,24538,24548,24552,24569,24587,24591,24600,24612,24617,24643,24648,24669,24674,24688,24692,24696,24725,24729,24738,24750,24754,24758,24780,24811,24815,24828,24871,24879,24883,24887,24912,24936,24941,24945,24962,24973,24977,24981,24994,25018,25038,25042,25046,25052,25084,25088,25092,25096,25111,25130,25141,25159,25163,25171],{"__ignoreMap":4011},[4160,24491,24492,24494],{"class":4162,"line":4163},[4160,24493,4536],{"class":4535},[4160,24495,5517],{"class":4539},[4160,24497,24498,24501],{"class":4162,"line":4169},[4160,24499,24500],{"class":4543},"  createContext",[4160,24502,4690],{"class":4539},[4160,24504,24505,24508],{"class":4162,"line":4175},[4160,24506,24507],{"class":4543},"  ReactNode",[4160,24509,4690],{"class":4539},[4160,24511,24512,24515],{"class":4162,"line":4181},[4160,24513,24514],{"class":4543},"  useCallback",[4160,24516,4690],{"class":4539},[4160,24518,24519,24522],{"class":4162,"line":4188},[4160,24520,24521],{"class":4543},"  useContext",[4160,24523,4690],{"class":4539},[4160,24525,24526,24529],{"class":4162,"line":4194},[4160,24527,24528],{"class":4543},"  useMemo",[4160,24530,4690],{"class":4539},[4160,24532,24533,24536],{"class":4162,"line":4200},[4160,24534,24535],{"class":4543},"  useState",[4160,24537,4690],{"class":4539},[4160,24539,24540,24542,24544,24546],{"class":4162,"line":4206},[4160,24541,8095],{"class":4539},[4160,24543,4549],{"class":4535},[4160,24545,5307],{"class":4552},[4160,24547,4556],{"class":4539},[4160,24549,24550],{"class":4162,"line":4212},[4160,24551,4185],{"emptyLinePlaceholder":4184},[4160,24553,24554,24556,24558,24560,24562,24564,24567],{"class":4162,"line":4218},[4160,24555,4536],{"class":4535},[4160,24557,4540],{"class":4539},[4160,24559,22763],{"class":4543},[4160,24561,4546],{"class":4539},[4160,24563,4549],{"class":4535},[4160,24565,24566],{"class":4552}," '.\u002FmockTrips'",[4160,24568,4556],{"class":4539},[4160,24570,24571,24573,24575,24577,24579,24581,24583,24585],{"class":4162,"line":4224},[4160,24572,4536],{"class":4535},[4160,24574,6370],{"class":4535},[4160,24576,4540],{"class":4539},[4160,24578,14836],{"class":4543},[4160,24580,4546],{"class":4539},[4160,24582,4549],{"class":4535},[4160,24584,23366],{"class":4552},[4160,24586,4556],{"class":4539},[4160,24588,24589],{"class":4162,"line":4230},[4160,24590,4185],{"emptyLinePlaceholder":4184},[4160,24592,24593,24595,24598],{"class":4162,"line":4236},[4160,24594,6433],{"class":4589},[4160,24596,24597],{"class":4637}," TripsContextValue",[4160,24599,5156],{"class":4539},[4160,24601,24602,24605,24607,24609],{"class":4162,"line":4242},[4160,24603,24604],{"class":4543},"  trips",[4160,24606,5814],{"class":4539},[4160,24608,14836],{"class":4637},[4160,24610,24611],{"class":4539},"[];\n",[4160,24613,24614],{"class":4162,"line":4248},[4160,24615,24616],{"class":4763},"  \u002F** Знайти поїздку за id (екран деталей). *\u002F\n",[4160,24618,24619,24622,24625,24627,24629,24631,24633,24635,24637,24639,24641],{"class":4162,"line":4254},[4160,24620,24621],{"class":4593},"  getTrip",[4160,24623,24624],{"class":4539},": (",[4160,24626,5802],{"class":4543},[4160,24628,5814],{"class":4539},[4160,24630,5817],{"class":4637},[4160,24632,6644],{"class":4539},[4160,24634,5514],{"class":4589},[4160,24636,14521],{"class":4637},[4160,24638,6761],{"class":4539},[4160,24640,5895],{"class":4637},[4160,24642,4556],{"class":4539},[4160,24644,24645],{"class":4162,"line":4259},[4160,24646,24647],{"class":4763},"  \u002F** Додати нову поїздку на початок стрічки (найсвіжіша зверху). *\u002F\n",[4160,24649,24650,24653,24655,24657,24659,24661,24663,24665,24667],{"class":4162,"line":4265},[4160,24651,24652],{"class":4593},"  addTrip",[4160,24654,24624],{"class":4539},[4160,24656,5912],{"class":4543},[4160,24658,5814],{"class":4539},[4160,24660,14836],{"class":4637},[4160,24662,6644],{"class":4539},[4160,24664,5514],{"class":4589},[4160,24666,6444],{"class":4637},[4160,24668,4556],{"class":4539},[4160,24670,24671],{"class":4162,"line":4271},[4160,24672,24673],{"class":4763},"  \u002F** Mock «оновити з сервера» — повертає seed mockTrips (без локально створених). *\u002F\n",[4160,24675,24676,24679,24682,24684,24686],{"class":4162,"line":4276},[4160,24677,24678],{"class":4593},"  resetToMock",[4160,24680,24681],{"class":4539},": () ",[4160,24683,5514],{"class":4589},[4160,24685,6444],{"class":4637},[4160,24687,4556],{"class":4539},[4160,24689,24690],{"class":4162,"line":4282},[4160,24691,5171],{"class":4539},[4160,24693,24694],{"class":4162,"line":4288},[4160,24695,4185],{"emptyLinePlaceholder":4184},[4160,24697,24698,24700,24703,24705,24708,24710,24713,24715,24718,24721,24723],{"class":4162,"line":4294},[4160,24699,6592],{"class":4589},[4160,24701,24702],{"class":4607}," TripsContext",[4160,24704,5385],{"class":4539},[4160,24706,24707],{"class":4593},"createContext",[4160,24709,5018],{"class":4539},[4160,24711,24712],{"class":4637},"TripsContextValue",[4160,24714,6761],{"class":4539},[4160,24716,24717],{"class":4637},"null",[4160,24719,24720],{"class":4539},">(",[4160,24722,24717],{"class":4589},[4160,24724,5417],{"class":4539},[4160,24726,24727],{"class":4162,"line":4300},[4160,24728,4185],{"emptyLinePlaceholder":4184},[4160,24730,24731,24733,24736],{"class":4162,"line":4305},[4160,24732,6433],{"class":4589},[4160,24734,24735],{"class":4637}," TripsProviderProps",[4160,24737,5156],{"class":4539},[4160,24739,24740,24743,24745,24748],{"class":4162,"line":4311},[4160,24741,24742],{"class":4543},"  children",[4160,24744,5814],{"class":4539},[4160,24746,24747],{"class":4637},"ReactNode",[4160,24749,4556],{"class":4539},[4160,24751,24752],{"class":4162,"line":4317},[4160,24753,5171],{"class":4539},[4160,24755,24756],{"class":4162,"line":4323},[4160,24757,4185],{"emptyLinePlaceholder":4184},[4160,24759,24760,24762,24764,24767,24769,24772,24775,24778],{"class":4162,"line":4328},[4160,24761,4583],{"class":4535},[4160,24763,4590],{"class":4589},[4160,24765,24766],{"class":4593}," TripsProvider",[4160,24768,8593],{"class":4539},[4160,24770,24771],{"class":4543},"children",[4160,24773,24774],{"class":4539}," }: ",[4160,24776,24777],{"class":4637},"TripsProviderProps",[4160,24779,5915],{"class":4539},[4160,24781,24782,24784,24786,24788,24790,24793,24795,24797,24799,24801,24803,24805,24807,24809],{"class":4162,"line":4333},[4160,24783,4602],{"class":4589},[4160,24785,5396],{"class":4539},[4160,24787,4118],{"class":4607},[4160,24789,4055],{"class":4539},[4160,24791,24792],{"class":4607},"setTrips",[4160,24794,5406],{"class":4539},[4160,24796,5300],{"class":4593},[4160,24798,5018],{"class":4539},[4160,24800,14836],{"class":4637},[4160,24802,8213],{"class":4539},[4160,24804,5514],{"class":4589},[4160,24806,6684],{"class":4539},[4160,24808,22763],{"class":4543},[4160,24810,15055],{"class":4539},[4160,24812,24813],{"class":4162,"line":5663},[4160,24814,4185],{"emptyLinePlaceholder":4184},[4160,24816,24817,24819,24822,24824,24826],{"class":4162,"line":5676},[4160,24818,4602],{"class":4589},[4160,24820,24821],{"class":4607}," getTrip",[4160,24823,5385],{"class":4539},[4160,24825,14373],{"class":4593},[4160,24827,5535],{"class":4539},[4160,24829,24830,24832,24834,24836,24838,24840,24842,24845,24847,24849,24851,24854,24856,24858,24861,24863,24865,24867,24869],{"class":4162,"line":6728},[4160,24831,14829],{"class":4539},[4160,24833,5802],{"class":4543},[4160,24835,5814],{"class":4539},[4160,24837,5817],{"class":4637},[4160,24839,6644],{"class":4539},[4160,24841,5514],{"class":4589},[4160,24843,24844],{"class":4543}," trips",[4160,24846,3840],{"class":4539},[4160,24848,6777],{"class":4593},[4160,24850,6638],{"class":4539},[4160,24852,24853],{"class":4543},"t",[4160,24855,6644],{"class":4539},[4160,24857,5514],{"class":4589},[4160,24859,24860],{"class":4543}," t",[4160,24862,3840],{"class":4539},[4160,24864,5802],{"class":4543},[4160,24866,6796],{"class":4539},[4160,24868,5802],{"class":4543},[4160,24870,5636],{"class":4539},[4160,24872,24873,24875,24877],{"class":4162,"line":6733},[4160,24874,14879],{"class":4539},[4160,24876,4118],{"class":4543},[4160,24878,14885],{"class":4539},[4160,24880,24881],{"class":4162,"line":6738},[4160,24882,4895],{"class":4539},[4160,24884,24885],{"class":4162,"line":6768},[4160,24886,4185],{"emptyLinePlaceholder":4184},[4160,24888,24889,24891,24894,24896,24898,24900,24902,24904,24906,24908,24910],{"class":4162,"line":6803},[4160,24890,4602],{"class":4589},[4160,24892,24893],{"class":4607}," addTrip",[4160,24895,5385],{"class":4539},[4160,24897,14373],{"class":4593},[4160,24899,6638],{"class":4539},[4160,24901,5912],{"class":4543},[4160,24903,5814],{"class":4539},[4160,24905,14836],{"class":4637},[4160,24907,6644],{"class":4539},[4160,24909,5514],{"class":4589},[4160,24911,5517],{"class":4539},[4160,24913,24914,24917,24919,24922,24924,24926,24928,24930,24932,24934],{"class":4162,"line":6808},[4160,24915,24916],{"class":4593},"    setTrips",[4160,24918,6638],{"class":4539},[4160,24920,24921],{"class":4543},"prev",[4160,24923,6644],{"class":4539},[4160,24925,5514],{"class":4589},[4160,24927,5396],{"class":4539},[4160,24929,5912],{"class":4543},[4160,24931,6946],{"class":4539},[4160,24933,24921],{"class":4543},[4160,24935,15055],{"class":4539},[4160,24937,24938],{"class":4162,"line":6813},[4160,24939,24940],{"class":4539},"  }, []);\n",[4160,24942,24943],{"class":4162,"line":6847},[4160,24944,4185],{"emptyLinePlaceholder":4184},[4160,24946,24947,24949,24952,24954,24956,24958,24960],{"class":4162,"line":6861},[4160,24948,4602],{"class":4589},[4160,24950,24951],{"class":4607}," resetToMock",[4160,24953,5385],{"class":4539},[4160,24955,14373],{"class":4593},[4160,24957,8244],{"class":4539},[4160,24959,5514],{"class":4589},[4160,24961,5517],{"class":4539},[4160,24963,24964,24966,24969,24971],{"class":4162,"line":6881},[4160,24965,24916],{"class":4593},[4160,24967,24968],{"class":4539},"([...",[4160,24970,22763],{"class":4543},[4160,24972,15055],{"class":4539},[4160,24974,24975],{"class":4162,"line":6901},[4160,24976,24940],{"class":4539},[4160,24978,24979],{"class":4162,"line":6916},[4160,24980,4185],{"emptyLinePlaceholder":4184},[4160,24982,24983,24985,24988,24990,24992],{"class":4162,"line":6929},[4160,24984,4602],{"class":4589},[4160,24986,24987],{"class":4607}," value",[4160,24989,5385],{"class":4539},[4160,24991,17510],{"class":4593},[4160,24993,5535],{"class":4539},[4160,24995,24996,24998,25000,25002,25004,25006,25008,25010,25012,25014,25016],{"class":4162,"line":6935},[4160,24997,17815],{"class":4539},[4160,24999,5514],{"class":4589},[4160,25001,7605],{"class":4539},[4160,25003,4118],{"class":4543},[4160,25005,4055],{"class":4539},[4160,25007,12143],{"class":4543},[4160,25009,4055],{"class":4539},[4160,25011,22571],{"class":4543},[4160,25013,4055],{"class":4539},[4160,25015,14718],{"class":4543},[4160,25017,23627],{"class":4539},[4160,25019,25020,25022,25024,25026,25028,25030,25032,25034,25036],{"class":4162,"line":6953},[4160,25021,14879],{"class":4539},[4160,25023,4118],{"class":4543},[4160,25025,4055],{"class":4539},[4160,25027,12143],{"class":4543},[4160,25029,4055],{"class":4539},[4160,25031,22571],{"class":4543},[4160,25033,4055],{"class":4539},[4160,25035,14718],{"class":4543},[4160,25037,14885],{"class":4539},[4160,25039,25040],{"class":4162,"line":6961},[4160,25041,4895],{"class":4539},[4160,25043,25044],{"class":4162,"line":6970},[4160,25045,4185],{"emptyLinePlaceholder":4184},[4160,25047,25048,25050],{"class":4162,"line":6975},[4160,25049,4625],{"class":4535},[4160,25051,4628],{"class":4539},[4160,25053,25054,25056,25059,25061,25063,25065,25068,25070,25072,25074,25076,25078,25080,25082],{"class":4162,"line":6980},[4160,25055,4634],{"class":4633},[4160,25057,25058],{"class":4637},"TripsContext.Provider",[4160,25060,24987],{"class":4643},[4160,25062,4647],{"class":4539},[4160,25064,4650],{"class":4589},[4160,25066,25067],{"class":4543},"value",[4160,25069,4803],{"class":4589},[4160,25071,8361],{"class":4633},[4160,25073,4650],{"class":4589},[4160,25075,24771],{"class":4543},[4160,25077,4803],{"class":4589},[4160,25079,8367],{"class":4633},[4160,25081,25058],{"class":4637},[4160,25083,4890],{"class":4633},[4160,25085,25086],{"class":4162,"line":7008},[4160,25087,4895],{"class":4539},[4160,25089,25090],{"class":4162,"line":7024},[4160,25091,4251],{"class":4539},[4160,25093,25094],{"class":4162,"line":7035},[4160,25095,4185],{"emptyLinePlaceholder":4184},[4160,25097,25098,25100,25102,25105,25107,25109],{"class":4162,"line":7052},[4160,25099,4583],{"class":4535},[4160,25101,4590],{"class":4589},[4160,25103,25104],{"class":4593}," useTrips",[4160,25106,6672],{"class":4539},[4160,25108,24712],{"class":4637},[4160,25110,5517],{"class":4539},[4160,25112,25113,25115,25118,25120,25123,25125,25128],{"class":4162,"line":7057},[4160,25114,4602],{"class":4589},[4160,25116,25117],{"class":4607}," ctx",[4160,25119,5385],{"class":4539},[4160,25121,25122],{"class":4593},"useContext",[4160,25124,5411],{"class":4539},[4160,25126,25127],{"class":4543},"TripsContext",[4160,25129,5417],{"class":4539},[4160,25131,25132,25134,25136,25139],{"class":4162,"line":8928},[4160,25133,5906],{"class":4535},[4160,25135,5909],{"class":4539},[4160,25137,25138],{"class":4543},"ctx",[4160,25140,5915],{"class":4539},[4160,25142,25143,25146,25149,25152,25154,25157],{"class":4162,"line":8937},[4160,25144,25145],{"class":4535},"    throw",[4160,25147,25148],{"class":4589}," new",[4160,25150,25151],{"class":4593}," Error",[4160,25153,5411],{"class":4539},[4160,25155,25156],{"class":4552},"'useTrips треба викликати всередині TripsProvider'",[4160,25158,5417],{"class":4539},[4160,25160,25161],{"class":4162,"line":8942},[4160,25162,4239],{"class":4539},[4160,25164,25165,25167,25169],{"class":4162,"line":8947},[4160,25166,4625],{"class":4535},[4160,25168,25117],{"class":4543},[4160,25170,4556],{"class":4539},[4160,25172,25173],{"class":4162,"line":8952},[4160,25174,4251],{"class":4539},[4003,25176,25179],{"className":6359,"code":25177,"filename":25178,"language":6361,"meta":4011,"style":4011},"import type { Trip } from '.\u002Ftypes';\n\n\u002F**\n * Mock-стрічка поїздок. Більше за 3–5 елементів — щоб віртуалізація\n * (FlashList \u002F FlatList) мала сенс на домашньому екрані.\n *\u002F\nexport const mockTrips: Trip[] = [\n  {\n    id: '1',\n    title: 'Карпати на вихідні',\n    dateLabel: '12–14 бер. 2026',\n    description: 'Говерла, полонини й вечірній чай біля каміну в котеджі.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1464822759023-fed622ff2c3b?w=800&q=80',\n    region: 'Карпати',\n  },\n  {\n    id: '2',\n    title: 'Львівський вікенд',\n    dateLabel: '2–4 трав. 2026',\n    description: 'Кава, площа Ринок, закапелки й нічний трамвай.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1555881400-74d7acaacd8b?w=800&q=80',\n    region: 'Захід',\n  },\n  {\n    id: '3',\n    title: 'Одеса біля моря',\n    dateLabel: '18–22 лип. 2026',\n    description: 'Схід сонця на набережній, рибний ринок і вечірній Привоз.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=800&q=80',\n    region: 'Південь',\n  },\n  {\n    id: '4',\n    title: 'Київ на три дні',\n    dateLabel: '5–7 черв. 2026',\n    description: 'Поділ, Андріївський узвіз, вечірня прогулянка Хрещатиком.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1565008576549-57569a49371d?w=800&q=80',\n    region: 'Центр',\n  },\n  {\n    id: '5',\n    title: 'Чернівці: університет і дворики',\n    dateLabel: '20–22 вер. 2026',\n    description: 'Резиденція митрополитів, кава на Кобилянській, нічний двір.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1519681393784-d120267933ba?w=800&q=80',\n    region: 'Захід',\n  },\n  {\n    id: '6',\n    title: 'Кам’янець-Подільський',\n    dateLabel: '11–13 квіт. 2026',\n    description: 'Фортеця, каньйон Смотрича, захід сонця з оглядового майданчика.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1506905925346-21bda4d32df4?w=800&q=80',\n    region: 'Захід',\n  },\n  {\n    id: '7',\n    title: 'Харків: місто й парки',\n    dateLabel: '8–10 серп. 2026',\n    description: 'Саржин яр, набережна, вечірні вогні Сумської.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1449824913935-59a10b8d2000?w=800&q=80',\n    region: 'Схід',\n  },\n  {\n    id: '8',\n    title: 'Дніпро: мости й пагорби',\n    dateLabel: '15–17 трав. 2026',\n    description: 'Мереживо мостів, прогулянка набережною, кава з видом на річку.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1476514525535-07fb3b4ae5f1?w=800&q=80',\n    region: 'Центр',\n  },\n  {\n    id: '9',\n    title: 'Ужгород і виноград',\n    dateLabel: '25–27 жовт. 2026',\n    description: 'Замок, липова алея, дегустація біля місцевих виноробів.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1500530855697-b586d89ba3ee?w=800&q=80',\n    region: 'Карпати',\n  },\n  {\n    id: '10',\n    title: 'Полтава: смаки й історія',\n    dateLabel: '3–5 лип. 2026',\n    description: 'Котлета по-київськи — ні, галушки; музей і тихі двори.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1469474968028-56623f02e42e?w=800&q=80',\n    region: 'Центр',\n  },\n  {\n    id: '11',\n    title: 'Затока: пісок і шторм',\n    dateLabel: '1–7 серп. 2026',\n    description: 'Ранкові купання, вечірній вітер, книжка під парасолькою.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=600&q=80',\n    region: 'Південь',\n  },\n  {\n    id: '12',\n    title: 'Яремче: водоспад і ліс',\n    dateLabel: '19–21 черв. 2026',\n    description: 'Прогулянка до водоспаду, гуцульська кухня, туман над смереками.',\n    coverUri:\n      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1441974231531-c6227db76b6e?w=800&q=80',\n    region: 'Карпати',\n  },\n];\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FmockTrips.ts",[3747,25180,25181,25199,25203,25207,25212,25217,25221,25236,25240,25248,25257,25267,25276,25281,25288,25297,25301,25305,25313,25322,25331,25340,25344,25351,25360,25364,25368,25377,25386,25395,25404,25408,25415,25424,25428,25432,25441,25450,25459,25468,25472,25479,25488,25492,25496,25505,25514,25523,25532,25536,25543,25551,25555,25559,25568,25577,25586,25595,25599,25606,25614,25618,25622,25631,25640,25649,25658,25662,25669,25678,25682,25686,25695,25704,25713,25722,25726,25733,25741,25745,25749,25758,25767,25776,25785,25789,25796,25804,25808,25812,25821,25830,25839,25848,25852,25859,25867,25871,25875,25884,25893,25902,25911,25915,25922,25930,25934,25938,25947,25956,25965,25974,25978,25985,25993,25997],{"__ignoreMap":4011},[4160,25182,25183,25185,25187,25189,25191,25193,25195,25197],{"class":4162,"line":4163},[4160,25184,4536],{"class":4535},[4160,25186,6370],{"class":4535},[4160,25188,4540],{"class":4539},[4160,25190,14836],{"class":4543},[4160,25192,4546],{"class":4539},[4160,25194,4549],{"class":4535},[4160,25196,23366],{"class":4552},[4160,25198,4556],{"class":4539},[4160,25200,25201],{"class":4162,"line":4169},[4160,25202,4185],{"emptyLinePlaceholder":4184},[4160,25204,25205],{"class":4162,"line":4175},[4160,25206,13075],{"class":4763},[4160,25208,25209],{"class":4162,"line":4181},[4160,25210,25211],{"class":4763}," * Mock-стрічка поїздок. Більше за 3–5 елементів — щоб віртуалізація\n",[4160,25213,25214],{"class":4162,"line":4188},[4160,25215,25216],{"class":4763}," * (FlashList \u002F FlatList) мала сенс на домашньому екрані.\n",[4160,25218,25219],{"class":4162,"line":4194},[4160,25220,13105],{"class":4763},[4160,25222,25223,25225,25227,25230,25232,25234],{"class":4162,"line":4200},[4160,25224,4583],{"class":4535},[4160,25226,5150],{"class":4589},[4160,25228,25229],{"class":4607}," mockTrips",[4160,25231,5814],{"class":4539},[4160,25233,14836],{"class":4637},[4160,25235,6466],{"class":4539},[4160,25237,25238],{"class":4162,"line":4206},[4160,25239,6471],{"class":4539},[4160,25241,25242,25244,25246],{"class":4162,"line":4212},[4160,25243,6476],{"class":4543},[4160,25245,6479],{"class":4552},[4160,25247,4690],{"class":4539},[4160,25249,25250,25252,25255],{"class":4162,"line":4218},[4160,25251,5056],{"class":4543},[4160,25253,25254],{"class":4552}," 'Карпати на вихідні'",[4160,25256,4690],{"class":4539},[4160,25258,25259,25262,25265],{"class":4162,"line":4224},[4160,25260,25261],{"class":4543},"    dateLabel:",[4160,25263,25264],{"class":4552}," '12–14 бер. 2026'",[4160,25266,4690],{"class":4539},[4160,25268,25269,25271,25274],{"class":4162,"line":4230},[4160,25270,23550],{"class":4543},[4160,25272,25273],{"class":4552}," 'Говерла, полонини й вечірній чай біля каміну в котеджі.'",[4160,25275,4690],{"class":4539},[4160,25277,25278],{"class":4162,"line":4236},[4160,25279,25280],{"class":4543},"    coverUri:\n",[4160,25282,25283,25286],{"class":4162,"line":4242},[4160,25284,25285],{"class":4552},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1464822759023-fed622ff2c3b?w=800&q=80'",[4160,25287,4690],{"class":4539},[4160,25289,25290,25292,25295],{"class":4162,"line":4248},[4160,25291,23516],{"class":4543},[4160,25293,25294],{"class":4552}," 'Карпати'",[4160,25296,4690],{"class":4539},[4160,25298,25299],{"class":4162,"line":4254},[4160,25300,6526],{"class":4539},[4160,25302,25303],{"class":4162,"line":4259},[4160,25304,6471],{"class":4539},[4160,25306,25307,25309,25311],{"class":4162,"line":4265},[4160,25308,6476],{"class":4543},[4160,25310,6537],{"class":4552},[4160,25312,4690],{"class":4539},[4160,25314,25315,25317,25320],{"class":4162,"line":4271},[4160,25316,5056],{"class":4543},[4160,25318,25319],{"class":4552}," 'Львівський вікенд'",[4160,25321,4690],{"class":4539},[4160,25323,25324,25326,25329],{"class":4162,"line":4276},[4160,25325,25261],{"class":4543},[4160,25327,25328],{"class":4552}," '2–4 трав. 2026'",[4160,25330,4690],{"class":4539},[4160,25332,25333,25335,25338],{"class":4162,"line":4282},[4160,25334,23550],{"class":4543},[4160,25336,25337],{"class":4552}," 'Кава, площа Ринок, закапелки й нічний трамвай.'",[4160,25339,4690],{"class":4539},[4160,25341,25342],{"class":4162,"line":4288},[4160,25343,25280],{"class":4543},[4160,25345,25346,25349],{"class":4162,"line":4294},[4160,25347,25348],{"class":4552},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1555881400-74d7acaacd8b?w=800&q=80'",[4160,25350,4690],{"class":4539},[4160,25352,25353,25355,25358],{"class":4162,"line":4300},[4160,25354,23516],{"class":4543},[4160,25356,25357],{"class":4552}," 'Захід'",[4160,25359,4690],{"class":4539},[4160,25361,25362],{"class":4162,"line":4305},[4160,25363,6526],{"class":4539},[4160,25365,25366],{"class":4162,"line":4311},[4160,25367,6471],{"class":4539},[4160,25369,25370,25372,25375],{"class":4162,"line":4317},[4160,25371,6476],{"class":4543},[4160,25373,25374],{"class":4552}," '3'",[4160,25376,4690],{"class":4539},[4160,25378,25379,25381,25384],{"class":4162,"line":4323},[4160,25380,5056],{"class":4543},[4160,25382,25383],{"class":4552}," 'Одеса біля моря'",[4160,25385,4690],{"class":4539},[4160,25387,25388,25390,25393],{"class":4162,"line":4328},[4160,25389,25261],{"class":4543},[4160,25391,25392],{"class":4552}," '18–22 лип. 2026'",[4160,25394,4690],{"class":4539},[4160,25396,25397,25399,25402],{"class":4162,"line":4333},[4160,25398,23550],{"class":4543},[4160,25400,25401],{"class":4552}," 'Схід сонця на набережній, рибний ринок і вечірній Привоз.'",[4160,25403,4690],{"class":4539},[4160,25405,25406],{"class":4162,"line":5663},[4160,25407,25280],{"class":4543},[4160,25409,25410,25413],{"class":4162,"line":5676},[4160,25411,25412],{"class":4552},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=800&q=80'",[4160,25414,4690],{"class":4539},[4160,25416,25417,25419,25422],{"class":4162,"line":6728},[4160,25418,23516],{"class":4543},[4160,25420,25421],{"class":4552}," 'Південь'",[4160,25423,4690],{"class":4539},[4160,25425,25426],{"class":4162,"line":6733},[4160,25427,6526],{"class":4539},[4160,25429,25430],{"class":4162,"line":6738},[4160,25431,6471],{"class":4539},[4160,25433,25434,25436,25439],{"class":4162,"line":6768},[4160,25435,6476],{"class":4543},[4160,25437,25438],{"class":4552}," '4'",[4160,25440,4690],{"class":4539},[4160,25442,25443,25445,25448],{"class":4162,"line":6803},[4160,25444,5056],{"class":4543},[4160,25446,25447],{"class":4552}," 'Київ на три дні'",[4160,25449,4690],{"class":4539},[4160,25451,25452,25454,25457],{"class":4162,"line":6808},[4160,25453,25261],{"class":4543},[4160,25455,25456],{"class":4552}," '5–7 черв. 2026'",[4160,25458,4690],{"class":4539},[4160,25460,25461,25463,25466],{"class":4162,"line":6813},[4160,25462,23550],{"class":4543},[4160,25464,25465],{"class":4552}," 'Поділ, Андріївський узвіз, вечірня прогулянка Хрещатиком.'",[4160,25467,4690],{"class":4539},[4160,25469,25470],{"class":4162,"line":6847},[4160,25471,25280],{"class":4543},[4160,25473,25474,25477],{"class":4162,"line":6861},[4160,25475,25476],{"class":4552},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1565008576549-57569a49371d?w=800&q=80'",[4160,25478,4690],{"class":4539},[4160,25480,25481,25483,25486],{"class":4162,"line":6881},[4160,25482,23516],{"class":4543},[4160,25484,25485],{"class":4552}," 'Центр'",[4160,25487,4690],{"class":4539},[4160,25489,25490],{"class":4162,"line":6901},[4160,25491,6526],{"class":4539},[4160,25493,25494],{"class":4162,"line":6916},[4160,25495,6471],{"class":4539},[4160,25497,25498,25500,25503],{"class":4162,"line":6929},[4160,25499,6476],{"class":4543},[4160,25501,25502],{"class":4552}," '5'",[4160,25504,4690],{"class":4539},[4160,25506,25507,25509,25512],{"class":4162,"line":6935},[4160,25508,5056],{"class":4543},[4160,25510,25511],{"class":4552}," 'Чернівці: університет і дворики'",[4160,25513,4690],{"class":4539},[4160,25515,25516,25518,25521],{"class":4162,"line":6953},[4160,25517,25261],{"class":4543},[4160,25519,25520],{"class":4552}," '20–22 вер. 2026'",[4160,25522,4690],{"class":4539},[4160,25524,25525,25527,25530],{"class":4162,"line":6961},[4160,25526,23550],{"class":4543},[4160,25528,25529],{"class":4552}," 'Резиденція митрополитів, кава на Кобилянській, нічний двір.'",[4160,25531,4690],{"class":4539},[4160,25533,25534],{"class":4162,"line":6970},[4160,25535,25280],{"class":4543},[4160,25537,25538,25541],{"class":4162,"line":6975},[4160,25539,25540],{"class":4552},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1519681393784-d120267933ba?w=800&q=80'",[4160,25542,4690],{"class":4539},[4160,25544,25545,25547,25549],{"class":4162,"line":6980},[4160,25546,23516],{"class":4543},[4160,25548,25357],{"class":4552},[4160,25550,4690],{"class":4539},[4160,25552,25553],{"class":4162,"line":7008},[4160,25554,6526],{"class":4539},[4160,25556,25557],{"class":4162,"line":7024},[4160,25558,6471],{"class":4539},[4160,25560,25561,25563,25566],{"class":4162,"line":7035},[4160,25562,6476],{"class":4543},[4160,25564,25565],{"class":4552}," '6'",[4160,25567,4690],{"class":4539},[4160,25569,25570,25572,25575],{"class":4162,"line":7052},[4160,25571,5056],{"class":4543},[4160,25573,25574],{"class":4552}," 'Кам’янець-Подільський'",[4160,25576,4690],{"class":4539},[4160,25578,25579,25581,25584],{"class":4162,"line":7057},[4160,25580,25261],{"class":4543},[4160,25582,25583],{"class":4552}," '11–13 квіт. 2026'",[4160,25585,4690],{"class":4539},[4160,25587,25588,25590,25593],{"class":4162,"line":8928},[4160,25589,23550],{"class":4543},[4160,25591,25592],{"class":4552}," 'Фортеця, каньйон Смотрича, захід сонця з оглядового майданчика.'",[4160,25594,4690],{"class":4539},[4160,25596,25597],{"class":4162,"line":8937},[4160,25598,25280],{"class":4543},[4160,25600,25601,25604],{"class":4162,"line":8942},[4160,25602,25603],{"class":4552},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1506905925346-21bda4d32df4?w=800&q=80'",[4160,25605,4690],{"class":4539},[4160,25607,25608,25610,25612],{"class":4162,"line":8947},[4160,25609,23516],{"class":4543},[4160,25611,25357],{"class":4552},[4160,25613,4690],{"class":4539},[4160,25615,25616],{"class":4162,"line":8952},[4160,25617,6526],{"class":4539},[4160,25619,25620],{"class":4162,"line":8973},[4160,25621,6471],{"class":4539},[4160,25623,25624,25626,25629],{"class":4162,"line":8995},[4160,25625,6476],{"class":4543},[4160,25627,25628],{"class":4552}," '7'",[4160,25630,4690],{"class":4539},[4160,25632,25633,25635,25638],{"class":4162,"line":9003},[4160,25634,5056],{"class":4543},[4160,25636,25637],{"class":4552}," 'Харків: місто й парки'",[4160,25639,4690],{"class":4539},[4160,25641,25642,25644,25647],{"class":4162,"line":9014},[4160,25643,25261],{"class":4543},[4160,25645,25646],{"class":4552}," '8–10 серп. 2026'",[4160,25648,4690],{"class":4539},[4160,25650,25651,25653,25656],{"class":4162,"line":9025},[4160,25652,23550],{"class":4543},[4160,25654,25655],{"class":4552}," 'Саржин яр, набережна, вечірні вогні Сумської.'",[4160,25657,4690],{"class":4539},[4160,25659,25660],{"class":4162,"line":9035},[4160,25661,25280],{"class":4543},[4160,25663,25664,25667],{"class":4162,"line":9045},[4160,25665,25666],{"class":4552},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1449824913935-59a10b8d2000?w=800&q=80'",[4160,25668,4690],{"class":4539},[4160,25670,25671,25673,25676],{"class":4162,"line":9055},[4160,25672,23516],{"class":4543},[4160,25674,25675],{"class":4552}," 'Схід'",[4160,25677,4690],{"class":4539},[4160,25679,25680],{"class":4162,"line":9060},[4160,25681,6526],{"class":4539},[4160,25683,25684],{"class":4162,"line":9088},[4160,25685,6471],{"class":4539},[4160,25687,25688,25690,25693],{"class":4162,"line":9117},[4160,25689,6476],{"class":4543},[4160,25691,25692],{"class":4552}," '8'",[4160,25694,4690],{"class":4539},[4160,25696,25697,25699,25702],{"class":4162,"line":9146},[4160,25698,5056],{"class":4543},[4160,25700,25701],{"class":4552}," 'Дніпро: мости й пагорби'",[4160,25703,4690],{"class":4539},[4160,25705,25706,25708,25711],{"class":4162,"line":9154},[4160,25707,25261],{"class":4543},[4160,25709,25710],{"class":4552}," '15–17 трав. 2026'",[4160,25712,4690],{"class":4539},[4160,25714,25715,25717,25720],{"class":4162,"line":9165},[4160,25716,23550],{"class":4543},[4160,25718,25719],{"class":4552}," 'Мереживо мостів, прогулянка набережною, кава з видом на річку.'",[4160,25721,4690],{"class":4539},[4160,25723,25724],{"class":4162,"line":9175},[4160,25725,25280],{"class":4543},[4160,25727,25728,25731],{"class":4162,"line":9185},[4160,25729,25730],{"class":4552},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1476514525535-07fb3b4ae5f1?w=800&q=80'",[4160,25732,4690],{"class":4539},[4160,25734,25735,25737,25739],{"class":4162,"line":9195},[4160,25736,23516],{"class":4543},[4160,25738,25485],{"class":4552},[4160,25740,4690],{"class":4539},[4160,25742,25743],{"class":4162,"line":9206},[4160,25744,6526],{"class":4539},[4160,25746,25747],{"class":4162,"line":9211},[4160,25748,6471],{"class":4539},[4160,25750,25751,25753,25756],{"class":4162,"line":9239},[4160,25752,6476],{"class":4543},[4160,25754,25755],{"class":4552}," '9'",[4160,25757,4690],{"class":4539},[4160,25759,25760,25762,25765],{"class":4162,"line":9266},[4160,25761,5056],{"class":4543},[4160,25763,25764],{"class":4552}," 'Ужгород і виноград'",[4160,25766,4690],{"class":4539},[4160,25768,25769,25771,25774],{"class":4162,"line":9274},[4160,25770,25261],{"class":4543},[4160,25772,25773],{"class":4552}," '25–27 жовт. 2026'",[4160,25775,4690],{"class":4539},[4160,25777,25778,25780,25783],{"class":4162,"line":9283},[4160,25779,23550],{"class":4543},[4160,25781,25782],{"class":4552}," 'Замок, липова алея, дегустація біля місцевих виноробів.'",[4160,25784,4690],{"class":4539},[4160,25786,25787],{"class":4162,"line":9293},[4160,25788,25280],{"class":4543},[4160,25790,25791,25794],{"class":4162,"line":9303},[4160,25792,25793],{"class":4552},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1500530855697-b586d89ba3ee?w=800&q=80'",[4160,25795,4690],{"class":4539},[4160,25797,25798,25800,25802],{"class":4162,"line":9308},[4160,25799,23516],{"class":4543},[4160,25801,25294],{"class":4552},[4160,25803,4690],{"class":4539},[4160,25805,25806],{"class":4162,"line":9316},[4160,25807,6526],{"class":4539},[4160,25809,25810],{"class":4162,"line":9325},[4160,25811,6471],{"class":4539},[4160,25813,25814,25816,25819],{"class":4162,"line":9335},[4160,25815,6476],{"class":4543},[4160,25817,25818],{"class":4552}," '10'",[4160,25820,4690],{"class":4539},[4160,25822,25823,25825,25828],{"class":4162,"line":9344},[4160,25824,5056],{"class":4543},[4160,25826,25827],{"class":4552}," 'Полтава: смаки й історія'",[4160,25829,4690],{"class":4539},[4160,25831,25832,25834,25837],{"class":4162,"line":9355},[4160,25833,25261],{"class":4543},[4160,25835,25836],{"class":4552}," '3–5 лип. 2026'",[4160,25838,4690],{"class":4539},[4160,25840,25841,25843,25846],{"class":4162,"line":9360},[4160,25842,23550],{"class":4543},[4160,25844,25845],{"class":4552}," 'Котлета по-київськи — ні, галушки; музей і тихі двори.'",[4160,25847,4690],{"class":4539},[4160,25849,25850],{"class":4162,"line":9380},[4160,25851,25280],{"class":4543},[4160,25853,25854,25857],{"class":4162,"line":11316},[4160,25855,25856],{"class":4552},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1469474968028-56623f02e42e?w=800&q=80'",[4160,25858,4690],{"class":4539},[4160,25860,25861,25863,25865],{"class":4162,"line":11325},[4160,25862,23516],{"class":4543},[4160,25864,25485],{"class":4552},[4160,25866,4690],{"class":4539},[4160,25868,25869],{"class":4162,"line":11334},[4160,25870,6526],{"class":4539},[4160,25872,25873],{"class":4162,"line":11344},[4160,25874,6471],{"class":4539},[4160,25876,25877,25879,25882],{"class":4162,"line":11353},[4160,25878,6476],{"class":4543},[4160,25880,25881],{"class":4552}," '11'",[4160,25883,4690],{"class":4539},[4160,25885,25886,25888,25891],{"class":4162,"line":11364},[4160,25887,5056],{"class":4543},[4160,25889,25890],{"class":4552}," 'Затока: пісок і шторм'",[4160,25892,4690],{"class":4539},[4160,25894,25895,25897,25900],{"class":4162,"line":11369},[4160,25896,25261],{"class":4543},[4160,25898,25899],{"class":4552}," '1–7 серп. 2026'",[4160,25901,4690],{"class":4539},[4160,25903,25904,25906,25909],{"class":4162,"line":11377},[4160,25905,23550],{"class":4543},[4160,25907,25908],{"class":4552}," 'Ранкові купання, вечірній вітер, книжка під парасолькою.'",[4160,25910,4690],{"class":4539},[4160,25912,25913],{"class":4162,"line":11386},[4160,25914,25280],{"class":4543},[4160,25916,25917,25920],{"class":4162,"line":11395},[4160,25918,25919],{"class":4552},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1507525428034-b723cf961d3e?w=600&q=80'",[4160,25921,4690],{"class":4539},[4160,25923,25924,25926,25928],{"class":4162,"line":11404},[4160,25925,23516],{"class":4543},[4160,25927,25421],{"class":4552},[4160,25929,4690],{"class":4539},[4160,25931,25932],{"class":4162,"line":11413},[4160,25933,6526],{"class":4539},[4160,25935,25936],{"class":4162,"line":11422},[4160,25937,6471],{"class":4539},[4160,25939,25940,25942,25945],{"class":4162,"line":11431},[4160,25941,6476],{"class":4543},[4160,25943,25944],{"class":4552}," '12'",[4160,25946,4690],{"class":4539},[4160,25948,25949,25951,25954],{"class":4162,"line":11440},[4160,25950,5056],{"class":4543},[4160,25952,25953],{"class":4552}," 'Яремче: водоспад і ліс'",[4160,25955,4690],{"class":4539},[4160,25957,25958,25960,25963],{"class":4162,"line":11449},[4160,25959,25261],{"class":4543},[4160,25961,25962],{"class":4552}," '19–21 черв. 2026'",[4160,25964,4690],{"class":4539},[4160,25966,25967,25969,25972],{"class":4162,"line":11454},[4160,25968,23550],{"class":4543},[4160,25970,25971],{"class":4552}," 'Прогулянка до водоспаду, гуцульська кухня, туман над смереками.'",[4160,25973,4690],{"class":4539},[4160,25975,25976],{"class":4162,"line":11470},[4160,25977,25280],{"class":4543},[4160,25979,25980,25983],{"class":4162,"line":11477},[4160,25981,25982],{"class":4552},"      'https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1441974231531-c6227db76b6e?w=800&q=80'",[4160,25984,4690],{"class":4539},[4160,25986,25987,25989,25991],{"class":4162,"line":11487},[4160,25988,23516],{"class":4543},[4160,25990,25294],{"class":4552},[4160,25992,4690],{"class":4539},[4160,25994,25995],{"class":4162,"line":11496},[4160,25996,6526],{"class":4539},[4160,25998,25999],{"class":4162,"line":11505},[4160,26000,6583],{"class":4539},[4003,26002,26005],{"className":6359,"code":26003,"filename":26004,"language":6361,"meta":4011,"style":4011},"import type { Place } from '.\u002Ftypes';\n\n\u002F** Місця всередині поїздок — для горизонтальної стрічки на home. *\u002F\nexport const mockPlaces: Place[] = [\n  {\n    id: 'p1',\n    tripId: '1',\n    name: 'Говерла',\n    city: 'Карпати',\n    note: 'Схід сонця з вершини',\n  },\n  {\n    id: 'p2',\n    tripId: '1',\n    name: 'Котедж біля полонини',\n    city: 'Карпати',\n    note: 'Вечірній чай і камін',\n  },\n  {\n    id: 'p3',\n    tripId: '2',\n    name: 'Площа Ринок',\n    city: 'Львів',\n    note: 'Ратуша й кав’ярні',\n  },\n  {\n    id: 'p4',\n    tripId: '2',\n    name: 'Високий Замок',\n    city: 'Львів',\n    note: 'Панорама міста',\n  },\n  {\n    id: 'p5',\n    tripId: '3',\n    name: 'Дерибасівська',\n    city: 'Одеса',\n    note: 'Прогулянка ввечері',\n  },\n  {\n    id: 'p6',\n    tripId: '3',\n    name: 'Ланжерон',\n    city: 'Одеса',\n    note: 'Пляж і набережна',\n  },\n  {\n    id: 'p7',\n    tripId: '4',\n    name: 'Андріївський узвіз',\n    city: 'Київ',\n    note: 'Галереї й бруківка',\n  },\n  {\n    id: 'p8',\n    tripId: '6',\n    name: 'Стара фортеця',\n    city: 'Кам’янець',\n    note: 'Фото з мосту',\n  },\n  {\n    id: 'p9',\n    tripId: '9',\n    name: 'Ужгородський замок',\n    city: 'Ужгород',\n    note: 'Музей і сад',\n  },\n  {\n    id: 'p10',\n    tripId: '12',\n    name: 'Водоспад Пробій',\n    city: 'Яремче',\n    note: 'Шум води й місток',\n  },\n];\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FmockPlaces.ts",[3747,26006,26007,26025,26029,26034,26049,26053,26062,26071,26081,26090,26100,26104,26108,26117,26125,26134,26142,26151,26155,26159,26168,26176,26185,26194,26203,26207,26211,26220,26228,26237,26245,26254,26258,26262,26271,26279,26288,26297,26306,26310,26314,26323,26331,26340,26348,26357,26361,26365,26374,26382,26391,26400,26409,26413,26417,26426,26434,26443,26452,26461,26465,26469,26478,26486,26495,26504,26513,26517,26521,26530,26538,26547,26556,26565,26569],{"__ignoreMap":4011},[4160,26008,26009,26011,26013,26015,26017,26019,26021,26023],{"class":4162,"line":4163},[4160,26010,4536],{"class":4535},[4160,26012,6370],{"class":4535},[4160,26014,4540],{"class":4539},[4160,26016,14775],{"class":4543},[4160,26018,4546],{"class":4539},[4160,26020,4549],{"class":4535},[4160,26022,23366],{"class":4552},[4160,26024,4556],{"class":4539},[4160,26026,26027],{"class":4162,"line":4169},[4160,26028,4185],{"emptyLinePlaceholder":4184},[4160,26030,26031],{"class":4162,"line":4175},[4160,26032,26033],{"class":4763},"\u002F** Місця всередині поїздок — для горизонтальної стрічки на home. *\u002F\n",[4160,26035,26036,26038,26040,26043,26045,26047],{"class":4162,"line":4181},[4160,26037,4583],{"class":4535},[4160,26039,5150],{"class":4589},[4160,26041,26042],{"class":4607}," mockPlaces",[4160,26044,5814],{"class":4539},[4160,26046,14775],{"class":4637},[4160,26048,6466],{"class":4539},[4160,26050,26051],{"class":4162,"line":4188},[4160,26052,6471],{"class":4539},[4160,26054,26055,26057,26060],{"class":4162,"line":4194},[4160,26056,6476],{"class":4543},[4160,26058,26059],{"class":4552}," 'p1'",[4160,26061,4690],{"class":4539},[4160,26063,26064,26067,26069],{"class":4162,"line":4200},[4160,26065,26066],{"class":4543},"    tripId:",[4160,26068,6479],{"class":4552},[4160,26070,4690],{"class":4539},[4160,26072,26073,26076,26079],{"class":4162,"line":4206},[4160,26074,26075],{"class":4543},"    name:",[4160,26077,26078],{"class":4552}," 'Говерла'",[4160,26080,4690],{"class":4539},[4160,26082,26083,26086,26088],{"class":4162,"line":4212},[4160,26084,26085],{"class":4543},"    city:",[4160,26087,25294],{"class":4552},[4160,26089,4690],{"class":4539},[4160,26091,26092,26095,26098],{"class":4162,"line":4218},[4160,26093,26094],{"class":4543},"    note:",[4160,26096,26097],{"class":4552}," 'Схід сонця з вершини'",[4160,26099,4690],{"class":4539},[4160,26101,26102],{"class":4162,"line":4224},[4160,26103,6526],{"class":4539},[4160,26105,26106],{"class":4162,"line":4230},[4160,26107,6471],{"class":4539},[4160,26109,26110,26112,26115],{"class":4162,"line":4236},[4160,26111,6476],{"class":4543},[4160,26113,26114],{"class":4552}," 'p2'",[4160,26116,4690],{"class":4539},[4160,26118,26119,26121,26123],{"class":4162,"line":4242},[4160,26120,26066],{"class":4543},[4160,26122,6479],{"class":4552},[4160,26124,4690],{"class":4539},[4160,26126,26127,26129,26132],{"class":4162,"line":4248},[4160,26128,26075],{"class":4543},[4160,26130,26131],{"class":4552}," 'Котедж біля полонини'",[4160,26133,4690],{"class":4539},[4160,26135,26136,26138,26140],{"class":4162,"line":4254},[4160,26137,26085],{"class":4543},[4160,26139,25294],{"class":4552},[4160,26141,4690],{"class":4539},[4160,26143,26144,26146,26149],{"class":4162,"line":4259},[4160,26145,26094],{"class":4543},[4160,26147,26148],{"class":4552}," 'Вечірній чай і камін'",[4160,26150,4690],{"class":4539},[4160,26152,26153],{"class":4162,"line":4265},[4160,26154,6526],{"class":4539},[4160,26156,26157],{"class":4162,"line":4271},[4160,26158,6471],{"class":4539},[4160,26160,26161,26163,26166],{"class":4162,"line":4276},[4160,26162,6476],{"class":4543},[4160,26164,26165],{"class":4552}," 'p3'",[4160,26167,4690],{"class":4539},[4160,26169,26170,26172,26174],{"class":4162,"line":4282},[4160,26171,26066],{"class":4543},[4160,26173,6537],{"class":4552},[4160,26175,4690],{"class":4539},[4160,26177,26178,26180,26183],{"class":4162,"line":4288},[4160,26179,26075],{"class":4543},[4160,26181,26182],{"class":4552}," 'Площа Ринок'",[4160,26184,4690],{"class":4539},[4160,26186,26187,26189,26192],{"class":4162,"line":4294},[4160,26188,26085],{"class":4543},[4160,26190,26191],{"class":4552}," 'Львів'",[4160,26193,4690],{"class":4539},[4160,26195,26196,26198,26201],{"class":4162,"line":4300},[4160,26197,26094],{"class":4543},[4160,26199,26200],{"class":4552}," 'Ратуша й кав’ярні'",[4160,26202,4690],{"class":4539},[4160,26204,26205],{"class":4162,"line":4305},[4160,26206,6526],{"class":4539},[4160,26208,26209],{"class":4162,"line":4311},[4160,26210,6471],{"class":4539},[4160,26212,26213,26215,26218],{"class":4162,"line":4317},[4160,26214,6476],{"class":4543},[4160,26216,26217],{"class":4552}," 'p4'",[4160,26219,4690],{"class":4539},[4160,26221,26222,26224,26226],{"class":4162,"line":4323},[4160,26223,26066],{"class":4543},[4160,26225,6537],{"class":4552},[4160,26227,4690],{"class":4539},[4160,26229,26230,26232,26235],{"class":4162,"line":4328},[4160,26231,26075],{"class":4543},[4160,26233,26234],{"class":4552}," 'Високий Замок'",[4160,26236,4690],{"class":4539},[4160,26238,26239,26241,26243],{"class":4162,"line":4333},[4160,26240,26085],{"class":4543},[4160,26242,26191],{"class":4552},[4160,26244,4690],{"class":4539},[4160,26246,26247,26249,26252],{"class":4162,"line":5663},[4160,26248,26094],{"class":4543},[4160,26250,26251],{"class":4552}," 'Панорама міста'",[4160,26253,4690],{"class":4539},[4160,26255,26256],{"class":4162,"line":5676},[4160,26257,6526],{"class":4539},[4160,26259,26260],{"class":4162,"line":6728},[4160,26261,6471],{"class":4539},[4160,26263,26264,26266,26269],{"class":4162,"line":6733},[4160,26265,6476],{"class":4543},[4160,26267,26268],{"class":4552}," 'p5'",[4160,26270,4690],{"class":4539},[4160,26272,26273,26275,26277],{"class":4162,"line":6738},[4160,26274,26066],{"class":4543},[4160,26276,25374],{"class":4552},[4160,26278,4690],{"class":4539},[4160,26280,26281,26283,26286],{"class":4162,"line":6768},[4160,26282,26075],{"class":4543},[4160,26284,26285],{"class":4552}," 'Дерибасівська'",[4160,26287,4690],{"class":4539},[4160,26289,26290,26292,26295],{"class":4162,"line":6803},[4160,26291,26085],{"class":4543},[4160,26293,26294],{"class":4552}," 'Одеса'",[4160,26296,4690],{"class":4539},[4160,26298,26299,26301,26304],{"class":4162,"line":6808},[4160,26300,26094],{"class":4543},[4160,26302,26303],{"class":4552}," 'Прогулянка ввечері'",[4160,26305,4690],{"class":4539},[4160,26307,26308],{"class":4162,"line":6813},[4160,26309,6526],{"class":4539},[4160,26311,26312],{"class":4162,"line":6847},[4160,26313,6471],{"class":4539},[4160,26315,26316,26318,26321],{"class":4162,"line":6861},[4160,26317,6476],{"class":4543},[4160,26319,26320],{"class":4552}," 'p6'",[4160,26322,4690],{"class":4539},[4160,26324,26325,26327,26329],{"class":4162,"line":6881},[4160,26326,26066],{"class":4543},[4160,26328,25374],{"class":4552},[4160,26330,4690],{"class":4539},[4160,26332,26333,26335,26338],{"class":4162,"line":6901},[4160,26334,26075],{"class":4543},[4160,26336,26337],{"class":4552}," 'Ланжерон'",[4160,26339,4690],{"class":4539},[4160,26341,26342,26344,26346],{"class":4162,"line":6916},[4160,26343,26085],{"class":4543},[4160,26345,26294],{"class":4552},[4160,26347,4690],{"class":4539},[4160,26349,26350,26352,26355],{"class":4162,"line":6929},[4160,26351,26094],{"class":4543},[4160,26353,26354],{"class":4552}," 'Пляж і набережна'",[4160,26356,4690],{"class":4539},[4160,26358,26359],{"class":4162,"line":6935},[4160,26360,6526],{"class":4539},[4160,26362,26363],{"class":4162,"line":6953},[4160,26364,6471],{"class":4539},[4160,26366,26367,26369,26372],{"class":4162,"line":6961},[4160,26368,6476],{"class":4543},[4160,26370,26371],{"class":4552}," 'p7'",[4160,26373,4690],{"class":4539},[4160,26375,26376,26378,26380],{"class":4162,"line":6970},[4160,26377,26066],{"class":4543},[4160,26379,25438],{"class":4552},[4160,26381,4690],{"class":4539},[4160,26383,26384,26386,26389],{"class":4162,"line":6975},[4160,26385,26075],{"class":4543},[4160,26387,26388],{"class":4552}," 'Андріївський узвіз'",[4160,26390,4690],{"class":4539},[4160,26392,26393,26395,26398],{"class":4162,"line":6980},[4160,26394,26085],{"class":4543},[4160,26396,26397],{"class":4552}," 'Київ'",[4160,26399,4690],{"class":4539},[4160,26401,26402,26404,26407],{"class":4162,"line":7008},[4160,26403,26094],{"class":4543},[4160,26405,26406],{"class":4552}," 'Галереї й бруківка'",[4160,26408,4690],{"class":4539},[4160,26410,26411],{"class":4162,"line":7024},[4160,26412,6526],{"class":4539},[4160,26414,26415],{"class":4162,"line":7035},[4160,26416,6471],{"class":4539},[4160,26418,26419,26421,26424],{"class":4162,"line":7052},[4160,26420,6476],{"class":4543},[4160,26422,26423],{"class":4552}," 'p8'",[4160,26425,4690],{"class":4539},[4160,26427,26428,26430,26432],{"class":4162,"line":7057},[4160,26429,26066],{"class":4543},[4160,26431,25565],{"class":4552},[4160,26433,4690],{"class":4539},[4160,26435,26436,26438,26441],{"class":4162,"line":8928},[4160,26437,26075],{"class":4543},[4160,26439,26440],{"class":4552}," 'Стара фортеця'",[4160,26442,4690],{"class":4539},[4160,26444,26445,26447,26450],{"class":4162,"line":8937},[4160,26446,26085],{"class":4543},[4160,26448,26449],{"class":4552}," 'Кам’янець'",[4160,26451,4690],{"class":4539},[4160,26453,26454,26456,26459],{"class":4162,"line":8942},[4160,26455,26094],{"class":4543},[4160,26457,26458],{"class":4552}," 'Фото з мосту'",[4160,26460,4690],{"class":4539},[4160,26462,26463],{"class":4162,"line":8947},[4160,26464,6526],{"class":4539},[4160,26466,26467],{"class":4162,"line":8952},[4160,26468,6471],{"class":4539},[4160,26470,26471,26473,26476],{"class":4162,"line":8973},[4160,26472,6476],{"class":4543},[4160,26474,26475],{"class":4552}," 'p9'",[4160,26477,4690],{"class":4539},[4160,26479,26480,26482,26484],{"class":4162,"line":8995},[4160,26481,26066],{"class":4543},[4160,26483,25755],{"class":4552},[4160,26485,4690],{"class":4539},[4160,26487,26488,26490,26493],{"class":4162,"line":9003},[4160,26489,26075],{"class":4543},[4160,26491,26492],{"class":4552}," 'Ужгородський замок'",[4160,26494,4690],{"class":4539},[4160,26496,26497,26499,26502],{"class":4162,"line":9014},[4160,26498,26085],{"class":4543},[4160,26500,26501],{"class":4552}," 'Ужгород'",[4160,26503,4690],{"class":4539},[4160,26505,26506,26508,26511],{"class":4162,"line":9025},[4160,26507,26094],{"class":4543},[4160,26509,26510],{"class":4552}," 'Музей і сад'",[4160,26512,4690],{"class":4539},[4160,26514,26515],{"class":4162,"line":9035},[4160,26516,6526],{"class":4539},[4160,26518,26519],{"class":4162,"line":9045},[4160,26520,6471],{"class":4539},[4160,26522,26523,26525,26528],{"class":4162,"line":9055},[4160,26524,6476],{"class":4543},[4160,26526,26527],{"class":4552}," 'p10'",[4160,26529,4690],{"class":4539},[4160,26531,26532,26534,26536],{"class":4162,"line":9060},[4160,26533,26066],{"class":4543},[4160,26535,25944],{"class":4552},[4160,26537,4690],{"class":4539},[4160,26539,26540,26542,26545],{"class":4162,"line":9088},[4160,26541,26075],{"class":4543},[4160,26543,26544],{"class":4552}," 'Водоспад Пробій'",[4160,26546,4690],{"class":4539},[4160,26548,26549,26551,26554],{"class":4162,"line":9117},[4160,26550,26085],{"class":4543},[4160,26552,26553],{"class":4552}," 'Яремче'",[4160,26555,4690],{"class":4539},[4160,26557,26558,26560,26563],{"class":4162,"line":9146},[4160,26559,26094],{"class":4543},[4160,26561,26562],{"class":4552}," 'Шум води й місток'",[4160,26564,4690],{"class":4539},[4160,26566,26567],{"class":4162,"line":9154},[4160,26568,6526],{"class":4539},[4160,26570,26571],{"class":4162,"line":9165},[4160,26572,6583],{"class":4539},[4003,26574,26577],{"className":6359,"code":26575,"filename":26576,"language":6361,"meta":4011,"style":4011},"import { mockPlaces } from '.\u002FmockPlaces';\nimport type { Place } from '.\u002Ftypes';\n\n\u002F** Місця, прив’язані до поїздки (mock). *\u002F\nexport function getPlacesForTrip(tripId: string): Place[] {\n  return mockPlaces.filter((p) => p.tripId === tripId);\n}\n","src\u002Ffeatures\u002Ftrips\u002Fmodel\u002FplacesHelpers.ts",[3747,26578,26579,26596,26614,26618,26623,26646,26677],{"__ignoreMap":4011},[4160,26580,26581,26583,26585,26587,26589,26591,26594],{"class":4162,"line":4163},[4160,26582,4536],{"class":4535},[4160,26584,4540],{"class":4539},[4160,26586,14781],{"class":4543},[4160,26588,4546],{"class":4539},[4160,26590,4549],{"class":4535},[4160,26592,26593],{"class":4552}," '.\u002FmockPlaces'",[4160,26595,4556],{"class":4539},[4160,26597,26598,26600,26602,26604,26606,26608,26610,26612],{"class":4162,"line":4169},[4160,26599,4536],{"class":4535},[4160,26601,6370],{"class":4535},[4160,26603,4540],{"class":4539},[4160,26605,14775],{"class":4543},[4160,26607,4546],{"class":4539},[4160,26609,4549],{"class":4535},[4160,26611,23366],{"class":4552},[4160,26613,4556],{"class":4539},[4160,26615,26616],{"class":4162,"line":4175},[4160,26617,4185],{"emptyLinePlaceholder":4184},[4160,26619,26620],{"class":4162,"line":4181},[4160,26621,26622],{"class":4763},"\u002F** Місця, прив’язані до поїздки (mock). *\u002F\n",[4160,26624,26625,26627,26629,26632,26634,26636,26638,26640,26642,26644],{"class":4162,"line":4188},[4160,26626,4583],{"class":4535},[4160,26628,4590],{"class":4589},[4160,26630,26631],{"class":4593}," getPlacesForTrip",[4160,26633,5411],{"class":4539},[4160,26635,5880],{"class":4543},[4160,26637,5814],{"class":4539},[4160,26639,5817],{"class":4637},[4160,26641,6756],{"class":4539},[4160,26643,14775],{"class":4637},[4160,26645,6677],{"class":4539},[4160,26647,26648,26650,26652,26654,26657,26659,26661,26663,26665,26667,26669,26671,26673,26675],{"class":4162,"line":4194},[4160,26649,4625],{"class":4535},[4160,26651,26042],{"class":4543},[4160,26653,3840],{"class":4539},[4160,26655,26656],{"class":4593},"filter",[4160,26658,6638],{"class":4539},[4160,26660,3743],{"class":4543},[4160,26662,6644],{"class":4539},[4160,26664,5514],{"class":4589},[4160,26666,16291],{"class":4543},[4160,26668,3840],{"class":4539},[4160,26670,5880],{"class":4543},[4160,26672,6796],{"class":4539},[4160,26674,5880],{"class":4543},[4160,26676,5417],{"class":4539},[4160,26678,26679],{"class":4162,"line":4200},[4160,26680,4251],{"class":4539},[4003,26682,26685],{"className":4526,"code":26683,"filename":26684,"language":4528,"meta":4011,"style":4011},"import { useState } from 'react';\nimport {\n  KeyboardAvoidingView,\n  Platform,\n  ScrollView,\n  StyleSheet,\n  Switch,\n  View,\n} from 'react-native';\nimport { Controller, useForm } from 'react-hook-form';\nimport { zodResolver } from '@hookform\u002Fresolvers\u002Fzod';\nimport { Picker } from '@react-native-picker\u002Fpicker';\nimport Checkbox from '@react-native-community\u002Fcheckbox';\nimport Slider from '@react-native-community\u002Fslider';\n\nimport {\n  createTripSchema,\n  type CreateTripFormValues,\n} from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FcreateTripSchema';\nimport { formatTripDateLabel } from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FformatTripDates';\nimport { TRIP_REGIONS, type Trip } from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes';\nimport { DateField } from '@\u002Ffeatures\u002Ftrips\u002Fui\u002FDateField';\nimport { FormRow } from '@\u002Ffeatures\u002Ftrips\u002Fui\u002FFormRow';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Button, TextField } from '@\u002Fshared\u002Fui';\n\ntype CreateTripFormProps = {\n  onSubmitSuccess: (trip: Trip) => void;\n  onCancel?: () => void;\n};\n\nfunction startOfToday(): Date {\n  const d = new Date();\n  d.setHours(12, 0, 0, 0);\n  return d;\n}\n\nfunction addDays(base: Date, days: number): Date {\n  const d = new Date(base);\n  d.setDate(d.getDate() + days);\n  return d;\n}\n\n\u002F**\n * Форма «Нова поїздка»: усі основні form-контроли + RHF + Zod.\n * Не залежить від навігації — батько вирішує, куди піти після submit.\n *\u002F\nexport function CreateTripForm({\n  onSubmitSuccess,\n  onCancel,\n}: CreateTripFormProps) {\n  const { colors, spacing, radius } = useTheme();\n  const [submitting, setSubmitting] = useState(false);\n\n  const {\n    control,\n    handleSubmit,\n    watch,\n    formState: { errors },\n  } = useForm\u003CCreateTripFormValues>({\n    resolver: zodResolver(createTripSchema),\n    defaultValues: {\n      title: '',\n      region: 'Карпати',\n      description: '',\n      startDate: startOfToday(),\n      endDate: addDays(startOfToday(), 2),\n      isPrivate: false,\n      plannedDays: 3,\n      hasItinerary: false,\n      \u002F\u002F literal true — у default false, щоб користувач свідомо поставив галочку\n      acceptedLocalSave: false as unknown as true,\n    },\n    mode: 'onSubmit',\n    reValidateMode: 'onChange',\n  });\n\n  const startDate = watch('startDate');\n  const plannedDays = watch('plannedDays');\n\n  const onValid = (values: CreateTripFormValues) => {\n    setSubmitting(true);\n    const trip: Trip = {\n      id: `local-${Date.now()}`,\n      title: values.title,\n      region: values.region,\n      description: values.description,\n      dateLabel: formatTripDateLabel(values.startDate, values.endDate),\n      coverUri: `https:\u002F\u002Fpicsum.photos\u002Fseed\u002F${encodeURIComponent(values.title)}\u002F800\u002F400`,\n      isPrivate: values.isPrivate,\n      plannedDays: values.plannedDays,\n      hasItinerary: values.hasItinerary,\n    };\n    onSubmitSuccess(trip);\n    setSubmitting(false);\n  };\n\n  return (\n    \u003CKeyboardAvoidingView\n      style={styles.flex}\n      behavior={Platform.OS === 'ios' ? 'padding' : 'height'}\n      keyboardVerticalOffset={Platform.OS === 'ios' ? 8 : 0}\n    >\n      \u003CScrollView\n        style={styles.flex}\n        contentContainerStyle={[\n          styles.content,\n          { padding: spacing.md, gap: spacing.md, paddingBottom: spacing.xl },\n        ]}\n        keyboardShouldPersistTaps=\"handled\"\n        keyboardDismissMode=\"on-drag\"\n        showsVerticalScrollIndicator={false}\n      >\n        \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n          Заповніть поля. Помилки з’являться після натискання «Створити», якщо\n          щось не так. Тут зібрані різні типи контролів: текст, список, дати,\n          перемикач, галочка, повзунок.\n        \u003C\u002FAppText>\n\n        {\u002F* ——— TextInput ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"title\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CTextField\n              label=\"Назва поїздки\"\n              placeholder=\"Наприклад, Карпати на вихідні\"\n              value={value}\n              onChangeText={onChange}\n              onBlur={onBlur}\n              error={errors.title?.message}\n              autoCapitalize=\"sentences\"\n              returnKeyType=\"next\"\n              maxLength={80}\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Picker ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"region\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label=\"Регіон\"\n              description=\"Оберіть зі списку (Picker), а не вводьте вручну\"\n              error={errors.region?.message}\n              stacked\n              control={\n                \u003CView\n                  style={[\n                    styles.pickerWrap,\n                    {\n                      borderColor: errors.region\n                        ? colors.danger\n                        : colors.border,\n                      backgroundColor: colors.surface,\n                      borderRadius: radius.md,\n                    },\n                  ]}\n                >\n                  \u003CPicker\n                    selectedValue={value}\n                    onValueChange={onChange}\n                    dropdownIconColor={colors.text}\n                    style={{ color: colors.text }}\n                  >\n                    {TRIP_REGIONS.map((region) => (\n                      \u003CPicker.Item\n                        key={region}\n                        label={region}\n                        value={region}\n                        color={colors.text}\n                      \u002F>\n                    ))}\n                  \u003C\u002FPicker>\n                \u003C\u002FView>\n              }\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— DateTimePicker через DateField ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"startDate\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CDateField\n              label=\"Дата початку\"\n              value={value}\n              onChange={onChange}\n              onBlur={onBlur}\n              error={errors.startDate?.message}\n            \u002F>\n          )}\n        \u002F>\n\n        \u003CController\n          control={control}\n          name=\"endDate\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CDateField\n              label=\"Дата завершення\"\n              value={value}\n              onChange={onChange}\n              onBlur={onBlur}\n              error={errors.endDate?.message}\n              minimumDate={startDate}\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— TextInput multiline ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"description\"\n          render={({ field: { onChange, onBlur, value } }) => (\n            \u003CTextField\n              label=\"Опис\"\n              placeholder=\"Коротко: що плануєте побачити, з ким їдете…\"\n              value={value}\n              onChangeText={onChange}\n              onBlur={onBlur}\n              error={errors.description?.message}\n              multiline\n              numberOfLines={4}\n              textAlignVertical=\"top\"\n              style={styles.multiline}\n              maxLength={500}\n              hint=\"Мінімум 10 символів\"\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Slider ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"plannedDays\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label={`Тривалість: ${value} ${daysWord(value)}`}\n              description=\"Повзунок (Slider) — зручно для діапазону 1–14\"\n              error={errors.plannedDays?.message}\n              stacked\n              control={\n                \u003CSlider\n                  minimumValue={1}\n                  maximumValue={14}\n                  step={1}\n                  value={value}\n                  onValueChange={onChange}\n                  minimumTrackTintColor={colors.primary}\n                  maximumTrackTintColor={colors.border}\n                  thumbTintColor={colors.primary}\n                \u002F>\n              }\n            \u002F>\n          )}\n        \u002F>\n        \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n          Зараз на слайдері: {plannedDays}{' '}\n          {daysWord(plannedDays ?? 1)} (можна не збігатися з датами — це\n          окреме «орієнтовне» поле для навчання).\n        \u003C\u002FAppText>\n\n        {\u002F* ——— Switch ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"isPrivate\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label=\"Приватна поїздка\"\n              description=\"Switch: увімкнено — мітка «приватна» на картці\"\n              error={errors.isPrivate?.message}\n              control={\n                \u003CSwitch\n                  value={value}\n                  onValueChange={onChange}\n                  trackColor={{\n                    false: colors.border,\n                    true: colors.primary,\n                  }}\n                  thumbColor={colors.onPrimary}\n                  ios_backgroundColor={colors.border}\n                \u002F>\n              }\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Checkbox (опційний прапорець) ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"hasItinerary\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label=\"Є план маршруту\"\n              description=\"Checkbox: так \u002F ні, без обов’язковості\"\n              error={errors.hasItinerary?.message}\n              control={\n                \u003CCheckbox\n                  value={value}\n                  onValueChange={onChange}\n                  tintColors={{\n                    true: colors.primary,\n                    false: colors.border,\n                  }}\n                  onCheckColor={colors.onPrimary}\n                  onFillColor={colors.primary}\n                  onTintColor={colors.primary}\n                  boxType=\"square\"\n                \u002F>\n              }\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Checkbox (обов’язкова згода) ——— *\u002F}\n        \u003CController\n          control={control}\n          name=\"acceptedLocalSave\"\n          render={({ field: { onChange, value } }) => (\n            \u003CFormRow\n              label=\"Згода на локальне збереження\"\n              description=\"Поки немає API: дані лишаються в пам’яті застосунку\"\n              error={errors.acceptedLocalSave?.message}\n              control={\n                \u003CCheckbox\n                  value={Boolean(value)}\n                  onValueChange={onChange}\n                  tintColors={{\n                    true: colors.primary,\n                    false: colors.border,\n                  }}\n                  onCheckColor={colors.onPrimary}\n                  onFillColor={colors.primary}\n                  onTintColor={colors.primary}\n                  boxType=\"square\"\n                \u002F>\n              }\n            \u002F>\n          )}\n        \u002F>\n\n        {\u002F* ——— Button (Pressable-обгортка з shared\u002Fui) ——— *\u002F}\n        \u003CView style={{ gap: spacing.sm, marginTop: spacing.sm }}>\n          \u003CButton\n            label={submitting ? 'Створюємо…' : 'Створити поїздку'}\n            onPress={handleSubmit(onValid)}\n            disabled={submitting}\n          \u002F>\n          {onCancel ? (\n            \u003CButton\n              label=\"Скасувати\"\n              variant=\"secondary\"\n              onPress={onCancel}\n              disabled={submitting}\n            \u002F>\n          ) : null}\n        \u003C\u002FView>\n      \u003C\u002FScrollView>\n    \u003C\u002FKeyboardAvoidingView>\n  );\n}\n\nfunction daysWord(n: number): string {\n  const abs = Math.abs(n) % 100;\n  const last = abs % 10;\n  if (abs > 10 && abs \u003C 20) return 'днів';\n  if (last === 1) return 'день';\n  if (last >= 2 && last \u003C= 4) return 'дні';\n  return 'днів';\n}\n\nconst styles = StyleSheet.create({\n  flex: {\n    flex: 1,\n  },\n  content: {\n    flexGrow: 1,\n  },\n  multiline: {\n    minHeight: 110,\n  },\n  pickerWrap: {\n    borderWidth: 1,\n    overflow: 'hidden',\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FCreateTripForm.tsx",[3747,26686,26687,26703,26709,26715,26721,26727,26733,26740,26746,26756,26779,26797,26815,26830,26844,26848,26854,26860,26868,26879,26896,26919,26936,26953,26969,26994,26998,27007,27028,27042,27046,27050,27063,27078,27107,27115,27119,27123,27154,27172,27196,27204,27208,27212,27216,27221,27226,27230,27241,27247,27253,27263,27285,27309,27313,27319,27326,27333,27340,27352,27367,27382,27389,27398,27407,27416,27425,27443,27452,27462,27471,27476,27495,27499,27509,27519,27523,27527,27546,27564,27568,27590,27601,27614,27638,27651,27663,27675,27700,27730,27742,27754,27766,27771,27782,27792,27796,27800,27806,27812,27828,27857,27886,27890,27896,27912,27922,27933,27968,27974,27984,27994,28002,28006,28034,28039,28044,28049,28057,28061,28070,28077,28091,28100,28134,28141,28150,28160,28173,28186,28199,28222,28232,28242,28255,28259,28265,28269,28273,28282,28288,28300,28309,28335,28342,28351,28361,28381,28386,28395,28401,28411,28422,28426,28438,28450,28463,28475,28488,28492,28498,28502,28509,28522,28535,28552,28574,28578,28598,28606,28619,28632,28645,28662,28667,28674,28682,28690,28695,28699,28705,28709,28713,28722,28728,28740,28749,28779,28786,28795,28807,28820,28832,28852,28856,28862,28866,28870,28876,28888,28897,28927,28933,28942,28954,28966,28978,28998,29011,29015,29021,29025,29029,29038,29044,29056,29065,29095,29101,29110,29119,29131,29143,29155,29175,29180,29194,29203,29220,29232,29242,29246,29252,29256,29260,29269,29275,29287,29296,29322,29328,29362,29371,29391,29395,29403,29410,29423,29436,29449,29462,29475,29492,29509,29526,29531,29535,29539,29545,29549,29577,29593,29615,29621,29630,29635,29645,29652,29665,29675,29702,29709,29719,29729,29750,29759,29767,29780,29793,29805,29819,29833,29841,29859,29877,29882,29887,29892,29899,29904,29909,29919,29926,29939,29949,29976,29983,29993,30003,30024,30033,30041,30054,30067,30079,30092,30105,30112,30130,30148,30166,30177,30182,30187,30192,30199,30204,30209,30219,30226,30239,30249,30276,30283,30293,30303,30325,30334,30341,30361,30374,30385,30398,30411,30418,30435,30452,30469,30478,30483,30488,30493,30500,30505,30510,30520,30559,30566,30589,30610,30624,30629,30641,30648,30658,30669,30682,30696,30701,30710,30719,30728,30737,30742,30747,30752,30774,30804,30823,30856,30879,30911,30920,30925,30930,30947,30954,30963,30968,30976,30986,30991,30999,31010,31015,31023,31032,31043,31048],{"__ignoreMap":4011},[4160,26688,26689,26691,26693,26695,26697,26699,26701],{"class":4162,"line":4163},[4160,26690,4536],{"class":4535},[4160,26692,4540],{"class":4539},[4160,26694,5300],{"class":4543},[4160,26696,4546],{"class":4539},[4160,26698,4549],{"class":4535},[4160,26700,5307],{"class":4552},[4160,26702,4556],{"class":4539},[4160,26704,26705,26707],{"class":4162,"line":4169},[4160,26706,4536],{"class":4535},[4160,26708,5517],{"class":4539},[4160,26710,26711,26713],{"class":4162,"line":4175},[4160,26712,10208],{"class":4543},[4160,26714,4690],{"class":4539},[4160,26716,26717,26719],{"class":4162,"line":4181},[4160,26718,10215],{"class":4543},[4160,26720,4690],{"class":4539},[4160,26722,26723,26725],{"class":4162,"line":4188},[4160,26724,17542],{"class":4543},[4160,26726,4690],{"class":4539},[4160,26728,26729,26731],{"class":4162,"line":4194},[4160,26730,8074],{"class":4543},[4160,26732,4690],{"class":4539},[4160,26734,26735,26738],{"class":4162,"line":4200},[4160,26736,26737],{"class":4543},"  Switch",[4160,26739,4690],{"class":4539},[4160,26741,26742,26744],{"class":4162,"line":4206},[4160,26743,8088],{"class":4543},[4160,26745,4690],{"class":4539},[4160,26747,26748,26750,26752,26754],{"class":4162,"line":4212},[4160,26749,8095],{"class":4539},[4160,26751,4549],{"class":4535},[4160,26753,5324],{"class":4552},[4160,26755,4556],{"class":4539},[4160,26757,26758,26760,26762,26765,26767,26770,26772,26774,26777],{"class":4162,"line":4218},[4160,26759,4536],{"class":4535},[4160,26761,4540],{"class":4539},[4160,26763,26764],{"class":4543},"Controller",[4160,26766,4055],{"class":4539},[4160,26768,26769],{"class":4543},"useForm",[4160,26771,4546],{"class":4539},[4160,26773,4549],{"class":4535},[4160,26775,26776],{"class":4552}," 'react-hook-form'",[4160,26778,4556],{"class":4539},[4160,26780,26781,26783,26785,26788,26790,26792,26795],{"class":4162,"line":4224},[4160,26782,4536],{"class":4535},[4160,26784,4540],{"class":4539},[4160,26786,26787],{"class":4543},"zodResolver",[4160,26789,4546],{"class":4539},[4160,26791,4549],{"class":4535},[4160,26793,26794],{"class":4552}," '@hookform\u002Fresolvers\u002Fzod'",[4160,26796,4556],{"class":4539},[4160,26798,26799,26801,26803,26806,26808,26810,26813],{"class":4162,"line":4230},[4160,26800,4536],{"class":4535},[4160,26802,4540],{"class":4539},[4160,26804,26805],{"class":4543},"Picker",[4160,26807,4546],{"class":4539},[4160,26809,4549],{"class":4535},[4160,26811,26812],{"class":4552}," '@react-native-picker\u002Fpicker'",[4160,26814,4556],{"class":4539},[4160,26816,26817,26819,26822,26825,26828],{"class":4162,"line":4236},[4160,26818,4536],{"class":4535},[4160,26820,26821],{"class":4543}," Checkbox",[4160,26823,26824],{"class":4535}," from",[4160,26826,26827],{"class":4552}," '@react-native-community\u002Fcheckbox'",[4160,26829,4556],{"class":4539},[4160,26831,26832,26834,26837,26839,26842],{"class":4162,"line":4242},[4160,26833,4536],{"class":4535},[4160,26835,26836],{"class":4543}," Slider",[4160,26838,26824],{"class":4535},[4160,26840,26841],{"class":4552}," '@react-native-community\u002Fslider'",[4160,26843,4556],{"class":4539},[4160,26845,26846],{"class":4162,"line":4248},[4160,26847,4185],{"emptyLinePlaceholder":4184},[4160,26849,26850,26852],{"class":4162,"line":4254},[4160,26851,4536],{"class":4535},[4160,26853,5517],{"class":4539},[4160,26855,26856,26858],{"class":4162,"line":4259},[4160,26857,22970],{"class":4543},[4160,26859,4690],{"class":4539},[4160,26861,26862,26864,26866],{"class":4162,"line":4265},[4160,26863,14509],{"class":4535},[4160,26865,22979],{"class":4543},[4160,26867,4690],{"class":4539},[4160,26869,26870,26872,26874,26877],{"class":4162,"line":4271},[4160,26871,8095],{"class":4539},[4160,26873,4549],{"class":4535},[4160,26875,26876],{"class":4552}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FcreateTripSchema'",[4160,26878,4556],{"class":4539},[4160,26880,26881,26883,26885,26887,26889,26891,26894],{"class":4162,"line":4276},[4160,26882,4536],{"class":4535},[4160,26884,4540],{"class":4539},[4160,26886,23001],{"class":4543},[4160,26888,4546],{"class":4539},[4160,26890,4549],{"class":4535},[4160,26892,26893],{"class":4552}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002FformatTripDates'",[4160,26895,4556],{"class":4539},[4160,26897,26898,26900,26902,26904,26906,26908,26910,26912,26914,26917],{"class":4162,"line":4282},[4160,26899,4536],{"class":4535},[4160,26901,4540],{"class":4539},[4160,26903,22843],{"class":4543},[4160,26905,4055],{"class":4539},[4160,26907,6433],{"class":4535},[4160,26909,14521],{"class":4543},[4160,26911,4546],{"class":4539},[4160,26913,4549],{"class":4535},[4160,26915,26916],{"class":4552}," '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes'",[4160,26918,4556],{"class":4539},[4160,26920,26921,26923,26925,26927,26929,26931,26934],{"class":4162,"line":4288},[4160,26922,4536],{"class":4535},[4160,26924,4540],{"class":4539},[4160,26926,22911],{"class":4543},[4160,26928,4546],{"class":4539},[4160,26930,4549],{"class":4535},[4160,26932,26933],{"class":4552}," '@\u002Ffeatures\u002Ftrips\u002Fui\u002FDateField'",[4160,26935,4556],{"class":4539},[4160,26937,26938,26940,26942,26944,26946,26948,26951],{"class":4162,"line":4294},[4160,26939,4536],{"class":4535},[4160,26941,4540],{"class":4539},[4160,26943,22929],{"class":4543},[4160,26945,4546],{"class":4539},[4160,26947,4549],{"class":4535},[4160,26949,26950],{"class":4552}," '@\u002Ffeatures\u002Ftrips\u002Fui\u002FFormRow'",[4160,26952,4556],{"class":4539},[4160,26954,26955,26957,26959,26961,26963,26965,26967],{"class":4162,"line":4300},[4160,26956,4536],{"class":4535},[4160,26958,4540],{"class":4539},[4160,26960,4565],{"class":4543},[4160,26962,4546],{"class":4539},[4160,26964,4549],{"class":4535},[4160,26966,4572],{"class":4552},[4160,26968,4556],{"class":4539},[4160,26970,26971,26973,26975,26977,26979,26981,26983,26986,26988,26990,26992],{"class":4162,"line":4305},[4160,26972,4536],{"class":4535},[4160,26974,4540],{"class":4539},[4160,26976,14565],{"class":4543},[4160,26978,4055],{"class":4539},[4160,26980,14570],{"class":4543},[4160,26982,4055],{"class":4539},[4160,26984,26985],{"class":4543},"TextField",[4160,26987,4546],{"class":4539},[4160,26989,4549],{"class":4535},[4160,26991,14582],{"class":4552},[4160,26993,4556],{"class":4539},[4160,26995,26996],{"class":4162,"line":4311},[4160,26997,4185],{"emptyLinePlaceholder":4184},[4160,26999,27000,27002,27005],{"class":4162,"line":4317},[4160,27001,6433],{"class":4589},[4160,27003,27004],{"class":4637}," CreateTripFormProps",[4160,27006,5156],{"class":4539},[4160,27008,27009,27012,27014,27016,27018,27020,27022,27024,27026],{"class":4162,"line":4323},[4160,27010,27011],{"class":4593},"  onSubmitSuccess",[4160,27013,24624],{"class":4539},[4160,27015,5912],{"class":4543},[4160,27017,5814],{"class":4539},[4160,27019,14836],{"class":4637},[4160,27021,6644],{"class":4539},[4160,27023,5514],{"class":4589},[4160,27025,6444],{"class":4637},[4160,27027,4556],{"class":4539},[4160,27029,27030,27033,27036,27038,27040],{"class":4162,"line":4328},[4160,27031,27032],{"class":4593},"  onCancel",[4160,27034,27035],{"class":4539},"?: () ",[4160,27037,5514],{"class":4589},[4160,27039,6444],{"class":4637},[4160,27041,4556],{"class":4539},[4160,27043,27044],{"class":4162,"line":4333},[4160,27045,5171],{"class":4539},[4160,27047,27048],{"class":4162,"line":5663},[4160,27049,4185],{"emptyLinePlaceholder":4184},[4160,27051,27052,27054,27057,27059,27061],{"class":4162,"line":5676},[4160,27053,6620],{"class":4589},[4160,27055,27056],{"class":4593}," startOfToday",[4160,27058,6672],{"class":4539},[4160,27060,6871],{"class":4637},[4160,27062,5517],{"class":4539},[4160,27064,27065,27067,27070,27072,27074,27076],{"class":4162,"line":6728},[4160,27066,4602],{"class":4589},[4160,27068,27069],{"class":4607}," d",[4160,27071,5385],{"class":4539},[4160,27073,6600],{"class":4589},[4160,27075,6508],{"class":4593},[4160,27077,4616],{"class":4539},[4160,27079,27080,27083,27085,27088,27090,27093,27095,27097,27099,27101,27103,27105],{"class":4162,"line":6733},[4160,27081,27082],{"class":4543},"  d",[4160,27084,3840],{"class":4539},[4160,27086,27087],{"class":4593},"setHours",[4160,27089,5411],{"class":4539},[4160,27091,27092],{"class":5485},"12",[4160,27094,4055],{"class":4539},[4160,27096,5486],{"class":5485},[4160,27098,4055],{"class":4539},[4160,27100,5486],{"class":5485},[4160,27102,4055],{"class":4539},[4160,27104,5486],{"class":5485},[4160,27106,5417],{"class":4539},[4160,27108,27109,27111,27113],{"class":4162,"line":6738},[4160,27110,4625],{"class":4535},[4160,27112,27069],{"class":4543},[4160,27114,4556],{"class":4539},[4160,27116,27117],{"class":4162,"line":6768},[4160,27118,4251],{"class":4539},[4160,27120,27121],{"class":4162,"line":6803},[4160,27122,4185],{"emptyLinePlaceholder":4184},[4160,27124,27125,27127,27130,27132,27135,27137,27139,27141,27144,27146,27148,27150,27152],{"class":4162,"line":6808},[4160,27126,6620],{"class":4589},[4160,27128,27129],{"class":4593}," addDays",[4160,27131,5411],{"class":4539},[4160,27133,27134],{"class":4543},"base",[4160,27136,5814],{"class":4539},[4160,27138,6871],{"class":4637},[4160,27140,4055],{"class":4539},[4160,27142,27143],{"class":4543},"days",[4160,27145,5814],{"class":4539},[4160,27147,6418],{"class":4637},[4160,27149,6756],{"class":4539},[4160,27151,6871],{"class":4637},[4160,27153,5517],{"class":4539},[4160,27155,27156,27158,27160,27162,27164,27166,27168,27170],{"class":4162,"line":6813},[4160,27157,4602],{"class":4589},[4160,27159,27069],{"class":4607},[4160,27161,5385],{"class":4539},[4160,27163,6600],{"class":4589},[4160,27165,6508],{"class":4593},[4160,27167,5411],{"class":4539},[4160,27169,27134],{"class":4543},[4160,27171,5417],{"class":4539},[4160,27173,27174,27176,27178,27181,27183,27185,27187,27189,27192,27194],{"class":4162,"line":6847},[4160,27175,27082],{"class":4543},[4160,27177,3840],{"class":4539},[4160,27179,27180],{"class":4593},"setDate",[4160,27182,5411],{"class":4539},[4160,27184,24021],{"class":4543},[4160,27186,3840],{"class":4539},[4160,27188,24046],{"class":4593},[4160,27190,27191],{"class":4539},"() + ",[4160,27193,27143],{"class":4543},[4160,27195,5417],{"class":4539},[4160,27197,27198,27200,27202],{"class":4162,"line":6861},[4160,27199,4625],{"class":4535},[4160,27201,27069],{"class":4543},[4160,27203,4556],{"class":4539},[4160,27205,27206],{"class":4162,"line":6881},[4160,27207,4251],{"class":4539},[4160,27209,27210],{"class":4162,"line":6901},[4160,27211,4185],{"emptyLinePlaceholder":4184},[4160,27213,27214],{"class":4162,"line":6916},[4160,27215,13075],{"class":4763},[4160,27217,27218],{"class":4162,"line":6929},[4160,27219,27220],{"class":4763}," * Форма «Нова поїздка»: усі основні form-контроли + RHF + Zod.\n",[4160,27222,27223],{"class":4162,"line":6935},[4160,27224,27225],{"class":4763}," * Не залежить від навігації — батько вирішує, куди піти після submit.\n",[4160,27227,27228],{"class":4162,"line":6953},[4160,27229,13105],{"class":4763},[4160,27231,27232,27234,27236,27239],{"class":4162,"line":6961},[4160,27233,4583],{"class":4535},[4160,27235,4590],{"class":4589},[4160,27237,27238],{"class":4593}," CreateTripForm",[4160,27240,8970],{"class":4539},[4160,27242,27243,27245],{"class":4162,"line":6970},[4160,27244,27011],{"class":4543},[4160,27246,4690],{"class":4539},[4160,27248,27249,27251],{"class":4162,"line":6975},[4160,27250,27032],{"class":4543},[4160,27252,4690],{"class":4539},[4160,27254,27255,27258,27261],{"class":4162,"line":6980},[4160,27256,27257],{"class":4539},"}: ",[4160,27259,27260],{"class":4637},"CreateTripFormProps",[4160,27262,5915],{"class":4539},[4160,27264,27265,27267,27269,27271,27273,27275,27277,27279,27281,27283],{"class":4162,"line":7008},[4160,27266,4602],{"class":4589},[4160,27268,4540],{"class":4539},[4160,27270,4608],{"class":4607},[4160,27272,4055],{"class":4539},[4160,27274,14738],{"class":4607},[4160,27276,4055],{"class":4539},[4160,27278,17861],{"class":4607},[4160,27280,4611],{"class":4539},[4160,27282,4565],{"class":4593},[4160,27284,4616],{"class":4539},[4160,27286,27287,27289,27291,27294,27296,27299,27301,27303,27305,27307],{"class":4162,"line":7024},[4160,27288,4602],{"class":4589},[4160,27290,5396],{"class":4539},[4160,27292,27293],{"class":4607},"submitting",[4160,27295,4055],{"class":4539},[4160,27297,27298],{"class":4607},"setSubmitting",[4160,27300,5406],{"class":4539},[4160,27302,5300],{"class":4593},[4160,27304,5411],{"class":4539},[4160,27306,5440],{"class":4589},[4160,27308,5417],{"class":4539},[4160,27310,27311],{"class":4162,"line":7035},[4160,27312,4185],{"emptyLinePlaceholder":4184},[4160,27314,27315,27317],{"class":4162,"line":7052},[4160,27316,4602],{"class":4589},[4160,27318,5517],{"class":4539},[4160,27320,27321,27324],{"class":4162,"line":7057},[4160,27322,27323],{"class":4607},"    control",[4160,27325,4690],{"class":4539},[4160,27327,27328,27331],{"class":4162,"line":8928},[4160,27329,27330],{"class":4607},"    handleSubmit",[4160,27332,4690],{"class":4539},[4160,27334,27335,27338],{"class":4162,"line":8937},[4160,27336,27337],{"class":4607},"    watch",[4160,27339,4690],{"class":4539},[4160,27341,27342,27345,27347,27350],{"class":4162,"line":8942},[4160,27343,27344],{"class":4543},"    formState",[4160,27346,14598],{"class":4539},[4160,27348,27349],{"class":4607},"errors",[4160,27351,4675],{"class":4539},[4160,27353,27354,27357,27359,27361,27364],{"class":4162,"line":8947},[4160,27355,27356],{"class":4539},"  } = ",[4160,27358,26769],{"class":4593},[4160,27360,5018],{"class":4539},[4160,27362,27363],{"class":4637},"CreateTripFormValues",[4160,27365,27366],{"class":4539},">({\n",[4160,27368,27369,27372,27375,27377,27380],{"class":4162,"line":8952},[4160,27370,27371],{"class":4543},"    resolver:",[4160,27373,27374],{"class":4593}," zodResolver",[4160,27376,5411],{"class":4539},[4160,27378,27379],{"class":4543},"createTripSchema",[4160,27381,5636],{"class":4539},[4160,27383,27384,27387],{"class":4162,"line":8973},[4160,27385,27386],{"class":4543},"    defaultValues:",[4160,27388,5517],{"class":4539},[4160,27390,27391,27394,27396],{"class":4162,"line":8995},[4160,27392,27393],{"class":4543},"      title:",[4160,27395,18591],{"class":4552},[4160,27397,4690],{"class":4539},[4160,27399,27400,27403,27405],{"class":4162,"line":9003},[4160,27401,27402],{"class":4543},"      region:",[4160,27404,25294],{"class":4552},[4160,27406,4690],{"class":4539},[4160,27408,27409,27412,27414],{"class":4162,"line":9014},[4160,27410,27411],{"class":4543},"      description:",[4160,27413,18591],{"class":4552},[4160,27415,4690],{"class":4539},[4160,27417,27418,27421,27423],{"class":4162,"line":9025},[4160,27419,27420],{"class":4543},"      startDate:",[4160,27422,27056],{"class":4593},[4160,27424,6913],{"class":4539},[4160,27426,27427,27430,27432,27434,27437,27439,27441],{"class":4162,"line":9035},[4160,27428,27429],{"class":4543},"      endDate:",[4160,27431,27129],{"class":4593},[4160,27433,5411],{"class":4539},[4160,27435,27436],{"class":4593},"startOfToday",[4160,27438,10760],{"class":4539},[4160,27440,8732],{"class":5485},[4160,27442,5636],{"class":4539},[4160,27444,27445,27448,27450],{"class":4162,"line":9045},[4160,27446,27447],{"class":4543},"      isPrivate:",[4160,27449,4724],{"class":4589},[4160,27451,4690],{"class":4539},[4160,27453,27454,27457,27460],{"class":4162,"line":9055},[4160,27455,27456],{"class":4543},"      plannedDays:",[4160,27458,27459],{"class":5485}," 3",[4160,27461,4690],{"class":4539},[4160,27463,27464,27467,27469],{"class":4162,"line":9060},[4160,27465,27466],{"class":4543},"      hasItinerary:",[4160,27468,4724],{"class":4589},[4160,27470,4690],{"class":4539},[4160,27472,27473],{"class":4162,"line":9088},[4160,27474,27475],{"class":4763},"      \u002F\u002F literal true — у default false, щоб користувач свідомо поставив галочку\n",[4160,27477,27478,27481,27483,27486,27489,27491,27493],{"class":4162,"line":9117},[4160,27479,27480],{"class":4543},"      acceptedLocalSave:",[4160,27482,4724],{"class":4589},[4160,27484,27485],{"class":4535}," as",[4160,27487,27488],{"class":4637}," unknown",[4160,27490,27485],{"class":4535},[4160,27492,5069],{"class":4637},[4160,27494,4690],{"class":4539},[4160,27496,27497],{"class":4162,"line":9146},[4160,27498,12732],{"class":4539},[4160,27500,27501,27504,27507],{"class":4162,"line":9154},[4160,27502,27503],{"class":4543},"    mode:",[4160,27505,27506],{"class":4552}," 'onSubmit'",[4160,27508,4690],{"class":4539},[4160,27510,27511,27514,27517],{"class":4162,"line":9165},[4160,27512,27513],{"class":4543},"    reValidateMode:",[4160,27515,27516],{"class":4552}," 'onChange'",[4160,27518,4690],{"class":4539},[4160,27520,27521],{"class":4162,"line":9175},[4160,27522,5656],{"class":4539},[4160,27524,27525],{"class":4162,"line":9185},[4160,27526,4185],{"emptyLinePlaceholder":4184},[4160,27528,27529,27531,27534,27536,27539,27541,27544],{"class":4162,"line":9195},[4160,27530,4602],{"class":4589},[4160,27532,27533],{"class":4607}," startDate",[4160,27535,5385],{"class":4539},[4160,27537,27538],{"class":4593},"watch",[4160,27540,5411],{"class":4539},[4160,27542,27543],{"class":4552},"'startDate'",[4160,27545,5417],{"class":4539},[4160,27547,27548,27550,27553,27555,27557,27559,27562],{"class":4162,"line":9206},[4160,27549,4602],{"class":4589},[4160,27551,27552],{"class":4607}," plannedDays",[4160,27554,5385],{"class":4539},[4160,27556,27538],{"class":4593},[4160,27558,5411],{"class":4539},[4160,27560,27561],{"class":4552},"'plannedDays'",[4160,27563,5417],{"class":4539},[4160,27565,27566],{"class":4162,"line":9211},[4160,27567,4185],{"emptyLinePlaceholder":4184},[4160,27569,27570,27572,27575,27577,27580,27582,27584,27586,27588],{"class":4162,"line":9239},[4160,27571,4602],{"class":4589},[4160,27573,27574],{"class":4593}," onValid",[4160,27576,23311],{"class":4539},[4160,27578,27579],{"class":4543},"values",[4160,27581,5814],{"class":4539},[4160,27583,27363],{"class":4637},[4160,27585,6644],{"class":4539},[4160,27587,5514],{"class":4589},[4160,27589,5517],{"class":4539},[4160,27591,27592,27595,27597,27599],{"class":4162,"line":9266},[4160,27593,27594],{"class":4593},"    setSubmitting",[4160,27596,5411],{"class":4539},[4160,27598,5693],{"class":4589},[4160,27600,5417],{"class":4539},[4160,27602,27603,27606,27608,27610,27612],{"class":4162,"line":9274},[4160,27604,27605],{"class":4589},"    const",[4160,27607,5875],{"class":4607},[4160,27609,5814],{"class":4539},[4160,27611,14836],{"class":4637},[4160,27613,5156],{"class":4539},[4160,27615,27616,27619,27622,27624,27626,27628,27630,27632,27634,27636],{"class":4162,"line":9283},[4160,27617,27618],{"class":4543},"      id:",[4160,27620,27621],{"class":4552}," `local-",[4160,27623,5939],{"class":4589},[4160,27625,6871],{"class":4543},[4160,27627,3840],{"class":4653},[4160,27629,6513],{"class":4593},[4160,27631,9721],{"class":4653},[4160,27633,4803],{"class":4589},[4160,27635,8630],{"class":4552},[4160,27637,4690],{"class":4539},[4160,27639,27640,27642,27645,27647,27649],{"class":4162,"line":9293},[4160,27641,27393],{"class":4543},[4160,27643,27644],{"class":4543}," values",[4160,27646,3840],{"class":4539},[4160,27648,6825],{"class":4543},[4160,27650,4690],{"class":4539},[4160,27652,27653,27655,27657,27659,27661],{"class":4162,"line":9303},[4160,27654,27402],{"class":4543},[4160,27656,27644],{"class":4543},[4160,27658,3840],{"class":4539},[4160,27660,18548],{"class":4543},[4160,27662,4690],{"class":4539},[4160,27664,27665,27667,27669,27671,27673],{"class":4162,"line":9308},[4160,27666,27411],{"class":4543},[4160,27668,27644],{"class":4543},[4160,27670,3840],{"class":4539},[4160,27672,18828],{"class":4543},[4160,27674,4690],{"class":4539},[4160,27676,27677,27680,27682,27684,27686,27688,27690,27692,27694,27696,27698],{"class":4162,"line":9316},[4160,27678,27679],{"class":4543},"      dateLabel:",[4160,27681,24109],{"class":4593},[4160,27683,5411],{"class":4539},[4160,27685,27579],{"class":4543},[4160,27687,3840],{"class":4539},[4160,27689,23833],{"class":4543},[4160,27691,4055],{"class":4539},[4160,27693,27579],{"class":4543},[4160,27695,3840],{"class":4539},[4160,27697,23818],{"class":4543},[4160,27699,5636],{"class":4539},[4160,27701,27702,27705,27708,27710,27713,27715,27717,27719,27721,27723,27725,27728],{"class":4162,"line":9325},[4160,27703,27704],{"class":4543},"      coverUri:",[4160,27706,27707],{"class":4552}," `https:\u002F\u002Fpicsum.photos\u002Fseed\u002F",[4160,27709,5939],{"class":4589},[4160,27711,27712],{"class":4593},"encodeURIComponent",[4160,27714,5411],{"class":4653},[4160,27716,27579],{"class":4543},[4160,27718,3840],{"class":4653},[4160,27720,6825],{"class":4543},[4160,27722,5128],{"class":4653},[4160,27724,4803],{"class":4589},[4160,27726,27727],{"class":4552},"\u002F800\u002F400`",[4160,27729,4690],{"class":4539},[4160,27731,27732,27734,27736,27738,27740],{"class":4162,"line":9335},[4160,27733,27447],{"class":4543},[4160,27735,27644],{"class":4543},[4160,27737,3840],{"class":4539},[4160,27739,18653],{"class":4543},[4160,27741,4690],{"class":4539},[4160,27743,27744,27746,27748,27750,27752],{"class":4162,"line":9344},[4160,27745,27456],{"class":4543},[4160,27747,27644],{"class":4543},[4160,27749,3840],{"class":4539},[4160,27751,18578],{"class":4543},[4160,27753,4690],{"class":4539},[4160,27755,27756,27758,27760,27762,27764],{"class":4162,"line":9355},[4160,27757,27466],{"class":4543},[4160,27759,27644],{"class":4543},[4160,27761,3840],{"class":4539},[4160,27763,18718],{"class":4543},[4160,27765,4690],{"class":4539},[4160,27767,27768],{"class":4162,"line":9360},[4160,27769,27770],{"class":4539},"    };\n",[4160,27772,27773,27776,27778,27780],{"class":4162,"line":9380},[4160,27774,27775],{"class":4593},"    onSubmitSuccess",[4160,27777,5411],{"class":4539},[4160,27779,5912],{"class":4543},[4160,27781,5417],{"class":4539},[4160,27783,27784,27786,27788,27790],{"class":4162,"line":11316},[4160,27785,27594],{"class":4593},[4160,27787,5411],{"class":4539},[4160,27789,5440],{"class":4589},[4160,27791,5417],{"class":4539},[4160,27793,27794],{"class":4162,"line":11325},[4160,27795,6932],{"class":4539},[4160,27797,27798],{"class":4162,"line":11334},[4160,27799,4185],{"emptyLinePlaceholder":4184},[4160,27801,27802,27804],{"class":4162,"line":11344},[4160,27803,4625],{"class":4535},[4160,27805,4628],{"class":4539},[4160,27807,27808,27810],{"class":4162,"line":11353},[4160,27809,4634],{"class":4633},[4160,27811,10785],{"class":4637},[4160,27813,27814,27816,27818,27820,27822,27824,27826],{"class":4162,"line":11364},[4160,27815,10790],{"class":4643},[4160,27817,4647],{"class":4539},[4160,27819,4650],{"class":4589},[4160,27821,8287],{"class":4543},[4160,27823,3840],{"class":4653},[4160,27825,10801],{"class":4543},[4160,27827,4251],{"class":4589},[4160,27829,27830,27832,27834,27836,27838,27840,27842,27844,27846,27848,27850,27852,27855],{"class":4162,"line":11369},[4160,27831,10808],{"class":4643},[4160,27833,4647],{"class":4539},[4160,27835,4650],{"class":4589},[4160,27837,10815],{"class":4543},[4160,27839,3840],{"class":4653},[4160,27841,10820],{"class":4607},[4160,27843,10823],{"class":4539},[4160,27845,10826],{"class":4552},[4160,27847,10829],{"class":4539},[4160,27849,10832],{"class":4552},[4160,27851,10835],{"class":4539},[4160,27853,27854],{"class":4552}," 'height'",[4160,27856,4251],{"class":4589},[4160,27858,27859,27862,27864,27866,27868,27870,27872,27874,27876,27878,27880,27882,27884],{"class":4162,"line":11377},[4160,27860,27861],{"class":4643},"      keyboardVerticalOffset",[4160,27863,4647],{"class":4539},[4160,27865,4650],{"class":4589},[4160,27867,10815],{"class":4543},[4160,27869,3840],{"class":4653},[4160,27871,10820],{"class":4607},[4160,27873,10823],{"class":4539},[4160,27875,10826],{"class":4552},[4160,27877,10829],{"class":4539},[4160,27879,9020],{"class":5485},[4160,27881,10835],{"class":4539},[4160,27883,15247],{"class":5485},[4160,27885,4251],{"class":4589},[4160,27887,27888],{"class":4162,"line":11386},[4160,27889,4755],{"class":4633},[4160,27891,27892,27894],{"class":4162,"line":11395},[4160,27893,4771],{"class":4633},[4160,27895,18292],{"class":4637},[4160,27897,27898,27900,27902,27904,27906,27908,27910],{"class":4162,"line":11404},[4160,27899,15749],{"class":4643},[4160,27901,4647],{"class":4539},[4160,27903,4650],{"class":4589},[4160,27905,8287],{"class":4543},[4160,27907,3840],{"class":4653},[4160,27909,10801],{"class":4543},[4160,27911,4251],{"class":4589},[4160,27913,27914,27916,27918,27920],{"class":4162,"line":11413},[4160,27915,8482],{"class":4643},[4160,27917,4647],{"class":4539},[4160,27919,4650],{"class":4589},[4160,27921,15595],{"class":4653},[4160,27923,27924,27926,27928,27931],{"class":4162,"line":11422},[4160,27925,15845],{"class":4543},[4160,27927,3840],{"class":4653},[4160,27929,27930],{"class":4543},"content",[4160,27932,4690],{"class":4653},[4160,27934,27935,27938,27940,27942,27944,27946,27948,27950,27952,27954,27956,27958,27960,27962,27964,27966],{"class":4162,"line":11431},[4160,27936,27937],{"class":4653},"          { ",[4160,27939,9125],{"class":4543},[4160,27941,15210],{"class":4543},[4160,27943,3840],{"class":4653},[4160,27945,15215],{"class":4543},[4160,27947,4055],{"class":4653},[4160,27949,11276],{"class":4543},[4160,27951,15210],{"class":4543},[4160,27953,3840],{"class":4653},[4160,27955,15215],{"class":4543},[4160,27957,4055],{"class":4653},[4160,27959,9132],{"class":4543},[4160,27961,15210],{"class":4543},[4160,27963,3840],{"class":4653},[4160,27965,15636],{"class":4543},[4160,27967,4675],{"class":4653},[4160,27969,27970,27972],{"class":4162,"line":11440},[4160,27971,15940],{"class":4653},[4160,27973,4251],{"class":4589},[4160,27975,27976,27979,27981],{"class":4162,"line":11449},[4160,27977,27978],{"class":4643},"        keyboardShouldPersistTaps",[4160,27980,4647],{"class":4539},[4160,27982,27983],{"class":4552},"\"handled\"\n",[4160,27985,27986,27989,27991],{"class":4162,"line":11454},[4160,27987,27988],{"class":4643},"        keyboardDismissMode",[4160,27990,4647],{"class":4539},[4160,27992,27993],{"class":4552},"\"on-drag\"\n",[4160,27995,27996,27998,28000],{"class":4162,"line":11470},[4160,27997,18326],{"class":4643},[4160,27999,4647],{"class":4539},[4160,28001,15429],{"class":4589},[4160,28003,28004],{"class":4162,"line":11477},[4160,28005,7262],{"class":4633},[4160,28007,28008,28010,28012,28014,28016,28018,28020,28022,28024,28026,28028,28030,28032],{"class":4162,"line":11487},[4160,28009,7267],{"class":4633},[4160,28011,14565],{"class":4637},[4160,28013,15675],{"class":4643},[4160,28015,4647],{"class":4539},[4160,28017,15986],{"class":4552},[4160,28019,7647],{"class":4643},[4160,28021,4647],{"class":4539},[4160,28023,4650],{"class":4589},[4160,28025,4608],{"class":4543},[4160,28027,3840],{"class":4653},[4160,28029,13656],{"class":4543},[4160,28031,4803],{"class":4589},[4160,28033,4890],{"class":4633},[4160,28035,28036],{"class":4162,"line":11496},[4160,28037,28038],{"class":4539},"          Заповніть поля. Помилки з’являться після натискання «Створити», якщо\n",[4160,28040,28041],{"class":4162,"line":11505},[4160,28042,28043],{"class":4539},"          щось не так. Тут зібрані різні типи контролів: текст, список, дати,\n",[4160,28045,28046],{"class":4162,"line":11514},[4160,28047,28048],{"class":4539},"          перемикач, галочка, повзунок.\n",[4160,28050,28051,28053,28055],{"class":4162,"line":11523},[4160,28052,8414],{"class":4633},[4160,28054,14565],{"class":4637},[4160,28056,4890],{"class":4633},[4160,28058,28059],{"class":4162,"line":11528},[4160,28060,4185],{"emptyLinePlaceholder":4184},[4160,28062,28063,28065,28068],{"class":4162,"line":11547},[4160,28064,19412],{"class":4589},[4160,28066,28067],{"class":4763},"\u002F* ——— TextInput ——— *\u002F",[4160,28069,4251],{"class":4589},[4160,28071,28072,28074],{"class":4162,"line":15854},[4160,28073,7267],{"class":4633},[4160,28075,28076],{"class":4637},"Controller\n",[4160,28078,28079,28082,28084,28086,28089],{"class":4162,"line":15860},[4160,28080,28081],{"class":4643},"          control",[4160,28083,4647],{"class":4539},[4160,28085,4650],{"class":4589},[4160,28087,28088],{"class":4543},"control",[4160,28090,4251],{"class":4589},[4160,28092,28093,28095,28097],{"class":4162,"line":15874},[4160,28094,7305],{"class":4643},[4160,28096,4647],{"class":4539},[4160,28098,28099],{"class":4552},"\"title\"\n",[4160,28101,28102,28105,28107,28109,28111,28113,28115,28118,28120,28123,28125,28127,28130,28132],{"class":4162,"line":15888},[4160,28103,28104],{"class":4643},"          render",[4160,28106,4647],{"class":4539},[4160,28108,4650],{"class":4589},[4160,28110,8593],{"class":4653},[4160,28112,4481],{"class":4543},[4160,28114,14598],{"class":4653},[4160,28116,28117],{"class":4543},"onChange",[4160,28119,4055],{"class":4653},[4160,28121,28122],{"class":4543},"onBlur",[4160,28124,4055],{"class":4653},[4160,28126,25067],{"class":4543},[4160,28128,28129],{"class":4653}," } }) ",[4160,28131,5514],{"class":4589},[4160,28133,4628],{"class":4653},[4160,28135,28136,28138],{"class":4162,"line":15902},[4160,28137,7624],{"class":4633},[4160,28139,28140],{"class":4637},"TextField\n",[4160,28142,28143,28145,28147],{"class":4162,"line":15917},[4160,28144,19079],{"class":4643},[4160,28146,4647],{"class":4539},[4160,28148,28149],{"class":4552},"\"Назва поїздки\"\n",[4160,28151,28152,28155,28157],{"class":4162,"line":15931},[4160,28153,28154],{"class":4643},"              placeholder",[4160,28156,4647],{"class":4539},[4160,28158,28159],{"class":4552},"\"Наприклад, Карпати на вихідні\"\n",[4160,28161,28162,28165,28167,28169,28171],{"class":4162,"line":15937},[4160,28163,28164],{"class":4643},"              value",[4160,28166,4647],{"class":4539},[4160,28168,4650],{"class":4589},[4160,28170,25067],{"class":4543},[4160,28172,4251],{"class":4589},[4160,28174,28175,28178,28180,28182,28184],{"class":4162,"line":15945},[4160,28176,28177],{"class":4643},"              onChangeText",[4160,28179,4647],{"class":4539},[4160,28181,4650],{"class":4589},[4160,28183,28117],{"class":4543},[4160,28185,4251],{"class":4589},[4160,28187,28188,28191,28193,28195,28197],{"class":4162,"line":15950},[4160,28189,28190],{"class":4643},"              onBlur",[4160,28192,4647],{"class":4539},[4160,28194,4650],{"class":4589},[4160,28196,28122],{"class":4543},[4160,28198,4251],{"class":4589},[4160,28200,28201,28204,28206,28208,28210,28212,28214,28217,28220],{"class":4162,"line":15975},[4160,28202,28203],{"class":4643},"              error",[4160,28205,4647],{"class":4539},[4160,28207,4650],{"class":4589},[4160,28209,27349],{"class":4543},[4160,28211,3840],{"class":4653},[4160,28213,6825],{"class":4543},[4160,28215,28216],{"class":4653},"?.",[4160,28218,28219],{"class":4543},"message",[4160,28221,4251],{"class":4589},[4160,28223,28224,28227,28229],{"class":4162,"line":16011},[4160,28225,28226],{"class":4643},"              autoCapitalize",[4160,28228,4647],{"class":4539},[4160,28230,28231],{"class":4552},"\"sentences\"\n",[4160,28233,28234,28237,28239],{"class":4162,"line":16037},[4160,28235,28236],{"class":4643},"              returnKeyType",[4160,28238,4647],{"class":4539},[4160,28240,28241],{"class":4552},"\"next\"\n",[4160,28243,28244,28247,28249,28251,28253],{"class":4162,"line":16046},[4160,28245,28246],{"class":4643},"              maxLength",[4160,28248,4647],{"class":4539},[4160,28250,4650],{"class":4589},[4160,28252,23504],{"class":5485},[4160,28254,4251],{"class":4589},[4160,28256,28257],{"class":4162,"line":16053},[4160,28258,7774],{"class":4633},[4160,28260,28261,28263],{"class":4162,"line":16063},[4160,28262,19024],{"class":4653},[4160,28264,4251],{"class":4589},[4160,28266,28267],{"class":4162,"line":16074},[4160,28268,7361],{"class":4633},[4160,28270,28271],{"class":4162,"line":16088},[4160,28272,4185],{"emptyLinePlaceholder":4184},[4160,28274,28275,28277,28280],{"class":4162,"line":16102},[4160,28276,19412],{"class":4589},[4160,28278,28279],{"class":4763},"\u002F* ——— Picker ——— *\u002F",[4160,28281,4251],{"class":4589},[4160,28283,28284,28286],{"class":4162,"line":16112},[4160,28285,7267],{"class":4633},[4160,28287,28076],{"class":4637},[4160,28289,28290,28292,28294,28296,28298],{"class":4162,"line":16119},[4160,28291,28081],{"class":4643},[4160,28293,4647],{"class":4539},[4160,28295,4650],{"class":4589},[4160,28297,28088],{"class":4543},[4160,28299,4251],{"class":4589},[4160,28301,28302,28304,28306],{"class":4162,"line":16124},[4160,28303,7305],{"class":4643},[4160,28305,4647],{"class":4539},[4160,28307,28308],{"class":4552},"\"region\"\n",[4160,28310,28311,28313,28315,28317,28319,28321,28323,28325,28327,28329,28331,28333],{"class":4162,"line":16141},[4160,28312,28104],{"class":4643},[4160,28314,4647],{"class":4539},[4160,28316,4650],{"class":4589},[4160,28318,8593],{"class":4653},[4160,28320,4481],{"class":4543},[4160,28322,14598],{"class":4653},[4160,28324,28117],{"class":4543},[4160,28326,4055],{"class":4653},[4160,28328,25067],{"class":4543},[4160,28330,28129],{"class":4653},[4160,28332,5514],{"class":4589},[4160,28334,4628],{"class":4653},[4160,28336,28337,28339],{"class":4162,"line":16176},[4160,28338,7624],{"class":4633},[4160,28340,28341],{"class":4637},"FormRow\n",[4160,28343,28344,28346,28348],{"class":4162,"line":16187},[4160,28345,19079],{"class":4643},[4160,28347,4647],{"class":4539},[4160,28349,28350],{"class":4552},"\"Регіон\"\n",[4160,28352,28353,28356,28358],{"class":4162,"line":16196},[4160,28354,28355],{"class":4643},"              description",[4160,28357,4647],{"class":4539},[4160,28359,28360],{"class":4552},"\"Оберіть зі списку (Picker), а не вводьте вручну\"\n",[4160,28362,28363,28365,28367,28369,28371,28373,28375,28377,28379],{"class":4162,"line":16201},[4160,28364,28203],{"class":4643},[4160,28366,4647],{"class":4539},[4160,28368,4650],{"class":4589},[4160,28370,27349],{"class":4543},[4160,28372,3840],{"class":4653},[4160,28374,18548],{"class":4543},[4160,28376,28216],{"class":4653},[4160,28378,28219],{"class":4543},[4160,28380,4251],{"class":4589},[4160,28382,28383],{"class":4162,"line":16251},[4160,28384,28385],{"class":4643},"              stacked\n",[4160,28387,28388,28391,28393],{"class":4162,"line":16274},[4160,28389,28390],{"class":4643},"              control",[4160,28392,4647],{"class":4539},[4160,28394,4654],{"class":4589},[4160,28396,28397,28399],{"class":4162,"line":16300},[4160,28398,16516],{"class":4633},[4160,28400,15584],{"class":4637},[4160,28402,28403,28405,28407,28409],{"class":4162,"line":16308},[4160,28404,16566],{"class":4643},[4160,28406,4647],{"class":4539},[4160,28408,4650],{"class":4589},[4160,28410,15595],{"class":4653},[4160,28412,28413,28415,28417,28420],{"class":4162,"line":16315},[4160,28414,21575],{"class":4543},[4160,28416,3840],{"class":4653},[4160,28418,28419],{"class":4543},"pickerWrap",[4160,28421,4690],{"class":4653},[4160,28423,28424],{"class":4162,"line":16333},[4160,28425,21586],{"class":4653},[4160,28427,28428,28430,28433,28435],{"class":4162,"line":16362},[4160,28429,21616],{"class":4543},[4160,28431,28432],{"class":4543}," errors",[4160,28434,3840],{"class":4653},[4160,28436,28437],{"class":4543},"region\n",[4160,28439,28440,28443,28445,28447],{"class":4162,"line":16374},[4160,28441,28442],{"class":4539},"                        ?",[4160,28444,4667],{"class":4543},[4160,28446,3840],{"class":4653},[4160,28448,28449],{"class":4543},"danger\n",[4160,28451,28452,28455,28457,28459,28461],{"class":4162,"line":16387},[4160,28453,28454],{"class":4539},"                        :",[4160,28456,4667],{"class":4543},[4160,28458,3840],{"class":4653},[4160,28460,13687],{"class":4543},[4160,28462,4690],{"class":4653},[4160,28464,28465,28467,28469,28471,28473],{"class":4162,"line":16393},[4160,28466,21591],{"class":4543},[4160,28468,4667],{"class":4543},[4160,28470,3840],{"class":4653},[4160,28472,16415],{"class":4543},[4160,28474,4690],{"class":4653},[4160,28476,28477,28480,28482,28484,28486],{"class":4162,"line":16420},[4160,28478,28479],{"class":4543},"                      borderRadius:",[4160,28481,19305],{"class":4543},[4160,28483,3840],{"class":4653},[4160,28485,15215],{"class":4543},[4160,28487,4690],{"class":4653},[4160,28489,28490],{"class":4162,"line":16434},[4160,28491,21629],{"class":4653},[4160,28493,28494,28496],{"class":4162,"line":16440},[4160,28495,21634],{"class":4653},[4160,28497,4251],{"class":4589},[4160,28499,28500],{"class":4162,"line":16448},[4160,28501,16585],{"class":4633},[4160,28503,28504,28506],{"class":4162,"line":16459},[4160,28505,21698],{"class":4633},[4160,28507,28508],{"class":4637},"Picker\n",[4160,28510,28511,28514,28516,28518,28520],{"class":4162,"line":16480},[4160,28512,28513],{"class":4643},"                    selectedValue",[4160,28515,4647],{"class":4539},[4160,28517,4650],{"class":4589},[4160,28519,25067],{"class":4543},[4160,28521,4251],{"class":4589},[4160,28523,28524,28527,28529,28531,28533],{"class":4162,"line":16507},[4160,28525,28526],{"class":4643},"                    onValueChange",[4160,28528,4647],{"class":4539},[4160,28530,4650],{"class":4589},[4160,28532,28117],{"class":4543},[4160,28534,4251],{"class":4589},[4160,28536,28537,28540,28542,28544,28546,28548,28550],{"class":4162,"line":16513},[4160,28538,28539],{"class":4643},"                    dropdownIconColor",[4160,28541,4647],{"class":4539},[4160,28543,4650],{"class":4589},[4160,28545,4608],{"class":4543},[4160,28547,3840],{"class":4653},[4160,28549,4008],{"class":4543},[4160,28551,4251],{"class":4589},[4160,28553,28554,28556,28558,28560,28562,28564,28566,28568,28570,28572],{"class":4162,"line":16521},[4160,28555,21743],{"class":4643},[4160,28557,4647],{"class":4539},[4160,28559,4650],{"class":4589},[4160,28561,4792],{"class":4653},[4160,28563,4700],{"class":4543},[4160,28565,4667],{"class":4543},[4160,28567,3840],{"class":4653},[4160,28569,4008],{"class":4543},[4160,28571,4800],{"class":4653},[4160,28573,4251],{"class":4589},[4160,28575,28576],{"class":4162,"line":16531},[4160,28577,21760],{"class":4633},[4160,28579,28580,28582,28584,28586,28588,28590,28592,28594,28596],{"class":4162,"line":16563},[4160,28581,21765],{"class":4589},[4160,28583,22843],{"class":4607},[4160,28585,3840],{"class":4653},[4160,28587,16261],{"class":4593},[4160,28589,6638],{"class":4653},[4160,28591,18548],{"class":4543},[4160,28593,6644],{"class":4653},[4160,28595,5514],{"class":4589},[4160,28597,4628],{"class":4653},[4160,28599,28600,28603],{"class":4162,"line":16582},[4160,28601,28602],{"class":4633},"                      \u003C",[4160,28604,28605],{"class":4637},"Picker.Item\n",[4160,28607,28608,28611,28613,28615,28617],{"class":4162,"line":16588},[4160,28609,28610],{"class":4643},"                        key",[4160,28612,4647],{"class":4539},[4160,28614,4650],{"class":4589},[4160,28616,18548],{"class":4543},[4160,28618,4251],{"class":4589},[4160,28620,28621,28624,28626,28628,28630],{"class":4162,"line":16602},[4160,28622,28623],{"class":4643},"                        label",[4160,28625,4647],{"class":4539},[4160,28627,4650],{"class":4589},[4160,28629,18548],{"class":4543},[4160,28631,4251],{"class":4589},[4160,28633,28634,28637,28639,28641,28643],{"class":4162,"line":16612},[4160,28635,28636],{"class":4643},"                        value",[4160,28638,4647],{"class":4539},[4160,28640,4650],{"class":4589},[4160,28642,18548],{"class":4543},[4160,28644,4251],{"class":4589},[4160,28646,28647,28650,28652,28654,28656,28658,28660],{"class":4162,"line":16621},[4160,28648,28649],{"class":4643},"                        color",[4160,28651,4647],{"class":4539},[4160,28653,4650],{"class":4589},[4160,28655,4608],{"class":4543},[4160,28657,3840],{"class":4653},[4160,28659,4008],{"class":4543},[4160,28661,4251],{"class":4589},[4160,28663,28664],{"class":4162,"line":16627},[4160,28665,28666],{"class":4633},"                      \u002F>\n",[4160,28668,28669,28672],{"class":4162,"line":16635},[4160,28670,28671],{"class":4653},"                    ))",[4160,28673,4251],{"class":4589},[4160,28675,28676,28678,28680],{"class":4162,"line":16644},[4160,28677,21778],{"class":4633},[4160,28679,26805],{"class":4637},[4160,28681,4890],{"class":4633},[4160,28683,28684,28686,28688],{"class":4162,"line":16653},[4160,28685,16605],{"class":4633},[4160,28687,8320],{"class":4637},[4160,28689,4890],{"class":4633},[4160,28691,28692],{"class":4162,"line":16658},[4160,28693,28694],{"class":4589},"              }\n",[4160,28696,28697],{"class":4162,"line":16682},[4160,28698,7774],{"class":4633},[4160,28700,28701,28703],{"class":4162,"line":16690},[4160,28702,19024],{"class":4653},[4160,28704,4251],{"class":4589},[4160,28706,28707],{"class":4162,"line":16704},[4160,28708,7361],{"class":4633},[4160,28710,28711],{"class":4162,"line":16719},[4160,28712,4185],{"emptyLinePlaceholder":4184},[4160,28714,28715,28717,28720],{"class":4162,"line":16734},[4160,28716,19412],{"class":4589},[4160,28718,28719],{"class":4763},"\u002F* ——— DateTimePicker через DateField ——— *\u002F",[4160,28721,4251],{"class":4589},[4160,28723,28724,28726],{"class":4162,"line":16749},[4160,28725,7267],{"class":4633},[4160,28727,28076],{"class":4637},[4160,28729,28730,28732,28734,28736,28738],{"class":4162,"line":16764},[4160,28731,28081],{"class":4643},[4160,28733,4647],{"class":4539},[4160,28735,4650],{"class":4589},[4160,28737,28088],{"class":4543},[4160,28739,4251],{"class":4589},[4160,28741,28742,28744,28746],{"class":4162,"line":16776},[4160,28743,7305],{"class":4643},[4160,28745,4647],{"class":4539},[4160,28747,28748],{"class":4552},"\"startDate\"\n",[4160,28750,28751,28753,28755,28757,28759,28761,28763,28765,28767,28769,28771,28773,28775,28777],{"class":4162,"line":16789},[4160,28752,28104],{"class":4643},[4160,28754,4647],{"class":4539},[4160,28756,4650],{"class":4589},[4160,28758,8593],{"class":4653},[4160,28760,4481],{"class":4543},[4160,28762,14598],{"class":4653},[4160,28764,28117],{"class":4543},[4160,28766,4055],{"class":4653},[4160,28768,28122],{"class":4543},[4160,28770,4055],{"class":4653},[4160,28772,25067],{"class":4543},[4160,28774,28129],{"class":4653},[4160,28776,5514],{"class":4589},[4160,28778,4628],{"class":4653},[4160,28780,28781,28783],{"class":4162,"line":16802},[4160,28782,7624],{"class":4633},[4160,28784,28785],{"class":4637},"DateField\n",[4160,28787,28788,28790,28792],{"class":4162,"line":16815},[4160,28789,19079],{"class":4643},[4160,28791,4647],{"class":4539},[4160,28793,28794],{"class":4552},"\"Дата початку\"\n",[4160,28796,28797,28799,28801,28803,28805],{"class":4162,"line":16822},[4160,28798,28164],{"class":4643},[4160,28800,4647],{"class":4539},[4160,28802,4650],{"class":4589},[4160,28804,25067],{"class":4543},[4160,28806,4251],{"class":4589},[4160,28808,28809,28812,28814,28816,28818],{"class":4162,"line":16864},[4160,28810,28811],{"class":4643},"              onChange",[4160,28813,4647],{"class":4539},[4160,28815,4650],{"class":4589},[4160,28817,28117],{"class":4543},[4160,28819,4251],{"class":4589},[4160,28821,28822,28824,28826,28828,28830],{"class":4162,"line":16874},[4160,28823,28190],{"class":4643},[4160,28825,4647],{"class":4539},[4160,28827,4650],{"class":4589},[4160,28829,28122],{"class":4543},[4160,28831,4251],{"class":4589},[4160,28833,28834,28836,28838,28840,28842,28844,28846,28848,28850],{"class":4162,"line":16882},[4160,28835,28203],{"class":4643},[4160,28837,4647],{"class":4539},[4160,28839,4650],{"class":4589},[4160,28841,27349],{"class":4543},[4160,28843,3840],{"class":4653},[4160,28845,23833],{"class":4543},[4160,28847,28216],{"class":4653},[4160,28849,28219],{"class":4543},[4160,28851,4251],{"class":4589},[4160,28853,28854],{"class":4162,"line":16896},[4160,28855,7774],{"class":4633},[4160,28857,28858,28860],{"class":4162,"line":16911},[4160,28859,19024],{"class":4653},[4160,28861,4251],{"class":4589},[4160,28863,28864],{"class":4162,"line":16929},[4160,28865,7361],{"class":4633},[4160,28867,28868],{"class":4162,"line":16951},[4160,28869,4185],{"emptyLinePlaceholder":4184},[4160,28871,28872,28874],{"class":4162,"line":16956},[4160,28873,7267],{"class":4633},[4160,28875,28076],{"class":4637},[4160,28877,28878,28880,28882,28884,28886],{"class":4162,"line":16962},[4160,28879,28081],{"class":4643},[4160,28881,4647],{"class":4539},[4160,28883,4650],{"class":4589},[4160,28885,28088],{"class":4543},[4160,28887,4251],{"class":4589},[4160,28889,28890,28892,28894],{"class":4162,"line":16972},[4160,28891,7305],{"class":4643},[4160,28893,4647],{"class":4539},[4160,28895,28896],{"class":4552},"\"endDate\"\n",[4160,28898,28899,28901,28903,28905,28907,28909,28911,28913,28915,28917,28919,28921,28923,28925],{"class":4162,"line":16977},[4160,28900,28104],{"class":4643},[4160,28902,4647],{"class":4539},[4160,28904,4650],{"class":4589},[4160,28906,8593],{"class":4653},[4160,28908,4481],{"class":4543},[4160,28910,14598],{"class":4653},[4160,28912,28117],{"class":4543},[4160,28914,4055],{"class":4653},[4160,28916,28122],{"class":4543},[4160,28918,4055],{"class":4653},[4160,28920,25067],{"class":4543},[4160,28922,28129],{"class":4653},[4160,28924,5514],{"class":4589},[4160,28926,4628],{"class":4653},[4160,28928,28929,28931],{"class":4162,"line":16986},[4160,28930,7624],{"class":4633},[4160,28932,28785],{"class":4637},[4160,28934,28935,28937,28939],{"class":4162,"line":16991},[4160,28936,19079],{"class":4643},[4160,28938,4647],{"class":4539},[4160,28940,28941],{"class":4552},"\"Дата завершення\"\n",[4160,28943,28944,28946,28948,28950,28952],{"class":4162,"line":16998},[4160,28945,28164],{"class":4643},[4160,28947,4647],{"class":4539},[4160,28949,4650],{"class":4589},[4160,28951,25067],{"class":4543},[4160,28953,4251],{"class":4589},[4160,28955,28956,28958,28960,28962,28964],{"class":4162,"line":17009},[4160,28957,28811],{"class":4643},[4160,28959,4647],{"class":4539},[4160,28961,4650],{"class":4589},[4160,28963,28117],{"class":4543},[4160,28965,4251],{"class":4589},[4160,28967,28968,28970,28972,28974,28976],{"class":4162,"line":17020},[4160,28969,28190],{"class":4643},[4160,28971,4647],{"class":4539},[4160,28973,4650],{"class":4589},[4160,28975,28122],{"class":4543},[4160,28977,4251],{"class":4589},[4160,28979,28980,28982,28984,28986,28988,28990,28992,28994,28996],{"class":4162,"line":17025},[4160,28981,28203],{"class":4643},[4160,28983,4647],{"class":4539},[4160,28985,4650],{"class":4589},[4160,28987,27349],{"class":4543},[4160,28989,3840],{"class":4653},[4160,28991,23818],{"class":4543},[4160,28993,28216],{"class":4653},[4160,28995,28219],{"class":4543},[4160,28997,4251],{"class":4589},[4160,28999,29000,29003,29005,29007,29009],{"class":4162,"line":17038},[4160,29001,29002],{"class":4643},"              minimumDate",[4160,29004,4647],{"class":4539},[4160,29006,4650],{"class":4589},[4160,29008,23833],{"class":4543},[4160,29010,4251],{"class":4589},[4160,29012,29013],{"class":4162,"line":17051},[4160,29014,7774],{"class":4633},[4160,29016,29017,29019],{"class":4162,"line":17064},[4160,29018,19024],{"class":4653},[4160,29020,4251],{"class":4589},[4160,29022,29023],{"class":4162,"line":17078},[4160,29024,7361],{"class":4633},[4160,29026,29027],{"class":4162,"line":17092},[4160,29028,4185],{"emptyLinePlaceholder":4184},[4160,29030,29031,29033,29036],{"class":4162,"line":17097},[4160,29032,19412],{"class":4589},[4160,29034,29035],{"class":4763},"\u002F* ——— TextInput multiline ——— *\u002F",[4160,29037,4251],{"class":4589},[4160,29039,29040,29042],{"class":4162,"line":17104},[4160,29041,7267],{"class":4633},[4160,29043,28076],{"class":4637},[4160,29045,29046,29048,29050,29052,29054],{"class":4162,"line":17109},[4160,29047,28081],{"class":4643},[4160,29049,4647],{"class":4539},[4160,29051,4650],{"class":4589},[4160,29053,28088],{"class":4543},[4160,29055,4251],{"class":4589},[4160,29057,29058,29060,29062],{"class":4162,"line":17117},[4160,29059,7305],{"class":4643},[4160,29061,4647],{"class":4539},[4160,29063,29064],{"class":4552},"\"description\"\n",[4160,29066,29067,29069,29071,29073,29075,29077,29079,29081,29083,29085,29087,29089,29091,29093],{"class":4162,"line":17128},[4160,29068,28104],{"class":4643},[4160,29070,4647],{"class":4539},[4160,29072,4650],{"class":4589},[4160,29074,8593],{"class":4653},[4160,29076,4481],{"class":4543},[4160,29078,14598],{"class":4653},[4160,29080,28117],{"class":4543},[4160,29082,4055],{"class":4653},[4160,29084,28122],{"class":4543},[4160,29086,4055],{"class":4653},[4160,29088,25067],{"class":4543},[4160,29090,28129],{"class":4653},[4160,29092,5514],{"class":4589},[4160,29094,4628],{"class":4653},[4160,29096,29097,29099],{"class":4162,"line":17143},[4160,29098,7624],{"class":4633},[4160,29100,28140],{"class":4637},[4160,29102,29103,29105,29107],{"class":4162,"line":17160},[4160,29104,19079],{"class":4643},[4160,29106,4647],{"class":4539},[4160,29108,29109],{"class":4552},"\"Опис\"\n",[4160,29111,29112,29114,29116],{"class":4162,"line":17167},[4160,29113,28154],{"class":4643},[4160,29115,4647],{"class":4539},[4160,29117,29118],{"class":4552},"\"Коротко: що плануєте побачити, з ким їдете…\"\n",[4160,29120,29121,29123,29125,29127,29129],{"class":4162,"line":17172},[4160,29122,28164],{"class":4643},[4160,29124,4647],{"class":4539},[4160,29126,4650],{"class":4589},[4160,29128,25067],{"class":4543},[4160,29130,4251],{"class":4589},[4160,29132,29133,29135,29137,29139,29141],{"class":4162,"line":17181},[4160,29134,28177],{"class":4643},[4160,29136,4647],{"class":4539},[4160,29138,4650],{"class":4589},[4160,29140,28117],{"class":4543},[4160,29142,4251],{"class":4589},[4160,29144,29145,29147,29149,29151,29153],{"class":4162,"line":17190},[4160,29146,28190],{"class":4643},[4160,29148,4647],{"class":4539},[4160,29150,4650],{"class":4589},[4160,29152,28122],{"class":4543},[4160,29154,4251],{"class":4589},[4160,29156,29157,29159,29161,29163,29165,29167,29169,29171,29173],{"class":4162,"line":17195},[4160,29158,28203],{"class":4643},[4160,29160,4647],{"class":4539},[4160,29162,4650],{"class":4589},[4160,29164,27349],{"class":4543},[4160,29166,3840],{"class":4653},[4160,29168,18828],{"class":4543},[4160,29170,28216],{"class":4653},[4160,29172,28219],{"class":4543},[4160,29174,4251],{"class":4589},[4160,29176,29177],{"class":4162,"line":17200},[4160,29178,29179],{"class":4643},"              multiline\n",[4160,29181,29182,29185,29187,29189,29192],{"class":4162,"line":17205},[4160,29183,29184],{"class":4643},"              numberOfLines",[4160,29186,4647],{"class":4539},[4160,29188,4650],{"class":4589},[4160,29190,29191],{"class":5485},"4",[4160,29193,4251],{"class":4589},[4160,29195,29196,29199,29201],{"class":4162,"line":17222},[4160,29197,29198],{"class":4643},"              textAlignVertical",[4160,29200,4647],{"class":4539},[4160,29202,11115],{"class":4552},[4160,29204,29205,29207,29209,29211,29213,29215,29218],{"class":4162,"line":17230},[4160,29206,22039],{"class":4643},[4160,29208,4647],{"class":4539},[4160,29210,4650],{"class":4589},[4160,29212,8287],{"class":4543},[4160,29214,3840],{"class":4653},[4160,29216,29217],{"class":4543},"multiline",[4160,29219,4251],{"class":4589},[4160,29221,29222,29224,29226,29228,29230],{"class":4162,"line":17239},[4160,29223,28246],{"class":4643},[4160,29225,4647],{"class":4539},[4160,29227,4650],{"class":4589},[4160,29229,23597],{"class":5485},[4160,29231,4251],{"class":4589},[4160,29233,29234,29237,29239],{"class":4162,"line":17244},[4160,29235,29236],{"class":4643},"              hint",[4160,29238,4647],{"class":4539},[4160,29240,29241],{"class":4552},"\"Мінімум 10 символів\"\n",[4160,29243,29244],{"class":4162,"line":17251},[4160,29245,7774],{"class":4633},[4160,29247,29248,29250],{"class":4162,"line":17260},[4160,29249,19024],{"class":4653},[4160,29251,4251],{"class":4589},[4160,29253,29254],{"class":4162,"line":17265},[4160,29255,7361],{"class":4633},[4160,29257,29258],{"class":4162,"line":17273},[4160,29259,4185],{"emptyLinePlaceholder":4184},[4160,29261,29262,29264,29267],{"class":4162,"line":17284},[4160,29263,19412],{"class":4589},[4160,29265,29266],{"class":4763},"\u002F* ——— Slider ——— *\u002F",[4160,29268,4251],{"class":4589},[4160,29270,29271,29273],{"class":4162,"line":17295},[4160,29272,7267],{"class":4633},[4160,29274,28076],{"class":4637},[4160,29276,29277,29279,29281,29283,29285],{"class":4162,"line":17300},[4160,29278,28081],{"class":4643},[4160,29280,4647],{"class":4539},[4160,29282,4650],{"class":4589},[4160,29284,28088],{"class":4543},[4160,29286,4251],{"class":4589},[4160,29288,29289,29291,29293],{"class":4162,"line":17308},[4160,29290,7305],{"class":4643},[4160,29292,4647],{"class":4539},[4160,29294,29295],{"class":4552},"\"plannedDays\"\n",[4160,29297,29298,29300,29302,29304,29306,29308,29310,29312,29314,29316,29318,29320],{"class":4162,"line":17317},[4160,29299,28104],{"class":4643},[4160,29301,4647],{"class":4539},[4160,29303,4650],{"class":4589},[4160,29305,8593],{"class":4653},[4160,29307,4481],{"class":4543},[4160,29309,14598],{"class":4653},[4160,29311,28117],{"class":4543},[4160,29313,4055],{"class":4653},[4160,29315,25067],{"class":4543},[4160,29317,28129],{"class":4653},[4160,29319,5514],{"class":4589},[4160,29321,4628],{"class":4653},[4160,29323,29324,29326],{"class":4162,"line":17326},[4160,29325,7624],{"class":4633},[4160,29327,28341],{"class":4637},[4160,29329,29330,29332,29334,29336,29339,29341,29343,29345,29347,29350,29352,29354,29356,29358,29360],{"class":4162,"line":17335},[4160,29331,19079],{"class":4643},[4160,29333,4647],{"class":4539},[4160,29335,4650],{"class":4589},[4160,29337,29338],{"class":4552},"`Тривалість: ",[4160,29340,5939],{"class":4589},[4160,29342,25067],{"class":4543},[4160,29344,4803],{"class":4589},[4160,29346,24053],{"class":4589},[4160,29348,29349],{"class":4593},"daysWord",[4160,29351,5411],{"class":4653},[4160,29353,25067],{"class":4543},[4160,29355,5128],{"class":4653},[4160,29357,4803],{"class":4589},[4160,29359,8630],{"class":4552},[4160,29361,4251],{"class":4589},[4160,29363,29364,29366,29368],{"class":4162,"line":17344},[4160,29365,28355],{"class":4643},[4160,29367,4647],{"class":4539},[4160,29369,29370],{"class":4552},"\"Повзунок (Slider) — зручно для діапазону 1–14\"\n",[4160,29372,29373,29375,29377,29379,29381,29383,29385,29387,29389],{"class":4162,"line":17349},[4160,29374,28203],{"class":4643},[4160,29376,4647],{"class":4539},[4160,29378,4650],{"class":4589},[4160,29380,27349],{"class":4543},[4160,29382,3840],{"class":4653},[4160,29384,18578],{"class":4543},[4160,29386,28216],{"class":4653},[4160,29388,28219],{"class":4543},[4160,29390,4251],{"class":4589},[4160,29392,29393],{"class":4162,"line":17357},[4160,29394,28385],{"class":4643},[4160,29396,29397,29399,29401],{"class":4162,"line":17366},[4160,29398,28390],{"class":4643},[4160,29400,4647],{"class":4539},[4160,29402,4654],{"class":4589},[4160,29404,29405,29407],{"class":4162,"line":17371},[4160,29406,16516],{"class":4633},[4160,29408,29409],{"class":4637},"Slider\n",[4160,29411,29412,29415,29417,29419,29421],{"class":4162,"line":17379},[4160,29413,29414],{"class":4643},"                  minimumValue",[4160,29416,4647],{"class":4539},[4160,29418,4650],{"class":4589},[4160,29420,23696],{"class":5485},[4160,29422,4251],{"class":4589},[4160,29424,29425,29428,29430,29432,29434],{"class":4162,"line":17388},[4160,29426,29427],{"class":4643},"                  maximumValue",[4160,29429,4647],{"class":4539},[4160,29431,4650],{"class":4589},[4160,29433,23714],{"class":5485},[4160,29435,4251],{"class":4589},[4160,29437,29438,29441,29443,29445,29447],{"class":4162,"line":17393},[4160,29439,29440],{"class":4643},"                  step",[4160,29442,4647],{"class":4539},[4160,29444,4650],{"class":4589},[4160,29446,23696],{"class":5485},[4160,29448,4251],{"class":4589},[4160,29450,29451,29454,29456,29458,29460],{"class":4162,"line":17401},[4160,29452,29453],{"class":4643},"                  value",[4160,29455,4647],{"class":4539},[4160,29457,4650],{"class":4589},[4160,29459,25067],{"class":4543},[4160,29461,4251],{"class":4589},[4160,29463,29464,29467,29469,29471,29473],{"class":4162,"line":17410},[4160,29465,29466],{"class":4643},"                  onValueChange",[4160,29468,4647],{"class":4539},[4160,29470,4650],{"class":4589},[4160,29472,28117],{"class":4543},[4160,29474,4251],{"class":4589},[4160,29476,29477,29480,29482,29484,29486,29488,29490],{"class":4162,"line":17419},[4160,29478,29479],{"class":4643},"                  minimumTrackTintColor",[4160,29481,4647],{"class":4539},[4160,29483,4650],{"class":4589},[4160,29485,4608],{"class":4543},[4160,29487,3840],{"class":4653},[4160,29489,4687],{"class":4543},[4160,29491,4251],{"class":4589},[4160,29493,29494,29497,29499,29501,29503,29505,29507],{"class":4162,"line":17424},[4160,29495,29496],{"class":4643},"                  maximumTrackTintColor",[4160,29498,4647],{"class":4539},[4160,29500,4650],{"class":4589},[4160,29502,4608],{"class":4543},[4160,29504,3840],{"class":4653},[4160,29506,13687],{"class":4543},[4160,29508,4251],{"class":4589},[4160,29510,29511,29514,29516,29518,29520,29522,29524],{"class":4162,"line":17432},[4160,29512,29513],{"class":4643},"                  thumbTintColor",[4160,29515,4647],{"class":4539},[4160,29517,4650],{"class":4589},[4160,29519,4608],{"class":4543},[4160,29521,3840],{"class":4653},[4160,29523,4687],{"class":4543},[4160,29525,4251],{"class":4589},[4160,29527,29528],{"class":4162,"line":17442},[4160,29529,29530],{"class":4633},"                \u002F>\n",[4160,29532,29533],{"class":4162,"line":17447},[4160,29534,28694],{"class":4589},[4160,29536,29537],{"class":4162,"line":17455},[4160,29538,7774],{"class":4633},[4160,29540,29541,29543],{"class":4162,"line":17464},[4160,29542,19024],{"class":4653},[4160,29544,4251],{"class":4589},[4160,29546,29547],{"class":4162,"line":17469},[4160,29548,7361],{"class":4633},[4160,29550,29551,29553,29555,29557,29559,29561,29563,29565,29567,29569,29571,29573,29575],{"class":4162,"line":17476},[4160,29552,7267],{"class":4633},[4160,29554,14565],{"class":4637},[4160,29556,15675],{"class":4643},[4160,29558,4647],{"class":4539},[4160,29560,15986],{"class":4552},[4160,29562,7647],{"class":4643},[4160,29564,4647],{"class":4539},[4160,29566,4650],{"class":4589},[4160,29568,4608],{"class":4543},[4160,29570,3840],{"class":4653},[4160,29572,13656],{"class":4543},[4160,29574,4803],{"class":4589},[4160,29576,4890],{"class":4633},[4160,29578,29579,29582,29584,29586,29589,29591],{"class":4162,"line":17485},[4160,29580,29581],{"class":4539},"          Зараз на слайдері: ",[4160,29583,4650],{"class":4589},[4160,29585,18578],{"class":4543},[4160,29587,29588],{"class":4589},"}{",[4160,29590,21210],{"class":4552},[4160,29592,4251],{"class":4589},[4160,29594,29595,29597,29599,29601,29603,29606,29608,29610,29612],{"class":4162,"line":17490},[4160,29596,16127],{"class":4589},[4160,29598,29349],{"class":4593},[4160,29600,5411],{"class":4653},[4160,29602,18578],{"class":4543},[4160,29604,29605],{"class":4539}," ??",[4160,29607,8984],{"class":5485},[4160,29609,5128],{"class":4653},[4160,29611,4803],{"class":4589},[4160,29613,29614],{"class":4539}," (можна не збігатися з датами — це\n",[4160,29616,29618],{"class":4162,"line":29617},263,[4160,29619,29620],{"class":4539},"          окреме «орієнтовне» поле для навчання).\n",[4160,29622,29624,29626,29628],{"class":4162,"line":29623},264,[4160,29625,8414],{"class":4633},[4160,29627,14565],{"class":4637},[4160,29629,4890],{"class":4633},[4160,29631,29633],{"class":4162,"line":29632},265,[4160,29634,4185],{"emptyLinePlaceholder":4184},[4160,29636,29638,29640,29643],{"class":4162,"line":29637},266,[4160,29639,19412],{"class":4589},[4160,29641,29642],{"class":4763},"\u002F* ——— Switch ——— *\u002F",[4160,29644,4251],{"class":4589},[4160,29646,29648,29650],{"class":4162,"line":29647},267,[4160,29649,7267],{"class":4633},[4160,29651,28076],{"class":4637},[4160,29653,29655,29657,29659,29661,29663],{"class":4162,"line":29654},268,[4160,29656,28081],{"class":4643},[4160,29658,4647],{"class":4539},[4160,29660,4650],{"class":4589},[4160,29662,28088],{"class":4543},[4160,29664,4251],{"class":4589},[4160,29666,29668,29670,29672],{"class":4162,"line":29667},269,[4160,29669,7305],{"class":4643},[4160,29671,4647],{"class":4539},[4160,29673,29674],{"class":4552},"\"isPrivate\"\n",[4160,29676,29678,29680,29682,29684,29686,29688,29690,29692,29694,29696,29698,29700],{"class":4162,"line":29677},270,[4160,29679,28104],{"class":4643},[4160,29681,4647],{"class":4539},[4160,29683,4650],{"class":4589},[4160,29685,8593],{"class":4653},[4160,29687,4481],{"class":4543},[4160,29689,14598],{"class":4653},[4160,29691,28117],{"class":4543},[4160,29693,4055],{"class":4653},[4160,29695,25067],{"class":4543},[4160,29697,28129],{"class":4653},[4160,29699,5514],{"class":4589},[4160,29701,4628],{"class":4653},[4160,29703,29705,29707],{"class":4162,"line":29704},271,[4160,29706,7624],{"class":4633},[4160,29708,28341],{"class":4637},[4160,29710,29712,29714,29716],{"class":4162,"line":29711},272,[4160,29713,19079],{"class":4643},[4160,29715,4647],{"class":4539},[4160,29717,29718],{"class":4552},"\"Приватна поїздка\"\n",[4160,29720,29722,29724,29726],{"class":4162,"line":29721},273,[4160,29723,28355],{"class":4643},[4160,29725,4647],{"class":4539},[4160,29727,29728],{"class":4552},"\"Switch: увімкнено — мітка «приватна» на картці\"\n",[4160,29730,29732,29734,29736,29738,29740,29742,29744,29746,29748],{"class":4162,"line":29731},274,[4160,29733,28203],{"class":4643},[4160,29735,4647],{"class":4539},[4160,29737,4650],{"class":4589},[4160,29739,27349],{"class":4543},[4160,29741,3840],{"class":4653},[4160,29743,18653],{"class":4543},[4160,29745,28216],{"class":4653},[4160,29747,28219],{"class":4543},[4160,29749,4251],{"class":4589},[4160,29751,29753,29755,29757],{"class":4162,"line":29752},275,[4160,29754,28390],{"class":4643},[4160,29756,4647],{"class":4539},[4160,29758,4654],{"class":4589},[4160,29760,29762,29764],{"class":4162,"line":29761},276,[4160,29763,16516],{"class":4633},[4160,29765,29766],{"class":4637},"Switch\n",[4160,29768,29770,29772,29774,29776,29778],{"class":4162,"line":29769},277,[4160,29771,29453],{"class":4643},[4160,29773,4647],{"class":4539},[4160,29775,4650],{"class":4589},[4160,29777,25067],{"class":4543},[4160,29779,4251],{"class":4589},[4160,29781,29783,29785,29787,29789,29791],{"class":4162,"line":29782},278,[4160,29784,29466],{"class":4643},[4160,29786,4647],{"class":4539},[4160,29788,4650],{"class":4589},[4160,29790,28117],{"class":4543},[4160,29792,4251],{"class":4589},[4160,29794,29796,29799,29801,29803],{"class":4162,"line":29795},279,[4160,29797,29798],{"class":4643},"                  trackColor",[4160,29800,4647],{"class":4539},[4160,29802,4650],{"class":4589},[4160,29804,4654],{"class":4653},[4160,29806,29808,29811,29813,29815,29817],{"class":4162,"line":29807},280,[4160,29809,29810],{"class":4543},"                    false:",[4160,29812,4667],{"class":4543},[4160,29814,3840],{"class":4653},[4160,29816,13687],{"class":4543},[4160,29818,4690],{"class":4653},[4160,29820,29822,29825,29827,29829,29831],{"class":4162,"line":29821},281,[4160,29823,29824],{"class":4543},"                    true:",[4160,29826,4667],{"class":4543},[4160,29828,3840],{"class":4653},[4160,29830,4687],{"class":4543},[4160,29832,4690],{"class":4653},[4160,29834,29836,29839],{"class":4162,"line":29835},282,[4160,29837,29838],{"class":4653},"                  }",[4160,29840,4251],{"class":4589},[4160,29842,29844,29847,29849,29851,29853,29855,29857],{"class":4162,"line":29843},283,[4160,29845,29846],{"class":4643},"                  thumbColor",[4160,29848,4647],{"class":4539},[4160,29850,4650],{"class":4589},[4160,29852,4608],{"class":4543},[4160,29854,3840],{"class":4653},[4160,29856,16550],{"class":4543},[4160,29858,4251],{"class":4589},[4160,29860,29862,29865,29867,29869,29871,29873,29875],{"class":4162,"line":29861},284,[4160,29863,29864],{"class":4643},"                  ios_backgroundColor",[4160,29866,4647],{"class":4539},[4160,29868,4650],{"class":4589},[4160,29870,4608],{"class":4543},[4160,29872,3840],{"class":4653},[4160,29874,13687],{"class":4543},[4160,29876,4251],{"class":4589},[4160,29878,29880],{"class":4162,"line":29879},285,[4160,29881,29530],{"class":4633},[4160,29883,29885],{"class":4162,"line":29884},286,[4160,29886,28694],{"class":4589},[4160,29888,29890],{"class":4162,"line":29889},287,[4160,29891,7774],{"class":4633},[4160,29893,29895,29897],{"class":4162,"line":29894},288,[4160,29896,19024],{"class":4653},[4160,29898,4251],{"class":4589},[4160,29900,29902],{"class":4162,"line":29901},289,[4160,29903,7361],{"class":4633},[4160,29905,29907],{"class":4162,"line":29906},290,[4160,29908,4185],{"emptyLinePlaceholder":4184},[4160,29910,29912,29914,29917],{"class":4162,"line":29911},291,[4160,29913,19412],{"class":4589},[4160,29915,29916],{"class":4763},"\u002F* ——— Checkbox (опційний прапорець) ——— *\u002F",[4160,29918,4251],{"class":4589},[4160,29920,29922,29924],{"class":4162,"line":29921},292,[4160,29923,7267],{"class":4633},[4160,29925,28076],{"class":4637},[4160,29927,29929,29931,29933,29935,29937],{"class":4162,"line":29928},293,[4160,29930,28081],{"class":4643},[4160,29932,4647],{"class":4539},[4160,29934,4650],{"class":4589},[4160,29936,28088],{"class":4543},[4160,29938,4251],{"class":4589},[4160,29940,29942,29944,29946],{"class":4162,"line":29941},294,[4160,29943,7305],{"class":4643},[4160,29945,4647],{"class":4539},[4160,29947,29948],{"class":4552},"\"hasItinerary\"\n",[4160,29950,29952,29954,29956,29958,29960,29962,29964,29966,29968,29970,29972,29974],{"class":4162,"line":29951},295,[4160,29953,28104],{"class":4643},[4160,29955,4647],{"class":4539},[4160,29957,4650],{"class":4589},[4160,29959,8593],{"class":4653},[4160,29961,4481],{"class":4543},[4160,29963,14598],{"class":4653},[4160,29965,28117],{"class":4543},[4160,29967,4055],{"class":4653},[4160,29969,25067],{"class":4543},[4160,29971,28129],{"class":4653},[4160,29973,5514],{"class":4589},[4160,29975,4628],{"class":4653},[4160,29977,29979,29981],{"class":4162,"line":29978},296,[4160,29980,7624],{"class":4633},[4160,29982,28341],{"class":4637},[4160,29984,29986,29988,29990],{"class":4162,"line":29985},297,[4160,29987,19079],{"class":4643},[4160,29989,4647],{"class":4539},[4160,29991,29992],{"class":4552},"\"Є план маршруту\"\n",[4160,29994,29996,29998,30000],{"class":4162,"line":29995},298,[4160,29997,28355],{"class":4643},[4160,29999,4647],{"class":4539},[4160,30001,30002],{"class":4552},"\"Checkbox: так \u002F ні, без обов’язковості\"\n",[4160,30004,30006,30008,30010,30012,30014,30016,30018,30020,30022],{"class":4162,"line":30005},299,[4160,30007,28203],{"class":4643},[4160,30009,4647],{"class":4539},[4160,30011,4650],{"class":4589},[4160,30013,27349],{"class":4543},[4160,30015,3840],{"class":4653},[4160,30017,18718],{"class":4543},[4160,30019,28216],{"class":4653},[4160,30021,28219],{"class":4543},[4160,30023,4251],{"class":4589},[4160,30025,30027,30029,30031],{"class":4162,"line":30026},300,[4160,30028,28390],{"class":4643},[4160,30030,4647],{"class":4539},[4160,30032,4654],{"class":4589},[4160,30034,30036,30038],{"class":4162,"line":30035},301,[4160,30037,16516],{"class":4633},[4160,30039,30040],{"class":4637},"Checkbox\n",[4160,30042,30044,30046,30048,30050,30052],{"class":4162,"line":30043},302,[4160,30045,29453],{"class":4643},[4160,30047,4647],{"class":4539},[4160,30049,4650],{"class":4589},[4160,30051,25067],{"class":4543},[4160,30053,4251],{"class":4589},[4160,30055,30057,30059,30061,30063,30065],{"class":4162,"line":30056},303,[4160,30058,29466],{"class":4643},[4160,30060,4647],{"class":4539},[4160,30062,4650],{"class":4589},[4160,30064,28117],{"class":4543},[4160,30066,4251],{"class":4589},[4160,30068,30070,30073,30075,30077],{"class":4162,"line":30069},304,[4160,30071,30072],{"class":4643},"                  tintColors",[4160,30074,4647],{"class":4539},[4160,30076,4650],{"class":4589},[4160,30078,4654],{"class":4653},[4160,30080,30082,30084,30086,30088,30090],{"class":4162,"line":30081},305,[4160,30083,29824],{"class":4543},[4160,30085,4667],{"class":4543},[4160,30087,3840],{"class":4653},[4160,30089,4687],{"class":4543},[4160,30091,4690],{"class":4653},[4160,30093,30095,30097,30099,30101,30103],{"class":4162,"line":30094},306,[4160,30096,29810],{"class":4543},[4160,30098,4667],{"class":4543},[4160,30100,3840],{"class":4653},[4160,30102,13687],{"class":4543},[4160,30104,4690],{"class":4653},[4160,30106,30108,30110],{"class":4162,"line":30107},307,[4160,30109,29838],{"class":4653},[4160,30111,4251],{"class":4589},[4160,30113,30115,30118,30120,30122,30124,30126,30128],{"class":4162,"line":30114},308,[4160,30116,30117],{"class":4643},"                  onCheckColor",[4160,30119,4647],{"class":4539},[4160,30121,4650],{"class":4589},[4160,30123,4608],{"class":4543},[4160,30125,3840],{"class":4653},[4160,30127,16550],{"class":4543},[4160,30129,4251],{"class":4589},[4160,30131,30133,30136,30138,30140,30142,30144,30146],{"class":4162,"line":30132},309,[4160,30134,30135],{"class":4643},"                  onFillColor",[4160,30137,4647],{"class":4539},[4160,30139,4650],{"class":4589},[4160,30141,4608],{"class":4543},[4160,30143,3840],{"class":4653},[4160,30145,4687],{"class":4543},[4160,30147,4251],{"class":4589},[4160,30149,30151,30154,30156,30158,30160,30162,30164],{"class":4162,"line":30150},310,[4160,30152,30153],{"class":4643},"                  onTintColor",[4160,30155,4647],{"class":4539},[4160,30157,4650],{"class":4589},[4160,30159,4608],{"class":4543},[4160,30161,3840],{"class":4653},[4160,30163,4687],{"class":4543},[4160,30165,4251],{"class":4589},[4160,30167,30169,30172,30174],{"class":4162,"line":30168},311,[4160,30170,30171],{"class":4643},"                  boxType",[4160,30173,4647],{"class":4539},[4160,30175,30176],{"class":4552},"\"square\"\n",[4160,30178,30180],{"class":4162,"line":30179},312,[4160,30181,29530],{"class":4633},[4160,30183,30185],{"class":4162,"line":30184},313,[4160,30186,28694],{"class":4589},[4160,30188,30190],{"class":4162,"line":30189},314,[4160,30191,7774],{"class":4633},[4160,30193,30195,30197],{"class":4162,"line":30194},315,[4160,30196,19024],{"class":4653},[4160,30198,4251],{"class":4589},[4160,30200,30202],{"class":4162,"line":30201},316,[4160,30203,7361],{"class":4633},[4160,30205,30207],{"class":4162,"line":30206},317,[4160,30208,4185],{"emptyLinePlaceholder":4184},[4160,30210,30212,30214,30217],{"class":4162,"line":30211},318,[4160,30213,19412],{"class":4589},[4160,30215,30216],{"class":4763},"\u002F* ——— Checkbox (обов’язкова згода) ——— *\u002F",[4160,30218,4251],{"class":4589},[4160,30220,30222,30224],{"class":4162,"line":30221},319,[4160,30223,7267],{"class":4633},[4160,30225,28076],{"class":4637},[4160,30227,30229,30231,30233,30235,30237],{"class":4162,"line":30228},320,[4160,30230,28081],{"class":4643},[4160,30232,4647],{"class":4539},[4160,30234,4650],{"class":4589},[4160,30236,28088],{"class":4543},[4160,30238,4251],{"class":4589},[4160,30240,30242,30244,30246],{"class":4162,"line":30241},321,[4160,30243,7305],{"class":4643},[4160,30245,4647],{"class":4539},[4160,30247,30248],{"class":4552},"\"acceptedLocalSave\"\n",[4160,30250,30252,30254,30256,30258,30260,30262,30264,30266,30268,30270,30272,30274],{"class":4162,"line":30251},322,[4160,30253,28104],{"class":4643},[4160,30255,4647],{"class":4539},[4160,30257,4650],{"class":4589},[4160,30259,8593],{"class":4653},[4160,30261,4481],{"class":4543},[4160,30263,14598],{"class":4653},[4160,30265,28117],{"class":4543},[4160,30267,4055],{"class":4653},[4160,30269,25067],{"class":4543},[4160,30271,28129],{"class":4653},[4160,30273,5514],{"class":4589},[4160,30275,4628],{"class":4653},[4160,30277,30279,30281],{"class":4162,"line":30278},323,[4160,30280,7624],{"class":4633},[4160,30282,28341],{"class":4637},[4160,30284,30286,30288,30290],{"class":4162,"line":30285},324,[4160,30287,19079],{"class":4643},[4160,30289,4647],{"class":4539},[4160,30291,30292],{"class":4552},"\"Згода на локальне збереження\"\n",[4160,30294,30296,30298,30300],{"class":4162,"line":30295},325,[4160,30297,28355],{"class":4643},[4160,30299,4647],{"class":4539},[4160,30301,30302],{"class":4552},"\"Поки немає API: дані лишаються в пам’яті застосунку\"\n",[4160,30304,30306,30308,30310,30312,30314,30316,30319,30321,30323],{"class":4162,"line":30305},326,[4160,30307,28203],{"class":4643},[4160,30309,4647],{"class":4539},[4160,30311,4650],{"class":4589},[4160,30313,27349],{"class":4543},[4160,30315,3840],{"class":4653},[4160,30317,30318],{"class":4543},"acceptedLocalSave",[4160,30320,28216],{"class":4653},[4160,30322,28219],{"class":4543},[4160,30324,4251],{"class":4589},[4160,30326,30328,30330,30332],{"class":4162,"line":30327},327,[4160,30329,28390],{"class":4643},[4160,30331,4647],{"class":4539},[4160,30333,4654],{"class":4589},[4160,30335,30337,30339],{"class":4162,"line":30336},328,[4160,30338,16516],{"class":4633},[4160,30340,30040],{"class":4637},[4160,30342,30344,30346,30348,30350,30353,30355,30357,30359],{"class":4162,"line":30343},329,[4160,30345,29453],{"class":4643},[4160,30347,4647],{"class":4539},[4160,30349,4650],{"class":4589},[4160,30351,30352],{"class":4593},"Boolean",[4160,30354,5411],{"class":4653},[4160,30356,25067],{"class":4543},[4160,30358,5128],{"class":4653},[4160,30360,4251],{"class":4589},[4160,30362,30364,30366,30368,30370,30372],{"class":4162,"line":30363},330,[4160,30365,29466],{"class":4643},[4160,30367,4647],{"class":4539},[4160,30369,4650],{"class":4589},[4160,30371,28117],{"class":4543},[4160,30373,4251],{"class":4589},[4160,30375,30377,30379,30381,30383],{"class":4162,"line":30376},331,[4160,30378,30072],{"class":4643},[4160,30380,4647],{"class":4539},[4160,30382,4650],{"class":4589},[4160,30384,4654],{"class":4653},[4160,30386,30388,30390,30392,30394,30396],{"class":4162,"line":30387},332,[4160,30389,29824],{"class":4543},[4160,30391,4667],{"class":4543},[4160,30393,3840],{"class":4653},[4160,30395,4687],{"class":4543},[4160,30397,4690],{"class":4653},[4160,30399,30401,30403,30405,30407,30409],{"class":4162,"line":30400},333,[4160,30402,29810],{"class":4543},[4160,30404,4667],{"class":4543},[4160,30406,3840],{"class":4653},[4160,30408,13687],{"class":4543},[4160,30410,4690],{"class":4653},[4160,30412,30414,30416],{"class":4162,"line":30413},334,[4160,30415,29838],{"class":4653},[4160,30417,4251],{"class":4589},[4160,30419,30421,30423,30425,30427,30429,30431,30433],{"class":4162,"line":30420},335,[4160,30422,30117],{"class":4643},[4160,30424,4647],{"class":4539},[4160,30426,4650],{"class":4589},[4160,30428,4608],{"class":4543},[4160,30430,3840],{"class":4653},[4160,30432,16550],{"class":4543},[4160,30434,4251],{"class":4589},[4160,30436,30438,30440,30442,30444,30446,30448,30450],{"class":4162,"line":30437},336,[4160,30439,30135],{"class":4643},[4160,30441,4647],{"class":4539},[4160,30443,4650],{"class":4589},[4160,30445,4608],{"class":4543},[4160,30447,3840],{"class":4653},[4160,30449,4687],{"class":4543},[4160,30451,4251],{"class":4589},[4160,30453,30455,30457,30459,30461,30463,30465,30467],{"class":4162,"line":30454},337,[4160,30456,30153],{"class":4643},[4160,30458,4647],{"class":4539},[4160,30460,4650],{"class":4589},[4160,30462,4608],{"class":4543},[4160,30464,3840],{"class":4653},[4160,30466,4687],{"class":4543},[4160,30468,4251],{"class":4589},[4160,30470,30472,30474,30476],{"class":4162,"line":30471},338,[4160,30473,30171],{"class":4643},[4160,30475,4647],{"class":4539},[4160,30477,30176],{"class":4552},[4160,30479,30481],{"class":4162,"line":30480},339,[4160,30482,29530],{"class":4633},[4160,30484,30486],{"class":4162,"line":30485},340,[4160,30487,28694],{"class":4589},[4160,30489,30491],{"class":4162,"line":30490},341,[4160,30492,7774],{"class":4633},[4160,30494,30496,30498],{"class":4162,"line":30495},342,[4160,30497,19024],{"class":4653},[4160,30499,4251],{"class":4589},[4160,30501,30503],{"class":4162,"line":30502},343,[4160,30504,7361],{"class":4633},[4160,30506,30508],{"class":4162,"line":30507},344,[4160,30509,4185],{"emptyLinePlaceholder":4184},[4160,30511,30513,30515,30518],{"class":4162,"line":30512},345,[4160,30514,19412],{"class":4589},[4160,30516,30517],{"class":4763},"\u002F* ——— Button (Pressable-обгортка з shared\u002Fui) ——— *\u002F",[4160,30519,4251],{"class":4589},[4160,30521,30523,30525,30527,30529,30531,30533,30535,30537,30539,30541,30543,30545,30547,30549,30551,30553,30555,30557],{"class":4162,"line":30522},346,[4160,30524,7267],{"class":4633},[4160,30526,8320],{"class":4637},[4160,30528,7170],{"class":4643},[4160,30530,4647],{"class":4539},[4160,30532,4650],{"class":4589},[4160,30534,4792],{"class":4653},[4160,30536,11276],{"class":4543},[4160,30538,15210],{"class":4543},[4160,30540,3840],{"class":4653},[4160,30542,15274],{"class":4543},[4160,30544,4055],{"class":4653},[4160,30546,9096],{"class":4543},[4160,30548,15210],{"class":4543},[4160,30550,3840],{"class":4653},[4160,30552,15274],{"class":4543},[4160,30554,4800],{"class":4653},[4160,30556,4803],{"class":4589},[4160,30558,4890],{"class":4633},[4160,30560,30562,30564],{"class":4162,"line":30561},347,[4160,30563,8549],{"class":4633},[4160,30565,17114],{"class":4637},[4160,30567,30569,30571,30573,30575,30577,30579,30582,30584,30587],{"class":4162,"line":30568},348,[4160,30570,18147],{"class":4643},[4160,30572,4647],{"class":4539},[4160,30574,4650],{"class":4589},[4160,30576,27293],{"class":4543},[4160,30578,10829],{"class":4539},[4160,30580,30581],{"class":4552}," 'Створюємо…'",[4160,30583,10835],{"class":4539},[4160,30585,30586],{"class":4552}," 'Створити поїздку'",[4160,30588,4251],{"class":4589},[4160,30590,30592,30594,30596,30598,30601,30603,30606,30608],{"class":4162,"line":30591},349,[4160,30593,18157],{"class":4643},[4160,30595,4647],{"class":4539},[4160,30597,4650],{"class":4589},[4160,30599,30600],{"class":4593},"handleSubmit",[4160,30602,5411],{"class":4653},[4160,30604,30605],{"class":4543},"onValid",[4160,30607,5128],{"class":4653},[4160,30609,4251],{"class":4589},[4160,30611,30613,30616,30618,30620,30622],{"class":4162,"line":30612},350,[4160,30614,30615],{"class":4643},"            disabled",[4160,30617,4647],{"class":4539},[4160,30619,4650],{"class":4589},[4160,30621,27293],{"class":4543},[4160,30623,4251],{"class":4589},[4160,30625,30627],{"class":4162,"line":30626},351,[4160,30628,15497],{"class":4633},[4160,30630,30632,30634,30637,30639],{"class":4162,"line":30631},352,[4160,30633,16127],{"class":4589},[4160,30635,30636],{"class":4543},"onCancel",[4160,30638,10829],{"class":4539},[4160,30640,4628],{"class":4653},[4160,30642,30644,30646],{"class":4162,"line":30643},353,[4160,30645,7624],{"class":4633},[4160,30647,17114],{"class":4637},[4160,30649,30651,30653,30655],{"class":4162,"line":30650},354,[4160,30652,19079],{"class":4643},[4160,30654,4647],{"class":4539},[4160,30656,30657],{"class":4552},"\"Скасувати\"\n",[4160,30659,30661,30664,30666],{"class":4162,"line":30660},355,[4160,30662,30663],{"class":4643},"              variant",[4160,30665,4647],{"class":4539},[4160,30667,30668],{"class":4552},"\"secondary\"\n",[4160,30670,30672,30674,30676,30678,30680],{"class":4162,"line":30671},356,[4160,30673,19089],{"class":4643},[4160,30675,4647],{"class":4539},[4160,30677,4650],{"class":4589},[4160,30679,30636],{"class":4543},[4160,30681,4251],{"class":4589},[4160,30683,30685,30688,30690,30692,30694],{"class":4162,"line":30684},357,[4160,30686,30687],{"class":4643},"              disabled",[4160,30689,4647],{"class":4539},[4160,30691,4650],{"class":4589},[4160,30693,27293],{"class":4543},[4160,30695,4251],{"class":4589},[4160,30697,30699],{"class":4162,"line":30698},358,[4160,30700,7774],{"class":4633},[4160,30702,30704,30706,30708],{"class":4162,"line":30703},359,[4160,30705,18957],{"class":4653},[4160,30707,3821],{"class":4539},[4160,30709,15515],{"class":4589},[4160,30711,30713,30715,30717],{"class":4162,"line":30712},360,[4160,30714,8414],{"class":4633},[4160,30716,8320],{"class":4637},[4160,30718,4890],{"class":4633},[4160,30720,30722,30724,30726],{"class":4162,"line":30721},361,[4160,30723,7366],{"class":4633},[4160,30725,9407],{"class":4637},[4160,30727,4890],{"class":4633},[4160,30729,30731,30733,30735],{"class":4162,"line":30730},362,[4160,30732,4885],{"class":4633},[4160,30734,11206],{"class":4637},[4160,30736,4890],{"class":4633},[4160,30738,30740],{"class":4162,"line":30739},363,[4160,30741,4895],{"class":4539},[4160,30743,30745],{"class":4162,"line":30744},364,[4160,30746,4251],{"class":4539},[4160,30748,30750],{"class":4162,"line":30749},365,[4160,30751,4185],{"emptyLinePlaceholder":4184},[4160,30753,30755,30757,30760,30762,30764,30766,30768,30770,30772],{"class":4162,"line":30754},366,[4160,30756,6620],{"class":4589},[4160,30758,30759],{"class":4593}," daysWord",[4160,30761,5411],{"class":4539},[4160,30763,6782],{"class":4543},[4160,30765,5814],{"class":4539},[4160,30767,6418],{"class":4637},[4160,30769,6756],{"class":4539},[4160,30771,5817],{"class":4637},[4160,30773,5517],{"class":4539},[4160,30775,30777,30779,30782,30784,30787,30789,30792,30794,30796,30799,30802],{"class":4162,"line":30776},367,[4160,30778,4602],{"class":4589},[4160,30780,30781],{"class":4607}," abs",[4160,30783,5385],{"class":4539},[4160,30785,30786],{"class":4543},"Math",[4160,30788,3840],{"class":4539},[4160,30790,30791],{"class":4593},"abs",[4160,30793,5411],{"class":4539},[4160,30795,6782],{"class":4543},[4160,30797,30798],{"class":4539},") % ",[4160,30800,30801],{"class":5485},"100",[4160,30803,4556],{"class":4539},[4160,30805,30807,30809,30812,30814,30816,30819,30821],{"class":4162,"line":30806},368,[4160,30808,4602],{"class":4589},[4160,30810,30811],{"class":4607}," last",[4160,30813,5385],{"class":4539},[4160,30815,30791],{"class":4543},[4160,30817,30818],{"class":4539}," % ",[4160,30820,23579],{"class":5485},[4160,30822,4556],{"class":4539},[4160,30824,30826,30828,30830,30832,30834,30836,30838,30840,30843,30846,30848,30851,30854],{"class":4162,"line":30825},369,[4160,30827,5906],{"class":4535},[4160,30829,5668],{"class":4539},[4160,30831,30791],{"class":4543},[4160,30833,5482],{"class":4539},[4160,30835,23579],{"class":5485},[4160,30837,5466],{"class":4539},[4160,30839,30791],{"class":4543},[4160,30841,30842],{"class":4539}," \u003C ",[4160,30844,30845],{"class":5485},"20",[4160,30847,6644],{"class":4539},[4160,30849,30850],{"class":4535},"return",[4160,30852,30853],{"class":4552}," 'днів'",[4160,30855,4556],{"class":4539},[4160,30857,30859,30861,30863,30866,30868,30870,30872,30874,30877],{"class":4162,"line":30858},370,[4160,30860,5906],{"class":4535},[4160,30862,5668],{"class":4539},[4160,30864,30865],{"class":4543},"last",[4160,30867,6796],{"class":4539},[4160,30869,23696],{"class":5485},[4160,30871,6644],{"class":4539},[4160,30873,30850],{"class":4535},[4160,30875,30876],{"class":4552}," 'день'",[4160,30878,4556],{"class":4539},[4160,30880,30882,30884,30886,30888,30891,30893,30895,30897,30900,30902,30904,30906,30909],{"class":4162,"line":30881},371,[4160,30883,5906],{"class":4535},[4160,30885,5668],{"class":4539},[4160,30887,30865],{"class":4543},[4160,30889,30890],{"class":4539}," >= ",[4160,30892,8732],{"class":5485},[4160,30894,5466],{"class":4539},[4160,30896,30865],{"class":4543},[4160,30898,30899],{"class":4539}," \u003C= ",[4160,30901,29191],{"class":5485},[4160,30903,6644],{"class":4539},[4160,30905,30850],{"class":4535},[4160,30907,30908],{"class":4552}," 'дні'",[4160,30910,4556],{"class":4539},[4160,30912,30914,30916,30918],{"class":4162,"line":30913},372,[4160,30915,4625],{"class":4535},[4160,30917,30853],{"class":4552},[4160,30919,4556],{"class":4539},[4160,30921,30923],{"class":4162,"line":30922},373,[4160,30924,4251],{"class":4539},[4160,30926,30928],{"class":4162,"line":30927},374,[4160,30929,4185],{"emptyLinePlaceholder":4184},[4160,30931,30933,30935,30937,30939,30941,30943,30945],{"class":4162,"line":30932},375,[4160,30934,6592],{"class":4589},[4160,30936,8957],{"class":4607},[4160,30938,5385],{"class":4539},[4160,30940,8962],{"class":4543},[4160,30942,3840],{"class":4539},[4160,30944,8967],{"class":4593},[4160,30946,8970],{"class":4539},[4160,30948,30950,30952],{"class":4162,"line":30949},376,[4160,30951,11241],{"class":4543},[4160,30953,5517],{"class":4539},[4160,30955,30957,30959,30961],{"class":4162,"line":30956},377,[4160,30958,10024],{"class":4543},[4160,30960,8984],{"class":5485},[4160,30962,4690],{"class":4539},[4160,30964,30966],{"class":4162,"line":30965},378,[4160,30967,6526],{"class":4539},[4160,30969,30971,30974],{"class":4162,"line":30970},379,[4160,30972,30973],{"class":4543},"  content:",[4160,30975,5517],{"class":4539},[4160,30977,30979,30982,30984],{"class":4162,"line":30978},380,[4160,30980,30981],{"class":4543},"    flexGrow:",[4160,30983,8984],{"class":5485},[4160,30985,4690],{"class":4539},[4160,30987,30989],{"class":4162,"line":30988},381,[4160,30990,6526],{"class":4539},[4160,30992,30994,30997],{"class":4162,"line":30993},382,[4160,30995,30996],{"class":4543},"  multiline:",[4160,30998,5517],{"class":4539},[4160,31000,31002,31005,31008],{"class":4162,"line":31001},383,[4160,31003,31004],{"class":4543},"    minHeight:",[4160,31006,31007],{"class":5485}," 110",[4160,31009,4690],{"class":4539},[4160,31011,31013],{"class":4162,"line":31012},384,[4160,31014,6526],{"class":4539},[4160,31016,31018,31021],{"class":4162,"line":31017},385,[4160,31019,31020],{"class":4543},"  pickerWrap:",[4160,31022,5517],{"class":4539},[4160,31024,31026,31028,31030],{"class":4162,"line":31025},386,[4160,31027,9178],{"class":4543},[4160,31029,8984],{"class":5485},[4160,31031,4690],{"class":4539},[4160,31033,31035,31038,31041],{"class":4162,"line":31034},387,[4160,31036,31037],{"class":4543},"    overflow:",[4160,31039,31040],{"class":4552}," 'hidden'",[4160,31042,4690],{"class":4539},[4160,31044,31046],{"class":4162,"line":31045},388,[4160,31047,6526],{"class":4539},[4160,31049,31051],{"class":4162,"line":31050},389,[4160,31052,9383],{"class":4539},[4003,31054,31057],{"className":4526,"code":31055,"filename":31056,"language":4528,"meta":4011,"style":4011},"import { useState } from 'react';\nimport {\n  Modal,\n  Platform,\n  Pressable,\n  StyleSheet,\n  View,\n} from 'react-native';\nimport DateTimePicker, {\n  type DateTimePickerEvent,\n} from '@react-native-community\u002Fdatetimepicker';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText, Button } from '@\u002Fshared\u002Fui';\n\ntype DateFieldProps = {\n  label: string;\n  value: Date;\n  onChange: (date: Date) => void;\n  onBlur?: () => void;\n  error?: string;\n  \u002F** Мінімальна дата (наприклад, endDate ≥ startDate). *\u002F\n  minimumDate?: Date;\n  maximumDate?: Date;\n};\n\n\u002F**\n * Поле дати: натискання відкриває системний date picker.\n * iOS — spinner у Modal; Android — нативний діалог.\n *\u002F\nexport function DateField({\n  label,\n  value,\n  onChange,\n  onBlur,\n  error,\n  minimumDate,\n  maximumDate,\n}: DateFieldProps) {\n  const { colors, spacing, radius } = useTheme();\n  const [open, setOpen] = useState(false);\n  \u002F** Тимчасове значення на iOS, поки користувач крутить spinner. *\u002F\n  const [draft, setDraft] = useState(value);\n\n  const hasError = Boolean(error);\n\n  const openPicker = () => {\n    setDraft(value);\n    setOpen(true);\n  };\n\n  const closePicker = () => {\n    setOpen(false);\n    onBlur?.();\n  };\n\n  const applyIos = () => {\n    onChange(draft);\n    closePicker();\n  };\n\n  const onAndroidChange = (event: DateTimePickerEvent, selected?: Date) => {\n    \u002F\u002F Android закриває діалог сам; event.type: set | dismissed\n    setOpen(false);\n    if (event.type === 'set' && selected) {\n      onChange(selected);\n    }\n    onBlur?.();\n  };\n\n  const onIosChange = (_event: DateTimePickerEvent, selected?: Date) => {\n    if (selected) {\n      setDraft(selected);\n    }\n  };\n\n  const display = formatDisplay(value);\n\n  return (\n    \u003CView style={{ gap: spacing.xs }}>\n      \u003CAppText variant=\"caption\" style={styles.label}>\n        {label}\n      \u003C\u002FAppText>\n      \u003CPressable\n        accessibilityRole=\"button\"\n        accessibilityLabel={`${label}: ${display}`}\n        onPress={openPicker}\n        style={[\n          styles.field,\n          {\n            borderColor: hasError ? colors.danger : colors.border,\n            backgroundColor: colors.surface,\n            borderRadius: radius.md,\n            paddingVertical: spacing.sm + 4,\n            paddingHorizontal: spacing.md,\n          },\n        ]}\n      >\n        \u003CAppText>{display}\u003C\u002FAppText>\n      \u003C\u002FPressable>\n      {hasError ? (\n        \u003CAppText variant=\"caption\" color={colors.danger}>\n          {error}\n        \u003C\u002FAppText>\n      ) : null}\n\n      {\u002F* Android: системний діалог; iOS\u002Fweb: spinner у Modal *\u002F}\n      {Platform.OS === 'android' && open ? (\n        \u003CDateTimePicker\n          value={value}\n          mode=\"date\"\n          display=\"default\"\n          onChange={onAndroidChange}\n          minimumDate={minimumDate}\n          maximumDate={maximumDate}\n        \u002F>\n      ) : null}\n\n      {Platform.OS !== 'android' ? (\n        \u003CModal\n          visible={open}\n          transparent\n          animationType=\"slide\"\n          onRequestClose={closePicker}\n        >\n          \u003CPressable style={styles.backdrop} onPress={closePicker} \u002F>\n          \u003CView\n            style={[\n              styles.sheet,\n              {\n                backgroundColor: colors.surface,\n                borderColor: colors.border,\n                paddingBottom: spacing.lg,\n              },\n            ]}\n          >\n            \u003CView\n              style={[\n                styles.sheetHeader,\n                { paddingHorizontal: spacing.md, paddingTop: spacing.md },\n              ]}\n            >\n              \u003CAppText variant=\"subtitle\">{label}\u003C\u002FAppText>\n            \u003C\u002FView>\n            \u003CDateTimePicker\n              value={draft}\n              mode=\"date\"\n              display=\"spinner\"\n              onChange={onIosChange}\n              minimumDate={minimumDate}\n              maximumDate={maximumDate}\n              style={{ alignSelf: 'center' }}\n            \u002F>\n            \u003CView\n              style={[\n                styles.sheetActions,\n                { paddingHorizontal: spacing.md, gap: spacing.sm },\n              ]}\n            >\n              \u003CButton label=\"Готово\" onPress={applyIos} \u002F>\n              \u003CPressable onPress={closePicker} style={styles.cancel}>\n                \u003CAppText color={colors.textSecondary}>Скасувати\u003C\u002FAppText>\n              \u003C\u002FPressable>\n            \u003C\u002FView>\n          \u003C\u002FView>\n        \u003C\u002FModal>\n      ) : null}\n    \u003C\u002FView>\n  );\n}\n\nfunction formatDisplay(d: Date): string {\n  const dd = String(d.getDate()).padStart(2, '0');\n  const mm = String(d.getMonth() + 1).padStart(2, '0');\n  const yyyy = d.getFullYear();\n  return `${dd}.${mm}.${yyyy}`;\n}\n\nconst styles = StyleSheet.create({\n  label: {\n    fontWeight: '600',\n  },\n  field: {\n    borderWidth: 1,\n    minHeight: 48,\n    justifyContent: 'center',\n  },\n  backdrop: {\n    flex: 1,\n    backgroundColor: 'rgba(0,0,0,0.35)',\n  },\n  sheet: {\n    borderTopLeftRadius: 16,\n    borderTopRightRadius: 16,\n    borderTopWidth: 1,\n  },\n  sheetHeader: {\n    alignItems: 'center',\n  },\n  sheetActions: {\n    marginTop: 8,\n  },\n  cancel: {\n    alignItems: 'center',\n    paddingVertical: 10,\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FDateField.tsx",[3747,31058,31059,31075,31081,31088,31094,31100,31106,31112,31122,31131,31140,31151,31155,31171,31191,31195,31204,31215,31226,31247,31260,31271,31276,31287,31298,31302,31306,31310,31315,31320,31324,31335,31341,31347,31353,31359,31365,31371,31377,31386,31408,31432,31437,31461,31465,31483,31487,31500,31511,31522,31526,31530,31543,31553,31561,31565,31569,31582,31593,31600,31604,31608,31640,31645,31655,31678,31689,31693,31699,31703,31707,31737,31747,31758,31762,31766,31770,31788,31792,31798,31826,31854,31862,31870,31876,31885,31915,31929,31939,31949,31953,31979,31991,32004,32021,32033,32037,32043,32047,32067,32075,32086,32114,32122,32130,32138,32142,32151,32176,32183,32195,32205,32215,32229,32243,32257,32261,32269,32273,32292,32299,32312,32317,32327,32341,32345,32378,32384,32394,32406,32411,32424,32437,32450,32455,32462,32466,32472,32482,32493,32520,32526,32530,32556,32564,32570,32582,32591,32601,32614,32626,32639,32658,32662,32668,32678,32689,32713,32719,32723,32750,32783,32814,32822,32830,32838,32847,32855,32863,32867,32871,32875,32896,32932,32969,32986,33021,33025,33029,33045,33051,33059,33063,33070,33078,33087,33095,33099,33106,33114,33123,33127,33134,33143,33152,33160,33164,33171,33179,33183,33190,33198,33202,33209,33217,33225,33229],{"__ignoreMap":4011},[4160,31060,31061,31063,31065,31067,31069,31071,31073],{"class":4162,"line":4163},[4160,31062,4536],{"class":4535},[4160,31064,4540],{"class":4539},[4160,31066,5300],{"class":4543},[4160,31068,4546],{"class":4539},[4160,31070,4549],{"class":4535},[4160,31072,5307],{"class":4552},[4160,31074,4556],{"class":4539},[4160,31076,31077,31079],{"class":4162,"line":4169},[4160,31078,4536],{"class":4535},[4160,31080,5517],{"class":4539},[4160,31082,31083,31086],{"class":4162,"line":4175},[4160,31084,31085],{"class":4543},"  Modal",[4160,31087,4690],{"class":4539},[4160,31089,31090,31092],{"class":4162,"line":4181},[4160,31091,10215],{"class":4543},[4160,31093,4690],{"class":4539},[4160,31095,31096,31098],{"class":4162,"line":4188},[4160,31097,8067],{"class":4543},[4160,31099,4690],{"class":4539},[4160,31101,31102,31104],{"class":4162,"line":4194},[4160,31103,8074],{"class":4543},[4160,31105,4690],{"class":4539},[4160,31107,31108,31110],{"class":4162,"line":4200},[4160,31109,8088],{"class":4543},[4160,31111,4690],{"class":4539},[4160,31113,31114,31116,31118,31120],{"class":4162,"line":4206},[4160,31115,8095],{"class":4539},[4160,31117,4549],{"class":4535},[4160,31119,5324],{"class":4552},[4160,31121,4556],{"class":4539},[4160,31123,31124,31126,31129],{"class":4162,"line":4212},[4160,31125,4536],{"class":4535},[4160,31127,31128],{"class":4543}," DateTimePicker",[4160,31130,23531],{"class":4539},[4160,31132,31133,31135,31138],{"class":4162,"line":4218},[4160,31134,14509],{"class":4535},[4160,31136,31137],{"class":4543}," DateTimePickerEvent",[4160,31139,4690],{"class":4539},[4160,31141,31142,31144,31146,31149],{"class":4162,"line":4224},[4160,31143,8095],{"class":4539},[4160,31145,4549],{"class":4535},[4160,31147,31148],{"class":4552}," '@react-native-community\u002Fdatetimepicker'",[4160,31150,4556],{"class":4539},[4160,31152,31153],{"class":4162,"line":4230},[4160,31154,4185],{"emptyLinePlaceholder":4184},[4160,31156,31157,31159,31161,31163,31165,31167,31169],{"class":4162,"line":4236},[4160,31158,4536],{"class":4535},[4160,31160,4540],{"class":4539},[4160,31162,4565],{"class":4543},[4160,31164,4546],{"class":4539},[4160,31166,4549],{"class":4535},[4160,31168,4572],{"class":4552},[4160,31170,4556],{"class":4539},[4160,31172,31173,31175,31177,31179,31181,31183,31185,31187,31189],{"class":4162,"line":4242},[4160,31174,4536],{"class":4535},[4160,31176,4540],{"class":4539},[4160,31178,14565],{"class":4543},[4160,31180,4055],{"class":4539},[4160,31182,14570],{"class":4543},[4160,31184,4546],{"class":4539},[4160,31186,4549],{"class":4535},[4160,31188,14582],{"class":4552},[4160,31190,4556],{"class":4539},[4160,31192,31193],{"class":4162,"line":4248},[4160,31194,4185],{"emptyLinePlaceholder":4184},[4160,31196,31197,31199,31202],{"class":4162,"line":4254},[4160,31198,6433],{"class":4589},[4160,31200,31201],{"class":4637}," DateFieldProps",[4160,31203,5156],{"class":4539},[4160,31205,31206,31209,31211,31213],{"class":4162,"line":4259},[4160,31207,31208],{"class":4543},"  label",[4160,31210,5814],{"class":4539},[4160,31212,5817],{"class":4637},[4160,31214,4556],{"class":4539},[4160,31216,31217,31220,31222,31224],{"class":4162,"line":4265},[4160,31218,31219],{"class":4543},"  value",[4160,31221,5814],{"class":4539},[4160,31223,6871],{"class":4637},[4160,31225,4556],{"class":4539},[4160,31227,31228,31231,31233,31235,31237,31239,31241,31243,31245],{"class":4162,"line":4271},[4160,31229,31230],{"class":4593},"  onChange",[4160,31232,24624],{"class":4539},[4160,31234,23616],{"class":4543},[4160,31236,5814],{"class":4539},[4160,31238,6871],{"class":4637},[4160,31240,6644],{"class":4539},[4160,31242,5514],{"class":4589},[4160,31244,6444],{"class":4637},[4160,31246,4556],{"class":4539},[4160,31248,31249,31252,31254,31256,31258],{"class":4162,"line":4276},[4160,31250,31251],{"class":4593},"  onBlur",[4160,31253,27035],{"class":4539},[4160,31255,5514],{"class":4589},[4160,31257,6444],{"class":4637},[4160,31259,4556],{"class":4539},[4160,31261,31262,31265,31267,31269],{"class":4162,"line":4282},[4160,31263,31264],{"class":4543},"  error",[4160,31266,23108],{"class":4539},[4160,31268,5817],{"class":4637},[4160,31270,4556],{"class":4539},[4160,31272,31273],{"class":4162,"line":4288},[4160,31274,31275],{"class":4763},"  \u002F** Мінімальна дата (наприклад, endDate ≥ startDate). *\u002F\n",[4160,31277,31278,31281,31283,31285],{"class":4162,"line":4294},[4160,31279,31280],{"class":4543},"  minimumDate",[4160,31282,23108],{"class":4539},[4160,31284,6871],{"class":4637},[4160,31286,4556],{"class":4539},[4160,31288,31289,31292,31294,31296],{"class":4162,"line":4300},[4160,31290,31291],{"class":4543},"  maximumDate",[4160,31293,23108],{"class":4539},[4160,31295,6871],{"class":4637},[4160,31297,4556],{"class":4539},[4160,31299,31300],{"class":4162,"line":4305},[4160,31301,5171],{"class":4539},[4160,31303,31304],{"class":4162,"line":4311},[4160,31305,4185],{"emptyLinePlaceholder":4184},[4160,31307,31308],{"class":4162,"line":4317},[4160,31309,13075],{"class":4763},[4160,31311,31312],{"class":4162,"line":4323},[4160,31313,31314],{"class":4763}," * Поле дати: натискання відкриває системний date picker.\n",[4160,31316,31317],{"class":4162,"line":4328},[4160,31318,31319],{"class":4763}," * iOS — spinner у Modal; Android — нативний діалог.\n",[4160,31321,31322],{"class":4162,"line":4333},[4160,31323,13105],{"class":4763},[4160,31325,31326,31328,31330,31333],{"class":4162,"line":5663},[4160,31327,4583],{"class":4535},[4160,31329,4590],{"class":4589},[4160,31331,31332],{"class":4593}," DateField",[4160,31334,8970],{"class":4539},[4160,31336,31337,31339],{"class":4162,"line":5676},[4160,31338,31208],{"class":4543},[4160,31340,4690],{"class":4539},[4160,31342,31343,31345],{"class":4162,"line":6728},[4160,31344,31219],{"class":4543},[4160,31346,4690],{"class":4539},[4160,31348,31349,31351],{"class":4162,"line":6733},[4160,31350,31230],{"class":4543},[4160,31352,4690],{"class":4539},[4160,31354,31355,31357],{"class":4162,"line":6738},[4160,31356,31251],{"class":4543},[4160,31358,4690],{"class":4539},[4160,31360,31361,31363],{"class":4162,"line":6768},[4160,31362,31264],{"class":4543},[4160,31364,4690],{"class":4539},[4160,31366,31367,31369],{"class":4162,"line":6803},[4160,31368,31280],{"class":4543},[4160,31370,4690],{"class":4539},[4160,31372,31373,31375],{"class":4162,"line":6808},[4160,31374,31291],{"class":4543},[4160,31376,4690],{"class":4539},[4160,31378,31379,31381,31384],{"class":4162,"line":6813},[4160,31380,27257],{"class":4539},[4160,31382,31383],{"class":4637},"DateFieldProps",[4160,31385,5915],{"class":4539},[4160,31387,31388,31390,31392,31394,31396,31398,31400,31402,31404,31406],{"class":4162,"line":6847},[4160,31389,4602],{"class":4589},[4160,31391,4540],{"class":4539},[4160,31393,4608],{"class":4607},[4160,31395,4055],{"class":4539},[4160,31397,14738],{"class":4607},[4160,31399,4055],{"class":4539},[4160,31401,17861],{"class":4607},[4160,31403,4611],{"class":4539},[4160,31405,4565],{"class":4593},[4160,31407,4616],{"class":4539},[4160,31409,31410,31412,31414,31417,31419,31422,31424,31426,31428,31430],{"class":4162,"line":6861},[4160,31411,4602],{"class":4589},[4160,31413,5396],{"class":4539},[4160,31415,31416],{"class":4607},"open",[4160,31418,4055],{"class":4539},[4160,31420,31421],{"class":4607},"setOpen",[4160,31423,5406],{"class":4539},[4160,31425,5300],{"class":4593},[4160,31427,5411],{"class":4539},[4160,31429,5440],{"class":4589},[4160,31431,5417],{"class":4539},[4160,31433,31434],{"class":4162,"line":6881},[4160,31435,31436],{"class":4763},"  \u002F** Тимчасове значення на iOS, поки користувач крутить spinner. *\u002F\n",[4160,31438,31439,31441,31443,31446,31448,31451,31453,31455,31457,31459],{"class":4162,"line":6901},[4160,31440,4602],{"class":4589},[4160,31442,5396],{"class":4539},[4160,31444,31445],{"class":4607},"draft",[4160,31447,4055],{"class":4539},[4160,31449,31450],{"class":4607},"setDraft",[4160,31452,5406],{"class":4539},[4160,31454,5300],{"class":4593},[4160,31456,5411],{"class":4539},[4160,31458,25067],{"class":4543},[4160,31460,5417],{"class":4539},[4160,31462,31463],{"class":4162,"line":6916},[4160,31464,4185],{"emptyLinePlaceholder":4184},[4160,31466,31467,31469,31472,31474,31476,31478,31481],{"class":4162,"line":6929},[4160,31468,4602],{"class":4589},[4160,31470,31471],{"class":4607}," hasError",[4160,31473,5385],{"class":4539},[4160,31475,30352],{"class":4593},[4160,31477,5411],{"class":4539},[4160,31479,31480],{"class":4543},"error",[4160,31482,5417],{"class":4539},[4160,31484,31485],{"class":4162,"line":6935},[4160,31486,4185],{"emptyLinePlaceholder":4184},[4160,31488,31489,31491,31494,31496,31498],{"class":4162,"line":6953},[4160,31490,4602],{"class":4589},[4160,31492,31493],{"class":4593}," openPicker",[4160,31495,6439],{"class":4539},[4160,31497,5514],{"class":4589},[4160,31499,5517],{"class":4539},[4160,31501,31502,31505,31507,31509],{"class":4162,"line":6961},[4160,31503,31504],{"class":4593},"    setDraft",[4160,31506,5411],{"class":4539},[4160,31508,25067],{"class":4543},[4160,31510,5417],{"class":4539},[4160,31512,31513,31516,31518,31520],{"class":4162,"line":6970},[4160,31514,31515],{"class":4593},"    setOpen",[4160,31517,5411],{"class":4539},[4160,31519,5693],{"class":4589},[4160,31521,5417],{"class":4539},[4160,31523,31524],{"class":4162,"line":6975},[4160,31525,6932],{"class":4539},[4160,31527,31528],{"class":4162,"line":6980},[4160,31529,4185],{"emptyLinePlaceholder":4184},[4160,31531,31532,31534,31537,31539,31541],{"class":4162,"line":7008},[4160,31533,4602],{"class":4589},[4160,31535,31536],{"class":4593}," closePicker",[4160,31538,6439],{"class":4539},[4160,31540,5514],{"class":4589},[4160,31542,5517],{"class":4539},[4160,31544,31545,31547,31549,31551],{"class":4162,"line":7024},[4160,31546,31515],{"class":4593},[4160,31548,5411],{"class":4539},[4160,31550,5440],{"class":4589},[4160,31552,5417],{"class":4539},[4160,31554,31555,31558],{"class":4162,"line":7035},[4160,31556,31557],{"class":4593},"    onBlur",[4160,31559,31560],{"class":4539},"?.();\n",[4160,31562,31563],{"class":4162,"line":7052},[4160,31564,6932],{"class":4539},[4160,31566,31567],{"class":4162,"line":7057},[4160,31568,4185],{"emptyLinePlaceholder":4184},[4160,31570,31571,31573,31576,31578,31580],{"class":4162,"line":8928},[4160,31572,4602],{"class":4589},[4160,31574,31575],{"class":4593}," applyIos",[4160,31577,6439],{"class":4539},[4160,31579,5514],{"class":4589},[4160,31581,5517],{"class":4539},[4160,31583,31584,31587,31589,31591],{"class":4162,"line":8937},[4160,31585,31586],{"class":4593},"    onChange",[4160,31588,5411],{"class":4539},[4160,31590,31445],{"class":4543},[4160,31592,5417],{"class":4539},[4160,31594,31595,31598],{"class":4162,"line":8942},[4160,31596,31597],{"class":4593},"    closePicker",[4160,31599,4616],{"class":4539},[4160,31601,31602],{"class":4162,"line":8947},[4160,31603,6932],{"class":4539},[4160,31605,31606],{"class":4162,"line":8952},[4160,31607,4185],{"emptyLinePlaceholder":4184},[4160,31609,31610,31612,31615,31617,31620,31622,31625,31627,31630,31632,31634,31636,31638],{"class":4162,"line":8973},[4160,31611,4602],{"class":4589},[4160,31613,31614],{"class":4593}," onAndroidChange",[4160,31616,23311],{"class":4539},[4160,31618,31619],{"class":4543},"event",[4160,31621,5814],{"class":4539},[4160,31623,31624],{"class":4637},"DateTimePickerEvent",[4160,31626,4055],{"class":4539},[4160,31628,31629],{"class":4543},"selected",[4160,31631,23108],{"class":4539},[4160,31633,6871],{"class":4637},[4160,31635,6644],{"class":4539},[4160,31637,5514],{"class":4589},[4160,31639,5517],{"class":4539},[4160,31641,31642],{"class":4162,"line":8995},[4160,31643,31644],{"class":4763},"    \u002F\u002F Android закриває діалог сам; event.type: set | dismissed\n",[4160,31646,31647,31649,31651,31653],{"class":4162,"line":9003},[4160,31648,31515],{"class":4593},[4160,31650,5411],{"class":4539},[4160,31652,5440],{"class":4589},[4160,31654,5417],{"class":4539},[4160,31656,31657,31659,31661,31663,31665,31667,31669,31672,31674,31676],{"class":4162,"line":9014},[4160,31658,10654],{"class":4535},[4160,31660,5668],{"class":4539},[4160,31662,31619],{"class":4543},[4160,31664,3840],{"class":4539},[4160,31666,6433],{"class":4543},[4160,31668,6796],{"class":4539},[4160,31670,31671],{"class":4552},"'set'",[4160,31673,5466],{"class":4539},[4160,31675,31629],{"class":4543},[4160,31677,5915],{"class":4539},[4160,31679,31680,31683,31685,31687],{"class":4162,"line":9025},[4160,31681,31682],{"class":4593},"      onChange",[4160,31684,5411],{"class":4539},[4160,31686,31629],{"class":4543},[4160,31688,5417],{"class":4539},[4160,31690,31691],{"class":4162,"line":9035},[4160,31692,4221],{"class":4539},[4160,31694,31695,31697],{"class":4162,"line":9045},[4160,31696,31557],{"class":4593},[4160,31698,31560],{"class":4539},[4160,31700,31701],{"class":4162,"line":9055},[4160,31702,6932],{"class":4539},[4160,31704,31705],{"class":4162,"line":9060},[4160,31706,4185],{"emptyLinePlaceholder":4184},[4160,31708,31709,31711,31714,31716,31719,31721,31723,31725,31727,31729,31731,31733,31735],{"class":4162,"line":9088},[4160,31710,4602],{"class":4589},[4160,31712,31713],{"class":4593}," onIosChange",[4160,31715,23311],{"class":4539},[4160,31717,31718],{"class":4543},"_event",[4160,31720,5814],{"class":4539},[4160,31722,31624],{"class":4637},[4160,31724,4055],{"class":4539},[4160,31726,31629],{"class":4543},[4160,31728,23108],{"class":4539},[4160,31730,6871],{"class":4637},[4160,31732,6644],{"class":4539},[4160,31734,5514],{"class":4589},[4160,31736,5517],{"class":4539},[4160,31738,31739,31741,31743,31745],{"class":4162,"line":9117},[4160,31740,10654],{"class":4535},[4160,31742,5668],{"class":4539},[4160,31744,31629],{"class":4543},[4160,31746,5915],{"class":4539},[4160,31748,31749,31752,31754,31756],{"class":4162,"line":9146},[4160,31750,31751],{"class":4593},"      setDraft",[4160,31753,5411],{"class":4539},[4160,31755,31629],{"class":4543},[4160,31757,5417],{"class":4539},[4160,31759,31760],{"class":4162,"line":9154},[4160,31761,4221],{"class":4539},[4160,31763,31764],{"class":4162,"line":9165},[4160,31765,6932],{"class":4539},[4160,31767,31768],{"class":4162,"line":9175},[4160,31769,4185],{"emptyLinePlaceholder":4184},[4160,31771,31772,31774,31777,31779,31782,31784,31786],{"class":4162,"line":9185},[4160,31773,4602],{"class":4589},[4160,31775,31776],{"class":4607}," display",[4160,31778,5385],{"class":4539},[4160,31780,31781],{"class":4593},"formatDisplay",[4160,31783,5411],{"class":4539},[4160,31785,25067],{"class":4543},[4160,31787,5417],{"class":4539},[4160,31789,31790],{"class":4162,"line":9195},[4160,31791,4185],{"emptyLinePlaceholder":4184},[4160,31793,31794,31796],{"class":4162,"line":9206},[4160,31795,4625],{"class":4535},[4160,31797,4628],{"class":4539},[4160,31799,31800,31802,31804,31806,31808,31810,31812,31814,31816,31818,31820,31822,31824],{"class":4162,"line":9211},[4160,31801,4634],{"class":4633},[4160,31803,8320],{"class":4637},[4160,31805,7170],{"class":4643},[4160,31807,4647],{"class":4539},[4160,31809,4650],{"class":4589},[4160,31811,4792],{"class":4653},[4160,31813,11276],{"class":4543},[4160,31815,15210],{"class":4543},[4160,31817,3840],{"class":4653},[4160,31819,15912],{"class":4543},[4160,31821,4800],{"class":4653},[4160,31823,4803],{"class":4589},[4160,31825,4890],{"class":4633},[4160,31827,31828,31830,31832,31834,31836,31838,31840,31842,31844,31846,31848,31850,31852],{"class":4162,"line":9239},[4160,31829,4771],{"class":4633},[4160,31831,14565],{"class":4637},[4160,31833,15675],{"class":4643},[4160,31835,4647],{"class":4539},[4160,31837,15986],{"class":4552},[4160,31839,7170],{"class":4643},[4160,31841,4647],{"class":4539},[4160,31843,4650],{"class":4589},[4160,31845,8287],{"class":4543},[4160,31847,3840],{"class":4653},[4160,31849,10924],{"class":4543},[4160,31851,4803],{"class":4589},[4160,31853,4890],{"class":4633},[4160,31855,31856,31858,31860],{"class":4162,"line":9266},[4160,31857,19412],{"class":4589},[4160,31859,10924],{"class":4543},[4160,31861,4251],{"class":4589},[4160,31863,31864,31866,31868],{"class":4162,"line":9274},[4160,31865,7366],{"class":4633},[4160,31867,14565],{"class":4637},[4160,31869,4890],{"class":4633},[4160,31871,31872,31874],{"class":4162,"line":9283},[4160,31873,4771],{"class":4633},[4160,31875,8827],{"class":4637},[4160,31877,31878,31881,31883],{"class":4162,"line":9293},[4160,31879,31880],{"class":4643},"        accessibilityRole",[4160,31882,4647],{"class":4539},[4160,31884,16456],{"class":4552},[4160,31886,31887,31890,31892,31894,31896,31898,31900,31902,31904,31906,31909,31911,31913],{"class":4162,"line":9303},[4160,31888,31889],{"class":4643},"        accessibilityLabel",[4160,31891,4647],{"class":4539},[4160,31893,4650],{"class":4589},[4160,31895,8630],{"class":4552},[4160,31897,5939],{"class":4589},[4160,31899,10924],{"class":4543},[4160,31901,4803],{"class":4589},[4160,31903,5814],{"class":4552},[4160,31905,5939],{"class":4589},[4160,31907,31908],{"class":4543},"display",[4160,31910,4803],{"class":4589},[4160,31912,8630],{"class":4552},[4160,31914,4251],{"class":4589},[4160,31916,31917,31920,31922,31924,31927],{"class":4162,"line":9308},[4160,31918,31919],{"class":4643},"        onPress",[4160,31921,4647],{"class":4539},[4160,31923,4650],{"class":4589},[4160,31925,31926],{"class":4543},"openPicker",[4160,31928,4251],{"class":4589},[4160,31930,31931,31933,31935,31937],{"class":4162,"line":9316},[4160,31932,15749],{"class":4643},[4160,31934,4647],{"class":4539},[4160,31936,4650],{"class":4589},[4160,31938,15595],{"class":4653},[4160,31940,31941,31943,31945,31947],{"class":4162,"line":9325},[4160,31942,15845],{"class":4543},[4160,31944,3840],{"class":4653},[4160,31946,4481],{"class":4543},[4160,31948,4690],{"class":4653},[4160,31950,31951],{"class":4162,"line":9335},[4160,31952,15857],{"class":4653},[4160,31954,31955,31958,31960,31962,31964,31966,31969,31971,31973,31975,31977],{"class":4162,"line":9344},[4160,31956,31957],{"class":4543},"            borderColor:",[4160,31959,31471],{"class":4543},[4160,31961,10829],{"class":4539},[4160,31963,4667],{"class":4543},[4160,31965,3840],{"class":4653},[4160,31967,31968],{"class":4543},"danger",[4160,31970,10835],{"class":4539},[4160,31972,4667],{"class":4543},[4160,31974,3840],{"class":4653},[4160,31976,13687],{"class":4543},[4160,31978,4690],{"class":4653},[4160,31980,31981,31983,31985,31987,31989],{"class":4162,"line":9355},[4160,31982,17081],{"class":4543},[4160,31984,4667],{"class":4543},[4160,31986,3840],{"class":4653},[4160,31988,16415],{"class":4543},[4160,31990,4690],{"class":4653},[4160,31992,31993,31996,31998,32000,32002],{"class":4162,"line":9360},[4160,31994,31995],{"class":4543},"            borderRadius:",[4160,31997,19305],{"class":4543},[4160,31999,3840],{"class":4653},[4160,32001,15215],{"class":4543},[4160,32003,4690],{"class":4653},[4160,32005,32006,32009,32011,32013,32015,32017,32019],{"class":4162,"line":9380},[4160,32007,32008],{"class":4543},"            paddingVertical:",[4160,32010,15210],{"class":4543},[4160,32012,3840],{"class":4653},[4160,32014,15274],{"class":4543},[4160,32016,22089],{"class":4539},[4160,32018,9099],{"class":5485},[4160,32020,4690],{"class":4653},[4160,32022,32023,32025,32027,32029,32031],{"class":4162,"line":11316},[4160,32024,15863],{"class":4543},[4160,32026,15210],{"class":4543},[4160,32028,3840],{"class":4653},[4160,32030,15215],{"class":4543},[4160,32032,4690],{"class":4653},[4160,32034,32035],{"class":4162,"line":11325},[4160,32036,15934],{"class":4653},[4160,32038,32039,32041],{"class":4162,"line":11334},[4160,32040,15940],{"class":4653},[4160,32042,4251],{"class":4589},[4160,32044,32045],{"class":4162,"line":11344},[4160,32046,7262],{"class":4633},[4160,32048,32049,32051,32053,32055,32057,32059,32061,32063,32065],{"class":4162,"line":11353},[4160,32050,7267],{"class":4633},[4160,32052,14565],{"class":4637},[4160,32054,8361],{"class":4633},[4160,32056,4650],{"class":4589},[4160,32058,31908],{"class":4543},[4160,32060,4803],{"class":4589},[4160,32062,8367],{"class":4633},[4160,32064,14565],{"class":4637},[4160,32066,4890],{"class":4633},[4160,32068,32069,32071,32073],{"class":4162,"line":11364},[4160,32070,7366],{"class":4633},[4160,32072,8644],{"class":4637},[4160,32074,4890],{"class":4633},[4160,32076,32077,32079,32082,32084],{"class":4162,"line":11369},[4160,32078,4760],{"class":4589},[4160,32080,32081],{"class":4543},"hasError",[4160,32083,10829],{"class":4539},[4160,32085,4628],{"class":4653},[4160,32087,32088,32090,32092,32094,32096,32098,32100,32102,32104,32106,32108,32110,32112],{"class":4162,"line":11377},[4160,32089,7267],{"class":4633},[4160,32091,14565],{"class":4637},[4160,32093,15675],{"class":4643},[4160,32095,4647],{"class":4539},[4160,32097,15986],{"class":4552},[4160,32099,7647],{"class":4643},[4160,32101,4647],{"class":4539},[4160,32103,4650],{"class":4589},[4160,32105,4608],{"class":4543},[4160,32107,3840],{"class":4653},[4160,32109,31968],{"class":4543},[4160,32111,4803],{"class":4589},[4160,32113,4890],{"class":4633},[4160,32115,32116,32118,32120],{"class":4162,"line":11386},[4160,32117,16127],{"class":4589},[4160,32119,31480],{"class":4543},[4160,32121,4251],{"class":4589},[4160,32123,32124,32126,32128],{"class":4162,"line":11395},[4160,32125,8414],{"class":4633},[4160,32127,14565],{"class":4637},[4160,32129,4890],{"class":4633},[4160,32131,32132,32134,32136],{"class":4162,"line":11404},[4160,32133,15510],{"class":4653},[4160,32135,3821],{"class":4539},[4160,32137,15515],{"class":4589},[4160,32139,32140],{"class":4162,"line":11413},[4160,32141,4185],{"emptyLinePlaceholder":4184},[4160,32143,32144,32146,32149],{"class":4162,"line":11422},[4160,32145,4760],{"class":4589},[4160,32147,32148],{"class":4763},"\u002F* Android: системний діалог; iOS\u002Fweb: spinner у Modal *\u002F",[4160,32150,4251],{"class":4589},[4160,32152,32153,32155,32157,32159,32161,32163,32166,32169,32172,32174],{"class":4162,"line":11431},[4160,32154,4760],{"class":4589},[4160,32156,10815],{"class":4543},[4160,32158,3840],{"class":4653},[4160,32160,10820],{"class":4607},[4160,32162,10823],{"class":4539},[4160,32164,32165],{"class":4552}," 'android'",[4160,32167,32168],{"class":4539}," &&",[4160,32170,32171],{"class":4543}," open",[4160,32173,10829],{"class":4539},[4160,32175,4628],{"class":4653},[4160,32177,32178,32180],{"class":4162,"line":11440},[4160,32179,7267],{"class":4633},[4160,32181,32182],{"class":4637},"DateTimePicker\n",[4160,32184,32185,32187,32189,32191,32193],{"class":4162,"line":11449},[4160,32186,10966],{"class":4643},[4160,32188,4647],{"class":4539},[4160,32190,4650],{"class":4589},[4160,32192,25067],{"class":4543},[4160,32194,4251],{"class":4589},[4160,32196,32197,32200,32202],{"class":4162,"line":11454},[4160,32198,32199],{"class":4643},"          mode",[4160,32201,4647],{"class":4539},[4160,32203,32204],{"class":4552},"\"date\"\n",[4160,32206,32207,32210,32212],{"class":4162,"line":11470},[4160,32208,32209],{"class":4643},"          display",[4160,32211,4647],{"class":4539},[4160,32213,32214],{"class":4552},"\"default\"\n",[4160,32216,32217,32220,32222,32224,32227],{"class":4162,"line":11477},[4160,32218,32219],{"class":4643},"          onChange",[4160,32221,4647],{"class":4539},[4160,32223,4650],{"class":4589},[4160,32225,32226],{"class":4543},"onAndroidChange",[4160,32228,4251],{"class":4589},[4160,32230,32231,32234,32236,32238,32241],{"class":4162,"line":11487},[4160,32232,32233],{"class":4643},"          minimumDate",[4160,32235,4647],{"class":4539},[4160,32237,4650],{"class":4589},[4160,32239,32240],{"class":4543},"minimumDate",[4160,32242,4251],{"class":4589},[4160,32244,32245,32248,32250,32252,32255],{"class":4162,"line":11496},[4160,32246,32247],{"class":4643},"          maximumDate",[4160,32249,4647],{"class":4539},[4160,32251,4650],{"class":4589},[4160,32253,32254],{"class":4543},"maximumDate",[4160,32256,4251],{"class":4589},[4160,32258,32259],{"class":4162,"line":11505},[4160,32260,7361],{"class":4633},[4160,32262,32263,32265,32267],{"class":4162,"line":11514},[4160,32264,15510],{"class":4653},[4160,32266,3821],{"class":4539},[4160,32268,15515],{"class":4589},[4160,32270,32271],{"class":4162,"line":11523},[4160,32272,4185],{"emptyLinePlaceholder":4184},[4160,32274,32275,32277,32279,32281,32283,32286,32288,32290],{"class":4162,"line":11528},[4160,32276,4760],{"class":4589},[4160,32278,10815],{"class":4543},[4160,32280,3840],{"class":4653},[4160,32282,10820],{"class":4607},[4160,32284,32285],{"class":4539}," !==",[4160,32287,32165],{"class":4552},[4160,32289,10829],{"class":4539},[4160,32291,4628],{"class":4653},[4160,32293,32294,32296],{"class":4162,"line":11547},[4160,32295,7267],{"class":4633},[4160,32297,32298],{"class":4637},"Modal\n",[4160,32300,32301,32304,32306,32308,32310],{"class":4162,"line":15854},[4160,32302,32303],{"class":4643},"          visible",[4160,32305,4647],{"class":4539},[4160,32307,4650],{"class":4589},[4160,32309,31416],{"class":4543},[4160,32311,4251],{"class":4589},[4160,32313,32314],{"class":4162,"line":15860},[4160,32315,32316],{"class":4643},"          transparent\n",[4160,32318,32319,32322,32324],{"class":4162,"line":15874},[4160,32320,32321],{"class":4643},"          animationType",[4160,32323,4647],{"class":4539},[4160,32325,32326],{"class":4552},"\"slide\"\n",[4160,32328,32329,32332,32334,32336,32339],{"class":4162,"line":15888},[4160,32330,32331],{"class":4643},"          onRequestClose",[4160,32333,4647],{"class":4539},[4160,32335,4650],{"class":4589},[4160,32337,32338],{"class":4543},"closePicker",[4160,32340,4251],{"class":4589},[4160,32342,32343],{"class":4162,"line":15902},[4160,32344,8877],{"class":4633},[4160,32346,32347,32349,32351,32353,32355,32357,32359,32361,32364,32366,32368,32370,32372,32374,32376],{"class":4162,"line":15917},[4160,32348,8549],{"class":4633},[4160,32350,8644],{"class":4637},[4160,32352,7170],{"class":4643},[4160,32354,4647],{"class":4539},[4160,32356,4650],{"class":4589},[4160,32358,8287],{"class":4543},[4160,32360,3840],{"class":4653},[4160,32362,32363],{"class":4543},"backdrop",[4160,32365,4803],{"class":4589},[4160,32367,9703],{"class":4643},[4160,32369,4647],{"class":4539},[4160,32371,4650],{"class":4589},[4160,32373,32338],{"class":4543},[4160,32375,4803],{"class":4589},[4160,32377,4806],{"class":4633},[4160,32379,32380,32382],{"class":4162,"line":15931},[4160,32381,8549],{"class":4633},[4160,32383,15584],{"class":4637},[4160,32385,32386,32388,32390,32392],{"class":4162,"line":15937},[4160,32387,18072],{"class":4643},[4160,32389,4647],{"class":4539},[4160,32391,4650],{"class":4589},[4160,32393,15595],{"class":4653},[4160,32395,32396,32399,32401,32404],{"class":4162,"line":15945},[4160,32397,32398],{"class":4543},"              styles",[4160,32400,3840],{"class":4653},[4160,32402,32403],{"class":4543},"sheet",[4160,32405,4690],{"class":4653},[4160,32407,32408],{"class":4162,"line":15950},[4160,32409,32410],{"class":4653},"              {\n",[4160,32412,32413,32416,32418,32420,32422],{"class":4162,"line":15975},[4160,32414,32415],{"class":4543},"                backgroundColor:",[4160,32417,4667],{"class":4543},[4160,32419,3840],{"class":4653},[4160,32421,16415],{"class":4543},[4160,32423,4690],{"class":4653},[4160,32425,32426,32429,32431,32433,32435],{"class":4162,"line":16011},[4160,32427,32428],{"class":4543},"                borderColor:",[4160,32430,4667],{"class":4543},[4160,32432,3840],{"class":4653},[4160,32434,13687],{"class":4543},[4160,32436,4690],{"class":4653},[4160,32438,32439,32442,32444,32446,32448],{"class":4162,"line":16037},[4160,32440,32441],{"class":4543},"                paddingBottom:",[4160,32443,15210],{"class":4543},[4160,32445,3840],{"class":4653},[4160,32447,18006],{"class":4543},[4160,32449,4690],{"class":4653},[4160,32451,32452],{"class":4162,"line":16046},[4160,32453,32454],{"class":4653},"              },\n",[4160,32456,32457,32460],{"class":4162,"line":16053},[4160,32458,32459],{"class":4653},"            ]",[4160,32461,4251],{"class":4589},[4160,32463,32464],{"class":4162,"line":16063},[4160,32465,18102],{"class":4633},[4160,32467,32468,32470],{"class":4162,"line":16074},[4160,32469,7624],{"class":4633},[4160,32471,15584],{"class":4637},[4160,32473,32474,32476,32478,32480],{"class":4162,"line":16088},[4160,32475,22039],{"class":4643},[4160,32477,4647],{"class":4539},[4160,32479,4650],{"class":4589},[4160,32481,15595],{"class":4653},[4160,32483,32484,32486,32488,32491],{"class":4162,"line":16102},[4160,32485,22050],{"class":4543},[4160,32487,3840],{"class":4653},[4160,32489,32490],{"class":4543},"sheetHeader",[4160,32492,4690],{"class":4653},[4160,32494,32495,32498,32501,32503,32505,32507,32509,32512,32514,32516,32518],{"class":4162,"line":16112},[4160,32496,32497],{"class":4653},"                { ",[4160,32499,32500],{"class":4543},"paddingHorizontal:",[4160,32502,15210],{"class":4543},[4160,32504,3840],{"class":4653},[4160,32506,15215],{"class":4543},[4160,32508,4055],{"class":4653},[4160,32510,32511],{"class":4543},"paddingTop:",[4160,32513,15210],{"class":4543},[4160,32515,3840],{"class":4653},[4160,32517,15215],{"class":4543},[4160,32519,4675],{"class":4653},[4160,32521,32522,32524],{"class":4162,"line":16119},[4160,32523,22112],{"class":4653},[4160,32525,4251],{"class":4589},[4160,32527,32528],{"class":4162,"line":16124},[4160,32529,22119],{"class":4633},[4160,32531,32532,32534,32536,32538,32540,32542,32544,32546,32548,32550,32552,32554],{"class":4162,"line":16141},[4160,32533,8666],{"class":4633},[4160,32535,14565],{"class":4637},[4160,32537,15675],{"class":4643},[4160,32539,4647],{"class":4539},[4160,32541,15680],{"class":4552},[4160,32543,8361],{"class":4633},[4160,32545,4650],{"class":4589},[4160,32547,10924],{"class":4543},[4160,32549,4803],{"class":4589},[4160,32551,8367],{"class":4633},[4160,32553,14565],{"class":4637},[4160,32555,4890],{"class":4633},[4160,32557,32558,32560,32562],{"class":4162,"line":16176},[4160,32559,8769],{"class":4633},[4160,32561,8320],{"class":4637},[4160,32563,4890],{"class":4633},[4160,32565,32566,32568],{"class":4162,"line":16187},[4160,32567,7624],{"class":4633},[4160,32569,32182],{"class":4637},[4160,32571,32572,32574,32576,32578,32580],{"class":4162,"line":16196},[4160,32573,28164],{"class":4643},[4160,32575,4647],{"class":4539},[4160,32577,4650],{"class":4589},[4160,32579,31445],{"class":4543},[4160,32581,4251],{"class":4589},[4160,32583,32584,32587,32589],{"class":4162,"line":16201},[4160,32585,32586],{"class":4643},"              mode",[4160,32588,4647],{"class":4539},[4160,32590,32204],{"class":4552},[4160,32592,32593,32596,32598],{"class":4162,"line":16251},[4160,32594,32595],{"class":4643},"              display",[4160,32597,4647],{"class":4539},[4160,32599,32600],{"class":4552},"\"spinner\"\n",[4160,32602,32603,32605,32607,32609,32612],{"class":4162,"line":16274},[4160,32604,28811],{"class":4643},[4160,32606,4647],{"class":4539},[4160,32608,4650],{"class":4589},[4160,32610,32611],{"class":4543},"onIosChange",[4160,32613,4251],{"class":4589},[4160,32615,32616,32618,32620,32622,32624],{"class":4162,"line":16300},[4160,32617,29002],{"class":4643},[4160,32619,4647],{"class":4539},[4160,32621,4650],{"class":4589},[4160,32623,32240],{"class":4543},[4160,32625,4251],{"class":4589},[4160,32627,32628,32631,32633,32635,32637],{"class":4162,"line":16308},[4160,32629,32630],{"class":4643},"              maximumDate",[4160,32632,4647],{"class":4539},[4160,32634,4650],{"class":4589},[4160,32636,32254],{"class":4543},[4160,32638,4251],{"class":4589},[4160,32640,32641,32643,32645,32647,32649,32652,32654,32656],{"class":4162,"line":16315},[4160,32642,22039],{"class":4643},[4160,32644,4647],{"class":4539},[4160,32646,4650],{"class":4589},[4160,32648,4792],{"class":4653},[4160,32650,32651],{"class":4543},"alignSelf:",[4160,32653,9350],{"class":4552},[4160,32655,4800],{"class":4653},[4160,32657,4251],{"class":4589},[4160,32659,32660],{"class":4162,"line":16333},[4160,32661,7774],{"class":4633},[4160,32663,32664,32666],{"class":4162,"line":16362},[4160,32665,7624],{"class":4633},[4160,32667,15584],{"class":4637},[4160,32669,32670,32672,32674,32676],{"class":4162,"line":16374},[4160,32671,22039],{"class":4643},[4160,32673,4647],{"class":4539},[4160,32675,4650],{"class":4589},[4160,32677,15595],{"class":4653},[4160,32679,32680,32682,32684,32687],{"class":4162,"line":16387},[4160,32681,22050],{"class":4543},[4160,32683,3840],{"class":4653},[4160,32685,32686],{"class":4543},"sheetActions",[4160,32688,4690],{"class":4653},[4160,32690,32691,32693,32695,32697,32699,32701,32703,32705,32707,32709,32711],{"class":4162,"line":16393},[4160,32692,32497],{"class":4653},[4160,32694,32500],{"class":4543},[4160,32696,15210],{"class":4543},[4160,32698,3840],{"class":4653},[4160,32700,15215],{"class":4543},[4160,32702,4055],{"class":4653},[4160,32704,11276],{"class":4543},[4160,32706,15210],{"class":4543},[4160,32708,3840],{"class":4653},[4160,32710,15274],{"class":4543},[4160,32712,4675],{"class":4653},[4160,32714,32715,32717],{"class":4162,"line":16420},[4160,32716,22112],{"class":4653},[4160,32718,4251],{"class":4589},[4160,32720,32721],{"class":4162,"line":16434},[4160,32722,22119],{"class":4633},[4160,32724,32725,32727,32729,32732,32734,32737,32739,32741,32743,32746,32748],{"class":4162,"line":16440},[4160,32726,8666],{"class":4633},[4160,32728,14570],{"class":4637},[4160,32730,32731],{"class":4643}," label",[4160,32733,4647],{"class":4539},[4160,32735,32736],{"class":4552},"\"Готово\"",[4160,32738,9703],{"class":4643},[4160,32740,4647],{"class":4539},[4160,32742,4650],{"class":4589},[4160,32744,32745],{"class":4543},"applyIos",[4160,32747,4803],{"class":4589},[4160,32749,4806],{"class":4633},[4160,32751,32752,32754,32756,32758,32760,32762,32764,32766,32768,32770,32772,32774,32776,32779,32781],{"class":4162,"line":16448},[4160,32753,8666],{"class":4633},[4160,32755,8644],{"class":4637},[4160,32757,9703],{"class":4643},[4160,32759,4647],{"class":4539},[4160,32761,4650],{"class":4589},[4160,32763,32338],{"class":4543},[4160,32765,4803],{"class":4589},[4160,32767,7170],{"class":4643},[4160,32769,4647],{"class":4539},[4160,32771,4650],{"class":4589},[4160,32773,8287],{"class":4543},[4160,32775,3840],{"class":4653},[4160,32777,32778],{"class":4543},"cancel",[4160,32780,4803],{"class":4589},[4160,32782,4890],{"class":4633},[4160,32784,32785,32787,32789,32791,32793,32795,32797,32799,32801,32803,32805,32808,32810,32812],{"class":4162,"line":16459},[4160,32786,16516],{"class":4633},[4160,32788,14565],{"class":4637},[4160,32790,7647],{"class":4643},[4160,32792,4647],{"class":4539},[4160,32794,4650],{"class":4589},[4160,32796,4608],{"class":4543},[4160,32798,3840],{"class":4653},[4160,32800,13656],{"class":4543},[4160,32802,4803],{"class":4589},[4160,32804,8361],{"class":4633},[4160,32806,32807],{"class":4653},"Скасувати",[4160,32809,8367],{"class":4633},[4160,32811,14565],{"class":4637},[4160,32813,4890],{"class":4633},[4160,32815,32816,32818,32820],{"class":4162,"line":16480},[4160,32817,8760],{"class":4633},[4160,32819,8644],{"class":4637},[4160,32821,4890],{"class":4633},[4160,32823,32824,32826,32828],{"class":4162,"line":16507},[4160,32825,8769],{"class":4633},[4160,32827,8320],{"class":4637},[4160,32829,4890],{"class":4633},[4160,32831,32832,32834,32836],{"class":4162,"line":16513},[4160,32833,8778],{"class":4633},[4160,32835,8320],{"class":4637},[4160,32837,4890],{"class":4633},[4160,32839,32840,32842,32845],{"class":4162,"line":16521},[4160,32841,8414],{"class":4633},[4160,32843,32844],{"class":4637},"Modal",[4160,32846,4890],{"class":4633},[4160,32848,32849,32851,32853],{"class":4162,"line":16531},[4160,32850,15510],{"class":4653},[4160,32852,3821],{"class":4539},[4160,32854,15515],{"class":4589},[4160,32856,32857,32859,32861],{"class":4162,"line":16563},[4160,32858,4885],{"class":4633},[4160,32860,8320],{"class":4637},[4160,32862,4890],{"class":4633},[4160,32864,32865],{"class":4162,"line":16582},[4160,32866,4895],{"class":4539},[4160,32868,32869],{"class":4162,"line":16588},[4160,32870,4251],{"class":4539},[4160,32872,32873],{"class":4162,"line":16602},[4160,32874,4185],{"emptyLinePlaceholder":4184},[4160,32876,32877,32879,32882,32884,32886,32888,32890,32892,32894],{"class":4162,"line":16612},[4160,32878,6620],{"class":4589},[4160,32880,32881],{"class":4593}," formatDisplay",[4160,32883,5411],{"class":4539},[4160,32885,24021],{"class":4543},[4160,32887,5814],{"class":4539},[4160,32889,6871],{"class":4637},[4160,32891,6756],{"class":4539},[4160,32893,5817],{"class":4637},[4160,32895,5517],{"class":4539},[4160,32897,32898,32900,32903,32905,32907,32909,32911,32913,32915,32918,32921,32923,32925,32927,32930],{"class":4162,"line":16621},[4160,32899,4602],{"class":4589},[4160,32901,32902],{"class":4607}," dd",[4160,32904,5385],{"class":4539},[4160,32906,18112],{"class":4593},[4160,32908,5411],{"class":4539},[4160,32910,24021],{"class":4543},[4160,32912,3840],{"class":4539},[4160,32914,24046],{"class":4593},[4160,32916,32917],{"class":4539},"()).",[4160,32919,32920],{"class":4593},"padStart",[4160,32922,5411],{"class":4539},[4160,32924,8732],{"class":5485},[4160,32926,4055],{"class":4539},[4160,32928,32929],{"class":4552},"'0'",[4160,32931,5417],{"class":4539},[4160,32933,32934,32936,32939,32941,32943,32945,32947,32949,32951,32953,32955,32957,32959,32961,32963,32965,32967],{"class":4162,"line":16627},[4160,32935,4602],{"class":4589},[4160,32937,32938],{"class":4607}," mm",[4160,32940,5385],{"class":4539},[4160,32942,18112],{"class":4593},[4160,32944,5411],{"class":4539},[4160,32946,24021],{"class":4543},[4160,32948,3840],{"class":4539},[4160,32950,24065],{"class":4593},[4160,32952,27191],{"class":4539},[4160,32954,23696],{"class":5485},[4160,32956,3897],{"class":4539},[4160,32958,32920],{"class":4593},[4160,32960,5411],{"class":4539},[4160,32962,8732],{"class":5485},[4160,32964,4055],{"class":4539},[4160,32966,32929],{"class":4552},[4160,32968,5417],{"class":4539},[4160,32970,32971,32973,32976,32978,32980,32982,32984],{"class":4162,"line":16635},[4160,32972,4602],{"class":4589},[4160,32974,32975],{"class":4607}," yyyy",[4160,32977,5385],{"class":4539},[4160,32979,24021],{"class":4543},[4160,32981,3840],{"class":4539},[4160,32983,24149],{"class":4593},[4160,32985,4616],{"class":4539},[4160,32987,32988,32990,32992,32994,32997,32999,33001,33003,33006,33008,33010,33012,33015,33017,33019],{"class":4162,"line":16644},[4160,32989,4625],{"class":4535},[4160,32991,16147],{"class":4552},[4160,32993,5939],{"class":4589},[4160,32995,32996],{"class":4543},"dd",[4160,32998,4803],{"class":4589},[4160,33000,3840],{"class":4552},[4160,33002,5939],{"class":4589},[4160,33004,33005],{"class":4543},"mm",[4160,33007,4803],{"class":4589},[4160,33009,3840],{"class":4552},[4160,33011,5939],{"class":4589},[4160,33013,33014],{"class":4543},"yyyy",[4160,33016,4803],{"class":4589},[4160,33018,8630],{"class":4552},[4160,33020,4556],{"class":4539},[4160,33022,33023],{"class":4162,"line":16653},[4160,33024,4251],{"class":4539},[4160,33026,33027],{"class":4162,"line":16658},[4160,33028,4185],{"emptyLinePlaceholder":4184},[4160,33030,33031,33033,33035,33037,33039,33041,33043],{"class":4162,"line":16682},[4160,33032,6592],{"class":4589},[4160,33034,8957],{"class":4607},[4160,33036,5385],{"class":4539},[4160,33038,8962],{"class":4543},[4160,33040,3840],{"class":4539},[4160,33042,8967],{"class":4593},[4160,33044,8970],{"class":4539},[4160,33046,33047,33049],{"class":4162,"line":16690},[4160,33048,11311],{"class":4543},[4160,33050,5517],{"class":4539},[4160,33052,33053,33055,33057],{"class":4162,"line":16704},[4160,33054,11337],{"class":4543},[4160,33056,4714],{"class":4552},[4160,33058,4690],{"class":4539},[4160,33060,33061],{"class":4162,"line":16719},[4160,33062,6526],{"class":4539},[4160,33064,33065,33068],{"class":4162,"line":16734},[4160,33066,33067],{"class":4543},"  field:",[4160,33069,5517],{"class":4539},[4160,33071,33072,33074,33076],{"class":4162,"line":16749},[4160,33073,9178],{"class":4543},[4160,33075,8984],{"class":5485},[4160,33077,4690],{"class":4539},[4160,33079,33080,33082,33085],{"class":4162,"line":16764},[4160,33081,31004],{"class":4543},[4160,33083,33084],{"class":5485}," 48",[4160,33086,4690],{"class":4539},[4160,33088,33089,33091,33093],{"class":4162,"line":16776},[4160,33090,10041],{"class":4543},[4160,33092,9350],{"class":4552},[4160,33094,4690],{"class":4539},[4160,33096,33097],{"class":4162,"line":16789},[4160,33098,6526],{"class":4539},[4160,33100,33101,33104],{"class":4162,"line":16802},[4160,33102,33103],{"class":4543},"  backdrop:",[4160,33105,5517],{"class":4539},[4160,33107,33108,33110,33112],{"class":4162,"line":16815},[4160,33109,10024],{"class":4543},[4160,33111,8984],{"class":5485},[4160,33113,4690],{"class":4539},[4160,33115,33116,33118,33121],{"class":4162,"line":16822},[4160,33117,9157],{"class":4543},[4160,33119,33120],{"class":4552}," 'rgba(0,0,0,0.35)'",[4160,33122,4690],{"class":4539},[4160,33124,33125],{"class":4162,"line":16864},[4160,33126,6526],{"class":4539},[4160,33128,33129,33132],{"class":4162,"line":16874},[4160,33130,33131],{"class":4543},"  sheet:",[4160,33133,5517],{"class":4539},[4160,33135,33136,33139,33141],{"class":4162,"line":16882},[4160,33137,33138],{"class":4543},"    borderTopLeftRadius:",[4160,33140,9009],{"class":5485},[4160,33142,4690],{"class":4539},[4160,33144,33145,33148,33150],{"class":4162,"line":16896},[4160,33146,33147],{"class":4543},"    borderTopRightRadius:",[4160,33149,9009],{"class":5485},[4160,33151,4690],{"class":4539},[4160,33153,33154,33156,33158],{"class":4162,"line":16911},[4160,33155,9286],{"class":4543},[4160,33157,8984],{"class":5485},[4160,33159,4690],{"class":4539},[4160,33161,33162],{"class":4162,"line":16929},[4160,33163,6526],{"class":4539},[4160,33165,33166,33169],{"class":4162,"line":16951},[4160,33167,33168],{"class":4543},"  sheetHeader:",[4160,33170,5517],{"class":4539},[4160,33172,33173,33175,33177],{"class":4162,"line":16956},[4160,33174,9347],{"class":4543},[4160,33176,9350],{"class":4552},[4160,33178,4690],{"class":4539},[4160,33180,33181],{"class":4162,"line":16962},[4160,33182,6526],{"class":4539},[4160,33184,33185,33188],{"class":4162,"line":16972},[4160,33186,33187],{"class":4543},"  sheetActions:",[4160,33189,5517],{"class":4539},[4160,33191,33192,33194,33196],{"class":4162,"line":16977},[4160,33193,10119],{"class":4543},[4160,33195,9020],{"class":5485},[4160,33197,4690],{"class":4539},[4160,33199,33200],{"class":4162,"line":16986},[4160,33201,6526],{"class":4539},[4160,33203,33204,33207],{"class":4162,"line":16991},[4160,33205,33206],{"class":4543},"  cancel:",[4160,33208,5517],{"class":4539},[4160,33210,33211,33213,33215],{"class":4162,"line":16998},[4160,33212,9347],{"class":4543},[4160,33214,9350],{"class":4552},[4160,33216,4690],{"class":4539},[4160,33218,33219,33221,33223],{"class":4162,"line":17009},[4160,33220,9328],{"class":4543},[4160,33222,8527],{"class":5485},[4160,33224,4690],{"class":4539},[4160,33226,33227],{"class":4162,"line":17020},[4160,33228,6526],{"class":4539},[4160,33230,33231],{"class":4162,"line":17025},[4160,33232,9383],{"class":4539},[4003,33234,33237],{"className":4526,"code":33235,"filename":33236,"language":4528,"meta":4011,"style":4011},"import { ReactNode } from 'react';\nimport { StyleSheet, View } from 'react-native';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText } from '@\u002Fshared\u002Fui';\n\ntype FormRowProps = {\n  label: string;\n  \u002F** Короткий опис під label (для Switch \u002F Checkbox \u002F Slider). *\u002F\n  description?: string;\n  error?: string;\n  \u002F** Правий слот: Switch, Checkbox тощо. *\u002F\n  control: ReactNode;\n  \u002F** Якщо true — control під label на всю ширину (Slider, Picker). *\u002F\n  stacked?: boolean;\n};\n\n\u002F**\n * Рядок форми для не-текстових контролів:\n * label + опис зліва, control справа (або stacked).\n *\u002F\nexport function FormRow({\n  label,\n  description,\n  error,\n  control,\n  stacked = false,\n}: FormRowProps) {\n  const { colors, spacing } = useTheme();\n\n  return (\n    \u003CView style={[styles.wrap, { gap: spacing.xs }]}>\n      \u003CView\n        style={[\n          stacked ? styles.stacked : styles.row,\n          !stacked && { gap: spacing.md },\n        ]}\n      >\n        \u003CView style={styles.texts}>\n          \u003CAppText variant=\"caption\" style={styles.label}>\n            {label}\n          \u003C\u002FAppText>\n          {description ? (\n            \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n              {description}\n            \u003C\u002FAppText>\n          ) : null}\n        \u003C\u002FView>\n        \u003CView style={stacked ? styles.fullControl : styles.sideControl}>\n          {control}\n        \u003C\u002FView>\n      \u003C\u002FView>\n      {error ? (\n        \u003CAppText variant=\"caption\" color={colors.danger}>\n          {error}\n        \u003C\u002FAppText>\n      ) : null}\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  wrap: {\n    width: '100%',\n  },\n  row: {\n    flexDirection: 'row',\n    alignItems: 'center',\n    justifyContent: 'space-between',\n  },\n  stacked: {\n    flexDirection: 'column',\n    alignItems: 'stretch',\n  },\n  texts: {\n    flex: 1,\n    gap: 2,\n  },\n  label: {\n    fontWeight: '600',\n  },\n  sideControl: {\n    flexShrink: 0,\n  },\n  fullControl: {\n    marginTop: 8,\n    width: '100%',\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FFormRow.tsx",[3747,33238,33239,33255,33275,33279,33295,33311,33315,33324,33334,33339,33349,33359,33364,33375,33380,33391,33395,33399,33403,33408,33413,33417,33428,33434,33440,33446,33452,33462,33471,33489,33493,33499,33536,33542,33552,33577,33598,33604,33608,33631,33659,33667,33675,33685,33713,33722,33730,33738,33746,33782,33790,33798,33806,33816,33844,33852,33860,33868,33876,33880,33884,33888,33904,33911,33919,33923,33930,33938,33946,33955,33959,33966,33975,33984,33988,33995,34003,34011,34015,34021,34029,34033,34040,34049,34053,34060,34068,34076,34080],{"__ignoreMap":4011},[4160,33240,33241,33243,33245,33247,33249,33251,33253],{"class":4162,"line":4163},[4160,33242,4536],{"class":4535},[4160,33244,4540],{"class":4539},[4160,33246,24747],{"class":4543},[4160,33248,4546],{"class":4539},[4160,33250,4549],{"class":4535},[4160,33252,5307],{"class":4552},[4160,33254,4556],{"class":4539},[4160,33256,33257,33259,33261,33263,33265,33267,33269,33271,33273],{"class":4162,"line":4169},[4160,33258,4536],{"class":4535},[4160,33260,4540],{"class":4539},[4160,33262,8962],{"class":4543},[4160,33264,4055],{"class":4539},[4160,33266,8320],{"class":4543},[4160,33268,4546],{"class":4539},[4160,33270,4549],{"class":4535},[4160,33272,5324],{"class":4552},[4160,33274,4556],{"class":4539},[4160,33276,33277],{"class":4162,"line":4175},[4160,33278,4185],{"emptyLinePlaceholder":4184},[4160,33280,33281,33283,33285,33287,33289,33291,33293],{"class":4162,"line":4181},[4160,33282,4536],{"class":4535},[4160,33284,4540],{"class":4539},[4160,33286,4565],{"class":4543},[4160,33288,4546],{"class":4539},[4160,33290,4549],{"class":4535},[4160,33292,4572],{"class":4552},[4160,33294,4556],{"class":4539},[4160,33296,33297,33299,33301,33303,33305,33307,33309],{"class":4162,"line":4188},[4160,33298,4536],{"class":4535},[4160,33300,4540],{"class":4539},[4160,33302,14565],{"class":4543},[4160,33304,4546],{"class":4539},[4160,33306,4549],{"class":4535},[4160,33308,14582],{"class":4552},[4160,33310,4556],{"class":4539},[4160,33312,33313],{"class":4162,"line":4194},[4160,33314,4185],{"emptyLinePlaceholder":4184},[4160,33316,33317,33319,33322],{"class":4162,"line":4200},[4160,33318,6433],{"class":4589},[4160,33320,33321],{"class":4637}," FormRowProps",[4160,33323,5156],{"class":4539},[4160,33325,33326,33328,33330,33332],{"class":4162,"line":4206},[4160,33327,31208],{"class":4543},[4160,33329,5814],{"class":4539},[4160,33331,5817],{"class":4637},[4160,33333,4556],{"class":4539},[4160,33335,33336],{"class":4162,"line":4212},[4160,33337,33338],{"class":4763},"  \u002F** Короткий опис під label (для Switch \u002F Checkbox \u002F Slider). *\u002F\n",[4160,33340,33341,33343,33345,33347],{"class":4162,"line":4218},[4160,33342,23062],{"class":4543},[4160,33344,23108],{"class":4539},[4160,33346,5817],{"class":4637},[4160,33348,4556],{"class":4539},[4160,33350,33351,33353,33355,33357],{"class":4162,"line":4224},[4160,33352,31264],{"class":4543},[4160,33354,23108],{"class":4539},[4160,33356,5817],{"class":4637},[4160,33358,4556],{"class":4539},[4160,33360,33361],{"class":4162,"line":4230},[4160,33362,33363],{"class":4763},"  \u002F** Правий слот: Switch, Checkbox тощо. *\u002F\n",[4160,33365,33366,33369,33371,33373],{"class":4162,"line":4236},[4160,33367,33368],{"class":4543},"  control",[4160,33370,5814],{"class":4539},[4160,33372,24747],{"class":4637},[4160,33374,4556],{"class":4539},[4160,33376,33377],{"class":4162,"line":4242},[4160,33378,33379],{"class":4763},"  \u002F** Якщо true — control під label на всю ширину (Slider, Picker). *\u002F\n",[4160,33381,33382,33385,33387,33389],{"class":4162,"line":4248},[4160,33383,33384],{"class":4543},"  stacked",[4160,33386,23108],{"class":4539},[4160,33388,23111],{"class":4637},[4160,33390,4556],{"class":4539},[4160,33392,33393],{"class":4162,"line":4254},[4160,33394,5171],{"class":4539},[4160,33396,33397],{"class":4162,"line":4259},[4160,33398,4185],{"emptyLinePlaceholder":4184},[4160,33400,33401],{"class":4162,"line":4265},[4160,33402,13075],{"class":4763},[4160,33404,33405],{"class":4162,"line":4271},[4160,33406,33407],{"class":4763}," * Рядок форми для не-текстових контролів:\n",[4160,33409,33410],{"class":4162,"line":4276},[4160,33411,33412],{"class":4763}," * label + опис зліва, control справа (або stacked).\n",[4160,33414,33415],{"class":4162,"line":4282},[4160,33416,13105],{"class":4763},[4160,33418,33419,33421,33423,33426],{"class":4162,"line":4288},[4160,33420,4583],{"class":4535},[4160,33422,4590],{"class":4589},[4160,33424,33425],{"class":4593}," FormRow",[4160,33427,8970],{"class":4539},[4160,33429,33430,33432],{"class":4162,"line":4294},[4160,33431,31208],{"class":4543},[4160,33433,4690],{"class":4539},[4160,33435,33436,33438],{"class":4162,"line":4300},[4160,33437,23062],{"class":4543},[4160,33439,4690],{"class":4539},[4160,33441,33442,33444],{"class":4162,"line":4305},[4160,33443,31264],{"class":4543},[4160,33445,4690],{"class":4539},[4160,33447,33448,33450],{"class":4162,"line":4311},[4160,33449,33368],{"class":4543},[4160,33451,4690],{"class":4539},[4160,33453,33454,33456,33458,33460],{"class":4162,"line":4317},[4160,33455,33384],{"class":4543},[4160,33457,5385],{"class":4539},[4160,33459,5440],{"class":4589},[4160,33461,4690],{"class":4539},[4160,33463,33464,33466,33469],{"class":4162,"line":4323},[4160,33465,27257],{"class":4539},[4160,33467,33468],{"class":4637},"FormRowProps",[4160,33470,5915],{"class":4539},[4160,33472,33473,33475,33477,33479,33481,33483,33485,33487],{"class":4162,"line":4328},[4160,33474,4602],{"class":4589},[4160,33476,4540],{"class":4539},[4160,33478,4608],{"class":4607},[4160,33480,4055],{"class":4539},[4160,33482,14738],{"class":4607},[4160,33484,4611],{"class":4539},[4160,33486,4565],{"class":4593},[4160,33488,4616],{"class":4539},[4160,33490,33491],{"class":4162,"line":4333},[4160,33492,4185],{"emptyLinePlaceholder":4184},[4160,33494,33495,33497],{"class":4162,"line":5663},[4160,33496,4625],{"class":4535},[4160,33498,4628],{"class":4539},[4160,33500,33501,33503,33505,33507,33509,33511,33513,33515,33517,33520,33522,33524,33526,33528,33530,33532,33534],{"class":4162,"line":5676},[4160,33502,4634],{"class":4633},[4160,33504,8320],{"class":4637},[4160,33506,7170],{"class":4643},[4160,33508,4647],{"class":4539},[4160,33510,4650],{"class":4589},[4160,33512,5859],{"class":4653},[4160,33514,8287],{"class":4543},[4160,33516,3840],{"class":4653},[4160,33518,33519],{"class":4543},"wrap",[4160,33521,16223],{"class":4653},[4160,33523,11276],{"class":4543},[4160,33525,15210],{"class":4543},[4160,33527,3840],{"class":4653},[4160,33529,15912],{"class":4543},[4160,33531,16244],{"class":4653},[4160,33533,4803],{"class":4589},[4160,33535,4890],{"class":4633},[4160,33537,33538,33540],{"class":4162,"line":6728},[4160,33539,4771],{"class":4633},[4160,33541,15584],{"class":4637},[4160,33543,33544,33546,33548,33550],{"class":4162,"line":6733},[4160,33545,15749],{"class":4643},[4160,33547,4647],{"class":4539},[4160,33549,4650],{"class":4589},[4160,33551,15595],{"class":4653},[4160,33553,33554,33557,33559,33561,33563,33566,33568,33570,33572,33575],{"class":4162,"line":6738},[4160,33555,33556],{"class":4543},"          stacked",[4160,33558,10829],{"class":4539},[4160,33560,8957],{"class":4543},[4160,33562,3840],{"class":4653},[4160,33564,33565],{"class":4543},"stacked",[4160,33567,10835],{"class":4539},[4160,33569,8957],{"class":4543},[4160,33571,3840],{"class":4653},[4160,33573,33574],{"class":4543},"row",[4160,33576,4690],{"class":4653},[4160,33578,33579,33582,33584,33586,33588,33590,33592,33594,33596],{"class":4162,"line":6768},[4160,33580,33581],{"class":4539},"          !",[4160,33583,33565],{"class":4543},[4160,33585,32168],{"class":4539},[4160,33587,4540],{"class":4653},[4160,33589,11276],{"class":4543},[4160,33591,15210],{"class":4543},[4160,33593,3840],{"class":4653},[4160,33595,15215],{"class":4543},[4160,33597,4675],{"class":4653},[4160,33599,33600,33602],{"class":4162,"line":6803},[4160,33601,15940],{"class":4653},[4160,33603,4251],{"class":4589},[4160,33605,33606],{"class":4162,"line":6808},[4160,33607,7262],{"class":4633},[4160,33609,33610,33612,33614,33616,33618,33620,33622,33624,33627,33629],{"class":4162,"line":6813},[4160,33611,7267],{"class":4633},[4160,33613,8320],{"class":4637},[4160,33615,7170],{"class":4643},[4160,33617,4647],{"class":4539},[4160,33619,4650],{"class":4589},[4160,33621,8287],{"class":4543},[4160,33623,3840],{"class":4653},[4160,33625,33626],{"class":4543},"texts",[4160,33628,4803],{"class":4589},[4160,33630,4890],{"class":4633},[4160,33632,33633,33635,33637,33639,33641,33643,33645,33647,33649,33651,33653,33655,33657],{"class":4162,"line":6847},[4160,33634,8549],{"class":4633},[4160,33636,14565],{"class":4637},[4160,33638,15675],{"class":4643},[4160,33640,4647],{"class":4539},[4160,33642,15986],{"class":4552},[4160,33644,7170],{"class":4643},[4160,33646,4647],{"class":4539},[4160,33648,4650],{"class":4589},[4160,33650,8287],{"class":4543},[4160,33652,3840],{"class":4653},[4160,33654,10924],{"class":4543},[4160,33656,4803],{"class":4589},[4160,33658,4890],{"class":4633},[4160,33660,33661,33663,33665],{"class":4162,"line":6861},[4160,33662,18527],{"class":4589},[4160,33664,10924],{"class":4543},[4160,33666,4251],{"class":4589},[4160,33668,33669,33671,33673],{"class":4162,"line":6881},[4160,33670,8778],{"class":4633},[4160,33672,14565],{"class":4637},[4160,33674,4890],{"class":4633},[4160,33676,33677,33679,33681,33683],{"class":4162,"line":6901},[4160,33678,16127],{"class":4589},[4160,33680,18828],{"class":4543},[4160,33682,10829],{"class":4539},[4160,33684,4628],{"class":4653},[4160,33686,33687,33689,33691,33693,33695,33697,33699,33701,33703,33705,33707,33709,33711],{"class":4162,"line":6916},[4160,33688,7624],{"class":4633},[4160,33690,14565],{"class":4637},[4160,33692,15675],{"class":4643},[4160,33694,4647],{"class":4539},[4160,33696,15986],{"class":4552},[4160,33698,7647],{"class":4643},[4160,33700,4647],{"class":4539},[4160,33702,4650],{"class":4589},[4160,33704,4608],{"class":4543},[4160,33706,3840],{"class":4653},[4160,33708,13656],{"class":4543},[4160,33710,4803],{"class":4589},[4160,33712,4890],{"class":4633},[4160,33714,33715,33718,33720],{"class":4162,"line":6929},[4160,33716,33717],{"class":4589},"              {",[4160,33719,18828],{"class":4543},[4160,33721,4251],{"class":4589},[4160,33723,33724,33726,33728],{"class":4162,"line":6935},[4160,33725,8769],{"class":4633},[4160,33727,14565],{"class":4637},[4160,33729,4890],{"class":4633},[4160,33731,33732,33734,33736],{"class":4162,"line":6953},[4160,33733,18957],{"class":4653},[4160,33735,3821],{"class":4539},[4160,33737,15515],{"class":4589},[4160,33739,33740,33742,33744],{"class":4162,"line":6961},[4160,33741,8414],{"class":4633},[4160,33743,8320],{"class":4637},[4160,33745,4890],{"class":4633},[4160,33747,33748,33750,33752,33754,33756,33758,33760,33762,33764,33766,33769,33771,33773,33775,33778,33780],{"class":4162,"line":6970},[4160,33749,7267],{"class":4633},[4160,33751,8320],{"class":4637},[4160,33753,7170],{"class":4643},[4160,33755,4647],{"class":4539},[4160,33757,4650],{"class":4589},[4160,33759,33565],{"class":4543},[4160,33761,10829],{"class":4539},[4160,33763,8957],{"class":4543},[4160,33765,3840],{"class":4653},[4160,33767,33768],{"class":4543},"fullControl",[4160,33770,10835],{"class":4539},[4160,33772,8957],{"class":4543},[4160,33774,3840],{"class":4653},[4160,33776,33777],{"class":4543},"sideControl",[4160,33779,4803],{"class":4589},[4160,33781,4890],{"class":4633},[4160,33783,33784,33786,33788],{"class":4162,"line":6975},[4160,33785,16127],{"class":4589},[4160,33787,28088],{"class":4543},[4160,33789,4251],{"class":4589},[4160,33791,33792,33794,33796],{"class":4162,"line":6980},[4160,33793,8414],{"class":4633},[4160,33795,8320],{"class":4637},[4160,33797,4890],{"class":4633},[4160,33799,33800,33802,33804],{"class":4162,"line":7008},[4160,33801,7366],{"class":4633},[4160,33803,8320],{"class":4637},[4160,33805,4890],{"class":4633},[4160,33807,33808,33810,33812,33814],{"class":4162,"line":7024},[4160,33809,4760],{"class":4589},[4160,33811,31480],{"class":4543},[4160,33813,10829],{"class":4539},[4160,33815,4628],{"class":4653},[4160,33817,33818,33820,33822,33824,33826,33828,33830,33832,33834,33836,33838,33840,33842],{"class":4162,"line":7035},[4160,33819,7267],{"class":4633},[4160,33821,14565],{"class":4637},[4160,33823,15675],{"class":4643},[4160,33825,4647],{"class":4539},[4160,33827,15986],{"class":4552},[4160,33829,7647],{"class":4643},[4160,33831,4647],{"class":4539},[4160,33833,4650],{"class":4589},[4160,33835,4608],{"class":4543},[4160,33837,3840],{"class":4653},[4160,33839,31968],{"class":4543},[4160,33841,4803],{"class":4589},[4160,33843,4890],{"class":4633},[4160,33845,33846,33848,33850],{"class":4162,"line":7052},[4160,33847,16127],{"class":4589},[4160,33849,31480],{"class":4543},[4160,33851,4251],{"class":4589},[4160,33853,33854,33856,33858],{"class":4162,"line":7057},[4160,33855,8414],{"class":4633},[4160,33857,14565],{"class":4637},[4160,33859,4890],{"class":4633},[4160,33861,33862,33864,33866],{"class":4162,"line":8928},[4160,33863,15510],{"class":4653},[4160,33865,3821],{"class":4539},[4160,33867,15515],{"class":4589},[4160,33869,33870,33872,33874],{"class":4162,"line":8937},[4160,33871,4885],{"class":4633},[4160,33873,8320],{"class":4637},[4160,33875,4890],{"class":4633},[4160,33877,33878],{"class":4162,"line":8942},[4160,33879,4895],{"class":4539},[4160,33881,33882],{"class":4162,"line":8947},[4160,33883,4251],{"class":4539},[4160,33885,33886],{"class":4162,"line":8952},[4160,33887,4185],{"emptyLinePlaceholder":4184},[4160,33889,33890,33892,33894,33896,33898,33900,33902],{"class":4162,"line":8973},[4160,33891,6592],{"class":4589},[4160,33893,8957],{"class":4607},[4160,33895,5385],{"class":4539},[4160,33897,8962],{"class":4543},[4160,33899,3840],{"class":4539},[4160,33901,8967],{"class":4593},[4160,33903,8970],{"class":4539},[4160,33905,33906,33909],{"class":4162,"line":8995},[4160,33907,33908],{"class":4543},"  wrap:",[4160,33910,5517],{"class":4539},[4160,33912,33913,33915,33917],{"class":4162,"line":9003},[4160,33914,19577],{"class":4543},[4160,33916,19580],{"class":4552},[4160,33918,4690],{"class":4539},[4160,33920,33921],{"class":4162,"line":9014},[4160,33922,6526],{"class":4539},[4160,33924,33925,33928],{"class":4162,"line":9025},[4160,33926,33927],{"class":4543},"  row:",[4160,33929,5517],{"class":4539},[4160,33931,33932,33934,33936],{"class":4162,"line":9035},[4160,33933,17276],{"class":4543},[4160,33935,17279],{"class":4552},[4160,33937,4690],{"class":4539},[4160,33939,33940,33942,33944],{"class":4162,"line":9045},[4160,33941,9347],{"class":4543},[4160,33943,9350],{"class":4552},[4160,33945,4690],{"class":4539},[4160,33947,33948,33950,33953],{"class":4162,"line":9055},[4160,33949,10041],{"class":4543},[4160,33951,33952],{"class":4552}," 'space-between'",[4160,33954,4690],{"class":4539},[4160,33956,33957],{"class":4162,"line":9060},[4160,33958,6526],{"class":4539},[4160,33960,33961,33964],{"class":4162,"line":9088},[4160,33962,33963],{"class":4543},"  stacked:",[4160,33965,5517],{"class":4539},[4160,33967,33968,33970,33973],{"class":4162,"line":9117},[4160,33969,17276],{"class":4543},[4160,33971,33972],{"class":4552}," 'column'",[4160,33974,4690],{"class":4539},[4160,33976,33977,33979,33982],{"class":4162,"line":9146},[4160,33978,9347],{"class":4543},[4160,33980,33981],{"class":4552}," 'stretch'",[4160,33983,4690],{"class":4539},[4160,33985,33986],{"class":4162,"line":9154},[4160,33987,6526],{"class":4539},[4160,33989,33990,33993],{"class":4162,"line":9165},[4160,33991,33992],{"class":4543},"  texts:",[4160,33994,5517],{"class":4539},[4160,33996,33997,33999,34001],{"class":4162,"line":9175},[4160,33998,10024],{"class":4543},[4160,34000,8984],{"class":5485},[4160,34002,4690],{"class":4539},[4160,34004,34005,34007,34009],{"class":4162,"line":9185},[4160,34006,20771],{"class":4543},[4160,34008,15488],{"class":5485},[4160,34010,4690],{"class":4539},[4160,34012,34013],{"class":4162,"line":9195},[4160,34014,6526],{"class":4539},[4160,34016,34017,34019],{"class":4162,"line":9206},[4160,34018,11311],{"class":4543},[4160,34020,5517],{"class":4539},[4160,34022,34023,34025,34027],{"class":4162,"line":9211},[4160,34024,11337],{"class":4543},[4160,34026,4714],{"class":4552},[4160,34028,4690],{"class":4539},[4160,34030,34031],{"class":4162,"line":9239},[4160,34032,6526],{"class":4539},[4160,34034,34035,34038],{"class":4162,"line":9266},[4160,34036,34037],{"class":4543},"  sideControl:",[4160,34039,5517],{"class":4539},[4160,34041,34042,34045,34047],{"class":4162,"line":9274},[4160,34043,34044],{"class":4543},"    flexShrink:",[4160,34046,15247],{"class":5485},[4160,34048,4690],{"class":4539},[4160,34050,34051],{"class":4162,"line":9283},[4160,34052,6526],{"class":4539},[4160,34054,34055,34058],{"class":4162,"line":9293},[4160,34056,34057],{"class":4543},"  fullControl:",[4160,34059,5517],{"class":4539},[4160,34061,34062,34064,34066],{"class":4162,"line":9303},[4160,34063,10119],{"class":4543},[4160,34065,9020],{"class":5485},[4160,34067,4690],{"class":4539},[4160,34069,34070,34072,34074],{"class":4162,"line":9308},[4160,34071,19577],{"class":4543},[4160,34073,19580],{"class":4552},[4160,34075,4690],{"class":4539},[4160,34077,34078],{"class":4162,"line":9316},[4160,34079,6526],{"class":4539},[4160,34081,34082],{"class":4162,"line":9325},[4160,34083,9383],{"class":4539},[4003,34085,34088],{"className":4526,"code":34086,"filename":34087,"language":4528,"meta":4011,"style":4011},"import { memo } from 'react';\nimport { Image, Platform, Pressable, StyleSheet, View } from 'react-native';\n\nimport type { Trip } from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText } from '@\u002Fshared\u002Fui';\n\ntype TripCardProps = {\n  trip: Trip;\n  onPress?: (trip: Trip) => void;\n};\n\nfunction TripCardComponent({ trip, onPress }: TripCardProps) {\n  const { colors, spacing, radius } = useTheme();\n\n  return (\n    \u003CPressable\n      accessibilityRole=\"button\"\n      accessibilityLabel={`Поїздка ${trip.title}`}\n      onPress={() => onPress?.(trip)}\n      style={({ pressed }) => [\n        styles.card,\n        {\n          backgroundColor: colors.surface,\n          borderColor: colors.border,\n          borderRadius: radius.lg,\n        },\n        pressed && styles.cardPressed,\n      ]}\n    >\n      \u003CImage\n        source={{ uri: trip.coverUri }}\n        style={[styles.cover, { backgroundColor: colors.border }]}\n        resizeMode=\"cover\"\n        accessibilityIgnoresInvertColors\n      \u002F>\n      \u003CView style={[styles.body, { padding: spacing.md, gap: spacing.xs }]}>\n        \u003CView style={[styles.titleRow, { gap: spacing.sm }]}>\n          \u003CAppText variant=\"subtitle\" numberOfLines={1} style={styles.titleFlex}>\n            {trip.title}\n          \u003C\u002FAppText>\n          \u003CAppText variant=\"caption\" style={styles.dates}>\n            {trip.dateLabel}\n          \u003C\u002FAppText>\n        \u003C\u002FView>\n        \u003CAppText variant=\"caption\" color={colors.primary} style={styles.region}>\n          {trip.region}\n          {trip.plannedDays\n            ? ` · ${trip.plannedDays} ${trip.plannedDays === 1 ? 'день' : 'дні'}`\n            : ''}\n        \u003C\u002FAppText>\n        {(trip.isPrivate || trip.hasItinerary) && (\n          \u003CView style={[styles.badges, { gap: spacing.xs, marginTop: spacing.xs }]}>\n            {trip.isPrivate ? (\n              \u003CAppText\n                variant=\"caption\"\n                style={[styles.badge, { color: colors.textSecondary }]}\n              >\n                приватна\n              \u003C\u002FAppText>\n            ) : null}\n            {trip.hasItinerary ? (\n              \u003CAppText\n                variant=\"caption\"\n                style={[styles.badge, { color: colors.primary }]}\n              >\n                є план\n              \u003C\u002FAppText>\n            ) : null}\n          \u003C\u002FView>\n        )}\n        \u003CAppText\n          numberOfLines={2}\n          style={{ marginTop: spacing.xs, color: colors.textSecondary }}\n        >\n          {trip.description}\n        \u003C\u002FAppText>\n        \u003CView style={[styles.footer, { marginTop: spacing.sm }]}>\n          \u003CAppText variant=\"caption\" color={colors.primary}>\n            Відкрити\n          \u003C\u002FAppText>\n        \u003C\u002FView>\n      \u003C\u002FView>\n    \u003C\u002FPressable>\n  );\n}\n\n\u002F** memo: рядок списку не перемальовується, якщо props ті самі. *\u002F\nexport const TripCard = memo(TripCardComponent);\n\nconst styles = StyleSheet.create({\n  card: {\n    borderWidth: 1,\n    overflow: 'hidden',\n    ...Platform.select({\n      ios: {\n        shadowColor: '#000',\n        shadowOpacity: 0.08,\n        shadowRadius: 10,\n        shadowOffset: { width: 0, height: 4 },\n      },\n      android: {\n        elevation: 3,\n      },\n      default: {},\n    }),\n  },\n  cardPressed: {\n    opacity: 0.92,\n  },\n  cover: {\n    width: '100%',\n    height: 160,\n  },\n  body: {},\n  titleRow: {\n    flexDirection: 'row',\n    alignItems: 'center',\n  },\n  titleFlex: {\n    flex: 1,\n  },\n  dates: {\n    flexShrink: 0,\n  },\n  region: {\n    fontWeight: '600',\n  },\n  badges: {\n    flexDirection: 'row',\n    flexWrap: 'wrap',\n  },\n  badge: {\n    fontWeight: '600',\n    fontSize: 12,\n  },\n  footer: {\n    alignItems: 'flex-start',\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FTripCard.tsx",[3747,34089,34090,34107,34140,34144,34162,34178,34194,34198,34207,34218,34240,34244,34248,34271,34293,34297,34303,34309,34318,34344,34368,34388,34398,34402,34414,34426,34438,34442,34458,34464,34468,34474,34497,34527,34536,34541,34545,34591,34628,34667,34679,34687,34716,34728,34736,34744,34786,34798,34808,34849,34857,34865,34892,34938,34952,34958,34967,34998,35002,35006,35014,35022,35036,35042,35050,35080,35084,35089,35097,35105,35113,35119,35125,35138,35170,35174,35186,35194,35230,35258,35263,35271,35279,35287,35295,35299,35303,35307,35312,35332,35336,35352,35358,35366,35374,35386,35392,35400,35409,35417,35435,35439,35445,35454,35458,35464,35468,35472,35479,35489,35493,35499,35507,35516,35520,35526,35533,35541,35549,35553,35560,35568,35572,35579,35587,35591,35598,35606,35610,35616,35624,35632,35636,35643,35651,35659,35663,35669,35678,35682],{"__ignoreMap":4011},[4160,34091,34092,34094,34096,34099,34101,34103,34105],{"class":4162,"line":4163},[4160,34093,4536],{"class":4535},[4160,34095,4540],{"class":4539},[4160,34097,34098],{"class":4543},"memo",[4160,34100,4546],{"class":4539},[4160,34102,4549],{"class":4535},[4160,34104,5307],{"class":4552},[4160,34106,4556],{"class":4539},[4160,34108,34109,34111,34113,34116,34118,34120,34122,34124,34126,34128,34130,34132,34134,34136,34138],{"class":4162,"line":4169},[4160,34110,4536],{"class":4535},[4160,34112,4540],{"class":4539},[4160,34114,34115],{"class":4543},"Image",[4160,34117,4055],{"class":4539},[4160,34119,10815],{"class":4543},[4160,34121,4055],{"class":4539},[4160,34123,8644],{"class":4543},[4160,34125,4055],{"class":4539},[4160,34127,8962],{"class":4543},[4160,34129,4055],{"class":4539},[4160,34131,8320],{"class":4543},[4160,34133,4546],{"class":4539},[4160,34135,4549],{"class":4535},[4160,34137,5324],{"class":4552},[4160,34139,4556],{"class":4539},[4160,34141,34142],{"class":4162,"line":4175},[4160,34143,4185],{"emptyLinePlaceholder":4184},[4160,34145,34146,34148,34150,34152,34154,34156,34158,34160],{"class":4162,"line":4181},[4160,34147,4536],{"class":4535},[4160,34149,6370],{"class":4535},[4160,34151,4540],{"class":4539},[4160,34153,14836],{"class":4543},[4160,34155,4546],{"class":4539},[4160,34157,4549],{"class":4535},[4160,34159,26916],{"class":4552},[4160,34161,4556],{"class":4539},[4160,34163,34164,34166,34168,34170,34172,34174,34176],{"class":4162,"line":4188},[4160,34165,4536],{"class":4535},[4160,34167,4540],{"class":4539},[4160,34169,4565],{"class":4543},[4160,34171,4546],{"class":4539},[4160,34173,4549],{"class":4535},[4160,34175,4572],{"class":4552},[4160,34177,4556],{"class":4539},[4160,34179,34180,34182,34184,34186,34188,34190,34192],{"class":4162,"line":4194},[4160,34181,4536],{"class":4535},[4160,34183,4540],{"class":4539},[4160,34185,14565],{"class":4543},[4160,34187,4546],{"class":4539},[4160,34189,4549],{"class":4535},[4160,34191,14582],{"class":4552},[4160,34193,4556],{"class":4539},[4160,34195,34196],{"class":4162,"line":4200},[4160,34197,4185],{"emptyLinePlaceholder":4184},[4160,34199,34200,34202,34205],{"class":4162,"line":4206},[4160,34201,6433],{"class":4589},[4160,34203,34204],{"class":4637}," TripCardProps",[4160,34206,5156],{"class":4539},[4160,34208,34209,34212,34214,34216],{"class":4162,"line":4212},[4160,34210,34211],{"class":4543},"  trip",[4160,34213,5814],{"class":4539},[4160,34215,14836],{"class":4637},[4160,34217,4556],{"class":4539},[4160,34219,34220,34223,34226,34228,34230,34232,34234,34236,34238],{"class":4162,"line":4218},[4160,34221,34222],{"class":4593},"  onPress",[4160,34224,34225],{"class":4539},"?: (",[4160,34227,5912],{"class":4543},[4160,34229,5814],{"class":4539},[4160,34231,14836],{"class":4637},[4160,34233,6644],{"class":4539},[4160,34235,5514],{"class":4589},[4160,34237,6444],{"class":4637},[4160,34239,4556],{"class":4539},[4160,34241,34242],{"class":4162,"line":4224},[4160,34243,5171],{"class":4539},[4160,34245,34246],{"class":4162,"line":4230},[4160,34247,4185],{"emptyLinePlaceholder":4184},[4160,34249,34250,34252,34255,34257,34259,34261,34264,34266,34269],{"class":4162,"line":4236},[4160,34251,6620],{"class":4589},[4160,34253,34254],{"class":4593}," TripCardComponent",[4160,34256,8593],{"class":4539},[4160,34258,5912],{"class":4543},[4160,34260,4055],{"class":4539},[4160,34262,34263],{"class":4543},"onPress",[4160,34265,24774],{"class":4539},[4160,34267,34268],{"class":4637},"TripCardProps",[4160,34270,5915],{"class":4539},[4160,34272,34273,34275,34277,34279,34281,34283,34285,34287,34289,34291],{"class":4162,"line":4242},[4160,34274,4602],{"class":4589},[4160,34276,4540],{"class":4539},[4160,34278,4608],{"class":4607},[4160,34280,4055],{"class":4539},[4160,34282,14738],{"class":4607},[4160,34284,4055],{"class":4539},[4160,34286,17861],{"class":4607},[4160,34288,4611],{"class":4539},[4160,34290,4565],{"class":4593},[4160,34292,4616],{"class":4539},[4160,34294,34295],{"class":4162,"line":4248},[4160,34296,4185],{"emptyLinePlaceholder":4184},[4160,34298,34299,34301],{"class":4162,"line":4254},[4160,34300,4625],{"class":4535},[4160,34302,4628],{"class":4539},[4160,34304,34305,34307],{"class":4162,"line":4259},[4160,34306,4634],{"class":4633},[4160,34308,8827],{"class":4637},[4160,34310,34311,34314,34316],{"class":4162,"line":4265},[4160,34312,34313],{"class":4643},"      accessibilityRole",[4160,34315,4647],{"class":4539},[4160,34317,16456],{"class":4552},[4160,34319,34320,34323,34325,34327,34330,34332,34334,34336,34338,34340,34342],{"class":4162,"line":4271},[4160,34321,34322],{"class":4643},"      accessibilityLabel",[4160,34324,4647],{"class":4539},[4160,34326,4650],{"class":4589},[4160,34328,34329],{"class":4552},"`Поїздка ",[4160,34331,5939],{"class":4589},[4160,34333,5912],{"class":4543},[4160,34335,3840],{"class":4653},[4160,34337,6825],{"class":4543},[4160,34339,4803],{"class":4589},[4160,34341,8630],{"class":4552},[4160,34343,4251],{"class":4589},[4160,34345,34346,34349,34351,34353,34355,34357,34359,34362,34364,34366],{"class":4162,"line":4276},[4160,34347,34348],{"class":4643},"      onPress",[4160,34350,4647],{"class":4539},[4160,34352,4650],{"class":4589},[4160,34354,8507],{"class":4653},[4160,34356,5514],{"class":4589},[4160,34358,9703],{"class":4593},[4160,34360,34361],{"class":4653},"?.(",[4160,34363,5912],{"class":4543},[4160,34365,5128],{"class":4653},[4160,34367,4251],{"class":4589},[4160,34369,34370,34372,34374,34376,34378,34381,34383,34385],{"class":4162,"line":4282},[4160,34371,10790],{"class":4643},[4160,34373,4647],{"class":4539},[4160,34375,4650],{"class":4589},[4160,34377,8593],{"class":4653},[4160,34379,34380],{"class":4543},"pressed",[4160,34382,5511],{"class":4653},[4160,34384,5514],{"class":4589},[4160,34386,34387],{"class":4653}," [\n",[4160,34389,34390,34392,34394,34396],{"class":4162,"line":4288},[4160,34391,15600],{"class":4543},[4160,34393,3840],{"class":4653},[4160,34395,8657],{"class":4543},[4160,34397,4690],{"class":4653},[4160,34399,34400],{"class":4162,"line":4294},[4160,34401,5580],{"class":4653},[4160,34403,34404,34406,34408,34410,34412],{"class":4162,"line":4300},[4160,34405,7511],{"class":4543},[4160,34407,4667],{"class":4543},[4160,34409,3840],{"class":4653},[4160,34411,16415],{"class":4543},[4160,34413,4690],{"class":4653},[4160,34415,34416,34418,34420,34422,34424],{"class":4162,"line":4305},[4160,34417,19289],{"class":4543},[4160,34419,4667],{"class":4543},[4160,34421,3840],{"class":4653},[4160,34423,13687],{"class":4543},[4160,34425,4690],{"class":4653},[4160,34427,34428,34430,34432,34434,34436],{"class":4162,"line":4311},[4160,34429,19302],{"class":4543},[4160,34431,19305],{"class":4543},[4160,34433,3840],{"class":4653},[4160,34435,18006],{"class":4543},[4160,34437,4690],{"class":4653},[4160,34439,34440],{"class":4162,"line":4317},[4160,34441,5641],{"class":4653},[4160,34443,34444,34447,34449,34451,34453,34456],{"class":4162,"line":4323},[4160,34445,34446],{"class":4543},"        pressed",[4160,34448,32168],{"class":4539},[4160,34450,8957],{"class":4543},[4160,34452,3840],{"class":4653},[4160,34454,34455],{"class":4543},"cardPressed",[4160,34457,4690],{"class":4653},[4160,34459,34460,34462],{"class":4162,"line":4328},[4160,34461,15660],{"class":4653},[4160,34463,4251],{"class":4589},[4160,34465,34466],{"class":4162,"line":4333},[4160,34467,4755],{"class":4633},[4160,34469,34470,34472],{"class":4162,"line":5663},[4160,34471,4771],{"class":4633},[4160,34473,18341],{"class":4637},[4160,34475,34476,34479,34481,34483,34485,34487,34489,34491,34493,34495],{"class":4162,"line":5676},[4160,34477,34478],{"class":4643},"        source",[4160,34480,4647],{"class":4539},[4160,34482,4650],{"class":4589},[4160,34484,4792],{"class":4653},[4160,34486,18355],{"class":4543},[4160,34488,5875],{"class":4543},[4160,34490,3840],{"class":4653},[4160,34492,18362],{"class":4543},[4160,34494,4800],{"class":4653},[4160,34496,4251],{"class":4589},[4160,34498,34499,34501,34503,34505,34507,34509,34511,34513,34515,34517,34519,34521,34523,34525],{"class":4162,"line":6728},[4160,34500,15749],{"class":4643},[4160,34502,4647],{"class":4539},[4160,34504,4650],{"class":4589},[4160,34506,5859],{"class":4653},[4160,34508,8287],{"class":4543},[4160,34510,3840],{"class":4653},[4160,34512,18383],{"class":4543},[4160,34514,16223],{"class":4653},[4160,34516,4664],{"class":4543},[4160,34518,4667],{"class":4543},[4160,34520,3840],{"class":4653},[4160,34522,13687],{"class":4543},[4160,34524,16244],{"class":4653},[4160,34526,4251],{"class":4589},[4160,34528,34529,34532,34534],{"class":4162,"line":6733},[4160,34530,34531],{"class":4643},"        resizeMode",[4160,34533,4647],{"class":4539},[4160,34535,18407],{"class":4552},[4160,34537,34538],{"class":4162,"line":6738},[4160,34539,34540],{"class":4643},"        accessibilityIgnoresInvertColors\n",[4160,34542,34543],{"class":4162,"line":6768},[4160,34544,4880],{"class":4633},[4160,34546,34547,34549,34551,34553,34555,34557,34559,34561,34563,34565,34567,34569,34571,34573,34575,34577,34579,34581,34583,34585,34587,34589],{"class":4162,"line":6803},[4160,34548,4771],{"class":4633},[4160,34550,8320],{"class":4637},[4160,34552,7170],{"class":4643},[4160,34554,4647],{"class":4539},[4160,34556,4650],{"class":4589},[4160,34558,5859],{"class":4653},[4160,34560,8287],{"class":4543},[4160,34562,3840],{"class":4653},[4160,34564,6834],{"class":4543},[4160,34566,16223],{"class":4653},[4160,34568,9125],{"class":4543},[4160,34570,15210],{"class":4543},[4160,34572,3840],{"class":4653},[4160,34574,15215],{"class":4543},[4160,34576,4055],{"class":4653},[4160,34578,11276],{"class":4543},[4160,34580,15210],{"class":4543},[4160,34582,3840],{"class":4653},[4160,34584,15912],{"class":4543},[4160,34586,16244],{"class":4653},[4160,34588,4803],{"class":4589},[4160,34590,4890],{"class":4633},[4160,34592,34593,34595,34597,34599,34601,34603,34605,34607,34609,34612,34614,34616,34618,34620,34622,34624,34626],{"class":4162,"line":6808},[4160,34594,7267],{"class":4633},[4160,34596,8320],{"class":4637},[4160,34598,7170],{"class":4643},[4160,34600,4647],{"class":4539},[4160,34602,4650],{"class":4589},[4160,34604,5859],{"class":4653},[4160,34606,8287],{"class":4543},[4160,34608,3840],{"class":4653},[4160,34610,34611],{"class":4543},"titleRow",[4160,34613,16223],{"class":4653},[4160,34615,11276],{"class":4543},[4160,34617,15210],{"class":4543},[4160,34619,3840],{"class":4653},[4160,34621,15274],{"class":4543},[4160,34623,16244],{"class":4653},[4160,34625,4803],{"class":4589},[4160,34627,4890],{"class":4633},[4160,34629,34630,34632,34634,34636,34638,34640,34642,34644,34646,34648,34650,34652,34654,34656,34658,34660,34663,34665],{"class":4162,"line":6813},[4160,34631,8549],{"class":4633},[4160,34633,14565],{"class":4637},[4160,34635,15675],{"class":4643},[4160,34637,4647],{"class":4539},[4160,34639,15680],{"class":4552},[4160,34641,8725],{"class":4643},[4160,34643,4647],{"class":4539},[4160,34645,4650],{"class":4589},[4160,34647,23696],{"class":5485},[4160,34649,4803],{"class":4589},[4160,34651,7170],{"class":4643},[4160,34653,4647],{"class":4539},[4160,34655,4650],{"class":4589},[4160,34657,8287],{"class":4543},[4160,34659,3840],{"class":4653},[4160,34661,34662],{"class":4543},"titleFlex",[4160,34664,4803],{"class":4589},[4160,34666,4890],{"class":4633},[4160,34668,34669,34671,34673,34675,34677],{"class":4162,"line":6847},[4160,34670,18527],{"class":4589},[4160,34672,5912],{"class":4543},[4160,34674,3840],{"class":4653},[4160,34676,6825],{"class":4543},[4160,34678,4251],{"class":4589},[4160,34680,34681,34683,34685],{"class":4162,"line":6861},[4160,34682,8778],{"class":4633},[4160,34684,14565],{"class":4637},[4160,34686,4890],{"class":4633},[4160,34688,34689,34691,34693,34695,34697,34699,34701,34703,34705,34707,34709,34712,34714],{"class":4162,"line":6881},[4160,34690,8549],{"class":4633},[4160,34692,14565],{"class":4637},[4160,34694,15675],{"class":4643},[4160,34696,4647],{"class":4539},[4160,34698,15986],{"class":4552},[4160,34700,7170],{"class":4643},[4160,34702,4647],{"class":4539},[4160,34704,4650],{"class":4589},[4160,34706,8287],{"class":4543},[4160,34708,3840],{"class":4653},[4160,34710,34711],{"class":4543},"dates",[4160,34713,4803],{"class":4589},[4160,34715,4890],{"class":4633},[4160,34717,34718,34720,34722,34724,34726],{"class":4162,"line":6901},[4160,34719,18527],{"class":4589},[4160,34721,5912],{"class":4543},[4160,34723,3840],{"class":4653},[4160,34725,18534],{"class":4543},[4160,34727,4251],{"class":4589},[4160,34729,34730,34732,34734],{"class":4162,"line":6916},[4160,34731,8778],{"class":4633},[4160,34733,14565],{"class":4637},[4160,34735,4890],{"class":4633},[4160,34737,34738,34740,34742],{"class":4162,"line":6929},[4160,34739,8414],{"class":4633},[4160,34741,8320],{"class":4637},[4160,34743,4890],{"class":4633},[4160,34745,34746,34748,34750,34752,34754,34756,34758,34760,34762,34764,34766,34768,34770,34772,34774,34776,34778,34780,34782,34784],{"class":4162,"line":6935},[4160,34747,7267],{"class":4633},[4160,34749,14565],{"class":4637},[4160,34751,15675],{"class":4643},[4160,34753,4647],{"class":4539},[4160,34755,15986],{"class":4552},[4160,34757,7647],{"class":4643},[4160,34759,4647],{"class":4539},[4160,34761,4650],{"class":4589},[4160,34763,4608],{"class":4543},[4160,34765,3840],{"class":4653},[4160,34767,4687],{"class":4543},[4160,34769,4803],{"class":4589},[4160,34771,7170],{"class":4643},[4160,34773,4647],{"class":4539},[4160,34775,4650],{"class":4589},[4160,34777,8287],{"class":4543},[4160,34779,3840],{"class":4653},[4160,34781,18548],{"class":4543},[4160,34783,4803],{"class":4589},[4160,34785,4890],{"class":4633},[4160,34787,34788,34790,34792,34794,34796],{"class":4162,"line":6953},[4160,34789,16127],{"class":4589},[4160,34791,5912],{"class":4543},[4160,34793,3840],{"class":4653},[4160,34795,18548],{"class":4543},[4160,34797,4251],{"class":4589},[4160,34799,34800,34802,34804,34806],{"class":4162,"line":6961},[4160,34801,16127],{"class":4589},[4160,34803,5912],{"class":4543},[4160,34805,3840],{"class":4653},[4160,34807,18561],{"class":4543},[4160,34809,34810,34812,34814,34816,34818,34820,34822,34824,34826,34828,34830,34832,34834,34836,34838,34840,34842,34844,34846],{"class":4162,"line":6970},[4160,34811,16144],{"class":4539},[4160,34813,18569],{"class":4552},[4160,34815,5939],{"class":4589},[4160,34817,5912],{"class":4543},[4160,34819,3840],{"class":4653},[4160,34821,18578],{"class":4543},[4160,34823,4803],{"class":4589},[4160,34825,24053],{"class":4589},[4160,34827,5912],{"class":4543},[4160,34829,3840],{"class":4653},[4160,34831,18578],{"class":4543},[4160,34833,10823],{"class":4539},[4160,34835,8984],{"class":5485},[4160,34837,10829],{"class":4539},[4160,34839,30876],{"class":4552},[4160,34841,10835],{"class":4539},[4160,34843,30908],{"class":4552},[4160,34845,4803],{"class":4589},[4160,34847,34848],{"class":4552},"`\n",[4160,34850,34851,34853,34855],{"class":4162,"line":6975},[4160,34852,16179],{"class":4539},[4160,34854,18591],{"class":4552},[4160,34856,4251],{"class":4589},[4160,34858,34859,34861,34863],{"class":4162,"line":6980},[4160,34860,8414],{"class":4633},[4160,34862,14565],{"class":4637},[4160,34864,4890],{"class":4633},[4160,34866,34867,34869,34871,34873,34875,34877,34879,34881,34883,34885,34887,34890],{"class":4162,"line":7008},[4160,34868,19412],{"class":4589},[4160,34870,5411],{"class":4653},[4160,34872,5912],{"class":4543},[4160,34874,3840],{"class":4653},[4160,34876,18653],{"class":4543},[4160,34878,8750],{"class":4539},[4160,34880,5875],{"class":4543},[4160,34882,3840],{"class":4653},[4160,34884,18718],{"class":4543},[4160,34886,6644],{"class":4653},[4160,34888,34889],{"class":4539},"&&",[4160,34891,4628],{"class":4653},[4160,34893,34894,34896,34898,34900,34902,34904,34906,34908,34910,34912,34914,34916,34918,34920,34922,34924,34926,34928,34930,34932,34934,34936],{"class":4162,"line":7024},[4160,34895,8549],{"class":4633},[4160,34897,8320],{"class":4637},[4160,34899,7170],{"class":4643},[4160,34901,4647],{"class":4539},[4160,34903,4650],{"class":4589},[4160,34905,5859],{"class":4653},[4160,34907,8287],{"class":4543},[4160,34909,3840],{"class":4653},[4160,34911,18626],{"class":4543},[4160,34913,16223],{"class":4653},[4160,34915,11276],{"class":4543},[4160,34917,15210],{"class":4543},[4160,34919,3840],{"class":4653},[4160,34921,15912],{"class":4543},[4160,34923,4055],{"class":4653},[4160,34925,9096],{"class":4543},[4160,34927,15210],{"class":4543},[4160,34929,3840],{"class":4653},[4160,34931,15912],{"class":4543},[4160,34933,16244],{"class":4653},[4160,34935,4803],{"class":4589},[4160,34937,4890],{"class":4633},[4160,34939,34940,34942,34944,34946,34948,34950],{"class":4162,"line":7035},[4160,34941,18527],{"class":4589},[4160,34943,5912],{"class":4543},[4160,34945,3840],{"class":4653},[4160,34947,18653],{"class":4543},[4160,34949,10829],{"class":4539},[4160,34951,4628],{"class":4653},[4160,34953,34954,34956],{"class":4162,"line":7052},[4160,34955,8666],{"class":4633},[4160,34957,15717],{"class":4637},[4160,34959,34960,34963,34965],{"class":4162,"line":7057},[4160,34961,34962],{"class":4643},"                variant",[4160,34964,4647],{"class":4539},[4160,34966,15727],{"class":4552},[4160,34968,34969,34971,34973,34975,34977,34979,34981,34984,34986,34988,34990,34992,34994,34996],{"class":4162,"line":8928},[4160,34970,16365],{"class":4643},[4160,34972,4647],{"class":4539},[4160,34974,4650],{"class":4589},[4160,34976,5859],{"class":4653},[4160,34978,8287],{"class":4543},[4160,34980,3840],{"class":4653},[4160,34982,34983],{"class":4543},"badge",[4160,34985,16223],{"class":4653},[4160,34987,4700],{"class":4543},[4160,34989,4667],{"class":4543},[4160,34991,3840],{"class":4653},[4160,34993,13656],{"class":4543},[4160,34995,16244],{"class":4653},[4160,34997,4251],{"class":4589},[4160,34999,35000],{"class":4162,"line":8937},[4160,35001,16510],{"class":4633},[4160,35003,35004],{"class":4162,"line":8942},[4160,35005,18690],{"class":4653},[4160,35007,35008,35010,35012],{"class":4162,"line":8947},[4160,35009,8760],{"class":4633},[4160,35011,14565],{"class":4637},[4160,35013,4890],{"class":4633},[4160,35015,35016,35018,35020],{"class":4162,"line":8952},[4160,35017,18703],{"class":4653},[4160,35019,3821],{"class":4539},[4160,35021,15515],{"class":4589},[4160,35023,35024,35026,35028,35030,35032,35034],{"class":4162,"line":8973},[4160,35025,18527],{"class":4589},[4160,35027,5912],{"class":4543},[4160,35029,3840],{"class":4653},[4160,35031,18718],{"class":4543},[4160,35033,10829],{"class":4539},[4160,35035,4628],{"class":4653},[4160,35037,35038,35040],{"class":4162,"line":8995},[4160,35039,8666],{"class":4633},[4160,35041,15717],{"class":4637},[4160,35043,35044,35046,35048],{"class":4162,"line":9003},[4160,35045,34962],{"class":4643},[4160,35047,4647],{"class":4539},[4160,35049,15727],{"class":4552},[4160,35051,35052,35054,35056,35058,35060,35062,35064,35066,35068,35070,35072,35074,35076,35078],{"class":4162,"line":9014},[4160,35053,16365],{"class":4643},[4160,35055,4647],{"class":4539},[4160,35057,4650],{"class":4589},[4160,35059,5859],{"class":4653},[4160,35061,8287],{"class":4543},[4160,35063,3840],{"class":4653},[4160,35065,34983],{"class":4543},[4160,35067,16223],{"class":4653},[4160,35069,4700],{"class":4543},[4160,35071,4667],{"class":4543},[4160,35073,3840],{"class":4653},[4160,35075,4687],{"class":4543},[4160,35077,16244],{"class":4653},[4160,35079,4251],{"class":4589},[4160,35081,35082],{"class":4162,"line":9025},[4160,35083,16510],{"class":4633},[4160,35085,35086],{"class":4162,"line":9035},[4160,35087,35088],{"class":4653},"                є план\n",[4160,35090,35091,35093,35095],{"class":4162,"line":9045},[4160,35092,8760],{"class":4633},[4160,35094,14565],{"class":4637},[4160,35096,4890],{"class":4633},[4160,35098,35099,35101,35103],{"class":4162,"line":9055},[4160,35100,18703],{"class":4653},[4160,35102,3821],{"class":4539},[4160,35104,15515],{"class":4589},[4160,35106,35107,35109,35111],{"class":4162,"line":9060},[4160,35108,8778],{"class":4633},[4160,35110,8320],{"class":4637},[4160,35112,4890],{"class":4633},[4160,35114,35115,35117],{"class":4162,"line":9088},[4160,35116,8787],{"class":4653},[4160,35118,4251],{"class":4589},[4160,35120,35121,35123],{"class":4162,"line":9117},[4160,35122,7267],{"class":4633},[4160,35124,15717],{"class":4637},[4160,35126,35127,35130,35132,35134,35136],{"class":4162,"line":9146},[4160,35128,35129],{"class":4643},"          numberOfLines",[4160,35131,4647],{"class":4539},[4160,35133,4650],{"class":4589},[4160,35135,8732],{"class":5485},[4160,35137,4251],{"class":4589},[4160,35139,35140,35142,35144,35146,35148,35150,35152,35154,35156,35158,35160,35162,35164,35166,35168],{"class":4162,"line":9154},[4160,35141,8832],{"class":4643},[4160,35143,4647],{"class":4539},[4160,35145,4650],{"class":4589},[4160,35147,4792],{"class":4653},[4160,35149,9096],{"class":4543},[4160,35151,15210],{"class":4543},[4160,35153,3840],{"class":4653},[4160,35155,15912],{"class":4543},[4160,35157,4055],{"class":4653},[4160,35159,4700],{"class":4543},[4160,35161,4667],{"class":4543},[4160,35163,3840],{"class":4653},[4160,35165,13656],{"class":4543},[4160,35167,4800],{"class":4653},[4160,35169,4251],{"class":4589},[4160,35171,35172],{"class":4162,"line":9165},[4160,35173,8877],{"class":4633},[4160,35175,35176,35178,35180,35182,35184],{"class":4162,"line":9175},[4160,35177,16127],{"class":4589},[4160,35179,5912],{"class":4543},[4160,35181,3840],{"class":4653},[4160,35183,18828],{"class":4543},[4160,35185,4251],{"class":4589},[4160,35187,35188,35190,35192],{"class":4162,"line":9185},[4160,35189,8414],{"class":4633},[4160,35191,14565],{"class":4637},[4160,35193,4890],{"class":4633},[4160,35195,35196,35198,35200,35202,35204,35206,35208,35210,35212,35214,35216,35218,35220,35222,35224,35226,35228],{"class":4162,"line":9195},[4160,35197,7267],{"class":4633},[4160,35199,8320],{"class":4637},[4160,35201,7170],{"class":4643},[4160,35203,4647],{"class":4539},[4160,35205,4650],{"class":4589},[4160,35207,5859],{"class":4653},[4160,35209,8287],{"class":4543},[4160,35211,3840],{"class":4653},[4160,35213,8816],{"class":4543},[4160,35215,16223],{"class":4653},[4160,35217,9096],{"class":4543},[4160,35219,15210],{"class":4543},[4160,35221,3840],{"class":4653},[4160,35223,15274],{"class":4543},[4160,35225,16244],{"class":4653},[4160,35227,4803],{"class":4589},[4160,35229,4890],{"class":4633},[4160,35231,35232,35234,35236,35238,35240,35242,35244,35246,35248,35250,35252,35254,35256],{"class":4162,"line":9206},[4160,35233,8549],{"class":4633},[4160,35235,14565],{"class":4637},[4160,35237,15675],{"class":4643},[4160,35239,4647],{"class":4539},[4160,35241,15986],{"class":4552},[4160,35243,7647],{"class":4643},[4160,35245,4647],{"class":4539},[4160,35247,4650],{"class":4589},[4160,35249,4608],{"class":4543},[4160,35251,3840],{"class":4653},[4160,35253,4687],{"class":4543},[4160,35255,4803],{"class":4589},[4160,35257,4890],{"class":4633},[4160,35259,35260],{"class":4162,"line":9211},[4160,35261,35262],{"class":4539},"            Відкрити\n",[4160,35264,35265,35267,35269],{"class":4162,"line":9239},[4160,35266,8778],{"class":4633},[4160,35268,14565],{"class":4637},[4160,35270,4890],{"class":4633},[4160,35272,35273,35275,35277],{"class":4162,"line":9266},[4160,35274,8414],{"class":4633},[4160,35276,8320],{"class":4637},[4160,35278,4890],{"class":4633},[4160,35280,35281,35283,35285],{"class":4162,"line":9274},[4160,35282,7366],{"class":4633},[4160,35284,8320],{"class":4637},[4160,35286,4890],{"class":4633},[4160,35288,35289,35291,35293],{"class":4162,"line":9283},[4160,35290,4885],{"class":4633},[4160,35292,8644],{"class":4637},[4160,35294,4890],{"class":4633},[4160,35296,35297],{"class":4162,"line":9293},[4160,35298,4895],{"class":4539},[4160,35300,35301],{"class":4162,"line":9303},[4160,35302,4251],{"class":4539},[4160,35304,35305],{"class":4162,"line":9308},[4160,35306,4185],{"emptyLinePlaceholder":4184},[4160,35308,35309],{"class":4162,"line":9316},[4160,35310,35311],{"class":4763},"\u002F** memo: рядок списку не перемальовується, якщо props ті самі. *\u002F\n",[4160,35313,35314,35316,35318,35321,35323,35325,35327,35330],{"class":4162,"line":9325},[4160,35315,4583],{"class":4535},[4160,35317,5150],{"class":4589},[4160,35319,35320],{"class":4607}," TripCard",[4160,35322,5385],{"class":4539},[4160,35324,34098],{"class":4593},[4160,35326,5411],{"class":4539},[4160,35328,35329],{"class":4543},"TripCardComponent",[4160,35331,5417],{"class":4539},[4160,35333,35334],{"class":4162,"line":9335},[4160,35335,4185],{"emptyLinePlaceholder":4184},[4160,35337,35338,35340,35342,35344,35346,35348,35350],{"class":4162,"line":9344},[4160,35339,6592],{"class":4589},[4160,35341,8957],{"class":4607},[4160,35343,5385],{"class":4539},[4160,35345,8962],{"class":4543},[4160,35347,3840],{"class":4539},[4160,35349,8967],{"class":4593},[4160,35351,8970],{"class":4539},[4160,35353,35354,35356],{"class":4162,"line":9355},[4160,35355,9149],{"class":4543},[4160,35357,5517],{"class":4539},[4160,35359,35360,35362,35364],{"class":4162,"line":9360},[4160,35361,9178],{"class":4543},[4160,35363,8984],{"class":5485},[4160,35365,4690],{"class":4539},[4160,35367,35368,35370,35372],{"class":4162,"line":9380},[4160,35369,31037],{"class":4543},[4160,35371,31040],{"class":4552},[4160,35373,4690],{"class":4539},[4160,35375,35376,35378,35380,35382,35384],{"class":4162,"line":11316},[4160,35377,19670],{"class":4539},[4160,35379,10815],{"class":4543},[4160,35381,3840],{"class":4539},[4160,35383,19677],{"class":4593},[4160,35385,8970],{"class":4539},[4160,35387,35388,35390],{"class":4162,"line":11325},[4160,35389,19684],{"class":4543},[4160,35391,5517],{"class":4539},[4160,35393,35394,35396,35398],{"class":4162,"line":11334},[4160,35395,19691],{"class":4543},[4160,35397,19694],{"class":4552},[4160,35399,4690],{"class":4539},[4160,35401,35402,35404,35407],{"class":4162,"line":11344},[4160,35403,19701],{"class":4543},[4160,35405,35406],{"class":5485}," 0.08",[4160,35408,4690],{"class":4539},[4160,35410,35411,35413,35415],{"class":4162,"line":11353},[4160,35412,19711],{"class":4543},[4160,35414,8527],{"class":5485},[4160,35416,4690],{"class":4539},[4160,35418,35419,35421,35423,35425,35427,35429,35431,35433],{"class":4162,"line":11364},[4160,35420,19720],{"class":4543},[4160,35422,4540],{"class":4539},[4160,35424,15457],{"class":4543},[4160,35426,15247],{"class":5485},[4160,35428,4055],{"class":4539},[4160,35430,8524],{"class":4543},[4160,35432,9099],{"class":5485},[4160,35434,4675],{"class":4539},[4160,35436,35437],{"class":4162,"line":11369},[4160,35438,12790],{"class":4539},[4160,35440,35441,35443],{"class":4162,"line":11377},[4160,35442,19743],{"class":4543},[4160,35444,5517],{"class":4539},[4160,35446,35447,35450,35452],{"class":4162,"line":11386},[4160,35448,35449],{"class":4543},"        elevation:",[4160,35451,27459],{"class":5485},[4160,35453,4690],{"class":4539},[4160,35455,35456],{"class":4162,"line":11395},[4160,35457,12790],{"class":4539},[4160,35459,35460,35462],{"class":4162,"line":11404},[4160,35461,19757],{"class":4543},[4160,35463,19760],{"class":4539},[4160,35465,35466],{"class":4162,"line":11413},[4160,35467,19765],{"class":4539},[4160,35469,35470],{"class":4162,"line":11422},[4160,35471,6526],{"class":4539},[4160,35473,35474,35477],{"class":4162,"line":11431},[4160,35475,35476],{"class":4543},"  cardPressed:",[4160,35478,5517],{"class":4539},[4160,35480,35481,35484,35487],{"class":4162,"line":11440},[4160,35482,35483],{"class":4543},"    opacity:",[4160,35485,35486],{"class":5485}," 0.92",[4160,35488,4690],{"class":4539},[4160,35490,35491],{"class":4162,"line":11449},[4160,35492,6526],{"class":4539},[4160,35494,35495,35497],{"class":4162,"line":11454},[4160,35496,19570],{"class":4543},[4160,35498,5517],{"class":4539},[4160,35500,35501,35503,35505],{"class":4162,"line":11470},[4160,35502,19577],{"class":4543},[4160,35504,19580],{"class":4552},[4160,35506,4690],{"class":4539},[4160,35508,35509,35511,35514],{"class":4162,"line":11477},[4160,35510,19587],{"class":4543},[4160,35512,35513],{"class":5485}," 160",[4160,35515,4690],{"class":4539},[4160,35517,35518],{"class":4162,"line":11487},[4160,35519,6526],{"class":4539},[4160,35521,35522,35524],{"class":4162,"line":11496},[4160,35523,9997],{"class":4543},[4160,35525,19760],{"class":4539},[4160,35527,35528,35531],{"class":4162,"line":11505},[4160,35529,35530],{"class":4543},"  titleRow:",[4160,35532,5517],{"class":4539},[4160,35534,35535,35537,35539],{"class":4162,"line":11514},[4160,35536,17276],{"class":4543},[4160,35538,17279],{"class":4552},[4160,35540,4690],{"class":4539},[4160,35542,35543,35545,35547],{"class":4162,"line":11523},[4160,35544,9347],{"class":4543},[4160,35546,9350],{"class":4552},[4160,35548,4690],{"class":4539},[4160,35550,35551],{"class":4162,"line":11528},[4160,35552,6526],{"class":4539},[4160,35554,35555,35558],{"class":4162,"line":11547},[4160,35556,35557],{"class":4543},"  titleFlex:",[4160,35559,5517],{"class":4539},[4160,35561,35562,35564,35566],{"class":4162,"line":15854},[4160,35563,10024],{"class":4543},[4160,35565,8984],{"class":5485},[4160,35567,4690],{"class":4539},[4160,35569,35570],{"class":4162,"line":15860},[4160,35571,6526],{"class":4539},[4160,35573,35574,35577],{"class":4162,"line":15874},[4160,35575,35576],{"class":4543},"  dates:",[4160,35578,5517],{"class":4539},[4160,35580,35581,35583,35585],{"class":4162,"line":15888},[4160,35582,34044],{"class":4543},[4160,35584,15247],{"class":5485},[4160,35586,4690],{"class":4539},[4160,35588,35589],{"class":4162,"line":15902},[4160,35590,6526],{"class":4539},[4160,35592,35593,35596],{"class":4162,"line":15917},[4160,35594,35595],{"class":4543},"  region:",[4160,35597,5517],{"class":4539},[4160,35599,35600,35602,35604],{"class":4162,"line":15931},[4160,35601,11337],{"class":4543},[4160,35603,4714],{"class":4552},[4160,35605,4690],{"class":4539},[4160,35607,35608],{"class":4162,"line":15937},[4160,35609,6526],{"class":4539},[4160,35611,35612,35614],{"class":4162,"line":15945},[4160,35613,19620],{"class":4543},[4160,35615,5517],{"class":4539},[4160,35617,35618,35620,35622],{"class":4162,"line":15950},[4160,35619,17276],{"class":4543},[4160,35621,17279],{"class":4552},[4160,35623,4690],{"class":4539},[4160,35625,35626,35628,35630],{"class":4162,"line":15975},[4160,35627,17287],{"class":4543},[4160,35629,17290],{"class":4552},[4160,35631,4690],{"class":4539},[4160,35633,35634],{"class":4162,"line":16011},[4160,35635,6526],{"class":4539},[4160,35637,35638,35641],{"class":4162,"line":16037},[4160,35639,35640],{"class":4543},"  badge:",[4160,35642,5517],{"class":4539},[4160,35644,35645,35647,35649],{"class":4162,"line":16046},[4160,35646,11337],{"class":4543},[4160,35648,4714],{"class":4552},[4160,35650,4690],{"class":4539},[4160,35652,35653,35655,35657],{"class":4162,"line":16053},[4160,35654,10128],{"class":4543},[4160,35656,7542],{"class":5485},[4160,35658,4690],{"class":4539},[4160,35660,35661],{"class":4162,"line":16063},[4160,35662,6526],{"class":4539},[4160,35664,35665,35667],{"class":4162,"line":16074},[4160,35666,9269],{"class":4543},[4160,35668,5517],{"class":4539},[4160,35670,35671,35673,35676],{"class":4162,"line":16088},[4160,35672,9347],{"class":4543},[4160,35674,35675],{"class":4552}," 'flex-start'",[4160,35677,4690],{"class":4539},[4160,35679,35680],{"class":4162,"line":16102},[4160,35681,6526],{"class":4539},[4160,35683,35684],{"class":4162,"line":16112},[4160,35685,9383],{"class":4539},[4003,35687,35690],{"className":4526,"code":35688,"filename":35689,"language":4528,"meta":4011,"style":4011},"import { memo } from 'react';\nimport { Pressable, StyleSheet } from 'react-native';\n\nimport type { Place } from '@\u002Ffeatures\u002Ftrips\u002Fmodel\u002Ftypes';\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText } from '@\u002Fshared\u002Fui';\n\ntype PlaceChipProps = {\n  place: Place;\n  onPress?: (place: Place) => void;\n};\n\nfunction PlaceChipComponent({ place, onPress }: PlaceChipProps) {\n  const { colors, spacing, radius } = useTheme();\n\n  return (\n    \u003CPressable\n      accessibilityRole=\"button\"\n      accessibilityLabel={`Місце ${place.name}, ${place.city}`}\n      onPress={() => onPress?.(place)}\n      style={({ pressed }) => [\n        styles.chip,\n        {\n          backgroundColor: colors.surface,\n          borderColor: colors.border,\n          borderRadius: radius.md,\n          padding: spacing.sm,\n          opacity: pressed ? 0.9 : 1,\n        },\n      ]}\n    >\n      \u003CAppText variant=\"subtitle\" numberOfLines={1} style={styles.name}>\n        {place.name}\n      \u003C\u002FAppText>\n      \u003CAppText variant=\"caption\" color={colors.primary} style={styles.city}>\n        {place.city}\n      \u003C\u002FAppText>\n      \u003CAppText variant=\"caption\" numberOfLines={2} style={styles.note}>\n        {place.note}\n      \u003C\u002FAppText>\n    \u003C\u002FPressable>\n  );\n}\n\nexport const PlaceChip = memo(PlaceChipComponent);\n\nconst styles = StyleSheet.create({\n  chip: {\n    width: 160,\n    borderWidth: 1,\n    minHeight: 96,\n  },\n  name: {\n    fontSize: 16,\n  },\n  city: {\n    marginTop: 4,\n    fontWeight: '600',\n  },\n  note: {\n    marginTop: 6,\n  },\n});\n","src\u002Ffeatures\u002Ftrips\u002Fui\u002FPlaceChip.tsx",[3747,35691,35692,35708,35728,35732,35750,35766,35782,35786,35795,35806,35826,35830,35834,35856,35878,35882,35888,35894,35902,35939,35961,35979,35990,35994,36006,36018,36030,36042,36061,36065,36071,36075,36113,36125,36133,36175,36187,36195,36233,36245,36253,36261,36265,36269,36273,36293,36297,36313,36320,36328,36336,36345,36349,36356,36364,36368,36375,36383,36391,36395,36402,36410,36414],{"__ignoreMap":4011},[4160,35693,35694,35696,35698,35700,35702,35704,35706],{"class":4162,"line":4163},[4160,35695,4536],{"class":4535},[4160,35697,4540],{"class":4539},[4160,35699,34098],{"class":4543},[4160,35701,4546],{"class":4539},[4160,35703,4549],{"class":4535},[4160,35705,5307],{"class":4552},[4160,35707,4556],{"class":4539},[4160,35709,35710,35712,35714,35716,35718,35720,35722,35724,35726],{"class":4162,"line":4169},[4160,35711,4536],{"class":4535},[4160,35713,4540],{"class":4539},[4160,35715,8644],{"class":4543},[4160,35717,4055],{"class":4539},[4160,35719,8962],{"class":4543},[4160,35721,4546],{"class":4539},[4160,35723,4549],{"class":4535},[4160,35725,5324],{"class":4552},[4160,35727,4556],{"class":4539},[4160,35729,35730],{"class":4162,"line":4175},[4160,35731,4185],{"emptyLinePlaceholder":4184},[4160,35733,35734,35736,35738,35740,35742,35744,35746,35748],{"class":4162,"line":4181},[4160,35735,4536],{"class":4535},[4160,35737,6370],{"class":4535},[4160,35739,4540],{"class":4539},[4160,35741,14775],{"class":4543},[4160,35743,4546],{"class":4539},[4160,35745,4549],{"class":4535},[4160,35747,26916],{"class":4552},[4160,35749,4556],{"class":4539},[4160,35751,35752,35754,35756,35758,35760,35762,35764],{"class":4162,"line":4188},[4160,35753,4536],{"class":4535},[4160,35755,4540],{"class":4539},[4160,35757,4565],{"class":4543},[4160,35759,4546],{"class":4539},[4160,35761,4549],{"class":4535},[4160,35763,4572],{"class":4552},[4160,35765,4556],{"class":4539},[4160,35767,35768,35770,35772,35774,35776,35778,35780],{"class":4162,"line":4194},[4160,35769,4536],{"class":4535},[4160,35771,4540],{"class":4539},[4160,35773,14565],{"class":4543},[4160,35775,4546],{"class":4539},[4160,35777,4549],{"class":4535},[4160,35779,14582],{"class":4552},[4160,35781,4556],{"class":4539},[4160,35783,35784],{"class":4162,"line":4200},[4160,35785,4185],{"emptyLinePlaceholder":4184},[4160,35787,35788,35790,35793],{"class":4162,"line":4206},[4160,35789,6433],{"class":4589},[4160,35791,35792],{"class":4637}," PlaceChipProps",[4160,35794,5156],{"class":4539},[4160,35796,35797,35800,35802,35804],{"class":4162,"line":4212},[4160,35798,35799],{"class":4543},"  place",[4160,35801,5814],{"class":4539},[4160,35803,14775],{"class":4637},[4160,35805,4556],{"class":4539},[4160,35807,35808,35810,35812,35814,35816,35818,35820,35822,35824],{"class":4162,"line":4218},[4160,35809,34222],{"class":4593},[4160,35811,34225],{"class":4539},[4160,35813,14913],{"class":4543},[4160,35815,5814],{"class":4539},[4160,35817,14775],{"class":4637},[4160,35819,6644],{"class":4539},[4160,35821,5514],{"class":4589},[4160,35823,6444],{"class":4637},[4160,35825,4556],{"class":4539},[4160,35827,35828],{"class":4162,"line":4224},[4160,35829,5171],{"class":4539},[4160,35831,35832],{"class":4162,"line":4230},[4160,35833,4185],{"emptyLinePlaceholder":4184},[4160,35835,35836,35838,35841,35843,35845,35847,35849,35851,35854],{"class":4162,"line":4236},[4160,35837,6620],{"class":4589},[4160,35839,35840],{"class":4593}," PlaceChipComponent",[4160,35842,8593],{"class":4539},[4160,35844,14913],{"class":4543},[4160,35846,4055],{"class":4539},[4160,35848,34263],{"class":4543},[4160,35850,24774],{"class":4539},[4160,35852,35853],{"class":4637},"PlaceChipProps",[4160,35855,5915],{"class":4539},[4160,35857,35858,35860,35862,35864,35866,35868,35870,35872,35874,35876],{"class":4162,"line":4242},[4160,35859,4602],{"class":4589},[4160,35861,4540],{"class":4539},[4160,35863,4608],{"class":4607},[4160,35865,4055],{"class":4539},[4160,35867,14738],{"class":4607},[4160,35869,4055],{"class":4539},[4160,35871,17861],{"class":4607},[4160,35873,4611],{"class":4539},[4160,35875,4565],{"class":4593},[4160,35877,4616],{"class":4539},[4160,35879,35880],{"class":4162,"line":4248},[4160,35881,4185],{"emptyLinePlaceholder":4184},[4160,35883,35884,35886],{"class":4162,"line":4254},[4160,35885,4625],{"class":4535},[4160,35887,4628],{"class":4539},[4160,35889,35890,35892],{"class":4162,"line":4259},[4160,35891,4634],{"class":4633},[4160,35893,8827],{"class":4637},[4160,35895,35896,35898,35900],{"class":4162,"line":4265},[4160,35897,34313],{"class":4643},[4160,35899,4647],{"class":4539},[4160,35901,16456],{"class":4552},[4160,35903,35904,35906,35908,35910,35913,35915,35917,35919,35921,35923,35925,35927,35929,35931,35933,35935,35937],{"class":4162,"line":4271},[4160,35905,34322],{"class":4643},[4160,35907,4647],{"class":4539},[4160,35909,4650],{"class":4589},[4160,35911,35912],{"class":4552},"`Місце ",[4160,35914,5939],{"class":4589},[4160,35916,14913],{"class":4543},[4160,35918,3840],{"class":4653},[4160,35920,19371],{"class":4543},[4160,35922,4803],{"class":4589},[4160,35924,4055],{"class":4552},[4160,35926,5939],{"class":4589},[4160,35928,14913],{"class":4543},[4160,35930,3840],{"class":4653},[4160,35932,19419],{"class":4543},[4160,35934,4803],{"class":4589},[4160,35936,8630],{"class":4552},[4160,35938,4251],{"class":4589},[4160,35940,35941,35943,35945,35947,35949,35951,35953,35955,35957,35959],{"class":4162,"line":4276},[4160,35942,34348],{"class":4643},[4160,35944,4647],{"class":4539},[4160,35946,4650],{"class":4589},[4160,35948,8507],{"class":4653},[4160,35950,5514],{"class":4589},[4160,35952,9703],{"class":4593},[4160,35954,34361],{"class":4653},[4160,35956,14913],{"class":4543},[4160,35958,5128],{"class":4653},[4160,35960,4251],{"class":4589},[4160,35962,35963,35965,35967,35969,35971,35973,35975,35977],{"class":4162,"line":4282},[4160,35964,10790],{"class":4643},[4160,35966,4647],{"class":4539},[4160,35968,4650],{"class":4589},[4160,35970,8593],{"class":4653},[4160,35972,34380],{"class":4543},[4160,35974,5511],{"class":4653},[4160,35976,5514],{"class":4589},[4160,35978,34387],{"class":4653},[4160,35980,35981,35983,35985,35988],{"class":4162,"line":4288},[4160,35982,15600],{"class":4543},[4160,35984,3840],{"class":4653},[4160,35986,35987],{"class":4543},"chip",[4160,35989,4690],{"class":4653},[4160,35991,35992],{"class":4162,"line":4294},[4160,35993,5580],{"class":4653},[4160,35995,35996,35998,36000,36002,36004],{"class":4162,"line":4300},[4160,35997,7511],{"class":4543},[4160,35999,4667],{"class":4543},[4160,36001,3840],{"class":4653},[4160,36003,16415],{"class":4543},[4160,36005,4690],{"class":4653},[4160,36007,36008,36010,36012,36014,36016],{"class":4162,"line":4305},[4160,36009,19289],{"class":4543},[4160,36011,4667],{"class":4543},[4160,36013,3840],{"class":4653},[4160,36015,13687],{"class":4543},[4160,36017,4690],{"class":4653},[4160,36019,36020,36022,36024,36026,36028],{"class":4162,"line":4311},[4160,36021,19302],{"class":4543},[4160,36023,19305],{"class":4543},[4160,36025,3840],{"class":4653},[4160,36027,15215],{"class":4543},[4160,36029,4690],{"class":4653},[4160,36031,36032,36034,36036,36038,36040],{"class":4162,"line":4317},[4160,36033,19316],{"class":4543},[4160,36035,15210],{"class":4543},[4160,36037,3840],{"class":4653},[4160,36039,15274],{"class":4543},[4160,36041,4690],{"class":4653},[4160,36043,36044,36047,36050,36052,36055,36057,36059],{"class":4162,"line":4323},[4160,36045,36046],{"class":4543},"          opacity:",[4160,36048,36049],{"class":4543}," pressed",[4160,36051,10829],{"class":4539},[4160,36053,36054],{"class":5485}," 0.9",[4160,36056,10835],{"class":4539},[4160,36058,8984],{"class":5485},[4160,36060,4690],{"class":4653},[4160,36062,36063],{"class":4162,"line":4328},[4160,36064,5641],{"class":4653},[4160,36066,36067,36069],{"class":4162,"line":4333},[4160,36068,15660],{"class":4653},[4160,36070,4251],{"class":4589},[4160,36072,36073],{"class":4162,"line":5663},[4160,36074,4755],{"class":4633},[4160,36076,36077,36079,36081,36083,36085,36087,36089,36091,36093,36095,36097,36099,36101,36103,36105,36107,36109,36111],{"class":4162,"line":5676},[4160,36078,4771],{"class":4633},[4160,36080,14565],{"class":4637},[4160,36082,15675],{"class":4643},[4160,36084,4647],{"class":4539},[4160,36086,15680],{"class":4552},[4160,36088,8725],{"class":4643},[4160,36090,4647],{"class":4539},[4160,36092,4650],{"class":4589},[4160,36094,23696],{"class":5485},[4160,36096,4803],{"class":4589},[4160,36098,7170],{"class":4643},[4160,36100,4647],{"class":4539},[4160,36102,4650],{"class":4589},[4160,36104,8287],{"class":4543},[4160,36106,3840],{"class":4653},[4160,36108,19371],{"class":4543},[4160,36110,4803],{"class":4589},[4160,36112,4890],{"class":4633},[4160,36114,36115,36117,36119,36121,36123],{"class":4162,"line":6728},[4160,36116,19412],{"class":4589},[4160,36118,14913],{"class":4543},[4160,36120,3840],{"class":4653},[4160,36122,19371],{"class":4543},[4160,36124,4251],{"class":4589},[4160,36126,36127,36129,36131],{"class":4162,"line":6733},[4160,36128,7366],{"class":4633},[4160,36130,14565],{"class":4637},[4160,36132,4890],{"class":4633},[4160,36134,36135,36137,36139,36141,36143,36145,36147,36149,36151,36153,36155,36157,36159,36161,36163,36165,36167,36169,36171,36173],{"class":4162,"line":6738},[4160,36136,4771],{"class":4633},[4160,36138,14565],{"class":4637},[4160,36140,15675],{"class":4643},[4160,36142,4647],{"class":4539},[4160,36144,15986],{"class":4552},[4160,36146,7647],{"class":4643},[4160,36148,4647],{"class":4539},[4160,36150,4650],{"class":4589},[4160,36152,4608],{"class":4543},[4160,36154,3840],{"class":4653},[4160,36156,4687],{"class":4543},[4160,36158,4803],{"class":4589},[4160,36160,7170],{"class":4643},[4160,36162,4647],{"class":4539},[4160,36164,4650],{"class":4589},[4160,36166,8287],{"class":4543},[4160,36168,3840],{"class":4653},[4160,36170,19419],{"class":4543},[4160,36172,4803],{"class":4589},[4160,36174,4890],{"class":4633},[4160,36176,36177,36179,36181,36183,36185],{"class":4162,"line":6768},[4160,36178,19412],{"class":4589},[4160,36180,14913],{"class":4543},[4160,36182,3840],{"class":4653},[4160,36184,19419],{"class":4543},[4160,36186,4251],{"class":4589},[4160,36188,36189,36191,36193],{"class":4162,"line":6803},[4160,36190,7366],{"class":4633},[4160,36192,14565],{"class":4637},[4160,36194,4890],{"class":4633},[4160,36196,36197,36199,36201,36203,36205,36207,36209,36211,36213,36215,36217,36219,36221,36223,36225,36227,36229,36231],{"class":4162,"line":6808},[4160,36198,4771],{"class":4633},[4160,36200,14565],{"class":4637},[4160,36202,15675],{"class":4643},[4160,36204,4647],{"class":4539},[4160,36206,15986],{"class":4552},[4160,36208,8725],{"class":4643},[4160,36210,4647],{"class":4539},[4160,36212,4650],{"class":4589},[4160,36214,8732],{"class":5485},[4160,36216,4803],{"class":4589},[4160,36218,7170],{"class":4643},[4160,36220,4647],{"class":4539},[4160,36222,4650],{"class":4589},[4160,36224,8287],{"class":4543},[4160,36226,3840],{"class":4653},[4160,36228,3938],{"class":4543},[4160,36230,4803],{"class":4589},[4160,36232,4890],{"class":4633},[4160,36234,36235,36237,36239,36241,36243],{"class":4162,"line":6813},[4160,36236,19412],{"class":4589},[4160,36238,14913],{"class":4543},[4160,36240,3840],{"class":4653},[4160,36242,3938],{"class":4543},[4160,36244,4251],{"class":4589},[4160,36246,36247,36249,36251],{"class":4162,"line":6847},[4160,36248,7366],{"class":4633},[4160,36250,14565],{"class":4637},[4160,36252,4890],{"class":4633},[4160,36254,36255,36257,36259],{"class":4162,"line":6861},[4160,36256,4885],{"class":4633},[4160,36258,8644],{"class":4637},[4160,36260,4890],{"class":4633},[4160,36262,36263],{"class":4162,"line":6881},[4160,36264,4895],{"class":4539},[4160,36266,36267],{"class":4162,"line":6901},[4160,36268,4251],{"class":4539},[4160,36270,36271],{"class":4162,"line":6916},[4160,36272,4185],{"emptyLinePlaceholder":4184},[4160,36274,36275,36277,36279,36282,36284,36286,36288,36291],{"class":4162,"line":6929},[4160,36276,4583],{"class":4535},[4160,36278,5150],{"class":4589},[4160,36280,36281],{"class":4607}," PlaceChip",[4160,36283,5385],{"class":4539},[4160,36285,34098],{"class":4593},[4160,36287,5411],{"class":4539},[4160,36289,36290],{"class":4543},"PlaceChipComponent",[4160,36292,5417],{"class":4539},[4160,36294,36295],{"class":4162,"line":6935},[4160,36296,4185],{"emptyLinePlaceholder":4184},[4160,36298,36299,36301,36303,36305,36307,36309,36311],{"class":4162,"line":6953},[4160,36300,6592],{"class":4589},[4160,36302,8957],{"class":4607},[4160,36304,5385],{"class":4539},[4160,36306,8962],{"class":4543},[4160,36308,3840],{"class":4539},[4160,36310,8967],{"class":4593},[4160,36312,8970],{"class":4539},[4160,36314,36315,36318],{"class":4162,"line":6961},[4160,36316,36317],{"class":4543},"  chip:",[4160,36319,5517],{"class":4539},[4160,36321,36322,36324,36326],{"class":4162,"line":6970},[4160,36323,19577],{"class":4543},[4160,36325,35513],{"class":5485},[4160,36327,4690],{"class":4539},[4160,36329,36330,36332,36334],{"class":4162,"line":6975},[4160,36331,9178],{"class":4543},[4160,36333,8984],{"class":5485},[4160,36335,4690],{"class":4539},[4160,36337,36338,36340,36343],{"class":4162,"line":6980},[4160,36339,31004],{"class":4543},[4160,36341,36342],{"class":5485}," 96",[4160,36344,4690],{"class":4539},[4160,36346,36347],{"class":4162,"line":7008},[4160,36348,6526],{"class":4539},[4160,36350,36351,36354],{"class":4162,"line":7024},[4160,36352,36353],{"class":4543},"  name:",[4160,36355,5517],{"class":4539},[4160,36357,36358,36360,36362],{"class":4162,"line":7035},[4160,36359,10128],{"class":4543},[4160,36361,9009],{"class":5485},[4160,36363,4690],{"class":4539},[4160,36365,36366],{"class":4162,"line":7052},[4160,36367,6526],{"class":4539},[4160,36369,36370,36373],{"class":4162,"line":7057},[4160,36371,36372],{"class":4543},"  city:",[4160,36374,5517],{"class":4539},[4160,36376,36377,36379,36381],{"class":4162,"line":8928},[4160,36378,10119],{"class":4543},[4160,36380,9099],{"class":5485},[4160,36382,4690],{"class":4539},[4160,36384,36385,36387,36389],{"class":4162,"line":8937},[4160,36386,11337],{"class":4543},[4160,36388,4714],{"class":4552},[4160,36390,4690],{"class":4539},[4160,36392,36393],{"class":4162,"line":8942},[4160,36394,6526],{"class":4539},[4160,36396,36397,36400],{"class":4162,"line":8947},[4160,36398,36399],{"class":4543},"  note:",[4160,36401,5517],{"class":4539},[4160,36403,36404,36406,36408],{"class":4162,"line":8952},[4160,36405,10119],{"class":4543},[4160,36407,9249],{"class":5485},[4160,36409,4690],{"class":4539},[4160,36411,36412],{"class":4162,"line":8973},[4160,36413,6526],{"class":4539},[4160,36415,36416],{"class":4162,"line":8995},[4160,36417,9383],{"class":4539},[4003,36419,36422],{"className":6359,"code":36420,"filename":36421,"language":6361,"meta":4011,"style":4011},"\u002F**\n * Семантичні кольори: назва = роль на екрані, не «синій-500».\n * light \u002F dark — дві палітри з однаковими ключами.\n *\u002F\n\nexport const lightColors = {\n  background: '#F8FAFC',\n  surface: '#FFFFFF',\n  text: '#0F172A',\n  textSecondary: '#64748B',\n  primary: '#2563EB',\n  primaryPressed: '#1D4ED8',\n  border: '#E2E8F0',\n  danger: '#DC2626',\n  onPrimary: '#FFFFFF',\n} as const;\n\nexport const darkColors = {\n  background: '#000000',\n  surface: '#1C1C1E',\n  text: '#F5F5F7',\n  textSecondary: '#A1A1AA',\n  primary: '#3B82F6',\n  primaryPressed: '#2563EB',\n  border: '#3A3A3C',\n  danger: '#F87171',\n  onPrimary: '#FFFFFF',\n} as const;\n\nexport type ColorTokens = {\n  [K in keyof typeof lightColors]: string;\n};\n\nexport type ColorSchemeName = 'light' | 'dark';\n\nexport function colorsForScheme(scheme: ColorSchemeName): ColorTokens {\n  return scheme === 'dark' ? { ...darkColors } : { ...lightColors };\n}\n","src\u002Fshared\u002Ftheme\u002Fcolors.ts",[3747,36423,36424,36428,36433,36438,36442,36446,36457,36466,36476,36485,36494,36503,36513,36522,36532,36541,36551,36555,36566,36575,36584,36593,36602,36611,36619,36628,36637,36645,36655,36659,36670,36696,36700,36704,36725,36729,36754,36780],{"__ignoreMap":4011},[4160,36425,36426],{"class":4162,"line":4163},[4160,36427,13075],{"class":4763},[4160,36429,36430],{"class":4162,"line":4169},[4160,36431,36432],{"class":4763}," * Семантичні кольори: назва = роль на екрані, не «синій-500».\n",[4160,36434,36435],{"class":4162,"line":4175},[4160,36436,36437],{"class":4763}," * light \u002F dark — дві палітри з однаковими ключами.\n",[4160,36439,36440],{"class":4162,"line":4181},[4160,36441,13105],{"class":4763},[4160,36443,36444],{"class":4162,"line":4188},[4160,36445,4185],{"emptyLinePlaceholder":4184},[4160,36447,36448,36450,36452,36455],{"class":4162,"line":4194},[4160,36449,4583],{"class":4535},[4160,36451,5150],{"class":4589},[4160,36453,36454],{"class":4607}," lightColors",[4160,36456,5156],{"class":4539},[4160,36458,36459,36462,36464],{"class":4162,"line":4200},[4160,36460,36461],{"class":4543},"  background:",[4160,36463,7206],{"class":4552},[4160,36465,4690],{"class":4539},[4160,36467,36468,36471,36474],{"class":4162,"line":4206},[4160,36469,36470],{"class":4543},"  surface:",[4160,36472,36473],{"class":4552}," '#FFFFFF'",[4160,36475,4690],{"class":4539},[4160,36477,36478,36481,36483],{"class":4162,"line":4212},[4160,36479,36480],{"class":4543},"  text:",[4160,36482,7230],{"class":4552},[4160,36484,4690],{"class":4539},[4160,36486,36487,36490,36492],{"class":4162,"line":4218},[4160,36488,36489],{"class":4543},"  textSecondary:",[4160,36491,7497],{"class":4552},[4160,36493,4690],{"class":4539},[4160,36495,36496,36499,36501],{"class":4162,"line":4224},[4160,36497,36498],{"class":4543},"  primary:",[4160,36500,7216],{"class":4552},[4160,36502,4690],{"class":4539},[4160,36504,36505,36508,36511],{"class":4162,"line":4230},[4160,36506,36507],{"class":4543},"  primaryPressed:",[4160,36509,36510],{"class":4552}," '#1D4ED8'",[4160,36512,4690],{"class":4539},[4160,36514,36515,36518,36520],{"class":4162,"line":4236},[4160,36516,36517],{"class":4543},"  border:",[4160,36519,7523],{"class":4552},[4160,36521,4690],{"class":4539},[4160,36523,36524,36527,36530],{"class":4162,"line":4242},[4160,36525,36526],{"class":4543},"  danger:",[4160,36528,36529],{"class":4552}," '#DC2626'",[4160,36531,4690],{"class":4539},[4160,36533,36534,36537,36539],{"class":4162,"line":4248},[4160,36535,36536],{"class":4543},"  onPrimary:",[4160,36538,36473],{"class":4552},[4160,36540,4690],{"class":4539},[4160,36542,36543,36545,36547,36549],{"class":4162,"line":4254},[4160,36544,8095],{"class":4539},[4160,36546,23291],{"class":4535},[4160,36548,5150],{"class":4589},[4160,36550,4556],{"class":4539},[4160,36552,36553],{"class":4162,"line":4259},[4160,36554,4185],{"emptyLinePlaceholder":4184},[4160,36556,36557,36559,36561,36564],{"class":4162,"line":4265},[4160,36558,4583],{"class":4535},[4160,36560,5150],{"class":4589},[4160,36562,36563],{"class":4607}," darkColors",[4160,36565,5156],{"class":4539},[4160,36567,36568,36570,36573],{"class":4162,"line":4271},[4160,36569,36461],{"class":4543},[4160,36571,36572],{"class":4552}," '#000000'",[4160,36574,4690],{"class":4539},[4160,36576,36577,36579,36582],{"class":4162,"line":4276},[4160,36578,36470],{"class":4543},[4160,36580,36581],{"class":4552}," '#1C1C1E'",[4160,36583,4690],{"class":4539},[4160,36585,36586,36588,36591],{"class":4162,"line":4282},[4160,36587,36480],{"class":4543},[4160,36589,36590],{"class":4552}," '#F5F5F7'",[4160,36592,4690],{"class":4539},[4160,36594,36595,36597,36600],{"class":4162,"line":4288},[4160,36596,36489],{"class":4543},[4160,36598,36599],{"class":4552}," '#A1A1AA'",[4160,36601,4690],{"class":4539},[4160,36603,36604,36606,36609],{"class":4162,"line":4294},[4160,36605,36498],{"class":4543},[4160,36607,36608],{"class":4552}," '#3B82F6'",[4160,36610,4690],{"class":4539},[4160,36612,36613,36615,36617],{"class":4162,"line":4300},[4160,36614,36507],{"class":4543},[4160,36616,7216],{"class":4552},[4160,36618,4690],{"class":4539},[4160,36620,36621,36623,36626],{"class":4162,"line":4305},[4160,36622,36517],{"class":4543},[4160,36624,36625],{"class":4552}," '#3A3A3C'",[4160,36627,4690],{"class":4539},[4160,36629,36630,36632,36635],{"class":4162,"line":4311},[4160,36631,36526],{"class":4543},[4160,36633,36634],{"class":4552}," '#F87171'",[4160,36636,4690],{"class":4539},[4160,36638,36639,36641,36643],{"class":4162,"line":4317},[4160,36640,36536],{"class":4543},[4160,36642,36473],{"class":4552},[4160,36644,4690],{"class":4539},[4160,36646,36647,36649,36651,36653],{"class":4162,"line":4323},[4160,36648,8095],{"class":4539},[4160,36650,23291],{"class":4535},[4160,36652,5150],{"class":4589},[4160,36654,4556],{"class":4539},[4160,36656,36657],{"class":4162,"line":4328},[4160,36658,4185],{"emptyLinePlaceholder":4184},[4160,36660,36661,36663,36665,36668],{"class":4162,"line":4333},[4160,36662,4583],{"class":4535},[4160,36664,6370],{"class":4589},[4160,36666,36667],{"class":4637}," ColorTokens",[4160,36669,5156],{"class":4539},[4160,36671,36672,36675,36678,36681,36684,36687,36689,36692,36694],{"class":4162,"line":5663},[4160,36673,36674],{"class":4539},"  [",[4160,36676,36677],{"class":4637},"K",[4160,36679,36680],{"class":4589}," in",[4160,36682,36683],{"class":4589}," keyof",[4160,36685,36686],{"class":4589}," typeof",[4160,36688,36454],{"class":4543},[4160,36690,36691],{"class":4539},"]: ",[4160,36693,5817],{"class":4637},[4160,36695,4556],{"class":4539},[4160,36697,36698],{"class":4162,"line":5676},[4160,36699,5171],{"class":4539},[4160,36701,36702],{"class":4162,"line":6728},[4160,36703,4185],{"emptyLinePlaceholder":4184},[4160,36705,36706,36708,36710,36713,36715,36718,36720,36723],{"class":4162,"line":6733},[4160,36707,4583],{"class":4535},[4160,36709,6370],{"class":4589},[4160,36711,36712],{"class":4637}," ColorSchemeName",[4160,36714,5385],{"class":4539},[4160,36716,36717],{"class":4552},"'light'",[4160,36719,6761],{"class":4539},[4160,36721,36722],{"class":4552},"'dark'",[4160,36724,4556],{"class":4539},[4160,36726,36727],{"class":4162,"line":6738},[4160,36728,4185],{"emptyLinePlaceholder":4184},[4160,36730,36731,36733,36735,36738,36740,36742,36744,36747,36749,36752],{"class":4162,"line":6768},[4160,36732,4583],{"class":4535},[4160,36734,4590],{"class":4589},[4160,36736,36737],{"class":4593}," colorsForScheme",[4160,36739,5411],{"class":4539},[4160,36741,13153],{"class":4543},[4160,36743,5814],{"class":4539},[4160,36745,36746],{"class":4637},"ColorSchemeName",[4160,36748,6756],{"class":4539},[4160,36750,36751],{"class":4637},"ColorTokens",[4160,36753,5517],{"class":4539},[4160,36755,36756,36758,36761,36763,36765,36768,36771,36774,36777],{"class":4162,"line":6803},[4160,36757,4625],{"class":4535},[4160,36759,36760],{"class":4543}," scheme",[4160,36762,6796],{"class":4539},[4160,36764,36722],{"class":4552},[4160,36766,36767],{"class":4539}," ? { ...",[4160,36769,36770],{"class":4543},"darkColors",[4160,36772,36773],{"class":4539}," } : { ...",[4160,36775,36776],{"class":4543},"lightColors",[4160,36778,36779],{"class":4539}," };\n",[4160,36781,36782],{"class":4162,"line":6808},[4160,36783,4251],{"class":4539},[4003,36785,36788],{"className":6359,"code":36786,"filename":36787,"language":6361,"meta":4011,"style":4011},"\u002F**\n * Токени, що **не** залежать від light\u002Fdark:\n * відступи, радіуси, розміри шрифтів.\n * Кольори — у colors.ts + ThemeProvider.\n *\u002F\n\nexport const space = {\n  xs: 4,\n  sm: 8,\n  md: 16,\n  lg: 24,\n  xl: 32,\n} as const;\n\nexport const radius = {\n  sm: 8,\n  md: 12,\n  lg: 16,\n} as const;\n\nexport const fontSize = {\n  sm: 14,\n  md: 16,\n  lg: 20,\n  xl: 28,\n} as const;\n\n\u002F** @deprecated Використовуйте useTheme() для кольорів; space\u002Fradius\u002FfontSize — нижче. *\u002F\nexport const tokens = {\n  \u002F** Світла палітра (fallback, якщо хтось імпортує tokens.colors без теми). *\u002F\n  colors: {\n    background: '#F8FAFC',\n    surface: '#FFFFFF',\n    text: '#0F172A',\n    textSecondary: '#64748B',\n    primary: '#2563EB',\n    primaryPressed: '#1D4ED8',\n    border: '#E2E8F0',\n    danger: '#DC2626',\n    onPrimary: '#FFFFFF',\n  },\n  spacing: space,\n  radius,\n  fontSize,\n} as const;\n\nexport type Tokens = typeof tokens;\n","src\u002Fshared\u002Ftheme\u002Ftokens.ts",[3747,36789,36790,36794,36799,36804,36809,36813,36817,36828,36837,36846,36855,36864,36873,36883,36887,36897,36905,36913,36921,36931,36935,36946,36954,36962,36970,36979,36989,36993,37004,37015,37020,37027,37036,37045,37054,37063,37072,37081,37090,37099,37108,37112,37121,37128,37135,37145,37149],{"__ignoreMap":4011},[4160,36791,36792],{"class":4162,"line":4163},[4160,36793,13075],{"class":4763},[4160,36795,36796],{"class":4162,"line":4169},[4160,36797,36798],{"class":4763}," * Токени, що **не** залежать від light\u002Fdark:\n",[4160,36800,36801],{"class":4162,"line":4175},[4160,36802,36803],{"class":4763}," * відступи, радіуси, розміри шрифтів.\n",[4160,36805,36806],{"class":4162,"line":4181},[4160,36807,36808],{"class":4763}," * Кольори — у colors.ts + ThemeProvider.\n",[4160,36810,36811],{"class":4162,"line":4188},[4160,36812,13105],{"class":4763},[4160,36814,36815],{"class":4162,"line":4194},[4160,36816,4185],{"emptyLinePlaceholder":4184},[4160,36818,36819,36821,36823,36826],{"class":4162,"line":4200},[4160,36820,4583],{"class":4535},[4160,36822,5150],{"class":4589},[4160,36824,36825],{"class":4607}," space",[4160,36827,5156],{"class":4539},[4160,36829,36830,36833,36835],{"class":4162,"line":4206},[4160,36831,36832],{"class":4543},"  xs:",[4160,36834,9099],{"class":5485},[4160,36836,4690],{"class":4539},[4160,36838,36839,36842,36844],{"class":4162,"line":4212},[4160,36840,36841],{"class":4543},"  sm:",[4160,36843,9020],{"class":5485},[4160,36845,4690],{"class":4539},[4160,36847,36848,36851,36853],{"class":4162,"line":4218},[4160,36849,36850],{"class":4543},"  md:",[4160,36852,9009],{"class":5485},[4160,36854,4690],{"class":4539},[4160,36856,36857,36860,36862],{"class":4162,"line":4224},[4160,36858,36859],{"class":4543},"  lg:",[4160,36861,9070],{"class":5485},[4160,36863,4690],{"class":4539},[4160,36865,36866,36869,36871],{"class":4162,"line":4230},[4160,36867,36868],{"class":4543},"  xl:",[4160,36870,20764],{"class":5485},[4160,36872,4690],{"class":4539},[4160,36874,36875,36877,36879,36881],{"class":4162,"line":4236},[4160,36876,8095],{"class":4539},[4160,36878,23291],{"class":4535},[4160,36880,5150],{"class":4589},[4160,36882,4556],{"class":4539},[4160,36884,36885],{"class":4162,"line":4242},[4160,36886,4185],{"emptyLinePlaceholder":4184},[4160,36888,36889,36891,36893,36895],{"class":4162,"line":4248},[4160,36890,4583],{"class":4535},[4160,36892,5150],{"class":4589},[4160,36894,19305],{"class":4607},[4160,36896,5156],{"class":4539},[4160,36898,36899,36901,36903],{"class":4162,"line":4254},[4160,36900,36841],{"class":4543},[4160,36902,9020],{"class":5485},[4160,36904,4690],{"class":4539},[4160,36906,36907,36909,36911],{"class":4162,"line":4259},[4160,36908,36850],{"class":4543},[4160,36910,7542],{"class":5485},[4160,36912,4690],{"class":4539},[4160,36914,36915,36917,36919],{"class":4162,"line":4265},[4160,36916,36859],{"class":4543},[4160,36918,9009],{"class":5485},[4160,36920,4690],{"class":4539},[4160,36922,36923,36925,36927,36929],{"class":4162,"line":4271},[4160,36924,8095],{"class":4539},[4160,36926,23291],{"class":4535},[4160,36928,5150],{"class":4589},[4160,36930,4556],{"class":4539},[4160,36932,36933],{"class":4162,"line":4276},[4160,36934,4185],{"emptyLinePlaceholder":4184},[4160,36936,36937,36939,36941,36944],{"class":4162,"line":4282},[4160,36938,4583],{"class":4535},[4160,36940,5150],{"class":4589},[4160,36942,36943],{"class":4607}," fontSize",[4160,36945,5156],{"class":4539},[4160,36947,36948,36950,36952],{"class":4162,"line":4288},[4160,36949,36841],{"class":4543},[4160,36951,9201],{"class":5485},[4160,36953,4690],{"class":4539},[4160,36955,36956,36958,36960],{"class":4162,"line":4294},[4160,36957,36850],{"class":4543},[4160,36959,9009],{"class":5485},[4160,36961,4690],{"class":4539},[4160,36963,36964,36966,36968],{"class":4162,"line":4300},[4160,36965,36859],{"class":4543},[4160,36967,11482],{"class":5485},[4160,36969,4690],{"class":4539},[4160,36971,36972,36974,36977],{"class":4162,"line":4305},[4160,36973,36868],{"class":4543},[4160,36975,36976],{"class":5485}," 28",[4160,36978,4690],{"class":4539},[4160,36980,36981,36983,36985,36987],{"class":4162,"line":4311},[4160,36982,8095],{"class":4539},[4160,36984,23291],{"class":4535},[4160,36986,5150],{"class":4589},[4160,36988,4556],{"class":4539},[4160,36990,36991],{"class":4162,"line":4317},[4160,36992,4185],{"emptyLinePlaceholder":4184},[4160,36994,36995,36998,37001],{"class":4162,"line":4323},[4160,36996,36997],{"class":4763},"\u002F** ",[4160,36999,37000],{"class":4589},"@deprecated",[4160,37002,37003],{"class":4763}," Використовуйте useTheme() для кольорів; space\u002Fradius\u002FfontSize — нижче. *\u002F\n",[4160,37005,37006,37008,37010,37013],{"class":4162,"line":4328},[4160,37007,4583],{"class":4535},[4160,37009,5150],{"class":4589},[4160,37011,37012],{"class":4607}," tokens",[4160,37014,5156],{"class":4539},[4160,37016,37017],{"class":4162,"line":4333},[4160,37018,37019],{"class":4763},"  \u002F** Світла палітра (fallback, якщо хтось імпортує tokens.colors без теми). *\u002F\n",[4160,37021,37022,37025],{"class":4162,"line":5663},[4160,37023,37024],{"class":4543},"  colors:",[4160,37026,5517],{"class":4539},[4160,37028,37029,37032,37034],{"class":4162,"line":5676},[4160,37030,37031],{"class":4543},"    background:",[4160,37033,7206],{"class":4552},[4160,37035,4690],{"class":4539},[4160,37037,37038,37041,37043],{"class":4162,"line":6728},[4160,37039,37040],{"class":4543},"    surface:",[4160,37042,36473],{"class":4552},[4160,37044,4690],{"class":4539},[4160,37046,37047,37050,37052],{"class":4162,"line":6733},[4160,37048,37049],{"class":4543},"    text:",[4160,37051,7230],{"class":4552},[4160,37053,4690],{"class":4539},[4160,37055,37056,37059,37061],{"class":4162,"line":6738},[4160,37057,37058],{"class":4543},"    textSecondary:",[4160,37060,7497],{"class":4552},[4160,37062,4690],{"class":4539},[4160,37064,37065,37068,37070],{"class":4162,"line":6768},[4160,37066,37067],{"class":4543},"    primary:",[4160,37069,7216],{"class":4552},[4160,37071,4690],{"class":4539},[4160,37073,37074,37077,37079],{"class":4162,"line":6803},[4160,37075,37076],{"class":4543},"    primaryPressed:",[4160,37078,36510],{"class":4552},[4160,37080,4690],{"class":4539},[4160,37082,37083,37086,37088],{"class":4162,"line":6808},[4160,37084,37085],{"class":4543},"    border:",[4160,37087,7523],{"class":4552},[4160,37089,4690],{"class":4539},[4160,37091,37092,37095,37097],{"class":4162,"line":6813},[4160,37093,37094],{"class":4543},"    danger:",[4160,37096,36529],{"class":4552},[4160,37098,4690],{"class":4539},[4160,37100,37101,37104,37106],{"class":4162,"line":6847},[4160,37102,37103],{"class":4543},"    onPrimary:",[4160,37105,36473],{"class":4552},[4160,37107,4690],{"class":4539},[4160,37109,37110],{"class":4162,"line":6861},[4160,37111,6526],{"class":4539},[4160,37113,37114,37117,37119],{"class":4162,"line":6881},[4160,37115,37116],{"class":4543},"  spacing:",[4160,37118,36825],{"class":4543},[4160,37120,4690],{"class":4539},[4160,37122,37123,37126],{"class":4162,"line":6901},[4160,37124,37125],{"class":4543},"  radius",[4160,37127,4690],{"class":4539},[4160,37129,37130,37133],{"class":4162,"line":6916},[4160,37131,37132],{"class":4543},"  fontSize",[4160,37134,4690],{"class":4539},[4160,37136,37137,37139,37141,37143],{"class":4162,"line":6929},[4160,37138,8095],{"class":4539},[4160,37140,23291],{"class":4535},[4160,37142,5150],{"class":4589},[4160,37144,4556],{"class":4539},[4160,37146,37147],{"class":4162,"line":6935},[4160,37148,4185],{"emptyLinePlaceholder":4184},[4160,37150,37151,37153,37155,37158,37160,37162,37164],{"class":4162,"line":6953},[4160,37152,4583],{"class":4535},[4160,37154,6370],{"class":4589},[4160,37156,37157],{"class":4637}," Tokens",[4160,37159,5385],{"class":4539},[4160,37161,23314],{"class":4589},[4160,37163,37012],{"class":4543},[4160,37165,4556],{"class":4539},[4003,37167,37170],{"className":4526,"code":37168,"filename":37169,"language":4528,"meta":4011,"style":4011},"import {\n  createContext,\n  ReactNode,\n  useCallback,\n  useContext,\n  useMemo,\n  useState,\n} from 'react';\nimport { useColorScheme as useSystemColorScheme } from 'react-native';\n\nimport {\n  colorsForScheme,\n  type ColorSchemeName,\n  type ColorTokens,\n} from '.\u002Fcolors';\nimport { fontSize, radius, space } from '.\u002Ftokens';\n\n\u002F** Що обрав користувач: слідувати системі або примусово light\u002Fdark. *\u002F\nexport type ThemePreference = 'system' | ColorSchemeName;\n\ntype ThemeContextValue = {\n  \u002F** Фактична схема, якою малюємо UI. *\u002F\n  scheme: ColorSchemeName;\n  preference: ThemePreference;\n  setPreference: (value: ThemePreference) => void;\n  colors: ColorTokens;\n  spacing: typeof space;\n  radius: typeof radius;\n  fontSize: typeof fontSize;\n};\n\nconst ThemeContext = createContext\u003CThemeContextValue | null>(null);\n\nfunction resolveScheme(\n  preference: ThemePreference,\n  system: string | null | undefined,\n): ColorSchemeName {\n  if (preference === 'light' || preference === 'dark') {\n    return preference;\n  }\n  return system === 'dark' ? 'dark' : 'light';\n}\n\ntype ThemeProviderProps = {\n  children: ReactNode;\n  \u002F** Початкова перевага (за замовчуванням — як у системі). *\u002F\n  initialPreference?: ThemePreference;\n};\n\nexport function ThemeProvider({\n  children,\n  initialPreference = 'system',\n}: ThemeProviderProps) {\n  const systemScheme = useSystemColorScheme();\n  const [preference, setPreferenceState] =\n    useState\u003CThemePreference>(initialPreference);\n\n  const setPreference = useCallback((value: ThemePreference) => {\n    setPreferenceState(value);\n  }, []);\n\n  const scheme = resolveScheme(preference, systemScheme);\n  const colors = useMemo(() => colorsForScheme(scheme), [scheme]);\n\n  const value = useMemo\u003CThemeContextValue>(\n    () => ({\n      scheme,\n      preference,\n      setPreference,\n      colors,\n      spacing: space,\n      radius,\n      fontSize,\n    }),\n    [scheme, preference, setPreference, colors],\n  );\n\n  return (\n    \u003CThemeContext.Provider value={value}>{children}\u003C\u002FThemeContext.Provider>\n  );\n}\n\nexport function useTheme(): ThemeContextValue {\n  const ctx = useContext(ThemeContext);\n  if (!ctx) {\n    throw new Error('useTheme() потрібно викликати всередині \u003CThemeProvider>.');\n  }\n  return ctx;\n}\n","src\u002Fshared\u002Ftheme\u002FThemeProvider.tsx",[3747,37171,37172,37178,37184,37190,37196,37202,37208,37214,37224,37246,37250,37256,37263,37271,37279,37290,37317,37321,37326,37345,37349,37358,37363,37374,37385,37406,37417,37430,37442,37454,37458,37462,37488,37492,37501,37511,37530,37538,37560,37568,37572,37594,37598,37602,37611,37621,37626,37637,37641,37645,37656,37662,37672,37681,37695,37711,37727,37731,37755,37766,37770,37774,37796,37823,37827,37844,37853,37860,37867,37874,37881,37890,37897,37904,37908,37928,37932,37936,37942,37973,37977,37981,37985,38000,38017,38027,38042,38046,38054],{"__ignoreMap":4011},[4160,37173,37174,37176],{"class":4162,"line":4163},[4160,37175,4536],{"class":4535},[4160,37177,5517],{"class":4539},[4160,37179,37180,37182],{"class":4162,"line":4169},[4160,37181,24500],{"class":4543},[4160,37183,4690],{"class":4539},[4160,37185,37186,37188],{"class":4162,"line":4175},[4160,37187,24507],{"class":4543},[4160,37189,4690],{"class":4539},[4160,37191,37192,37194],{"class":4162,"line":4181},[4160,37193,24514],{"class":4543},[4160,37195,4690],{"class":4539},[4160,37197,37198,37200],{"class":4162,"line":4188},[4160,37199,24521],{"class":4543},[4160,37201,4690],{"class":4539},[4160,37203,37204,37206],{"class":4162,"line":4194},[4160,37205,24528],{"class":4543},[4160,37207,4690],{"class":4539},[4160,37209,37210,37212],{"class":4162,"line":4200},[4160,37211,24535],{"class":4543},[4160,37213,4690],{"class":4539},[4160,37215,37216,37218,37220,37222],{"class":4162,"line":4206},[4160,37217,8095],{"class":4539},[4160,37219,4549],{"class":4535},[4160,37221,5307],{"class":4552},[4160,37223,4556],{"class":4539},[4160,37225,37226,37228,37230,37233,37235,37238,37240,37242,37244],{"class":4162,"line":4212},[4160,37227,4536],{"class":4535},[4160,37229,4540],{"class":4539},[4160,37231,37232],{"class":4543},"useColorScheme",[4160,37234,27485],{"class":4535},[4160,37236,37237],{"class":4543}," useSystemColorScheme",[4160,37239,4546],{"class":4539},[4160,37241,4549],{"class":4535},[4160,37243,5324],{"class":4552},[4160,37245,4556],{"class":4539},[4160,37247,37248],{"class":4162,"line":4218},[4160,37249,4185],{"emptyLinePlaceholder":4184},[4160,37251,37252,37254],{"class":4162,"line":4224},[4160,37253,4536],{"class":4535},[4160,37255,5517],{"class":4539},[4160,37257,37258,37261],{"class":4162,"line":4230},[4160,37259,37260],{"class":4543},"  colorsForScheme",[4160,37262,4690],{"class":4539},[4160,37264,37265,37267,37269],{"class":4162,"line":4236},[4160,37266,14509],{"class":4535},[4160,37268,36712],{"class":4543},[4160,37270,4690],{"class":4539},[4160,37272,37273,37275,37277],{"class":4162,"line":4242},[4160,37274,14509],{"class":4535},[4160,37276,36667],{"class":4543},[4160,37278,4690],{"class":4539},[4160,37280,37281,37283,37285,37288],{"class":4162,"line":4248},[4160,37282,8095],{"class":4539},[4160,37284,4549],{"class":4535},[4160,37286,37287],{"class":4552}," '.\u002Fcolors'",[4160,37289,4556],{"class":4539},[4160,37291,37292,37294,37296,37299,37301,37303,37305,37308,37310,37312,37315],{"class":4162,"line":4254},[4160,37293,4536],{"class":4535},[4160,37295,4540],{"class":4539},[4160,37297,37298],{"class":4543},"fontSize",[4160,37300,4055],{"class":4539},[4160,37302,17861],{"class":4543},[4160,37304,4055],{"class":4539},[4160,37306,37307],{"class":4543},"space",[4160,37309,4546],{"class":4539},[4160,37311,4549],{"class":4535},[4160,37313,37314],{"class":4552}," '.\u002Ftokens'",[4160,37316,4556],{"class":4539},[4160,37318,37319],{"class":4162,"line":4259},[4160,37320,4185],{"emptyLinePlaceholder":4184},[4160,37322,37323],{"class":4162,"line":4265},[4160,37324,37325],{"class":4763},"\u002F** Що обрав користувач: слідувати системі або примусово light\u002Fdark. *\u002F\n",[4160,37327,37328,37330,37332,37334,37336,37339,37341,37343],{"class":4162,"line":4271},[4160,37329,4583],{"class":4535},[4160,37331,6370],{"class":4589},[4160,37333,14548],{"class":4637},[4160,37335,5385],{"class":4539},[4160,37337,37338],{"class":4552},"'system'",[4160,37340,6761],{"class":4539},[4160,37342,36746],{"class":4637},[4160,37344,4556],{"class":4539},[4160,37346,37347],{"class":4162,"line":4276},[4160,37348,4185],{"emptyLinePlaceholder":4184},[4160,37350,37351,37353,37356],{"class":4162,"line":4282},[4160,37352,6433],{"class":4589},[4160,37354,37355],{"class":4637}," ThemeContextValue",[4160,37357,5156],{"class":4539},[4160,37359,37360],{"class":4162,"line":4288},[4160,37361,37362],{"class":4763},"  \u002F** Фактична схема, якою малюємо UI. *\u002F\n",[4160,37364,37365,37368,37370,37372],{"class":4162,"line":4294},[4160,37366,37367],{"class":4543},"  scheme",[4160,37369,5814],{"class":4539},[4160,37371,36746],{"class":4637},[4160,37373,4556],{"class":4539},[4160,37375,37376,37379,37381,37383],{"class":4162,"line":4300},[4160,37377,37378],{"class":4543},"  preference",[4160,37380,5814],{"class":4539},[4160,37382,14605],{"class":4637},[4160,37384,4556],{"class":4539},[4160,37386,37387,37390,37392,37394,37396,37398,37400,37402,37404],{"class":4162,"line":4305},[4160,37388,37389],{"class":4593},"  setPreference",[4160,37391,24624],{"class":4539},[4160,37393,25067],{"class":4543},[4160,37395,5814],{"class":4539},[4160,37397,14605],{"class":4637},[4160,37399,6644],{"class":4539},[4160,37401,5514],{"class":4589},[4160,37403,6444],{"class":4637},[4160,37405,4556],{"class":4539},[4160,37407,37408,37411,37413,37415],{"class":4162,"line":4311},[4160,37409,37410],{"class":4543},"  colors",[4160,37412,5814],{"class":4539},[4160,37414,36751],{"class":4637},[4160,37416,4556],{"class":4539},[4160,37418,37419,37422,37424,37426,37428],{"class":4162,"line":4317},[4160,37420,37421],{"class":4543},"  spacing",[4160,37423,5814],{"class":4539},[4160,37425,23314],{"class":4589},[4160,37427,36825],{"class":4543},[4160,37429,4556],{"class":4539},[4160,37431,37432,37434,37436,37438,37440],{"class":4162,"line":4323},[4160,37433,37125],{"class":4543},[4160,37435,5814],{"class":4539},[4160,37437,23314],{"class":4589},[4160,37439,19305],{"class":4543},[4160,37441,4556],{"class":4539},[4160,37443,37444,37446,37448,37450,37452],{"class":4162,"line":4328},[4160,37445,37132],{"class":4543},[4160,37447,5814],{"class":4539},[4160,37449,23314],{"class":4589},[4160,37451,36943],{"class":4543},[4160,37453,4556],{"class":4539},[4160,37455,37456],{"class":4162,"line":4333},[4160,37457,5171],{"class":4539},[4160,37459,37460],{"class":4162,"line":5663},[4160,37461,4185],{"emptyLinePlaceholder":4184},[4160,37463,37464,37466,37469,37471,37473,37475,37478,37480,37482,37484,37486],{"class":4162,"line":5676},[4160,37465,6592],{"class":4589},[4160,37467,37468],{"class":4607}," ThemeContext",[4160,37470,5385],{"class":4539},[4160,37472,24707],{"class":4593},[4160,37474,5018],{"class":4539},[4160,37476,37477],{"class":4637},"ThemeContextValue",[4160,37479,6761],{"class":4539},[4160,37481,24717],{"class":4637},[4160,37483,24720],{"class":4539},[4160,37485,24717],{"class":4589},[4160,37487,5417],{"class":4539},[4160,37489,37490],{"class":4162,"line":6728},[4160,37491,4185],{"emptyLinePlaceholder":4184},[4160,37493,37494,37496,37499],{"class":4162,"line":6733},[4160,37495,6620],{"class":4589},[4160,37497,37498],{"class":4593}," resolveScheme",[4160,37500,5535],{"class":4539},[4160,37502,37503,37505,37507,37509],{"class":4162,"line":6738},[4160,37504,37378],{"class":4543},[4160,37506,5814],{"class":4539},[4160,37508,14605],{"class":4637},[4160,37510,4690],{"class":4539},[4160,37512,37513,37516,37518,37520,37522,37524,37526,37528],{"class":4162,"line":6768},[4160,37514,37515],{"class":4543},"  system",[4160,37517,5814],{"class":4539},[4160,37519,5817],{"class":4637},[4160,37521,6761],{"class":4539},[4160,37523,24717],{"class":4637},[4160,37525,6761],{"class":4539},[4160,37527,5895],{"class":4637},[4160,37529,4690],{"class":4539},[4160,37531,37532,37534,37536],{"class":4162,"line":6803},[4160,37533,6756],{"class":4539},[4160,37535,36746],{"class":4637},[4160,37537,5517],{"class":4539},[4160,37539,37540,37542,37544,37546,37548,37550,37552,37554,37556,37558],{"class":4162,"line":6808},[4160,37541,5906],{"class":4535},[4160,37543,5668],{"class":4539},[4160,37545,14743],{"class":4543},[4160,37547,6796],{"class":4539},[4160,37549,36717],{"class":4552},[4160,37551,10485],{"class":4539},[4160,37553,14743],{"class":4543},[4160,37555,6796],{"class":4539},[4160,37557,36722],{"class":4552},[4160,37559,5915],{"class":4539},[4160,37561,37562,37564,37566],{"class":4162,"line":6813},[4160,37563,5920],{"class":4535},[4160,37565,16286],{"class":4543},[4160,37567,4556],{"class":4539},[4160,37569,37570],{"class":4162,"line":6847},[4160,37571,4239],{"class":4539},[4160,37573,37574,37576,37579,37581,37583,37585,37587,37590,37592],{"class":4162,"line":6861},[4160,37575,4625],{"class":4535},[4160,37577,37578],{"class":4543}," system",[4160,37580,6796],{"class":4539},[4160,37582,36722],{"class":4552},[4160,37584,5883],{"class":4539},[4160,37586,36722],{"class":4552},[4160,37588,37589],{"class":4539}," : ",[4160,37591,36717],{"class":4552},[4160,37593,4556],{"class":4539},[4160,37595,37596],{"class":4162,"line":6881},[4160,37597,4251],{"class":4539},[4160,37599,37600],{"class":4162,"line":6901},[4160,37601,4185],{"emptyLinePlaceholder":4184},[4160,37603,37604,37606,37609],{"class":4162,"line":6916},[4160,37605,6433],{"class":4589},[4160,37607,37608],{"class":4637}," ThemeProviderProps",[4160,37610,5156],{"class":4539},[4160,37612,37613,37615,37617,37619],{"class":4162,"line":6929},[4160,37614,24742],{"class":4543},[4160,37616,5814],{"class":4539},[4160,37618,24747],{"class":4637},[4160,37620,4556],{"class":4539},[4160,37622,37623],{"class":4162,"line":6935},[4160,37624,37625],{"class":4763},"  \u002F** Початкова перевага (за замовчуванням — як у системі). *\u002F\n",[4160,37627,37628,37631,37633,37635],{"class":4162,"line":6953},[4160,37629,37630],{"class":4543},"  initialPreference",[4160,37632,23108],{"class":4539},[4160,37634,14605],{"class":4637},[4160,37636,4556],{"class":4539},[4160,37638,37639],{"class":4162,"line":6961},[4160,37640,5171],{"class":4539},[4160,37642,37643],{"class":4162,"line":6970},[4160,37644,4185],{"emptyLinePlaceholder":4184},[4160,37646,37647,37649,37651,37654],{"class":4162,"line":6975},[4160,37648,4583],{"class":4535},[4160,37650,4590],{"class":4589},[4160,37652,37653],{"class":4593}," ThemeProvider",[4160,37655,8970],{"class":4539},[4160,37657,37658,37660],{"class":4162,"line":6980},[4160,37659,24742],{"class":4543},[4160,37661,4690],{"class":4539},[4160,37663,37664,37666,37668,37670],{"class":4162,"line":7008},[4160,37665,37630],{"class":4543},[4160,37667,5385],{"class":4539},[4160,37669,37338],{"class":4552},[4160,37671,4690],{"class":4539},[4160,37673,37674,37676,37679],{"class":4162,"line":7024},[4160,37675,27257],{"class":4539},[4160,37677,37678],{"class":4637},"ThemeProviderProps",[4160,37680,5915],{"class":4539},[4160,37682,37683,37685,37688,37690,37693],{"class":4162,"line":7035},[4160,37684,4602],{"class":4589},[4160,37686,37687],{"class":4607}," systemScheme",[4160,37689,5385],{"class":4539},[4160,37691,37692],{"class":4593},"useSystemColorScheme",[4160,37694,4616],{"class":4539},[4160,37696,37697,37699,37701,37703,37705,37708],{"class":4162,"line":7052},[4160,37698,4602],{"class":4589},[4160,37700,5396],{"class":4539},[4160,37702,14743],{"class":4607},[4160,37704,4055],{"class":4539},[4160,37706,37707],{"class":4607},"setPreferenceState",[4160,37709,37710],{"class":4539},"] =\n",[4160,37712,37713,37716,37718,37720,37722,37725],{"class":4162,"line":7057},[4160,37714,37715],{"class":4593},"    useState",[4160,37717,5018],{"class":4539},[4160,37719,14605],{"class":4637},[4160,37721,24720],{"class":4539},[4160,37723,37724],{"class":4543},"initialPreference",[4160,37726,5417],{"class":4539},[4160,37728,37729],{"class":4162,"line":8928},[4160,37730,4185],{"emptyLinePlaceholder":4184},[4160,37732,37733,37735,37737,37739,37741,37743,37745,37747,37749,37751,37753],{"class":4162,"line":8937},[4160,37734,4602],{"class":4589},[4160,37736,16347],{"class":4607},[4160,37738,5385],{"class":4539},[4160,37740,14373],{"class":4593},[4160,37742,6638],{"class":4539},[4160,37744,25067],{"class":4543},[4160,37746,5814],{"class":4539},[4160,37748,14605],{"class":4637},[4160,37750,6644],{"class":4539},[4160,37752,5514],{"class":4589},[4160,37754,5517],{"class":4539},[4160,37756,37757,37760,37762,37764],{"class":4162,"line":8942},[4160,37758,37759],{"class":4593},"    setPreferenceState",[4160,37761,5411],{"class":4539},[4160,37763,25067],{"class":4543},[4160,37765,5417],{"class":4539},[4160,37767,37768],{"class":4162,"line":8947},[4160,37769,24940],{"class":4539},[4160,37771,37772],{"class":4162,"line":8952},[4160,37773,4185],{"emptyLinePlaceholder":4184},[4160,37775,37776,37778,37780,37782,37785,37787,37789,37791,37794],{"class":4162,"line":8973},[4160,37777,4602],{"class":4589},[4160,37779,36760],{"class":4607},[4160,37781,5385],{"class":4539},[4160,37783,37784],{"class":4593},"resolveScheme",[4160,37786,5411],{"class":4539},[4160,37788,14743],{"class":4543},[4160,37790,4055],{"class":4539},[4160,37792,37793],{"class":4543},"systemScheme",[4160,37795,5417],{"class":4539},[4160,37797,37798,37800,37802,37804,37806,37808,37810,37812,37814,37816,37819,37821],{"class":4162,"line":8995},[4160,37799,4602],{"class":4589},[4160,37801,4667],{"class":4607},[4160,37803,5385],{"class":4539},[4160,37805,17510],{"class":4593},[4160,37807,8244],{"class":4539},[4160,37809,5514],{"class":4589},[4160,37811,36737],{"class":4593},[4160,37813,5411],{"class":4539},[4160,37815,13153],{"class":4543},[4160,37817,37818],{"class":4539},"), [",[4160,37820,13153],{"class":4543},[4160,37822,15055],{"class":4539},[4160,37824,37825],{"class":4162,"line":9003},[4160,37826,4185],{"emptyLinePlaceholder":4184},[4160,37828,37829,37831,37833,37835,37837,37839,37841],{"class":4162,"line":9014},[4160,37830,4602],{"class":4589},[4160,37832,24987],{"class":4607},[4160,37834,5385],{"class":4539},[4160,37836,17510],{"class":4593},[4160,37838,5018],{"class":4539},[4160,37840,37477],{"class":4637},[4160,37842,37843],{"class":4539},">(\n",[4160,37845,37846,37848,37850],{"class":4162,"line":9025},[4160,37847,17815],{"class":4539},[4160,37849,5514],{"class":4589},[4160,37851,37852],{"class":4539}," ({\n",[4160,37854,37855,37858],{"class":4162,"line":9035},[4160,37856,37857],{"class":4543},"      scheme",[4160,37859,4690],{"class":4539},[4160,37861,37862,37865],{"class":4162,"line":9045},[4160,37863,37864],{"class":4543},"      preference",[4160,37866,4690],{"class":4539},[4160,37868,37869,37872],{"class":4162,"line":9055},[4160,37870,37871],{"class":4543},"      setPreference",[4160,37873,4690],{"class":4539},[4160,37875,37876,37879],{"class":4162,"line":9060},[4160,37877,37878],{"class":4543},"      colors",[4160,37880,4690],{"class":4539},[4160,37882,37883,37886,37888],{"class":4162,"line":9088},[4160,37884,37885],{"class":4543},"      spacing:",[4160,37887,36825],{"class":4543},[4160,37889,4690],{"class":4539},[4160,37891,37892,37895],{"class":4162,"line":9117},[4160,37893,37894],{"class":4543},"      radius",[4160,37896,4690],{"class":4539},[4160,37898,37899,37902],{"class":4162,"line":9146},[4160,37900,37901],{"class":4543},"      fontSize",[4160,37903,4690],{"class":4539},[4160,37905,37906],{"class":4162,"line":9154},[4160,37907,19765],{"class":4539},[4160,37909,37910,37912,37914,37916,37918,37920,37922,37924,37926],{"class":4162,"line":9165},[4160,37911,14879],{"class":4539},[4160,37913,13153],{"class":4543},[4160,37915,4055],{"class":4539},[4160,37917,14743],{"class":4543},[4160,37919,4055],{"class":4539},[4160,37921,14748],{"class":4543},[4160,37923,4055],{"class":4539},[4160,37925,4608],{"class":4543},[4160,37927,14885],{"class":4539},[4160,37929,37930],{"class":4162,"line":9175},[4160,37931,4895],{"class":4539},[4160,37933,37934],{"class":4162,"line":9185},[4160,37935,4185],{"emptyLinePlaceholder":4184},[4160,37937,37938,37940],{"class":4162,"line":9195},[4160,37939,4625],{"class":4535},[4160,37941,4628],{"class":4539},[4160,37943,37944,37946,37949,37951,37953,37955,37957,37959,37961,37963,37965,37967,37969,37971],{"class":4162,"line":9206},[4160,37945,4634],{"class":4633},[4160,37947,37948],{"class":4637},"ThemeContext.Provider",[4160,37950,24987],{"class":4643},[4160,37952,4647],{"class":4539},[4160,37954,4650],{"class":4589},[4160,37956,25067],{"class":4543},[4160,37958,4803],{"class":4589},[4160,37960,8361],{"class":4633},[4160,37962,4650],{"class":4589},[4160,37964,24771],{"class":4543},[4160,37966,4803],{"class":4589},[4160,37968,8367],{"class":4633},[4160,37970,37948],{"class":4637},[4160,37972,4890],{"class":4633},[4160,37974,37975],{"class":4162,"line":9211},[4160,37976,4895],{"class":4539},[4160,37978,37979],{"class":4162,"line":9239},[4160,37980,4251],{"class":4539},[4160,37982,37983],{"class":4162,"line":9266},[4160,37984,4185],{"emptyLinePlaceholder":4184},[4160,37986,37987,37989,37991,37994,37996,37998],{"class":4162,"line":9274},[4160,37988,4583],{"class":4535},[4160,37990,4590],{"class":4589},[4160,37992,37993],{"class":4593}," useTheme",[4160,37995,6672],{"class":4539},[4160,37997,37477],{"class":4637},[4160,37999,5517],{"class":4539},[4160,38001,38002,38004,38006,38008,38010,38012,38015],{"class":4162,"line":9283},[4160,38003,4602],{"class":4589},[4160,38005,25117],{"class":4607},[4160,38007,5385],{"class":4539},[4160,38009,25122],{"class":4593},[4160,38011,5411],{"class":4539},[4160,38013,38014],{"class":4543},"ThemeContext",[4160,38016,5417],{"class":4539},[4160,38018,38019,38021,38023,38025],{"class":4162,"line":9293},[4160,38020,5906],{"class":4535},[4160,38022,5909],{"class":4539},[4160,38024,25138],{"class":4543},[4160,38026,5915],{"class":4539},[4160,38028,38029,38031,38033,38035,38037,38040],{"class":4162,"line":9303},[4160,38030,25145],{"class":4535},[4160,38032,25148],{"class":4589},[4160,38034,25151],{"class":4593},[4160,38036,5411],{"class":4539},[4160,38038,38039],{"class":4552},"'useTheme() потрібно викликати всередині \u003CThemeProvider>.'",[4160,38041,5417],{"class":4539},[4160,38043,38044],{"class":4162,"line":9308},[4160,38045,4239],{"class":4539},[4160,38047,38048,38050,38052],{"class":4162,"line":9316},[4160,38049,4625],{"class":4535},[4160,38051,25117],{"class":4543},[4160,38053,4556],{"class":4539},[4160,38055,38056],{"class":4162,"line":9325},[4160,38057,4251],{"class":4539},[4003,38059,38062],{"className":6359,"code":38060,"filename":38061,"language":6361,"meta":4011,"style":4011},"export { lightColors, darkColors, colorsForScheme } from '.\u002Fcolors';\nexport type { ColorTokens, ColorSchemeName } from '.\u002Fcolors';\nexport { tokens, space, radius, fontSize } from '.\u002Ftokens';\nexport type { Tokens } from '.\u002Ftokens';\nexport { ThemeProvider, useTheme } from '.\u002FThemeProvider';\nexport type { ThemePreference } from '.\u002FThemeProvider';\n","src\u002Fshared\u002Ftheme\u002Findex.ts",[3747,38063,38064,38089,38111,38140,38159,38180],{"__ignoreMap":4011},[4160,38065,38066,38068,38070,38072,38074,38076,38078,38081,38083,38085,38087],{"class":4162,"line":4163},[4160,38067,4583],{"class":4535},[4160,38069,4540],{"class":4539},[4160,38071,36776],{"class":4543},[4160,38073,4055],{"class":4539},[4160,38075,36770],{"class":4543},[4160,38077,4055],{"class":4539},[4160,38079,38080],{"class":4543},"colorsForScheme",[4160,38082,4546],{"class":4539},[4160,38084,4549],{"class":4535},[4160,38086,37287],{"class":4552},[4160,38088,4556],{"class":4539},[4160,38090,38091,38093,38095,38097,38099,38101,38103,38105,38107,38109],{"class":4162,"line":4169},[4160,38092,4583],{"class":4535},[4160,38094,6370],{"class":4535},[4160,38096,4540],{"class":4539},[4160,38098,36751],{"class":4543},[4160,38100,4055],{"class":4539},[4160,38102,36746],{"class":4543},[4160,38104,4546],{"class":4539},[4160,38106,4549],{"class":4535},[4160,38108,37287],{"class":4552},[4160,38110,4556],{"class":4539},[4160,38112,38113,38115,38117,38120,38122,38124,38126,38128,38130,38132,38134,38136,38138],{"class":4162,"line":4175},[4160,38114,4583],{"class":4535},[4160,38116,4540],{"class":4539},[4160,38118,38119],{"class":4543},"tokens",[4160,38121,4055],{"class":4539},[4160,38123,37307],{"class":4543},[4160,38125,4055],{"class":4539},[4160,38127,17861],{"class":4543},[4160,38129,4055],{"class":4539},[4160,38131,37298],{"class":4543},[4160,38133,4546],{"class":4539},[4160,38135,4549],{"class":4535},[4160,38137,37314],{"class":4552},[4160,38139,4556],{"class":4539},[4160,38141,38142,38144,38146,38148,38151,38153,38155,38157],{"class":4162,"line":4181},[4160,38143,4583],{"class":4535},[4160,38145,6370],{"class":4535},[4160,38147,4540],{"class":4539},[4160,38149,38150],{"class":4543},"Tokens",[4160,38152,4546],{"class":4539},[4160,38154,4549],{"class":4535},[4160,38156,37314],{"class":4552},[4160,38158,4556],{"class":4539},[4160,38160,38161,38163,38165,38167,38169,38171,38173,38175,38178],{"class":4162,"line":4188},[4160,38162,4583],{"class":4535},[4160,38164,4540],{"class":4539},[4160,38166,13054],{"class":4543},[4160,38168,4055],{"class":4539},[4160,38170,4565],{"class":4543},[4160,38172,4546],{"class":4539},[4160,38174,4549],{"class":4535},[4160,38176,38177],{"class":4552}," '.\u002FThemeProvider'",[4160,38179,4556],{"class":4539},[4160,38181,38182,38184,38186,38188,38190,38192,38194,38196],{"class":4162,"line":4194},[4160,38183,4583],{"class":4535},[4160,38185,6370],{"class":4535},[4160,38187,4540],{"class":4539},[4160,38189,14605],{"class":4543},[4160,38191,4546],{"class":4539},[4160,38193,4549],{"class":4535},[4160,38195,38177],{"class":4552},[4160,38197,4556],{"class":4539},[4003,38199,38202],{"className":4526,"code":38200,"filename":38201,"language":4528,"meta":4011,"style":4011},"import { ReactNode } from 'react';\nimport { StyleSheet, Text, TextProps, TextStyle } from 'react-native';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\n\ntype AppTextVariant = 'body' | 'title' | 'subtitle' | 'caption';\n\ntype AppTextProps = TextProps & {\n  children: ReactNode;\n  variant?: AppTextVariant;\n  \u002F** Якщо не передано — body\u002Ftitle\u002Fsubtitle → text, caption → textSecondary. *\u002F\n  color?: string;\n  style?: TextStyle | TextStyle[];\n};\n\nexport function AppText({\n  children,\n  variant = 'body',\n  color,\n  style,\n  ...rest\n}: AppTextProps) {\n  const { colors, fontSize } = useTheme();\n  const resolvedColor =\n    color ??\n    (variant === 'caption' ? colors.textSecondary : colors.text);\n\n  return (\n    \u003CText\n      style={[\n        styles.base,\n        variant === 'body' && { fontSize: fontSize.md, lineHeight: 24 },\n        variant === 'title' && {\n          fontSize: fontSize.xl,\n          fontWeight: '700',\n          lineHeight: 34,\n        },\n        variant === 'subtitle' && {\n          fontSize: fontSize.lg,\n          fontWeight: '600',\n          lineHeight: 28,\n        },\n        variant === 'caption' && {\n          fontSize: fontSize.sm,\n          lineHeight: 20,\n        },\n        { color: resolvedColor },\n        style,\n      ]}\n      {...rest}\n    >\n      {children}\n    \u003C\u002FText>\n  );\n}\n\nconst styles = StyleSheet.create({\n  base: {},\n});\n","src\u002Fshared\u002Fui\u002FAppText.tsx",[3747,38203,38204,38220,38250,38254,38270,38274,38303,38307,38321,38331,38343,38348,38359,38374,38378,38382,38393,38399,38409,38415,38421,38429,38438,38456,38465,38473,38502,38506,38512,38519,38529,38539,38568,38581,38593,38601,38611,38615,38628,38640,38648,38656,38660,38673,38685,38693,38697,38707,38713,38719,38731,38735,38743,38751,38755,38759,38763,38779,38786],{"__ignoreMap":4011},[4160,38205,38206,38208,38210,38212,38214,38216,38218],{"class":4162,"line":4163},[4160,38207,4536],{"class":4535},[4160,38209,4540],{"class":4539},[4160,38211,24747],{"class":4543},[4160,38213,4546],{"class":4539},[4160,38215,4549],{"class":4535},[4160,38217,5307],{"class":4552},[4160,38219,4556],{"class":4539},[4160,38221,38222,38224,38226,38228,38230,38232,38234,38237,38239,38242,38244,38246,38248],{"class":4162,"line":4169},[4160,38223,4536],{"class":4535},[4160,38225,4540],{"class":4539},[4160,38227,8962],{"class":4543},[4160,38229,4055],{"class":4539},[4160,38231,8344],{"class":4543},[4160,38233,4055],{"class":4539},[4160,38235,38236],{"class":4543},"TextProps",[4160,38238,4055],{"class":4539},[4160,38240,38241],{"class":4543},"TextStyle",[4160,38243,4546],{"class":4539},[4160,38245,4549],{"class":4535},[4160,38247,5324],{"class":4552},[4160,38249,4556],{"class":4539},[4160,38251,38252],{"class":4162,"line":4175},[4160,38253,4185],{"emptyLinePlaceholder":4184},[4160,38255,38256,38258,38260,38262,38264,38266,38268],{"class":4162,"line":4181},[4160,38257,4536],{"class":4535},[4160,38259,4540],{"class":4539},[4160,38261,4565],{"class":4543},[4160,38263,4546],{"class":4539},[4160,38265,4549],{"class":4535},[4160,38267,4572],{"class":4552},[4160,38269,4556],{"class":4539},[4160,38271,38272],{"class":4162,"line":4188},[4160,38273,4185],{"emptyLinePlaceholder":4184},[4160,38275,38276,38278,38281,38283,38286,38288,38291,38293,38296,38298,38301],{"class":4162,"line":4194},[4160,38277,6433],{"class":4589},[4160,38279,38280],{"class":4637}," AppTextVariant",[4160,38282,5385],{"class":4539},[4160,38284,38285],{"class":4552},"'body'",[4160,38287,6761],{"class":4539},[4160,38289,38290],{"class":4552},"'title'",[4160,38292,6761],{"class":4539},[4160,38294,38295],{"class":4552},"'subtitle'",[4160,38297,6761],{"class":4539},[4160,38299,38300],{"class":4552},"'caption'",[4160,38302,4556],{"class":4539},[4160,38304,38305],{"class":4162,"line":4200},[4160,38306,4185],{"emptyLinePlaceholder":4184},[4160,38308,38309,38311,38314,38316,38318],{"class":4162,"line":4206},[4160,38310,6433],{"class":4589},[4160,38312,38313],{"class":4637}," AppTextProps",[4160,38315,5385],{"class":4539},[4160,38317,38236],{"class":4637},[4160,38319,38320],{"class":4539}," & {\n",[4160,38322,38323,38325,38327,38329],{"class":4162,"line":4212},[4160,38324,24742],{"class":4543},[4160,38326,5814],{"class":4539},[4160,38328,24747],{"class":4637},[4160,38330,4556],{"class":4539},[4160,38332,38333,38336,38338,38341],{"class":4162,"line":4218},[4160,38334,38335],{"class":4543},"  variant",[4160,38337,23108],{"class":4539},[4160,38339,38340],{"class":4637},"AppTextVariant",[4160,38342,4556],{"class":4539},[4160,38344,38345],{"class":4162,"line":4224},[4160,38346,38347],{"class":4763},"  \u002F** Якщо не передано — body\u002Ftitle\u002Fsubtitle → text, caption → textSecondary. *\u002F\n",[4160,38349,38350,38353,38355,38357],{"class":4162,"line":4230},[4160,38351,38352],{"class":4543},"  color",[4160,38354,23108],{"class":4539},[4160,38356,5817],{"class":4637},[4160,38358,4556],{"class":4539},[4160,38360,38361,38364,38366,38368,38370,38372],{"class":4162,"line":4236},[4160,38362,38363],{"class":4543},"  style",[4160,38365,23108],{"class":4539},[4160,38367,38241],{"class":4637},[4160,38369,6761],{"class":4539},[4160,38371,38241],{"class":4637},[4160,38373,24611],{"class":4539},[4160,38375,38376],{"class":4162,"line":4242},[4160,38377,5171],{"class":4539},[4160,38379,38380],{"class":4162,"line":4248},[4160,38381,4185],{"emptyLinePlaceholder":4184},[4160,38383,38384,38386,38388,38391],{"class":4162,"line":4254},[4160,38385,4583],{"class":4535},[4160,38387,4590],{"class":4589},[4160,38389,38390],{"class":4593}," AppText",[4160,38392,8970],{"class":4539},[4160,38394,38395,38397],{"class":4162,"line":4259},[4160,38396,24742],{"class":4543},[4160,38398,4690],{"class":4539},[4160,38400,38401,38403,38405,38407],{"class":4162,"line":4265},[4160,38402,38335],{"class":4543},[4160,38404,5385],{"class":4539},[4160,38406,38285],{"class":4552},[4160,38408,4690],{"class":4539},[4160,38410,38411,38413],{"class":4162,"line":4271},[4160,38412,38352],{"class":4543},[4160,38414,4690],{"class":4539},[4160,38416,38417,38419],{"class":4162,"line":4276},[4160,38418,38363],{"class":4543},[4160,38420,4690],{"class":4539},[4160,38422,38423,38426],{"class":4162,"line":4282},[4160,38424,38425],{"class":4539},"  ...",[4160,38427,38428],{"class":4543},"rest\n",[4160,38430,38431,38433,38436],{"class":4162,"line":4288},[4160,38432,27257],{"class":4539},[4160,38434,38435],{"class":4637},"AppTextProps",[4160,38437,5915],{"class":4539},[4160,38439,38440,38442,38444,38446,38448,38450,38452,38454],{"class":4162,"line":4294},[4160,38441,4602],{"class":4589},[4160,38443,4540],{"class":4539},[4160,38445,4608],{"class":4607},[4160,38447,4055],{"class":4539},[4160,38449,37298],{"class":4607},[4160,38451,4611],{"class":4539},[4160,38453,4565],{"class":4593},[4160,38455,4616],{"class":4539},[4160,38457,38458,38460,38463],{"class":4162,"line":4300},[4160,38459,4602],{"class":4589},[4160,38461,38462],{"class":4607}," resolvedColor",[4160,38464,10458],{"class":4539},[4160,38466,38467,38470],{"class":4162,"line":4305},[4160,38468,38469],{"class":4543},"    color",[4160,38471,38472],{"class":4539}," ??\n",[4160,38474,38475,38477,38480,38482,38484,38486,38488,38490,38492,38494,38496,38498,38500],{"class":4162,"line":4311},[4160,38476,14829],{"class":4539},[4160,38478,38479],{"class":4543},"variant",[4160,38481,6796],{"class":4539},[4160,38483,38300],{"class":4552},[4160,38485,5883],{"class":4539},[4160,38487,4608],{"class":4543},[4160,38489,3840],{"class":4539},[4160,38491,13656],{"class":4543},[4160,38493,37589],{"class":4539},[4160,38495,4608],{"class":4543},[4160,38497,3840],{"class":4539},[4160,38499,4008],{"class":4543},[4160,38501,5417],{"class":4539},[4160,38503,38504],{"class":4162,"line":4317},[4160,38505,4185],{"emptyLinePlaceholder":4184},[4160,38507,38508,38510],{"class":4162,"line":4323},[4160,38509,4625],{"class":4535},[4160,38511,4628],{"class":4539},[4160,38513,38514,38516],{"class":4162,"line":4328},[4160,38515,4634],{"class":4633},[4160,38517,38518],{"class":4637},"Text\n",[4160,38520,38521,38523,38525,38527],{"class":4162,"line":4333},[4160,38522,10790],{"class":4643},[4160,38524,4647],{"class":4539},[4160,38526,4650],{"class":4589},[4160,38528,15595],{"class":4653},[4160,38530,38531,38533,38535,38537],{"class":4162,"line":5663},[4160,38532,15600],{"class":4543},[4160,38534,3840],{"class":4653},[4160,38536,27134],{"class":4543},[4160,38538,4690],{"class":4653},[4160,38540,38541,38543,38545,38548,38550,38552,38554,38556,38558,38560,38562,38564,38566],{"class":4162,"line":5676},[4160,38542,15722],{"class":4543},[4160,38544,10823],{"class":4539},[4160,38546,38547],{"class":4552}," 'body'",[4160,38549,32168],{"class":4539},[4160,38551,4540],{"class":4653},[4160,38553,7539],{"class":4543},[4160,38555,36943],{"class":4543},[4160,38557,3840],{"class":4653},[4160,38559,15215],{"class":4543},[4160,38561,4055],{"class":4653},[4160,38563,11932],{"class":4543},[4160,38565,9070],{"class":5485},[4160,38567,4675],{"class":4653},[4160,38569,38570,38572,38574,38577,38579],{"class":4162,"line":6728},[4160,38571,15722],{"class":4543},[4160,38573,10823],{"class":4539},[4160,38575,38576],{"class":4552}," 'title'",[4160,38578,32168],{"class":4539},[4160,38580,5517],{"class":4653},[4160,38582,38583,38585,38587,38589,38591],{"class":4162,"line":6733},[4160,38584,13704],{"class":4543},[4160,38586,36943],{"class":4543},[4160,38588,3840],{"class":4653},[4160,38590,15636],{"class":4543},[4160,38592,4690],{"class":4653},[4160,38594,38595,38597,38599],{"class":4162,"line":6738},[4160,38596,13713],{"class":4543},[4160,38598,9228],{"class":4552},[4160,38600,4690],{"class":4653},[4160,38602,38603,38606,38609],{"class":4162,"line":6768},[4160,38604,38605],{"class":4543},"          lineHeight:",[4160,38607,38608],{"class":5485}," 34",[4160,38610,4690],{"class":4653},[4160,38612,38613],{"class":4162,"line":6803},[4160,38614,5641],{"class":4653},[4160,38616,38617,38619,38621,38624,38626],{"class":4162,"line":6808},[4160,38618,15722],{"class":4543},[4160,38620,10823],{"class":4539},[4160,38622,38623],{"class":4552}," 'subtitle'",[4160,38625,32168],{"class":4539},[4160,38627,5517],{"class":4653},[4160,38629,38630,38632,38634,38636,38638],{"class":4162,"line":6813},[4160,38631,13704],{"class":4543},[4160,38633,36943],{"class":4543},[4160,38635,3840],{"class":4653},[4160,38637,18006],{"class":4543},[4160,38639,4690],{"class":4653},[4160,38641,38642,38644,38646],{"class":4162,"line":6847},[4160,38643,13713],{"class":4543},[4160,38645,4714],{"class":4552},[4160,38647,4690],{"class":4653},[4160,38649,38650,38652,38654],{"class":4162,"line":6861},[4160,38651,38605],{"class":4543},[4160,38653,36976],{"class":5485},[4160,38655,4690],{"class":4653},[4160,38657,38658],{"class":4162,"line":6881},[4160,38659,5641],{"class":4653},[4160,38661,38662,38664,38666,38669,38671],{"class":4162,"line":6901},[4160,38663,15722],{"class":4543},[4160,38665,10823],{"class":4539},[4160,38667,38668],{"class":4552}," 'caption'",[4160,38670,32168],{"class":4539},[4160,38672,5517],{"class":4653},[4160,38674,38675,38677,38679,38681,38683],{"class":4162,"line":6916},[4160,38676,13704],{"class":4543},[4160,38678,36943],{"class":4543},[4160,38680,3840],{"class":4653},[4160,38682,15274],{"class":4543},[4160,38684,4690],{"class":4653},[4160,38686,38687,38689,38691],{"class":4162,"line":6929},[4160,38688,38605],{"class":4543},[4160,38690,11482],{"class":5485},[4160,38692,4690],{"class":4653},[4160,38694,38695],{"class":4162,"line":6935},[4160,38696,5641],{"class":4653},[4160,38698,38699,38701,38703,38705],{"class":4162,"line":6953},[4160,38700,5559],{"class":4653},[4160,38702,4700],{"class":4543},[4160,38704,38462],{"class":4543},[4160,38706,4675],{"class":4653},[4160,38708,38709,38711],{"class":4162,"line":6961},[4160,38710,15749],{"class":4543},[4160,38712,4690],{"class":4653},[4160,38714,38715,38717],{"class":4162,"line":6970},[4160,38716,15660],{"class":4653},[4160,38718,4251],{"class":4589},[4160,38720,38721,38723,38726,38729],{"class":4162,"line":6975},[4160,38722,4760],{"class":4589},[4160,38724,38725],{"class":4539},"...",[4160,38727,38728],{"class":4543},"rest",[4160,38730,4251],{"class":4589},[4160,38732,38733],{"class":4162,"line":6980},[4160,38734,4755],{"class":4633},[4160,38736,38737,38739,38741],{"class":4162,"line":7008},[4160,38738,4760],{"class":4589},[4160,38740,24771],{"class":4543},[4160,38742,4251],{"class":4589},[4160,38744,38745,38747,38749],{"class":4162,"line":7024},[4160,38746,4885],{"class":4633},[4160,38748,8344],{"class":4637},[4160,38750,4890],{"class":4633},[4160,38752,38753],{"class":4162,"line":7035},[4160,38754,4895],{"class":4539},[4160,38756,38757],{"class":4162,"line":7052},[4160,38758,4251],{"class":4539},[4160,38760,38761],{"class":4162,"line":7057},[4160,38762,4185],{"emptyLinePlaceholder":4184},[4160,38764,38765,38767,38769,38771,38773,38775,38777],{"class":4162,"line":8928},[4160,38766,6592],{"class":4589},[4160,38768,8957],{"class":4607},[4160,38770,5385],{"class":4539},[4160,38772,8962],{"class":4543},[4160,38774,3840],{"class":4539},[4160,38776,8967],{"class":4593},[4160,38778,8970],{"class":4539},[4160,38780,38781,38784],{"class":4162,"line":8937},[4160,38782,38783],{"class":4543},"  base:",[4160,38785,19760],{"class":4539},[4160,38787,38788],{"class":4162,"line":8942},[4160,38789,9383],{"class":4539},[4003,38791,38794],{"className":4526,"code":38792,"filename":38793,"language":4528,"meta":4011,"style":4011},"import { Pressable, StyleSheet, Text, ViewStyle } from 'react-native';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\n\ntype ButtonVariant = 'primary' | 'secondary';\n\ntype ButtonProps = {\n  label: string;\n  onPress: () => void;\n  disabled?: boolean;\n  style?: ViewStyle;\n  variant?: ButtonVariant;\n};\n\nexport function Button({\n  label,\n  onPress,\n  disabled = false,\n  style,\n  variant = 'primary',\n}: ButtonProps) {\n  const { colors, spacing, radius, fontSize } = useTheme();\n  const isPrimary = variant === 'primary';\n\n  return (\n    \u003CPressable\n      accessibilityRole=\"button\"\n      disabled={disabled}\n      onPress={onPress}\n      style={({ pressed }) => [\n        styles.base,\n        {\n          paddingVertical: spacing.sm + 4,\n          paddingHorizontal: spacing.md,\n          borderRadius: radius.md,\n          backgroundColor: isPrimary ? colors.primary : colors.surface,\n          borderWidth: isPrimary ? 0 : 1,\n          borderColor: colors.border,\n        },\n        pressed && !disabled\n          ? isPrimary\n            ? { backgroundColor: colors.primaryPressed }\n            : { opacity: 0.85 }\n          : null,\n        disabled ? styles.disabled : null,\n        style,\n      ]}\n    >\n      \u003CText\n        style={[\n          styles.label,\n          {\n            color: isPrimary ? colors.onPrimary : colors.text,\n            fontSize: fontSize.md,\n          },\n        ]}\n      >\n        {label}\n      \u003C\u002FText>\n    \u003C\u002FPressable>\n  );\n}\n\nconst styles = StyleSheet.create({\n  base: {\n    alignItems: 'center',\n  },\n  disabled: {\n    opacity: 0.5,\n  },\n  label: {\n    fontWeight: '600',\n  },\n});\n","src\u002Fshared\u002Fui\u002FButton.tsx",[3747,38795,38796,38825,38829,38845,38849,38868,38872,38881,38891,38903,38914,38924,38935,38939,38943,38954,38960,38966,38976,38982,38992,39001,39027,39044,39048,39054,39060,39068,39082,39094,39112,39122,39126,39142,39154,39166,39190,39207,39219,39223,39235,39243,39261,39275,39285,39304,39310,39316,39320,39326,39336,39346,39350,39374,39387,39391,39397,39401,39409,39417,39425,39429,39433,39437,39453,39459,39467,39471,39478,39487,39491,39497,39505,39509],{"__ignoreMap":4011},[4160,38797,38798,38800,38802,38804,38806,38808,38810,38812,38814,38817,38819,38821,38823],{"class":4162,"line":4163},[4160,38799,4536],{"class":4535},[4160,38801,4540],{"class":4539},[4160,38803,8644],{"class":4543},[4160,38805,4055],{"class":4539},[4160,38807,8962],{"class":4543},[4160,38809,4055],{"class":4539},[4160,38811,8344],{"class":4543},[4160,38813,4055],{"class":4539},[4160,38815,38816],{"class":4543},"ViewStyle",[4160,38818,4546],{"class":4539},[4160,38820,4549],{"class":4535},[4160,38822,5324],{"class":4552},[4160,38824,4556],{"class":4539},[4160,38826,38827],{"class":4162,"line":4169},[4160,38828,4185],{"emptyLinePlaceholder":4184},[4160,38830,38831,38833,38835,38837,38839,38841,38843],{"class":4162,"line":4175},[4160,38832,4536],{"class":4535},[4160,38834,4540],{"class":4539},[4160,38836,4565],{"class":4543},[4160,38838,4546],{"class":4539},[4160,38840,4549],{"class":4535},[4160,38842,4572],{"class":4552},[4160,38844,4556],{"class":4539},[4160,38846,38847],{"class":4162,"line":4181},[4160,38848,4185],{"emptyLinePlaceholder":4184},[4160,38850,38851,38853,38856,38858,38861,38863,38866],{"class":4162,"line":4188},[4160,38852,6433],{"class":4589},[4160,38854,38855],{"class":4637}," ButtonVariant",[4160,38857,5385],{"class":4539},[4160,38859,38860],{"class":4552},"'primary'",[4160,38862,6761],{"class":4539},[4160,38864,38865],{"class":4552},"'secondary'",[4160,38867,4556],{"class":4539},[4160,38869,38870],{"class":4162,"line":4194},[4160,38871,4185],{"emptyLinePlaceholder":4184},[4160,38873,38874,38876,38879],{"class":4162,"line":4200},[4160,38875,6433],{"class":4589},[4160,38877,38878],{"class":4637}," ButtonProps",[4160,38880,5156],{"class":4539},[4160,38882,38883,38885,38887,38889],{"class":4162,"line":4206},[4160,38884,31208],{"class":4543},[4160,38886,5814],{"class":4539},[4160,38888,5817],{"class":4637},[4160,38890,4556],{"class":4539},[4160,38892,38893,38895,38897,38899,38901],{"class":4162,"line":4212},[4160,38894,34222],{"class":4593},[4160,38896,24681],{"class":4539},[4160,38898,5514],{"class":4589},[4160,38900,6444],{"class":4637},[4160,38902,4556],{"class":4539},[4160,38904,38905,38908,38910,38912],{"class":4162,"line":4218},[4160,38906,38907],{"class":4543},"  disabled",[4160,38909,23108],{"class":4539},[4160,38911,23111],{"class":4637},[4160,38913,4556],{"class":4539},[4160,38915,38916,38918,38920,38922],{"class":4162,"line":4224},[4160,38917,38363],{"class":4543},[4160,38919,23108],{"class":4539},[4160,38921,38816],{"class":4637},[4160,38923,4556],{"class":4539},[4160,38925,38926,38928,38930,38933],{"class":4162,"line":4230},[4160,38927,38335],{"class":4543},[4160,38929,23108],{"class":4539},[4160,38931,38932],{"class":4637},"ButtonVariant",[4160,38934,4556],{"class":4539},[4160,38936,38937],{"class":4162,"line":4236},[4160,38938,5171],{"class":4539},[4160,38940,38941],{"class":4162,"line":4242},[4160,38942,4185],{"emptyLinePlaceholder":4184},[4160,38944,38945,38947,38949,38952],{"class":4162,"line":4248},[4160,38946,4583],{"class":4535},[4160,38948,4590],{"class":4589},[4160,38950,38951],{"class":4593}," Button",[4160,38953,8970],{"class":4539},[4160,38955,38956,38958],{"class":4162,"line":4254},[4160,38957,31208],{"class":4543},[4160,38959,4690],{"class":4539},[4160,38961,38962,38964],{"class":4162,"line":4259},[4160,38963,34222],{"class":4543},[4160,38965,4690],{"class":4539},[4160,38967,38968,38970,38972,38974],{"class":4162,"line":4265},[4160,38969,38907],{"class":4543},[4160,38971,5385],{"class":4539},[4160,38973,5440],{"class":4589},[4160,38975,4690],{"class":4539},[4160,38977,38978,38980],{"class":4162,"line":4271},[4160,38979,38363],{"class":4543},[4160,38981,4690],{"class":4539},[4160,38983,38984,38986,38988,38990],{"class":4162,"line":4276},[4160,38985,38335],{"class":4543},[4160,38987,5385],{"class":4539},[4160,38989,38860],{"class":4552},[4160,38991,4690],{"class":4539},[4160,38993,38994,38996,38999],{"class":4162,"line":4282},[4160,38995,27257],{"class":4539},[4160,38997,38998],{"class":4637},"ButtonProps",[4160,39000,5915],{"class":4539},[4160,39002,39003,39005,39007,39009,39011,39013,39015,39017,39019,39021,39023,39025],{"class":4162,"line":4288},[4160,39004,4602],{"class":4589},[4160,39006,4540],{"class":4539},[4160,39008,4608],{"class":4607},[4160,39010,4055],{"class":4539},[4160,39012,14738],{"class":4607},[4160,39014,4055],{"class":4539},[4160,39016,17861],{"class":4607},[4160,39018,4055],{"class":4539},[4160,39020,37298],{"class":4607},[4160,39022,4611],{"class":4539},[4160,39024,4565],{"class":4593},[4160,39026,4616],{"class":4539},[4160,39028,39029,39031,39034,39036,39038,39040,39042],{"class":4162,"line":4294},[4160,39030,4602],{"class":4589},[4160,39032,39033],{"class":4607}," isPrimary",[4160,39035,5385],{"class":4539},[4160,39037,38479],{"class":4543},[4160,39039,6796],{"class":4539},[4160,39041,38860],{"class":4552},[4160,39043,4556],{"class":4539},[4160,39045,39046],{"class":4162,"line":4300},[4160,39047,4185],{"emptyLinePlaceholder":4184},[4160,39049,39050,39052],{"class":4162,"line":4305},[4160,39051,4625],{"class":4535},[4160,39053,4628],{"class":4539},[4160,39055,39056,39058],{"class":4162,"line":4311},[4160,39057,4634],{"class":4633},[4160,39059,8827],{"class":4637},[4160,39061,39062,39064,39066],{"class":4162,"line":4317},[4160,39063,34313],{"class":4643},[4160,39065,4647],{"class":4539},[4160,39067,16456],{"class":4552},[4160,39069,39070,39073,39075,39077,39080],{"class":4162,"line":4323},[4160,39071,39072],{"class":4643},"      disabled",[4160,39074,4647],{"class":4539},[4160,39076,4650],{"class":4589},[4160,39078,39079],{"class":4543},"disabled",[4160,39081,4251],{"class":4589},[4160,39083,39084,39086,39088,39090,39092],{"class":4162,"line":4328},[4160,39085,34348],{"class":4643},[4160,39087,4647],{"class":4539},[4160,39089,4650],{"class":4589},[4160,39091,34263],{"class":4543},[4160,39093,4251],{"class":4589},[4160,39095,39096,39098,39100,39102,39104,39106,39108,39110],{"class":4162,"line":4333},[4160,39097,10790],{"class":4643},[4160,39099,4647],{"class":4539},[4160,39101,4650],{"class":4589},[4160,39103,8593],{"class":4653},[4160,39105,34380],{"class":4543},[4160,39107,5511],{"class":4653},[4160,39109,5514],{"class":4589},[4160,39111,34387],{"class":4653},[4160,39113,39114,39116,39118,39120],{"class":4162,"line":5663},[4160,39115,15600],{"class":4543},[4160,39117,3840],{"class":4653},[4160,39119,27134],{"class":4543},[4160,39121,4690],{"class":4653},[4160,39123,39124],{"class":4162,"line":5676},[4160,39125,5580],{"class":4653},[4160,39127,39128,39130,39132,39134,39136,39138,39140],{"class":4162,"line":6728},[4160,39129,15629],{"class":4543},[4160,39131,15210],{"class":4543},[4160,39133,3840],{"class":4653},[4160,39135,15274],{"class":4543},[4160,39137,22089],{"class":4539},[4160,39139,9099],{"class":5485},[4160,39141,4690],{"class":4653},[4160,39143,39144,39146,39148,39150,39152],{"class":4162,"line":6733},[4160,39145,15616],{"class":4543},[4160,39147,15210],{"class":4543},[4160,39149,3840],{"class":4653},[4160,39151,15215],{"class":4543},[4160,39153,4690],{"class":4653},[4160,39155,39156,39158,39160,39162,39164],{"class":4162,"line":6738},[4160,39157,19302],{"class":4543},[4160,39159,19305],{"class":4543},[4160,39161,3840],{"class":4653},[4160,39163,15215],{"class":4543},[4160,39165,4690],{"class":4653},[4160,39167,39168,39170,39172,39174,39176,39178,39180,39182,39184,39186,39188],{"class":4162,"line":6768},[4160,39169,7511],{"class":4543},[4160,39171,39033],{"class":4543},[4160,39173,10829],{"class":4539},[4160,39175,4667],{"class":4543},[4160,39177,3840],{"class":4653},[4160,39179,4687],{"class":4543},[4160,39181,10835],{"class":4539},[4160,39183,4667],{"class":4543},[4160,39185,3840],{"class":4653},[4160,39187,16415],{"class":4543},[4160,39189,4690],{"class":4653},[4160,39191,39192,39195,39197,39199,39201,39203,39205],{"class":4162,"line":6803},[4160,39193,39194],{"class":4543},"          borderWidth:",[4160,39196,39033],{"class":4543},[4160,39198,10829],{"class":4539},[4160,39200,15247],{"class":5485},[4160,39202,10835],{"class":4539},[4160,39204,8984],{"class":5485},[4160,39206,4690],{"class":4653},[4160,39208,39209,39211,39213,39215,39217],{"class":4162,"line":6808},[4160,39210,19289],{"class":4543},[4160,39212,4667],{"class":4543},[4160,39214,3840],{"class":4653},[4160,39216,13687],{"class":4543},[4160,39218,4690],{"class":4653},[4160,39220,39221],{"class":4162,"line":6813},[4160,39222,5641],{"class":4653},[4160,39224,39225,39227,39229,39232],{"class":4162,"line":6847},[4160,39226,34446],{"class":4543},[4160,39228,32168],{"class":4539},[4160,39230,39231],{"class":4539}," !",[4160,39233,39234],{"class":4543},"disabled\n",[4160,39236,39237,39240],{"class":4162,"line":6861},[4160,39238,39239],{"class":4539},"          ?",[4160,39241,39242],{"class":4543}," isPrimary\n",[4160,39244,39245,39247,39249,39251,39253,39255,39258],{"class":4162,"line":6881},[4160,39246,16144],{"class":4539},[4160,39248,4540],{"class":4653},[4160,39250,4664],{"class":4543},[4160,39252,4667],{"class":4543},[4160,39254,3840],{"class":4653},[4160,39256,39257],{"class":4543},"primaryPressed",[4160,39259,39260],{"class":4653}," }\n",[4160,39262,39263,39265,39267,39270,39273],{"class":4162,"line":6901},[4160,39264,16179],{"class":4539},[4160,39266,4540],{"class":4653},[4160,39268,39269],{"class":4543},"opacity:",[4160,39271,39272],{"class":5485}," 0.85",[4160,39274,39260],{"class":4653},[4160,39276,39277,39280,39283],{"class":4162,"line":6916},[4160,39278,39279],{"class":4539},"          :",[4160,39281,39282],{"class":4589}," null",[4160,39284,4690],{"class":4653},[4160,39286,39287,39290,39292,39294,39296,39298,39300,39302],{"class":4162,"line":6929},[4160,39288,39289],{"class":4543},"        disabled",[4160,39291,10829],{"class":4539},[4160,39293,8957],{"class":4543},[4160,39295,3840],{"class":4653},[4160,39297,39079],{"class":4543},[4160,39299,10835],{"class":4539},[4160,39301,39282],{"class":4589},[4160,39303,4690],{"class":4653},[4160,39305,39306,39308],{"class":4162,"line":6935},[4160,39307,15749],{"class":4543},[4160,39309,4690],{"class":4653},[4160,39311,39312,39314],{"class":4162,"line":6953},[4160,39313,15660],{"class":4653},[4160,39315,4251],{"class":4589},[4160,39317,39318],{"class":4162,"line":6961},[4160,39319,4755],{"class":4633},[4160,39321,39322,39324],{"class":4162,"line":6970},[4160,39323,4771],{"class":4633},[4160,39325,38518],{"class":4637},[4160,39327,39328,39330,39332,39334],{"class":4162,"line":6975},[4160,39329,15749],{"class":4643},[4160,39331,4647],{"class":4539},[4160,39333,4650],{"class":4589},[4160,39335,15595],{"class":4653},[4160,39337,39338,39340,39342,39344],{"class":4162,"line":6980},[4160,39339,15845],{"class":4543},[4160,39341,3840],{"class":4653},[4160,39343,10924],{"class":4543},[4160,39345,4690],{"class":4653},[4160,39347,39348],{"class":4162,"line":7008},[4160,39349,15857],{"class":4653},[4160,39351,39352,39354,39356,39358,39360,39362,39364,39366,39368,39370,39372],{"class":4162,"line":7024},[4160,39353,16091],{"class":4543},[4160,39355,39033],{"class":4543},[4160,39357,10829],{"class":4539},[4160,39359,4667],{"class":4543},[4160,39361,3840],{"class":4653},[4160,39363,16550],{"class":4543},[4160,39365,10835],{"class":4539},[4160,39367,4667],{"class":4543},[4160,39369,3840],{"class":4653},[4160,39371,4008],{"class":4543},[4160,39373,4690],{"class":4653},[4160,39375,39376,39379,39381,39383,39385],{"class":4162,"line":7035},[4160,39377,39378],{"class":4543},"            fontSize:",[4160,39380,36943],{"class":4543},[4160,39382,3840],{"class":4653},[4160,39384,15215],{"class":4543},[4160,39386,4690],{"class":4653},[4160,39388,39389],{"class":4162,"line":7052},[4160,39390,15934],{"class":4653},[4160,39392,39393,39395],{"class":4162,"line":7057},[4160,39394,15940],{"class":4653},[4160,39396,4251],{"class":4589},[4160,39398,39399],{"class":4162,"line":8928},[4160,39400,7262],{"class":4633},[4160,39402,39403,39405,39407],{"class":4162,"line":8937},[4160,39404,19412],{"class":4589},[4160,39406,10924],{"class":4543},[4160,39408,4251],{"class":4589},[4160,39410,39411,39413,39415],{"class":4162,"line":8942},[4160,39412,7366],{"class":4633},[4160,39414,8344],{"class":4637},[4160,39416,4890],{"class":4633},[4160,39418,39419,39421,39423],{"class":4162,"line":8947},[4160,39420,4885],{"class":4633},[4160,39422,8644],{"class":4637},[4160,39424,4890],{"class":4633},[4160,39426,39427],{"class":4162,"line":8952},[4160,39428,4895],{"class":4539},[4160,39430,39431],{"class":4162,"line":8973},[4160,39432,4251],{"class":4539},[4160,39434,39435],{"class":4162,"line":8995},[4160,39436,4185],{"emptyLinePlaceholder":4184},[4160,39438,39439,39441,39443,39445,39447,39449,39451],{"class":4162,"line":9003},[4160,39440,6592],{"class":4589},[4160,39442,8957],{"class":4607},[4160,39444,5385],{"class":4539},[4160,39446,8962],{"class":4543},[4160,39448,3840],{"class":4539},[4160,39450,8967],{"class":4593},[4160,39452,8970],{"class":4539},[4160,39454,39455,39457],{"class":4162,"line":9014},[4160,39456,38783],{"class":4543},[4160,39458,5517],{"class":4539},[4160,39460,39461,39463,39465],{"class":4162,"line":9025},[4160,39462,9347],{"class":4543},[4160,39464,9350],{"class":4552},[4160,39466,4690],{"class":4539},[4160,39468,39469],{"class":4162,"line":9035},[4160,39470,6526],{"class":4539},[4160,39472,39473,39476],{"class":4162,"line":9045},[4160,39474,39475],{"class":4543},"  disabled:",[4160,39477,5517],{"class":4539},[4160,39479,39480,39482,39485],{"class":4162,"line":9055},[4160,39481,35483],{"class":4543},[4160,39483,39484],{"class":5485}," 0.5",[4160,39486,4690],{"class":4539},[4160,39488,39489],{"class":4162,"line":9060},[4160,39490,6526],{"class":4539},[4160,39492,39493,39495],{"class":4162,"line":9088},[4160,39494,11311],{"class":4543},[4160,39496,5517],{"class":4539},[4160,39498,39499,39501,39503],{"class":4162,"line":9117},[4160,39500,11337],{"class":4543},[4160,39502,4714],{"class":4552},[4160,39504,4690],{"class":4539},[4160,39506,39507],{"class":4162,"line":9146},[4160,39508,6526],{"class":4539},[4160,39510,39511],{"class":4162,"line":9154},[4160,39512,9383],{"class":4539},[4003,39514,39517],{"className":4526,"code":39515,"filename":39516,"language":4528,"meta":4011,"style":4011},"import { ReactNode } from 'react';\nimport { StyleSheet, ViewStyle } from 'react-native';\nimport { SafeAreaView } from 'react-native-safe-area-context';\n\nimport { space, useTheme } from '@\u002Fshared\u002Ftheme';\n\ntype ScreenProps = {\n  children: ReactNode;\n  style?: ViewStyle;\n};\n\nexport function Screen({ children, style }: ScreenProps) {\n  const { colors } = useTheme();\n\n  return (\n    \u003CSafeAreaView\n      style={[styles.root, { backgroundColor: colors.background }, style]}\n    >\n      {children}\n    \u003C\u002FSafeAreaView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  root: {\n    flex: 1,\n    paddingHorizontal: space.md,\n  },\n});\n","src\u002Fshared\u002Fui\u002FScreen.tsx",[3747,39518,39519,39535,39555,39571,39575,39595,39599,39608,39618,39628,39632,39636,39661,39675,39679,39685,39692,39728,39732,39740,39748,39752,39756,39760,39776,39783,39791,39803,39807],{"__ignoreMap":4011},[4160,39520,39521,39523,39525,39527,39529,39531,39533],{"class":4162,"line":4163},[4160,39522,4536],{"class":4535},[4160,39524,4540],{"class":4539},[4160,39526,24747],{"class":4543},[4160,39528,4546],{"class":4539},[4160,39530,4549],{"class":4535},[4160,39532,5307],{"class":4552},[4160,39534,4556],{"class":4539},[4160,39536,39537,39539,39541,39543,39545,39547,39549,39551,39553],{"class":4162,"line":4169},[4160,39538,4536],{"class":4535},[4160,39540,4540],{"class":4539},[4160,39542,8962],{"class":4543},[4160,39544,4055],{"class":4539},[4160,39546,38816],{"class":4543},[4160,39548,4546],{"class":4539},[4160,39550,4549],{"class":4535},[4160,39552,5324],{"class":4552},[4160,39554,4556],{"class":4539},[4160,39556,39557,39559,39561,39563,39565,39567,39569],{"class":4162,"line":4175},[4160,39558,4536],{"class":4535},[4160,39560,4540],{"class":4539},[4160,39562,8130],{"class":4543},[4160,39564,4546],{"class":4539},[4160,39566,4549],{"class":4535},[4160,39568,8137],{"class":4552},[4160,39570,4556],{"class":4539},[4160,39572,39573],{"class":4162,"line":4181},[4160,39574,4185],{"emptyLinePlaceholder":4184},[4160,39576,39577,39579,39581,39583,39585,39587,39589,39591,39593],{"class":4162,"line":4188},[4160,39578,4536],{"class":4535},[4160,39580,4540],{"class":4539},[4160,39582,37307],{"class":4543},[4160,39584,4055],{"class":4539},[4160,39586,4565],{"class":4543},[4160,39588,4546],{"class":4539},[4160,39590,4549],{"class":4535},[4160,39592,4572],{"class":4552},[4160,39594,4556],{"class":4539},[4160,39596,39597],{"class":4162,"line":4194},[4160,39598,4185],{"emptyLinePlaceholder":4184},[4160,39600,39601,39603,39606],{"class":4162,"line":4200},[4160,39602,6433],{"class":4589},[4160,39604,39605],{"class":4637}," ScreenProps",[4160,39607,5156],{"class":4539},[4160,39609,39610,39612,39614,39616],{"class":4162,"line":4206},[4160,39611,24742],{"class":4543},[4160,39613,5814],{"class":4539},[4160,39615,24747],{"class":4637},[4160,39617,4556],{"class":4539},[4160,39619,39620,39622,39624,39626],{"class":4162,"line":4212},[4160,39621,38363],{"class":4543},[4160,39623,23108],{"class":4539},[4160,39625,38816],{"class":4637},[4160,39627,4556],{"class":4539},[4160,39629,39630],{"class":4162,"line":4218},[4160,39631,5171],{"class":4539},[4160,39633,39634],{"class":4162,"line":4224},[4160,39635,4185],{"emptyLinePlaceholder":4184},[4160,39637,39638,39640,39642,39645,39647,39649,39651,39654,39656,39659],{"class":4162,"line":4230},[4160,39639,4583],{"class":4535},[4160,39641,4590],{"class":4589},[4160,39643,39644],{"class":4593}," Screen",[4160,39646,8593],{"class":4539},[4160,39648,24771],{"class":4543},[4160,39650,4055],{"class":4539},[4160,39652,39653],{"class":4543},"style",[4160,39655,24774],{"class":4539},[4160,39657,39658],{"class":4637},"ScreenProps",[4160,39660,5915],{"class":4539},[4160,39662,39663,39665,39667,39669,39671,39673],{"class":4162,"line":4236},[4160,39664,4602],{"class":4589},[4160,39666,4540],{"class":4539},[4160,39668,4608],{"class":4607},[4160,39670,4611],{"class":4539},[4160,39672,4565],{"class":4593},[4160,39674,4616],{"class":4539},[4160,39676,39677],{"class":4162,"line":4242},[4160,39678,4185],{"emptyLinePlaceholder":4184},[4160,39680,39681,39683],{"class":4162,"line":4248},[4160,39682,4625],{"class":4535},[4160,39684,4628],{"class":4539},[4160,39686,39687,39689],{"class":4162,"line":4254},[4160,39688,4634],{"class":4633},[4160,39690,39691],{"class":4637},"SafeAreaView\n",[4160,39693,39694,39696,39698,39700,39702,39704,39706,39709,39711,39713,39715,39717,39719,39722,39724,39726],{"class":4162,"line":4259},[4160,39695,10790],{"class":4643},[4160,39697,4647],{"class":4539},[4160,39699,4650],{"class":4589},[4160,39701,5859],{"class":4653},[4160,39703,8287],{"class":4543},[4160,39705,3840],{"class":4653},[4160,39707,39708],{"class":4543},"root",[4160,39710,16223],{"class":4653},[4160,39712,4664],{"class":4543},[4160,39714,4667],{"class":4543},[4160,39716,3840],{"class":4653},[4160,39718,4672],{"class":4543},[4160,39720,39721],{"class":4653}," }, ",[4160,39723,39653],{"class":4543},[4160,39725,8309],{"class":4653},[4160,39727,4251],{"class":4589},[4160,39729,39730],{"class":4162,"line":4265},[4160,39731,4755],{"class":4633},[4160,39733,39734,39736,39738],{"class":4162,"line":4271},[4160,39735,4760],{"class":4589},[4160,39737,24771],{"class":4543},[4160,39739,4251],{"class":4589},[4160,39741,39742,39744,39746],{"class":4162,"line":4276},[4160,39743,4885],{"class":4633},[4160,39745,8130],{"class":4637},[4160,39747,4890],{"class":4633},[4160,39749,39750],{"class":4162,"line":4282},[4160,39751,4895],{"class":4539},[4160,39753,39754],{"class":4162,"line":4288},[4160,39755,4251],{"class":4539},[4160,39757,39758],{"class":4162,"line":4294},[4160,39759,4185],{"emptyLinePlaceholder":4184},[4160,39761,39762,39764,39766,39768,39770,39772,39774],{"class":4162,"line":4300},[4160,39763,6592],{"class":4589},[4160,39765,8957],{"class":4607},[4160,39767,5385],{"class":4539},[4160,39769,8962],{"class":4543},[4160,39771,3840],{"class":4539},[4160,39773,8967],{"class":4593},[4160,39775,8970],{"class":4539},[4160,39777,39778,39781],{"class":4162,"line":4305},[4160,39779,39780],{"class":4543},"  root:",[4160,39782,5517],{"class":4539},[4160,39784,39785,39787,39789],{"class":4162,"line":4311},[4160,39786,10024],{"class":4543},[4160,39788,8984],{"class":5485},[4160,39790,4690],{"class":4539},[4160,39792,39793,39795,39797,39799,39801],{"class":4162,"line":4317},[4160,39794,9006],{"class":4543},[4160,39796,36825],{"class":4543},[4160,39798,3840],{"class":4539},[4160,39800,15215],{"class":4543},[4160,39802,4690],{"class":4539},[4160,39804,39805],{"class":4162,"line":4323},[4160,39806,6526],{"class":4539},[4160,39808,39809],{"class":4162,"line":4328},[4160,39810,9383],{"class":4539},[4003,39812,39815],{"className":4526,"code":39813,"filename":39814,"language":4528,"meta":4011,"style":4011},"import { ReactNode } from 'react';\nimport {\n  StyleSheet,\n  TextInput,\n  TextInputProps,\n  View,\n  ViewStyle,\n} from 'react-native';\n\nimport { useTheme } from '@\u002Fshared\u002Ftheme';\nimport { AppText } from '.\u002FAppText';\n\ntype TextFieldProps = TextInputProps & {\n  label: string;\n  error?: string;\n  \u002F** Допоміжний текст під полем (коли немає error). *\u002F\n  hint?: string;\n  containerStyle?: ViewStyle;\n  \u002F** Опційний правий слот (іконка, кнопка дати). *\u002F\n  rightSlot?: ReactNode;\n};\n\n\u002F**\n * Поле форми: label + TextInput + помилка\u002Fпідказка.\n * Контрольоване ззовні (value \u002F onChangeText) — зручно з RHF Controller.\n *\u002F\nexport function TextField({\n  label,\n  error,\n  hint,\n  containerStyle,\n  rightSlot,\n  style,\n  ...inputProps\n}: TextFieldProps) {\n  const { colors, spacing, radius, fontSize } = useTheme();\n  const hasError = Boolean(error);\n\n  return (\n    \u003CView style={[styles.wrap, { gap: spacing.xs }, containerStyle]}>\n      \u003CAppText variant=\"caption\" style={styles.label}>\n        {label}\n      \u003C\u002FAppText>\n      \u003CView\n        style={[\n          styles.row,\n          {\n            borderColor: hasError ? colors.danger : colors.border,\n            backgroundColor: colors.surface,\n            borderRadius: radius.md,\n          },\n        ]}\n      >\n        \u003CTextInput\n          placeholderTextColor={colors.textSecondary}\n          style={[\n            styles.input,\n            {\n              color: colors.text,\n              fontSize: fontSize.md,\n              paddingVertical: spacing.sm + 4,\n              paddingHorizontal: spacing.md,\n            },\n            style,\n          ]}\n          {...inputProps}\n        \u002F>\n        {rightSlot}\n      \u003C\u002FView>\n      {hasError ? (\n        \u003CAppText variant=\"caption\" color={colors.danger}>\n          {error}\n        \u003C\u002FAppText>\n      ) : hint ? (\n        \u003CAppText variant=\"caption\" color={colors.textSecondary}>\n          {hint}\n        \u003C\u002FAppText>\n      ) : null}\n    \u003C\u002FView>\n  );\n}\n\nconst styles = StyleSheet.create({\n  wrap: {\n    width: '100%',\n  },\n  label: {\n    fontWeight: '600',\n  },\n  row: {\n    flexDirection: 'row',\n    alignItems: 'center',\n    borderWidth: 1,\n    overflow: 'hidden',\n  },\n  input: {\n    flex: 1,\n    minHeight: 48,\n  },\n});\n","src\u002Fshared\u002Fui\u002FTextField.tsx",[3747,39816,39817,39833,39839,39845,39851,39858,39864,39871,39881,39885,39901,39918,39922,39936,39946,39956,39961,39972,39983,39988,39999,40003,40007,40011,40016,40021,40025,40036,40042,40048,40054,40060,40066,40072,40079,40088,40114,40130,40134,40140,40181,40209,40217,40225,40231,40241,40251,40255,40279,40291,40303,40307,40313,40317,40323,40340,40350,40360,40364,40377,40390,40407,40420,40424,40430,40436,40447,40451,40460,40468,40478,40506,40514,40522,40535,40563,40571,40579,40587,40595,40599,40603,40607,40623,40629,40637,40641,40647,40655,40659,40665,40673,40681,40689,40697,40701,40707,40715,40723,40727],{"__ignoreMap":4011},[4160,39818,39819,39821,39823,39825,39827,39829,39831],{"class":4162,"line":4163},[4160,39820,4536],{"class":4535},[4160,39822,4540],{"class":4539},[4160,39824,24747],{"class":4543},[4160,39826,4546],{"class":4539},[4160,39828,4549],{"class":4535},[4160,39830,5307],{"class":4552},[4160,39832,4556],{"class":4539},[4160,39834,39835,39837],{"class":4162,"line":4169},[4160,39836,4536],{"class":4535},[4160,39838,5517],{"class":4539},[4160,39840,39841,39843],{"class":4162,"line":4175},[4160,39842,8074],{"class":4543},[4160,39844,4690],{"class":4539},[4160,39846,39847,39849],{"class":4162,"line":4181},[4160,39848,10240],{"class":4543},[4160,39850,4690],{"class":4539},[4160,39852,39853,39856],{"class":4162,"line":4188},[4160,39854,39855],{"class":4543},"  TextInputProps",[4160,39857,4690],{"class":4539},[4160,39859,39860,39862],{"class":4162,"line":4194},[4160,39861,8088],{"class":4543},[4160,39863,4690],{"class":4539},[4160,39865,39866,39869],{"class":4162,"line":4200},[4160,39867,39868],{"class":4543},"  ViewStyle",[4160,39870,4690],{"class":4539},[4160,39872,39873,39875,39877,39879],{"class":4162,"line":4206},[4160,39874,8095],{"class":4539},[4160,39876,4549],{"class":4535},[4160,39878,5324],{"class":4552},[4160,39880,4556],{"class":4539},[4160,39882,39883],{"class":4162,"line":4212},[4160,39884,4185],{"emptyLinePlaceholder":4184},[4160,39886,39887,39889,39891,39893,39895,39897,39899],{"class":4162,"line":4218},[4160,39888,4536],{"class":4535},[4160,39890,4540],{"class":4539},[4160,39892,4565],{"class":4543},[4160,39894,4546],{"class":4539},[4160,39896,4549],{"class":4535},[4160,39898,4572],{"class":4552},[4160,39900,4556],{"class":4539},[4160,39902,39903,39905,39907,39909,39911,39913,39916],{"class":4162,"line":4224},[4160,39904,4536],{"class":4535},[4160,39906,4540],{"class":4539},[4160,39908,14565],{"class":4543},[4160,39910,4546],{"class":4539},[4160,39912,4549],{"class":4535},[4160,39914,39915],{"class":4552}," '.\u002FAppText'",[4160,39917,4556],{"class":4539},[4160,39919,39920],{"class":4162,"line":4230},[4160,39921,4185],{"emptyLinePlaceholder":4184},[4160,39923,39924,39926,39929,39931,39934],{"class":4162,"line":4236},[4160,39925,6433],{"class":4589},[4160,39927,39928],{"class":4637}," TextFieldProps",[4160,39930,5385],{"class":4539},[4160,39932,39933],{"class":4637},"TextInputProps",[4160,39935,38320],{"class":4539},[4160,39937,39938,39940,39942,39944],{"class":4162,"line":4242},[4160,39939,31208],{"class":4543},[4160,39941,5814],{"class":4539},[4160,39943,5817],{"class":4637},[4160,39945,4556],{"class":4539},[4160,39947,39948,39950,39952,39954],{"class":4162,"line":4248},[4160,39949,31264],{"class":4543},[4160,39951,23108],{"class":4539},[4160,39953,5817],{"class":4637},[4160,39955,4556],{"class":4539},[4160,39957,39958],{"class":4162,"line":4254},[4160,39959,39960],{"class":4763},"  \u002F** Допоміжний текст під полем (коли немає error). *\u002F\n",[4160,39962,39963,39966,39968,39970],{"class":4162,"line":4259},[4160,39964,39965],{"class":4543},"  hint",[4160,39967,23108],{"class":4539},[4160,39969,5817],{"class":4637},[4160,39971,4556],{"class":4539},[4160,39973,39974,39977,39979,39981],{"class":4162,"line":4265},[4160,39975,39976],{"class":4543},"  containerStyle",[4160,39978,23108],{"class":4539},[4160,39980,38816],{"class":4637},[4160,39982,4556],{"class":4539},[4160,39984,39985],{"class":4162,"line":4271},[4160,39986,39987],{"class":4763},"  \u002F** Опційний правий слот (іконка, кнопка дати). *\u002F\n",[4160,39989,39990,39993,39995,39997],{"class":4162,"line":4276},[4160,39991,39992],{"class":4543},"  rightSlot",[4160,39994,23108],{"class":4539},[4160,39996,24747],{"class":4637},[4160,39998,4556],{"class":4539},[4160,40000,40001],{"class":4162,"line":4282},[4160,40002,5171],{"class":4539},[4160,40004,40005],{"class":4162,"line":4288},[4160,40006,4185],{"emptyLinePlaceholder":4184},[4160,40008,40009],{"class":4162,"line":4294},[4160,40010,13075],{"class":4763},[4160,40012,40013],{"class":4162,"line":4300},[4160,40014,40015],{"class":4763}," * Поле форми: label + TextInput + помилка\u002Fпідказка.\n",[4160,40017,40018],{"class":4162,"line":4305},[4160,40019,40020],{"class":4763}," * Контрольоване ззовні (value \u002F onChangeText) — зручно з RHF Controller.\n",[4160,40022,40023],{"class":4162,"line":4311},[4160,40024,13105],{"class":4763},[4160,40026,40027,40029,40031,40034],{"class":4162,"line":4317},[4160,40028,4583],{"class":4535},[4160,40030,4590],{"class":4589},[4160,40032,40033],{"class":4593}," TextField",[4160,40035,8970],{"class":4539},[4160,40037,40038,40040],{"class":4162,"line":4323},[4160,40039,31208],{"class":4543},[4160,40041,4690],{"class":4539},[4160,40043,40044,40046],{"class":4162,"line":4328},[4160,40045,31264],{"class":4543},[4160,40047,4690],{"class":4539},[4160,40049,40050,40052],{"class":4162,"line":4333},[4160,40051,39965],{"class":4543},[4160,40053,4690],{"class":4539},[4160,40055,40056,40058],{"class":4162,"line":5663},[4160,40057,39976],{"class":4543},[4160,40059,4690],{"class":4539},[4160,40061,40062,40064],{"class":4162,"line":5676},[4160,40063,39992],{"class":4543},[4160,40065,4690],{"class":4539},[4160,40067,40068,40070],{"class":4162,"line":6728},[4160,40069,38363],{"class":4543},[4160,40071,4690],{"class":4539},[4160,40073,40074,40076],{"class":4162,"line":6733},[4160,40075,38425],{"class":4539},[4160,40077,40078],{"class":4543},"inputProps\n",[4160,40080,40081,40083,40086],{"class":4162,"line":6738},[4160,40082,27257],{"class":4539},[4160,40084,40085],{"class":4637},"TextFieldProps",[4160,40087,5915],{"class":4539},[4160,40089,40090,40092,40094,40096,40098,40100,40102,40104,40106,40108,40110,40112],{"class":4162,"line":6768},[4160,40091,4602],{"class":4589},[4160,40093,4540],{"class":4539},[4160,40095,4608],{"class":4607},[4160,40097,4055],{"class":4539},[4160,40099,14738],{"class":4607},[4160,40101,4055],{"class":4539},[4160,40103,17861],{"class":4607},[4160,40105,4055],{"class":4539},[4160,40107,37298],{"class":4607},[4160,40109,4611],{"class":4539},[4160,40111,4565],{"class":4593},[4160,40113,4616],{"class":4539},[4160,40115,40116,40118,40120,40122,40124,40126,40128],{"class":4162,"line":6803},[4160,40117,4602],{"class":4589},[4160,40119,31471],{"class":4607},[4160,40121,5385],{"class":4539},[4160,40123,30352],{"class":4593},[4160,40125,5411],{"class":4539},[4160,40127,31480],{"class":4543},[4160,40129,5417],{"class":4539},[4160,40131,40132],{"class":4162,"line":6808},[4160,40133,4185],{"emptyLinePlaceholder":4184},[4160,40135,40136,40138],{"class":4162,"line":6813},[4160,40137,4625],{"class":4535},[4160,40139,4628],{"class":4539},[4160,40141,40142,40144,40146,40148,40150,40152,40154,40156,40158,40160,40162,40164,40166,40168,40170,40172,40175,40177,40179],{"class":4162,"line":6847},[4160,40143,4634],{"class":4633},[4160,40145,8320],{"class":4637},[4160,40147,7170],{"class":4643},[4160,40149,4647],{"class":4539},[4160,40151,4650],{"class":4589},[4160,40153,5859],{"class":4653},[4160,40155,8287],{"class":4543},[4160,40157,3840],{"class":4653},[4160,40159,33519],{"class":4543},[4160,40161,16223],{"class":4653},[4160,40163,11276],{"class":4543},[4160,40165,15210],{"class":4543},[4160,40167,3840],{"class":4653},[4160,40169,15912],{"class":4543},[4160,40171,39721],{"class":4653},[4160,40173,40174],{"class":4543},"containerStyle",[4160,40176,8309],{"class":4653},[4160,40178,4803],{"class":4589},[4160,40180,4890],{"class":4633},[4160,40182,40183,40185,40187,40189,40191,40193,40195,40197,40199,40201,40203,40205,40207],{"class":4162,"line":6861},[4160,40184,4771],{"class":4633},[4160,40186,14565],{"class":4637},[4160,40188,15675],{"class":4643},[4160,40190,4647],{"class":4539},[4160,40192,15986],{"class":4552},[4160,40194,7170],{"class":4643},[4160,40196,4647],{"class":4539},[4160,40198,4650],{"class":4589},[4160,40200,8287],{"class":4543},[4160,40202,3840],{"class":4653},[4160,40204,10924],{"class":4543},[4160,40206,4803],{"class":4589},[4160,40208,4890],{"class":4633},[4160,40210,40211,40213,40215],{"class":4162,"line":6881},[4160,40212,19412],{"class":4589},[4160,40214,10924],{"class":4543},[4160,40216,4251],{"class":4589},[4160,40218,40219,40221,40223],{"class":4162,"line":6901},[4160,40220,7366],{"class":4633},[4160,40222,14565],{"class":4637},[4160,40224,4890],{"class":4633},[4160,40226,40227,40229],{"class":4162,"line":6916},[4160,40228,4771],{"class":4633},[4160,40230,15584],{"class":4637},[4160,40232,40233,40235,40237,40239],{"class":4162,"line":6929},[4160,40234,15749],{"class":4643},[4160,40236,4647],{"class":4539},[4160,40238,4650],{"class":4589},[4160,40240,15595],{"class":4653},[4160,40242,40243,40245,40247,40249],{"class":4162,"line":6935},[4160,40244,15845],{"class":4543},[4160,40246,3840],{"class":4653},[4160,40248,33574],{"class":4543},[4160,40250,4690],{"class":4653},[4160,40252,40253],{"class":4162,"line":6953},[4160,40254,15857],{"class":4653},[4160,40256,40257,40259,40261,40263,40265,40267,40269,40271,40273,40275,40277],{"class":4162,"line":6961},[4160,40258,31957],{"class":4543},[4160,40260,31471],{"class":4543},[4160,40262,10829],{"class":4539},[4160,40264,4667],{"class":4543},[4160,40266,3840],{"class":4653},[4160,40268,31968],{"class":4543},[4160,40270,10835],{"class":4539},[4160,40272,4667],{"class":4543},[4160,40274,3840],{"class":4653},[4160,40276,13687],{"class":4543},[4160,40278,4690],{"class":4653},[4160,40280,40281,40283,40285,40287,40289],{"class":4162,"line":6970},[4160,40282,17081],{"class":4543},[4160,40284,4667],{"class":4543},[4160,40286,3840],{"class":4653},[4160,40288,16415],{"class":4543},[4160,40290,4690],{"class":4653},[4160,40292,40293,40295,40297,40299,40301],{"class":4162,"line":6975},[4160,40294,31995],{"class":4543},[4160,40296,19305],{"class":4543},[4160,40298,3840],{"class":4653},[4160,40300,15215],{"class":4543},[4160,40302,4690],{"class":4653},[4160,40304,40305],{"class":4162,"line":6980},[4160,40306,15934],{"class":4653},[4160,40308,40309,40311],{"class":4162,"line":7008},[4160,40310,15940],{"class":4653},[4160,40312,4251],{"class":4589},[4160,40314,40315],{"class":4162,"line":7024},[4160,40316,7262],{"class":4633},[4160,40318,40319,40321],{"class":4162,"line":7035},[4160,40320,7267],{"class":4633},[4160,40322,10944],{"class":4637},[4160,40324,40325,40328,40330,40332,40334,40336,40338],{"class":4162,"line":7052},[4160,40326,40327],{"class":4643},"          placeholderTextColor",[4160,40329,4647],{"class":4539},[4160,40331,4650],{"class":4589},[4160,40333,4608],{"class":4543},[4160,40335,3840],{"class":4653},[4160,40337,13656],{"class":4543},[4160,40339,4251],{"class":4589},[4160,40341,40342,40344,40346,40348],{"class":4162,"line":7057},[4160,40343,8832],{"class":4643},[4160,40345,4647],{"class":4539},[4160,40347,4650],{"class":4589},[4160,40349,15595],{"class":4653},[4160,40351,40352,40354,40356,40358],{"class":4162,"line":8928},[4160,40353,21268],{"class":4543},[4160,40355,3840],{"class":4653},[4160,40357,10959],{"class":4543},[4160,40359,4690],{"class":4653},[4160,40361,40362],{"class":4162,"line":8937},[4160,40363,21279],{"class":4653},[4160,40365,40366,40369,40371,40373,40375],{"class":4162,"line":8942},[4160,40367,40368],{"class":4543},"              color:",[4160,40370,4667],{"class":4543},[4160,40372,3840],{"class":4653},[4160,40374,4008],{"class":4543},[4160,40376,4690],{"class":4653},[4160,40378,40379,40382,40384,40386,40388],{"class":4162,"line":8947},[4160,40380,40381],{"class":4543},"              fontSize:",[4160,40383,36943],{"class":4543},[4160,40385,3840],{"class":4653},[4160,40387,15215],{"class":4543},[4160,40389,4690],{"class":4653},[4160,40391,40392,40395,40397,40399,40401,40403,40405],{"class":4162,"line":8952},[4160,40393,40394],{"class":4543},"              paddingVertical:",[4160,40396,15210],{"class":4543},[4160,40398,3840],{"class":4653},[4160,40400,15274],{"class":4543},[4160,40402,22089],{"class":4539},[4160,40404,9099],{"class":5485},[4160,40406,4690],{"class":4653},[4160,40408,40409,40412,40414,40416,40418],{"class":4162,"line":8973},[4160,40410,40411],{"class":4543},"              paddingHorizontal:",[4160,40413,15210],{"class":4543},[4160,40415,3840],{"class":4653},[4160,40417,15215],{"class":4543},[4160,40419,4690],{"class":4653},[4160,40421,40422],{"class":4162,"line":8995},[4160,40423,21336],{"class":4653},[4160,40425,40426,40428],{"class":4162,"line":9003},[4160,40427,18072],{"class":4543},[4160,40429,4690],{"class":4653},[4160,40431,40432,40434],{"class":4162,"line":9014},[4160,40433,21341],{"class":4653},[4160,40435,4251],{"class":4589},[4160,40437,40438,40440,40442,40445],{"class":4162,"line":9025},[4160,40439,16127],{"class":4589},[4160,40441,38725],{"class":4539},[4160,40443,40444],{"class":4543},"inputProps",[4160,40446,4251],{"class":4589},[4160,40448,40449],{"class":4162,"line":9035},[4160,40450,7361],{"class":4633},[4160,40452,40453,40455,40458],{"class":4162,"line":9045},[4160,40454,19412],{"class":4589},[4160,40456,40457],{"class":4543},"rightSlot",[4160,40459,4251],{"class":4589},[4160,40461,40462,40464,40466],{"class":4162,"line":9055},[4160,40463,7366],{"class":4633},[4160,40465,8320],{"class":4637},[4160,40467,4890],{"class":4633},[4160,40469,40470,40472,40474,40476],{"class":4162,"line":9060},[4160,40471,4760],{"class":4589},[4160,40473,32081],{"class":4543},[4160,40475,10829],{"class":4539},[4160,40477,4628],{"class":4653},[4160,40479,40480,40482,40484,40486,40488,40490,40492,40494,40496,40498,40500,40502,40504],{"class":4162,"line":9088},[4160,40481,7267],{"class":4633},[4160,40483,14565],{"class":4637},[4160,40485,15675],{"class":4643},[4160,40487,4647],{"class":4539},[4160,40489,15986],{"class":4552},[4160,40491,7647],{"class":4643},[4160,40493,4647],{"class":4539},[4160,40495,4650],{"class":4589},[4160,40497,4608],{"class":4543},[4160,40499,3840],{"class":4653},[4160,40501,31968],{"class":4543},[4160,40503,4803],{"class":4589},[4160,40505,4890],{"class":4633},[4160,40507,40508,40510,40512],{"class":4162,"line":9117},[4160,40509,16127],{"class":4589},[4160,40511,31480],{"class":4543},[4160,40513,4251],{"class":4589},[4160,40515,40516,40518,40520],{"class":4162,"line":9146},[4160,40517,8414],{"class":4633},[4160,40519,14565],{"class":4637},[4160,40521,4890],{"class":4633},[4160,40523,40524,40526,40528,40531,40533],{"class":4162,"line":9154},[4160,40525,15510],{"class":4653},[4160,40527,3821],{"class":4539},[4160,40529,40530],{"class":4543}," hint",[4160,40532,10829],{"class":4539},[4160,40534,4628],{"class":4653},[4160,40536,40537,40539,40541,40543,40545,40547,40549,40551,40553,40555,40557,40559,40561],{"class":4162,"line":9165},[4160,40538,7267],{"class":4633},[4160,40540,14565],{"class":4637},[4160,40542,15675],{"class":4643},[4160,40544,4647],{"class":4539},[4160,40546,15986],{"class":4552},[4160,40548,7647],{"class":4643},[4160,40550,4647],{"class":4539},[4160,40552,4650],{"class":4589},[4160,40554,4608],{"class":4543},[4160,40556,3840],{"class":4653},[4160,40558,13656],{"class":4543},[4160,40560,4803],{"class":4589},[4160,40562,4890],{"class":4633},[4160,40564,40565,40567,40569],{"class":4162,"line":9175},[4160,40566,16127],{"class":4589},[4160,40568,10883],{"class":4543},[4160,40570,4251],{"class":4589},[4160,40572,40573,40575,40577],{"class":4162,"line":9185},[4160,40574,8414],{"class":4633},[4160,40576,14565],{"class":4637},[4160,40578,4890],{"class":4633},[4160,40580,40581,40583,40585],{"class":4162,"line":9195},[4160,40582,15510],{"class":4653},[4160,40584,3821],{"class":4539},[4160,40586,15515],{"class":4589},[4160,40588,40589,40591,40593],{"class":4162,"line":9206},[4160,40590,4885],{"class":4633},[4160,40592,8320],{"class":4637},[4160,40594,4890],{"class":4633},[4160,40596,40597],{"class":4162,"line":9211},[4160,40598,4895],{"class":4539},[4160,40600,40601],{"class":4162,"line":9239},[4160,40602,4251],{"class":4539},[4160,40604,40605],{"class":4162,"line":9266},[4160,40606,4185],{"emptyLinePlaceholder":4184},[4160,40608,40609,40611,40613,40615,40617,40619,40621],{"class":4162,"line":9274},[4160,40610,6592],{"class":4589},[4160,40612,8957],{"class":4607},[4160,40614,5385],{"class":4539},[4160,40616,8962],{"class":4543},[4160,40618,3840],{"class":4539},[4160,40620,8967],{"class":4593},[4160,40622,8970],{"class":4539},[4160,40624,40625,40627],{"class":4162,"line":9283},[4160,40626,33908],{"class":4543},[4160,40628,5517],{"class":4539},[4160,40630,40631,40633,40635],{"class":4162,"line":9293},[4160,40632,19577],{"class":4543},[4160,40634,19580],{"class":4552},[4160,40636,4690],{"class":4539},[4160,40638,40639],{"class":4162,"line":9303},[4160,40640,6526],{"class":4539},[4160,40642,40643,40645],{"class":4162,"line":9308},[4160,40644,11311],{"class":4543},[4160,40646,5517],{"class":4539},[4160,40648,40649,40651,40653],{"class":4162,"line":9316},[4160,40650,11337],{"class":4543},[4160,40652,4714],{"class":4552},[4160,40654,4690],{"class":4539},[4160,40656,40657],{"class":4162,"line":9325},[4160,40658,6526],{"class":4539},[4160,40660,40661,40663],{"class":4162,"line":9335},[4160,40662,33927],{"class":4543},[4160,40664,5517],{"class":4539},[4160,40666,40667,40669,40671],{"class":4162,"line":9344},[4160,40668,17276],{"class":4543},[4160,40670,17279],{"class":4552},[4160,40672,4690],{"class":4539},[4160,40674,40675,40677,40679],{"class":4162,"line":9355},[4160,40676,9347],{"class":4543},[4160,40678,9350],{"class":4552},[4160,40680,4690],{"class":4539},[4160,40682,40683,40685,40687],{"class":4162,"line":9360},[4160,40684,9178],{"class":4543},[4160,40686,8984],{"class":5485},[4160,40688,4690],{"class":4539},[4160,40690,40691,40693,40695],{"class":4162,"line":9380},[4160,40692,31037],{"class":4543},[4160,40694,31040],{"class":4552},[4160,40696,4690],{"class":4539},[4160,40698,40699],{"class":4162,"line":11316},[4160,40700,6526],{"class":4539},[4160,40702,40703,40705],{"class":4162,"line":11325},[4160,40704,11372],{"class":4543},[4160,40706,5517],{"class":4539},[4160,40708,40709,40711,40713],{"class":4162,"line":11334},[4160,40710,10024],{"class":4543},[4160,40712,8984],{"class":5485},[4160,40714,4690],{"class":4539},[4160,40716,40717,40719,40721],{"class":4162,"line":11344},[4160,40718,31004],{"class":4543},[4160,40720,33084],{"class":5485},[4160,40722,4690],{"class":4539},[4160,40724,40725],{"class":4162,"line":11353},[4160,40726,6526],{"class":4539},[4160,40728,40729],{"class":4162,"line":11364},[4160,40730,9383],{"class":4539},[4003,40732,40735],{"className":6359,"code":40733,"filename":40734,"language":6361,"meta":4011,"style":4011},"export { AppText } from '.\u002FAppText';\nexport { Button } from '.\u002FButton';\nexport { Screen } from '.\u002FScreen';\nexport { TextField } from '.\u002FTextField';\n","src\u002Fshared\u002Fui\u002Findex.ts",[3747,40736,40737,40753,40770,40787],{"__ignoreMap":4011},[4160,40738,40739,40741,40743,40745,40747,40749,40751],{"class":4162,"line":4163},[4160,40740,4583],{"class":4535},[4160,40742,4540],{"class":4539},[4160,40744,14565],{"class":4543},[4160,40746,4546],{"class":4539},[4160,40748,4549],{"class":4535},[4160,40750,39915],{"class":4552},[4160,40752,4556],{"class":4539},[4160,40754,40755,40757,40759,40761,40763,40765,40768],{"class":4162,"line":4169},[4160,40756,4583],{"class":4535},[4160,40758,4540],{"class":4539},[4160,40760,14570],{"class":4543},[4160,40762,4546],{"class":4539},[4160,40764,4549],{"class":4535},[4160,40766,40767],{"class":4552}," '.\u002FButton'",[4160,40769,4556],{"class":4539},[4160,40771,40772,40774,40776,40778,40780,40782,40785],{"class":4162,"line":4175},[4160,40773,4583],{"class":4535},[4160,40775,4540],{"class":4539},[4160,40777,14575],{"class":4543},[4160,40779,4546],{"class":4539},[4160,40781,4549],{"class":4535},[4160,40783,40784],{"class":4552}," '.\u002FScreen'",[4160,40786,4556],{"class":4539},[4160,40788,40789,40791,40793,40795,40797,40799,40802],{"class":4162,"line":4181},[4160,40790,4583],{"class":4535},[4160,40792,4540],{"class":4539},[4160,40794,26985],{"class":4543},[4160,40796,4546],{"class":4539},[4160,40798,4549],{"class":4535},[4160,40800,40801],{"class":4552}," '.\u002FTextField'",[4160,40803,4556],{"class":4539},[3872,40805,40807],{"id":40806},"перевірка-nomad","Перевірка Nomad",[3778,40809,40810,40813,40820,40826,40829,40832],{},[3781,40811,40812],{},"Вкладка «Поїздки» — список як раніше.",[3781,40814,40815,40816,40819],{},"Тап по картці → деталі, ",[3784,40817,40818],{},"tabs знизу",". Back → список.",[3781,40821,40822,40823,40825],{},"«Нова поїздка» → ",[3784,40824,12090],{}," поверх. Зберегти \u002F скасувати → dismiss.",[3781,40827,40828],{},"З деталей кнопка «Нова поїздка (modal)» теж відкриває modal.",[3781,40830,40831],{},"Вкладка «Місця» → тап → деталі поїздки цього місця.",[3781,40833,40834],{},"Тема \u002F форма \u002F списки не зламані.",[3872,40836,40838],{"id":40837},"коміт","Коміт",[4003,40840,40842],{"className":6269,"code":40841,"language":6271,"meta":4011,"style":4011},"cd \u002Fpath\u002Fto\u002Fnomad\ngit add -A\ngit commit -m \"$(cat \u003C\u003C'EOF'\nfeat: trip details stack and modals\n\nMaterial: content\u002F15.react-native\u002F12.nested-navigators-and-modals.md\nEOF\n)\"\ngit push\n",[3747,40843,40844,40851,40862,40884,40889,40893,40898,40903,40908],{"__ignoreMap":4011},[4160,40845,40846,40848],{"class":4162,"line":4163},[4160,40847,6295],{"class":4593},[4160,40849,40850],{"class":4552}," \u002Fpath\u002Fto\u002Fnomad\n",[4160,40852,40853,40856,40859],{"class":4162,"line":4169},[4160,40854,40855],{"class":4593},"git",[4160,40857,40858],{"class":4552}," add",[4160,40860,40861],{"class":4589}," -A\n",[4160,40863,40864,40866,40869,40872,40875,40878,40881],{"class":4162,"line":4175},[4160,40865,40855],{"class":4593},[4160,40867,40868],{"class":4552}," commit",[4160,40870,40871],{"class":4589}," -m",[4160,40873,40874],{"class":4552}," \"$(",[4160,40876,40877],{"class":4593},"cat",[4160,40879,40880],{"class":4539}," \u003C\u003C",[4160,40882,40883],{"class":4552},"'EOF'\n",[4160,40885,40886],{"class":4162,"line":4181},[4160,40887,40888],{"class":4552},"feat: trip details stack and modals\n",[4160,40890,40891],{"class":4162,"line":4188},[4160,40892,4185],{"emptyLinePlaceholder":4184},[4160,40894,40895],{"class":4162,"line":4194},[4160,40896,40897],{"class":4552},"Material: content\u002F15.react-native\u002F12.nested-navigators-and-modals.md\n",[4160,40899,40900],{"class":4162,"line":4200},[4160,40901,40902],{"class":4552},"EOF\n",[4160,40904,40905],{"class":4162,"line":4206},[4160,40906,40907],{"class":4552},")\"\n",[4160,40909,40910,40912],{"class":4162,"line":4212},[4160,40911,40855],{"class":4593},[4160,40913,40914],{"class":4552}," push\n",[3989,40916],{},[3738,40918,40920],{"id":40919},"практичні-завдання","Практичні завдання",[3872,40922,40924],{"id":40923},"базовий","Базовий",[3778,40926,40927,40930,40937],{},[3781,40928,40929],{},"Своїми словами: card vs modal.",[3781,40931,40932,40933,40936],{},"Чому tabs лишаються на ",[3747,40934,40935],{},"\u002Ftrips\u002F1",", але ховаються під create-trip modal.",[3781,40938,40939,40940,3840],{},"Навіщо ",[3747,40941,40942],{},"initialRouteName: '(tabs)'",[3872,40944,40946],{"id":40945},"середній","Середній",[3778,40948,40949,40952,40961],{},[3781,40950,40951],{},"Міні-проєкт «Нотатки» повністю.",[3781,40953,40954,40955,40958,40959,3897],{},"У Nomad додати ",[3747,40956,40957],{},"headerRight"," на деталях — кнопка «Поділитись» (поки ",[3747,40960,3922],{},[3781,40962,40963,40964,3840],{},"Guard на create-trip, якщо ",[3747,40965,40966],{},"formState.isDirty",[3872,40968,40970],{"id":40969},"професійний","Професійний",[3778,40972,40973,40983,40993],{},[3781,40974,40975,40976,40979,40980,40982],{},"Порівняти detail ",[3784,40977,40978],{},"у nested stack"," vs detail на ",[3784,40981,39708],{}," Stack (tabs hide) — короткий висновок UX.",[3781,40984,40985,40986,40988,40989,40992],{},"Нарис структури ",[3747,40987,3860],{}," + ",[3747,40990,40991],{},"Stack.Protected"," без повного SecureStore.",[3781,40994,40995,40998],{},[3747,40996,40997],{},"presentation: 'formSheet'"," на iOS (якщо SDK дозволяє) — нотатка з відмінностей.",[3989,41000],{},[3738,41002,41004],{"id":41003},"часті-запитання","Часті запитання",[41006,41007,41008,41014,41025,41031,41046],"accordion",{},[41009,41010,41013],"accordion-item",{"icon":41011,"label":41012},"i-lucide-circle-help","Back закриває весь застосунок","Немає історії в поточному стеку. Перевірте, чи detail push був у правильний navigator; чи modal не replace-нув tabs.",[41009,41015,41017,41018,41020,41021,41024],{"icon":41011,"label":41016},"Tab bar зник на деталях","Деталі, ймовірно, на ",[3784,41019,39708],{}," Stack, а не у ",[3747,41022,41023],{},"trips\u002F"," nested. Перенесіть файл під теку вкладки зі Stack layout.",[41009,41026,41028,41030],{"icon":41011,"label":41027},"Modal не схожий на iOS sheet",[3747,41029,3852],{}," vs formSheet \u002F transparentModal — різні режими. Дивіться docs вашого SDK і тестуйте на девайсі.",[41009,41032,41034,41035,41038,41039,41042,41043,41045],{"icon":41011,"label":41033},"usePreventRemove не спрацьовує","Перевірте, що ",[3747,41036,41037],{},"dirty === true",", що хук на ",[3784,41040,41041],{},"тому"," екрані, який знімають, і що після Save вимикаєте dirty (",[3747,41044,10429],{}," flag).",[41009,41047,41049,41051,41052,41055,41056,3840],{"icon":41011,"label":41048},"id масив, не рядок",[3747,41050,5745],{}," інколи дає ",[3747,41053,41054],{},"string | string[]",". Нормалізуйте: ",[3747,41057,41058],{},"Array.isArray(id) ? id[0] : id",[3989,41060],{},[3738,41062,41064],{"id":41063},"що-далі","Що далі",[3743,41066,41067,41068,41074],{},"Вкладеність і modal закривають «геометрію» навігації. Далі — ",[3982,41069,41071],{"href":41070},"\u002Freact-native\u002Fdeep-linking-and-params",[3784,41072,41073],{},"deep linking і params",": параметри маршруту, scheme, universal links і cold start.",[3743,41076,41077,18539,41082,18539,41087,18539,41092],{},[3982,41078,41081],{"href":41079,"rel":41080},"https:\u002F\u002Fdocs.expo.dev\u002Frouter\u002Fadvanced\u002Fnesting-navigators\u002F",[3986],"Expo Router nested",[3982,41083,41086],{"href":41084,"rel":41085},"https:\u002F\u002Fdocs.expo.dev\u002Frouter\u002Fadvanced\u002Fmodals\u002F",[3986],"Modals",[3982,41088,41091],{"href":41089,"rel":41090},"https:\u002F\u002Fdocs.expo.dev\u002Frouter\u002Fbasics\u002Fcommon-navigation-patterns\u002F",[3986],"Common patterns",[3982,41093,3932],{"href":3984,"rel":41094},[3986],[39653,41096,41097],{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s8xlr, html code.shiki .s8xlr{--shiki-light:#AF00DB;--shiki-default:#C586C0;--shiki-dark:#C586C0}html pre.shiki code .sHH4Y, html code.shiki .sHH4Y{--shiki-light:#000000;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .siwwj, html code.shiki .siwwj{--shiki-light:#001080;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sbdoH, html code.shiki .sbdoH{--shiki-light:#A31515;--shiki-default:#CE9178;--shiki-dark:#CE9178}html pre.shiki code .su1O8, html code.shiki .su1O8{--shiki-light:#0000FF;--shiki-default:#569CD6;--shiki-dark:#569CD6}html pre.shiki code .s8Opu, html code.shiki .s8Opu{--shiki-light:#795E26;--shiki-default:#DCDCAA;--shiki-dark:#DCDCAA}html pre.shiki code .s-QsJ, html code.shiki .s-QsJ{--shiki-light:#0070C1;--shiki-default:#4FC1FF;--shiki-dark:#4FC1FF}html pre.shiki code .s0P7L, html code.shiki .s0P7L{--shiki-light:#800000;--shiki-default:#808080;--shiki-dark:#808080}html pre.shiki code .sN1BT, html code.shiki .sN1BT{--shiki-light:#267F99;--shiki-default:#4EC9B0;--shiki-dark:#4EC9B0}html pre.shiki code .sa4r_, html code.shiki .sa4r_{--shiki-light:#E50000;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}html pre.shiki code .sD7JJ, html code.shiki .sD7JJ{--shiki-light:#000000FF;--shiki-default:#D4D4D4;--shiki-dark:#D4D4D4}html pre.shiki code .spJ8K, html code.shiki .spJ8K{--shiki-light:#008000;--shiki-default:#6A9955;--shiki-dark:#6A9955}html pre.shiki code .sJj4R, html code.shiki .sJj4R{--shiki-light:#098658;--shiki-default:#B5CEA8;--shiki-dark:#B5CEA8}html pre.shiki code .sLwNe, html code.shiki .sLwNe{--shiki-light:#0451A5;--shiki-default:#9CDCFE;--shiki-dark:#9CDCFE}",{"title":4011,"searchDepth":4169,"depth":4169,"links":41099},[41100,41103,41104,41107,41108,41116,41123,41128,41133,41135,41142,41151,41176,41183,41188,41189],{"id":3740,"depth":4169,"text":3741,"children":41101},[41102],{"id":3874,"depth":4175,"text":3875},{"id":3993,"depth":4169,"text":3994},{"id":4066,"depth":4169,"text":4067,"children":41105},[41106],{"id":4082,"depth":4175,"text":4083},{"id":4341,"depth":4169,"text":4342},{"id":4450,"depth":4169,"text":4451,"children":41109},[41110,41111,41112,41114],{"id":4454,"depth":4175,"text":4455},{"id":4475,"depth":4175,"text":4476},{"id":4520,"depth":4175,"text":41113},"Лістинг вкладеного макета: app\u002F(tabs)\u002Ftrips\u002F_layout.tsx",{"id":4902,"depth":4175,"text":41115},"Як працює обробник router.back()",{"id":4953,"depth":4169,"text":4954,"children":41117},[41118,41119,41120,41121],{"id":4957,"depth":4175,"text":4958},{"id":4985,"depth":4175,"text":4986},{"id":5096,"depth":4175,"text":5097},{"id":5123,"depth":4175,"text":41122},"Конфігурація якоря початкового маршруту (unstable_settings)",{"id":5184,"depth":4169,"text":41124,"children":41125},"Архітектура авторизаційних потоків: Групи (auth)",[41126,41127],{"id":5200,"depth":4175,"text":5201},{"id":5210,"depth":4175,"text":5211},{"id":5261,"depth":4169,"text":41129,"children":41130},"Навігаційні гарди: Запобігання втраті даних через usePreventRemove",[41131,41132],{"id":5277,"depth":4175,"text":5278},{"id":5681,"depth":4175,"text":5682},{"id":5716,"depth":4169,"text":41134},"Динамічні сегменти маршруту: [id].tsx",{"id":6005,"depth":4169,"text":6006,"children":41136},[41137,41138,41139,41140,41141],{"id":6022,"depth":4175,"text":6023},{"id":6036,"depth":4175,"text":6037},{"id":6057,"depth":4175,"text":6058},{"id":6075,"depth":4175,"text":6076},{"id":6093,"depth":4175,"text":6094},{"id":6106,"depth":4169,"text":6107,"children":41143},[41144,41145,41146,41148,41149],{"id":6110,"depth":4175,"text":6111},{"id":6133,"depth":4175,"text":6134},{"id":6149,"depth":4175,"text":41147},"3. Спроба закриття модалки через виклик router.push('\u002F')",{"id":6177,"depth":4175,"text":6178},{"id":6196,"depth":4175,"text":41150},"5. Розміщення важкої бізнес-логіки безпосередньо у файлах макетів _layout.tsx",{"id":6216,"depth":4169,"text":6217,"children":41152},[41153,41154,41155,41156,41157,41158,41159,41161,41163,41165,41167,41169,41171,41173,41174,41175],{"id":6220,"depth":4175,"text":6221},{"id":6249,"depth":4175,"text":6250},{"id":6259,"depth":4175,"text":6260},{"id":6265,"depth":4175,"text":6266},{"id":6301,"depth":4175,"text":6302},{"id":6323,"depth":4175,"text":6324},{"id":6348,"depth":4175,"text":41160},"Крок 2. src\u002Fdata\u002FnotesStore.ts",{"id":7062,"depth":4175,"text":41162},"Крок 3. app\u002F_layout.tsx",{"id":7386,"depth":4175,"text":41164},"Крок 4. app\u002F(tabs)\u002F_layout.tsx",{"id":7807,"depth":4175,"text":41166},"Крок 5. Nested stack — app\u002F(tabs)\u002Fnotes\u002F_layout.tsx",{"id":8016,"depth":4175,"text":41168},"Крок 6. Список — app\u002F(tabs)\u002Fnotes\u002Findex.tsx",{"id":9386,"depth":4175,"text":41170},"Крок 7. Деталі — app\u002F(tabs)\u002Fnotes\u002F[id].tsx",{"id":10162,"depth":4175,"text":41172},"Крок 8. Modal + guard — app\u002Fmodal\u002Fnew.tsx",{"id":11552,"depth":4175,"text":11553},{"id":11980,"depth":4175,"text":11981},{"id":12001,"depth":4175,"text":12002},{"id":12057,"depth":4169,"text":12058,"children":41177},[41178,41179,41180,41181,41182],{"id":12067,"depth":4175,"text":12068},{"id":12097,"depth":4175,"text":12098},{"id":12181,"depth":4175,"text":12182},{"id":40806,"depth":4175,"text":40807},{"id":40837,"depth":4175,"text":40838},{"id":40919,"depth":4169,"text":40920,"children":41184},[41185,41186,41187],{"id":40923,"depth":4175,"text":40924},{"id":40945,"depth":4175,"text":40946},{"id":40969,"depth":4175,"text":40970},{"id":41003,"depth":4169,"text":41004},{"id":41063,"depth":4169,"text":41064},"Архітектура ієрархічних навігаційних дерев у Expo Router — вкладені стеки у вкладках (Nested Stack in Tabs), модальні представлення (presentation modal), сегрегація маршрутів через групи (auth), перехоплення переходів через usePreventRemove, міні-проєкт «Нотатки» та екран деталей поїздки в Nomad",null,{},{"title":3436,"description":41190},"QNgg8Kxg4-BZsV_PmyihUyDqejDDTyFIspgCRRpdTaM",[41196,41198],{"title":3432,"path":3433,"stem":3434,"description":41197,"children":-1},"Архітектура File-based routing у Expo — сегрегація app\u002F та src\u002F, життєвий цикл макетів _layout, навігатори Stack і Tabs, декларативна та імперативна маршрутизація через Link та useRouter, механіка повернення назад, Typed Routes, міні-проєкт «Довідник міст» та навігаційна оболонка Nomad",{"title":3440,"path":3441,"stem":3442,"description":41199,"children":-1},"Архітектура параметризації маршрутів у Expo Router — динамічні сегменти [id], query-параметри, хуки useLocalSearchParams та useGlobalSearchParams, реєстрація Custom URL Scheme, робота з модулем expo-linking, холодний та теплий старт (Cold\u002FWarm Start), Universal Links і Android App Links, міні-проєкт «Купон за лінком» та навігація за посиланням у Nomad",1788069962343]